@jsenv/core 23.8.3 → 23.8.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -2,127 +2,845 @@
2
2
  "version": 3,
3
3
  "file": "jsenv_toolbar.js",
4
4
  "sources": [
5
- "../.jsenv/build/best/node_modules/@jsenv/filesystem/src/urlIsInsideOf.js",
6
- "../.jsenv/build/best/node_modules/@jsenv/filesystem/src/internal/getCommonPathname.js",
7
- "../.jsenv/build/best/node_modules/@jsenv/filesystem/src/internal/pathnameToParentPathname.js",
8
- "../.jsenv/build/best/node_modules/@jsenv/filesystem/src/urlToRelativeUrl.js",
9
- "../.jsenv/build/best/helpers/babel/defineProperty/defineProperty.js",
10
- "../.jsenv/build/best/node_modules/@jsenv/logger/src/createDetailedMessage.js",
11
- "../.jsenv/build/best/helpers/babel/objectSpread2/objectSpread2.js",
12
- "../.jsenv/build/best/helpers/babel/objectWithoutPropertiesLoose/objectWithoutPropertiesLoose.js",
13
- "../.jsenv/build/best/helpers/babel/objectWithoutProperties/objectWithoutProperties.js",
14
- "../.jsenv/build/best/helpers/babel/typeof/typeof.js",
15
- "../.jsenv/build/best/src/internal/browser-utils/fetchUsingXHR.js",
16
- "../.jsenv/build/best/src/internal/browser-utils/fetch-browser.js",
17
- "../.jsenv/build/best/src/internal/browser-utils/fetchJson.js",
18
- "../.jsenv/build/best/src/internal/exploring/fetchExploringJson.js",
19
- "../.jsenv/build/best/src/internal/toolbar/util/dom.js",
20
- "../.jsenv/build/best/src/internal/toolbar/util/animation.js",
21
- "../.jsenv/build/best/src/internal/toolbar/focus/toolbar.focus.js",
22
- "../.jsenv/build/best/src/internal/toolbar/backtolist/toolbar.backtolist.js",
23
- "../.jsenv/build/best/src/internal/toolbar/util/preferences.js",
24
- "../.jsenv/build/best/src/internal/toolbar/tooltip/tooltip.js",
25
- "../.jsenv/build/best/src/internal/toolbar/settings/toolbar.settings.js",
26
- "../.jsenv/build/best/src/internal/toolbar/notification/toolbar.notification.js",
27
- "../.jsenv/build/best/src/internal/toolbar/theme/toolbar.theme.js",
28
- "../.jsenv/build/best/src/internal/toolbar/animation/toolbar.animation.js",
29
- "../.jsenv/build/best/src/internal/toolbar/variant/variant.js",
30
- "../.jsenv/build/best/src/internal/toolbar/util/responsive.js",
31
- "../.jsenv/build/best/src/internal/toolbar/execution/toolbar.execution.js",
32
- "../.jsenv/build/best/src/internal/CONSTANTS.js",
33
- "../.jsenv/build/best/src/internal/runtime/computeCompileIdFromGroupId.js",
34
- "../.jsenv/build/best/src/internal/runtime/detectBrowser/util.js",
35
- "../.jsenv/build/best/src/internal/runtime/detectBrowser/detectAndroid.js",
36
- "../.jsenv/build/best/src/internal/runtime/detectBrowser/detectInternetExplorer.js",
37
- "../.jsenv/build/best/src/internal/runtime/detectBrowser/detectOpera.js",
38
- "../.jsenv/build/best/src/internal/runtime/detectBrowser/detectEdge.js",
39
- "../.jsenv/build/best/src/internal/runtime/detectBrowser/detectFirefox.js",
40
- "../.jsenv/build/best/src/internal/runtime/detectBrowser/detectChrome.js",
41
- "../.jsenv/build/best/src/internal/runtime/detectBrowser/detectSafari.js",
42
- "../.jsenv/build/best/src/internal/runtime/detectBrowser/detectElectron.js",
43
- "../.jsenv/build/best/src/internal/runtime/detectBrowser/detectIOS.js",
44
- "../.jsenv/build/best/src/internal/runtime/detectBrowser/detectBrowser.js",
45
- "../.jsenv/build/best/src/internal/semantic-versioning/valueToVersion.js",
46
- "../.jsenv/build/best/src/internal/semantic-versioning/versionCompare.js",
47
- "../.jsenv/build/best/src/internal/semantic-versioning/versionIsBelow.js",
48
- "../.jsenv/build/best/src/internal/semantic-versioning/findHighestVersion.js",
49
- "../.jsenv/build/best/src/internal/runtime/resolveGroup.js",
50
- "../.jsenv/build/best/src/internal/runtime/createBrowserRuntime/scanBrowserRuntimeFeatures.js",
51
- "../.jsenv/build/best/src/internal/toolbar/compilation/toolbar.compilation.js",
52
- "../.jsenv/build/best/src/internal/toolbar/util/util.js",
53
- "../.jsenv/build/best/src/internal/toolbar/eventsource/connectEventSource.js",
54
- "../.jsenv/build/best/src/internal/toolbar/eventsource/connectCompileServerEventSource.js",
55
- "../.jsenv/build/best/src/internal/toolbar/eventsource/toolbar.eventsource.js",
56
- "../.jsenv/build/best/src/internal/toolbar/responsive/toolbar.responsive.js",
57
- "../.jsenv/build/best/src/internal/toolbar/toolbar.main.js"
5
+ "../node_modules/@jsenv/filesystem/src/urlIsInsideOf.js",
6
+ "../node_modules/@jsenv/filesystem/src/internal/getCommonPathname.js",
7
+ "../node_modules/@jsenv/filesystem/src/internal/pathnameToParentPathname.js",
8
+ "../node_modules/@jsenv/filesystem/src/urlToRelativeUrl.js",
9
+ "../helpers/babel/defineProperty/defineProperty.js",
10
+ "../node_modules/@jsenv/logger/src/createDetailedMessage.js",
11
+ "../helpers/babel/objectSpread2/objectSpread2.js",
12
+ "../helpers/babel/objectWithoutPropertiesLoose/objectWithoutPropertiesLoose.js",
13
+ "../helpers/babel/objectWithoutProperties/objectWithoutProperties.js",
14
+ "../helpers/babel/typeof/typeof.js",
15
+ "../src/internal/browser-utils/fetchUsingXHR.js",
16
+ "../src/internal/browser-utils/fetch-browser.js",
17
+ "../src/internal/browser-utils/fetchJson.js",
18
+ "../src/internal/exploring/fetchExploringJson.js",
19
+ "../src/internal/toolbar/util/dom.js",
20
+ "../src/internal/toolbar/util/animation.js",
21
+ "../src/internal/toolbar/focus/toolbar.focus.js",
22
+ "../src/internal/toolbar/backtolist/toolbar.backtolist.js",
23
+ "../src/internal/toolbar/util/preferences.js",
24
+ "../src/internal/toolbar/tooltip/tooltip.js",
25
+ "../src/internal/toolbar/settings/toolbar.settings.js",
26
+ "../src/internal/toolbar/notification/toolbar.notification.js",
27
+ "../src/internal/toolbar/theme/toolbar.theme.js",
28
+ "../src/internal/toolbar/animation/toolbar.animation.js",
29
+ "../src/internal/toolbar/variant/variant.js",
30
+ "../src/internal/toolbar/util/responsive.js",
31
+ "../src/internal/toolbar/execution/toolbar.execution.js",
32
+ "../src/internal/CONSTANTS.js",
33
+ "../src/internal/runtime/computeCompileIdFromGroupId.js",
34
+ "../src/internal/runtime/detectBrowser/util.js",
35
+ "../src/internal/runtime/detectBrowser/detectAndroid.js",
36
+ "../src/internal/runtime/detectBrowser/detectInternetExplorer.js",
37
+ "../src/internal/runtime/detectBrowser/detectOpera.js",
38
+ "../src/internal/runtime/detectBrowser/detectEdge.js",
39
+ "../src/internal/runtime/detectBrowser/detectFirefox.js",
40
+ "../src/internal/runtime/detectBrowser/detectChrome.js",
41
+ "../src/internal/runtime/detectBrowser/detectSafari.js",
42
+ "../src/internal/runtime/detectBrowser/detectElectron.js",
43
+ "../src/internal/runtime/detectBrowser/detectIOS.js",
44
+ "../src/internal/runtime/detectBrowser/detectBrowser.js",
45
+ "../src/internal/semantic-versioning/valueToVersion.js",
46
+ "../src/internal/semantic-versioning/versionCompare.js",
47
+ "../src/internal/semantic-versioning/versionIsBelow.js",
48
+ "../src/internal/semantic-versioning/findHighestVersion.js",
49
+ "../src/internal/runtime/resolveGroup.js",
50
+ "../src/internal/runtime/createBrowserRuntime/scanBrowserRuntimeFeatures.js",
51
+ "../src/internal/toolbar/compilation/toolbar.compilation.js",
52
+ "../src/internal/toolbar/util/util.js",
53
+ "../src/internal/toolbar/eventsource/connectEventSource.js",
54
+ "../src/internal/toolbar/eventsource/connectCompileServerEventSource.js",
55
+ "../src/internal/toolbar/eventsource/toolbar.eventsource.js",
56
+ "../src/internal/toolbar/responsive/toolbar.responsive.js",
57
+ "../src/internal/toolbar/toolbar.main.js"
58
58
  ],
