{
  "version": 3,
  "sources": ["../../assets/js/dev_joy.js"],
  "sourcesContent": ["var element = document.documentElement;\n\n/**\n * The [DevJoy](../index.html) module provides functionality for handling full screen API.\n *\n * ## Browser support\n * See: [Element API: `fullscreenchange` event | Can I use](https://caniuse.com/mdn-api_element_fullscreenchange_event)\n *\n * | Browser | Minimum Version |\n * | --- | --- |\n * | Chrome | 71 |\n * | Edge | 79 |\n * | Firefox | 64 |\n * | Internet Explorer | \u2717 Not supported |\n * | Opera | 58 |\n * | Safari | 16.4 |\n * \n * @example\n * // Establish Phoenix Socket and LiveView configuration.\n * import { Socket } from \"phoenix\";\n * import { LiveSocket } from \"phoenix_live_view\";\n * import DevJoy from \"dev_joy\";\n * \n * let csrfToken = document.querySelector(\"meta[name='csrf-token']\").getAttribute(\"content\");\n * let liveSocket = new LiveSocket(\"/live\", Socket, {\n *   longPollFallbackMs: 2500,\n *   params: { _csrf_token: csrfToken },\n * });\n * \n * // connect if there are any LiveViews on the page\n * liveSocket.connect();\n * DevJoy.init(liveSocket);\n * \n * @module DevJoy\n */\nexport default DevJoy = {\n  /**\n   * Adds event listeners to support full screen in `DevJoy`-based applications.\n   * Those listeners would communicate with the default implementation\n   * generated using [`DevJoy.Session.LiveView`](../DevJoy.Session.LiveView.html).\n   *\n   * @param {Object} liveSocket - The Phoenix LiveView socket instance.\n   */\n  init: function(liveSocket) {\n    addEventListener(\"phx:dev_joy:fullscreen-toggle\", toggleFullscreen);\n    element.addEventListener(\"fullscreenchange\", fullscreenchangeHandler.bind(liveSocket));\n    fullscreenchangeHandler.bind(liveSocket)();\n  },\n};\n\nfunction fullscreenchangeHandler() {\n  if (document.fullscreenElement ||\n      document.webkitFullscreenElement || /* Opera/Safari */\n      document.msFullscreenElement /* IE11 syntax */) {\n    this.main.channel.push(\"dev_joy:fullscreenchange\", {fullscreen: true})\n  } else {\n    this.main.channel.push(\"dev_joy:fullscreenchange\", {fullscreen: false})\n  }\n}\n\nfunction toggleFullscreen(event) {\n  if (document.fullscreenElement ||\n      document.webkitFullscreenElement || /* Opera/Safari */\n      document.msFullscreenElement /* IE11 syntax */) {\n    if (document.exitFullscreen) {\n      document.exitFullscreen();\n    } else if (document.webkitExitFullscreen) { /* Safari */\n      document.webkitExitFullscreen();\n    } else if (document.msExitFullscreen) { /* IE11 */\n      document.msExitFullscreen();\n    }\n  } else {\n    if (element.requestFullscreen) {\n      element.requestFullscreen();\n    } else if (element.webkitRequestFullscreen) { /* Opera/Safari */\n      element.webkitRequestFullscreen();\n    } else if (element.msRequestFullscreen) { /* IE11 */\n      element.msRequestFullscreen();\n    }\n  }\n}"],
  "mappings": "AAAA,IAAI,UAAU,SAAS;AAmCvB,IAAO,kBAAQ,SAAS;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQtB,MAAM,SAAS,YAAY;AACzB,qBAAiB,iCAAiC,gBAAgB;AAClE,YAAQ,iBAAiB,oBAAoB,wBAAwB,KAAK,UAAU,CAAC;AACrF,4BAAwB,KAAK,UAAU,EAAE;AAAA,EAC3C;AACF;AAEA,SAAS,0BAA0B;AACjC,MAAI,SAAS,qBACT,SAAS;AAAA,EACT,SAAS,qBAAuC;AAClD,SAAK,KAAK,QAAQ,KAAK,4BAA4B,EAAC,YAAY,KAAI,CAAC;AAAA,EACvE,OAAO;AACL,SAAK,KAAK,QAAQ,KAAK,4BAA4B,EAAC,YAAY,MAAK,CAAC;AAAA,EACxE;AACF;AAEA,SAAS,iBAAiB,OAAO;AAC/B,MAAI,SAAS,qBACT,SAAS;AAAA,EACT,SAAS,qBAAuC;AAClD,QAAI,SAAS,gBAAgB;AAC3B,eAAS,eAAe;AAAA,IAC1B,WAAW,SAAS,sBAAsB;AACxC,eAAS,qBAAqB;AAAA,IAChC,WAAW,SAAS,kBAAkB;AACpC,eAAS,iBAAiB;AAAA,IAC5B;AAAA,EACF,OAAO;AACL,QAAI,QAAQ,mBAAmB;AAC7B,cAAQ,kBAAkB;AAAA,IAC5B,WAAW,QAAQ,yBAAyB;AAC1C,cAAQ,wBAAwB;AAAA,IAClC,WAAW,QAAQ,qBAAqB;AACtC,cAAQ,oBAAoB;AAAA,IAC9B;AAAA,EACF;AACF;",
  "names": []
}