59
59
  "sourcesContent": [
60
- "export var urlIsInsideOf = function urlIsInsideOf(url, otherUrl) {\n var urlObject = new URL(url);\n var otherUrlObject = new URL(otherUrl);\n\n if (urlObject.origin !== otherUrlObject.origin) {\n return false;\n }\n\n var urlPathname = urlObject.pathname;\n var otherUrlPathname = otherUrlObject.pathname;\n\n if (urlPathname === otherUrlPathname) {\n return false;\n }\n\n var isInside = urlPathname.startsWith(otherUrlPathname);\n return isInside;\n};\n//# sourceMappingURL=urlIsInsideOf.js.map",
61
- "export var getCommonPathname = function getCommonPathname(pathname, otherPathname) {\n var firstDifferentCharacterIndex = findFirstDifferentCharacterIndex(pathname, otherPathname); // pathname and otherpathname are exactly the same\n\n if (firstDifferentCharacterIndex === -1) {\n return pathname;\n }\n\n var commonString = pathname.slice(0, firstDifferentCharacterIndex + 1); // the first different char is at firstDifferentCharacterIndex\n\n if (pathname.charAt(firstDifferentCharacterIndex) === \"/\") {\n return commonString;\n }\n\n if (otherPathname.charAt(firstDifferentCharacterIndex) === \"/\") {\n return commonString;\n }\n\n var firstDifferentSlashIndex = commonString.lastIndexOf(\"/\");\n return pathname.slice(0, firstDifferentSlashIndex + 1);\n};\n\nvar findFirstDifferentCharacterIndex = function findFirstDifferentCharacterIndex(string, otherString) {\n var maxCommonLength = Math.min(string.length, otherString.length);\n var i = 0;\n\n while (i < maxCommonLength) {\n var char = string.charAt(i);\n var otherChar = otherString.charAt(i);\n\n if (char !== otherChar) {\n return i;\n }\n\n i++;\n }\n\n if (string.length === otherString.length) {\n return -1;\n } // they differ at maxCommonLength\n\n\n return maxCommonLength;\n};\n//# sourceMappingURL=getCommonPathname.js.map",
62
- "export var pathnameToParentPathname = function pathnameToParentPathname(pathname) {\n var slashLastIndex = pathname.lastIndexOf(\"/\");\n\n if (slashLastIndex === -1) {\n return \"/\";\n }\n\n return pathname.slice(0, slashLastIndex + 1);\n};\n//# sourceMappingURL=pathnameToParentPathname.js.map",
63
- "import { getCommonPathname } from \"./internal/getCommonPathname.js\";\nimport { pathnameToParentPathname } from \"./internal/pathnameToParentPathname.js\";\nexport var urlToRelativeUrl = function urlToRelativeUrl(url, baseUrl) {\n var urlObject = new URL(url);\n var baseUrlObject = new URL(baseUrl);\n\n if (urlObject.protocol !== baseUrlObject.protocol) {\n var urlAsString = String(url);\n return urlAsString;\n }\n\n if (urlObject.username !== baseUrlObject.username || urlObject.password !== baseUrlObject.password || urlObject.host !== baseUrlObject.host) {\n var afterUrlScheme = String(url).slice(urlObject.protocol.length);\n return afterUrlScheme;\n }\n\n var pathname = urlObject.pathname,\n hash = urlObject.hash,\n search = urlObject.search;\n\n if (pathname === \"/\") {\n var baseUrlRessourceWithoutLeadingSlash = baseUrlObject.pathname.slice(1);\n return baseUrlRessourceWithoutLeadingSlash;\n }\n\n var basePathname = baseUrlObject.pathname;\n var commonPathname = getCommonPathname(pathname, basePathname);\n\n if (!commonPathname) {\n var _urlAsString = String(url);\n\n return _urlAsString;\n }\n\n var specificPathname = pathname.slice(commonPathname.length);\n var baseSpecificPathname = basePathname.slice(commonPathname.length);\n\n if (baseSpecificPathname.includes(\"/\")) {\n var baseSpecificParentPathname = pathnameToParentPathname(baseSpecificPathname);\n var relativeDirectoriesNotation = baseSpecificParentPathname.replace(/.*?\\//g, \"../\");\n\n var _relativeUrl = \"\".concat(relativeDirectoriesNotation).concat(specificPathname).concat(search).concat(hash);\n\n return _relativeUrl;\n }\n\n var relativeUrl = \"\".concat(specificPathname).concat(search).concat(hash);\n return relativeUrl;\n};\n//# sourceMappingURL=urlToRelativeUrl.js.map",
64
- "export default (function (obj, key, value) {\n // Shortcircuit the slow defineProperty path when possible.\n // We are trying to avoid issues where setters defined on the\n // prototype cause side effects under the fast path of simple\n // assignment. By checking for existence of the property with\n // the in operator, we can optimize most of this overhead away.\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n});\n//# sourceMappingURL=defineProperty.js.map",
65
- "export var createDetailedMessage = function createDetailedMessage(message) {\n var details = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var string = \"\".concat(message);\n Object.keys(details).forEach(function (key) {\n var value = details[key];\n string += \"\\n--- \".concat(key, \" ---\\n\").concat(Array.isArray(value) ? value.join(\"\\n\") : value);\n });\n return string;\n};\n//# sourceMappingURL=createDetailedMessage.js.map",
66
- "import defineProperty from \"../defineProperty/defineProperty.js\";\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n\n if (enumerableOnly) {\n symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n }\n\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nexport default function _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys(Object(source), true).forEach(function (key) {\n defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\n}\n//# sourceMappingURL=objectSpread2.js.map",
67
- "export default (function (source, excluded) {\n if (source === null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key;\n var i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n});\n//# sourceMappingURL=objectWithoutPropertiesLoose.js.map",
68
- "import objectWithoutPropertiesLoose from \"../objectWithoutPropertiesLoose/objectWithoutPropertiesLoose.js\";\nexport default (function (source, excluded) {\n if (source === null) return {};\n var target = objectWithoutPropertiesLoose(source, excluded);\n var key;\n var i;\n\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n\n return target;\n});\n//# sourceMappingURL=objectWithoutProperties.js.map",
69
- "var nativeTypeOf = function nativeTypeOf(obj) {\n return typeof obj;\n};\n\nvar customTypeOf = function customTypeOf(obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n};\n\nexport default typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? nativeTypeOf : customTypeOf;\n//# sourceMappingURL=typeof.js.map",
70
- "import _typeof from \"@jsenv/core/helpers/babel/typeof/typeof.js\";\nimport _defineProperty from \"@jsenv/core/helpers/babel/defineProperty/defineProperty.js\";\nimport { createDetailedMessage } from \"@jsenv/logger\";\n\nfunction _await(value, then, direct) {\n if (direct) {\n return then ? then(value) : value;\n }\n\n if (!value || !value.then) {\n value = Promise.resolve(value);\n }\n\n return then ? value.then(then) : value;\n}\n\nfunction _async(f) {\n return function () {\n for (var args = [], i = 0; i < arguments.length; i++) {\n args[i] = arguments[i];\n }\n\n try {\n return Promise.resolve(f.apply(this, args));\n } catch (e) {\n return Promise.reject(e);\n }\n };\n}\n\nfunction _call(body, then, direct) {\n if (direct) {\n return then ? then(body()) : body();\n }\n\n try {\n var result = Promise.resolve(body());\n return then ? result.then(then) : result;\n } catch (e) {\n return Promise.reject(e);\n }\n}\n\nexport var fetchUsingXHR = _async(function (url) {\n var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n signal = _ref.signal,\n _ref$method = _ref.method,\n method = _ref$method === void 0 ? \"GET\" : _ref$method,\n _ref$credentials = _ref.credentials,\n credentials = _ref$credentials === void 0 ? \"same-origin\" : _ref$credentials,\n _ref$headers = _ref.headers,\n headers = _ref$headers === void 0 ? {} : _ref$headers,\n _ref$body = _ref.body,\n body = _ref$body === void 0 ? null : _ref$body;\n\n var headersPromise = createPromiseAndHooks();\n var bodyPromise = createPromiseAndHooks();\n var xhr = new XMLHttpRequest();\n\n var failure = function failure(error) {\n // if it was already resolved, we must reject the body promise\n if (headersPromise.settled) {\n bodyPromise.reject(error);\n } else {\n headersPromise.reject(error);\n }\n };\n\n var cleanup = function cleanup() {\n xhr.ontimeout = null;\n xhr.onerror = null;\n xhr.onload = null;\n xhr.onreadystatechange = null;\n };\n\n xhr.ontimeout = function () {\n cleanup();\n failure(new Error(\"xhr request timeout on \".concat(url, \".\")));\n };\n\n xhr.onerror = function (error) {\n cleanup(); // unfortunately with have no clue why it fails\n // might be cors for instance\n\n failure(createRequestError(error, {\n url: url\n }));\n };\n\n xhr.onload = function () {\n cleanup();\n bodyPromise.resolve();\n };\n\n signal.addEventListener(\"abort\", function () {\n xhr.abort();\n var abortError = new Error(\"aborted\");\n abortError.name = \"AbortError\";\n failure(abortError);\n });\n\n xhr.onreadystatechange = function () {\n // https://developer.mozilla.org/fr/docs/Web/API/XMLHttpRequest/readyState\n var readyState = xhr.readyState;\n\n if (readyState === 2) {\n headersPromise.resolve();\n } else if (readyState === 4) {\n cleanup();\n bodyPromise.resolve();\n }\n };\n\n xhr.open(method, url, true);\n Object.keys(headers).forEach(function (key) {\n xhr.setRequestHeader(key, headers[key]);\n });\n xhr.withCredentials = computeWithCredentials({\n credentials: credentials,\n url: url\n });\n\n if (\"responseType\" in xhr && hasBlob) {\n xhr.responseType = \"blob\";\n }\n\n xhr.send(body);\n return _await(headersPromise, function () {\n // https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest/responseURL\n var responseUrl = \"responseURL\" in xhr ? xhr.responseURL : headers[\"x-request-url\"];\n var responseStatus = xhr.status;\n var responseStatusText = xhr.statusText;\n var responseHeaders = getHeadersFromXHR(xhr);\n\n var readBody = function readBody() {\n return _await(bodyPromise, function () {\n var status = xhr.status; // in Chrome on file:/// URLs, status is 0\n\n if (status === 0) {\n responseStatus = 200;\n }\n\n var body = \"response\" in xhr ? xhr.response : xhr.responseText;\n return {\n responseBody: body,\n responseBodyType: detectBodyType(body)\n };\n });\n };\n\n var text = function text() {\n return _call(readBody, function (_ref2) {\n var responseBody = _ref2.responseBody,\n responseBodyType = _ref2.responseBodyType;\n\n if (responseBodyType === \"blob\") {\n return blobToText(responseBody);\n }\n\n if (responseBodyType === \"formData\") {\n throw new Error(\"could not read FormData body as text\");\n }\n\n return responseBodyType === \"dataView\" ? arrayBufferToText(responseBody.buffer) : responseBodyType === \"arrayBuffer\" ? arrayBufferToText(responseBody) : String(responseBody);\n });\n };\n\n var json = function json() {\n return _call(text, JSON.parse);\n };\n\n var blob = _async(function () {\n if (!hasBlob) {\n throw new Error(\"blob not supported\");\n }\n\n return _call(readBody, function (_ref3) {\n var responseBody = _ref3.responseBody,\n responseBodyType = _ref3.responseBodyType;\n\n if (responseBodyType === \"blob\") {\n return responseBody;\n }\n\n if (responseBodyType === \"dataView\") {\n return new Blob([cloneBuffer(responseBody.buffer)]);\n }\n\n if (responseBodyType === \"arrayBuffer\") {\n return new Blob([cloneBuffer(responseBody)]);\n }\n\n if (responseBodyType === \"formData\") {\n throw new Error(\"could not read FormData body as blob\");\n }\n\n return new Blob([String(responseBody)]);\n });\n });\n\n var arrayBuffer = function arrayBuffer() {\n return _call(readBody, function (_ref4) {\n var responseBody = _ref4.responseBody,\n responseBodyType = _ref4.responseBodyType;\n return responseBodyType === \"arrayBuffer\" ? cloneBuffer(responseBody) : _call(blob, blobToArrayBuffer);\n });\n };\n\n var formData = _async(function () {\n if (!hasFormData) {\n throw new Error(\"formData not supported\");\n }\n\n return _call(text, textToFormData);\n });\n\n return {\n url: responseUrl,\n status: responseStatus,\n statusText: responseStatusText,\n headers: responseHeaders,\n text: text,\n json: json,\n blob: blob,\n arrayBuffer: arrayBuffer,\n formData: formData\n };\n });\n});\n\nvar canUseBlob = function canUseBlob() {\n if (typeof window.FileReader !== \"function\") return false;\n if (typeof window.Blob !== \"function\") return false;\n\n try {\n // eslint-disable-next-line no-new\n new Blob();\n return true;\n } catch (e) {\n return false;\n }\n};\n\nvar hasBlob = canUseBlob();\nvar hasFormData = typeof window.FormData === \"function\";\nvar hasArrayBuffer = typeof window.ArrayBuffer === \"function\";\nvar hasSearchParams = typeof window.URLSearchParams === \"function\";\n\nvar createRequestError = function createRequestError(error, _ref5) {\n var url = _ref5.url;\n return new Error(createDetailedMessage(\"error during xhr request on \".concat(url, \".\"), _defineProperty({}, \"error stack\", error.stack)));\n};\n\nvar createPromiseAndHooks = function createPromiseAndHooks() {\n var resolve;\n var reject;\n var promise = new Promise(function (res, rej) {\n resolve = function resolve(value) {\n promise.settled = true;\n res(value);\n };\n\n reject = function reject(value) {\n promise.settled = true;\n rej(value);\n };\n });\n promise.resolve = resolve;\n promise.reject = reject;\n return promise;\n}; // https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API/Using_Fetch\n\n\nvar computeWithCredentials = function computeWithCredentials(_ref6) {\n var credentials = _ref6.credentials,\n url = _ref6.url;\n\n if (credentials === \"same-origin\") {\n return originSameAsGlobalOrigin(url);\n }\n\n return credentials === \"include\";\n};\n\nvar originSameAsGlobalOrigin = function originSameAsGlobalOrigin(url) {\n // if we cannot read globalOrigin from window.location.origin, let's consider it's ok\n if ((typeof window === \"undefined\" ? \"undefined\" : _typeof(window)) !== \"object\") return true;\n if (_typeof(window.location) !== \"object\") return true;\n var globalOrigin = window.location.origin;\n if (globalOrigin === \"null\") return true;\n return hrefToOrigin(url) === globalOrigin;\n};\n\nvar detectBodyType = function detectBodyType(body) {\n if (!body) {\n return \"\";\n }\n\n if (typeof body === \"string\") {\n return \"text\";\n }\n\n if (hasBlob && Blob.prototype.isPrototypeOf(body)) {\n return \"blob\";\n }\n\n if (hasFormData && FormData.prototype.isPrototypeOf(body)) {\n return \"formData\";\n }\n\n if (hasArrayBuffer) {\n if (hasBlob && isDataView(body)) {\n return \"dataView\";\n }\n\n if (ArrayBuffer.prototype.isPrototypeOf(body) || isArrayBufferView(body)) {\n return \"arrayBuffer\";\n }\n }\n\n if (hasSearchParams && URLSearchParams.prototype.isPrototypeOf(body)) {\n return \"searchParams\";\n }\n\n return \"\";\n}; // https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest/getAllResponseHeaders#Example\n\n\nvar getHeadersFromXHR = function getHeadersFromXHR(xhr) {\n var headerMap = {};\n var headersString = xhr.getAllResponseHeaders();\n if (headersString === \"\") return headerMap;\n var lines = headersString.trim().split(/[\\r\\n]+/);\n lines.forEach(function (line) {\n var parts = line.split(\": \");\n var name = parts.shift();\n var value = parts.join(\": \");\n headerMap[name.toLowerCase()] = value;\n });\n return headerMap;\n};\n\nvar hrefToOrigin = function hrefToOrigin(href) {\n var scheme = hrefToScheme(href);\n\n if (scheme === \"file\") {\n return \"file://\";\n }\n\n if (scheme === \"http\" || scheme === \"https\") {\n var secondProtocolSlashIndex = scheme.length + \"://\".length;\n var pathnameSlashIndex = href.indexOf(\"/\", secondProtocolSlashIndex);\n if (pathnameSlashIndex === -1) return href;\n return href.slice(0, pathnameSlashIndex);\n }\n\n return href.slice(0, scheme.length + 1);\n};\n\nvar hrefToScheme = function hrefToScheme(href) {\n var colonIndex = href.indexOf(\":\");\n if (colonIndex === -1) return \"\";\n return href.slice(0, colonIndex);\n};\n\nvar isDataView = function isDataView(obj) {\n return obj && DataView.prototype.isPrototypeOf(obj);\n};\n\nvar isArrayBufferView = ArrayBuffer.isView || function () {\n var viewClasses = [\"[object Int8Array]\", \"[object Uint8Array]\", \"[object Uint8ClampedArray]\", \"[object Int16Array]\", \"[object Uint16Array]\", \"[object Int32Array]\", \"[object Uint32Array]\", \"[object Float32Array]\", \"[object Float64Array]\"];\n return function (value) {\n return value && viewClasses.includes(Object.prototype.toString.call(value));\n };\n}();\n\nvar textToFormData = function textToFormData(text) {\n var form = new FormData();\n text.trim().split(\"&\").forEach(function (bytes) {\n if (bytes) {\n var split = bytes.split(\"=\");\n var name = split.shift().replace(/\\+/g, \" \");\n var value = split.join(\"=\").replace(/\\+/g, \" \");\n form.append(decodeURIComponent(name), decodeURIComponent(value));\n }\n });\n return form;\n};\n\nvar blobToArrayBuffer = _async(function (blob) {\n var reader = new FileReader();\n var promise = fileReaderReady(reader);\n reader.readAsArrayBuffer(blob);\n return promise;\n});\n\nvar blobToText = function blobToText(blob) {\n var reader = new FileReader();\n var promise = fileReaderReady(reader);\n reader.readAsText(blob);\n return promise;\n};\n\nvar arrayBufferToText = function arrayBufferToText(arrayBuffer) {\n var view = new Uint8Array(arrayBuffer);\n var chars = new Array(view.length);\n var i = 0;\n\n while (i < view.length) {\n chars[i] = String.fromCharCode(view[i]);\n i++;\n }\n\n return chars.join(\"\");\n};\n\nvar fileReaderReady = function fileReaderReady(reader) {\n return new Promise(function (resolve, reject) {\n reader.onload = function () {\n resolve(reader.result);\n };\n\n reader.onerror = function () {\n reject(reader.error);\n };\n });\n};\n\nvar cloneBuffer = function cloneBuffer(buffer) {\n if (buffer.slice) {\n return buffer.slice(0);\n }\n\n var view = new Uint8Array(buffer.byteLength);\n view.set(new Uint8Array(buffer));\n return view.buffer;\n};\n//# sourceMappingURL=fetchUsingXHR.js.map",
71
- "import _objectSpread from \"@jsenv/core/helpers/babel/objectSpread2/objectSpread2.js\";\nimport _objectWithoutProperties from \"@jsenv/core/helpers/babel/objectWithoutProperties/objectWithoutProperties.js\";\nvar _excluded = [\"mode\"];\nimport { fetchUsingXHR } from \"./fetchUsingXHR.js\";\n\nfunction _await(value, then, direct) {\n if (direct) {\n return then ? then(value) : value;\n }\n\n if (!value || !value.then) {\n value = Promise.resolve(value);\n }\n\n return then ? value.then(then) : value;\n}\n\nvar fetchNative = _async(function (url) {\n var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n var _ref$mode = _ref.mode,\n mode = _ref$mode === void 0 ? \"cors\" : _ref$mode,\n options = _objectWithoutProperties(_ref, _excluded);\n\n return _await(window.fetch(url, _objectSpread({\n mode: mode\n }, options)), function (response) {\n return {\n url: response.url,\n status: response.status,\n statusText: \"\",\n headers: responseToHeaders(response),\n text: function text() {\n return response.text();\n },\n json: function json() {\n return response.json();\n },\n blob: function blob() {\n return response.blob();\n },\n arrayBuffer: function arrayBuffer() {\n return response.arrayBuffer();\n },\n formData: function formData() {\n return response.formData();\n }\n };\n });\n});\n\nfunction _async(f) {\n return function () {\n for (var args = [], i = 0; i < arguments.length; i++) {\n args[i] = arguments[i];\n }\n\n try {\n return Promise.resolve(f.apply(this, args));\n } catch (e) {\n return Promise.reject(e);\n }\n };\n}\n\nvar responseToHeaders = function responseToHeaders(response) {\n var headers = {};\n response.headers.forEach(function (value, name) {\n headers[name] = value;\n });\n return headers;\n};\n\nexport var fetchUrl = typeof window.fetch === \"function\" && typeof window.AbortController === \"function\" ? fetchNative : fetchUsingXHR;\n//# sourceMappingURL=fetch-browser.js.map",
72
- "import { fetchUrl } from \"./fetch-browser.js\";\n\nfunction _await(value, then, direct) {\n if (direct) {\n return then ? then(value) : value;\n }\n\n if (!value || !value.then) {\n value = Promise.resolve(value);\n }\n\n return then ? value.then(then) : value;\n}\n\nfunction _async(f) {\n return function () {\n for (var args = [], i = 0; i < arguments.length; i++) {\n args[i] = arguments[i];\n }\n\n try {\n return Promise.resolve(f.apply(this, args));\n } catch (e) {\n return Promise.reject(e);\n }\n };\n}\n\nexport var fetchJson = _async(function (url) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n return _await(fetchUrl(url, options), function (response) {\n return _await(response.json());\n });\n});\n//# sourceMappingURL=fetchJson.js.map",
73
- "import _defineProperty from \"@jsenv/core/helpers/babel/defineProperty/defineProperty.js\";\nimport { createDetailedMessage } from \"@jsenv/logger\";\nimport { fetchJson } from \"../browser-utils/fetchJson.js\";\n\nfunction _await(value, then, direct) {\n if (direct) {\n return then ? then(value) : value;\n }\n\n if (!value || !value.then) {\n value = Promise.resolve(value);\n }\n\n return then ? value.then(then) : value;\n}\n\nfunction _catch(body, recover) {\n try {\n var result = body();\n } catch (e) {\n return recover(e);\n }\n\n if (result && result.then) {\n return result.then(void 0, recover);\n }\n\n return result;\n}\n\nfunction _async(f) {\n return function () {\n for (var args = [], i = 0; i < arguments.length; i++) {\n args[i] = arguments[i];\n }\n\n try {\n return Promise.resolve(f.apply(this, args));\n } catch (e) {\n return Promise.reject(e);\n }\n };\n}\n\nexport var fetchExploringJson = _async(function () {\n var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n signal = _ref.signal;\n\n return _catch(function () {\n return _await(fetchJson(\"/.jsenv/exploring.json\", {\n signal: signal\n }));\n }, function (e) {\n if (signal && signal.aborted && e.name === \"AbortError\") {\n throw e;\n }\n\n throw new Error(createDetailedMessage(\"Cannot communicate with exploring server due to a network error\", _defineProperty({}, \"error stack\", e.stack)));\n });\n});\n//# sourceMappingURL=fetchExploringJson.js.map",
74
- "export var updateIframeOverflowOnParentWindow = function updateIframeOverflowOnParentWindow() {\n var aTooltipIsOpened = document.querySelector(\"[data-tooltip-visible]\") || document.querySelector(\"[data-tooltip-auto-visible]\");\n var settingsAreOpened = document.querySelector(\"#settings[data-active]\");\n\n if (aTooltipIsOpened || settingsAreOpened) {\n enableIframeOverflowOnParentWindow();\n } else {\n disableIframeOverflowOnParentWindow();\n }\n};\nvar iframeOverflowEnabled = false;\n\nvar enableIframeOverflowOnParentWindow = function enableIframeOverflowOnParentWindow() {\n if (iframeOverflowEnabled) return;\n iframeOverflowEnabled = true;\n var iframe = getToolbarIframe();\n var transitionDuration = iframe.style.transitionDuration;\n setStyles(iframe, {\n \"height\": \"100%\",\n \"transition-duration\": \"0ms\"\n });\n\n if (transitionDuration) {\n setTimeout(function () {\n setStyles(iframe, {\n \"transition-duration\": transitionDuration\n });\n });\n }\n};\n\nvar disableIframeOverflowOnParentWindow = function disableIframeOverflowOnParentWindow() {\n if (!iframeOverflowEnabled) return;\n iframeOverflowEnabled = false;\n var iframe = getToolbarIframe();\n var transitionDuration = iframe.style.transitionDuration;\n setStyles(iframe, {\n \"height\": \"40px\",\n \"transition-duration\": \"0ms\"\n });\n\n if (transitionDuration) {\n setTimeout(function () {\n setStyles(iframe, {\n \"transition-duration\": transitionDuration\n });\n });\n }\n};\n\nexport var getToolbarIframe = function getToolbarIframe() {\n var iframes = Array.from(window.parent.document.querySelectorAll(\"iframe\"));\n return iframes.find(function (iframe) {\n return iframe.contentWindow === window;\n });\n};\nexport var forceHideElement = function forceHideElement(element) {\n element.setAttribute(\"data-force-hide\", \"\");\n};\nexport var removeForceHideElement = function removeForceHideElement(element) {\n element.removeAttribute(\"data-force-hide\");\n};\nexport var setStyles = function setStyles(element, styles) {\n var elementStyle = element.style;\n var restoreStyles = Object.keys(styles).map(function (styleName) {\n var restore;\n\n if (styleName in elementStyle) {\n var currentStyle = elementStyle[styleName];\n\n restore = function restore() {\n elementStyle[styleName] = currentStyle;\n };\n } else {\n restore = function restore() {\n delete elementStyle[styleName];\n };\n }\n\n elementStyle[styleName] = styles[styleName];\n return restore;\n });\n return function () {\n restoreStyles.forEach(function (restore) {\n return restore();\n });\n };\n};\nexport var setAttributes = function setAttributes(element, attributes) {\n Object.keys(attributes).forEach(function (name) {\n element.setAttribute(name, attributes[name]);\n });\n};\nexport var getDocumentScroll = function getDocumentScroll() {\n return {\n x: document.documentElement.scrollLeft,\n y: document.documentElement.scrollTop\n };\n};\nexport var toolbarSectionIsActive = function toolbarSectionIsActive(element) {\n return element.hasAttribute(\"data-active\");\n};\nexport var activateToolbarSection = function activateToolbarSection(element) {\n element.setAttribute(\"data-active\", \"\");\n};\nexport var deactivateToolbarSection = function deactivateToolbarSection(element) {\n element.removeAttribute(\"data-active\");\n};\n//# sourceMappingURL=dom.js.map",
75
- "import _objectWithoutProperties from \"@jsenv/core/helpers/babel/objectWithoutProperties/objectWithoutProperties.js\";\nvar _excluded = [\"signal\"];\n\nfunction _empty() {}\n\nimport { setStyles } from \"./dom.js\";\n\nfunction _awaitIgnored(value, direct) {\n if (!direct) {\n return value && value.then ? value.then(_empty) : Promise.resolve();\n }\n}\n\nvar animateFallback = function animateFallback() {\n return Promise.resolve();\n};\n\nfunction _async(f) {\n return function () {\n for (var args = [], i = 0; i < arguments.length; i++) {\n args[i] = arguments[i];\n }\n\n try {\n return Promise.resolve(f.apply(this, args));\n } catch (e) {\n return Promise.reject(e);\n }\n };\n}\n\nvar animateNative = function animateNative(node, keyframes) {\n var _ref = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n\n var signal = _ref.signal,\n options = _objectWithoutProperties(_ref, _excluded);\n\n var animation = node.animate(keyframes, options);\n\n if (signal) {\n signal.addEventListener(\"abort\", function () {\n animation.cancel();\n });\n }\n\n return new Promise(function (resolve) {\n animation.onfinish = resolve;\n });\n};\n\nfunction _await(value, then, direct) {\n if (direct) {\n return then ? then(value) : value;\n }\n\n if (!value || !value.then) {\n value = Promise.resolve(value);\n }\n\n return then ? value.then(then) : value;\n}\n\nexport var canUseAnimation = function canUseAnimation() {\n return typeof HTMLElement.prototype.animate === \"function\";\n};\nexport var animateElement = canUseAnimation() ? animateNative : animateFallback;\nexport var fadeIn = function fadeIn(node, options) {\n return animateElement(node, [{\n opacity: 0\n }, {\n opacity: 1\n }], options);\n};\nexport var fadeOut = function fadeOut(node, options) {\n return animateElement(node, [{\n opacity: 1\n }, {\n opacity: 0\n }], options);\n};\nexport var move = function move(fromNode, toNode, options) {\n var fromComputedStyle = window.getComputedStyle(fromNode);\n var toComputedStyle = window.getComputedStyle(toNode); // get positions of input in toolbar and aElement\n\n var fromPosition = fromNode.getBoundingClientRect();\n var toPosition = toNode.getBoundingClientRect(); // we'll do the animation in a div preventing overflow and pointer events\n\n var div = document.createElement(\"div\");\n div.style.position = \"absolute\";\n div.style.left = 0;\n div.style.top = 0;\n div.style.width = \"\".concat(document.documentElement.scrollWidth, \"px\");\n div.style.height = \"\".concat(document.documentElement.scrollHeight, \"px\");\n div.style.overflow = \"hidden\";\n div.style.pointerEvents = \"none\";\n var documentScroll = {\n left: window.pageXOffset || document.documentElement.scrollLeft,\n top: window.pageYOffset || document.documentElement.scrollTop\n }; // clone node and style it\n\n var copy = fromNode.cloneNode(true);\n copy.style.position = \"absolute\";\n copy.style.left = \"\".concat(documentScroll.left + fromPosition.left, \"px\");\n copy.style.top = \"\".concat(documentScroll.top + fromPosition.top, \"px\");\n copy.style.maxWidth = \"\".concat(fromPosition.right - fromPosition.left, \"px\");\n copy.style.overflow = toComputedStyle.overflow;\n copy.style.textOverflow = toComputedStyle.textOverflow;\n div.appendChild(copy);\n document.body.appendChild(div);\n var left = toPosition.left - fromPosition.left - (parseInt(fromComputedStyle.paddingLeft) || 0);\n var top = toPosition.top - fromPosition.top - (parseInt(fromComputedStyle.paddingTop) || 0); // define final position of new element and the duration\n\n var translate = \"translate(\".concat(left, \"px, \").concat(top, \"px)\"); // animate new element\n\n return animateElement(copy, [{\n transform: \"translate(0px, 0px)\",\n backgroundColor: fromComputedStyle.backgroundColor,\n color: fromComputedStyle.color,\n fontSize: fromComputedStyle.fontSize,\n height: \"\".concat(fromPosition.bottom - fromPosition.top, \"px\"),\n width: \"100%\"\n }, {\n offset: 0.9,\n backgroundColor: fromComputedStyle.backgroundColor,\n color: fromComputedStyle.color\n }, {\n transform: translate,\n backgroundColor: toComputedStyle.backgroundColor,\n color: toComputedStyle.color,\n fontSize: toComputedStyle.fontSize,\n height: \"\".concat(toPosition.bottom - toPosition.top, \"px\"),\n width: toComputedStyle.width\n }], options).then(function () {\n div.parentNode.removeChild(div);\n });\n}; // the whole point of this toolbar animation wass to flight a visual imperfection when it's done by css transition.\n// This imperfection is a white line sometimes flickering at the bottom of the page.\n// It got fixed by removing the usage of calc(100vh - 40px)\n// It was hapenning in chrome, safari but not inside Firefox\n// I assume it's because Firefox does not read parent element min-height while\n// chrome use it to compute min-height: 100%\n\nexport var createToolbarAnimation = function createToolbarAnimation() {\n var collapsedState = {\n \"#page\": {\n paddingBottom: 0\n },\n \"footer\": {\n height: 0\n },\n \"#toolbar\": {\n visibility: \"hidden\"\n }\n };\n var expandedState = {\n \"#page\": {\n paddingBottom: \"40px\"\n },\n \"footer\": {\n height: \"40px\"\n },\n \"#toolbar\": {\n visibility: \"visible\"\n }\n };\n var expandTransition = transit(collapsedState, expandedState, {\n duration: 300\n });\n\n var expand = function expand() {\n expandTransition.play();\n };\n\n var collapse = function collapse() {\n expandTransition.reverse();\n };\n\n return {\n expand: expand,\n collapse: collapse\n };\n};\nexport var transit = function transit(fromState, toState) {\n var _ref2 = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {},\n _ref2$commitStyles = _ref2.commitStyles,\n commitStyles = _ref2$commitStyles === void 0 ? true : _ref2$commitStyles,\n _ref2$fill = _ref2.fill,\n fill = _ref2$fill === void 0 ? \"both\" : _ref2$fill,\n _ref2$duration = _ref2.duration,\n duration = _ref2$duration === void 0 ? 300 : _ref2$duration;\n\n var steps = [];\n Object.keys(fromState).forEach(function (selector) {\n var fromStyles = {};\n var toStyles = {};\n var element = document.querySelector(selector);\n var keyframes = [];\n var fromProperties = fromState[selector];\n var toProperties = toState[selector];\n Object.keys(fromProperties).forEach(function (propertyName) {\n var from = fromProperties[propertyName];\n var to = toProperties[propertyName];\n fromStyles[propertyName] = from;\n toStyles[propertyName] = to;\n });\n keyframes.push(fromStyles, toStyles);\n var animation;\n\n if (canUseAnimation()) {\n var effect = new KeyframeEffect(element, keyframes, {\n fill: fill,\n duration: duration\n });\n animation = new Animation(effect);\n } else {\n animation = {\n playbackRate: 1,\n play: function play() {\n animation.onfinish();\n },\n reverse: function reverse() {\n animation.playbackRate = -1;\n animation.onfinish();\n },\n finish: function finish() {},\n onfinish: function onfinish() {}\n };\n }\n\n steps.push({\n element: element,\n animation: animation,\n fromStyles: fromStyles,\n toStyles: toStyles\n });\n });\n\n var play = _async(function () {\n return _awaitIgnored(Promise.all(steps.map(function (_ref3) {\n var animation = _ref3.animation,\n element = _ref3.element,\n toStyles = _ref3.toStyles;\n return new Promise(function (resolve) {\n animation.onfinish = function () {\n if (commitStyles) {\n setStyles(element, toStyles);\n }\n\n resolve();\n };\n\n if (animation.playbackRate === -1) {\n animation.reverse();\n } else {\n animation.play();\n }\n });\n })));\n });\n\n var reverse = _async(function () {\n return _awaitIgnored(Promise.all(steps.map(function (_ref4) {\n var animation = _ref4.animation,\n element = _ref4.element,\n fromStyles = _ref4.fromStyles;\n return new Promise(function (resolve) {\n animation.onfinish = function () {\n if (commitStyles) {\n setStyles(element, fromStyles);\n }\n\n resolve();\n };\n\n animation.reverse();\n });\n })));\n });\n\n var finish = _async(function () {\n steps.forEach(function (_ref5) {\n var animation = _ref5.animation;\n animation.finish();\n });\n return _await();\n });\n\n return {\n play: play,\n reverse: reverse,\n finish: finish\n };\n};\nexport var startJavaScriptAnimation = function startJavaScriptAnimation(_ref6) {\n var _ref6$duration = _ref6.duration,\n duration = _ref6$duration === void 0 ? 300 : _ref6$duration,\n _ref6$timingFunction = _ref6.timingFunction,\n timingFunction = _ref6$timingFunction === void 0 ? function (t) {\n return t;\n } : _ref6$timingFunction,\n _ref6$onProgress = _ref6.onProgress,\n onProgress = _ref6$onProgress === void 0 ? function () {} : _ref6$onProgress,\n _ref6$onCancel = _ref6.onCancel,\n onCancel = _ref6$onCancel === void 0 ? function () {} : _ref6$onCancel,\n _ref6$onComplete = _ref6.onComplete,\n onComplete = _ref6$onComplete === void 0 ? function () {} : _ref6$onComplete;\n\n if (isNaN(duration)) {\n // console.warn(`duration must be a number, received ${duration}`)\n return function () {};\n }\n\n duration = parseInt(duration, 10);\n var startMs = performance.now();\n var currentRequestAnimationFrameId;\n var done = false;\n var rawProgress = 0;\n var progress = 0;\n\n var handler = function handler() {\n currentRequestAnimationFrameId = null;\n var nowMs = performance.now();\n rawProgress = Math.min((nowMs - startMs) / duration, 1);\n progress = timingFunction(rawProgress);\n done = rawProgress === 1;\n onProgress({\n done: done,\n rawProgress: rawProgress,\n progress: progress\n });\n\n if (done) {\n onComplete();\n } else {\n currentRequestAnimationFrameId = window.requestAnimationFrame(handler);\n }\n };\n\n handler();\n\n var stop = function stop() {\n if (currentRequestAnimationFrameId) {\n window.cancelAnimationFrame(currentRequestAnimationFrameId);\n currentRequestAnimationFrameId = null;\n }\n\n if (!done) {\n done = true;\n onCancel({\n rawProgress: rawProgress,\n progress: progress\n });\n }\n };\n\n return stop;\n};\n//# sourceMappingURL=animation.js.map",
76
- "// handle data-last-interaction attr on html (focusring)\nwindow.addEventListener(\"mousedown\", function (mousedownEvent) {\n if (mousedownEvent.defaultPrevented) {\n return;\n }\n\n document.documentElement.setAttribute(\"data-last-interaction\", \"mouse\");\n});\nwindow.addEventListener(\"touchstart\", function (touchstartEvent) {\n if (touchstartEvent.defaultPrevented) {\n return;\n }\n\n document.documentElement.setAttribute(\"data-last-interaction\", \"mouse\");\n});\nwindow.addEventListener(\"keydown\", function (keydownEvent) {\n if (keydownEvent.defaultPrevented) {\n return;\n }\n\n document.documentElement.setAttribute(\"data-last-interaction\", \"keyboard\");\n});\n//# sourceMappingURL=toolbar.focus.js.map",
77
- "export var renderBackToListInToolbar = function renderBackToListInToolbar(_ref) {\n var outDirectoryRelativeUrl = _ref.outDirectoryRelativeUrl,\n exploringHtmlFileRelativeUrl = _ref.exploringHtmlFileRelativeUrl;\n var exploringHtmlFileUrl = \"/\".concat(outDirectoryRelativeUrl, \"otherwise/\").concat(exploringHtmlFileRelativeUrl);\n document.querySelector(\"#file-list-link a\").href = exploringHtmlFileUrl;\n\n document.querySelector(\"#file-list-link a\").onclick = function (clickEvent) {\n if (clickEvent.defaultPrevented) {\n return;\n }\n\n if (isClickToOpenTab(clickEvent)) {\n return;\n }\n\n window.parent.location.href = exploringHtmlFileUrl;\n };\n};\n\nvar isClickToOpenTab = function isClickToOpenTab(clickEvent) {\n if (clickEvent.button !== 0) {\n // Chrome < 55 fires a click event when the middle mouse button is pressed\n return true;\n }\n\n if (clickEvent.metaKey) {\n return true;\n }\n\n if (clickEvent.ctrlKey) {\n return true;\n }\n\n return false;\n};\n//# sourceMappingURL=toolbar.backtolist.js.map",
78
- "export var createPreference = function createPreference(name) {\n return {\n has: function has() {\n return localStorage.hasOwnProperty(name);\n },\n get: function get() {\n return localStorage.hasOwnProperty(name) ? JSON.parse(localStorage.getItem(name)) : undefined;\n },\n set: function set(value) {\n return localStorage.setItem(name, JSON.stringify(value));\n }\n };\n};\n//# sourceMappingURL=preferences.js.map",
79
- "import { updateIframeOverflowOnParentWindow } from \"../util/dom.js\";\nexport var toggleTooltip = function toggleTooltip(element) {\n if (element.hasAttribute(\"data-tooltip-visible\")) {\n hideTooltip(element);\n } else {\n showTooltip(element);\n }\n};\nexport var hideTooltip = function hideTooltip(element) {\n element.removeAttribute(\"data-tooltip-visible\");\n element.removeAttribute(\"data-tooltip-auto-visible\");\n updateIframeOverflowOnParentWindow();\n};\nexport var showTooltip = function showTooltip(element) {\n element.setAttribute(\"data-tooltip-visible\", \"\");\n updateIframeOverflowOnParentWindow();\n};\nexport var autoShowTooltip = function autoShowTooltip(element) {\n element.setAttribute(\"data-tooltip-auto-visible\", \"\");\n updateIframeOverflowOnParentWindow();\n};\nexport var removeAutoShowTooltip = function removeAutoShowTooltip(element) {\n element.removeAttribute(\"data-tooltip-auto-visible\");\n updateIframeOverflowOnParentWindow();\n};\nexport var hideAllTooltip = function hideAllTooltip() {\n var elementsWithTooltip = Array.from(document.querySelectorAll(\"[data-tooltip-visible]\"));\n elementsWithTooltip.forEach(function (elementWithTooltip) {\n hideTooltip(elementWithTooltip);\n });\n};\n//# sourceMappingURL=tooltip.js.map",
80
- "import { toolbarSectionIsActive, deactivateToolbarSection, activateToolbarSection, updateIframeOverflowOnParentWindow } from \"../util/dom.js\";\nexport var renderToolbarSettings = function renderToolbarSettings() {\n document.querySelector(\"#settings-button\").onclick = toggleSettings;\n document.querySelector(\"#button-close-settings\").onclick = toggleSettings;\n};\n\nvar toggleSettings = function toggleSettings() {\n if (settingsAreVisible()) {\n hideSettings();\n } else {\n showSettings();\n }\n};\n\nexport var settingsAreVisible = function settingsAreVisible() {\n return toolbarSectionIsActive(document.querySelector(\"#settings\"));\n};\nexport var hideSettings = function hideSettings() {\n deactivateToolbarSection(document.querySelector(\"#settings\"));\n updateIframeOverflowOnParentWindow();\n};\nexport var showSettings = function showSettings() {\n activateToolbarSection(document.querySelector(\"#settings\"));\n updateIframeOverflowOnParentWindow();\n};\n//# sourceMappingURL=toolbar.settings.js.map",
81
- "import _objectWithoutProperties from \"@jsenv/core/helpers/babel/objectWithoutProperties/objectWithoutProperties.js\";\nimport _objectSpread from \"@jsenv/core/helpers/babel/objectSpread2/objectSpread2.js\";\nvar _excluded = [\"clickToFocus\", \"clickToClose\"];\n\nfunction _await(value, then, direct) {\n if (direct) {\n return then ? then(value) : value;\n }\n\n if (!value || !value.then) {\n value = Promise.resolve(value);\n }\n\n return then ? value.then(then) : value;\n}\n\nimport { createPreference } from \"../util/preferences.js\";\n\nfunction _call(body, then, direct) {\n if (direct) {\n return then ? then(body()) : body();\n }\n\n try {\n var result = Promise.resolve(body());\n return then ? result.then(then) : result;\n } catch (e) {\n return Promise.reject(e);\n }\n}\n\nvar notificationPreference = createPreference(\"notification\");\n\nfunction _async(f) {\n return function () {\n for (var args = [], i = 0; i < arguments.length; i++) {\n args[i] = arguments[i];\n }\n\n try {\n return Promise.resolve(f.apply(this, args));\n } catch (e) {\n return Promise.reject(e);\n }\n };\n}\n\nvar arrayOfOpenedNotifications = [];\nexport var renderToolbarNotification = function renderToolbarNotification() {\n var notifCheckbox = document.querySelector(\"#toggle-notifs\");\n notifCheckbox.checked = getNotificationPreference();\n\n notifCheckbox.onchange = function () {\n setNotificationPreference(notifCheckbox.checked);\n\n if (notifCheckbox.checked) {\n // request permission early\n // especially useful on firefox where you can request permission\n // only inside a user generated event such as this onchange handler\n requestPermission();\n } else {\n // slice because arrayOfOpenedNotifications can be mutated while looping\n arrayOfOpenedNotifications.slice().forEach(function (notification) {\n notification.close();\n });\n }\n };\n};\nexport var notifyExecutionResult = function notifyExecutionResult(executedFileRelativeUrl, execution, previousExecution) {\n var notificationEnabled = getNotificationPreference();\n if (!notificationEnabled) return;\n var notificationOptions = {\n lang: \"en\",\n icon: getFaviconHref(),\n clickToFocus: true,\n clickToClose: true\n };\n\n if (execution.status === \"errored\") {\n if (previousExecution) {\n if (previousExecution.status === \"completed\") {\n notify(\"Broken\", _objectSpread(_objectSpread({}, notificationOptions), {}, {\n body: \"\".concat(executedFileRelativeUrl, \" execution now failing.\")\n }));\n } else {\n notify(\"Still failing\", _objectSpread(_objectSpread({}, notificationOptions), {}, {\n body: \"\".concat(executedFileRelativeUrl, \" execution still failing.\")\n }));\n }\n } else {\n notify(\"Failing\", _objectSpread(_objectSpread({}, notificationOptions), {}, {\n body: \"\".concat(executedFileRelativeUrl, \" execution failed.\")\n }));\n }\n } else if (previousExecution && previousExecution.status === \"errored\") {\n notify(\"Fixed\", _objectSpread(_objectSpread({}, notificationOptions), {}, {\n body: \"\".concat(executedFileRelativeUrl, \" execution fixed.\")\n }));\n }\n};\nvar notificationAvailable = typeof window.Notification === \"function\";\n\nvar getNotificationPreference = function getNotificationPreference() {\n return notificationPreference.has() ? notificationPreference.get() : true;\n};\n\nvar setNotificationPreference = function setNotificationPreference(value) {\n return notificationPreference.set(value);\n};\n\nvar getFaviconHref = function getFaviconHref() {\n var link = document.querySelector('link[rel=\"icon\"]');\n return link ? link.href : undefined;\n};\n\nvar notify = notificationAvailable ? function (title) {\n var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n var _ref$clickToFocus = _ref.clickToFocus,\n clickToFocus = _ref$clickToFocus === void 0 ? false : _ref$clickToFocus,\n _ref$clickToClose = _ref.clickToClose,\n clickToClose = _ref$clickToClose === void 0 ? false : _ref$clickToClose,\n options = _objectWithoutProperties(_ref, _excluded);\n\n return _call(requestPermission, function (permission) {\n if (permission === \"granted\") {\n var notification = new Notification(title, options);\n arrayOfOpenedNotifications.push(notification);\n\n notification.onclick = function () {\n // but if the user navigated inbetween\n // focusing window will show something else\n // in that case it could be great to do something\n // maybe like showing a message saying this execution\n // is no longer visible\n // we could also navigauate to this file execution but\n // there is no guarantee re-executing the file would give same output\n // and it would also trigger an other notification\n if (clickToFocus) window.focus();\n if (clickToClose) notification.close();\n };\n\n notification.onclose = function () {\n var index = arrayOfOpenedNotifications.indexOf(notification);\n\n if (index > -1) {\n arrayOfOpenedNotifications.splice(index, 1);\n }\n };\n\n return notification;\n }\n\n return null;\n });\n} : function () {};\nvar permissionPromise;\nvar requestPermission = notificationAvailable ? _async(function () {\n if (permissionPromise) return permissionPromise;\n permissionPromise = Notification.requestPermission();\n return _await(permissionPromise, function (permission) {\n permissionPromise = undefined;\n return permission;\n });\n}) : function () {\n return Promise.resolve(\"denied\");\n};\n//# sourceMappingURL=toolbar.notification.js.map",
82
- "import { createPreference } from \"../util/preferences.js\";\nvar DARK_THEME = \"dark\";\nvar LIGHT_THEME = \"light\";\nvar themePreference = createPreference(\"theme\");\nexport var renderToolbarTheme = function renderToolbarTheme() {\n var theme = getThemePreference();\n var checkbox = document.querySelector(\"#checkbox-dark-theme\");\n checkbox.checked = theme === DARK_THEME;\n setTheme(theme);\n\n checkbox.onchange = function () {\n if (checkbox.checked) {\n setThemePreference(DARK_THEME);\n setTheme(DARK_THEME);\n } else {\n setThemePreference(LIGHT_THEME);\n setTheme(LIGHT_THEME);\n }\n };\n};\n\nvar getThemePreference = function getThemePreference() {\n return themePreference.has() ? themePreference.get() : DARK_THEME;\n};\n\nvar setThemePreference = function setThemePreference(value) {\n themePreference.set(value);\n setTheme(value);\n};\n\nvar setTheme = function setTheme(theme) {\n document.querySelector(\"html\").setAttribute(\"data-theme\", theme);\n};\n//# sourceMappingURL=toolbar.theme.js.map",
83
- "import { createPreference } from \"../util/preferences.js\";\nvar animationPreference = createPreference(\"animation\");\nexport var renderToolbarAnimation = function renderToolbarAnimation() {\n var animCheckbox = document.querySelector(\"#toggle-anims\");\n animCheckbox.checked = getAnimationPreference();\n\n animCheckbox.onchange = function () {\n setAnimationPreference(animCheckbox.checked);\n onPreferenceChange(animCheckbox.checked);\n };\n\n onPreferenceChange(); // enable toolbar transition only after first render\n\n setTimeout(function () {\n document.querySelector(\"#toolbar\").setAttribute(\"data-animate\", \"\");\n });\n};\n\nvar onPreferenceChange = function onPreferenceChange() {\n var value = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : getAnimationPreference();\n\n if (value) {\n enableAnimation();\n } else {\n disableAnimation();\n }\n};\n\nvar getAnimationPreference = function getAnimationPreference() {\n return animationPreference.has() ? animationPreference.get() : true;\n};\n\nvar setAnimationPreference = function setAnimationPreference(value) {\n return animationPreference.set(value);\n};\n\nvar enableAnimation = function enableAnimation() {\n document.documentElement.removeAttribute(\"data-animation-disabled\");\n};\n\nvar disableAnimation = function disableAnimation() {\n document.documentElement.setAttribute(\"data-animation-disabled\", \"\");\n};\n//# sourceMappingURL=toolbar.animation.js.map",
84
- "export var enableVariant = function enableVariant(rootNode, variables) {\n var nodesNotMatching = Array.from(rootNode.querySelectorAll(\"[\".concat(attributeIndicatingACondition, \"]\")));\n nodesNotMatching.forEach(function (nodeNotMatching) {\n var conditionAttributeValue = nodeNotMatching.getAttribute(attributeIndicatingACondition);\n var matches = testCondition(conditionAttributeValue, variables);\n\n if (matches) {\n renameAttribute(nodeNotMatching, attributeIndicatingACondition, attributeIndicatingAMatch);\n }\n });\n var nodesMatching = Array.from(rootNode.querySelectorAll(\"[\".concat(attributeIndicatingAMatch, \"]\")));\n nodesMatching.forEach(function (nodeMatching) {\n var conditionAttributeValue = nodeMatching.getAttribute(attributeIndicatingAMatch);\n var matches = testCondition(conditionAttributeValue, variables);\n\n if (!matches) {\n renameAttribute(nodeMatching, attributeIndicatingAMatch, attributeIndicatingACondition);\n }\n });\n};\n\nvar testCondition = function testCondition(conditionAttributeValue, variables) {\n var condition = parseCondition(conditionAttributeValue);\n return Object.keys(variables).some(function (key) {\n if (condition.key !== key) {\n return false;\n } // the condition do not specify a value, any value is ok\n\n\n if (condition.value === undefined) {\n return true;\n }\n\n if (condition.value === variables[key]) {\n return true;\n }\n\n return false;\n });\n};\n\nvar parseCondition = function parseCondition(conditionAttributeValue) {\n var colonIndex = conditionAttributeValue.indexOf(\":\");\n\n if (colonIndex === -1) {\n return {\n key: conditionAttributeValue,\n value: undefined\n };\n }\n\n return {\n key: conditionAttributeValue.slice(0, colonIndex),\n value: conditionAttributeValue.slice(colonIndex + 1)\n };\n};\n\nvar attributeIndicatingACondition = \"data-when\";\nvar attributeIndicatingAMatch = \"data-when-active\";\n\nvar renameAttribute = function renameAttribute(node, name, newName) {\n node.setAttribute(newName, node.getAttribute(name));\n node.removeAttribute(name);\n};\n//# sourceMappingURL=variant.js.map",
85
- "export var createHorizontalBreakpoint = function createHorizontalBreakpoint(breakpointValue) {\n return createBreakpoint(windowWidthMeasure, breakpointValue);\n};\n\nvar createMeasure = function createMeasure(_ref) {\n var compute = _ref.compute,\n register = _ref.register;\n var currentValue = compute();\n\n var get = function get() {\n return compute();\n };\n\n var changed = createSignal();\n\n var unregister = function unregister() {};\n\n if (register) {\n unregister = register(function () {\n var value = compute();\n\n if (value !== currentValue) {\n var previousValue = value;\n currentValue = value;\n changed.notify(value, previousValue);\n }\n });\n }\n\n return {\n get: get,\n changed: changed,\n unregister: unregister\n };\n};\n\nvar createSignal = function createSignal() {\n var callbackArray = [];\n\n var listen = function listen(callback) {\n callbackArray.push(callback);\n return function () {\n var index = callbackArray.indexOf(callback);\n\n if (index > -1) {\n callbackArray.splice(index, 1);\n }\n };\n };\n\n var notify = function notify() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n callbackArray.slice().forEach(function (callback) {\n callback.apply(void 0, args);\n });\n };\n\n return {\n listen: listen,\n notify: notify\n };\n};\n\nvar windowWidthMeasure = createMeasure({\n name: \"window-width\",\n compute: function compute() {\n return window.innerWidth;\n },\n register: function register(onchange) {\n window.addEventListener(\"resize\", onchange);\n window.addEventListener(\"orientationchange\", onchange);\n return function () {\n window.removeEventListener(\"resize\", onchange);\n window.removeEventListener(\"orientationchange\", onchange);\n };\n }\n});\n\nvar createBreakpoint = function createBreakpoint(measure, breakpointValue) {\n var getBreakpointState = function getBreakpointState() {\n var value = measure.get();\n\n if (value < breakpointValue) {\n return \"below\";\n }\n\n if (value > breakpointValue) {\n return \"above\";\n }\n\n return \"equals\";\n };\n\n var currentBreakpointState = getBreakpointState();\n\n var isAbove = function isAbove() {\n return measure.get() > breakpointValue;\n };\n\n var isBelow = function isBelow() {\n return measure.get() < breakpointValue;\n };\n\n var breakpointChanged = createSignal();\n measure.changed.listen(function () {\n var breakpointState = getBreakpointState();\n\n if (breakpointState !== currentBreakpointState) {\n var breakpointStatePrevious = currentBreakpointState;\n currentBreakpointState = breakpointState;\n breakpointChanged.notify(breakpointState, breakpointStatePrevious);\n }\n });\n return {\n isAbove: isAbove,\n isBelow: isBelow,\n changed: breakpointChanged\n };\n}; // const windowScrollTop = createMeasure({\n// name: \"window-scroll-top\",\n// compute: () => window.scrollTop,\n// register: (onchange) => {\n// window.addEventListener(\"scroll\", onchange)\n// return () => {\n// window.removeEventListener(\"scroll\", onchange)\n// }\n// },\n// })\n//# sourceMappingURL=responsive.js.map",
86
- "import { removeForceHideElement, activateToolbarSection } from \"../util/dom.js\";\nimport { enableVariant } from \"../variant/variant.js\";\nimport { createHorizontalBreakpoint } from \"../util/responsive.js\";\nimport { toggleTooltip } from \"../tooltip/tooltip.js\";\nimport { notifyExecutionResult } from \"../notification/toolbar.notification.js\";\nvar WINDOW_MEDIUM_WIDTH = 570;\nexport var renderExecutionInToolbar = function renderExecutionInToolbar(_ref) {\n var executedFileRelativeUrl = _ref.executedFileRelativeUrl;\n // reset file execution indicator ui\n applyExecutionIndicator();\n removeForceHideElement(document.querySelector(\"#execution-indicator\")); // apply responsive design on fileInput if needed + add listener on resize screen\n\n var input = document.querySelector(\"#file-input\");\n var fileWidthBreakpoint = createHorizontalBreakpoint(WINDOW_MEDIUM_WIDTH);\n\n var handleFileWidthBreakpoint = function handleFileWidthBreakpoint() {\n resizeInput(input, fileWidthBreakpoint);\n };\n\n handleFileWidthBreakpoint();\n fileWidthBreakpoint.changed.listen(handleFileWidthBreakpoint);\n input.value = executedFileRelativeUrl;\n resizeInput(input, fileWidthBreakpoint);\n activateToolbarSection(document.querySelector(\"#file\"));\n removeForceHideElement(document.querySelector(\"#file\"));\n\n window.parent.__jsenv__.executionResultPromise.then(function (_ref2) {\n var status = _ref2.status,\n startTime = _ref2.startTime,\n endTime = _ref2.endTime;\n var execution = {\n status: status,\n startTime: startTime,\n endTime: endTime\n };\n applyExecutionIndicator(execution);\n var executionStorageKey = executedFileRelativeUrl;\n var previousExecution = sessionStorage.hasOwnProperty(executionStorageKey) ? JSON.parse(sessionStorage.getItem(executionStorageKey)) : undefined;\n notifyExecutionResult(executedFileRelativeUrl, execution, previousExecution);\n sessionStorage.setItem(executedFileRelativeUrl, JSON.stringify(execution));\n });\n};\n\nvar applyExecutionIndicator = function applyExecutionIndicator() {\n var _ref3 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref3$status = _ref3.status,\n status = _ref3$status === void 0 ? \"running\" : _ref3$status,\n startTime = _ref3.startTime,\n endTime = _ref3.endTime;\n\n var executionIndicator = document.querySelector(\"#execution-indicator\");\n enableVariant(executionIndicator, {\n execution: status\n });\n var variantNode = executionIndicator.querySelector(\"[data-when-active]\");\n\n variantNode.querySelector(\"button\").onclick = function () {\n return toggleTooltip(executionIndicator);\n };\n\n variantNode.querySelector(\".tooltip\").textContent = computeText({\n status: status,\n startTime: startTime,\n endTime: endTime\n });\n};\n\nvar computeText = function computeText(_ref4) {\n var status = _ref4.status,\n startTime = _ref4.startTime,\n endTime = _ref4.endTime;\n\n if (status === \"completed\") {\n return \"Execution completed in \".concat(endTime - startTime, \"ms\");\n }\n\n if (status === \"errored\") {\n return \"Execution failed in \".concat(endTime - startTime, \"ms\");\n }\n\n if (status === \"running\") {\n return \"Executing...\";\n }\n\n return \"\";\n};\n\nvar resizeInput = function resizeInput(input, fileWidthBreakpoint) {\n var size = fileWidthBreakpoint.isBelow() ? 20 : 40;\n\n if (input.value.length > size) {\n input.style.width = \"\".concat(size, \"ch\");\n } else {\n input.style.width = \"\".concat(input.value.length, \"ch\");\n }\n};\n//# sourceMappingURL=toolbar.execution.js.map",
87
- "export var COMPILE_ID_BEST = \"best\";\nexport var COMPILE_ID_OTHERWISE = \"otherwise\";\nexport var COMPILE_ID_BUILD_GLOBAL = \"build-global\";\nexport var COMPILE_ID_BUILD_GLOBAL_FILES = \"build-global-files\";\nexport var COMPILE_ID_BUILD_COMMONJS = \"build-commonjs\";\nexport var COMPILE_ID_BUILD_COMMONJS_FILES = \"build-commonjs-files\";\n//# sourceMappingURL=CONSTANTS.js.map",
88
- "import _defineProperty from \"@jsenv/core/helpers/babel/defineProperty/defineProperty.js\";\nimport { createDetailedMessage } from \"@jsenv/logger\";\nimport { COMPILE_ID_OTHERWISE } from \"../CONSTANTS.js\";\nexport var computeCompileIdFromGroupId = function computeCompileIdFromGroupId(_ref) {\n var groupId = _ref.groupId,\n groupMap = _ref.groupMap;\n\n if (typeof groupId === \"undefined\") {\n if (COMPILE_ID_OTHERWISE in groupMap) {\n return COMPILE_ID_OTHERWISE;\n }\n\n var keys = Object.keys(groupMap);\n\n if (keys.length === 1) {\n return keys[0];\n }\n\n throw new Error(createUnexpectedGroupIdMessage({\n groupMap: groupMap\n }));\n }\n\n if (groupId in groupMap === false) {\n throw new Error(createUnexpectedGroupIdMessage({\n groupId: groupId,\n groupMap: groupMap\n }));\n }\n\n return groupId;\n};\n\nvar createUnexpectedGroupIdMessage = function createUnexpectedGroupIdMessage(_ref2) {\n var _createDetailedMessag;\n\n var compileId = _ref2.compileId,\n groupMap = _ref2.groupMap;\n return createDetailedMessage(\"unexpected groupId.\", (_createDetailedMessag = {}, _defineProperty(_createDetailedMessag, \"expected compiled id\", Object.keys(groupMap)), _defineProperty(_createDetailedMessag, \"received compile id\", compileId), _createDetailedMessag));\n};\n//# sourceMappingURL=computeCompileIdFromGroupId.js.map",
89
- "export var firstMatch = function firstMatch(regexp, string) {\n var match = string.match(regexp);\n return match && match.length > 0 ? match[1] || undefined : undefined;\n};\nexport var secondMatch = function secondMatch(regexp, string) {\n var match = string.match(regexp);\n return match && match.length > 1 ? match[2] || undefined : undefined;\n};\nexport var userAgentToVersion = function userAgentToVersion(userAgent) {\n return firstMatch(/version\\/(\\d+(\\.?_?\\d+)+)/i, userAgent) || undefined;\n};\n//# sourceMappingURL=util.js.map",
90
- "import { firstMatch } from \"./util.js\";\nexport var detectAndroid = function detectAndroid() {\n return navigatorToBrowser(window.navigator);\n};\n\nvar navigatorToBrowser = function navigatorToBrowser(_ref) {\n var userAgent = _ref.userAgent,\n appVersion = _ref.appVersion;\n\n if (/(android)/i.test(userAgent)) {\n return {\n name: \"android\",\n version: firstMatch(/Android (\\d+(\\.?_?\\d+)+)/i, appVersion)\n };\n }\n\n return null;\n};\n//# sourceMappingURL=detectAndroid.js.map",
91
- "import { firstMatch } from \"./util.js\";\nexport var detectInternetExplorer = function detectInternetExplorer() {\n return userAgentToBrowser(window.navigator.userAgent);\n};\n\nvar userAgentToBrowser = function userAgentToBrowser(userAgent) {\n if (/msie|trident/i.test(userAgent)) {\n return {\n name: \"ie\",\n version: firstMatch(/(?:msie |rv:)(\\d+(\\.?_?\\d+)+)/i, userAgent)\n };\n }\n\n return null;\n};\n//# sourceMappingURL=detectInternetExplorer.js.map",
92
- "import { firstMatch, userAgentToVersion } from \"./util.js\";\nexport var detectOpera = function detectOpera() {\n return userAgentToBrowser(window.navigator.userAgent);\n};\n\nvar userAgentToBrowser = function userAgentToBrowser(userAgent) {\n // opera below 13\n if (/opera/i.test(userAgent)) {\n return {\n name: \"opera\",\n version: userAgentToVersion(userAgent) || firstMatch(/(?:opera)[\\s/](\\d+(\\.?_?\\d+)+)/i, userAgent)\n };\n } // opera above 13\n\n\n if (/opr\\/|opios/i.test(userAgent)) {\n return {\n name: \"opera\",\n version: firstMatch(/(?:opr|opios)[\\s/](\\S+)/i, userAgent) || userAgentToVersion(userAgent)\n };\n }\n\n return null;\n};\n//# sourceMappingURL=detectOpera.js.map",
93
- "import { secondMatch } from \"./util.js\";\nexport var detectEdge = function detectEdge() {\n return userAgentToBrowser(window.navigator.userAgent);\n};\n\nvar userAgentToBrowser = function userAgentToBrowser(userAgent) {\n if (/edg([ea]|ios)/i.test(userAgent)) {\n return {\n name: \"edge\",\n version: secondMatch(/edg([ea]|ios)\\/(\\d+(\\.?_?\\d+)+)/i, userAgent)\n };\n }\n\n return null;\n};\n//# sourceMappingURL=detectEdge.js.map",
94
- "import { firstMatch } from \"./util.js\";\nexport var detectFirefox = function detectFirefox() {\n return userAgentToBrowser(window.navigator.userAgent);\n};\n\nvar userAgentToBrowser = function userAgentToBrowser(userAgent) {\n if (/firefox|iceweasel|fxios/i.test(userAgent)) {\n return {\n name: \"firefox\",\n version: firstMatch(/(?:firefox|iceweasel|fxios)[\\s/](\\d+(\\.?_?\\d+)+)/i, userAgent)\n };\n }\n\n return null;\n};\n//# sourceMappingURL=detectFirefox.js.map",
95
- "import { userAgentToVersion, firstMatch } from \"./util.js\";\nexport var detectChrome = function detectChrome() {\n return userAgentToBrowser(window.navigator.userAgent);\n};\n\nvar userAgentToBrowser = function userAgentToBrowser(userAgent) {\n if (/chromium/i.test(userAgent)) {\n return {\n name: \"chrome\",\n version: firstMatch(/(?:chromium)[\\s/](\\d+(\\.?_?\\d+)+)/i, userAgent) || userAgentToVersion(userAgent)\n };\n }\n\n if (/chrome|crios|crmo/i.test(userAgent)) {\n return {\n name: \"chrome\",\n version: firstMatch(/(?:chrome|crios|crmo)\\/(\\d+(\\.?_?\\d+)+)/i, userAgent)\n };\n }\n\n return null;\n};\n//# sourceMappingURL=detectChrome.js.map",
96
- "import { userAgentToVersion } from \"./util.js\";\nexport var detectSafari = function detectSafari() {\n return userAgentToBrowser(window.navigator.userAgent);\n};\n\nvar userAgentToBrowser = function userAgentToBrowser(userAgent) {\n if (/safari|applewebkit/i.test(userAgent)) {\n return {\n name: \"safari\",\n version: userAgentToVersion(userAgent)\n };\n }\n\n return null;\n};\n//# sourceMappingURL=detectSafari.js.map",
97
- "export var detectElectron = function detectElectron() {\n return null;\n}; // TODO\n//# sourceMappingURL=detectElectron.js.map",
98
- "import { firstMatch } from \"./util.js\";\nexport var detectIOS = function detectIOS() {\n return navigatorToBrowser(window.navigator);\n};\n\nvar navigatorToBrowser = function navigatorToBrowser(_ref) {\n var userAgent = _ref.userAgent,\n appVersion = _ref.appVersion;\n\n if (/iPhone;/.test(userAgent)) {\n return {\n name: \"ios\",\n version: firstMatch(/OS (\\d+(\\.?_?\\d+)+)/i, appVersion)\n };\n }\n\n if (/iPad;/.test(userAgent)) {\n return {\n name: \"ios\",\n version: firstMatch(/OS (\\d+(\\.?_?\\d+)+)/i, appVersion)\n };\n }\n\n return null;\n};\n//# sourceMappingURL=detectIOS.js.map",
99
- "// https://github.com/Ahmdrza/detect-browser/blob/26254f85cf92795655a983bfd759d85f3de850c6/detect-browser.js#L1\n// https://github.com/lancedikson/bowser/blob/master/src/parser-browsers.js#L1\nimport { detectAndroid } from \"./detectAndroid.js\";\nimport { detectInternetExplorer } from \"./detectInternetExplorer.js\";\nimport { detectOpera } from \"./detectOpera.js\";\nimport { detectEdge } from \"./detectEdge.js\";\nimport { detectFirefox } from \"./detectFirefox.js\";\nimport { detectChrome } from \"./detectChrome.js\";\nimport { detectSafari } from \"./detectSafari.js\";\nimport { detectElectron } from \"./detectElectron.js\";\nimport { detectIOS } from \"./detectIOS.js\";\n\nvar detectorCompose = function detectorCompose(detectors) {\n return function () {\n var i = 0;\n\n while (i < detectors.length) {\n var _detector = detectors[i];\n i++;\n\n var result = _detector();\n\n if (result) {\n return result;\n }\n }\n\n return null;\n };\n};\n\nvar detector = detectorCompose([detectOpera, detectInternetExplorer, detectEdge, detectFirefox, detectChrome, detectSafari, detectElectron, detectIOS, detectAndroid]);\nexport var detectBrowser = function detectBrowser() {\n var _ref = detector() || {},\n _ref$name = _ref.name,\n name = _ref$name === void 0 ? \"other\" : _ref$name,\n _ref$version = _ref.version,\n version = _ref$version === void 0 ? \"unknown\" : _ref$version;\n\n return {\n name: normalizeName(name),\n version: normalizeVersion(version)\n };\n};\n\nvar normalizeName = function normalizeName(name) {\n return name.toLowerCase();\n};\n\nvar normalizeVersion = function normalizeVersion(version) {\n if (version.indexOf(\".\") > -1) {\n var parts = version.split(\".\"); // remove extraneous .\n\n return parts.slice(0, 3).join(\".\");\n }\n\n if (version.indexOf(\"_\") > -1) {\n var _parts = version.split(\"_\"); // remove extraneous _\n\n\n return _parts.slice(0, 3).join(\"_\");\n }\n\n return version;\n};\n//# sourceMappingURL=detectBrowser.js.map",
100
- "export var valueToVersion = function valueToVersion(value) {\n if (typeof value === \"number\") {\n return numberToVersion(value);\n }\n\n if (typeof value === \"string\") {\n return stringToVersion(value);\n }\n\n throw new TypeError(\"version must be a number or a string, got \".concat(value));\n};\n\nvar numberToVersion = function numberToVersion(number) {\n return {\n major: number,\n minor: 0,\n patch: 0\n };\n};\n\nvar stringToVersion = function stringToVersion(string) {\n if (string.indexOf(\".\") > -1) {\n var parts = string.split(\".\");\n return {\n major: Number(parts[0]),\n minor: parts[1] ? Number(parts[1]) : 0,\n patch: parts[2] ? Number(parts[2]) : 0\n };\n }\n\n if (isNaN(string)) {\n return {\n major: 0,\n minor: 0,\n patch: 0\n };\n }\n\n return {\n major: Number(string),\n minor: 0,\n patch: 0\n };\n};\n//# sourceMappingURL=valueToVersion.js.map",
101
- "import { valueToVersion } from \"./valueToVersion.js\";\nexport var versionCompare = function versionCompare(versionA, versionB) {\n var semanticVersionA = valueToVersion(versionA);\n var semanticVersionB = valueToVersion(versionB);\n var majorDiff = semanticVersionA.major - semanticVersionB.major;\n\n if (majorDiff > 0) {\n return majorDiff;\n }\n\n if (majorDiff < 0) {\n return majorDiff;\n }\n\n var minorDiff = semanticVersionA.minor - semanticVersionB.minor;\n\n if (minorDiff > 0) {\n return minorDiff;\n }\n\n if (minorDiff < 0) {\n return minorDiff;\n }\n\n var patchDiff = semanticVersionA.patch - semanticVersionB.patch;\n\n if (patchDiff > 0) {\n return patchDiff;\n }\n\n if (patchDiff < 0) {\n return patchDiff;\n }\n\n return 0;\n};\n//# sourceMappingURL=versionCompare.js.map",
102
- "import { versionCompare } from \"./versionCompare.js\";\nexport var versionIsBelow = function versionIsBelow(versionSupposedBelow, versionSupposedAbove) {\n return versionCompare(versionSupposedBelow, versionSupposedAbove) < 0;\n};\n//# sourceMappingURL=versionIsBelow.js.map",
103
- "import { versionIsBelow } from \"./versionIsBelow.js\";\nexport var findHighestVersion = function findHighestVersion() {\n for (var _len = arguments.length, values = new Array(_len), _key = 0; _key < _len; _key++) {\n values[_key] = arguments[_key];\n }\n\n if (values.length === 0) throw new Error(\"missing argument\");\n return values.reduce(function (highestVersion, value) {\n if (versionIsBelow(highestVersion, value)) {\n return value;\n }\n\n return highestVersion;\n });\n};\n//# sourceMappingURL=findHighestVersion.js.map",
104
- "import { findHighestVersion } from \"../semantic-versioning/index.js\";\nexport var resolveGroup = function resolveGroup(_ref, groupMap) {\n var name = _ref.name,\n version = _ref.version;\n return Object.keys(groupMap).find(function (compileIdCandidate) {\n var minRuntimeVersions = groupMap[compileIdCandidate].minRuntimeVersions;\n var versionForGroup = minRuntimeVersions[name];\n\n if (!versionForGroup) {\n return false;\n }\n\n var highestVersion = findHighestVersion(version, versionForGroup);\n return highestVersion === version;\n });\n};\n//# sourceMappingURL=resolveGroup.js.map",
105
- "import _defineProperty from \"@jsenv/core/helpers/babel/defineProperty/defineProperty.js\";\nimport { fetchJson } from \"../../browser-utils/fetchJson.js\";\nimport { computeCompileIdFromGroupId } from \"../computeCompileIdFromGroupId.js\";\nimport { detectBrowser } from \"../detectBrowser/detectBrowser.js\";\nimport { resolveGroup } from \"../resolveGroup.js\";\n\nfunction _await(value, then, direct) {\n if (direct) {\n return then ? then(value) : value;\n }\n\n if (!value || !value.then) {\n value = Promise.resolve(value);\n }\n\n return then ? value.then(then) : value;\n}\n\nfunction _async(f) {\n return function () {\n for (var args = [], i = 0; i < arguments.length; i++) {\n args[i] = arguments[i];\n }\n\n try {\n return Promise.resolve(f.apply(this, args));\n } catch (e) {\n return Promise.reject(e);\n }\n };\n}\n\nfunction _call(body, then, direct) {\n if (direct) {\n return then ? then(body()) : body();\n }\n\n try {\n var result = Promise.resolve(body());\n return then ? result.then(then) : result;\n } catch (e) {\n return Promise.reject(e);\n }\n}\n\nfunction _invoke(body, then) {\n var result = body();\n\n if (result && result.then) {\n return result.then(then);\n }\n\n return then(result);\n}\n\nfunction _catch(body, recover) {\n try {\n var result = body();\n } catch (e) {\n return recover(e);\n }\n\n if (result && result.then) {\n return result.then(void 0, recover);\n }\n\n return result;\n}\n\nexport var scanBrowserRuntimeFeatures = _async(function () {\n var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref$coverageHandledF = _ref.coverageHandledFromOutside,\n coverageHandledFromOutside = _ref$coverageHandledF === void 0 ? false : _ref$coverageHandledF,\n _ref$failFastOnFeatur = _ref.failFastOnFeatureDetection,\n failFastOnFeatureDetection = _ref$failFastOnFeatur === void 0 ? false : _ref$failFastOnFeatur;\n\n return _await(fetchJson(\"/.jsenv/__compile_server_meta__.json\"), function (_ref2) {\n var outDirectoryRelativeUrl = _ref2.outDirectoryRelativeUrl,\n inlineImportMapIntoHTML = _ref2.inlineImportMapIntoHTML,\n customCompilerPatterns = _ref2.customCompilerPatterns,\n compileServerGroupMap = _ref2.compileServerGroupMap;\n var browser = detectBrowser();\n var compileId = computeCompileIdFromGroupId({\n groupId: resolveGroup(browser, compileServerGroupMap),\n groupMap: compileServerGroupMap\n });\n var groupInfo = compileServerGroupMap[compileId];\n var featuresReport = {\n importmap: undefined,\n dynamicImport: undefined,\n topLevelAwait: undefined,\n jsonImportAssertions: undefined,\n cssImportAssertions: undefined,\n newStylesheet: undefined\n };\n return _await(detectSupportedFeatures({\n featuresReport: featuresReport,\n failFastOnFeatureDetection: failFastOnFeatureDetection,\n inlineImportMapIntoHTML: inlineImportMapIntoHTML\n }), function () {\n return _await(pluginRequiredNamesFromGroupInfo(groupInfo, {\n featuresReport: featuresReport,\n coverageHandledFromOutside: coverageHandledFromOutside\n }), function (pluginRequiredNameArray) {\n var canAvoidCompilation = customCompilerPatterns.length === 0 && pluginRequiredNameArray.length === 0 && featuresReport.importmap && featuresReport.dynamicImport && featuresReport.topLevelAwait;\n return {\n canAvoidCompilation: canAvoidCompilation,\n featuresReport: featuresReport,\n customCompilerPatterns: customCompilerPatterns,\n pluginRequiredNameArray: pluginRequiredNameArray,\n inlineImportMapIntoHTML: inlineImportMapIntoHTML,\n outDirectoryRelativeUrl: outDirectoryRelativeUrl,\n compileId: compileId,\n browser: browser\n };\n });\n });\n });\n});\n\nvar detectSupportedFeatures = _async(function (_ref3) {\n var featuresReport = _ref3.featuresReport,\n failFastOnFeatureDetection = _ref3.failFastOnFeatureDetection,\n inlineImportMapIntoHTML = _ref3.inlineImportMapIntoHTML;\n // start testing importmap support first and not in paralell\n // so that there is not module script loaded beore importmap is injected\n // it would log an error in chrome console and return undefined\n return _await(supportsImportmap({\n // chrome supports inline but not remote importmap\n // https://github.com/WICG/import-maps/issues/235\n // at this stage we won't know if the html file will use\n // an importmap or not and if that importmap is inline or specified with an src\n // so we should test if browser support local and remote importmap.\n // But there exploring server can inline importmap by transforming html\n // and in that case we can test only the local importmap support\n // so we test importmap support and the remote one\n remote: !inlineImportMapIntoHTML\n }), function (importmap) {\n featuresReport.importmap = importmap;\n\n if (!importmap && failFastOnFeatureDetection) {\n return;\n }\n\n return _call(supportsDynamicImport, function (dynamicImport) {\n featuresReport.dynamicImport = dynamicImport;\n\n if (!dynamicImport && failFastOnFeatureDetection) {\n return;\n }\n\n return _call(supportsTopLevelAwait, function (topLevelAwait) {\n featuresReport.topLevelAwait = topLevelAwait;\n\n if (!topLevelAwait && failFastOnFeatureDetection) {}\n });\n });\n });\n});\n\nvar pluginRequiredNamesFromGroupInfo = _async(function (groupInfo, _ref4) {\n var featuresReport = _ref4.featuresReport,\n coverageHandledFromOutside = _ref4.coverageHandledFromOutside;\n var pluginRequiredNameArray = groupInfo.pluginRequiredNameArray;\n var requiredPluginNames = pluginRequiredNameArray.slice();\n\n var markPluginAsSupported = function markPluginAsSupported(name) {\n var index = requiredPluginNames.indexOf(name);\n\n if (index > -1) {\n requiredPluginNames.splice(index, 1);\n }\n }; // When instrumentation CAN be handed by playwright\n // https://playwright.dev/docs/api/class-chromiumcoverage#chromiumcoveragestartjscoverageoptions\n // coverageHandledFromOutside is true and \"transform-instrument\" becomes non mandatory\n\n\n if (coverageHandledFromOutside) {\n markPluginAsSupported(\"transform-instrument\");\n }\n\n return _invoke(function () {\n if (pluginRequiredNameArray.includes(\"transform-import-assertions\")) {\n return _call(supportsJsonImportAssertions, function (jsonImportAssertions) {\n featuresReport.jsonImportAssertions = jsonImportAssertions;\n return _call(supportsCssImportAssertions, function (cssImportAssertions) {\n featuresReport.cssImportAssertions = cssImportAssertions;\n\n if (jsonImportAssertions && cssImportAssertions) {\n markPluginAsSupported(\"transform-import-assertions\");\n }\n });\n });\n }\n }, function () {\n if (pluginRequiredNameArray.includes(\"new-stylesheet-as-jsenv-import\")) {\n var newStylesheet = supportsNewStylesheet();\n featuresReport.newStylesheet = newStylesheet;\n markPluginAsSupported(\"new-stylesheet-as-jsenv-import\");\n }\n\n return requiredPluginNames;\n });\n});\n\nvar supportsNewStylesheet = function supportsNewStylesheet() {\n try {\n // eslint-disable-next-line no-new\n new CSSStyleSheet();\n return true;\n } catch (e) {\n return false;\n }\n};\n\nvar supportsImportmap = _async(function () {\n var _ref5 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref5$remote = _ref5.remote,\n remote = _ref5$remote === void 0 ? true : _ref5$remote;\n\n var specifier = asBase64Url(\"export default false\");\n var importMap = {\n imports: _defineProperty({}, specifier, asBase64Url(\"export default true\"))\n };\n var importmapScript = document.createElement(\"script\");\n var importmapString = JSON.stringify(importMap, null, \" \");\n importmapScript.type = \"importmap\";\n\n if (remote) {\n importmapScript.src = \"data:application/json;base64,\".concat(window.btoa(importmapString));\n } else {\n importmapScript.textContent = importmapString;\n }\n\n document.body.appendChild(importmapScript);\n var scriptModule = document.createElement(\"script\");\n scriptModule.type = \"module\";\n scriptModule.src = asBase64Url(\"import supported from \\\"\".concat(specifier, \"\\\"; window.__importmap_supported = supported\"));\n return new Promise(function (resolve, reject) {\n scriptModule.onload = function () {\n var supported = window.__importmap_supported;\n delete window.__importmap_supported;\n document.body.removeChild(scriptModule);\n document.body.removeChild(importmapScript);\n resolve(supported);\n };\n\n scriptModule.onerror = function () {\n document.body.removeChild(scriptModule);\n document.body.removeChild(importmapScript);\n reject();\n };\n\n document.body.appendChild(scriptModule);\n });\n});\n\nvar supportsDynamicImport = _async(function () {\n var moduleSource = asBase64Url(\"export default 42\");\n return _catch(function () {\n return _await(import(moduleSource), function (namespace) {\n return namespace.default === 42;\n });\n }, function () {\n return false;\n });\n});\n\nvar supportsTopLevelAwait = _async(function () {\n var moduleSource = asBase64Url(\"export default await Promise.resolve(42)\");\n return _catch(function () {\n return _await(import(moduleSource), function (namespace) {\n return namespace.default === 42;\n });\n }, function () {\n return false;\n });\n});\n\nvar supportsJsonImportAssertions = _async(function () {\n var jsonBase64Url = asBase64Url(\"42\", \"application/json\");\n var moduleSource = asBase64Url(\"export { default } from \\\"\".concat(jsonBase64Url, \"\\\" assert { type: \\\"json\\\" }\"));\n return _catch(function () {\n return _await(import(moduleSource), function (namespace) {\n return namespace.default === 42;\n });\n }, function () {\n return false;\n });\n});\n\nvar supportsCssImportAssertions = _async(function () {\n var cssBase64Url = asBase64Url(\"p { color: red; }\", \"text/css\");\n var moduleSource = asBase64Url(\"export { default } from \\\"\".concat(cssBase64Url, \"\\\" assert { type: \\\"css\\\" }\"));\n return _catch(function () {\n return _await(import(moduleSource), function (namespace) {\n return namespace.default instanceof CSSStyleSheet;\n });\n }, function () {\n return false;\n });\n});\n\nvar asBase64Url = function asBase64Url(text) {\n var mimeType = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : \"application/javascript\";\n return \"data:\".concat(mimeType, \";base64,\").concat(window.btoa(text));\n};\n//# sourceMappingURL=scanBrowserRuntimeFeatures.js.map",
106
- "import { scanBrowserRuntimeFeatures } from \"../../runtime/createBrowserRuntime/scanBrowserRuntimeFeatures.js\";\nimport { removeForceHideElement } from \"../util/dom.js\";\nimport { enableVariant } from \"../variant/variant.js\";\nexport var renderCompilationInToolbar = function renderCompilationInToolbar(_ref) {\n var compileGroup = _ref.compileGroup;\n var browserSupportRootNode = document.querySelector(\"#browser_support\");\n var filesCompilationRootNode = document.querySelector(\"#files_compilation\");\n removeForceHideElement(browserSupportRootNode);\n removeForceHideElement(filesCompilationRootNode);\n scanBrowserRuntimeFeatures().then(function (_ref2) {\n var canAvoidCompilation = _ref2.canAvoidCompilation,\n featuresReport = _ref2.featuresReport,\n customCompilerPatterns = _ref2.customCompilerPatterns,\n pluginRequiredNameArray = _ref2.pluginRequiredNameArray,\n inlineImportMapIntoHTML = _ref2.inlineImportMapIntoHTML,\n outDirectoryRelativeUrl = _ref2.outDirectoryRelativeUrl,\n compileId = _ref2.compileId;\n var browserSupport = canAvoidCompilation ? inlineImportMapIntoHTML ? \"partial\" : \"full\" : \"no\";\n enableVariant(browserSupportRootNode, {\n browserSupport: browserSupport\n });\n\n if (browserSupport === \"no\") {\n browserSupportRootNode.querySelector(\"a.browser_support_read_more_link\").onclick = function () {\n // eslint-disable-next-line no-alert\n window.alert(\"Source files needs to be compiled to be executable in this browser because: \".concat(getBrowserSupportMessage({\n missingOnly: true,\n featuresReport: featuresReport,\n customCompilerPatterns: customCompilerPatterns,\n pluginRequiredNameArray: pluginRequiredNameArray,\n inlineImportMapIntoHTML: inlineImportMapIntoHTML\n })));\n };\n } else if (browserSupport === \"partial\") {\n browserSupportRootNode.querySelector(\"a.browser_support_read_more_link\").onclick = function () {\n // eslint-disable-next-line no-alert\n window.alert(\"Source files (except html) can be executed directly in this browser because: \".concat(getBrowserSupportMessage({\n featuresReport: featuresReport,\n customCompilerPatterns: customCompilerPatterns,\n pluginRequiredNameArray: pluginRequiredNameArray,\n inlineImportMapIntoHTML: inlineImportMapIntoHTML\n })));\n };\n } else if (browserSupport === \"full\") {\n browserSupportRootNode.querySelector(\"a.browser_support_read_more_link\").onclick = function () {\n // eslint-disable-next-line no-alert\n window.alert(\"Source files can be executed directly in this browser because: \".concat(getBrowserSupportMessage({\n featuresReport: featuresReport,\n customCompilerPatterns: customCompilerPatterns,\n pluginRequiredNameArray: pluginRequiredNameArray,\n inlineImportMapIntoHTML: inlineImportMapIntoHTML\n })));\n };\n }\n\n var filesCompilation = compileGroup.compileId ? \"yes\" : inlineImportMapIntoHTML ? \"html_only\" : \"no\";\n enableVariant(filesCompilationRootNode, {\n filesCompilation: filesCompilation,\n compiled: compileGroup.compileId ? \"yes\" : \"no\"\n });\n\n filesCompilationRootNode.querySelector(\"a.go_to_source_link\").onclick = function () {\n window.parent.location = \"/\".concat(compileGroup.fileRelativeUrl);\n };\n\n filesCompilationRootNode.querySelector(\"a.go_to_compiled_link\").onclick = function () {\n window.parent.location = \"/\".concat(outDirectoryRelativeUrl).concat(compileId, \"/\").concat(compileGroup.fileRelativeUrl);\n };\n\n var shouldCompile = filesCompilation !== \"yes\" && browserSupport === \"no\";\n\n if (shouldCompile) {\n document.querySelector(\".files_compilation_text\").setAttribute(\"data-warning\", \"\");\n document.querySelector(\".browser_support_text\").setAttribute(\"data-warning\", \"\");\n document.querySelector(\"#settings-button\").setAttribute(\"data-warning\", \"\");\n } else {\n document.querySelector(\".files_compilation_text\").removeAttribute(\"data-warning\");\n document.querySelector(\".browser_support_text\").removeAttribute(\"data-warning\");\n document.querySelector(\"#settings-button\").removeAttribute(\"data-warning\");\n }\n });\n};\n\nvar getBrowserSupportMessage = function getBrowserSupportMessage(_ref3) {\n var missingOnly = _ref3.missingOnly,\n featuresReport = _ref3.featuresReport,\n customCompilerPatterns = _ref3.customCompilerPatterns,\n pluginRequiredNameArray = _ref3.pluginRequiredNameArray,\n inlineImportMapIntoHTML = _ref3.inlineImportMapIntoHTML;\n var parts = [];\n var importmapSupported = featuresReport.importmapSupported;\n\n if (importmapSupported) {\n if (!missingOnly) {\n if (inlineImportMapIntoHTML) {\n parts.push(\"importmaps are supported (only when inlined in html files)\");\n } else {\n parts.push(\"importmaps are supported\");\n }\n }\n } else {\n parts.push(\"importmaps are not supported\");\n }\n\n var dynamicImportSupported = featuresReport.dynamicImportSupported;\n\n if (dynamicImportSupported) {\n if (!missingOnly) {\n parts.push(\"dynamic imports are supported\");\n }\n } else {\n parts.push(\"dynamic imports are not supported\");\n }\n\n var topLevelAwaitSupported = featuresReport.topLevelAwaitSupported;\n\n if (topLevelAwaitSupported) {\n if (!missingOnly) {\n parts.push(\"top level await is supported\");\n }\n } else {\n parts.push(\"top level await is not supported\");\n }\n\n var pluginRequiredCount = pluginRequiredNameArray.length;\n\n if (pluginRequiredCount === 0) {\n if (!missingOnly) {\n parts.push(\"all plugins are natively supported\");\n }\n } else {\n parts.push(\"\".concat(pluginRequiredCount, \" plugins are mandatory: \").concat(pluginRequiredNameArray));\n }\n\n var customCompilerCount = customCompilerPatterns.length;\n\n if (customCompilerCount === 0) {// no need to talk about something unused\n } else {\n parts.push(\"\".concat(customCompilerCount, \" custom compilers enabled: \").concat(customCompilerPatterns));\n }\n\n return \"\\n- \".concat(parts.join(\"\\n- \"));\n};\n//# sourceMappingURL=toolbar.compilation.js.map",
107
- "export var createPromiseAndHooks = function createPromiseAndHooks() {\n var resolve;\n var reject;\n var promise = new Promise(function (res, rej) {\n resolve = res;\n reject = rej;\n });\n promise.resolve = resolve;\n promise.reject = reject;\n return promise;\n};\nexport var moveElement = function moveElement(element, from, to) {\n to.appendChild(element);\n};\nexport var replaceElement = function replaceElement(elementToReplace, otherElement) {\n elementToReplace.parentNode.replaceChild(otherElement, elementToReplace);\n};\n//# sourceMappingURL=util.js.map",
108
- "export var connectEventSource = function connectEventSource(eventSourceUrl) {\n var events = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n var _ref = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {},\n _ref$connecting = _ref.connecting,\n connecting = _ref$connecting === void 0 ? function () {} : _ref$connecting,\n _ref$connected = _ref.connected,\n connected = _ref$connected === void 0 ? function () {} : _ref$connected,\n _ref$cancelled = _ref.cancelled,\n cancelled = _ref$cancelled === void 0 ? function () {} : _ref$cancelled,\n _ref$failed = _ref.failed,\n failed = _ref$failed === void 0 ? function () {} : _ref$failed,\n _ref$retryMaxAttempt = _ref.retryMaxAttempt,\n retryMaxAttempt = _ref$retryMaxAttempt === void 0 ? Infinity : _ref$retryMaxAttempt,\n _ref$retryAllocatedMs = _ref.retryAllocatedMs,\n retryAllocatedMs = _ref$retryAllocatedMs === void 0 ? Infinity : _ref$retryAllocatedMs,\n lastEventId = _ref.lastEventId;\n\n var _window = window,\n EventSource = _window.EventSource;\n\n if (typeof EventSource !== \"function\") {\n return function () {};\n }\n\n var eventSourceOrigin = new URL(eventSourceUrl).origin; // will be either abort, disconnect or a third function calling cancelled\n // depending on connectionStatus\n\n var cancelCurrentConnection = function cancelCurrentConnection() {};\n\n var reconnect = function reconnect() {\n attemptConnection(lastEventId ? addLastEventIdIntoUrlSearchParams(eventSourceUrl, lastEventId) : eventSourceUrl);\n };\n\n var attemptConnection = function attemptConnection(url) {\n var eventSource = new EventSource(url, {\n withCredentials: true\n });\n var connectionStatus = \"connecting\";\n\n var abort = function abort() {\n if (connectionStatus !== \"connecting\") {\n console.warn(\"abort ignored because connection is \".concat(connectionStatus));\n return;\n }\n\n connectionStatus = \"aborted\";\n eventSource.onerror = undefined;\n eventSource.close();\n cancelled({\n connect: reconnect\n });\n };\n\n cancelCurrentConnection = abort;\n connecting({\n cancel: abort\n });\n\n eventSource.onopen = function () {\n connectionStatus = \"connected\";\n\n var disconnect = function disconnect() {\n if (connectionStatus !== \"connected\") {\n console.warn(\"disconnect ignored because connection is \".concat(connectionStatus));\n return;\n }\n\n connectionStatus = \"disconnected\";\n eventSource.onerror = undefined;\n eventSource.close();\n cancelled({\n connect: reconnect\n });\n };\n\n cancelCurrentConnection = disconnect;\n connected({\n cancel: disconnect\n });\n };\n\n var retryCount = 0;\n var firstRetryMs = Date.now();\n\n eventSource.onerror = function (errorEvent) {\n var considerFailed = function considerFailed() {\n connectionStatus = \"disconnected\";\n failed({\n cancel: function cancel() {\n if (connectionStatus !== \"failed\") {\n console.warn(\"disable ignored because connection is \".concat(connectionStatus));\n return;\n }\n\n connectionStatus = \"disabled\";\n cancelled({\n connect: reconnect\n });\n },\n connect: reconnect\n });\n };\n\n if (errorEvent.target.readyState === EventSource.CONNECTING) {\n if (retryCount > retryMaxAttempt) {\n console.info(\"could not connect after \".concat(retryMaxAttempt, \" attempt\"));\n eventSource.onerror = undefined;\n eventSource.close();\n considerFailed();\n return;\n }\n\n if (retryCount === 0) {\n firstRetryMs = Date.now();\n } else {\n var allRetryDuration = Date.now() - firstRetryMs;\n\n if (retryAllocatedMs && allRetryDuration > retryAllocatedMs) {\n console.info(\"could not connect in less than \".concat(retryAllocatedMs, \" ms\"));\n eventSource.onerror = undefined;\n eventSource.close();\n considerFailed();\n return;\n }\n }\n\n connectionStatus = \"connecting\";\n retryCount++;\n connecting({\n cancel: abort\n });\n return;\n }\n\n if (errorEvent.target.readyState === EventSource.CLOSED) {\n considerFailed();\n return;\n }\n };\n\n Object.keys(events).forEach(function (eventName) {\n eventSource.addEventListener(eventName, function (e) {\n if (e.origin === eventSourceOrigin) {\n if (e.lastEventId) {\n lastEventId = e.lastEventId;\n }\n\n events[eventName](e);\n }\n });\n });\n\n if (!events.hasOwnProperty(\"welcome\")) {\n eventSource.addEventListener(\"welcome\", function (e) {\n if (e.origin === eventSourceOrigin && e.lastEventId) {\n lastEventId = e.lastEventId;\n }\n });\n }\n };\n\n attemptConnection(eventSourceUrl);\n\n var disconnect = function disconnect() {\n cancelCurrentConnection();\n };\n\n var removePageUnloadListener = listenPageUnload(function () {\n disconnect();\n });\n return function () {\n removePageUnloadListener();\n disconnect();\n };\n};\n\nvar addLastEventIdIntoUrlSearchParams = function addLastEventIdIntoUrlSearchParams(url, lastEventId) {\n if (url.indexOf(\"?\") === -1) {\n url += \"?\";\n } else {\n url += \"&\";\n }\n\n return \"\".concat(url, \"last-event-id=\").concat(encodeURIComponent(lastEventId));\n}; // const listenPageMightFreeze = (callback) => {\n// const removePageHideListener = listenEvent(window, \"pagehide\", (pageHideEvent) => {\n// if (pageHideEvent.persisted === true) {\n// callback(pageHideEvent)\n// }\n// })\n// return removePageHideListener\n// }\n// const listenPageFreeze = (callback) => {\n// const removeFreezeListener = listenEvent(document, \"freeze\", (freezeEvent) => {\n// callback(freezeEvent)\n// })\n// return removeFreezeListener\n// }\n// const listenPageIsRestored = (callback) => {\n// const removeResumeListener = listenEvent(document, \"resume\", (resumeEvent) => {\n// removePageshowListener()\n// callback(resumeEvent)\n// })\n// const removePageshowListener = listenEvent(window, \"pageshow\", (pageshowEvent) => {\n// if (pageshowEvent.persisted === true) {\n// removePageshowListener()\n// removeResumeListener()\n// callback(pageshowEvent)\n// }\n// })\n// return () => {\n// removeResumeListener()\n// removePageshowListener()\n// }\n// }\n\n\nvar listenPageUnload = function listenPageUnload(callback) {\n var removePageHideListener = listenEvent(window, \"pagehide\", function (pageHideEvent) {\n if (pageHideEvent.persisted !== true) {\n callback(pageHideEvent);\n }\n });\n return removePageHideListener;\n};\n\nvar listenEvent = function listenEvent(emitter, event, callback) {\n emitter.addEventListener(event, callback);\n return function () {\n emitter.removeEventListener(event, callback);\n };\n};\n//# sourceMappingURL=connectEventSource.js.map",
109
- "import { connectEventSource } from \"./connectEventSource.js\";\nimport { jsenvLogger } from \"../util/jsenvLogger.js\";\nexport var connectCompileServerEventSource = function connectCompileServerEventSource(fileRelativeUrl, _ref) {\n var onFileModified = _ref.onFileModified,\n onFileRemoved = _ref.onFileRemoved,\n onConnecting = _ref.onConnecting,\n onConnectionCancelled = _ref.onConnectionCancelled,\n onConnectionFailed = _ref.onConnectionFailed,\n onConnected = _ref.onConnected,\n lastEventId = _ref.lastEventId;\n var eventSourceUrl = \"\".concat(window.origin, \"/\").concat(fileRelativeUrl);\n\n var cancel = function cancel() {};\n\n var connect = function connect() {\n return new Promise(function (resolve) {\n cancel = connectEventSource(eventSourceUrl, {\n \"file-modified\": function fileModified(_ref2) {\n var data = _ref2.data;\n jsenvLogger.debug(\"\".concat(data, \" modified\"));\n onFileModified(data);\n },\n \"file-removed\": function fileRemoved(_ref3) {\n var data = _ref3.data;\n jsenvLogger.debug(\"\".concat(data, \" removed\"));\n onFileRemoved(data);\n }\n }, {\n connecting: function connecting(_ref4) {\n var _cancel = _ref4.cancel;\n jsenvLogger.debug(\"connecting to \".concat(eventSourceUrl));\n onConnecting({\n cancel: function cancel() {\n _cancel();\n }\n });\n },\n connected: function connected(_ref5) {\n var _cancel2 = _ref5.cancel;\n jsenvLogger.debug(\"connected to \".concat(eventSourceUrl));\n resolve(true);\n onConnected({\n cancel: function cancel() {\n _cancel2();\n }\n });\n },\n cancelled: function cancelled(_ref6) {\n var connect = _ref6.connect;\n jsenvLogger.debug(\"disconnected from \".concat(eventSourceUrl));\n resolve(false);\n onConnectionCancelled({\n connect: connect\n });\n },\n failed: function failed(_ref7) {\n var connect = _ref7.connect;\n jsenvLogger.debug(\"disconnected from \".concat(eventSourceUrl));\n resolve(false);\n onConnectionFailed({\n connect: connect\n });\n },\n retryMaxAttempt: Infinity,\n retryAllocatedMs: 20 * 1000,\n lastEventId: lastEventId\n });\n });\n };\n\n return {\n connect: connect,\n disconnect: function disconnect() {\n return cancel();\n }\n };\n};\n//# sourceMappingURL=connectCompileServerEventSource.js.map",
110
- "import { removeForceHideElement } from \"../util/dom.js\";\nimport { createPromiseAndHooks } from \"../util/util.js\";\nimport { createPreference } from \"../util/preferences.js\";\nimport { enableVariant } from \"../variant/variant.js\";\nimport { toggleTooltip, removeAutoShowTooltip, autoShowTooltip } from \"../tooltip/tooltip.js\";\nimport { connectCompileServerEventSource } from \"./connectCompileServerEventSource.js\";\nvar livereloadingPreference = createPreference(\"livereloading\");\nvar eventSourceState = \"default\";\nvar livereloadingAvailableOnServer = false;\nexport var initToolbarEventSource = function initToolbarEventSource(_ref) {\n var executedFileRelativeUrl = _ref.executedFileRelativeUrl,\n livereloading = _ref.livereloading;\n\n var getLivereloadCallback = function getLivereloadCallback(originalFileProjectRelativeUrl) {\n var callbacks = window.parent.__jsenv__.livereloadingCallbacks;\n return callbacks[originalFileProjectRelativeUrl];\n };\n\n removeForceHideElement(document.querySelector(\"#eventsource-indicator\"));\n connectEventSource({\n executedFileRelativeUrl: executedFileRelativeUrl,\n getLivereloadCallback: getLivereloadCallback\n });\n livereloadingAvailableOnServer = livereloading;\n\n if (!livereloadingAvailableOnServer) {\n disableLivereloadSetting();\n }\n\n var livereloadCheckbox = document.querySelector(\"#toggle-livereload\");\n livereloadCheckbox.checked = shouldLivereload();\n\n livereloadCheckbox.onchange = function () {\n livereloadingPreference.set(livereloadCheckbox.checked);\n updateEventSourceIndicator();\n };\n\n updateEventSourceIndicator();\n};\n\nvar shouldLivereload = function shouldLivereload() {\n return livereloadingAvailableOnServer && getLivereloadingPreference();\n};\n\nvar disableLivereloadSetting = function disableLivereloadSetting() {\n document.querySelector(\".settings-livereload\").setAttribute(\"data-disabled\", \"true\");\n document.querySelector(\".settings-livereload\").setAttribute(\"title\", \"Livereload not available: disabled by server\");\n document.querySelector(\"#toggle-livereload\").disabled = true;\n};\n\nvar parentEventSource = window.parent.__jsenv_eventsource__();\n\nvar latestChangeMap = parentEventSource.latestChangeMap;\nvar eventSourceHooks = {};\nvar eventSourceConnection;\nvar connectionReadyPromise;\n\nvar handleFileChange = function handleFileChange(_ref2) {\n var file = _ref2.file,\n eventType = _ref2.eventType,\n livereloadCallback = _ref2.livereloadCallback;\n latestChangeMap[file] = eventType;\n updateEventSourceIndicator();\n\n if (shouldLivereload()) {\n if (livereloadCallback) {\n livereloadCallback({\n file: file,\n latestChangeMap: latestChangeMap,\n reloadPage: reloadPage\n });\n } else if (file.endsWith(\".css\") || file.endsWith(\".scss\") || file.endsWith(\".sass\")) {\n reloadAllCss();\n delete latestChangeMap[file];\n updateEventSourceIndicator();\n } else {\n reloadPage();\n }\n }\n};\n\nvar reloadAllCss = function reloadAllCss() {\n var links = Array.from(window.parent.document.getElementsByTagName(\"link\"));\n links.forEach(function (link) {\n if (link.rel === \"stylesheet\") {\n var url = new URL(link.href);\n url.searchParams.set(\"t\", Date.now());\n link.href = String(url);\n }\n });\n};\n\nvar reloadPage = function reloadPage() {\n window.parent.location.reload(true);\n};\n\nvar reloadChanges = function reloadChanges() {\n var fullReloadRequired = Object.keys(latestChangeMap).some(function (key) {\n return !key.endsWith(\".css\");\n });\n\n if (fullReloadRequired) {\n reloadPage();\n return;\n }\n\n var cssReloadRequired = Object.keys(latestChangeMap).some(function (key) {\n return key.endsWith(\".css\");\n });\n\n if (cssReloadRequired) {\n reloadAllCss();\n Object.keys(latestChangeMap).forEach(function (key) {\n if (key.endsWith(\".css\")) {\n delete latestChangeMap[key];\n }\n\n updateEventSourceIndicator();\n });\n }\n};\n\nvar connectEventSource = function connectEventSource(_ref3) {\n var executedFileRelativeUrl = _ref3.executedFileRelativeUrl,\n getLivereloadCallback = _ref3.getLivereloadCallback;\n updateEventSourceIndicator();\n connectionReadyPromise = createPromiseAndHooks();\n eventSourceConnection = connectCompileServerEventSource(executedFileRelativeUrl, {\n onFileModified: function onFileModified(file) {\n handleFileChange({\n file: file,\n eventType: \"modified\",\n livereloadCallback: getLivereloadCallback(file)\n });\n },\n onFileRemoved: function onFileRemoved(file) {\n handleFileChange({\n file: file,\n eventType: \"removed\",\n livereloadCallback: getLivereloadCallback(file)\n });\n },\n onFileAdded: function onFileAdded(file) {\n handleFileChange({\n file: file,\n eventType: \"added\",\n livereloadCallback: getLivereloadCallback(file)\n });\n },\n onConnecting: function onConnecting(_ref4) {\n var cancel = _ref4.cancel;\n eventSourceState = \"connecting\";\n eventSourceHooks = {\n abort: cancel\n };\n updateEventSourceIndicator();\n },\n onConnectionCancelled: function onConnectionCancelled(_ref5) {\n var connect = _ref5.connect;\n eventSourceState = \"disabled\";\n eventSourceHooks = {\n connect: connect\n };\n updateEventSourceIndicator();\n },\n onConnectionFailed: function onConnectionFailed(_ref6) {\n var connect = _ref6.connect;\n eventSourceState = \"failed\";\n eventSourceHooks = {\n reconnect: connect\n };\n updateEventSourceIndicator();\n },\n onConnected: function onConnected(_ref7) {\n var cancel = _ref7.cancel;\n eventSourceState = \"connected\";\n eventSourceHooks = {\n disconnect: cancel\n };\n updateEventSourceIndicator();\n connectionReadyPromise.resolve();\n parentEventSource.disconnect();\n },\n lastEventId: parentEventSource.lastEventId\n });\n eventSourceConnection.connect();\n};\n\nvar getLivereloadingPreference = function getLivereloadingPreference() {\n return livereloadingPreference.has() ? livereloadingPreference.get() : true;\n};\n\nexport var disconnectEventSource = function disconnectEventSource() {\n if (eventSourceConnection) {\n eventSourceConnection.disconnect();\n eventSourceConnection = undefined;\n }\n};\nexport var waitEventSourceReady = function waitEventSourceReady() {\n return connectionReadyPromise;\n};\n\nvar updateEventSourceIndicator = function updateEventSourceIndicator() {\n var _eventSourceHooks = eventSourceHooks,\n connect = _eventSourceHooks.connect,\n abort = _eventSourceHooks.abort,\n reconnect = _eventSourceHooks.reconnect;\n var eventSourceIndicator = document.querySelector(\"#eventsource-indicator\");\n var changeCount = Object.keys(latestChangeMap).length;\n enableVariant(eventSourceIndicator, {\n eventsource: eventSourceState,\n livereload: shouldLivereload() ? \"on\" : \"off\",\n changes: changeCount > 0 ? \"yes\" : \"no\"\n });\n var variantNode = document.querySelector(\"#eventsource-indicator > [data-when-active]\");\n\n variantNode.querySelector(\"button\").onclick = function () {\n toggleTooltip(eventSourceIndicator);\n };\n\n if (eventSourceState === \"disabled\") {\n variantNode.querySelector(\"a\").onclick = connect;\n } else if (eventSourceState === \"connecting\") {\n variantNode.querySelector(\"a\").onclick = abort;\n } else if (eventSourceState === \"connected\") {\n removeAutoShowTooltip(eventSourceIndicator);\n\n if (changeCount) {\n var changeLink = variantNode.querySelector(\".eventsource-changes-link\");\n changeLink.innerHTML = changeCount;\n\n changeLink.onclick = function () {\n console.log(JSON.stringify(latestChangeMap, null, \" \"), latestChangeMap); // eslint-disable-next-line no-alert\n\n window.parent.alert(JSON.stringify(latestChangeMap, null, \" \"));\n };\n\n variantNode.querySelector(\".eventsource-reload-link\").onclick = reloadChanges;\n }\n } else if (eventSourceState === \"failed\") {\n autoShowTooltip(eventSourceIndicator);\n variantNode.querySelector(\"a\").onclick = reconnect;\n }\n};\n//# sourceMappingURL=toolbar.eventsource.js.map",
111
- "import { forceHideElement, removeForceHideElement, deactivateToolbarSection } from \"../util/dom.js\";\nimport { createHorizontalBreakpoint } from \"../util/responsive.js\";\nimport { hideTooltip } from \"../tooltip/tooltip.js\";\nvar WINDOW_SMALL_WIDTH = 420;\nexport var makeToolbarResponsive = function makeToolbarResponsive() {\n // apply responsive design on toolbar icons if needed + add listener on resize screen\n // ideally we should listen breakpoint once, for now restore toolbar\n var overflowMenuBreakpoint = createHorizontalBreakpoint(WINDOW_SMALL_WIDTH);\n\n var handleOverflowMenuBreakpoint = function handleOverflowMenuBreakpoint() {\n responsiveToolbar(overflowMenuBreakpoint);\n };\n\n handleOverflowMenuBreakpoint();\n overflowMenuBreakpoint.changed.listen(handleOverflowMenuBreakpoint); // overflow menu\n\n document.querySelector(\"#overflow-menu-button\").onclick = function () {\n return toggleOverflowMenu();\n };\n};\n\nvar responsiveToolbar = function responsiveToolbar(overflowMenuBreakpoint) {\n // close all tooltips in case opened\n hideTooltip(document.querySelector(\"#eventsource-indicator\"));\n hideTooltip(document.querySelector(\"#execution-indicator\")); // close settings box in case opened\n\n deactivateToolbarSection(document.querySelector(\"#settings\"));\n\n if (overflowMenuBreakpoint.isBelow()) {\n enableOverflow();\n } else {\n disableOverflow();\n }\n};\n\nvar moves = [];\n\nvar enableOverflow = function enableOverflow() {\n // move elements from toolbar to overflow menu\n var responsiveToolbarElements = document.querySelectorAll(\"[data-responsive-toolbar-element]\");\n var overflowMenu = document.querySelector(\"#overflow-menu\"); // keep a placeholder element to know where to move them back\n\n moves = Array.from(responsiveToolbarElements).map(function (element) {\n var placeholder = document.createElement(\"div\");\n placeholder.style.display = \"none\";\n placeholder.setAttribute(\"data-placeholder\", \"\");\n element.parentNode.replaceChild(placeholder, element);\n overflowMenu.appendChild(element);\n return {\n element: element,\n placeholder: placeholder\n };\n });\n document.querySelector(\"#toolbar\").setAttribute(\"data-overflow-menu-enabled\", \"\");\n removeForceHideElement(document.querySelector(\"#overflow-menu-button\"));\n};\n\nvar disableOverflow = function disableOverflow() {\n // close overflow menu in case it's open & unselect toggleOverflowMenu button in case it's selected\n hideOverflowMenu();\n deactivateToolbarSection(document.querySelector(\"#overflow-menu\"));\n moves.forEach(function (_ref) {\n var element = _ref.element,\n placeholder = _ref.placeholder;\n placeholder.parentNode.replaceChild(element, placeholder);\n });\n moves = [];\n document.querySelector(\"#toolbar\").removeAttribute(\"data-overflow-menu-enabled\");\n forceHideElement(document.querySelector(\"#overflow-menu-button\"));\n};\n\nvar toggleOverflowMenu = function toggleOverflowMenu() {\n if (overflowMenuIsVisible()) {\n hideOverflowMenu();\n } else {\n showOverflowMenu();\n }\n};\n\nvar overflowMenuIsVisible = function overflowMenuIsVisible() {\n var toolbar = document.querySelector(\"#toolbar\");\n return toolbar.hasAttribute(\"data-overflow-menu-visible\");\n};\n\nvar showOverflowMenu = function showOverflowMenu() {\n var toolbar = document.querySelector(\"#toolbar\");\n document.querySelector(\"#overflow-menu\").setAttribute(\"data-animate\", \"\");\n toolbar.setAttribute(\"data-overflow-menu-visible\", \"\");\n};\n\nvar hideOverflowMenu = function hideOverflowMenu() {\n var toolbar = document.querySelector(\"#toolbar\");\n toolbar.removeAttribute(\"data-overflow-menu-visible\");\n document.querySelector(\"#overflow-menu\").removeAttribute(\"data-animate\");\n};\n//# sourceMappingURL=toolbar.responsive.js.map",
112
- "import { urlIsInsideOf } from \"@jsenv/filesystem/src/urlIsInsideOf.js\";\nimport { urlToRelativeUrl } from \"@jsenv/filesystem/src/urlToRelativeUrl.js\";\nimport { fetchExploringJson } from \"../exploring/fetchExploringJson.js\";\nimport { startJavaScriptAnimation } from \"../toolbar/util/animation.js\";\nimport \"./focus/toolbar.focus.js\";\nimport { renderBackToListInToolbar } from \"./backtolist/toolbar.backtolist.js\";\nimport { getToolbarIframe, deactivateToolbarSection, setStyles } from \"./util/dom.js\";\nimport { createPreference } from \"./util/preferences.js\";\nimport { hideTooltip, hideAllTooltip } from \"./tooltip/tooltip.js\";\nimport { renderToolbarSettings, hideSettings } from \"./settings/toolbar.settings.js\";\nimport { renderToolbarNotification } from \"./notification/toolbar.notification.js\";\nimport { renderToolbarTheme } from \"./theme/toolbar.theme.js\";\nimport { renderToolbarAnimation } from \"./animation/toolbar.animation.js\";\nimport { renderExecutionInToolbar } from \"./execution/toolbar.execution.js\";\nimport { renderCompilationInToolbar } from \"./compilation/toolbar.compilation.js\";\nimport { initToolbarEventSource } from \"./eventsource/toolbar.eventsource.js\";\nimport { makeToolbarResponsive } from \"./responsive/toolbar.responsive.js\";\n\nfunction _call(body, then, direct) {\n if (direct) {\n return then ? then(body()) : body();\n }\n\n try {\n var result = Promise.resolve(body());\n return then ? result.then(then) : result;\n } catch (e) {\n return Promise.reject(e);\n }\n}\n\nvar toolbarVisibilityPreference = createPreference(\"toolbar\");\n\nfunction _async(f) {\n return function () {\n for (var args = [], i = 0; i < arguments.length; i++) {\n args[i] = arguments[i];\n }\n\n try {\n return Promise.resolve(f.apply(this, args));\n } catch (e) {\n return Promise.reject(e);\n }\n };\n}\n\nvar renderToolbar = _async(function () {\n var executedFileCompiledUrl = window.parent.location.href;\n var compileServerOrigin = window.parent.location.origin; // this should not block the whole toolbar rendering + interactivity\n\n return _call(fetchExploringJson, function (exploringConfig) {\n var outDirectoryRelativeUrl = exploringConfig.outDirectoryRelativeUrl,\n livereloading = exploringConfig.livereloading;\n var compileGroup = getCompileGroup({\n executedFileCompiledUrl: executedFileCompiledUrl,\n outDirectoryRelativeUrl: outDirectoryRelativeUrl,\n compileServerOrigin: compileServerOrigin\n });\n var executedFileRelativeUrl = compileGroup.fileRelativeUrl;\n var toolbarOverlay = document.querySelector(\"#toolbar-overlay\");\n\n toolbarOverlay.onclick = function () {\n hideAllTooltip();\n hideSettings();\n };\n\n var toolbarElement = document.querySelector(\"#toolbar\");\n exposeOnParentWindow({\n toolbar: {\n element: toolbarElement,\n show: showToolbar,\n hide: function hide() {\n return hideToolbar();\n },\n toggle: toogleToolbar\n }\n });\n var toolbarVisible = toolbarVisibilityPreference.has() ? toolbarVisibilityPreference.get() : true;\n\n if (toolbarVisible) {\n showToolbar({\n animate: false\n });\n } else {\n hideToolbar({\n animate: false\n });\n }\n\n renderBackToListInToolbar({\n outDirectoryRelativeUrl: outDirectoryRelativeUrl,\n exploringHtmlFileRelativeUrl: exploringConfig.exploringHtmlFileRelativeUrl\n });\n renderToolbarNotification();\n makeToolbarResponsive();\n renderToolbarSettings();\n renderToolbarAnimation();\n renderToolbarTheme();\n renderExecutionInToolbar({\n executedFileRelativeUrl: executedFileRelativeUrl\n });\n renderCompilationInToolbar({\n compileGroup: compileGroup\n }); // this might become active but we need to detect this somehow\n\n deactivateToolbarSection(document.querySelector(\"#file-list-link\"));\n initToolbarEventSource({\n executedFileRelativeUrl: executedFileRelativeUrl,\n livereloading: livereloading\n }); // if user click enter or space quickly while closing toolbar\n // it will cancel the closing\n // that's why I used toggleToolbar and not hideToolbar\n\n document.querySelector(\"#button-close-toolbar\").onclick = function () {\n return toogleToolbar();\n };\n });\n});\n\nvar exposeOnParentWindow = function exposeOnParentWindow(object) {\n var __jsenv__ = window.parent.__jsenv__;\n\n if (!__jsenv__) {\n __jsenv__ = {};\n window.parent.__jsenv__ = {};\n }\n\n Object.assign(__jsenv__, object);\n};\n\nvar toogleToolbar = function toogleToolbar() {\n if (toolbarIsVisible()) {\n hideToolbar();\n } else {\n showToolbar();\n }\n};\n\nvar toolbarIsVisible = function toolbarIsVisible() {\n return document.documentElement.hasAttribute(\"data-toolbar-visible\");\n};\n\nvar hideToolbar = function hideToolbar() {\n // toolbar hidden by default, nothing to do to hide it by default\n sendEventToParent(\"toolbar-visibility-change\", false);\n}; // (by the way it might be cool to have the toolbar auto show when)\n// it has something to say (being disconnected from livereload server)\n\n\nvar showToolbar = function showToolbar() {\n var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref$animate = _ref.animate,\n animate = _ref$animate === void 0 ? true : _ref$animate;\n\n toolbarVisibilityPreference.set(true);\n\n if (animate) {\n document.documentElement.setAttribute(\"data-toolbar-animation\", \"\");\n } else {\n document.documentElement.removeAttribute(\"data-toolbar-animation\");\n }\n\n document.documentElement.setAttribute(\"data-toolbar-visible\", \"\");\n sendEventToParent(\"toolbar-visibility-change\", true);\n var toolbarIframe = getToolbarIframe();\n var toolbarIframeParent = toolbarIframe.parentNode;\n var parentWindow = window.parent;\n var parentDocumentElement = parentWindow.document.compatMode === \"CSS1Compat\" ? parentWindow.document.documentElement : parentWindow.document.body;\n var scrollYMax = parentDocumentElement.scrollHeight - parentWindow.innerHeight;\n var scrollY = parentDocumentElement.scrollTop;\n var scrollYRemaining = scrollYMax - scrollY;\n setStyles(toolbarIframeParent, {\n \"transition-property\": \"padding-bottom\",\n \"transition-duration\": \"300ms\"\n }); // maybe we should use js animation here because we would not conflict with css\n\n var restoreToolbarIframeParentStyles = setStyles(toolbarIframeParent, {\n \"scroll-padding-bottom\": \"40px\",\n // same here we should add 40px\n \"padding-bottom\": \"40px\" // if there is already one we should add 40px\n\n });\n var restoreToolbarIframeStyles = setStyles(toolbarIframe, {\n height: \"40px\",\n visibility: \"visible\"\n });\n\n if (scrollYRemaining < 40 && scrollYMax > 0) {\n var scrollEnd = scrollY + 40;\n startJavaScriptAnimation({\n duration: 300,\n onProgress: function onProgress(_ref2) {\n var progress = _ref2.progress;\n var value = scrollY + (scrollEnd - scrollY) * progress;\n parentDocumentElement.scrollTop = value;\n }\n });\n }\n\n hideToolbar = function hideToolbar() {\n restoreToolbarIframeParentStyles();\n restoreToolbarIframeStyles();\n hideTooltip(document.querySelector(\"#eventsource-indicator\"));\n hideTooltip(document.querySelector(\"#execution-indicator\"));\n toolbarVisibilityPreference.set(false);\n\n if (animate) {\n document.documentElement.setAttribute(\"data-toolbar-animation\", \"\");\n } else {\n document.documentElement.removeAttribute(\"data-toolbar-animation\");\n }\n\n document.documentElement.removeAttribute(\"data-toolbar-visible\");\n sendEventToParent(\"toolbar-visibility-change\", false);\n };\n};\n\nvar getCompileGroup = function getCompileGroup(_ref3) {\n var executedFileCompiledUrl = _ref3.executedFileCompiledUrl,\n outDirectoryRelativeUrl = _ref3.outDirectoryRelativeUrl,\n compileServerOrigin = _ref3.compileServerOrigin;\n var outDirectoryServerUrl = String(new URL(outDirectoryRelativeUrl, compileServerOrigin));\n\n if (urlIsInsideOf(executedFileCompiledUrl, outDirectoryServerUrl)) {\n var afterCompileDirectory = urlToRelativeUrl(executedFileCompiledUrl, outDirectoryServerUrl);\n var slashIndex = afterCompileDirectory.indexOf(\"/\");\n var fileRelativeUrl = afterCompileDirectory.slice(slashIndex + 1);\n return {\n fileRelativeUrl: fileRelativeUrl,\n outDirectoryRelativeUrl: outDirectoryRelativeUrl,\n compileId: afterCompileDirectory.slice(0, slashIndex)\n };\n }\n\n return {\n fileRelativeUrl: new URL(executedFileCompiledUrl).pathname.slice(1),\n outDirectoryRelativeUrl: outDirectoryRelativeUrl,\n compileId: null\n };\n};\n\nvar sendEventToParent = function sendEventToParent(type, value) {\n window.parent.postMessage({\n jsenv: true,\n type: type,\n value: value\n }, \"*\");\n};\n\nwindow.renderToolbar = renderToolbar;\n//# sourceMappingURL=toolbar.main.js.map"
60
+ "export const urlIsInsideOf = (url, otherUrl) => {\n const urlObject = new URL(url)\n const otherUrlObject = new URL(otherUrl)\n\n if (urlObject.origin !== otherUrlObject.origin) {\n return false\n }\n\n const urlPathname = urlObject.pathname\n const otherUrlPathname = otherUrlObject.pathname\n if (urlPathname === otherUrlPathname) {\n return false\n }\n\n const isInside = urlPathname.startsWith(otherUrlPathname)\n return isInside\n}\n",
61
+ "export const getCommonPathname = (pathname, otherPathname) => {\n const firstDifferentCharacterIndex = findFirstDifferentCharacterIndex(\n pathname,\n otherPathname,\n )\n\n // pathname and otherpathname are exactly the same\n if (firstDifferentCharacterIndex === -1) {\n return pathname\n }\n\n const commonString = pathname.slice(0, firstDifferentCharacterIndex + 1)\n\n // the first different char is at firstDifferentCharacterIndex\n if (pathname.charAt(firstDifferentCharacterIndex) === \"/\") {\n return commonString\n }\n\n if (otherPathname.charAt(firstDifferentCharacterIndex) === \"/\") {\n return commonString\n }\n\n const firstDifferentSlashIndex = commonString.lastIndexOf(\"/\")\n return pathname.slice(0, firstDifferentSlashIndex + 1)\n}\n\nconst findFirstDifferentCharacterIndex = (string, otherString) => {\n const maxCommonLength = Math.min(string.length, otherString.length)\n let i = 0\n while (i < maxCommonLength) {\n const char = string.charAt(i)\n const otherChar = otherString.charAt(i)\n if (char !== otherChar) {\n return i\n }\n i++\n }\n if (string.length === otherString.length) {\n return -1\n }\n // they differ at maxCommonLength\n return maxCommonLength\n}\n",
62
+ "export const pathnameToParentPathname = (pathname) => {\n const slashLastIndex = pathname.lastIndexOf(\"/\")\n if (slashLastIndex === -1) {\n return \"/\"\n }\n\n return pathname.slice(0, slashLastIndex + 1)\n}\n",
63
+ "import { getCommonPathname } from \"./internal/getCommonPathname.js\"\nimport { pathnameToParentPathname } from \"./internal/pathnameToParentPathname.js\"\n\nexport const urlToRelativeUrl = (url, baseUrl) => {\n const urlObject = new URL(url)\n const baseUrlObject = new URL(baseUrl)\n\n if (urlObject.protocol !== baseUrlObject.protocol) {\n const urlAsString = String(url)\n return urlAsString\n }\n\n if (\n urlObject.username !== baseUrlObject.username ||\n urlObject.password !== baseUrlObject.password ||\n urlObject.host !== baseUrlObject.host\n ) {\n const afterUrlScheme = String(url).slice(urlObject.protocol.length)\n return afterUrlScheme\n }\n\n const { pathname, hash, search } = urlObject\n if (pathname === \"/\") {\n const baseUrlRessourceWithoutLeadingSlash = baseUrlObject.pathname.slice(1)\n return baseUrlRessourceWithoutLeadingSlash\n }\n\n const basePathname = baseUrlObject.pathname\n const commonPathname = getCommonPathname(pathname, basePathname)\n if (!commonPathname) {\n const urlAsString = String(url)\n return urlAsString\n }\n\n const specificPathname = pathname.slice(commonPathname.length)\n const baseSpecificPathname = basePathname.slice(commonPathname.length)\n if (baseSpecificPathname.includes(\"/\")) {\n const baseSpecificParentPathname =\n pathnameToParentPathname(baseSpecificPathname)\n const relativeDirectoriesNotation = baseSpecificParentPathname.replace(\n /.*?\\//g,\n \"../\",\n )\n const relativeUrl = `${relativeDirectoriesNotation}${specificPathname}${search}${hash}`\n return relativeUrl\n }\n\n const relativeUrl = `${specificPathname}${search}${hash}`\n return relativeUrl\n}\n",
64
+ "export default (obj, key, value) => {\n // Shortcircuit the slow defineProperty path when possible.\n // We are trying to avoid issues where setters defined on the\n // prototype cause side effects under the fast path of simple\n // assignment. By checking for existence of the property with\n // the in operator, we can optimize most of this overhead away.\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value,\n enumerable: true,\n configurable: true,\n writable: true,\n })\n } else {\n obj[key] = value\n }\n return obj\n}\n",
65
+ "export const createDetailedMessage = (message, details = {}) => {\n let string = `${message}`\n\n Object.keys(details).forEach((key) => {\n const value = details[key]\n string += `\n--- ${key} ---\n${\n Array.isArray(value)\n ? value.join(`\n`)\n : value\n}`\n })\n\n return string\n}\n",
66
+ "import defineProperty from \"../defineProperty/defineProperty.js\"\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object)\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object)\n if (enumerableOnly) {\n symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable\n })\n }\n keys.push.apply(keys, symbols)\n }\n return keys\n}\n\nexport default function _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {}\n if (i % 2) {\n ownKeys(Object(source), true).forEach(function (key) {\n defineProperty(target, key, source[key])\n })\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source))\n } else {\n ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key))\n })\n }\n }\n return target\n}\n",
67
+ "export default (source, excluded) => {\n if (source === null) return {}\n var target = {}\n var sourceKeys = Object.keys(source)\n var key\n var i\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i]\n if (excluded.indexOf(key) >= 0) continue\n target[key] = source[key]\n }\n return target\n}\n",
68
+ "import objectWithoutPropertiesLoose from \"../objectWithoutPropertiesLoose/objectWithoutPropertiesLoose.js\"\n\nexport default (source, excluded) => {\n if (source === null) return {}\n\n var target = objectWithoutPropertiesLoose(source, excluded)\n var key\n var i\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source)\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i]\n if (excluded.indexOf(key) >= 0) continue\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue\n target[key] = source[key]\n }\n }\n return target\n}\n",
69
+ "const nativeTypeOf = (obj) => typeof obj\n\nconst customTypeOf = (obj) => {\n return obj &&\n typeof Symbol === \"function\" &&\n obj.constructor === Symbol &&\n obj !== Symbol.prototype\n ? \"symbol\"\n : typeof obj\n}\n\nexport default typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\"\n ? nativeTypeOf\n : customTypeOf\n",
70
+ "import { createDetailedMessage } from \"@jsenv/logger\"\n\nexport const fetchUsingXHR = async (\n url,\n {\n signal,\n method = \"GET\",\n credentials = \"same-origin\",\n headers = {},\n body = null,\n } = {},\n) => {\n const headersPromise = createPromiseAndHooks()\n const bodyPromise = createPromiseAndHooks()\n\n const xhr = new XMLHttpRequest()\n\n const failure = (error) => {\n // if it was already resolved, we must reject the body promise\n if (headersPromise.settled) {\n bodyPromise.reject(error)\n } else {\n headersPromise.reject(error)\n }\n }\n\n const cleanup = () => {\n xhr.ontimeout = null\n xhr.onerror = null\n xhr.onload = null\n xhr.onreadystatechange = null\n }\n\n xhr.ontimeout = () => {\n cleanup()\n failure(new Error(`xhr request timeout on ${url}.`))\n }\n\n xhr.onerror = (error) => {\n cleanup()\n // unfortunately with have no clue why it fails\n // might be cors for instance\n failure(createRequestError(error, { url }))\n }\n\n xhr.onload = () => {\n cleanup()\n bodyPromise.resolve()\n }\n\n signal.addEventListener(\"abort\", () => {\n xhr.abort()\n const abortError = new Error(\"aborted\")\n abortError.name = \"AbortError\"\n failure(abortError)\n })\n\n xhr.onreadystatechange = () => {\n // https://developer.mozilla.org/fr/docs/Web/API/XMLHttpRequest/readyState\n const { readyState } = xhr\n\n if (readyState === 2) {\n headersPromise.resolve()\n } else if (readyState === 4) {\n cleanup()\n bodyPromise.resolve()\n }\n }\n\n xhr.open(method, url, true)\n Object.keys(headers).forEach((key) => {\n xhr.setRequestHeader(key, headers[key])\n })\n xhr.withCredentials = computeWithCredentials({ credentials, url })\n if (\"responseType\" in xhr && hasBlob) {\n xhr.responseType = \"blob\"\n }\n xhr.send(body)\n\n await headersPromise\n\n // https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest/responseURL\n const responseUrl =\n \"responseURL\" in xhr ? xhr.responseURL : headers[\"x-request-url\"]\n let responseStatus = xhr.status\n const responseStatusText = xhr.statusText\n const responseHeaders = getHeadersFromXHR(xhr)\n\n const readBody = async () => {\n await bodyPromise\n\n const { status } = xhr\n // in Chrome on file:/// URLs, status is 0\n if (status === 0) {\n responseStatus = 200\n }\n\n const body = \"response\" in xhr ? xhr.response : xhr.responseText\n\n return {\n responseBody: body,\n responseBodyType: detectBodyType(body),\n }\n }\n\n const text = async () => {\n const { responseBody, responseBodyType } = await readBody()\n\n if (responseBodyType === \"blob\") {\n return blobToText(responseBody)\n }\n if (responseBodyType === \"formData\") {\n throw new Error(\"could not read FormData body as text\")\n }\n if (responseBodyType === \"dataView\") {\n return arrayBufferToText(responseBody.buffer)\n }\n if (responseBodyType === \"arrayBuffer\") {\n return arrayBufferToText(responseBody)\n }\n // if (responseBodyType === \"text\" || responseBodyType === 'searchParams') {\n // return body\n // }\n return String(responseBody)\n }\n\n const json = async () => {\n const responseText = await text()\n return JSON.parse(responseText)\n }\n\n const blob = async () => {\n if (!hasBlob) {\n throw new Error(`blob not supported`)\n }\n\n const { responseBody, responseBodyType } = await readBody()\n\n if (responseBodyType === \"blob\") {\n return responseBody\n }\n if (responseBodyType === \"dataView\") {\n return new Blob([cloneBuffer(responseBody.buffer)])\n }\n if (responseBodyType === \"arrayBuffer\") {\n return new Blob([cloneBuffer(responseBody)])\n }\n if (responseBodyType === \"formData\") {\n throw new Error(\"could not read FormData body as blob\")\n }\n return new Blob([String(responseBody)])\n }\n\n const arrayBuffer = async () => {\n const { responseBody, responseBodyType } = await readBody()\n\n if (responseBodyType === \"arrayBuffer\") {\n return cloneBuffer(responseBody)\n }\n const responseBlob = await blob()\n return blobToArrayBuffer(responseBlob)\n }\n\n const formData = async () => {\n if (!hasFormData) {\n throw new Error(`formData not supported`)\n }\n const responseText = await text()\n return textToFormData(responseText)\n }\n\n return {\n url: responseUrl,\n status: responseStatus,\n statusText: responseStatusText,\n headers: responseHeaders,\n text,\n json,\n blob,\n arrayBuffer,\n formData,\n }\n}\n\nconst canUseBlob = () => {\n if (typeof window.FileReader !== \"function\") return false\n\n if (typeof window.Blob !== \"function\") return false\n\n try {\n // eslint-disable-next-line no-new\n new Blob()\n return true\n } catch (e) {\n return false\n }\n}\n\nconst hasBlob = canUseBlob()\n\nconst hasFormData = typeof window.FormData === \"function\"\n\nconst hasArrayBuffer = typeof window.ArrayBuffer === \"function\"\n\nconst hasSearchParams = typeof window.URLSearchParams === \"function\"\n\nconst createRequestError = (error, { url }) => {\n return new Error(\n createDetailedMessage(`error during xhr request on ${url}.`, {\n [\"error stack\"]: error.stack,\n }),\n )\n}\n\nconst createPromiseAndHooks = () => {\n let resolve\n let reject\n const promise = new Promise((res, rej) => {\n resolve = (value) => {\n promise.settled = true\n res(value)\n }\n reject = (value) => {\n promise.settled = true\n rej(value)\n }\n })\n promise.resolve = resolve\n promise.reject = reject\n return promise\n}\n\n// https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API/Using_Fetch\nconst computeWithCredentials = ({ credentials, url }) => {\n if (credentials === \"same-origin\") {\n return originSameAsGlobalOrigin(url)\n }\n return credentials === \"include\"\n}\n\nconst originSameAsGlobalOrigin = (url) => {\n // if we cannot read globalOrigin from window.location.origin, let's consider it's ok\n if (typeof window !== \"object\") return true\n if (typeof window.location !== \"object\") return true\n const globalOrigin = window.location.origin\n if (globalOrigin === \"null\") return true\n return hrefToOrigin(url) === globalOrigin\n}\n\nconst detectBodyType = (body) => {\n if (!body) {\n return \"\"\n }\n if (typeof body === \"string\") {\n return \"text\"\n }\n if (hasBlob && Blob.prototype.isPrototypeOf(body)) {\n return \"blob\"\n }\n if (hasFormData && FormData.prototype.isPrototypeOf(body)) {\n return \"formData\"\n }\n if (hasArrayBuffer) {\n if (hasBlob && isDataView(body)) {\n return `dataView`\n }\n if (ArrayBuffer.prototype.isPrototypeOf(body) || isArrayBufferView(body)) {\n return `arrayBuffer`\n }\n }\n if (hasSearchParams && URLSearchParams.prototype.isPrototypeOf(body)) {\n return \"searchParams\"\n }\n return \"\"\n}\n\n// https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest/getAllResponseHeaders#Example\nconst getHeadersFromXHR = (xhr) => {\n const headerMap = {}\n\n const headersString = xhr.getAllResponseHeaders()\n if (headersString === \"\") return headerMap\n\n const lines = headersString.trim().split(/[\\r\\n]+/)\n lines.forEach((line) => {\n const parts = line.split(\": \")\n const name = parts.shift()\n const value = parts.join(\": \")\n headerMap[name.toLowerCase()] = value\n })\n\n return headerMap\n}\n\nconst hrefToOrigin = (href) => {\n const scheme = hrefToScheme(href)\n\n if (scheme === \"file\") {\n return \"file://\"\n }\n\n if (scheme === \"http\" || scheme === \"https\") {\n const secondProtocolSlashIndex = scheme.length + \"://\".length\n const pathnameSlashIndex = href.indexOf(\"/\", secondProtocolSlashIndex)\n\n if (pathnameSlashIndex === -1) return href\n return href.slice(0, pathnameSlashIndex)\n }\n\n return href.slice(0, scheme.length + 1)\n}\n\nconst hrefToScheme = (href) => {\n const colonIndex = href.indexOf(\":\")\n if (colonIndex === -1) return \"\"\n return href.slice(0, colonIndex)\n}\n\nconst isDataView = (obj) => {\n return obj && DataView.prototype.isPrototypeOf(obj)\n}\n\nconst isArrayBufferView =\n ArrayBuffer.isView ||\n (() => {\n const viewClasses = [\n \"[object Int8Array]\",\n \"[object Uint8Array]\",\n \"[object Uint8ClampedArray]\",\n \"[object Int16Array]\",\n \"[object Uint16Array]\",\n \"[object Int32Array]\",\n \"[object Uint32Array]\",\n \"[object Float32Array]\",\n \"[object Float64Array]\",\n ]\n\n return (value) => {\n return (\n value && viewClasses.includes(Object.prototype.toString.call(value))\n )\n }\n })()\n\nconst textToFormData = (text) => {\n const form = new FormData()\n text\n .trim()\n .split(\"&\")\n .forEach(function (bytes) {\n if (bytes) {\n const split = bytes.split(\"=\")\n const name = split.shift().replace(/\\+/g, \" \")\n const value = split.join(\"=\").replace(/\\+/g, \" \")\n form.append(decodeURIComponent(name), decodeURIComponent(value))\n }\n })\n return form\n}\n\nconst blobToArrayBuffer = async (blob) => {\n const reader = new FileReader()\n const promise = fileReaderReady(reader)\n reader.readAsArrayBuffer(blob)\n return promise\n}\n\nconst blobToText = (blob) => {\n const reader = new FileReader()\n const promise = fileReaderReady(reader)\n reader.readAsText(blob)\n return promise\n}\n\nconst arrayBufferToText = (arrayBuffer) => {\n const view = new Uint8Array(arrayBuffer)\n const chars = new Array(view.length)\n let i = 0\n while (i < view.length) {\n chars[i] = String.fromCharCode(view[i])\n\n i++\n }\n return chars.join(\"\")\n}\n\nconst fileReaderReady = (reader) => {\n return new Promise(function (resolve, reject) {\n reader.onload = function () {\n resolve(reader.result)\n }\n reader.onerror = function () {\n reject(reader.error)\n }\n })\n}\n\nconst cloneBuffer = (buffer) => {\n if (buffer.slice) {\n return buffer.slice(0)\n }\n const view = new Uint8Array(buffer.byteLength)\n view.set(new Uint8Array(buffer))\n return view.buffer\n}\n",
71
+ "import { fetchUsingXHR } from \"./fetchUsingXHR.js\"\n\nconst fetchNative = async (url, { mode = \"cors\", ...options } = {}) => {\n const response = await window.fetch(url, {\n mode,\n ...options,\n })\n\n return {\n url: response.url,\n status: response.status,\n statusText: \"\",\n headers: responseToHeaders(response),\n text: () => response.text(),\n json: () => response.json(),\n blob: () => response.blob(),\n arrayBuffer: () => response.arrayBuffer(),\n formData: () => response.formData(),\n }\n}\n\nconst responseToHeaders = (response) => {\n const headers = {}\n response.headers.forEach((value, name) => {\n headers[name] = value\n })\n return headers\n}\n\nexport const fetchUrl =\n typeof window.fetch === \"function\" &&\n typeof window.AbortController === \"function\"\n ? fetchNative\n : fetchUsingXHR\n",
72
+ "import { fetchUrl } from \"./fetch-browser.js\"\n\nexport const fetchJson = async (url, options = {}) => {\n const response = await fetchUrl(url, options)\n const object = await response.json()\n return object\n}\n",
73
+ "import { createDetailedMessage } from \"@jsenv/logger\"\n\nimport { fetchJson } from \"../browser-utils/fetchJson.js\"\n\nexport const fetchExploringJson = async ({ signal } = {}) => {\n try {\n const exploringInfo = await fetchJson(\"/.jsenv/exploring.json\", {\n signal,\n })\n return exploringInfo\n } catch (e) {\n if (signal && signal.aborted && e.name === \"AbortError\") {\n throw e\n }\n throw new Error(\n createDetailedMessage(\n `Cannot communicate with exploring server due to a network error`,\n {\n [\"error stack\"]: e.stack,\n },\n ),\n )\n }\n}\n",
74
+ "export const updateIframeOverflowOnParentWindow = () => {\n const aTooltipIsOpened =\n document.querySelector(\"[data-tooltip-visible]\") ||\n document.querySelector(\"[data-tooltip-auto-visible]\")\n const settingsAreOpened = document.querySelector(\"#settings[data-active]\")\n\n if (aTooltipIsOpened || settingsAreOpened) {\n enableIframeOverflowOnParentWindow()\n } else {\n disableIframeOverflowOnParentWindow()\n }\n}\n\nlet iframeOverflowEnabled = false\nconst enableIframeOverflowOnParentWindow = () => {\n if (iframeOverflowEnabled) return\n iframeOverflowEnabled = true\n\n const iframe = getToolbarIframe()\n const transitionDuration = iframe.style.transitionDuration\n setStyles(iframe, { \"height\": \"100%\", \"transition-duration\": \"0ms\" })\n if (transitionDuration) {\n setTimeout(() => {\n setStyles(iframe, { \"transition-duration\": transitionDuration })\n })\n }\n}\n\nconst disableIframeOverflowOnParentWindow = () => {\n if (!iframeOverflowEnabled) return\n iframeOverflowEnabled = false\n\n const iframe = getToolbarIframe()\n const transitionDuration = iframe.style.transitionDuration\n setStyles(iframe, { \"height\": \"40px\", \"transition-duration\": \"0ms\" })\n if (transitionDuration) {\n setTimeout(() => {\n setStyles(iframe, { \"transition-duration\": transitionDuration })\n })\n }\n}\n\nexport const getToolbarIframe = () => {\n const iframes = Array.from(window.parent.document.querySelectorAll(\"iframe\"))\n return iframes.find((iframe) => iframe.contentWindow === window)\n}\n\nexport const forceHideElement = (element) => {\n element.setAttribute(\"data-force-hide\", \"\")\n}\n\nexport const removeForceHideElement = (element) => {\n element.removeAttribute(\"data-force-hide\")\n}\n\nexport const setStyles = (element, styles) => {\n const elementStyle = element.style\n const restoreStyles = Object.keys(styles).map((styleName) => {\n let restore\n if (styleName in elementStyle) {\n const currentStyle = elementStyle[styleName]\n restore = () => {\n elementStyle[styleName] = currentStyle\n }\n } else {\n restore = () => {\n delete elementStyle[styleName]\n }\n }\n\n elementStyle[styleName] = styles[styleName]\n\n return restore\n })\n return () => {\n restoreStyles.forEach((restore) => restore())\n }\n}\n\nexport const setAttributes = (element, attributes) => {\n Object.keys(attributes).forEach((name) => {\n element.setAttribute(name, attributes[name])\n })\n}\n\nexport const getDocumentScroll = () => {\n return {\n x: document.documentElement.scrollLeft,\n y: document.documentElement.scrollTop,\n }\n}\n\nexport const toolbarSectionIsActive = (element) => {\n return element.hasAttribute(\"data-active\")\n}\n\nexport const activateToolbarSection = (element) => {\n element.setAttribute(\"data-active\", \"\")\n}\n\nexport const deactivateToolbarSection = (element) => {\n element.removeAttribute(\"data-active\")\n}\n",
75
+ "import { setStyles } from \"./dom.js\"\n\nconst animateFallback = () => {\n return Promise.resolve()\n}\n\nconst animateNative = (node, keyframes, { signal, ...options } = {}) => {\n const animation = node.animate(keyframes, options)\n if (signal) {\n signal.addEventListener(\"abort\", () => {\n animation.cancel()\n })\n }\n return new Promise((resolve) => {\n animation.onfinish = resolve\n })\n}\n\nexport const canUseAnimation = () =>\n typeof HTMLElement.prototype.animate === \"function\"\n\nexport const animateElement = canUseAnimation()\n ? animateNative\n : animateFallback\n\nexport const fadeIn = (node, options) =>\n animateElement(\n node,\n [\n {\n opacity: 0,\n },\n {\n opacity: 1,\n },\n ],\n options,\n )\n\nexport const fadeOut = (node, options) =>\n animateElement(\n node,\n [\n {\n opacity: 1,\n },\n {\n opacity: 0,\n },\n ],\n options,\n )\n\nexport const move = (fromNode, toNode, options) => {\n const fromComputedStyle = window.getComputedStyle(fromNode)\n const toComputedStyle = window.getComputedStyle(toNode)\n // get positions of input in toolbar and aElement\n const fromPosition = fromNode.getBoundingClientRect()\n const toPosition = toNode.getBoundingClientRect()\n\n // we'll do the animation in a div preventing overflow and pointer events\n const div = document.createElement(\"div\")\n div.style.position = \"absolute\"\n div.style.left = 0\n div.style.top = 0\n div.style.width = `${document.documentElement.scrollWidth}px`\n div.style.height = `${document.documentElement.scrollHeight}px`\n div.style.overflow = \"hidden\"\n div.style.pointerEvents = \"none\"\n\n const documentScroll = {\n left: window.pageXOffset || document.documentElement.scrollLeft,\n top: window.pageYOffset || document.documentElement.scrollTop,\n }\n\n // clone node and style it\n const copy = fromNode.cloneNode(true)\n copy.style.position = \"absolute\"\n copy.style.left = `${documentScroll.left + fromPosition.left}px`\n copy.style.top = `${documentScroll.top + fromPosition.top}px`\n copy.style.maxWidth = `${fromPosition.right - fromPosition.left}px`\n copy.style.overflow = toComputedStyle.overflow\n copy.style.textOverflow = toComputedStyle.textOverflow\n div.appendChild(copy)\n document.body.appendChild(div)\n\n const left =\n toPosition.left -\n fromPosition.left -\n (parseInt(fromComputedStyle.paddingLeft) || 0)\n const top =\n toPosition.top -\n fromPosition.top -\n (parseInt(fromComputedStyle.paddingTop) || 0)\n // define final position of new element and the duration\n const translate = `translate(${left}px, ${top}px)`\n\n // animate new element\n return animateElement(\n copy,\n [\n {\n transform: \"translate(0px, 0px)\",\n backgroundColor: fromComputedStyle.backgroundColor,\n color: fromComputedStyle.color,\n fontSize: fromComputedStyle.fontSize,\n height: `${fromPosition.bottom - fromPosition.top}px`,\n width: \"100%\",\n },\n {\n offset: 0.9,\n backgroundColor: fromComputedStyle.backgroundColor,\n color: fromComputedStyle.color,\n },\n {\n transform: translate,\n backgroundColor: toComputedStyle.backgroundColor,\n color: toComputedStyle.color,\n fontSize: toComputedStyle.fontSize,\n height: `${toPosition.bottom - toPosition.top}px`,\n width: toComputedStyle.width,\n },\n ],\n options,\n ).then(() => {\n div.parentNode.removeChild(div)\n })\n}\n\n// the whole point of this toolbar animation wass to flight a visual imperfection when it's done by css transition.\n// This imperfection is a white line sometimes flickering at the bottom of the page.\n// It got fixed by removing the usage of calc(100vh - 40px)\n// It was hapenning in chrome, safari but not inside Firefox\n// I assume it's because Firefox does not read parent element min-height while\n// chrome use it to compute min-height: 100%\nexport const createToolbarAnimation = () => {\n const collapsedState = {\n \"#page\": { paddingBottom: 0 },\n \"footer\": { height: 0 },\n \"#toolbar\": { visibility: \"hidden\" },\n }\n const expandedState = {\n \"#page\": { paddingBottom: \"40px\" },\n \"footer\": { height: \"40px\" },\n \"#toolbar\": { visibility: \"visible\" },\n }\n const expandTransition = transit(collapsedState, expandedState, {\n duration: 300,\n })\n\n const expand = () => {\n expandTransition.play()\n }\n\n const collapse = () => {\n expandTransition.reverse()\n }\n\n return { expand, collapse }\n}\n\nexport const transit = (\n fromState,\n toState,\n { commitStyles = true, fill = \"both\", duration = 300 } = {},\n) => {\n const steps = []\n Object.keys(fromState).forEach((selector) => {\n const fromStyles = {}\n const toStyles = {}\n const element = document.querySelector(selector)\n\n const keyframes = []\n const fromProperties = fromState[selector]\n const toProperties = toState[selector]\n Object.keys(fromProperties).forEach((propertyName) => {\n const from = fromProperties[propertyName]\n const to = toProperties[propertyName]\n fromStyles[propertyName] = from\n toStyles[propertyName] = to\n })\n keyframes.push(fromStyles, toStyles)\n\n let animation\n if (canUseAnimation()) {\n const effect = new KeyframeEffect(element, keyframes, { fill, duration })\n animation = new Animation(effect)\n } else {\n animation = {\n playbackRate: 1,\n play: () => {\n animation.onfinish()\n },\n reverse: () => {\n animation.playbackRate = -1\n animation.onfinish()\n },\n finish: () => {},\n onfinish: () => {},\n }\n }\n\n steps.push({\n element,\n animation,\n fromStyles,\n toStyles,\n })\n })\n\n const play = async () => {\n await Promise.all(\n steps.map(({ animation, element, toStyles }) => {\n return new Promise((resolve) => {\n animation.onfinish = () => {\n if (commitStyles) {\n setStyles(element, toStyles)\n }\n resolve()\n }\n if (animation.playbackRate === -1) {\n animation.reverse()\n } else {\n animation.play()\n }\n })\n }),\n )\n }\n\n const reverse = async () => {\n await Promise.all(\n steps.map(({ animation, element, fromStyles }) => {\n return new Promise((resolve) => {\n animation.onfinish = () => {\n if (commitStyles) {\n setStyles(element, fromStyles)\n }\n resolve()\n }\n animation.reverse()\n })\n }),\n )\n }\n\n const finish = async () => {\n steps.forEach(({ animation }) => {\n animation.finish()\n })\n }\n\n return { play, reverse, finish }\n}\n\nexport const startJavaScriptAnimation = ({\n duration = 300,\n timingFunction = (t) => t,\n onProgress = () => {},\n onCancel = () => {},\n onComplete = () => {},\n}) => {\n if (isNaN(duration)) {\n // console.warn(`duration must be a number, received ${duration}`)\n return () => {}\n }\n duration = parseInt(duration, 10)\n const startMs = performance.now()\n let currentRequestAnimationFrameId\n let done = false\n let rawProgress = 0\n let progress = 0\n const handler = () => {\n currentRequestAnimationFrameId = null\n const nowMs = performance.now()\n rawProgress = Math.min((nowMs - startMs) / duration, 1)\n progress = timingFunction(rawProgress)\n done = rawProgress === 1\n onProgress({\n done,\n rawProgress,\n progress,\n })\n if (done) {\n onComplete()\n } else {\n currentRequestAnimationFrameId = window.requestAnimationFrame(handler)\n }\n }\n handler()\n const stop = () => {\n if (currentRequestAnimationFrameId) {\n window.cancelAnimationFrame(currentRequestAnimationFrameId)\n currentRequestAnimationFrameId = null\n }\n if (!done) {\n done = true\n onCancel({\n rawProgress,\n progress,\n })\n }\n }\n return stop\n}\n",
76
+ "// handle data-last-interaction attr on html (focusring)\nwindow.addEventListener(\"mousedown\", (mousedownEvent) => {\n if (mousedownEvent.defaultPrevented) {\n return\n }\n document.documentElement.setAttribute(\"data-last-interaction\", \"mouse\")\n})\nwindow.addEventListener(\"touchstart\", (touchstartEvent) => {\n if (touchstartEvent.defaultPrevented) {\n return\n }\n document.documentElement.setAttribute(\"data-last-interaction\", \"mouse\")\n})\nwindow.addEventListener(\"keydown\", (keydownEvent) => {\n if (keydownEvent.defaultPrevented) {\n return\n }\n document.documentElement.setAttribute(\"data-last-interaction\", \"keyboard\")\n})\n",
77
+ "export const renderBackToListInToolbar = ({\n outDirectoryRelativeUrl,\n exploringHtmlFileRelativeUrl,\n}) => {\n const exploringHtmlFileUrl = `/${outDirectoryRelativeUrl}otherwise/${exploringHtmlFileRelativeUrl}`\n\n document.querySelector(\"#file-list-link a\").href = exploringHtmlFileUrl\n document.querySelector(\"#file-list-link a\").onclick = (clickEvent) => {\n if (clickEvent.defaultPrevented) {\n return\n }\n\n if (isClickToOpenTab(clickEvent)) {\n return\n }\n\n window.parent.location.href = exploringHtmlFileUrl\n }\n}\n\nconst isClickToOpenTab = (clickEvent) => {\n if (clickEvent.button !== 0) {\n // Chrome < 55 fires a click event when the middle mouse button is pressed\n return true\n }\n if (clickEvent.metaKey) {\n return true\n }\n if (clickEvent.ctrlKey) {\n return true\n }\n return false\n}\n",
78
+ "export const createPreference = (name) => {\n return {\n has: () => localStorage.hasOwnProperty(name),\n get: () =>\n localStorage.hasOwnProperty(name)\n ? JSON.parse(localStorage.getItem(name))\n : undefined,\n set: (value) => localStorage.setItem(name, JSON.stringify(value)),\n }\n}\n",
79
+ "import { updateIframeOverflowOnParentWindow } from \"../util/dom.js\"\n\nexport const toggleTooltip = (element) => {\n if (element.hasAttribute(\"data-tooltip-visible\")) {\n hideTooltip(element)\n } else {\n showTooltip(element)\n }\n}\n\nexport const hideTooltip = (element) => {\n element.removeAttribute(\"data-tooltip-visible\")\n element.removeAttribute(\"data-tooltip-auto-visible\")\n updateIframeOverflowOnParentWindow()\n}\n\nexport const showTooltip = (element) => {\n element.setAttribute(\"data-tooltip-visible\", \"\")\n updateIframeOverflowOnParentWindow()\n}\n\nexport const autoShowTooltip = (element) => {\n element.setAttribute(\"data-tooltip-auto-visible\", \"\")\n updateIframeOverflowOnParentWindow()\n}\n\nexport const removeAutoShowTooltip = (element) => {\n element.removeAttribute(\"data-tooltip-auto-visible\")\n updateIframeOverflowOnParentWindow()\n}\n\nexport const hideAllTooltip = () => {\n const elementsWithTooltip = Array.from(\n document.querySelectorAll(\"[data-tooltip-visible]\"),\n )\n elementsWithTooltip.forEach((elementWithTooltip) => {\n hideTooltip(elementWithTooltip)\n })\n}\n",
80
+ "import {\n toolbarSectionIsActive,\n deactivateToolbarSection,\n activateToolbarSection,\n updateIframeOverflowOnParentWindow,\n} from \"../util/dom.js\"\n\nexport const renderToolbarSettings = () => {\n document.querySelector(\"#settings-button\").onclick = toggleSettings\n document.querySelector(\"#button-close-settings\").onclick = toggleSettings\n}\n\nconst toggleSettings = () => {\n if (settingsAreVisible()) {\n hideSettings()\n } else {\n showSettings()\n }\n}\n\nexport const settingsAreVisible = () => {\n return toolbarSectionIsActive(document.querySelector(`#settings`))\n}\n\nexport const hideSettings = () => {\n deactivateToolbarSection(document.querySelector(`#settings`))\n updateIframeOverflowOnParentWindow()\n}\n\nexport const showSettings = () => {\n activateToolbarSection(document.querySelector(`#settings`))\n updateIframeOverflowOnParentWindow()\n}\n",
81
+ "import { createPreference } from \"../util/preferences.js\"\n\nconst notificationPreference = createPreference(\"notification\")\n\nconst arrayOfOpenedNotifications = []\nexport const renderToolbarNotification = () => {\n const notifCheckbox = document.querySelector(\"#toggle-notifs\")\n notifCheckbox.checked = getNotificationPreference()\n notifCheckbox.onchange = () => {\n setNotificationPreference(notifCheckbox.checked)\n if (notifCheckbox.checked) {\n // request permission early\n // especially useful on firefox where you can request permission\n // only inside a user generated event such as this onchange handler\n requestPermission()\n } else {\n // slice because arrayOfOpenedNotifications can be mutated while looping\n arrayOfOpenedNotifications.slice().forEach((notification) => {\n notification.close()\n })\n }\n }\n}\n\nexport const notifyExecutionResult = (\n executedFileRelativeUrl,\n execution,\n previousExecution,\n) => {\n const notificationEnabled = getNotificationPreference()\n if (!notificationEnabled) return\n\n const notificationOptions = {\n lang: \"en\",\n icon: getFaviconHref(),\n clickToFocus: true,\n clickToClose: true,\n }\n\n if (execution.status === \"errored\") {\n if (previousExecution) {\n if (previousExecution.status === \"completed\") {\n notify(\"Broken\", {\n ...notificationOptions,\n body: `${executedFileRelativeUrl} execution now failing.`,\n })\n } else {\n notify(\"Still failing\", {\n ...notificationOptions,\n body: `${executedFileRelativeUrl} execution still failing.`,\n })\n }\n } else {\n notify(\"Failing\", {\n ...notificationOptions,\n body: `${executedFileRelativeUrl} execution failed.`,\n })\n }\n } else if (previousExecution && previousExecution.status === \"errored\") {\n notify(\"Fixed\", {\n ...notificationOptions,\n body: `${executedFileRelativeUrl} execution fixed.`,\n })\n }\n}\n\nconst notificationAvailable = typeof window.Notification === \"function\"\n\nconst getNotificationPreference = () =>\n notificationPreference.has() ? notificationPreference.get() : true\n\nconst setNotificationPreference = (value) => notificationPreference.set(value)\n\nconst getFaviconHref = () => {\n const link = document.querySelector('link[rel=\"icon\"]')\n return link ? link.href : undefined\n}\n\nconst notify = notificationAvailable\n ? async (\n title,\n { clickToFocus = false, clickToClose = false, ...options } = {},\n ) => {\n const permission = await requestPermission()\n if (permission === \"granted\") {\n const notification = new Notification(title, options)\n arrayOfOpenedNotifications.push(notification)\n notification.onclick = () => {\n // but if the user navigated inbetween\n // focusing window will show something else\n // in that case it could be great to do something\n // maybe like showing a message saying this execution\n // is no longer visible\n // we could also navigauate to this file execution but\n // there is no guarantee re-executing the file would give same output\n // and it would also trigger an other notification\n if (clickToFocus) window.focus()\n if (clickToClose) notification.close()\n }\n notification.onclose = () => {\n const index = arrayOfOpenedNotifications.indexOf(notification)\n if (index > -1) {\n arrayOfOpenedNotifications.splice(index, 1)\n }\n }\n return notification\n }\n return null\n }\n : () => {}\n\nlet permissionPromise\nconst requestPermission = notificationAvailable\n ? async () => {\n if (permissionPromise) return permissionPromise\n permissionPromise = Notification.requestPermission()\n const permission = await permissionPromise\n permissionPromise = undefined\n return permission\n }\n : () => Promise.resolve(\"denied\")\n",
82
+ "import { createPreference } from \"../util/preferences.js\"\n\nconst DARK_THEME = \"dark\"\nconst LIGHT_THEME = \"light\"\nconst themePreference = createPreference(\"theme\")\n\nexport const renderToolbarTheme = () => {\n const theme = getThemePreference()\n const checkbox = document.querySelector(\"#checkbox-dark-theme\")\n checkbox.checked = theme === DARK_THEME\n setTheme(theme)\n checkbox.onchange = () => {\n if (checkbox.checked) {\n setThemePreference(DARK_THEME)\n setTheme(DARK_THEME)\n } else {\n setThemePreference(LIGHT_THEME)\n setTheme(LIGHT_THEME)\n }\n }\n}\n\nconst getThemePreference = () => {\n return themePreference.has() ? themePreference.get() : DARK_THEME\n}\n\nconst setThemePreference = (value) => {\n themePreference.set(value)\n setTheme(value)\n}\n\nconst setTheme = (theme) => {\n document.querySelector(\"html\").setAttribute(\"data-theme\", theme)\n}\n",
83
+ "import { createPreference } from \"../util/preferences.js\"\n\nconst animationPreference = createPreference(\"animation\")\n\nexport const renderToolbarAnimation = () => {\n const animCheckbox = document.querySelector(\"#toggle-anims\")\n animCheckbox.checked = getAnimationPreference()\n animCheckbox.onchange = () => {\n setAnimationPreference(animCheckbox.checked)\n onPreferenceChange(animCheckbox.checked)\n }\n onPreferenceChange()\n\n // enable toolbar transition only after first render\n setTimeout(() => {\n document.querySelector(\"#toolbar\").setAttribute(\"data-animate\", \"\")\n })\n}\n\nconst onPreferenceChange = (value = getAnimationPreference()) => {\n if (value) {\n enableAnimation()\n } else {\n disableAnimation()\n }\n}\n\nconst getAnimationPreference = () =>\n animationPreference.has() ? animationPreference.get() : true\n\nconst setAnimationPreference = (value) => animationPreference.set(value)\n\nconst enableAnimation = () => {\n document.documentElement.removeAttribute(\"data-animation-disabled\")\n}\n\nconst disableAnimation = () => {\n document.documentElement.setAttribute(\"data-animation-disabled\", \"\")\n}\n",
84
+ "export const enableVariant = (rootNode, variables) => {\n const nodesNotMatching = Array.from(\n rootNode.querySelectorAll(`[${attributeIndicatingACondition}]`),\n )\n nodesNotMatching.forEach((nodeNotMatching) => {\n const conditionAttributeValue = nodeNotMatching.getAttribute(\n attributeIndicatingACondition,\n )\n const matches = testCondition(conditionAttributeValue, variables)\n if (matches) {\n renameAttribute(\n nodeNotMatching,\n attributeIndicatingACondition,\n attributeIndicatingAMatch,\n )\n }\n })\n\n const nodesMatching = Array.from(\n rootNode.querySelectorAll(`[${attributeIndicatingAMatch}]`),\n )\n nodesMatching.forEach((nodeMatching) => {\n const conditionAttributeValue = nodeMatching.getAttribute(\n attributeIndicatingAMatch,\n )\n const matches = testCondition(conditionAttributeValue, variables)\n if (!matches) {\n renameAttribute(\n nodeMatching,\n attributeIndicatingAMatch,\n attributeIndicatingACondition,\n )\n }\n })\n}\n\nconst testCondition = (conditionAttributeValue, variables) => {\n const condition = parseCondition(conditionAttributeValue)\n return Object.keys(variables).some((key) => {\n if (condition.key !== key) {\n return false\n }\n // the condition do not specify a value, any value is ok\n if (condition.value === undefined) {\n return true\n }\n if (condition.value === variables[key]) {\n return true\n }\n return false\n })\n}\n\nconst parseCondition = (conditionAttributeValue) => {\n const colonIndex = conditionAttributeValue.indexOf(\":\")\n if (colonIndex === -1) {\n return {\n key: conditionAttributeValue,\n value: undefined,\n }\n }\n return {\n key: conditionAttributeValue.slice(0, colonIndex),\n value: conditionAttributeValue.slice(colonIndex + 1),\n }\n}\n\nconst attributeIndicatingACondition = `data-when`\nconst attributeIndicatingAMatch = `data-when-active`\n\nconst renameAttribute = (node, name, newName) => {\n node.setAttribute(newName, node.getAttribute(name))\n node.removeAttribute(name)\n}\n",
85
+ "export const createHorizontalBreakpoint = (breakpointValue) => {\n return createBreakpoint(windowWidthMeasure, breakpointValue)\n}\n\nconst createMeasure = ({ compute, register }) => {\n let currentValue = compute()\n\n const get = () => compute()\n\n const changed = createSignal()\n\n let unregister = () => {}\n if (register) {\n unregister = register(() => {\n const value = compute()\n if (value !== currentValue) {\n const previousValue = value\n currentValue = value\n changed.notify(value, previousValue)\n }\n })\n }\n\n return { get, changed, unregister }\n}\n\nconst createSignal = () => {\n const callbackArray = []\n\n const listen = (callback) => {\n callbackArray.push(callback)\n return () => {\n const index = callbackArray.indexOf(callback)\n if (index > -1) {\n callbackArray.splice(index, 1)\n }\n }\n }\n\n const notify = (...args) => {\n callbackArray.slice().forEach((callback) => {\n callback(...args)\n })\n }\n\n return { listen, notify }\n}\n\nconst windowWidthMeasure = createMeasure({\n name: \"window-width\",\n compute: () => window.innerWidth,\n register: (onchange) => {\n window.addEventListener(\"resize\", onchange)\n window.addEventListener(\"orientationchange\", onchange)\n return () => {\n window.removeEventListener(\"resize\", onchange)\n window.removeEventListener(\"orientationchange\", onchange)\n }\n },\n})\n\nconst createBreakpoint = (measure, breakpointValue) => {\n const getBreakpointState = () => {\n const value = measure.get()\n\n if (value < breakpointValue) {\n return \"below\"\n }\n if (value > breakpointValue) {\n return \"above\"\n }\n return \"equals\"\n }\n\n let currentBreakpointState = getBreakpointState()\n\n const isAbove = () => {\n return measure.get() > breakpointValue\n }\n\n const isBelow = () => {\n return measure.get() < breakpointValue\n }\n\n const breakpointChanged = createSignal()\n\n measure.changed.listen(() => {\n const breakpointState = getBreakpointState()\n if (breakpointState !== currentBreakpointState) {\n const breakpointStatePrevious = currentBreakpointState\n currentBreakpointState = breakpointState\n breakpointChanged.notify(breakpointState, breakpointStatePrevious)\n }\n })\n\n return {\n isAbove,\n isBelow,\n changed: breakpointChanged,\n }\n}\n\n// const windowScrollTop = createMeasure({\n// name: \"window-scroll-top\",\n// compute: () => window.scrollTop,\n// register: (onchange) => {\n// window.addEventListener(\"scroll\", onchange)\n// return () => {\n// window.removeEventListener(\"scroll\", onchange)\n// }\n// },\n// })\n",
86
+ "import { removeForceHideElement, activateToolbarSection } from \"../util/dom.js\"\nimport { enableVariant } from \"../variant/variant.js\"\nimport { createHorizontalBreakpoint } from \"../util/responsive.js\"\nimport { toggleTooltip } from \"../tooltip/tooltip.js\"\nimport { notifyExecutionResult } from \"../notification/toolbar.notification.js\"\n\nconst WINDOW_MEDIUM_WIDTH = 570\n\nexport const renderExecutionInToolbar = ({ executedFileRelativeUrl }) => {\n // reset file execution indicator ui\n applyExecutionIndicator()\n removeForceHideElement(document.querySelector(\"#execution-indicator\"))\n\n // apply responsive design on fileInput if needed + add listener on resize screen\n const input = document.querySelector(\"#file-input\")\n const fileWidthBreakpoint = createHorizontalBreakpoint(WINDOW_MEDIUM_WIDTH)\n const handleFileWidthBreakpoint = () => {\n resizeInput(input, fileWidthBreakpoint)\n }\n handleFileWidthBreakpoint()\n fileWidthBreakpoint.changed.listen(handleFileWidthBreakpoint)\n input.value = executedFileRelativeUrl\n resizeInput(input, fileWidthBreakpoint)\n\n activateToolbarSection(document.querySelector(\"#file\"))\n removeForceHideElement(document.querySelector(\"#file\"))\n\n window.parent.__jsenv__.executionResultPromise.then(\n ({ status, startTime, endTime }) => {\n const execution = { status, startTime, endTime }\n applyExecutionIndicator(execution)\n\n const executionStorageKey = executedFileRelativeUrl\n const previousExecution = sessionStorage.hasOwnProperty(\n executionStorageKey,\n )\n ? JSON.parse(sessionStorage.getItem(executionStorageKey))\n : undefined\n notifyExecutionResult(\n executedFileRelativeUrl,\n execution,\n previousExecution,\n )\n\n sessionStorage.setItem(executedFileRelativeUrl, JSON.stringify(execution))\n },\n )\n}\n\nconst applyExecutionIndicator = ({\n status = \"running\",\n startTime,\n endTime,\n} = {}) => {\n const executionIndicator = document.querySelector(\"#execution-indicator\")\n enableVariant(executionIndicator, { execution: status })\n const variantNode = executionIndicator.querySelector(\"[data-when-active]\")\n\n variantNode.querySelector(\"button\").onclick = () =>\n toggleTooltip(executionIndicator)\n variantNode.querySelector(\".tooltip\").textContent = computeText({\n status,\n startTime,\n endTime,\n })\n}\n\nconst computeText = ({ status, startTime, endTime }) => {\n if (status === \"completed\") {\n return `Execution completed in ${endTime - startTime}ms`\n }\n\n if (status === \"errored\") {\n return `Execution failed in ${endTime - startTime}ms`\n }\n\n if (status === \"running\") {\n return \"Executing...\"\n }\n\n return \"\"\n}\n\nconst resizeInput = (input, fileWidthBreakpoint) => {\n const size = fileWidthBreakpoint.isBelow() ? 20 : 40\n if (input.value.length > size) {\n input.style.width = `${size}ch`\n } else {\n input.style.width = `${input.value.length}ch`\n }\n}\n",
87
+ "export const COMPILE_ID_BEST = \"best\"\n\nexport const COMPILE_ID_OTHERWISE = \"otherwise\"\n\nexport const COMPILE_ID_BUILD_GLOBAL = \"build-global\"\n\nexport const COMPILE_ID_BUILD_GLOBAL_FILES = \"build-global-files\"\n\nexport const COMPILE_ID_BUILD_COMMONJS = \"build-commonjs\"\n\nexport const COMPILE_ID_BUILD_COMMONJS_FILES = \"build-commonjs-files\"\n",
88
+ "import { createDetailedMessage } from \"@jsenv/logger\"\nimport { COMPILE_ID_OTHERWISE } from \"../CONSTANTS.js\"\n\nexport const computeCompileIdFromGroupId = ({ groupId, groupMap }) => {\n if (typeof groupId === \"undefined\") {\n if (COMPILE_ID_OTHERWISE in groupMap) {\n return COMPILE_ID_OTHERWISE\n }\n\n const keys = Object.keys(groupMap)\n if (keys.length === 1) {\n return keys[0]\n }\n\n throw new Error(createUnexpectedGroupIdMessage({ groupMap }))\n }\n\n if (groupId in groupMap === false) {\n throw new Error(createUnexpectedGroupIdMessage({ groupId, groupMap }))\n }\n\n return groupId\n}\n\nconst createUnexpectedGroupIdMessage = ({ compileId, groupMap }) =>\n createDetailedMessage(`unexpected groupId.`, {\n [\"expected compiled id\"]: Object.keys(groupMap),\n [\"received compile id\"]: compileId,\n })\n",
89
+ "export const firstMatch = (regexp, string) => {\n const match = string.match(regexp)\n return match && match.length > 0 ? match[1] || undefined : undefined\n}\n\nexport const secondMatch = (regexp, string) => {\n const match = string.match(regexp)\n return match && match.length > 1 ? match[2] || undefined : undefined\n}\n\nexport const userAgentToVersion = (userAgent) => {\n return firstMatch(/version\\/(\\d+(\\.?_?\\d+)+)/i, userAgent) || undefined\n}\n",
90
+ "import { firstMatch } from \"./util.js\"\n\nexport const detectAndroid = () => navigatorToBrowser(window.navigator)\n\nconst navigatorToBrowser = ({ userAgent, appVersion }) => {\n if (/(android)/i.test(userAgent)) {\n return {\n name: \"android\",\n version: firstMatch(/Android (\\d+(\\.?_?\\d+)+)/i, appVersion),\n }\n }\n return null\n}\n",
91
+ "import { firstMatch } from \"./util.js\"\n\nexport const detectInternetExplorer = () =>\n userAgentToBrowser(window.navigator.userAgent)\n\nconst userAgentToBrowser = (userAgent) => {\n if (/msie|trident/i.test(userAgent)) {\n return {\n name: \"ie\",\n version: firstMatch(/(?:msie |rv:)(\\d+(\\.?_?\\d+)+)/i, userAgent),\n }\n }\n return null\n}\n",
92
+ "import { firstMatch, userAgentToVersion } from \"./util.js\"\n\nexport const detectOpera = () => userAgentToBrowser(window.navigator.userAgent)\n\nconst userAgentToBrowser = (userAgent) => {\n // opera below 13\n if (/opera/i.test(userAgent)) {\n return {\n name: \"opera\",\n version:\n userAgentToVersion(userAgent) ||\n firstMatch(/(?:opera)[\\s/](\\d+(\\.?_?\\d+)+)/i, userAgent),\n }\n }\n\n // opera above 13\n if (/opr\\/|opios/i.test(userAgent)) {\n return {\n name: \"opera\",\n version:\n firstMatch(/(?:opr|opios)[\\s/](\\S+)/i, userAgent) ||\n userAgentToVersion(userAgent),\n }\n }\n\n return null\n}\n",
93
+ "import { secondMatch } from \"./util.js\"\n\nexport const detectEdge = () => userAgentToBrowser(window.navigator.userAgent)\n\nconst userAgentToBrowser = (userAgent) => {\n if (/edg([ea]|ios)/i.test(userAgent)) {\n return {\n name: \"edge\",\n version: secondMatch(/edg([ea]|ios)\\/(\\d+(\\.?_?\\d+)+)/i, userAgent),\n }\n }\n return null\n}\n",
94
+ "import { firstMatch } from \"./util.js\"\n\nexport const detectFirefox = () =>\n userAgentToBrowser(window.navigator.userAgent)\n\nconst userAgentToBrowser = (userAgent) => {\n if (/firefox|iceweasel|fxios/i.test(userAgent)) {\n return {\n name: \"firefox\",\n version: firstMatch(\n /(?:firefox|iceweasel|fxios)[\\s/](\\d+(\\.?_?\\d+)+)/i,\n userAgent,\n ),\n }\n }\n return null\n}\n",
95
+ "import { userAgentToVersion, firstMatch } from \"./util.js\"\n\nexport const detectChrome = () => userAgentToBrowser(window.navigator.userAgent)\n\nconst userAgentToBrowser = (userAgent) => {\n if (/chromium/i.test(userAgent)) {\n return {\n name: \"chrome\",\n version:\n firstMatch(/(?:chromium)[\\s/](\\d+(\\.?_?\\d+)+)/i, userAgent) ||\n userAgentToVersion(userAgent),\n }\n }\n\n if (/chrome|crios|crmo/i.test(userAgent)) {\n return {\n name: \"chrome\",\n version: firstMatch(\n /(?:chrome|crios|crmo)\\/(\\d+(\\.?_?\\d+)+)/i,\n userAgent,\n ),\n }\n }\n\n return null\n}\n",
96
+ "import { userAgentToVersion } from \"./util.js\"\n\nexport const detectSafari = () => userAgentToBrowser(window.navigator.userAgent)\n\nconst userAgentToBrowser = (userAgent) => {\n if (/safari|applewebkit/i.test(userAgent)) {\n return {\n name: \"safari\",\n version: userAgentToVersion(userAgent),\n }\n }\n return null\n}\n",
97
+ "export const detectElectron = () => null // TODO\n",
98
+ "import { firstMatch } from \"./util.js\"\n\nexport const detectIOS = () => navigatorToBrowser(window.navigator)\n\nconst navigatorToBrowser = ({ userAgent, appVersion }) => {\n if (/iPhone;/.test(userAgent)) {\n return {\n name: \"ios\",\n version: firstMatch(/OS (\\d+(\\.?_?\\d+)+)/i, appVersion),\n }\n }\n if (/iPad;/.test(userAgent)) {\n return {\n name: \"ios\",\n version: firstMatch(/OS (\\d+(\\.?_?\\d+)+)/i, appVersion),\n }\n }\n return null\n}\n",
99
+ "// https://github.com/Ahmdrza/detect-browser/blob/26254f85cf92795655a983bfd759d85f3de850c6/detect-browser.js#L1\n// https://github.com/lancedikson/bowser/blob/master/src/parser-browsers.js#L1\n\nimport { detectAndroid } from \"./detectAndroid.js\"\nimport { detectInternetExplorer } from \"./detectInternetExplorer.js\"\nimport { detectOpera } from \"./detectOpera.js\"\nimport { detectEdge } from \"./detectEdge.js\"\nimport { detectFirefox } from \"./detectFirefox.js\"\nimport { detectChrome } from \"./detectChrome.js\"\nimport { detectSafari } from \"./detectSafari.js\"\nimport { detectElectron } from \"./detectElectron.js\"\nimport { detectIOS } from \"./detectIOS.js\"\n\nconst detectorCompose = (detectors) => () => {\n let i = 0\n while (i < detectors.length) {\n const detector = detectors[i]\n i++\n const result = detector()\n if (result) {\n return result\n }\n }\n return null\n}\n\nconst detector = detectorCompose([\n detectOpera,\n detectInternetExplorer,\n detectEdge,\n detectFirefox,\n detectChrome,\n detectSafari,\n detectElectron,\n detectIOS,\n detectAndroid,\n])\n\nexport const detectBrowser = () => {\n const { name = \"other\", version = \"unknown\" } = detector() || {}\n\n return {\n name: normalizeName(name),\n version: normalizeVersion(version),\n }\n}\n\nconst normalizeName = (name) => {\n return name.toLowerCase()\n}\n\nconst normalizeVersion = (version) => {\n if (version.indexOf(\".\") > -1) {\n const parts = version.split(\".\")\n // remove extraneous .\n return parts.slice(0, 3).join(\".\")\n }\n\n if (version.indexOf(\"_\") > -1) {\n const parts = version.split(\"_\")\n // remove extraneous _\n return parts.slice(0, 3).join(\"_\")\n }\n\n return version\n}\n",
100
+ "export const valueToVersion = (value) => {\n if (typeof value === \"number\") {\n return numberToVersion(value)\n }\n\n if (typeof value === \"string\") {\n return stringToVersion(value)\n }\n\n throw new TypeError(`version must be a number or a string, got ${value}`)\n}\n\nconst numberToVersion = (number) => {\n return {\n major: number,\n minor: 0,\n patch: 0,\n }\n}\n\nconst stringToVersion = (string) => {\n if (string.indexOf(\".\") > -1) {\n const parts = string.split(\".\")\n return {\n major: Number(parts[0]),\n minor: parts[1] ? Number(parts[1]) : 0,\n patch: parts[2] ? Number(parts[2]) : 0,\n }\n }\n\n if (isNaN(string)) {\n return {\n major: 0,\n minor: 0,\n patch: 0,\n }\n }\n\n return {\n major: Number(string),\n minor: 0,\n patch: 0,\n }\n}\n",
101
+ "import { valueToVersion } from \"./valueToVersion.js\"\n\nexport const versionCompare = (versionA, versionB) => {\n const semanticVersionA = valueToVersion(versionA)\n const semanticVersionB = valueToVersion(versionB)\n\n const majorDiff = semanticVersionA.major - semanticVersionB.major\n if (majorDiff > 0) {\n return majorDiff\n }\n if (majorDiff < 0) {\n return majorDiff\n }\n\n const minorDiff = semanticVersionA.minor - semanticVersionB.minor\n if (minorDiff > 0) {\n return minorDiff\n }\n if (minorDiff < 0) {\n return minorDiff\n }\n\n const patchDiff = semanticVersionA.patch - semanticVersionB.patch\n if (patchDiff > 0) {\n return patchDiff\n }\n if (patchDiff < 0) {\n return patchDiff\n }\n\n return 0\n}\n",
102
+ "import { versionCompare } from \"./versionCompare.js\"\n\nexport const versionIsBelow = (versionSupposedBelow, versionSupposedAbove) => {\n return versionCompare(versionSupposedBelow, versionSupposedAbove) < 0\n}\n",
103
+ "import { versionIsBelow } from \"./versionIsBelow.js\"\n\nexport const findHighestVersion = (...values) => {\n if (values.length === 0) throw new Error(`missing argument`)\n\n return values.reduce((highestVersion, value) => {\n if (versionIsBelow(highestVersion, value)) {\n return value\n }\n return highestVersion\n })\n}\n",
104
+ "import { findHighestVersion } from \"../semantic-versioning/index.js\"\n\nexport const resolveGroup = ({ name, version }, groupMap) => {\n return Object.keys(groupMap).find((compileIdCandidate) => {\n const { minRuntimeVersions } = groupMap[compileIdCandidate]\n const versionForGroup = minRuntimeVersions[name]\n if (!versionForGroup) {\n return false\n }\n const highestVersion = findHighestVersion(version, versionForGroup)\n return highestVersion === version\n })\n}\n",
105
+ "import { fetchJson } from \"../../browser-utils/fetchJson.js\"\nimport { computeCompileIdFromGroupId } from \"../computeCompileIdFromGroupId.js\"\nimport { detectBrowser } from \"../detectBrowser/detectBrowser.js\"\nimport { resolveGroup } from \"../resolveGroup.js\"\n\nexport const scanBrowserRuntimeFeatures = async ({\n coverageHandledFromOutside = false,\n failFastOnFeatureDetection = false,\n} = {}) => {\n const {\n outDirectoryRelativeUrl,\n inlineImportMapIntoHTML,\n customCompilerPatterns,\n compileServerGroupMap,\n } = await fetchJson(\"/.jsenv/__compile_server_meta__.json\")\n\n const browser = detectBrowser()\n const compileId = computeCompileIdFromGroupId({\n groupId: resolveGroup(browser, compileServerGroupMap),\n groupMap: compileServerGroupMap,\n })\n const groupInfo = compileServerGroupMap[compileId]\n\n const featuresReport = {\n importmap: undefined,\n dynamicImport: undefined,\n topLevelAwait: undefined,\n jsonImportAssertions: undefined,\n cssImportAssertions: undefined,\n newStylesheet: undefined,\n }\n await detectSupportedFeatures({\n featuresReport,\n failFastOnFeatureDetection,\n inlineImportMapIntoHTML,\n })\n const pluginRequiredNameArray = await pluginRequiredNamesFromGroupInfo(\n groupInfo,\n {\n featuresReport,\n coverageHandledFromOutside,\n },\n )\n\n const canAvoidCompilation =\n customCompilerPatterns.length === 0 &&\n pluginRequiredNameArray.length === 0 &&\n featuresReport.importmap &&\n featuresReport.dynamicImport &&\n featuresReport.topLevelAwait\n\n return {\n canAvoidCompilation,\n featuresReport,\n customCompilerPatterns,\n pluginRequiredNameArray,\n inlineImportMapIntoHTML,\n outDirectoryRelativeUrl,\n compileId,\n browser,\n }\n}\n\nconst detectSupportedFeatures = async ({\n featuresReport,\n failFastOnFeatureDetection,\n inlineImportMapIntoHTML,\n}) => {\n // start testing importmap support first and not in paralell\n // so that there is not module script loaded beore importmap is injected\n // it would log an error in chrome console and return undefined\n const importmap = await supportsImportmap({\n // chrome supports inline but not remote importmap\n // https://github.com/WICG/import-maps/issues/235\n\n // at this stage we won't know if the html file will use\n // an importmap or not and if that importmap is inline or specified with an src\n // so we should test if browser support local and remote importmap.\n // But there exploring server can inline importmap by transforming html\n // and in that case we can test only the local importmap support\n // so we test importmap support and the remote one\n remote: !inlineImportMapIntoHTML,\n })\n featuresReport.importmap = importmap\n if (!importmap && failFastOnFeatureDetection) {\n return\n }\n\n const dynamicImport = await supportsDynamicImport()\n featuresReport.dynamicImport = dynamicImport\n if (!dynamicImport && failFastOnFeatureDetection) {\n return\n }\n\n const topLevelAwait = await supportsTopLevelAwait()\n featuresReport.topLevelAwait = topLevelAwait\n if (!topLevelAwait && failFastOnFeatureDetection) {\n return\n }\n}\n\nconst pluginRequiredNamesFromGroupInfo = async (\n groupInfo,\n { featuresReport, coverageHandledFromOutside },\n) => {\n const { pluginRequiredNameArray } = groupInfo\n const requiredPluginNames = pluginRequiredNameArray.slice()\n const markPluginAsSupported = (name) => {\n const index = requiredPluginNames.indexOf(name)\n if (index > -1) {\n requiredPluginNames.splice(index, 1)\n }\n }\n\n // When instrumentation CAN be handed by playwright\n // https://playwright.dev/docs/api/class-chromiumcoverage#chromiumcoveragestartjscoverageoptions\n // coverageHandledFromOutside is true and \"transform-instrument\" becomes non mandatory\n if (coverageHandledFromOutside) {\n markPluginAsSupported(\"transform-instrument\")\n }\n\n if (pluginRequiredNameArray.includes(\"transform-import-assertions\")) {\n const jsonImportAssertions = await supportsJsonImportAssertions()\n featuresReport.jsonImportAssertions = jsonImportAssertions\n\n const cssImportAssertions = await supportsCssImportAssertions()\n featuresReport.cssImportAssertions = cssImportAssertions\n\n if (jsonImportAssertions && cssImportAssertions) {\n markPluginAsSupported(\"transform-import-assertions\")\n }\n }\n\n if (pluginRequiredNameArray.includes(\"new-stylesheet-as-jsenv-import\")) {\n const newStylesheet = supportsNewStylesheet()\n featuresReport.newStylesheet = newStylesheet\n markPluginAsSupported(\"new-stylesheet-as-jsenv-import\")\n }\n\n return requiredPluginNames\n}\n\nconst supportsNewStylesheet = () => {\n try {\n // eslint-disable-next-line no-new\n new CSSStyleSheet()\n return true\n } catch (e) {\n return false\n }\n}\n\nconst supportsImportmap = async ({ remote = true } = {}) => {\n const specifier = asBase64Url(`export default false`)\n\n const importMap = {\n imports: {\n [specifier]: asBase64Url(`export default true`),\n },\n }\n\n const importmapScript = document.createElement(\"script\")\n const importmapString = JSON.stringify(importMap, null, \" \")\n importmapScript.type = \"importmap\"\n if (remote) {\n importmapScript.src = `data:application/json;base64,${window.btoa(\n importmapString,\n )}`\n } else {\n importmapScript.textContent = importmapString\n }\n\n document.body.appendChild(importmapScript)\n\n const scriptModule = document.createElement(\"script\")\n scriptModule.type = \"module\"\n scriptModule.src = asBase64Url(\n `import supported from \"${specifier}\"; window.__importmap_supported = supported`,\n )\n\n return new Promise((resolve, reject) => {\n scriptModule.onload = () => {\n const supported = window.__importmap_supported\n delete window.__importmap_supported\n document.body.removeChild(scriptModule)\n document.body.removeChild(importmapScript)\n resolve(supported)\n }\n scriptModule.onerror = () => {\n document.body.removeChild(scriptModule)\n document.body.removeChild(importmapScript)\n reject()\n }\n document.body.appendChild(scriptModule)\n })\n}\n\nconst supportsDynamicImport = async () => {\n const moduleSource = asBase64Url(`export default 42`)\n try {\n const namespace = await import(moduleSource)\n return namespace.default === 42\n } catch (e) {\n return false\n }\n}\n\nconst supportsTopLevelAwait = async () => {\n const moduleSource = asBase64Url(`export default await Promise.resolve(42)`)\n try {\n const namespace = await import(moduleSource)\n return namespace.default === 42\n } catch (e) {\n return false\n }\n}\n\nconst supportsJsonImportAssertions = async () => {\n const jsonBase64Url = asBase64Url(\"42\", \"application/json\")\n const moduleSource = asBase64Url(\n `export { default } from \"${jsonBase64Url}\" assert { type: \"json\" }`,\n )\n try {\n const namespace = await import(moduleSource)\n return namespace.default === 42\n } catch (e) {\n return false\n }\n}\n\nconst supportsCssImportAssertions = async () => {\n const cssBase64Url = asBase64Url(\"p { color: red; }\", \"text/css\")\n const moduleSource = asBase64Url(\n `export { default } from \"${cssBase64Url}\" assert { type: \"css\" }`,\n )\n try {\n const namespace = await import(moduleSource)\n return namespace.default instanceof CSSStyleSheet\n } catch (e) {\n return false\n }\n}\n\nconst asBase64Url = (text, mimeType = \"application/javascript\") => {\n return `data:${mimeType};base64,${window.btoa(text)}`\n}\n",
106
+ "import { scanBrowserRuntimeFeatures } from \"../../runtime/createBrowserRuntime/scanBrowserRuntimeFeatures.js\"\nimport { removeForceHideElement } from \"../util/dom.js\"\nimport { enableVariant } from \"../variant/variant.js\"\n\nexport const renderCompilationInToolbar = ({ compileGroup }) => {\n const browserSupportRootNode = document.querySelector(\"#browser_support\")\n const filesCompilationRootNode = document.querySelector(\"#files_compilation\")\n\n removeForceHideElement(browserSupportRootNode)\n removeForceHideElement(filesCompilationRootNode)\n\n scanBrowserRuntimeFeatures().then(\n ({\n canAvoidCompilation,\n featuresReport,\n customCompilerPatterns,\n pluginRequiredNameArray,\n inlineImportMapIntoHTML,\n outDirectoryRelativeUrl,\n compileId,\n }) => {\n const browserSupport = canAvoidCompilation\n ? inlineImportMapIntoHTML\n ? \"partial\"\n : \"full\"\n : \"no\"\n enableVariant(browserSupportRootNode, {\n browserSupport,\n })\n if (browserSupport === \"no\") {\n browserSupportRootNode.querySelector(\n `a.browser_support_read_more_link`,\n ).onclick = () => {\n // eslint-disable-next-line no-alert\n window.alert(\n `Source files needs to be compiled to be executable in this browser because: ${getBrowserSupportMessage(\n {\n missingOnly: true,\n featuresReport,\n customCompilerPatterns,\n pluginRequiredNameArray,\n inlineImportMapIntoHTML,\n },\n )}`,\n )\n }\n } else if (browserSupport === \"partial\") {\n browserSupportRootNode.querySelector(\n `a.browser_support_read_more_link`,\n ).onclick = () => {\n // eslint-disable-next-line no-alert\n window.alert(\n `Source files (except html) can be executed directly in this browser because: ${getBrowserSupportMessage(\n {\n featuresReport,\n customCompilerPatterns,\n pluginRequiredNameArray,\n inlineImportMapIntoHTML,\n },\n )}`,\n )\n }\n } else if (browserSupport === \"full\") {\n browserSupportRootNode.querySelector(\n `a.browser_support_read_more_link`,\n ).onclick = () => {\n // eslint-disable-next-line no-alert\n window.alert(\n `Source files can be executed directly in this browser because: ${getBrowserSupportMessage(\n {\n featuresReport,\n customCompilerPatterns,\n pluginRequiredNameArray,\n inlineImportMapIntoHTML,\n },\n )}`,\n )\n }\n }\n\n const filesCompilation = compileGroup.compileId\n ? \"yes\"\n : inlineImportMapIntoHTML\n ? \"html_only\"\n : \"no\"\n enableVariant(filesCompilationRootNode, {\n filesCompilation,\n compiled: compileGroup.compileId ? \"yes\" : \"no\",\n })\n filesCompilationRootNode.querySelector(\"a.go_to_source_link\").onclick =\n () => {\n window.parent.location = `/${compileGroup.fileRelativeUrl}`\n }\n filesCompilationRootNode.querySelector(\"a.go_to_compiled_link\").onclick =\n () => {\n window.parent.location = `/${outDirectoryRelativeUrl}${compileId}/${compileGroup.fileRelativeUrl}`\n }\n\n const shouldCompile =\n filesCompilation !== \"yes\" && browserSupport === \"no\"\n\n if (shouldCompile) {\n document\n .querySelector(\".files_compilation_text\")\n .setAttribute(\"data-warning\", \"\")\n document\n .querySelector(\".browser_support_text\")\n .setAttribute(\"data-warning\", \"\")\n document\n .querySelector(\"#settings-button\")\n .setAttribute(\"data-warning\", \"\")\n } else {\n document\n .querySelector(\".files_compilation_text\")\n .removeAttribute(\"data-warning\")\n document\n .querySelector(\".browser_support_text\")\n .removeAttribute(\"data-warning\")\n document\n .querySelector(\"#settings-button\")\n .removeAttribute(\"data-warning\")\n }\n },\n )\n}\n\nconst getBrowserSupportMessage = ({\n missingOnly,\n featuresReport,\n customCompilerPatterns,\n pluginRequiredNameArray,\n inlineImportMapIntoHTML,\n}) => {\n const parts = []\n\n const { importmapSupported } = featuresReport\n if (importmapSupported) {\n if (!missingOnly) {\n if (inlineImportMapIntoHTML) {\n parts.push(`importmaps are supported (only when inlined in html files)`)\n } else {\n parts.push(`importmaps are supported`)\n }\n }\n } else {\n parts.push(`importmaps are not supported`)\n }\n\n const { dynamicImportSupported } = featuresReport\n if (dynamicImportSupported) {\n if (!missingOnly) {\n parts.push(`dynamic imports are supported`)\n }\n } else {\n parts.push(`dynamic imports are not supported`)\n }\n\n const { topLevelAwaitSupported } = featuresReport\n if (topLevelAwaitSupported) {\n if (!missingOnly) {\n parts.push(`top level await is supported`)\n }\n } else {\n parts.push(`top level await is not supported`)\n }\n\n const pluginRequiredCount = pluginRequiredNameArray.length\n if (pluginRequiredCount === 0) {\n if (!missingOnly) {\n parts.push(`all plugins are natively supported`)\n }\n } else {\n parts.push(\n `${pluginRequiredCount} plugins are mandatory: ${pluginRequiredNameArray}`,\n )\n }\n\n const customCompilerCount = customCompilerPatterns.length\n if (customCompilerCount === 0) {\n // no need to talk about something unused\n } else {\n parts.push(\n `${customCompilerCount} custom compilers enabled: ${customCompilerPatterns}`,\n )\n }\n\n return `\n- ${parts.join(`\n- `)}`\n}\n",
107
+ "export const createPromiseAndHooks = () => {\n let resolve\n let reject\n const promise = new Promise((res, rej) => {\n resolve = res\n reject = rej\n })\n promise.resolve = resolve\n promise.reject = reject\n return promise\n}\n\nexport const moveElement = (element, from, to) => {\n to.appendChild(element)\n}\n\nexport const replaceElement = (elementToReplace, otherElement) => {\n elementToReplace.parentNode.replaceChild(otherElement, elementToReplace)\n}\n",
108
+ "export const connectEventSource = (\n eventSourceUrl,\n events = {},\n {\n connecting = () => {},\n connected = () => {},\n cancelled = () => {},\n failed = () => {},\n retryMaxAttempt = Infinity,\n retryAllocatedMs = Infinity,\n lastEventId,\n } = {},\n) => {\n const { EventSource } = window\n if (typeof EventSource !== \"function\") {\n return () => {}\n }\n\n const eventSourceOrigin = new URL(eventSourceUrl).origin\n\n // will be either abort, disconnect or a third function calling cancelled\n // depending on connectionStatus\n let cancelCurrentConnection = () => {}\n\n const reconnect = () => {\n attemptConnection(\n lastEventId\n ? addLastEventIdIntoUrlSearchParams(eventSourceUrl, lastEventId)\n : eventSourceUrl,\n )\n }\n\n const attemptConnection = (url) => {\n const eventSource = new EventSource(url, {\n withCredentials: true,\n })\n\n let connectionStatus = \"connecting\"\n const abort = () => {\n if (connectionStatus !== \"connecting\") {\n console.warn(`abort ignored because connection is ${connectionStatus}`)\n return\n }\n connectionStatus = \"aborted\"\n eventSource.onerror = undefined\n eventSource.close()\n cancelled({ connect: reconnect })\n }\n cancelCurrentConnection = abort\n connecting({ cancel: abort })\n\n eventSource.onopen = () => {\n connectionStatus = \"connected\"\n const disconnect = () => {\n if (connectionStatus !== \"connected\") {\n console.warn(\n `disconnect ignored because connection is ${connectionStatus}`,\n )\n return\n }\n connectionStatus = \"disconnected\"\n eventSource.onerror = undefined\n eventSource.close()\n cancelled({ connect: reconnect })\n }\n cancelCurrentConnection = disconnect\n connected({ cancel: disconnect })\n }\n\n let retryCount = 0\n let firstRetryMs = Date.now()\n\n eventSource.onerror = (errorEvent) => {\n const considerFailed = () => {\n connectionStatus = \"disconnected\"\n failed({\n cancel: () => {\n if (connectionStatus !== \"failed\") {\n console.warn(\n `disable ignored because connection is ${connectionStatus}`,\n )\n return\n }\n connectionStatus = \"disabled\"\n cancelled({ connect: reconnect })\n },\n connect: reconnect,\n })\n }\n\n if (errorEvent.target.readyState === EventSource.CONNECTING) {\n if (retryCount > retryMaxAttempt) {\n console.info(`could not connect after ${retryMaxAttempt} attempt`)\n eventSource.onerror = undefined\n eventSource.close()\n considerFailed()\n return\n }\n\n if (retryCount === 0) {\n firstRetryMs = Date.now()\n } else {\n const allRetryDuration = Date.now() - firstRetryMs\n if (retryAllocatedMs && allRetryDuration > retryAllocatedMs) {\n console.info(\n `could not connect in less than ${retryAllocatedMs} ms`,\n )\n eventSource.onerror = undefined\n eventSource.close()\n considerFailed()\n return\n }\n }\n\n connectionStatus = \"connecting\"\n retryCount++\n connecting({ cancel: abort })\n return\n }\n\n if (errorEvent.target.readyState === EventSource.CLOSED) {\n considerFailed()\n return\n }\n }\n Object.keys(events).forEach((eventName) => {\n eventSource.addEventListener(eventName, (e) => {\n if (e.origin === eventSourceOrigin) {\n if (e.lastEventId) {\n lastEventId = e.lastEventId\n }\n events[eventName](e)\n }\n })\n })\n if (!events.hasOwnProperty(\"welcome\")) {\n eventSource.addEventListener(\"welcome\", (e) => {\n if (e.origin === eventSourceOrigin && e.lastEventId) {\n lastEventId = e.lastEventId\n }\n })\n }\n }\n\n attemptConnection(eventSourceUrl)\n const disconnect = () => {\n cancelCurrentConnection()\n }\n\n const removePageUnloadListener = listenPageUnload(() => {\n disconnect()\n })\n\n return () => {\n removePageUnloadListener()\n disconnect()\n }\n}\n\nconst addLastEventIdIntoUrlSearchParams = (url, lastEventId) => {\n if (url.indexOf(\"?\") === -1) {\n url += \"?\"\n } else {\n url += \"&\"\n }\n return `${url}last-event-id=${encodeURIComponent(lastEventId)}`\n}\n\n// const listenPageMightFreeze = (callback) => {\n// const removePageHideListener = listenEvent(window, \"pagehide\", (pageHideEvent) => {\n// if (pageHideEvent.persisted === true) {\n// callback(pageHideEvent)\n// }\n// })\n// return removePageHideListener\n// }\n\n// const listenPageFreeze = (callback) => {\n// const removeFreezeListener = listenEvent(document, \"freeze\", (freezeEvent) => {\n// callback(freezeEvent)\n// })\n// return removeFreezeListener\n// }\n\n// const listenPageIsRestored = (callback) => {\n// const removeResumeListener = listenEvent(document, \"resume\", (resumeEvent) => {\n// removePageshowListener()\n// callback(resumeEvent)\n// })\n// const removePageshowListener = listenEvent(window, \"pageshow\", (pageshowEvent) => {\n// if (pageshowEvent.persisted === true) {\n// removePageshowListener()\n// removeResumeListener()\n// callback(pageshowEvent)\n// }\n// })\n// return () => {\n// removeResumeListener()\n// removePageshowListener()\n// }\n// }\n\nconst listenPageUnload = (callback) => {\n const removePageHideListener = listenEvent(\n window,\n \"pagehide\",\n (pageHideEvent) => {\n if (pageHideEvent.persisted !== true) {\n callback(pageHideEvent)\n }\n },\n )\n return removePageHideListener\n}\n\nconst listenEvent = (emitter, event, callback) => {\n emitter.addEventListener(event, callback)\n return () => {\n emitter.removeEventListener(event, callback)\n }\n}\n",
109
+ "import { connectEventSource } from \"./connectEventSource.js\"\nimport { jsenvLogger } from \"../util/jsenvLogger.js\"\n\nexport const connectCompileServerEventSource = (\n fileRelativeUrl,\n {\n onFileModified,\n onFileRemoved,\n onConnecting,\n onConnectionCancelled,\n onConnectionFailed,\n onConnected,\n lastEventId,\n },\n) => {\n const eventSourceUrl = `${window.origin}/${fileRelativeUrl}`\n\n let cancel = () => {}\n\n const connect = () => {\n return new Promise((resolve) => {\n cancel = connectEventSource(\n eventSourceUrl,\n {\n \"file-modified\": ({ data }) => {\n jsenvLogger.debug(`${data} modified`)\n onFileModified(data)\n },\n \"file-removed\": ({ data }) => {\n jsenvLogger.debug(`${data} removed`)\n onFileRemoved(data)\n },\n },\n {\n connecting: ({ cancel }) => {\n jsenvLogger.debug(`connecting to ${eventSourceUrl}`)\n onConnecting({\n cancel: () => {\n cancel()\n },\n })\n },\n connected: ({ cancel }) => {\n jsenvLogger.debug(`connected to ${eventSourceUrl}`)\n resolve(true)\n onConnected({\n cancel: () => {\n cancel()\n },\n })\n },\n cancelled: ({ connect }) => {\n jsenvLogger.debug(`disconnected from ${eventSourceUrl}`)\n resolve(false)\n onConnectionCancelled({ connect })\n },\n failed: ({ connect }) => {\n jsenvLogger.debug(`disconnected from ${eventSourceUrl}`)\n resolve(false)\n onConnectionFailed({ connect })\n },\n retryMaxAttempt: Infinity,\n retryAllocatedMs: 20 * 1000,\n lastEventId,\n },\n )\n })\n }\n\n return {\n connect,\n disconnect: () => cancel(),\n }\n}\n",
110
+ "import { removeForceHideElement } from \"../util/dom.js\"\nimport { createPromiseAndHooks } from \"../util/util.js\"\nimport { createPreference } from \"../util/preferences.js\"\nimport { enableVariant } from \"../variant/variant.js\"\n\nimport {\n toggleTooltip,\n removeAutoShowTooltip,\n autoShowTooltip,\n} from \"../tooltip/tooltip.js\"\nimport { connectCompileServerEventSource } from \"./connectCompileServerEventSource.js\"\n\nconst livereloadingPreference = createPreference(\"livereloading\")\nlet eventSourceState = \"default\"\nlet livereloadingAvailableOnServer = false\n\nexport const initToolbarEventSource = ({\n executedFileRelativeUrl,\n livereloading,\n}) => {\n const getLivereloadCallback = (originalFileProjectRelativeUrl) => {\n const callbacks = window.parent.__jsenv__.livereloadingCallbacks\n return callbacks[originalFileProjectRelativeUrl]\n }\n\n removeForceHideElement(document.querySelector(\"#eventsource-indicator\"))\n connectEventSource({ executedFileRelativeUrl, getLivereloadCallback })\n livereloadingAvailableOnServer = livereloading\n if (!livereloadingAvailableOnServer) {\n disableLivereloadSetting()\n }\n\n const livereloadCheckbox = document.querySelector(\"#toggle-livereload\")\n livereloadCheckbox.checked = shouldLivereload()\n livereloadCheckbox.onchange = () => {\n livereloadingPreference.set(livereloadCheckbox.checked)\n updateEventSourceIndicator()\n }\n updateEventSourceIndicator()\n}\n\nconst shouldLivereload = () => {\n return livereloadingAvailableOnServer && getLivereloadingPreference()\n}\n\nconst disableLivereloadSetting = () => {\n document\n .querySelector(\".settings-livereload\")\n .setAttribute(\"data-disabled\", \"true\")\n document\n .querySelector(\".settings-livereload\")\n .setAttribute(\"title\", `Livereload not available: disabled by server`)\n document.querySelector(\"#toggle-livereload\").disabled = true\n}\n\nconst parentEventSource = window.parent.__jsenv_eventsource__()\nconst latestChangeMap = parentEventSource.latestChangeMap\nlet eventSourceHooks = {}\nlet eventSourceConnection\nlet connectionReadyPromise\n\nconst handleFileChange = ({ file, eventType, livereloadCallback }) => {\n latestChangeMap[file] = eventType\n updateEventSourceIndicator()\n\n if (shouldLivereload()) {\n if (livereloadCallback) {\n livereloadCallback({\n file,\n latestChangeMap,\n reloadPage,\n })\n } else if (\n file.endsWith(\".css\") ||\n file.endsWith(\".scss\") ||\n file.endsWith(\".sass\")\n ) {\n reloadAllCss()\n delete latestChangeMap[file]\n updateEventSourceIndicator()\n } else {\n reloadPage()\n }\n }\n}\n\nconst reloadAllCss = () => {\n const links = Array.from(window.parent.document.getElementsByTagName(\"link\"))\n links.forEach((link) => {\n if (link.rel === \"stylesheet\") {\n const url = new URL(link.href)\n url.searchParams.set(\"t\", Date.now())\n link.href = String(url)\n }\n })\n}\n\nconst reloadPage = () => {\n window.parent.location.reload(true)\n}\n\nconst reloadChanges = () => {\n const fullReloadRequired = Object.keys(latestChangeMap).some(\n (key) => !key.endsWith(\".css\"),\n )\n if (fullReloadRequired) {\n reloadPage()\n return\n }\n const cssReloadRequired = Object.keys(latestChangeMap).some((key) =>\n key.endsWith(\".css\"),\n )\n if (cssReloadRequired) {\n reloadAllCss()\n Object.keys(latestChangeMap).forEach((key) => {\n if (key.endsWith(\".css\")) {\n delete latestChangeMap[key]\n }\n updateEventSourceIndicator()\n })\n }\n}\n\nconst connectEventSource = ({\n executedFileRelativeUrl,\n getLivereloadCallback,\n}) => {\n updateEventSourceIndicator()\n connectionReadyPromise = createPromiseAndHooks()\n\n eventSourceConnection = connectCompileServerEventSource(\n executedFileRelativeUrl,\n {\n onFileModified: (file) => {\n handleFileChange({\n file,\n eventType: \"modified\",\n livereloadCallback: getLivereloadCallback(file),\n })\n },\n onFileRemoved: (file) => {\n handleFileChange({\n file,\n eventType: \"removed\",\n livereloadCallback: getLivereloadCallback(file),\n })\n },\n onFileAdded: (file) => {\n handleFileChange({\n file,\n eventType: \"added\",\n livereloadCallback: getLivereloadCallback(file),\n })\n },\n onConnecting: ({ cancel }) => {\n eventSourceState = \"connecting\"\n eventSourceHooks = { abort: cancel }\n updateEventSourceIndicator()\n },\n onConnectionCancelled: ({ connect }) => {\n eventSourceState = \"disabled\"\n eventSourceHooks = { connect }\n updateEventSourceIndicator()\n },\n onConnectionFailed: ({ connect }) => {\n eventSourceState = \"failed\"\n eventSourceHooks = { reconnect: connect }\n updateEventSourceIndicator()\n },\n onConnected: ({ cancel }) => {\n eventSourceState = \"connected\"\n eventSourceHooks = { disconnect: cancel }\n updateEventSourceIndicator()\n connectionReadyPromise.resolve()\n parentEventSource.disconnect()\n },\n lastEventId: parentEventSource.lastEventId,\n },\n )\n\n eventSourceConnection.connect()\n}\n\nconst getLivereloadingPreference = () => {\n return livereloadingPreference.has() ? livereloadingPreference.get() : true\n}\n\nexport const disconnectEventSource = () => {\n if (eventSourceConnection) {\n eventSourceConnection.disconnect()\n eventSourceConnection = undefined\n }\n}\n\nexport const waitEventSourceReady = () => connectionReadyPromise\n\nconst updateEventSourceIndicator = () => {\n const { connect, abort, reconnect } = eventSourceHooks\n\n const eventSourceIndicator = document.querySelector(\"#eventsource-indicator\")\n const changeCount = Object.keys(latestChangeMap).length\n enableVariant(eventSourceIndicator, {\n eventsource: eventSourceState,\n livereload: shouldLivereload() ? \"on\" : \"off\",\n changes: changeCount > 0 ? \"yes\" : \"no\",\n })\n\n const variantNode = document.querySelector(\n \"#eventsource-indicator > [data-when-active]\",\n )\n variantNode.querySelector(\"button\").onclick = () => {\n toggleTooltip(eventSourceIndicator)\n }\n\n if (eventSourceState === \"disabled\") {\n variantNode.querySelector(\"a\").onclick = connect\n } else if (eventSourceState === \"connecting\") {\n variantNode.querySelector(\"a\").onclick = abort\n } else if (eventSourceState === \"connected\") {\n removeAutoShowTooltip(eventSourceIndicator)\n if (changeCount) {\n const changeLink = variantNode.querySelector(\".eventsource-changes-link\")\n changeLink.innerHTML = changeCount\n changeLink.onclick = () => {\n console.log(\n JSON.stringify(latestChangeMap, null, \" \"),\n latestChangeMap,\n )\n // eslint-disable-next-line no-alert\n window.parent.alert(JSON.stringify(latestChangeMap, null, \" \"))\n }\n variantNode.querySelector(\".eventsource-reload-link\").onclick =\n reloadChanges\n }\n } else if (eventSourceState === \"failed\") {\n autoShowTooltip(eventSourceIndicator)\n variantNode.querySelector(\"a\").onclick = reconnect\n }\n}\n",
111
+ "import {\n forceHideElement,\n removeForceHideElement,\n deactivateToolbarSection,\n} from \"../util/dom.js\"\nimport { createHorizontalBreakpoint } from \"../util/responsive.js\"\nimport { hideTooltip } from \"../tooltip/tooltip.js\"\n\nconst WINDOW_SMALL_WIDTH = 420\n\nexport const makeToolbarResponsive = () => {\n // apply responsive design on toolbar icons if needed + add listener on resize screen\n // ideally we should listen breakpoint once, for now restore toolbar\n const overflowMenuBreakpoint = createHorizontalBreakpoint(WINDOW_SMALL_WIDTH)\n const handleOverflowMenuBreakpoint = () => {\n responsiveToolbar(overflowMenuBreakpoint)\n }\n handleOverflowMenuBreakpoint()\n overflowMenuBreakpoint.changed.listen(handleOverflowMenuBreakpoint)\n\n // overflow menu\n document.querySelector(\"#overflow-menu-button\").onclick = () =>\n toggleOverflowMenu()\n}\n\nconst responsiveToolbar = (overflowMenuBreakpoint) => {\n // close all tooltips in case opened\n hideTooltip(document.querySelector(\"#eventsource-indicator\"))\n hideTooltip(document.querySelector(\"#execution-indicator\"))\n // close settings box in case opened\n deactivateToolbarSection(document.querySelector(\"#settings\"))\n\n if (overflowMenuBreakpoint.isBelow()) {\n enableOverflow()\n } else {\n disableOverflow()\n }\n}\n\nlet moves = []\n\nconst enableOverflow = () => {\n // move elements from toolbar to overflow menu\n const responsiveToolbarElements = document.querySelectorAll(\n \"[data-responsive-toolbar-element]\",\n )\n const overflowMenu = document.querySelector(\"#overflow-menu\")\n\n // keep a placeholder element to know where to move them back\n moves = Array.from(responsiveToolbarElements).map((element) => {\n const placeholder = document.createElement(\"div\")\n placeholder.style.display = \"none\"\n placeholder.setAttribute(\"data-placeholder\", \"\")\n element.parentNode.replaceChild(placeholder, element)\n overflowMenu.appendChild(element)\n return { element, placeholder }\n })\n\n document\n .querySelector(\"#toolbar\")\n .setAttribute(\"data-overflow-menu-enabled\", \"\")\n removeForceHideElement(document.querySelector(\"#overflow-menu-button\"))\n}\n\nconst disableOverflow = () => {\n // close overflow menu in case it's open & unselect toggleOverflowMenu button in case it's selected\n hideOverflowMenu()\n deactivateToolbarSection(document.querySelector(\"#overflow-menu\"))\n moves.forEach(({ element, placeholder }) => {\n placeholder.parentNode.replaceChild(element, placeholder)\n })\n moves = []\n\n document\n .querySelector(\"#toolbar\")\n .removeAttribute(\"data-overflow-menu-enabled\")\n forceHideElement(document.querySelector(\"#overflow-menu-button\"))\n}\n\nconst toggleOverflowMenu = () => {\n if (overflowMenuIsVisible()) {\n hideOverflowMenu()\n } else {\n showOverflowMenu()\n }\n}\n\nconst overflowMenuIsVisible = () => {\n const toolbar = document.querySelector(\"#toolbar\")\n return toolbar.hasAttribute(\"data-overflow-menu-visible\")\n}\n\nconst showOverflowMenu = () => {\n const toolbar = document.querySelector(\"#toolbar\")\n document.querySelector(\"#overflow-menu\").setAttribute(\"data-animate\", \"\")\n toolbar.setAttribute(\"data-overflow-menu-visible\", \"\")\n}\n\nconst hideOverflowMenu = () => {\n const toolbar = document.querySelector(\"#toolbar\")\n toolbar.removeAttribute(\"data-overflow-menu-visible\")\n document.querySelector(\"#overflow-menu\").removeAttribute(\"data-animate\")\n}\n",
112
+ "import { urlIsInsideOf } from \"@jsenv/filesystem/src/urlIsInsideOf.js\"\nimport { urlToRelativeUrl } from \"@jsenv/filesystem/src/urlToRelativeUrl.js\"\n\nimport { fetchExploringJson } from \"../exploring/fetchExploringJson.js\"\nimport { startJavaScriptAnimation } from \"../toolbar/util/animation.js\"\nimport \"./focus/toolbar.focus.js\"\nimport { renderBackToListInToolbar } from \"./backtolist/toolbar.backtolist.js\"\nimport {\n getToolbarIframe,\n deactivateToolbarSection,\n setStyles,\n} from \"./util/dom.js\"\nimport { createPreference } from \"./util/preferences.js\"\nimport { hideTooltip, hideAllTooltip } from \"./tooltip/tooltip.js\"\nimport {\n renderToolbarSettings,\n hideSettings,\n} from \"./settings/toolbar.settings.js\"\nimport { renderToolbarNotification } from \"./notification/toolbar.notification.js\"\nimport { renderToolbarTheme } from \"./theme/toolbar.theme.js\"\nimport { renderToolbarAnimation } from \"./animation/toolbar.animation.js\"\nimport { renderExecutionInToolbar } from \"./execution/toolbar.execution.js\"\nimport { renderCompilationInToolbar } from \"./compilation/toolbar.compilation.js\"\nimport { initToolbarEventSource } from \"./eventsource/toolbar.eventsource.js\"\nimport { makeToolbarResponsive } from \"./responsive/toolbar.responsive.js\"\n\nconst toolbarVisibilityPreference = createPreference(\"toolbar\")\n\nconst renderToolbar = async () => {\n const executedFileCompiledUrl = window.parent.location.href\n const compileServerOrigin = window.parent.location.origin\n // this should not block the whole toolbar rendering + interactivity\n const exploringConfig = await fetchExploringJson()\n const { outDirectoryRelativeUrl, livereloading } = exploringConfig\n const compileGroup = getCompileGroup({\n executedFileCompiledUrl,\n outDirectoryRelativeUrl,\n compileServerOrigin,\n })\n const executedFileRelativeUrl = compileGroup.fileRelativeUrl\n\n const toolbarOverlay = document.querySelector(\"#toolbar-overlay\")\n toolbarOverlay.onclick = () => {\n hideAllTooltip()\n hideSettings()\n }\n\n const toolbarElement = document.querySelector(\"#toolbar\")\n exposeOnParentWindow({\n toolbar: {\n element: toolbarElement,\n show: showToolbar,\n hide: () => hideToolbar(),\n toggle: toogleToolbar,\n },\n })\n\n const toolbarVisible = toolbarVisibilityPreference.has()\n ? toolbarVisibilityPreference.get()\n : true\n\n if (toolbarVisible) {\n showToolbar({ animate: false })\n } else {\n hideToolbar({ animate: false })\n }\n\n renderBackToListInToolbar({\n outDirectoryRelativeUrl,\n exploringHtmlFileRelativeUrl: exploringConfig.exploringHtmlFileRelativeUrl,\n })\n\n renderToolbarNotification()\n makeToolbarResponsive()\n renderToolbarSettings()\n renderToolbarAnimation()\n renderToolbarTheme()\n renderExecutionInToolbar({ executedFileRelativeUrl })\n renderCompilationInToolbar({ compileGroup })\n // this might become active but we need to detect this somehow\n deactivateToolbarSection(document.querySelector(\"#file-list-link\"))\n initToolbarEventSource({\n executedFileRelativeUrl,\n livereloading,\n })\n\n // if user click enter or space quickly while closing toolbar\n // it will cancel the closing\n // that's why I used toggleToolbar and not hideToolbar\n document.querySelector(\"#button-close-toolbar\").onclick = () =>\n toogleToolbar()\n}\n\nconst exposeOnParentWindow = (object) => {\n let { __jsenv__ } = window.parent\n if (!__jsenv__) {\n __jsenv__ = {}\n window.parent.__jsenv__ = {}\n }\n\n Object.assign(__jsenv__, object)\n}\n\nconst toogleToolbar = () => {\n if (toolbarIsVisible()) {\n hideToolbar()\n } else {\n showToolbar()\n }\n}\n\nconst toolbarIsVisible = () =>\n document.documentElement.hasAttribute(\"data-toolbar-visible\")\n\nlet hideToolbar = () => {\n // toolbar hidden by default, nothing to do to hide it by default\n sendEventToParent(\"toolbar-visibility-change\", false)\n}\n\n// (by the way it might be cool to have the toolbar auto show when)\n// it has something to say (being disconnected from livereload server)\nconst showToolbar = ({ animate = true } = {}) => {\n toolbarVisibilityPreference.set(true)\n if (animate) {\n document.documentElement.setAttribute(\"data-toolbar-animation\", \"\")\n } else {\n document.documentElement.removeAttribute(\"data-toolbar-animation\")\n }\n document.documentElement.setAttribute(\"data-toolbar-visible\", \"\")\n\n sendEventToParent(\"toolbar-visibility-change\", true)\n\n const toolbarIframe = getToolbarIframe()\n const toolbarIframeParent = toolbarIframe.parentNode\n const parentWindow = window.parent\n const parentDocumentElement =\n parentWindow.document.compatMode === \"CSS1Compat\"\n ? parentWindow.document.documentElement\n : parentWindow.document.body\n\n const scrollYMax =\n parentDocumentElement.scrollHeight - parentWindow.innerHeight\n const scrollY = parentDocumentElement.scrollTop\n const scrollYRemaining = scrollYMax - scrollY\n\n setStyles(toolbarIframeParent, {\n \"transition-property\": \"padding-bottom\",\n \"transition-duration\": \"300ms\",\n })\n // maybe we should use js animation here because we would not conflict with css\n const restoreToolbarIframeParentStyles = setStyles(toolbarIframeParent, {\n \"scroll-padding-bottom\": \"40px\", // same here we should add 40px\n \"padding-bottom\": \"40px\", // if there is already one we should add 40px\n })\n const restoreToolbarIframeStyles = setStyles(toolbarIframe, {\n height: \"40px\",\n visibility: \"visible\",\n })\n\n if (scrollYRemaining < 40 && scrollYMax > 0) {\n const scrollEnd = scrollY + 40\n startJavaScriptAnimation({\n duration: 300,\n onProgress: ({ progress }) => {\n const value = scrollY + (scrollEnd - scrollY) * progress\n parentDocumentElement.scrollTop = value\n },\n })\n }\n\n hideToolbar = () => {\n restoreToolbarIframeParentStyles()\n restoreToolbarIframeStyles()\n\n hideTooltip(document.querySelector(\"#eventsource-indicator\"))\n hideTooltip(document.querySelector(\"#execution-indicator\"))\n toolbarVisibilityPreference.set(false)\n if (animate) {\n document.documentElement.setAttribute(\"data-toolbar-animation\", \"\")\n } else {\n document.documentElement.removeAttribute(\"data-toolbar-animation\")\n }\n document.documentElement.removeAttribute(\"data-toolbar-visible\")\n sendEventToParent(\"toolbar-visibility-change\", false)\n }\n}\n\nconst getCompileGroup = ({\n executedFileCompiledUrl,\n outDirectoryRelativeUrl,\n compileServerOrigin,\n}) => {\n const outDirectoryServerUrl = String(\n new URL(outDirectoryRelativeUrl, compileServerOrigin),\n )\n if (urlIsInsideOf(executedFileCompiledUrl, outDirectoryServerUrl)) {\n const afterCompileDirectory = urlToRelativeUrl(\n executedFileCompiledUrl,\n outDirectoryServerUrl,\n )\n const slashIndex = afterCompileDirectory.indexOf(\"/\")\n const fileRelativeUrl = afterCompileDirectory.slice(slashIndex + 1)\n return {\n fileRelativeUrl,\n outDirectoryRelativeUrl,\n compileId: afterCompileDirectory.slice(0, slashIndex),\n }\n }\n return {\n fileRelativeUrl: new URL(executedFileCompiledUrl).pathname.slice(1),\n outDirectoryRelativeUrl,\n compileId: null,\n }\n}\n\nconst sendEventToParent = (type, value) => {\n window.parent.postMessage(\n {\n jsenv: true,\n type,\n value,\n },\n \"*\",\n )\n}\n\nwindow.renderToolbar = renderToolbar\n"
113
113
  ],
114
114
  "names": [
115
+ "urlIsInsideOf",
116
+ "url",
117
+ "otherUrl",
118
+ "urlObject",
119
+ "URL",
120
+ "otherUrlObject",
121
+ "origin",
122
+ "urlPathname",
123
+ "pathname",
124
+ "otherUrlPathname",
125
+ "isInside",
126
+ "startsWith",
127
+ "getCommonPathname",
128
+ "otherPathname",
129
+ "firstDifferentCharacterIndex",
130
+ "findFirstDifferentCharacterIndex",
131
+ "commonString",
132
+ "slice",
133
+ "charAt",
134
+ "firstDifferentSlashIndex",
135
+ "lastIndexOf",
136
+ "string",
137
+ "otherString",
138
+ "maxCommonLength",
139
+ "Math",
140
+ "min",
141
+ "length",
142
+ "i",
143
+ "char",
144
+ "otherChar",
145
+ "pathnameToParentPathname",
146
+ "slashLastIndex",
147
+ "urlToRelativeUrl",
148
+ "baseUrl",
149
+ "baseUrlObject",
150
+ "protocol",
151
+ "urlAsString",
152
+ "String",
153
+ "username",
154
+ "password",
155
+ "host",
156
+ "afterUrlScheme",
157
+ "hash",
158
+ "search",
159
+ "baseUrlRessourceWithoutLeadingSlash",
160
+ "basePathname",
161
+ "commonPathname",
162
+ "specificPathname",
163
+ "baseSpecificPathname",
164
+ "includes",
165
+ "baseSpecificParentPathname",
166
+ "relativeDirectoriesNotation",
167
+ "replace",
168
+ "relativeUrl",
169
+ "obj",
170
+ "key",
171
+ "value",
172
+ "Object",
115
173
  "defineProperty",
174
+ "enumerable",
175
+ "configurable",
176
+ "writable",
177
+ "createDetailedMessage",
178
+ "message",
179
+ "details",
180
+ "keys",
181
+ "forEach",
182
+ "Array",
183
+ "isArray",
184
+ "join",
185
+ "ownKeys",
186
+ "object",
187
+ "enumerableOnly",
188
+ "getOwnPropertySymbols",
189
+ "symbols",
190
+ "filter",
191
+ "sym",
192
+ "getOwnPropertyDescriptor",
193
+ "push",
194
+ "apply",
195
+ "_objectSpread2",
196
+ "target",
197
+ "arguments",
198
+ "source",
199
+ "getOwnPropertyDescriptors",
200
+ "defineProperties",
201
+ "excluded",
202
+ "sourceKeys",
203
+ "indexOf",
204
+ "objectWithoutPropertiesLoose",
205
+ "sourceSymbolKeys",
206
+ "prototype",
207
+ "propertyIsEnumerable",
208
+ "call",
209
+ "nativeTypeOf",
210
+ "customTypeOf",
211
+ "Symbol",
212
+ "constructor",
213
+ "iterator",
214
+ "then",
215
+ "direct",
216
+ "Promise",
217
+ "resolve",
218
+ "f",
219
+ "args",
220
+ "e",
221
+ "reject",
222
+ "body",
223
+ "result",
224
+ "fetchUsingXHR",
225
+ "signal",
226
+ "method",
227
+ "credentials",
228
+ "headers",
229
+ "headersPromise",
230
+ "createPromiseAndHooks",
231
+ "bodyPromise",
232
+ "xhr",
233
+ "XMLHttpRequest",
234
+ "failure",
235
+ "error",
236
+ "settled",
237
+ "cleanup",
238
+ "ontimeout",
239
+ "onerror",
240
+ "onload",
241
+ "onreadystatechange",
242
+ "Error",
243
+ "createRequestError",
244
+ "addEventListener",
245
+ "abort",
246
+ "abortError",
247
+ "name",
248
+ "readyState",
249
+ "open",
250
+ "setRequestHeader",
251
+ "withCredentials",
252
+ "computeWithCredentials",
253
+ "hasBlob",
254
+ "responseType",
255
+ "send",
256
+ "responseUrl",
257
+ "responseURL",
258
+ "responseStatus",
259
+ "status",
260
+ "responseStatusText",
261
+ "statusText",
262
+ "responseHeaders",
263
+ "getHeadersFromXHR",
264
+ "readBody",
265
+ "response",
266
+ "responseText",
267
+ "responseBody",
268
+ "responseBodyType",
269
+ "detectBodyType",
270
+ "text",
271
+ "blobToText",
272
+ "arrayBufferToText",
273
+ "buffer",
274
+ "json",
275
+ "JSON",
276
+ "parse",
277
+ "blob",
278
+ "Blob",
279
+ "cloneBuffer",
280
+ "arrayBuffer",
281
+ "blobToArrayBuffer",
282
+ "formData",
283
+ "hasFormData",
284
+ "textToFormData",
285
+ "canUseBlob",
286
+ "window",
287
+ "FileReader",
288
+ "FormData",
289
+ "hasArrayBuffer",
290
+ "ArrayBuffer",
291
+ "hasSearchParams",
292
+ "URLSearchParams",
293
+ "stack",
294
+ "promise",
295
+ "res",
296
+ "rej",
297
+ "originSameAsGlobalOrigin",
298
+ "location",
299
+ "globalOrigin",
300
+ "hrefToOrigin",
301
+ "isPrototypeOf",
302
+ "isDataView",
303
+ "isArrayBufferView",
304
+ "headerMap",
305
+ "headersString",
306
+ "getAllResponseHeaders",
307
+ "lines",
308
+ "trim",
309
+ "split",
310
+ "line",
311
+ "parts",
312
+ "shift",
313
+ "toLowerCase",
314
+ "href",
315
+ "scheme",
316
+ "hrefToScheme",
317
+ "secondProtocolSlashIndex",
318
+ "pathnameSlashIndex",
319
+ "colonIndex",
320
+ "DataView",
321
+ "isView",
322
+ "viewClasses",
323
+ "toString",
324
+ "form",
325
+ "bytes",
326
+ "append",
327
+ "decodeURIComponent",
328
+ "reader",
329
+ "fileReaderReady",
330
+ "readAsArrayBuffer",
331
+ "readAsText",
332
+ "view",
333
+ "Uint8Array",
334
+ "chars",
335
+ "fromCharCode",
336
+ "byteLength",
337
+ "set",
116
338
  "_await",
339
+ "fetchNative",
340
+ "mode",
341
+ "options",
342
+ "fetch",
343
+ "responseToHeaders",
117
344
  "_async",
345
+ "fetchUrl",
346
+ "AbortController",
347
+ "fetchJson",
348
+ "recover",
349
+ "fetchExploringJson",
350
+ "aborted",
351
+ "updateIframeOverflowOnParentWindow",
352
+ "aTooltipIsOpened",
353
+ "document",
354
+ "querySelector",
355
+ "settingsAreOpened",
356
+ "enableIframeOverflowOnParentWindow",
357
+ "disableIframeOverflowOnParentWindow",
358
+ "iframeOverflowEnabled",
359
+ "iframe",
360
+ "getToolbarIframe",
361
+ "transitionDuration",
362
+ "style",
363
+ "setStyles",
364
+ "setTimeout",
365
+ "iframes",
366
+ "from",
367
+ "parent",
368
+ "querySelectorAll",
369
+ "find",
370
+ "contentWindow",
371
+ "forceHideElement",
372
+ "element",
373
+ "setAttribute",
374
+ "removeForceHideElement",
375
+ "removeAttribute",
376
+ "styles",
377
+ "elementStyle",
378
+ "restoreStyles",
379
+ "map",
380
+ "styleName",
381
+ "restore",
382
+ "currentStyle",
383
+ "toolbarSectionIsActive",
384
+ "hasAttribute",
385
+ "activateToolbarSection",
386
+ "deactivateToolbarSection",
387
+ "startJavaScriptAnimation",
388
+ "duration",
389
+ "timingFunction",
390
+ "t",
391
+ "onProgress",
392
+ "onCancel",
393
+ "onComplete",
394
+ "isNaN",
395
+ "parseInt",
396
+ "startMs",
397
+ "performance",
398
+ "now",
399
+ "currentRequestAnimationFrameId",
400
+ "done",
401
+ "rawProgress",
402
+ "progress",
403
+ "handler",
404
+ "nowMs",
405
+ "requestAnimationFrame",
406
+ "stop",
407
+ "cancelAnimationFrame",
408
+ "mousedownEvent",
409
+ "defaultPrevented",
410
+ "documentElement",
411
+ "touchstartEvent",
412
+ "keydownEvent",
413
+ "renderBackToListInToolbar",
414
+ "outDirectoryRelativeUrl",
415
+ "exploringHtmlFileRelativeUrl",
416
+ "exploringHtmlFileUrl",
417
+ "onclick",
418
+ "clickEvent",
419
+ "isClickToOpenTab",
420
+ "button",
421
+ "metaKey",
422
+ "ctrlKey",
423
+ "createPreference",
424
+ "has",
425
+ "localStorage",
426
+ "hasOwnProperty",
427
+ "get",
428
+ "getItem",
429
+ "undefined",
430
+ "setItem",
431
+ "stringify",
432
+ "toggleTooltip",
433
+ "hideTooltip",
434
+ "showTooltip",
435
+ "autoShowTooltip",
436
+ "removeAutoShowTooltip",
437
+ "hideAllTooltip",
438
+ "elementsWithTooltip",
439
+ "elementWithTooltip",
440
+ "renderToolbarSettings",
441
+ "toggleSettings",
442
+ "settingsAreVisible",
443
+ "hideSettings",
444
+ "showSettings",
118
445
  "_call",
119
- "createPromiseAndHooks",
120
- "_excluded",
121
- "_objectSpread",
122
- "_catch",
446
+ "notificationPreference",
447
+ "arrayOfOpenedNotifications",
448
+ "renderToolbarNotification",
449
+ "notifCheckbox",
450
+ "checked",
451
+ "getNotificationPreference",
452
+ "onchange",
453
+ "setNotificationPreference",
454
+ "requestPermission",
455
+ "notification",
456
+ "close",
457
+ "notifyExecutionResult",
458
+ "executedFileRelativeUrl",
459
+ "execution",
460
+ "previousExecution",
461
+ "notificationEnabled",
462
+ "notificationOptions",
463
+ "lang",
464
+ "icon",
465
+ "getFaviconHref",
466
+ "clickToFocus",
467
+ "clickToClose",
468
+ "notify",
469
+ "notificationAvailable",
470
+ "Notification",
471
+ "link",
472
+ "title",
473
+ "permission",
474
+ "focus",
475
+ "onclose",
476
+ "index",
477
+ "splice",
478
+ "permissionPromise",
479
+ "DARK_THEME",
480
+ "LIGHT_THEME",
481
+ "themePreference",
482
+ "renderToolbarTheme",
483
+ "theme",
484
+ "getThemePreference",
485
+ "checkbox",
486
+ "setTheme",
487
+ "setThemePreference",
488
+ "animationPreference",
489
+ "renderToolbarAnimation",
490
+ "animCheckbox",
491
+ "getAnimationPreference",
492
+ "setAnimationPreference",
493
+ "onPreferenceChange",
494
+ "enableAnimation",
495
+ "disableAnimation",
496
+ "enableVariant",
497
+ "rootNode",
498
+ "variables",
499
+ "nodesNotMatching",
500
+ "attributeIndicatingACondition",
501
+ "nodeNotMatching",
502
+ "conditionAttributeValue",
503
+ "getAttribute",
504
+ "matches",
505
+ "testCondition",
506
+ "renameAttribute",
507
+ "attributeIndicatingAMatch",
508
+ "nodesMatching",
509
+ "nodeMatching",
510
+ "condition",
511
+ "parseCondition",
512
+ "some",
513
+ "node",
514
+ "newName",
515
+ "createHorizontalBreakpoint",
516
+ "breakpointValue",
517
+ "createBreakpoint",
518
+ "windowWidthMeasure",
519
+ "createMeasure",
520
+ "compute",
521
+ "register",
522
+ "currentValue",
523
+ "changed",
524
+ "createSignal",
525
+ "unregister",
526
+ "previousValue",
527
+ "callbackArray",
528
+ "listen",
529
+ "callback",
530
+ "innerWidth",
531
+ "removeEventListener",
532
+ "measure",
533
+ "getBreakpointState",
534
+ "currentBreakpointState",
535
+ "isAbove",
536
+ "isBelow",
537
+ "breakpointChanged",
538
+ "breakpointState",
539
+ "breakpointStatePrevious",
540
+ "WINDOW_MEDIUM_WIDTH",
541
+ "renderExecutionInToolbar",
542
+ "applyExecutionIndicator",
543
+ "input",
544
+ "fileWidthBreakpoint",
545
+ "handleFileWidthBreakpoint",
546
+ "resizeInput",
547
+ "__jsenv__",
548
+ "executionResultPromise",
549
+ "startTime",
550
+ "endTime",
551
+ "executionStorageKey",
552
+ "sessionStorage",
553
+ "executionIndicator",
554
+ "variantNode",
555
+ "textContent",
556
+ "computeText",
557
+ "size",
558
+ "width",
559
+ "COMPILE_ID_OTHERWISE",
560
+ "computeCompileIdFromGroupId",
561
+ "groupId",
562
+ "groupMap",
563
+ "createUnexpectedGroupIdMessage",
564
+ "compileId",
565
+ "firstMatch",
566
+ "regexp",
567
+ "match",
568
+ "secondMatch",
569
+ "userAgentToVersion",
570
+ "userAgent",
571
+ "detectAndroid",
123
572
  "navigatorToBrowser",
573
+ "navigator",
574
+ "appVersion",
575
+ "test",
576
+ "version",
577
+ "detectInternetExplorer",
124
578
  "userAgentToBrowser",
125
- "connectEventSource"
579
+ "detectOpera",
580
+ "detectEdge",
581
+ "detectFirefox",
582
+ "detectChrome",
583
+ "detectSafari",
584
+ "detectElectron",
585
+ "detectIOS",
586
+ "detectorCompose",
587
+ "detectors",
588
+ "detector",
589
+ "detectBrowser",
590
+ "normalizeName",
591
+ "normalizeVersion",
592
+ "valueToVersion",
593
+ "numberToVersion",
594
+ "stringToVersion",
595
+ "TypeError",
596
+ "number",
597
+ "major",
598
+ "minor",
599
+ "patch",
600
+ "Number",
601
+ "versionCompare",
602
+ "versionA",
603
+ "versionB",
604
+ "semanticVersionA",
605
+ "semanticVersionB",
606
+ "majorDiff",
607
+ "minorDiff",
608
+ "patchDiff",
609
+ "versionIsBelow",
610
+ "versionSupposedBelow",
611
+ "versionSupposedAbove",
612
+ "findHighestVersion",
613
+ "values",
614
+ "reduce",
615
+ "highestVersion",
616
+ "resolveGroup",
617
+ "compileIdCandidate",
618
+ "minRuntimeVersions",
619
+ "versionForGroup",
620
+ "scanBrowserRuntimeFeatures",
621
+ "coverageHandledFromOutside",
622
+ "failFastOnFeatureDetection",
623
+ "inlineImportMapIntoHTML",
624
+ "customCompilerPatterns",
625
+ "compileServerGroupMap",
626
+ "browser",
627
+ "groupInfo",
628
+ "featuresReport",
629
+ "importmap",
630
+ "dynamicImport",
631
+ "topLevelAwait",
632
+ "jsonImportAssertions",
633
+ "cssImportAssertions",
634
+ "newStylesheet",
635
+ "detectSupportedFeatures",
636
+ "pluginRequiredNamesFromGroupInfo",
637
+ "pluginRequiredNameArray",
638
+ "canAvoidCompilation",
639
+ "supportsImportmap",
640
+ "remote",
641
+ "supportsDynamicImport",
642
+ "supportsTopLevelAwait",
643
+ "requiredPluginNames",
644
+ "markPluginAsSupported",
645
+ "supportsJsonImportAssertions",
646
+ "supportsCssImportAssertions",
647
+ "supportsNewStylesheet",
648
+ "CSSStyleSheet",
649
+ "specifier",
650
+ "asBase64Url",
651
+ "importMap",
652
+ "imports",
653
+ "importmapScript",
654
+ "createElement",
655
+ "importmapString",
656
+ "type",
657
+ "src",
658
+ "btoa",
659
+ "appendChild",
660
+ "scriptModule",
661
+ "supported",
662
+ "__importmap_supported",
663
+ "removeChild",
664
+ "moduleSource",
665
+ "namespace",
666
+ "default",
667
+ "jsonBase64Url",
668
+ "cssBase64Url",
669
+ "mimeType",
670
+ "renderCompilationInToolbar",
671
+ "compileGroup",
672
+ "browserSupportRootNode",
673
+ "filesCompilationRootNode",
674
+ "browserSupport",
675
+ "alert",
676
+ "getBrowserSupportMessage",
677
+ "missingOnly",
678
+ "filesCompilation",
679
+ "compiled",
680
+ "fileRelativeUrl",
681
+ "shouldCompile",
682
+ "importmapSupported",
683
+ "dynamicImportSupported",
684
+ "topLevelAwaitSupported",
685
+ "pluginRequiredCount",
686
+ "customCompilerCount",
687
+ "connectEventSource",
688
+ "eventSourceUrl",
689
+ "events",
690
+ "connecting",
691
+ "connected",
692
+ "cancelled",
693
+ "failed",
694
+ "retryMaxAttempt",
695
+ "Infinity",
696
+ "retryAllocatedMs",
697
+ "lastEventId",
698
+ "EventSource",
699
+ "eventSourceOrigin",
700
+ "cancelCurrentConnection",
701
+ "reconnect",
702
+ "attemptConnection",
703
+ "addLastEventIdIntoUrlSearchParams",
704
+ "eventSource",
705
+ "connectionStatus",
706
+ "console",
707
+ "warn",
708
+ "connect",
709
+ "cancel",
710
+ "onopen",
711
+ "disconnect",
712
+ "retryCount",
713
+ "firstRetryMs",
714
+ "Date",
715
+ "errorEvent",
716
+ "considerFailed",
717
+ "CONNECTING",
718
+ "info",
719
+ "allRetryDuration",
720
+ "CLOSED",
721
+ "eventName",
722
+ "removePageUnloadListener",
723
+ "listenPageUnload",
724
+ "encodeURIComponent",
725
+ "removePageHideListener",
726
+ "listenEvent",
727
+ "pageHideEvent",
728
+ "persisted",
729
+ "emitter",
730
+ "event",
731
+ "connectCompileServerEventSource",
732
+ "onFileModified",
733
+ "onFileRemoved",
734
+ "onConnecting",
735
+ "onConnectionCancelled",
736
+ "onConnectionFailed",
737
+ "onConnected",
738
+ "data",
739
+ "livereloadingPreference",
740
+ "eventSourceState",
741
+ "livereloadingAvailableOnServer",
742
+ "initToolbarEventSource",
743
+ "livereloading",
744
+ "getLivereloadCallback",
745
+ "originalFileProjectRelativeUrl",
746
+ "callbacks",
747
+ "livereloadingCallbacks",
748
+ "disableLivereloadSetting",
749
+ "livereloadCheckbox",
750
+ "shouldLivereload",
751
+ "updateEventSourceIndicator",
752
+ "getLivereloadingPreference",
753
+ "disabled",
754
+ "parentEventSource",
755
+ "__jsenv_eventsource__",
756
+ "latestChangeMap",
757
+ "eventSourceHooks",
758
+ "eventSourceConnection",
759
+ "connectionReadyPromise",
760
+ "handleFileChange",
761
+ "file",
762
+ "eventType",
763
+ "livereloadCallback",
764
+ "reloadPage",
765
+ "endsWith",
766
+ "reloadAllCss",
767
+ "links",
768
+ "getElementsByTagName",
769
+ "rel",
770
+ "searchParams",
771
+ "reload",
772
+ "reloadChanges",
773
+ "fullReloadRequired",
774
+ "cssReloadRequired",
775
+ "onFileAdded",
776
+ "eventSourceIndicator",
777
+ "changeCount",
778
+ "eventsource",
779
+ "livereload",
780
+ "changes",
781
+ "changeLink",
782
+ "innerHTML",
783
+ "log",
784
+ "WINDOW_SMALL_WIDTH",
785
+ "makeToolbarResponsive",
786
+ "overflowMenuBreakpoint",
787
+ "handleOverflowMenuBreakpoint",
788
+ "responsiveToolbar",
789
+ "toggleOverflowMenu",
790
+ "enableOverflow",
791
+ "disableOverflow",
792
+ "moves",
793
+ "responsiveToolbarElements",
794
+ "overflowMenu",
795
+ "placeholder",
796
+ "display",
797
+ "parentNode",
798
+ "replaceChild",
799
+ "hideOverflowMenu",
800
+ "overflowMenuIsVisible",
801
+ "showOverflowMenu",
802
+ "toolbar",
803
+ "toolbarVisibilityPreference",
804
+ "renderToolbar",
805
+ "executedFileCompiledUrl",
806
+ "compileServerOrigin",
807
+ "exploringConfig",
808
+ "getCompileGroup",
809
+ "toolbarOverlay",
810
+ "toolbarElement",
811
+ "exposeOnParentWindow",
812
+ "show",
813
+ "showToolbar",
814
+ "hide",
815
+ "hideToolbar",
816
+ "toggle",
817
+ "toogleToolbar",
818
+ "toolbarVisible",
819
+ "animate",
820
+ "assign",
821
+ "toolbarIsVisible",
822
+ "sendEventToParent",
823
+ "toolbarIframe",
824
+ "toolbarIframeParent",
825
+ "parentWindow",
826
+ "parentDocumentElement",
827
+ "compatMode",
828
+ "scrollYMax",
829
+ "scrollHeight",
830
+ "innerHeight",
831
+ "scrollY",
832
+ "scrollTop",
833
+ "scrollYRemaining",
834
+ "restoreToolbarIframeParentStyles",
835
+ "restoreToolbarIframeStyles",
836
+ "height",
837
+ "visibility",
838
+ "scrollEnd",
839
+ "outDirectoryServerUrl",
840
+ "afterCompileDirectory",
841
+ "slashIndex",
842
+ "postMessage",
843
+ "jsenv"
126
844
  ],
127
- "mappings": "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"
845
+ "mappings": "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"
128
846
  }