@warp-ds/elements 2.2.0-next.3 → 2.2.0-next.5
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.
- package/README.md +27 -17
- package/dist/.storybook/utilities.d.ts +28 -0
- package/dist/api.js +1 -49
- package/dist/api.js.map +2 -2
- package/dist/custom-elements.json +3298 -0
- package/dist/index.css +2 -0
- package/dist/index.css.map +7 -0
- package/dist/index.d.ts +4 -0
- package/dist/index.js +502 -7208
- package/dist/index.js.map +4 -4
- package/dist/packages/affix/affix.stories.d.ts +10 -0
- package/dist/packages/affix/affix.test.d.ts +1 -0
- package/dist/packages/affix/index.d.ts +52 -24
- package/dist/packages/affix/index.js +2448 -2240
- package/dist/packages/affix/index.js.map +4 -4
- package/dist/packages/affix/react.d.ts +2 -0
- package/dist/packages/affix/react.js +2482 -0
- package/dist/packages/affix/react.js.map +7 -0
- package/dist/packages/affix/styles.d.ts +1 -0
- package/dist/packages/alert/alert.stories.d.ts +15 -0
- package/dist/packages/alert/alert.test.d.ts +1 -0
- package/dist/packages/alert/index.d.ts +29 -18
- package/dist/packages/alert/index.js +2452 -2446
- package/dist/packages/alert/index.js.map +4 -4
- package/dist/packages/alert/react.d.ts +2 -0
- package/dist/packages/alert/react.js +2492 -0
- package/dist/packages/alert/react.js.map +7 -0
- package/dist/packages/alert/styles.d.ts +1 -0
- package/dist/packages/attention/attention.stories.d.ts +10 -0
- package/dist/packages/attention/index.d.ts +14 -1
- package/dist/packages/attention/index.js +17 -3979
- package/dist/packages/attention/index.js.map +4 -4
- package/dist/packages/badge/badge.stories.d.ts +17 -0
- package/dist/packages/badge/badge.test.d.ts +1 -0
- package/dist/packages/badge/index.d.ts +17 -12
- package/dist/packages/badge/index.js +2441 -300
- package/dist/packages/badge/index.js.map +4 -4
- package/dist/packages/badge/react.d.ts +2 -0
- package/dist/packages/badge/react.js +2465 -0
- package/dist/packages/badge/react.js.map +7 -0
- package/dist/packages/badge/styles.d.ts +1 -0
- package/dist/packages/box/box.stories.d.ts +14 -0
- package/dist/packages/box/box.test.d.ts +1 -0
- package/dist/packages/box/index.d.ts +21 -21
- package/dist/packages/box/index.js +2441 -304
- package/dist/packages/box/index.js.map +4 -4
- package/dist/packages/box/react.d.ts +2 -0
- package/dist/packages/box/react.js +2465 -0
- package/dist/packages/box/react.js.map +7 -0
- package/dist/packages/box/slot.test.d.ts +1 -0
- package/dist/packages/box/styles.d.ts +1 -0
- package/dist/packages/breadcrumbs/breadcrumbs.stories.d.ts +12 -0
- package/dist/packages/breadcrumbs/breadcrumbs.test.d.ts +1 -0
- package/dist/packages/breadcrumbs/index.d.ts +24 -16
- package/dist/packages/breadcrumbs/index.js +2402 -2051
- package/dist/packages/breadcrumbs/index.js.map +4 -4
- package/dist/packages/breadcrumbs/react.d.ts +2 -0
- package/dist/packages/breadcrumbs/react.js +2475 -0
- package/dist/packages/breadcrumbs/react.js.map +7 -0
- package/dist/packages/breadcrumbs/styles.d.ts +1 -0
- package/dist/packages/button/button.stories.d.ts +21 -0
- package/dist/packages/button/button.test.d.ts +1 -1
- package/dist/packages/button/index.d.ts +84 -9
- package/dist/packages/button/index.js +2407 -2426
- package/dist/packages/button/index.js.map +4 -4
- package/dist/packages/button/react.d.ts +2 -0
- package/dist/packages/button/react.js +2480 -0
- package/dist/packages/button/react.js.map +7 -0
- package/dist/packages/button/styles.d.ts +1 -0
- package/dist/packages/card/card.stories.d.ts +15 -0
- package/dist/packages/card/card.test.d.ts +1 -0
- package/dist/packages/card/index.d.ts +33 -17
- package/dist/packages/card/index.js +2403 -2067
- package/dist/packages/card/index.js.map +4 -4
- package/dist/packages/card/react.d.ts +2 -0
- package/dist/packages/card/react.js +2487 -0
- package/dist/packages/card/react.js.map +7 -0
- package/dist/packages/card/styles.d.ts +1 -0
- package/dist/packages/dead-toggle/dead-toggle.stories.d.ts +10 -0
- package/dist/packages/dead-toggle/dead-toggle.test.d.ts +1 -0
- package/dist/packages/dead-toggle/index.d.ts +21 -0
- package/dist/packages/dead-toggle/index.js +2487 -0
- package/dist/packages/dead-toggle/index.js.map +7 -0
- package/dist/packages/dead-toggle/react.d.ts +2 -0
- package/dist/packages/dead-toggle/react.js +2507 -0
- package/dist/packages/dead-toggle/react.js.map +7 -0
- package/dist/packages/expandable/expandable.stories.d.ts +19 -0
- package/dist/packages/expandable/expandable.test.d.ts +1 -0
- package/dist/packages/expandable/index.d.ts +55 -50
- package/dist/packages/expandable/index.js +2416 -2287
- package/dist/packages/expandable/index.js.map +4 -4
- package/dist/packages/expandable/react.d.ts +2 -0
- package/dist/packages/expandable/react.js +2495 -0
- package/dist/packages/expandable/react.js.map +7 -0
- package/dist/packages/expandable/styles.d.ts +1 -0
- package/dist/packages/modal/index.d.ts +5 -6
- package/dist/packages/modal/index.js +2620 -2497
- package/dist/packages/modal/index.js.map +4 -4
- package/dist/packages/modal/modal-footer.d.ts +17 -10
- package/dist/packages/modal/modal-header.d.ts +20 -13
- package/dist/packages/modal/modal-main.d.ts +19 -8
- package/dist/packages/modal/modal.stories.d.ts +19 -0
- package/dist/packages/modal/react.d.ts +4 -0
- package/dist/packages/modal/react.js +2754 -0
- package/dist/packages/modal/react.js.map +7 -0
- package/dist/packages/modal/util.d.ts +7 -17
- package/dist/packages/pagination/index.d.ts +34 -0
- package/dist/packages/pagination/index.js +2486 -0
- package/dist/packages/pagination/index.js.map +7 -0
- package/dist/packages/pagination/locales/da/messages.d.mts +1 -0
- package/dist/packages/pagination/locales/en/messages.d.mts +1 -0
- package/dist/packages/pagination/locales/fi/messages.d.mts +1 -0
- package/dist/packages/pagination/locales/nb/messages.d.mts +1 -0
- package/dist/packages/pagination/locales/sv/messages.d.mts +1 -0
- package/dist/packages/pagination/pagination.stories.d.ts +14 -0
- package/dist/packages/pagination/pagination.test.d.ts +1 -0
- package/dist/packages/pagination/react.d.ts +2 -0
- package/dist/packages/pagination/react.js +2506 -0
- package/dist/packages/pagination/react.js.map +7 -0
- package/dist/packages/pagination/styles.d.ts +1 -0
- package/dist/packages/pill/index.d.ts +44 -23
- package/dist/packages/pill/index.js +2408 -2175
- package/dist/packages/pill/index.js.map +4 -4
- package/dist/packages/pill/pill.stories.d.ts +12 -0
- package/dist/packages/pill/pill.test.d.ts +1 -0
- package/dist/packages/pill/styles.d.ts +1 -0
- package/dist/packages/rip-and-tear-checkbox/checkbox.d.ts +64 -0
- package/dist/packages/rip-and-tear-checkbox/index.css +2 -0
- package/dist/packages/rip-and-tear-checkbox/index.css.map +7 -0
- package/dist/packages/rip-and-tear-checkbox/index.d.ts +6 -0
- package/dist/packages/rip-and-tear-checkbox/index.js +36 -0
- package/dist/packages/rip-and-tear-checkbox/index.js.map +7 -0
- package/dist/packages/rip-and-tear-radio/base-element.d.ts +46 -0
- package/dist/packages/rip-and-tear-radio/custom-error-validator.d.ts +6 -0
- package/dist/packages/rip-and-tear-radio/form-associated-element.d.ts +103 -0
- package/dist/packages/rip-and-tear-radio/index.css +2 -0
- package/dist/packages/rip-and-tear-radio/index.css.map +7 -0
- package/dist/packages/rip-and-tear-radio/index.d.ts +8 -0
- package/dist/packages/rip-and-tear-radio/index.js +34 -0
- package/dist/packages/rip-and-tear-radio/index.js.map +7 -0
- package/dist/packages/rip-and-tear-radio/invalid.d.ts +8 -0
- package/dist/packages/rip-and-tear-radio/math.d.ts +1 -0
- package/dist/packages/rip-and-tear-radio/radio-group.d.ts +72 -0
- package/dist/packages/rip-and-tear-radio/radio.d.ts +38 -0
- package/dist/packages/rip-and-tear-radio/required-validator.d.ts +11 -0
- package/dist/packages/rip-and-tear-radio/slot.d.ts +20 -0
- package/dist/packages/rip-and-tear-radio/watch.d.ts +26 -0
- package/dist/packages/select/index.d.ts +59 -58
- package/dist/packages/select/index.js +2421 -2533
- package/dist/packages/select/index.js.map +4 -4
- package/dist/packages/select/react.d.ts +2 -0
- package/dist/packages/select/react.js +2494 -0
- package/dist/packages/select/react.js.map +7 -0
- package/dist/packages/select/select.stories.d.ts +10 -0
- package/dist/packages/select/select.test.d.ts +1 -0
- package/dist/packages/select/styles.d.ts +1 -0
- package/dist/packages/textfield/index.d.ts +72 -74
- package/dist/packages/textfield/index.js +2455 -698
- package/dist/packages/textfield/index.js.map +4 -4
- package/dist/packages/textfield/react.d.ts +2 -0
- package/dist/packages/textfield/react.js +2490 -0
- package/dist/packages/textfield/react.js.map +7 -0
- package/dist/packages/textfield/styles.d.ts +1 -0
- package/dist/packages/textfield/textfield.stories.d.ts +17 -0
- package/dist/packages/textfield/textfield.test.d.ts +1 -0
- package/dist/packages/toast/index.js +24 -2784
- package/dist/packages/toast/index.js.map +4 -4
- package/dist/packages/toast/toast-container.d.ts +16 -0
- package/dist/packages/toast/toast.d.ts +20 -0
- package/dist/packages/toast/toast.stories.d.ts +12 -0
- package/dist/packages/utils/index.d.ts +1 -1
- package/dist/packages/utils/unstyled-heading.d.ts +1 -1
- package/dist/setup-tests.d.ts +1 -0
- package/dist/vscode.css-custom-data.json +6 -0
- package/dist/vscode.html-custom-data.json +313 -0
- package/dist/web-types.json +707 -0
- package/package.json +61 -18
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
|
-
"sources": ["../../../node_modules/.pnpm/unraw@3.0.0/node_modules/unraw/dist/errors.js", "../../../node_modules/.pnpm/unraw@3.0.0/node_modules/unraw/dist/index.js", "../../../
|
|
4
|
-
"sourcesContent": ["\"use strict\";\n// NOTE: don't construct errors here or they'll have the wrong stack trace.\n// NOTE: don't make custom error class; the JS engines use `SyntaxError`\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.errorMessages = exports.ErrorType = void 0;\n/**\n * Keys for possible error messages used by `unraw`.\n * Note: These do _not_ map to actual error object types. All errors thrown\n * are `SyntaxError`.\n */\n// Don't use const enum or JS users won't be able to access the enum values\nvar ErrorType;\n(function (ErrorType) {\n /**\n * Thrown when a badly formed Unicode escape sequence is found. Possible\n * reasons include the code being too short (`\"\\u25\"`) or having invalid\n * characters (`\"\\u2$A5\"`).\n */\n ErrorType[\"MalformedUnicode\"] = \"MALFORMED_UNICODE\";\n /**\n * Thrown when a badly formed hexadecimal escape sequence is found. Possible\n * reasons include the code being too short (`\"\\x2\"`) or having invalid\n * characters (`\"\\x2$\"`).\n */\n ErrorType[\"MalformedHexadecimal\"] = \"MALFORMED_HEXADECIMAL\";\n /**\n * Thrown when a Unicode code point escape sequence has too high of a code\n * point. The maximum code point allowed is `\\u{10FFFF}`, so `\\u{110000}` and\n * higher will throw this error.\n */\n ErrorType[\"CodePointLimit\"] = \"CODE_POINT_LIMIT\";\n /**\n * Thrown when an octal escape sequences is encountered and `allowOctals` is\n * `false`. For example, `unraw(\"\\234\", false)`.\n */\n ErrorType[\"OctalDeprecation\"] = \"OCTAL_DEPRECATION\";\n /**\n * Thrown only when a single backslash is found at the end of a string. For\n * example, `\"\\\\\"` or `\"test\\\\x24\\\\\"`.\n */\n ErrorType[\"EndOfString\"] = \"END_OF_STRING\";\n})(ErrorType = exports.ErrorType || (exports.ErrorType = {}));\n/** Map of error message names to the full text of the message. */\nexports.errorMessages = new Map([\n [ErrorType.MalformedUnicode, \"malformed Unicode character escape sequence\"],\n [\n ErrorType.MalformedHexadecimal,\n \"malformed hexadecimal character escape sequence\"\n ],\n [\n ErrorType.CodePointLimit,\n \"Unicode codepoint must not be greater than 0x10FFFF in escape sequence\"\n ],\n [\n ErrorType.OctalDeprecation,\n '\"0\"-prefixed octal literals and octal escape sequences are deprecated; ' +\n 'for octal literals use the \"0o\" prefix instead'\n ],\n [ErrorType.EndOfString, \"malformed escape sequence at end of string\"]\n]);\n", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.unraw = exports.errorMessages = exports.ErrorType = void 0;\nconst errors_1 = require(\"./errors\");\nObject.defineProperty(exports, \"ErrorType\", { enumerable: true, get: function () { return errors_1.ErrorType; } });\nObject.defineProperty(exports, \"errorMessages\", { enumerable: true, get: function () { return errors_1.errorMessages; } });\n/**\n * Parse a string as a base-16 number. This is more strict than `parseInt` as it\n * will not allow any other characters, including (for example) \"+\", \"-\", and\n * \".\".\n * @param hex A string containing a hexadecimal number.\n * @returns The parsed integer, or `NaN` if the string is not a valid hex\n * number.\n */\nfunction parseHexToInt(hex) {\n const isOnlyHexChars = !hex.match(/[^a-f0-9]/i);\n return isOnlyHexChars ? parseInt(hex, 16) : NaN;\n}\n/**\n * Check the validity and length of a hexadecimal code and optionally enforces\n * a specific number of hex digits.\n * @param hex The string to validate and parse.\n * @param errorName The name of the error message to throw a `SyntaxError` with\n * if `hex` is invalid. This is used to index `errorMessages`.\n * @param enforcedLength If provided, will throw an error if `hex` is not\n * exactly this many characters.\n * @returns The parsed hex number as a normal number.\n * @throws {SyntaxError} If the code is not valid.\n */\nfunction validateAndParseHex(hex, errorName, enforcedLength) {\n const parsedHex = parseHexToInt(hex);\n if (Number.isNaN(parsedHex) ||\n (enforcedLength !== undefined && enforcedLength !== hex.length)) {\n throw new SyntaxError(errors_1.errorMessages.get(errorName));\n }\n return parsedHex;\n}\n/**\n * Parse a two-digit hexadecimal character escape code.\n * @param code The two-digit hexadecimal number that represents the character to\n * output.\n * @returns The single character represented by the code.\n * @throws {SyntaxError} If the code is not valid hex or is not the right\n * length.\n */\nfunction parseHexadecimalCode(code) {\n const parsedCode = validateAndParseHex(code, errors_1.ErrorType.MalformedHexadecimal, 2);\n return String.fromCharCode(parsedCode);\n}\n/**\n * Parse a four-digit Unicode character escape code.\n * @param code The four-digit unicode number that represents the character to\n * output.\n * @param surrogateCode Optional four-digit unicode surrogate that represents\n * the other half of the character to output.\n * @returns The single character represented by the code.\n * @throws {SyntaxError} If the codes are not valid hex or are not the right\n * length.\n */\nfunction parseUnicodeCode(code, surrogateCode) {\n const parsedCode = validateAndParseHex(code, errors_1.ErrorType.MalformedUnicode, 4);\n if (surrogateCode !== undefined) {\n const parsedSurrogateCode = validateAndParseHex(surrogateCode, errors_1.ErrorType.MalformedUnicode, 4);\n return String.fromCharCode(parsedCode, parsedSurrogateCode);\n }\n return String.fromCharCode(parsedCode);\n}\n/**\n * Test if the text is surrounded by curly braces (`{}`).\n * @param text Text to check.\n * @returns `true` if the text is in the form `{*}`.\n */\nfunction isCurlyBraced(text) {\n return text.charAt(0) === \"{\" && text.charAt(text.length - 1) === \"}\";\n}\n/**\n * Parse a Unicode code point character escape code.\n * @param codePoint A unicode escape code point, including the surrounding curly\n * braces.\n * @returns The single character represented by the code.\n * @throws {SyntaxError} If the code is not valid hex or does not have the\n * surrounding curly braces.\n */\nfunction parseUnicodeCodePointCode(codePoint) {\n if (!isCurlyBraced(codePoint)) {\n throw new SyntaxError(errors_1.errorMessages.get(errors_1.ErrorType.MalformedUnicode));\n }\n const withoutBraces = codePoint.slice(1, -1);\n const parsedCode = validateAndParseHex(withoutBraces, errors_1.ErrorType.MalformedUnicode);\n try {\n return String.fromCodePoint(parsedCode);\n }\n catch (err) {\n throw err instanceof RangeError\n ? new SyntaxError(errors_1.errorMessages.get(errors_1.ErrorType.CodePointLimit))\n : err;\n }\n}\n// Have to give overload that takes boolean for when compiler doesn't know if\n// true or false\nfunction parseOctalCode(code, error = false) {\n if (error) {\n throw new SyntaxError(errors_1.errorMessages.get(errors_1.ErrorType.OctalDeprecation));\n }\n // The original regex only allows digits so we don't need to have a strict\n // octal parser like hexToInt. Length is not enforced for octals.\n const parsedCode = parseInt(code, 8);\n return String.fromCharCode(parsedCode);\n}\n/**\n * Map of unescaped letters to their corresponding special JS escape characters.\n * Intentionally does not include characters that map to themselves like \"\\'\".\n */\nconst singleCharacterEscapes = new Map([\n [\"b\", \"\\b\"],\n [\"f\", \"\\f\"],\n [\"n\", \"\\n\"],\n [\"r\", \"\\r\"],\n [\"t\", \"\\t\"],\n [\"v\", \"\\v\"],\n [\"0\", \"\\0\"]\n]);\n/**\n * Parse a single character escape sequence and return the matching character.\n * If none is matched, defaults to `code`.\n * @param code A single character code.\n */\nfunction parseSingleCharacterCode(code) {\n return singleCharacterEscapes.get(code) || code;\n}\n/**\n * Matches every escape sequence possible, including invalid ones.\n *\n * All capture groups (described below) are unique (only one will match), except\n * for 4, which can only potentially match if 3 does.\n *\n * **Capture Groups:**\n * 0. A single backslash\n * 1. Hexadecimal code\n * 2. Unicode code point code with surrounding curly braces\n * 3. Unicode escape code with surrogate\n * 4. Surrogate code\n * 5. Unicode escape code without surrogate\n * 6. Octal code _NOTE: includes \"0\"._\n * 7. A single character (will never be \\, x, u, or 0-3)\n */\nconst escapeMatch = /\\\\(?:(\\\\)|x([\\s\\S]{0,2})|u(\\{[^}]*\\}?)|u([\\s\\S]{4})\\\\u([^{][\\s\\S]{0,3})|u([\\s\\S]{0,4})|([0-3]?[0-7]{1,2})|([\\s\\S])|$)/g;\n/**\n * Replace raw escape character strings with their escape characters.\n * @param raw A string where escape characters are represented as raw string\n * values like `\\'` rather than `'`.\n * @param allowOctals If `true`, will process the now-deprecated octal escape\n * sequences (ie, `\\111`).\n * @returns The processed string, with escape characters replaced by their\n * respective actual Unicode characters.\n */\nfunction unraw(raw, allowOctals = false) {\n return raw.replace(escapeMatch, function (_, backslash, hex, codePoint, unicodeWithSurrogate, surrogate, unicode, octal, singleCharacter) {\n // Compare groups to undefined because empty strings mean different errors\n // Otherwise, `\\u` would fail the same as `\\` which is wrong.\n if (backslash !== undefined) {\n return \"\\\\\";\n }\n if (hex !== undefined) {\n return parseHexadecimalCode(hex);\n }\n if (codePoint !== undefined) {\n return parseUnicodeCodePointCode(codePoint);\n }\n if (unicodeWithSurrogate !== undefined) {\n return parseUnicodeCode(unicodeWithSurrogate, surrogate);\n }\n if (unicode !== undefined) {\n return parseUnicodeCode(unicode);\n }\n if (octal === \"0\") {\n return \"\\0\";\n }\n if (octal !== undefined) {\n return parseOctalCode(octal, !allowOctals);\n }\n if (singleCharacter !== undefined) {\n return parseSingleCharacterCode(singleCharacter);\n }\n throw new SyntaxError(errors_1.errorMessages.get(errors_1.ErrorType.EndOfString));\n });\n}\nexports.unraw = unraw;\nexports.default = unraw;\n", "(function(root, factory) {\n if (typeof define === 'function' && define.amd) {\n define([], factory) /* global define */\n } else if (typeof module === 'object' && module.exports) {\n module.exports = factory()\n } else {\n root.moo = factory()\n }\n}(this, function() {\n 'use strict';\n\n var hasOwnProperty = Object.prototype.hasOwnProperty\n var toString = Object.prototype.toString\n var hasSticky = typeof new RegExp().sticky === 'boolean'\n\n /***************************************************************************/\n\n function isRegExp(o) { return o && toString.call(o) === '[object RegExp]' }\n function isObject(o) { return o && typeof o === 'object' && !isRegExp(o) && !Array.isArray(o) }\n\n function reEscape(s) {\n return s.replace(/[-\\/\\\\^$*+?.()|[\\]{}]/g, '\\\\$&')\n }\n function reGroups(s) {\n var re = new RegExp('|' + s)\n return re.exec('').length - 1\n }\n function reCapture(s) {\n return '(' + s + ')'\n }\n function reUnion(regexps) {\n if (!regexps.length) return '(?!)'\n var source = regexps.map(function(s) {\n return \"(?:\" + s + \")\"\n }).join('|')\n return \"(?:\" + source + \")\"\n }\n\n function regexpOrLiteral(obj) {\n if (typeof obj === 'string') {\n return '(?:' + reEscape(obj) + ')'\n\n } else if (isRegExp(obj)) {\n // TODO: consider /u support\n if (obj.ignoreCase) throw new Error('RegExp /i flag not allowed')\n if (obj.global) throw new Error('RegExp /g flag is implied')\n if (obj.sticky) throw new Error('RegExp /y flag is implied')\n if (obj.multiline) throw new Error('RegExp /m flag is implied')\n return obj.source\n\n } else {\n throw new Error('Not a pattern: ' + obj)\n }\n }\n\n function pad(s, length) {\n if (s.length > length) {\n return s\n }\n return Array(length - s.length + 1).join(\" \") + s\n }\n\n function lastNLines(string, numLines) {\n var position = string.length\n var lineBreaks = 0;\n while (true) {\n var idx = string.lastIndexOf(\"\\n\", position - 1)\n if (idx === -1) {\n break;\n } else {\n lineBreaks++\n }\n position = idx\n if (lineBreaks === numLines) {\n break;\n }\n if (position === 0) {\n break;\n }\n }\n var startPosition = \n lineBreaks < numLines ?\n 0 : \n position + 1\n return string.substring(startPosition).split(\"\\n\")\n }\n\n function objectToRules(object) {\n var keys = Object.getOwnPropertyNames(object)\n var result = []\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i]\n var thing = object[key]\n var rules = [].concat(thing)\n if (key === 'include') {\n for (var j = 0; j < rules.length; j++) {\n result.push({include: rules[j]})\n }\n continue\n }\n var match = []\n rules.forEach(function(rule) {\n if (isObject(rule)) {\n if (match.length) result.push(ruleOptions(key, match))\n result.push(ruleOptions(key, rule))\n match = []\n } else {\n match.push(rule)\n }\n })\n if (match.length) result.push(ruleOptions(key, match))\n }\n return result\n }\n\n function arrayToRules(array) {\n var result = []\n for (var i = 0; i < array.length; i++) {\n var obj = array[i]\n if (obj.include) {\n var include = [].concat(obj.include)\n for (var j = 0; j < include.length; j++) {\n result.push({include: include[j]})\n }\n continue\n }\n if (!obj.type) {\n throw new Error('Rule has no type: ' + JSON.stringify(obj))\n }\n result.push(ruleOptions(obj.type, obj))\n }\n return result\n }\n\n function ruleOptions(type, obj) {\n if (!isObject(obj)) {\n obj = { match: obj }\n }\n if (obj.include) {\n throw new Error('Matching rules cannot also include states')\n }\n\n // nb. error and fallback imply lineBreaks\n var options = {\n defaultType: type,\n lineBreaks: !!obj.error || !!obj.fallback,\n pop: false,\n next: null,\n push: null,\n error: false,\n fallback: false,\n value: null,\n type: null,\n shouldThrow: false,\n }\n\n // Avoid Object.assign(), so we support IE9+\n for (var key in obj) {\n if (hasOwnProperty.call(obj, key)) {\n options[key] = obj[key]\n }\n }\n\n // type transform cannot be a string\n if (typeof options.type === 'string' && type !== options.type) {\n throw new Error(\"Type transform cannot be a string (type '\" + options.type + \"' for token '\" + type + \"')\")\n }\n\n // convert to array\n var match = options.match\n options.match = Array.isArray(match) ? match : match ? [match] : []\n options.match.sort(function(a, b) {\n return isRegExp(a) && isRegExp(b) ? 0\n : isRegExp(b) ? -1 : isRegExp(a) ? +1 : b.length - a.length\n })\n return options\n }\n\n function toRules(spec) {\n return Array.isArray(spec) ? arrayToRules(spec) : objectToRules(spec)\n }\n\n var defaultErrorRule = ruleOptions('error', {lineBreaks: true, shouldThrow: true})\n function compileRules(rules, hasStates) {\n var errorRule = null\n var fast = Object.create(null)\n var fastAllowed = true\n var unicodeFlag = null\n var groups = []\n var parts = []\n\n // If there is a fallback rule, then disable fast matching\n for (var i = 0; i < rules.length; i++) {\n if (rules[i].fallback) {\n fastAllowed = false\n }\n }\n\n for (var i = 0; i < rules.length; i++) {\n var options = rules[i]\n\n if (options.include) {\n // all valid inclusions are removed by states() preprocessor\n throw new Error('Inheritance is not allowed in stateless lexers')\n }\n\n if (options.error || options.fallback) {\n // errorRule can only be set once\n if (errorRule) {\n if (!options.fallback === !errorRule.fallback) {\n throw new Error(\"Multiple \" + (options.fallback ? \"fallback\" : \"error\") + \" rules not allowed (for token '\" + options.defaultType + \"')\")\n } else {\n throw new Error(\"fallback and error are mutually exclusive (for token '\" + options.defaultType + \"')\")\n }\n }\n errorRule = options\n }\n\n var match = options.match.slice()\n if (fastAllowed) {\n while (match.length && typeof match[0] === 'string' && match[0].length === 1) {\n var word = match.shift()\n fast[word.charCodeAt(0)] = options\n }\n }\n\n // Warn about inappropriate state-switching options\n if (options.pop || options.push || options.next) {\n if (!hasStates) {\n throw new Error(\"State-switching options are not allowed in stateless lexers (for token '\" + options.defaultType + \"')\")\n }\n if (options.fallback) {\n throw new Error(\"State-switching options are not allowed on fallback tokens (for token '\" + options.defaultType + \"')\")\n }\n }\n\n // Only rules with a .match are included in the RegExp\n if (match.length === 0) {\n continue\n }\n fastAllowed = false\n\n groups.push(options)\n\n // Check unicode flag is used everywhere or nowhere\n for (var j = 0; j < match.length; j++) {\n var obj = match[j]\n if (!isRegExp(obj)) {\n continue\n }\n\n if (unicodeFlag === null) {\n unicodeFlag = obj.unicode\n } else if (unicodeFlag !== obj.unicode && options.fallback === false) {\n throw new Error('If one rule is /u then all must be')\n }\n }\n\n // convert to RegExp\n var pat = reUnion(match.map(regexpOrLiteral))\n\n // validate\n var regexp = new RegExp(pat)\n if (regexp.test(\"\")) {\n throw new Error(\"RegExp matches empty string: \" + regexp)\n }\n var groupCount = reGroups(pat)\n if (groupCount > 0) {\n throw new Error(\"RegExp has capture groups: \" + regexp + \"\\nUse (?: \u2026 ) instead\")\n }\n\n // try and detect rules matching newlines\n if (!options.lineBreaks && regexp.test('\\n')) {\n throw new Error('Rule should declare lineBreaks: ' + regexp)\n }\n\n // store regex\n parts.push(reCapture(pat))\n }\n\n\n // If there's no fallback rule, use the sticky flag so we only look for\n // matches at the current index.\n //\n // If we don't support the sticky flag, then fake it using an irrefutable\n // match (i.e. an empty pattern).\n var fallbackRule = errorRule && errorRule.fallback\n var flags = hasSticky && !fallbackRule ? 'ym' : 'gm'\n var suffix = hasSticky || fallbackRule ? '' : '|'\n\n if (unicodeFlag === true) flags += \"u\"\n var combined = new RegExp(reUnion(parts) + suffix, flags)\n return {regexp: combined, groups: groups, fast: fast, error: errorRule || defaultErrorRule}\n }\n\n function compile(rules) {\n var result = compileRules(toRules(rules))\n return new Lexer({start: result}, 'start')\n }\n\n function checkStateGroup(g, name, map) {\n var state = g && (g.push || g.next)\n if (state && !map[state]) {\n throw new Error(\"Missing state '\" + state + \"' (in token '\" + g.defaultType + \"' of state '\" + name + \"')\")\n }\n if (g && g.pop && +g.pop !== 1) {\n throw new Error(\"pop must be 1 (in token '\" + g.defaultType + \"' of state '\" + name + \"')\")\n }\n }\n function compileStates(states, start) {\n var all = states.$all ? toRules(states.$all) : []\n delete states.$all\n\n var keys = Object.getOwnPropertyNames(states)\n if (!start) start = keys[0]\n\n var ruleMap = Object.create(null)\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i]\n ruleMap[key] = toRules(states[key]).concat(all)\n }\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i]\n var rules = ruleMap[key]\n var included = Object.create(null)\n for (var j = 0; j < rules.length; j++) {\n var rule = rules[j]\n if (!rule.include) continue\n var splice = [j, 1]\n if (rule.include !== key && !included[rule.include]) {\n included[rule.include] = true\n var newRules = ruleMap[rule.include]\n if (!newRules) {\n throw new Error(\"Cannot include nonexistent state '\" + rule.include + \"' (in state '\" + key + \"')\")\n }\n for (var k = 0; k < newRules.length; k++) {\n var newRule = newRules[k]\n if (rules.indexOf(newRule) !== -1) continue\n splice.push(newRule)\n }\n }\n rules.splice.apply(rules, splice)\n j--\n }\n }\n\n var map = Object.create(null)\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i]\n map[key] = compileRules(ruleMap[key], true)\n }\n\n for (var i = 0; i < keys.length; i++) {\n var name = keys[i]\n var state = map[name]\n var groups = state.groups\n for (var j = 0; j < groups.length; j++) {\n checkStateGroup(groups[j], name, map)\n }\n var fastKeys = Object.getOwnPropertyNames(state.fast)\n for (var j = 0; j < fastKeys.length; j++) {\n checkStateGroup(state.fast[fastKeys[j]], name, map)\n }\n }\n\n return new Lexer(map, start)\n }\n\n function keywordTransform(map) {\n\n // Use a JavaScript Map to map keywords to their corresponding token type\n // unless Map is unsupported, then fall back to using an Object:\n var isMap = typeof Map !== 'undefined'\n var reverseMap = isMap ? new Map : Object.create(null)\n\n var types = Object.getOwnPropertyNames(map)\n for (var i = 0; i < types.length; i++) {\n var tokenType = types[i]\n var item = map[tokenType]\n var keywordList = Array.isArray(item) ? item : [item]\n keywordList.forEach(function(keyword) {\n if (typeof keyword !== 'string') {\n throw new Error(\"keyword must be string (in keyword '\" + tokenType + \"')\")\n }\n if (isMap) {\n reverseMap.set(keyword, tokenType)\n } else {\n reverseMap[keyword] = tokenType\n }\n })\n }\n return function(k) {\n return isMap ? reverseMap.get(k) : reverseMap[k]\n }\n }\n\n /***************************************************************************/\n\n var Lexer = function(states, state) {\n this.startState = state\n this.states = states\n this.buffer = ''\n this.stack = []\n this.reset()\n }\n\n Lexer.prototype.reset = function(data, info) {\n this.buffer = data || ''\n this.index = 0\n this.line = info ? info.line : 1\n this.col = info ? info.col : 1\n this.queuedToken = info ? info.queuedToken : null\n this.queuedText = info ? info.queuedText: \"\";\n this.queuedThrow = info ? info.queuedThrow : null\n this.setState(info ? info.state : this.startState)\n this.stack = info && info.stack ? info.stack.slice() : []\n return this\n }\n\n Lexer.prototype.save = function() {\n return {\n line: this.line,\n col: this.col,\n state: this.state,\n stack: this.stack.slice(),\n queuedToken: this.queuedToken,\n queuedText: this.queuedText,\n queuedThrow: this.queuedThrow,\n }\n }\n\n Lexer.prototype.setState = function(state) {\n if (!state || this.state === state) return\n this.state = state\n var info = this.states[state]\n this.groups = info.groups\n this.error = info.error\n this.re = info.regexp\n this.fast = info.fast\n }\n\n Lexer.prototype.popState = function() {\n this.setState(this.stack.pop())\n }\n\n Lexer.prototype.pushState = function(state) {\n this.stack.push(this.state)\n this.setState(state)\n }\n\n var eat = hasSticky ? function(re, buffer) { // assume re is /y\n return re.exec(buffer)\n } : function(re, buffer) { // assume re is /g\n var match = re.exec(buffer)\n // will always match, since we used the |(?:) trick\n if (match[0].length === 0) {\n return null\n }\n return match\n }\n\n Lexer.prototype._getGroup = function(match) {\n var groupCount = this.groups.length\n for (var i = 0; i < groupCount; i++) {\n if (match[i + 1] !== undefined) {\n return this.groups[i]\n }\n }\n throw new Error('Cannot find token type for matched text')\n }\n\n function tokenToString() {\n return this.value\n }\n\n Lexer.prototype.next = function() {\n var index = this.index\n\n // If a fallback token matched, we don't need to re-run the RegExp\n if (this.queuedGroup) {\n var token = this._token(this.queuedGroup, this.queuedText, index)\n this.queuedGroup = null\n this.queuedText = \"\"\n return token\n }\n\n var buffer = this.buffer\n if (index === buffer.length) {\n return // EOF\n }\n\n // Fast matching for single characters\n var group = this.fast[buffer.charCodeAt(index)]\n if (group) {\n return this._token(group, buffer.charAt(index), index)\n }\n\n // Execute RegExp\n var re = this.re\n re.lastIndex = index\n var match = eat(re, buffer)\n\n // Error tokens match the remaining buffer\n var error = this.error\n if (match == null) {\n return this._token(error, buffer.slice(index, buffer.length), index)\n }\n\n var group = this._getGroup(match)\n var text = match[0]\n\n if (error.fallback && match.index !== index) {\n this.queuedGroup = group\n this.queuedText = text\n\n // Fallback tokens contain the unmatched portion of the buffer\n return this._token(error, buffer.slice(index, match.index), index)\n }\n\n return this._token(group, text, index)\n }\n\n Lexer.prototype._token = function(group, text, offset) {\n // count line breaks\n var lineBreaks = 0\n if (group.lineBreaks) {\n var matchNL = /\\n/g\n var nl = 1\n if (text === '\\n') {\n lineBreaks = 1\n } else {\n while (matchNL.exec(text)) { lineBreaks++; nl = matchNL.lastIndex }\n }\n }\n\n var token = {\n type: (typeof group.type === 'function' && group.type(text)) || group.defaultType,\n value: typeof group.value === 'function' ? group.value(text) : text,\n text: text,\n toString: tokenToString,\n offset: offset,\n lineBreaks: lineBreaks,\n line: this.line,\n col: this.col,\n }\n // nb. adding more props to token object will make V8 sad!\n\n var size = text.length\n this.index += size\n this.line += lineBreaks\n if (lineBreaks !== 0) {\n this.col = size - nl + 1\n } else {\n this.col += size\n }\n\n // throw, if no rule with {error: true}\n if (group.shouldThrow) {\n var err = new Error(this.formatError(token, \"invalid syntax\"))\n throw err;\n }\n\n if (group.pop) this.popState()\n else if (group.push) this.pushState(group.push)\n else if (group.next) this.setState(group.next)\n\n return token\n }\n\n if (typeof Symbol !== 'undefined' && Symbol.iterator) {\n var LexerIterator = function(lexer) {\n this.lexer = lexer\n }\n\n LexerIterator.prototype.next = function() {\n var token = this.lexer.next()\n return {value: token, done: !token}\n }\n\n LexerIterator.prototype[Symbol.iterator] = function() {\n return this\n }\n\n Lexer.prototype[Symbol.iterator] = function() {\n return new LexerIterator(this)\n }\n }\n\n Lexer.prototype.formatError = function(token, message) {\n if (token == null) {\n // An undefined token indicates EOF\n var text = this.buffer.slice(this.index)\n var token = {\n text: text,\n offset: this.index,\n lineBreaks: text.indexOf('\\n') === -1 ? 0 : 1,\n line: this.line,\n col: this.col,\n }\n }\n \n var numLinesAround = 2\n var firstDisplayedLine = Math.max(token.line - numLinesAround, 1)\n var lastDisplayedLine = token.line + numLinesAround\n var lastLineDigits = String(lastDisplayedLine).length\n var displayedLines = lastNLines(\n this.buffer, \n (this.line - token.line) + numLinesAround + 1\n )\n .slice(0, 5)\n var errorLines = []\n errorLines.push(message + \" at line \" + token.line + \" col \" + token.col + \":\")\n errorLines.push(\"\")\n for (var i = 0; i < displayedLines.length; i++) {\n var line = displayedLines[i]\n var lineNo = firstDisplayedLine + i\n errorLines.push(pad(String(lineNo), lastLineDigits) + \" \" + line);\n if (lineNo === token.line) {\n errorLines.push(pad(\"\", lastLineDigits + token.col + 1) + \"^\")\n }\n }\n return errorLines.join(\"\\n\")\n }\n\n Lexer.prototype.clone = function() {\n return new Lexer(this.states, this.state)\n }\n\n Lexer.prototype.has = function(tokenType) {\n return true\n }\n\n\n return {\n compile: compile,\n states: compileStates,\n error: Object.freeze({error: true}),\n fallback: Object.freeze({fallback: true}),\n keywords: keywordTransform,\n }\n\n}));\n", "\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.lexer = exports.states = void 0;\nconst moo_1 = __importDefault(require(\"moo\"));\nexports.states = {\n body: {\n doubleapos: { match: \"''\", value: () => \"'\" },\n quoted: {\n lineBreaks: true,\n match: /'[{}#](?:[^']|'')*'(?!')/u,\n value: src => src.slice(1, -1).replace(/''/g, \"'\")\n },\n argument: {\n lineBreaks: true,\n match: /\\{\\s*[^\\p{Pat_Syn}\\p{Pat_WS}]+\\s*/u,\n push: 'arg',\n value: src => src.substring(1).trim()\n },\n octothorpe: '#',\n end: { match: '}', pop: 1 },\n content: { lineBreaks: true, match: /[^][^{}#']*/u }\n },\n arg: {\n select: {\n lineBreaks: true,\n match: /,\\s*(?:plural|select|selectordinal)\\s*,\\s*/u,\n next: 'select',\n value: src => src.split(',')[1].trim()\n },\n 'func-args': {\n lineBreaks: true,\n match: /,\\s*[^\\p{Pat_Syn}\\p{Pat_WS}]+\\s*,/u,\n next: 'body',\n value: src => src.split(',')[1].trim()\n },\n 'func-simple': {\n lineBreaks: true,\n match: /,\\s*[^\\p{Pat_Syn}\\p{Pat_WS}]+\\s*/u,\n value: src => src.substring(1).trim()\n },\n end: { match: '}', pop: 1 }\n },\n select: {\n offset: {\n lineBreaks: true,\n match: /\\s*offset\\s*:\\s*\\d+\\s*/u,\n value: src => src.split(':')[1].trim()\n },\n case: {\n lineBreaks: true,\n match: /\\s*(?:=\\d+|[^\\p{Pat_Syn}\\p{Pat_WS}]+)\\s*\\{/u,\n push: 'body',\n value: src => src.substring(0, src.indexOf('{')).trim()\n },\n end: { match: /\\s*\\}/u, pop: 1 }\n }\n};\nexports.lexer = moo_1.default.states(exports.states);\n", "\"use strict\";\n/**\n * An AST parser for ICU MessageFormat strings\n *\n * @packageDocumentation\n * @example\n * ```\n * import { parse } from '@messageformat/parser\n *\n * parse('So {wow}.')\n * [ { type: 'content', value: 'So ' },\n * { type: 'argument', arg: 'wow' },\n * { type: 'content', value: '.' } ]\n *\n *\n * parse('Such { thing }. { count, selectordinal, one {First} two {Second}' +\n * ' few {Third} other {#th} } word.')\n * [ { type: 'content', value: 'Such ' },\n * { type: 'argument', arg: 'thing' },\n * { type: 'content', value: '. ' },\n * { type: 'selectordinal',\n * arg: 'count',\n * cases: [\n * { key: 'one', tokens: [ { type: 'content', value: 'First' } ] },\n * { key: 'two', tokens: [ { type: 'content', value: 'Second' } ] },\n * { key: 'few', tokens: [ { type: 'content', value: 'Third' } ] },\n * { key: 'other',\n * tokens: [ { type: 'octothorpe' }, { type: 'content', value: 'th' } ] }\n * ] },\n * { type: 'content', value: ' word.' } ]\n *\n *\n * parse('Many{type,select,plural{ numbers}selectordinal{ counting}' +\n * 'select{ choices}other{ some {type}}}.')\n * [ { type: 'content', value: 'Many' },\n * { type: 'select',\n * arg: 'type',\n * cases: [\n * { key: 'plural', tokens: [ { type: 'content', value: 'numbers' } ] },\n * { key: 'selectordinal', tokens: [ { type: 'content', value: 'counting' } ] },\n * { key: 'select', tokens: [ { type: 'content', value: 'choices' } ] },\n * { key: 'other',\n * tokens: [ { type: 'content', value: 'some ' }, { type: 'argument', arg: 'type' } ] }\n * ] },\n * { type: 'content', value: '.' } ]\n *\n *\n * parse('{Such compliance')\n * // ParseError: invalid syntax at line 1 col 7:\n * //\n * // {Such compliance\n * // ^\n *\n *\n * const msg = '{words, plural, zero{No words} one{One word} other{# words}}'\n * parse(msg)\n * [ { type: 'plural',\n * arg: 'words',\n * cases: [\n * { key: 'zero', tokens: [ { type: 'content', value: 'No words' } ] },\n * { key: 'one', tokens: [ { type: 'content', value: 'One word' } ] },\n * { key: 'other',\n * tokens: [ { type: 'octothorpe' }, { type: 'content', value: ' words' } ] }\n * ] } ]\n *\n *\n * parse(msg, { cardinal: [ 'one', 'other' ], ordinal: [ 'one', 'two', 'few', 'other' ] })\n * // ParseError: The plural case zero is not valid in this locale at line 1 col 17:\n * //\n * // {words, plural, zero{\n * // ^\n * ```\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ParseError = void 0;\nexports.parse = parse;\nconst lexer_js_1 = require(\"./lexer.js\");\nconst getContext = (lt) => ({\n offset: lt.offset,\n line: lt.line,\n col: lt.col,\n text: lt.text,\n lineBreaks: lt.lineBreaks\n});\nconst isSelectType = (type) => type === 'plural' || type === 'select' || type === 'selectordinal';\nfunction strictArgStyleParam(lt, param) {\n let value = '';\n let text = '';\n for (const p of param) {\n const pText = p.ctx.text;\n text += pText;\n switch (p.type) {\n case 'content':\n value += p.value;\n break;\n case 'argument':\n case 'function':\n case 'octothorpe':\n value += pText;\n break;\n default:\n throw new ParseError(lt, `Unsupported part in strict mode function arg style: ${pText}`);\n }\n }\n const c = {\n type: 'content',\n value: value.trim(),\n ctx: Object.assign({}, param[0].ctx, { text })\n };\n return [c];\n}\nconst strictArgTypes = [\n 'number',\n 'date',\n 'time',\n 'spellout',\n 'ordinal',\n 'duration'\n];\nconst defaultPluralKeys = ['zero', 'one', 'two', 'few', 'many', 'other'];\n/**\n * Thrown by {@link parse} on error\n *\n * @public\n */\nclass ParseError extends Error {\n /** @internal */\n constructor(lt, msg) {\n super(lexer_js_1.lexer.formatError(lt, msg));\n }\n}\nexports.ParseError = ParseError;\nclass Parser {\n constructor(src, opt) {\n var _a, _b, _c, _d;\n this.lexer = lexer_js_1.lexer.reset(src);\n this.cardinalKeys = (_a = opt === null || opt === void 0 ? void 0 : opt.cardinal) !== null && _a !== void 0 ? _a : defaultPluralKeys;\n this.ordinalKeys = (_b = opt === null || opt === void 0 ? void 0 : opt.ordinal) !== null && _b !== void 0 ? _b : defaultPluralKeys;\n this.strict = (_c = opt === null || opt === void 0 ? void 0 : opt.strict) !== null && _c !== void 0 ? _c : false;\n this.strictPluralKeys = (_d = opt === null || opt === void 0 ? void 0 : opt.strictPluralKeys) !== null && _d !== void 0 ? _d : true;\n }\n parse() {\n return this.parseBody(false, true);\n }\n checkSelectKey(lt, type, key) {\n if (key[0] === '=') {\n if (type === 'select') {\n throw new ParseError(lt, `The case ${key} is not valid with select`);\n }\n }\n else if (type !== 'select') {\n const keys = type === 'plural' ? this.cardinalKeys : this.ordinalKeys;\n if (this.strictPluralKeys && keys.length > 0 && !keys.includes(key)) {\n const msg = `The ${type} case ${key} is not valid in this locale`;\n throw new ParseError(lt, msg);\n }\n }\n }\n parseSelect({ value: arg }, inPlural, ctx, type) {\n const sel = { type, arg, cases: [], ctx };\n if (type === 'plural' || type === 'selectordinal')\n inPlural = true;\n else if (this.strict)\n inPlural = false;\n for (const lt of this.lexer) {\n switch (lt.type) {\n case 'offset':\n if (type === 'select') {\n throw new ParseError(lt, 'Unexpected plural offset for select');\n }\n if (sel.cases.length > 0) {\n throw new ParseError(lt, 'Plural offset must be set before cases');\n }\n sel.pluralOffset = Number(lt.value);\n ctx.text += lt.text;\n ctx.lineBreaks += lt.lineBreaks;\n break;\n case 'case': {\n this.checkSelectKey(lt, type, lt.value);\n sel.cases.push({\n key: lt.value,\n tokens: this.parseBody(inPlural),\n ctx: getContext(lt)\n });\n break;\n }\n case 'end':\n return sel;\n /* istanbul ignore next: never happens */\n default:\n throw new ParseError(lt, `Unexpected lexer token: ${lt.type}`);\n }\n }\n throw new ParseError(null, 'Unexpected message end');\n }\n parseArgToken(lt, inPlural) {\n const ctx = getContext(lt);\n const argType = this.lexer.next();\n if (!argType)\n throw new ParseError(null, 'Unexpected message end');\n ctx.text += argType.text;\n ctx.lineBreaks += argType.lineBreaks;\n if (this.strict &&\n (argType.type === 'func-simple' || argType.type === 'func-args') &&\n !strictArgTypes.includes(argType.value)) {\n const msg = `Invalid strict mode function arg type: ${argType.value}`;\n throw new ParseError(lt, msg);\n }\n switch (argType.type) {\n case 'end':\n return { type: 'argument', arg: lt.value, ctx };\n case 'func-simple': {\n const end = this.lexer.next();\n if (!end)\n throw new ParseError(null, 'Unexpected message end');\n /* istanbul ignore if: never happens */\n if (end.type !== 'end') {\n throw new ParseError(end, `Unexpected lexer token: ${end.type}`);\n }\n ctx.text += end.text;\n if (isSelectType(argType.value.toLowerCase())) {\n throw new ParseError(argType, `Invalid type identifier: ${argType.value}`);\n }\n return {\n type: 'function',\n arg: lt.value,\n key: argType.value,\n ctx\n };\n }\n case 'func-args': {\n if (isSelectType(argType.value.toLowerCase())) {\n const msg = `Invalid type identifier: ${argType.value}`;\n throw new ParseError(argType, msg);\n }\n let param = this.parseBody(this.strict ? false : inPlural);\n if (this.strict && param.length > 0) {\n param = strictArgStyleParam(lt, param);\n }\n return {\n type: 'function',\n arg: lt.value,\n key: argType.value,\n param,\n ctx\n };\n }\n case 'select':\n /* istanbul ignore else: never happens */\n if (isSelectType(argType.value)) {\n return this.parseSelect(lt, inPlural, ctx, argType.value);\n }\n else {\n throw new ParseError(argType, `Unexpected select type ${argType.value}`);\n }\n /* istanbul ignore next: never happens */\n default:\n throw new ParseError(argType, `Unexpected lexer token: ${argType.type}`);\n }\n }\n parseBody(inPlural, atRoot) {\n const tokens = [];\n let content = null;\n for (const lt of this.lexer) {\n if (lt.type === 'argument') {\n if (content)\n content = null;\n tokens.push(this.parseArgToken(lt, inPlural));\n }\n else if (lt.type === 'octothorpe' && inPlural) {\n if (content)\n content = null;\n tokens.push({ type: 'octothorpe', ctx: getContext(lt) });\n }\n else if (lt.type === 'end' && !atRoot) {\n return tokens;\n }\n else {\n let value = lt.value;\n if (!inPlural && lt.type === 'quoted' && value[0] === '#') {\n if (value.includes('{')) {\n const errMsg = `Unsupported escape pattern: ${value}`;\n throw new ParseError(lt, errMsg);\n }\n value = lt.text;\n }\n if (content) {\n content.value += value;\n content.ctx.text += lt.text;\n content.ctx.lineBreaks += lt.lineBreaks;\n }\n else {\n content = { type: 'content', value, ctx: getContext(lt) };\n tokens.push(content);\n }\n }\n }\n if (atRoot)\n return tokens;\n throw new ParseError(null, 'Unexpected message end');\n }\n}\n/**\n * Parse an input string into an array of tokens\n *\n * @public\n * @remarks\n * The parser only supports the default `DOUBLE_OPTIONAL`\n * {@link http://www.icu-project.org/apiref/icu4c/messagepattern_8h.html#af6e0757e0eb81c980b01ee5d68a9978b | apostrophe mode}.\n */\nfunction parse(src, options = {}) {\n const parser = new Parser(src, options);\n return parser.parse();\n}\n", "import { html, css, LitElement } from 'lit';\nimport { CanCloseMixin, ProvidesCanCloseToSlotsMixin } from './util';\n\nexport class ModalFooter extends CanCloseMixin(ProvidesCanCloseToSlotsMixin(LitElement)) {\n render() {\n return html`\n <div class=\"footer\">\n <slot @slotchange=\"${this.handleSlotChange}\"></slot>\n </div>\n `;\n }\n static styles = css`\n .footer {\n display:flex;\n flex-shrink:0;\n justify-content:flex-end;\n padding-left:1.6rem;\n padding-right:1.6rem;\n padding-top:2.4rem;\n }\n @media (min-width: 480px){\n .footer {\n padding-left:3.2rem;\n padding-right:3.2rem;\n }\n }\n `;\n}\n", "export const CanCloseMixin = (superClass) =>\n class extends superClass {\n patchClose = true;\n _close = null;\n close() {\n this._close();\n }\n };\n\nexport const ProvidesCanCloseToSlotsMixin = (superClass) =>\n class extends superClass {\n // HACK: slot-props don't seem to exist and neither does the context pattern for this\n /** @param {Event} evt */\n handleSlotChange(evt) {\n const children = evt.target.assignedNodes({ flatten: true });\n for (const child of children.filter((e) => e.patchClose)) {\n child._close = () => this.close();\n }\n }\n };\n", "import { css, html, LitElement, nothing, PropertyValues } from 'lit';\n\nimport { Move } from '@itsy/animate/move';\nimport { i18n } from '@lingui/core';\nimport { property, query, state } from 'lit/decorators.js';\nimport '@warp-ds/icons/elements/arrow-left-16';\nimport '@warp-ds/icons/elements/close-16';\n\nimport { activateI18n } from '../i18n';\n\nimport { messages as daMessages } from './locales/da/messages.mjs';\nimport { messages as enMessages } from './locales/en/messages.mjs';\nimport { messages as fiMessages } from './locales/fi/messages.mjs';\nimport { messages as nbMessages } from './locales/nb/messages.mjs';\nimport { messages as svMessages } from './locales/sv/messages.mjs';\nimport { CanCloseMixin } from './util.js';\n\nexport class ModalHeader extends CanCloseMixin(LitElement) {\n @property({ type: String }) title: string;\n @property({ type: Boolean }) back: boolean;\n @property({ type: Boolean, attribute: 'no-close' }) noClose: boolean;\n @state() private _hasTopContent = false;\n\n // @ts-expect-error The mixin needs type definitions\n @query('.title-el') titleEl: HTMLElement;\n\n constructor() {\n super();\n activateI18n(enMessages, nbMessages, fiMessages, daMessages, svMessages);\n }\n render() {\n return html`\n <div class=\"header\">\n <slot name=\"top\" @slotchange=${this.handleTopSlotChange}></slot>\n <div class=\"${this._hasTopContent ? '' : 'header-title-bar'}\">\n ${this.backButton}\n <h1 class=\"title-el ${this.titleClasses}\">${this.title}</h1>\n ${this.closeButton}\n </div>\n </div>\n `;\n }\n\n async willUpdate(changedProperties: PropertyValues<this>) {\n if (changedProperties.has('back')) {\n const move = new Move(this.titleEl);\n move.when(async () => {\n await this.updateComplete;\n });\n }\n }\n get titleClasses() {\n return [\n 'header-title',\n this.back ? 'header-title-with-back-button' : 'header-title-without-back-button',\n this._hasTopContent ? 'header-title-with-top-area' : ''\n ].join(' ')\n }\n\n get backButton() {\n return this.back && !this._hasTopContent // Not showing back button when there is a top image\n ? html`<button\n type=\"button\"\n aria-label=\"${i18n._({\n id: 'modal.aria.back',\n message: 'Back',\n comment: 'Aria label for the back button in modal',\n })}\"\n class=\"header-button header-button-left\"\n @click=\"${this.emitBack}\">\n <w-icon-arrow-left-16></w-icon-arrow-left-16>\n </button>`\n : nothing;\n }\n get closeButton() {\n if (this.noClose) return nothing;\n return html`<button\n type=\"button\"\n aria-label=\"${i18n._({\n id: 'modal.aria.close',\n message: 'Close',\n comment: 'Aria label for the close button in modal',\n })}\"\n class=\"header-button ${this._hasTopContent ? 'header-close-button-on-image' : 'header-close-button'}\"\n @click=\"${this.close}\">\n <w-icon-close-16></w-icon-close-16>\n </button>`;\n }\n emitBack() {\n this.dispatchEvent(new CustomEvent('backClicked', { bubbles: true, composed: true }));\n }\n handleTopSlotChange(slotEvent) {\n const topContent = slotEvent.target.assignedElements({ flatten: true });\n this._hasTopContent = !!topContent.length;\n }\n static styles = css`\n .header {\n position: relative;\n padding-bottom: 0.8rem;\n }\n .header-title-bar {\n display:grid;\n flex-shrink:0 !important;\n gap:1.2rem;\n grid-template-columns:auto 1fr auto;\n align-items:flex-start;\n padding-left:1.6rem;\n padding-right:1.6rem;\n padding-top:1.6rem;\n }\n .header-title {\n font-weight:700;\n font-size:var(--w-font-size-l);\n line-height:var(--w-line-height-l);\n align-self:center;\n margin: 0;\n }\n .header-title-with-back-button {\n justify-self:center;\n }\n .header-title-without-back-button {\n grid-column:span 2/span 2;\n }\n .header-title-with-top-area {\n padding-left:1.6rem;\n padding-right:1.6rem;\n padding-top:1.6rem;\n }\n .header-button:hover {\n -webkit-background-clip:padding-box;\n background-clip:padding-box;\n }\n .header-button:focus, .header-button:focus-visible {\n outline:2px solid var(--w-s-color-border-focus);\n outline-offset:var(--w-outline-offset, 1px);\n }\n .header-button:not(:focus-visible){\n outline:none;\n }\n .header-button {\n border-width:0;\n border-radius:9999px;\n display:inline-flex;\n align-items:center;\n justify-content:center;\n min-height:40px;\n min-width:40px;\n padding:0.4rem;\n font-weight:700;\n transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;\n transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);\n transition-duration:150ms;\n font-size:var(--w-font-size-m);line-height:var(--w-line-height-m);\n line-height:2.4rem;\n }\n .header-button-left {\n background-color:transparent;\n color:var(--w-s-color-icon);\n margin-left:-0.8rem;\n }\n .header-button-left:hover {\n background-color:var(--w-color-button-pill-background-hover);\n }\n .header-button-left:active {\n background-color:var(--w-color-button-pill-background-active);\n }\n .header-close-button {\n background-color:transparent;\n color:var(--w-s-color-icon);\n margin-right:-0.8rem;\n }\n .header-close-button:hover {\n background-color:var(--w-color-button-pill-background-hover);\n }\n .header-close-button:active {\n background-color:var(--w-color-button-pill-background-active);\n }\n .header-close-button-on-image {\n background-color:rgba(var(--w-rgb-black),0.7);\n right:0.8rem;\n top:0.8rem;\n position:absolute;\n z-index:10;\n color:var(--w-s-color-text-inverted);\n }\n .header-close-button-on-image:hover {\n background-color:rgba(var(--w-rgb-black),0.85);\n }\n .header-close-button-on-image:active {\n background-color:var(--w-black);\n }\n @media (min-width: 480px){\n .header-title-bar {\n padding-left:3.2rem;\n padding-right:3.2rem;\n padding-top:2.4rem;\n }\n .header-title-with-top-area {\n padding-left:3.2rem;\n padding-right:3.2rem;\n }\n .header-button {\n min-height:32px;\n min-width:32px;\n }\n }\n `\n}\n", "/** @typedef {import('./move.d.ts').Deltas} Deltas */\n\n/**\n * @param {DOMRect} first\n * @param {DOMRect} last\n * @returns {Deltas}\n */\nexport const computeDeltas = (first, last) => ({\n dx: first.left - last.left,\n dy: first.top - last.top,\n dw: first.width / last.width,\n dh: first.height / last.height,\n first,\n last,\n})\n\n/** @param {Deltas} deltas */\nexport const moveKeyframes = ({ dx, dy }) => ([\n { transform: `translate(${dx}px, ${dy}px)` },\n { transform: 'none' },\n])\n\n/** @type {KeyframeAnimationOptions} */\nexport const animationDefaults = { easing: 'ease', duration: 300 }\n", "export let reduceMotion = false\n\nconst windowExists = (typeof window !== 'undefined')\nif (windowExists) {\n const query = window.matchMedia('(prefers-reduced-motion: reduce)')\n const callback = ({ matches }) => reduceMotion = matches\n // older browsers don't support the new API, and the old API is deprecated\n if (query.addEventListener) query.addEventListener('change', callback)\n callback(query)\n}\n\n", "import { moveKeyframes, computeDeltas, animationDefaults } from './utility.js'\nimport { reduceMotion } from './reduce-motion.js'\n\nexport class Move {\n /** @type {DOMRect | {}} */\n first;\n /** @type {DOMRect | {}} */\n last;\n /** @type {HTMLElement} */\n el;\n\n constructor(el, { animation = {}, keyframes, respectReduceMotion = true } = {}) {\n this.el = el\n this.first = {}\n this.last = {}\n this.userAnimationOptions = animation\n this.keyframeGenerator = keyframes || moveKeyframes\n this.shouldReduceMotion = respectReduceMotion\n }\n\n async when(cb) {\n this.prep()\n const v = await cb()\n await this.play()\n return v\n }\n\n prep() {\n this.first = this.el.getBoundingClientRect()\n }\n\n async play() {\n this.last = this.el.getBoundingClientRect()\n if (!this.el.animate) return\n const animation = this.el.animate(this.keyframes, this.animationOptions)\n await animation.finished\n }\n\n get keyframes() {\n return this.keyframeGenerator(computeDeltas(this.first, this.last))\n }\n\n get defaults() {\n return animationDefaults\n }\n\n get mergedOptions() {\n return { ...this.defaults, ...this.userAnimationOptions }\n }\n\n get animationOptions() {\n if (!this.shouldReduceMotion) return this.mergedOptions\n if (!reduceMotion) return this.mergedOptions\n return { ...this.mergedOptions, duration: 0 }\n }\n}\n", "import { unraw } from 'unraw';\nimport { compileMessage } from '@lingui/message-utils/compileMessage';\n\nconst isString = (s) => typeof s === \"string\";\nconst isFunction = (f) => typeof f === \"function\";\n\nconst cache = /* @__PURE__ */ new Map();\nconst defaultLocale = \"en\";\nfunction normalizeLocales(locales) {\n const out = Array.isArray(locales) ? locales : [locales];\n return [...out, defaultLocale];\n}\nfunction date(locales, value, format) {\n const _locales = normalizeLocales(locales);\n if (!format) {\n format = \"default\";\n }\n let o;\n if (typeof format === \"string\") {\n o = {\n day: \"numeric\",\n month: \"short\",\n year: \"numeric\"\n };\n switch (format) {\n case \"full\":\n o.weekday = \"long\";\n case \"long\":\n o.month = \"long\";\n break;\n case \"short\":\n o.month = \"numeric\";\n break;\n }\n } else {\n o = format;\n }\n const formatter = getMemoized(\n () => cacheKey(\"date\", _locales, format),\n () => new Intl.DateTimeFormat(_locales, o)\n );\n return formatter.format(isString(value) ? new Date(value) : value);\n}\nfunction time(locales, value, format) {\n let o;\n if (!format) {\n format = \"default\";\n }\n if (typeof format === \"string\") {\n o = {\n second: \"numeric\",\n minute: \"numeric\",\n hour: \"numeric\"\n };\n switch (format) {\n case \"full\":\n case \"long\":\n o.timeZoneName = \"short\";\n break;\n case \"short\":\n delete o.second;\n }\n } else {\n o = format;\n }\n return date(locales, value, o);\n}\nfunction number(locales, value, format) {\n const _locales = normalizeLocales(locales);\n const formatter = getMemoized(\n () => cacheKey(\"number\", _locales, format),\n () => new Intl.NumberFormat(_locales, format)\n );\n return formatter.format(value);\n}\nfunction plural(locales, ordinal, value, { offset = 0, ...rules }) {\n const _locales = normalizeLocales(locales);\n const plurals = ordinal ? getMemoized(\n () => cacheKey(\"plural-ordinal\", _locales),\n () => new Intl.PluralRules(_locales, { type: \"ordinal\" })\n ) : getMemoized(\n () => cacheKey(\"plural-cardinal\", _locales),\n () => new Intl.PluralRules(_locales, { type: \"cardinal\" })\n );\n return rules[value] ?? rules[plurals.select(value - offset)] ?? rules.other;\n}\nfunction getMemoized(getKey, construct) {\n const key = getKey();\n let formatter = cache.get(key);\n if (!formatter) {\n formatter = construct();\n cache.set(key, formatter);\n }\n return formatter;\n}\nfunction cacheKey(type, locales, options) {\n const localeKey = locales.join(\"-\");\n return `${type}-${localeKey}-${JSON.stringify(options)}`;\n}\n\nconst formats = {\n __proto__: null,\n date: date,\n defaultLocale: defaultLocale,\n number: number,\n plural: plural,\n time: time\n};\n\nconst UNICODE_REGEX = /\\\\u[a-fA-F0-9]{4}|\\\\x[a-fA-F0-9]{2}/;\nconst OCTOTHORPE_PH = \"%__lingui_octothorpe__%\";\nconst getDefaultFormats = (locale, passedLocales, formats = {}) => {\n const locales = passedLocales || locale;\n const style = (format) => {\n if (typeof format === \"object\")\n return format;\n return formats[format];\n };\n const replaceOctothorpe = (value, message) => {\n const numberFormat = Object.keys(formats).length ? style(\"number\") : void 0;\n const valueStr = number(locales, value, numberFormat);\n return message.replace(new RegExp(OCTOTHORPE_PH, \"g\"), valueStr);\n };\n return {\n plural: (value, cases) => {\n const { offset = 0 } = cases;\n const message = plural(locales, false, value, cases);\n return replaceOctothorpe(value - offset, message);\n },\n selectordinal: (value, cases) => {\n const { offset = 0 } = cases;\n const message = plural(locales, true, value, cases);\n return replaceOctothorpe(value - offset, message);\n },\n select: selectFormatter,\n number: (value, format) => number(\n locales,\n value,\n style(format) || { style: format }\n ),\n date: (value, format) => date(locales, value, style(format) || format),\n time: (value, format) => time(locales, value, style(format) || format)\n };\n};\nconst selectFormatter = (value, rules) => rules[value] ?? rules.other;\nfunction interpolate(translation, locale, locales) {\n return (values = {}, formats) => {\n const formatters = getDefaultFormats(locale, locales, formats);\n const formatMessage = (tokens, replaceOctothorpe = false) => {\n if (!Array.isArray(tokens))\n return tokens;\n return tokens.reduce((message, token) => {\n if (token === \"#\" && replaceOctothorpe) {\n return message + OCTOTHORPE_PH;\n }\n if (isString(token)) {\n return message + token;\n }\n const [name, type, format] = token;\n let interpolatedFormat = {};\n if (type === \"plural\" || type === \"selectordinal\" || type === \"select\") {\n Object.entries(format).forEach(\n ([key, value2]) => {\n interpolatedFormat[key] = formatMessage(\n value2,\n type === \"plural\" || type === \"selectordinal\"\n );\n }\n );\n } else {\n interpolatedFormat = format;\n }\n let value;\n if (type) {\n const formatter = formatters[type];\n value = formatter(values[name], interpolatedFormat);\n } else {\n value = values[name];\n }\n if (value == null) {\n return message;\n }\n return message + value;\n }, \"\");\n };\n const result = formatMessage(translation);\n if (isString(result) && UNICODE_REGEX.test(result)) {\n return unraw(result);\n }\n if (isString(result))\n return result;\n return result ? String(result) : \"\";\n };\n}\n\nvar __defProp$1 = Object.defineProperty;\nvar __defNormalProp$1 = (obj, key, value) => key in obj ? __defProp$1(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __publicField$1 = (obj, key, value) => {\n __defNormalProp$1(obj, typeof key !== \"symbol\" ? key + \"\" : key, value);\n return value;\n};\nclass EventEmitter {\n constructor() {\n __publicField$1(this, \"_events\", {});\n }\n on(event, listener) {\n var _a;\n (_a = this._events)[event] ?? (_a[event] = []);\n this._events[event].push(listener);\n return () => this.removeListener(event, listener);\n }\n removeListener(event, listener) {\n const maybeListeners = this._getListeners(event);\n if (!maybeListeners)\n return;\n const index = maybeListeners.indexOf(listener);\n if (~index)\n maybeListeners.splice(index, 1);\n }\n emit(event, ...args) {\n const maybeListeners = this._getListeners(event);\n if (!maybeListeners)\n return;\n maybeListeners.map((listener) => listener.apply(this, args));\n }\n _getListeners(event) {\n const maybeListeners = this._events[event];\n return Array.isArray(maybeListeners) ? maybeListeners : false;\n }\n}\n\nvar __defProp = Object.defineProperty;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __publicField = (obj, key, value) => {\n __defNormalProp(obj, typeof key !== \"symbol\" ? key + \"\" : key, value);\n return value;\n};\nclass I18n extends EventEmitter {\n constructor(params) {\n super();\n __publicField(this, \"_locale\", \"\");\n __publicField(this, \"_locales\");\n __publicField(this, \"_localeData\", {});\n __publicField(this, \"_messages\", {});\n __publicField(this, \"_missing\");\n __publicField(this, \"_messageCompiler\");\n /**\n * Alias for {@see I18n._}\n */\n __publicField(this, \"t\", this._.bind(this));\n if (process.env.NODE_ENV !== \"production\") {\n this.setMessagesCompiler(compileMessage);\n }\n if (params.missing != null)\n this._missing = params.missing;\n if (params.messages != null)\n this.load(params.messages);\n if (params.localeData != null)\n this.loadLocaleData(params.localeData);\n if (typeof params.locale === \"string\" || params.locales) {\n this.activate(params.locale ?? defaultLocale, params.locales);\n }\n }\n get locale() {\n return this._locale;\n }\n get locales() {\n return this._locales;\n }\n get messages() {\n return this._messages[this._locale] ?? {};\n }\n /**\n * @deprecated this has no effect. Please remove this from the code. Deprecated in v4\n */\n get localeData() {\n return this._localeData[this._locale] ?? {};\n }\n _loadLocaleData(locale, localeData) {\n const maybeLocaleData = this._localeData[locale];\n if (!maybeLocaleData) {\n this._localeData[locale] = localeData;\n } else {\n Object.assign(maybeLocaleData, localeData);\n }\n }\n /**\n * Registers a `MessageCompiler` to enable the use of uncompiled catalogs at runtime.\n *\n * In production builds, the `MessageCompiler` is typically excluded to reduce bundle size.\n * By default, message catalogs should be precompiled during the build process. However,\n * if you need to compile catalogs at runtime, you can use this method to set a message compiler.\n *\n * Example usage:\n *\n * ```ts\n * import { compileMessage } from \"@lingui/message-utils/compileMessage\";\n *\n * i18n.setMessagesCompiler(compileMessage);\n * ```\n */\n setMessagesCompiler(compiler) {\n this._messageCompiler = compiler;\n return this;\n }\n /**\n * @deprecated Plurals automatically used from Intl.PluralRules you can safely remove this call. Deprecated in v4\n */\n loadLocaleData(localeOrAllData, localeData) {\n if (typeof localeOrAllData === \"string\") {\n this._loadLocaleData(localeOrAllData, localeData);\n } else {\n Object.keys(localeOrAllData).forEach(\n (locale) => this._loadLocaleData(locale, localeOrAllData[locale])\n );\n }\n this.emit(\"change\");\n }\n _load(locale, messages) {\n const maybeMessages = this._messages[locale];\n if (!maybeMessages) {\n this._messages[locale] = messages;\n } else {\n Object.assign(maybeMessages, messages);\n }\n }\n load(localeOrMessages, messages) {\n if (typeof localeOrMessages == \"string\" && typeof messages === \"object\") {\n this._load(localeOrMessages, messages);\n } else {\n Object.entries(localeOrMessages).forEach(\n ([locale, messages2]) => this._load(locale, messages2)\n );\n }\n this.emit(\"change\");\n }\n /**\n * @param options {@link LoadAndActivateOptions}\n */\n loadAndActivate({ locale, locales, messages }) {\n this._locale = locale;\n this._locales = locales || void 0;\n this._messages[this._locale] = messages;\n this.emit(\"change\");\n }\n activate(locale, locales) {\n if (process.env.NODE_ENV !== \"production\") {\n if (!this._messages[locale]) {\n console.warn(`Messages for locale \"${locale}\" not loaded.`);\n }\n }\n this._locale = locale;\n this._locales = locales;\n this.emit(\"change\");\n }\n _(id, values, options) {\n if (!this.locale) {\n throw new Error(\n \"Lingui: Attempted to call a translation function without setting a locale.\\nMake sure to call `i18n.activate(locale)` before using Lingui functions.\\nThis issue may also occur due to a race condition in your initialization logic.\"\n );\n }\n let message = options?.message;\n if (!id) {\n id = \"\";\n }\n if (!isString(id)) {\n values = id.values || values;\n message = id.message;\n id = id.id;\n }\n const messageForId = this.messages[id];\n const messageMissing = messageForId === void 0;\n const missing = this._missing;\n if (missing && messageMissing) {\n return isFunction(missing) ? missing(this._locale, id) : missing;\n }\n if (messageMissing) {\n this.emit(\"missing\", { id, locale: this._locale });\n }\n let translation = messageForId || message || id;\n if (isString(translation)) {\n if (this._messageCompiler) {\n translation = this._messageCompiler(translation);\n } else {\n console.warn(`Uncompiled message detected! Message:\n\n> ${translation}\n\nThat means you use raw catalog or your catalog doesn't have a translation for the message and fallback was used.\nICU features such as interpolation and plurals will not work properly for that message. \n\nPlease compile your catalog first. \n`);\n }\n }\n if (isString(translation) && UNICODE_REGEX.test(translation))\n return JSON.parse(`\"${translation}\"`);\n if (isString(translation))\n return translation;\n return interpolate(\n translation,\n this._locale,\n this._locales\n )(values, options?.formats);\n }\n date(value, format) {\n return date(this._locales || this._locale, value, format);\n }\n number(value, format) {\n return number(this._locales || this._locale, value, format);\n }\n}\nfunction setupI18n(params = {}) {\n return new I18n(params);\n}\n\nconst i18n = setupI18n();\n\nexport { I18n, formats, i18n, setupI18n };\n", "import { parse } from '@messageformat/parser';\n\n/**\n * Parent class for errors.\n *\n * @remarks\n * Errors with `type: \"warning\"` do not necessarily indicate that the parser\n * encountered an error. In addition to a human-friendly `message`, may also\n * includes the `token` at which the error was encountered.\n *\n * @public\n */\nclass DateFormatError extends Error {\n /** @internal */\n constructor(msg, token, type) {\n super(msg);\n this.token = token;\n this.type = type || 'error';\n }\n}\nconst alpha = (width) => width < 4 ? 'short' : width === 4 ? 'long' : 'narrow';\nconst numeric = (width) => (width % 2 === 0 ? '2-digit' : 'numeric');\nfunction yearOptions(token, onError) {\n switch (token.char) {\n case 'y':\n return { year: numeric(token.width) };\n case 'r':\n return { calendar: 'gregory', year: 'numeric' };\n case 'u':\n case 'U':\n case 'Y':\n default:\n onError(`${token.desc} is not supported; falling back to year:numeric`, DateFormatError.WARNING);\n return { year: 'numeric' };\n }\n}\nfunction monthStyle(token, onError) {\n switch (token.width) {\n case 1:\n return 'numeric';\n case 2:\n return '2-digit';\n case 3:\n return 'short';\n case 4:\n return 'long';\n case 5:\n return 'narrow';\n default:\n onError(`${token.desc} is not supported with width ${token.width}`);\n return undefined;\n }\n}\nfunction dayStyle(token, onError) {\n const { char, desc, width } = token;\n if (char === 'd') {\n return numeric(width);\n }\n else {\n onError(`${desc} is not supported`);\n return undefined;\n }\n}\nfunction weekdayStyle(token, onError) {\n const { char, desc, width } = token;\n if ((char === 'c' || char === 'e') && width < 3) {\n // ignoring stand-alone-ness\n const msg = `Numeric value is not supported for ${desc}; falling back to weekday:short`;\n onError(msg, DateFormatError.WARNING);\n }\n // merging narrow styles\n return alpha(width);\n}\nfunction hourOptions(token) {\n const hour = numeric(token.width);\n let hourCycle;\n switch (token.char) {\n case 'h':\n hourCycle = 'h12';\n break;\n case 'H':\n hourCycle = 'h23';\n break;\n case 'k':\n hourCycle = 'h24';\n break;\n case 'K':\n hourCycle = 'h11';\n break;\n }\n return hourCycle ? { hour, hourCycle } : { hour };\n}\nfunction timeZoneNameStyle(token, onError) {\n // so much fallback behaviour here\n const { char, desc, width } = token;\n switch (char) {\n case 'v':\n case 'z':\n return width === 4 ? 'long' : 'short';\n case 'V':\n if (width === 4)\n return 'long';\n onError(`${desc} is not supported with width ${width}`);\n return undefined;\n case 'X':\n onError(`${desc} is not supported`);\n return undefined;\n }\n return 'short';\n}\nfunction compileOptions(token, onError) {\n switch (token.field) {\n case 'era':\n return { era: alpha(token.width) };\n case 'year':\n return yearOptions(token, onError);\n case 'month':\n return { month: monthStyle(token, onError) };\n case 'day':\n return { day: dayStyle(token, onError) };\n case 'weekday':\n return { weekday: weekdayStyle(token, onError) };\n case 'period':\n return undefined;\n case 'hour':\n return hourOptions(token);\n case 'min':\n return { minute: numeric(token.width) };\n case 'sec':\n return { second: numeric(token.width) };\n case 'tz':\n return { timeZoneName: timeZoneNameStyle(token, onError) };\n case 'quarter':\n case 'week':\n case 'sec-frac':\n case 'ms':\n onError(`${token.desc} is not supported`);\n }\n return undefined;\n}\nfunction getDateFormatOptions(tokens, timeZone, onError = error => {\n throw error;\n}) {\n const options = {\n timeZone\n };\n const fields = [];\n for (const token of tokens) {\n const { error, field, str } = token;\n if (error) {\n const dte = new DateFormatError(error.message, token);\n dte.stack = error.stack;\n onError(dte);\n }\n if (str) {\n const msg = `Ignoring string part: ${str}`;\n onError(new DateFormatError(msg, token, DateFormatError.WARNING));\n }\n if (field) {\n if (fields.indexOf(field) === -1)\n fields.push(field);\n else\n onError(new DateFormatError(`Duplicate ${field} token`, token));\n }\n const opt = compileOptions(token, (msg, isWarning) => onError(new DateFormatError(msg, token, isWarning)));\n if (opt)\n Object.assign(options, opt);\n }\n return options;\n}\n\nconst fields = {\n G: { field: 'era', desc: 'Era' },\n y: { field: 'year', desc: 'Year' },\n Y: { field: 'year', desc: 'Year of \"Week of Year\"' },\n u: { field: 'year', desc: 'Extended year' },\n U: { field: 'year', desc: 'Cyclic year name' },\n r: { field: 'year', desc: 'Related Gregorian year' },\n Q: { field: 'quarter', desc: 'Quarter' },\n q: { field: 'quarter', desc: 'Stand-alone quarter' },\n M: { field: 'month', desc: 'Month in year' },\n L: { field: 'month', desc: 'Stand-alone month in year' },\n w: { field: 'week', desc: 'Week of year' },\n W: { field: 'week', desc: 'Week of month' },\n d: { field: 'day', desc: 'Day in month' },\n D: { field: 'day', desc: 'Day of year' },\n F: { field: 'day', desc: 'Day of week in month' },\n g: { field: 'day', desc: 'Modified julian day' },\n E: { field: 'weekday', desc: 'Day of week' },\n e: { field: 'weekday', desc: 'Local day of week' },\n c: { field: 'weekday', desc: 'Stand-alone local day of week' },\n a: { field: 'period', desc: 'AM/PM marker' },\n b: { field: 'period', desc: 'AM/PM/noon/midnight marker' },\n B: { field: 'period', desc: 'Flexible day period' },\n h: { field: 'hour', desc: 'Hour in AM/PM (1~12)' },\n H: { field: 'hour', desc: 'Hour in day (0~23)' },\n k: { field: 'hour', desc: 'Hour in day (1~24)' },\n K: { field: 'hour', desc: 'Hour in AM/PM (0~11)' },\n j: { field: 'hour', desc: 'Hour in preferred cycle' },\n J: { field: 'hour', desc: 'Hour in preferred cycle without marker' },\n C: { field: 'hour', desc: 'Hour in preferred cycle with flexible marker' },\n m: { field: 'min', desc: 'Minute in hour' },\n s: { field: 'sec', desc: 'Second in minute' },\n S: { field: 'sec-frac', desc: 'Fractional second' },\n A: { field: 'ms', desc: 'Milliseconds in day' },\n z: { field: 'tz', desc: 'Time Zone: specific non-location' },\n Z: { field: 'tz', desc: 'Time Zone' },\n O: { field: 'tz', desc: 'Time Zone: localized' },\n v: { field: 'tz', desc: 'Time Zone: generic non-location' },\n V: { field: 'tz', desc: 'Time Zone: ID' },\n X: { field: 'tz', desc: 'Time Zone: ISO8601 with Z' },\n x: { field: 'tz', desc: 'Time Zone: ISO8601' }\n};\nconst isLetter = (char) => (char >= 'A' && char <= 'Z') || (char >= 'a' && char <= 'z');\nfunction readFieldToken(src, pos) {\n const char = src[pos];\n let width = 1;\n while (src[++pos] === char)\n ++width;\n const field = fields[char];\n if (!field) {\n const msg = `The letter ${char} is not a valid field identifier`;\n return { char, error: new Error(msg), width };\n }\n return { char, field: field.field, desc: field.desc, width };\n}\nfunction readQuotedToken(src, pos) {\n let str = src[++pos];\n let width = 2;\n if (str === \"'\")\n return { char: \"'\", str, width };\n while (true) {\n const next = src[++pos];\n ++width;\n if (next === undefined) {\n const msg = `Unterminated quoted literal in pattern: ${str || src}`;\n return { char: \"'\", error: new Error(msg), str, width };\n }\n else if (next === \"'\") {\n if (src[++pos] !== \"'\")\n return { char: \"'\", str, width };\n else\n ++width;\n }\n str += next;\n }\n}\nfunction readToken(src, pos) {\n const char = src[pos];\n if (!char)\n return null;\n if (isLetter(char))\n return readFieldToken(src, pos);\n if (char === \"'\")\n return readQuotedToken(src, pos);\n let str = char;\n let width = 1;\n while (true) {\n const next = src[++pos];\n if (!next || isLetter(next) || next === \"'\")\n return { char, str, width };\n str += next;\n width += 1;\n }\n}\n/**\n * Parse an {@link http://userguide.icu-project.org/formatparse/datetime | ICU\n * DateFormat skeleton} string into a {@link DateToken} array.\n *\n * @remarks\n * Errors will not be thrown, but if encountered are included as the relevant\n * token's `error` value.\n *\n * @public\n * @param src - The skeleton string\n *\n * @example\n * ```js\n * import { parseDateTokens } from '@messageformat/date-skeleton'\n *\n * parseDateTokens('GrMMMdd', console.error)\n * // [\n * // { char: 'G', field: 'era', desc: 'Era', width: 1 },\n * // { char: 'r', field: 'year', desc: 'Related Gregorian year', width: 1 },\n * // { char: 'M', field: 'month', desc: 'Month in year', width: 3 },\n * // { char: 'd', field: 'day', desc: 'Day in month', width: 2 }\n * // ]\n * ```\n */\nfunction parseDateTokens(src) {\n const tokens = [];\n let pos = 0;\n while (true) {\n const token = readToken(src, pos);\n if (!token)\n return tokens;\n tokens.push(token);\n pos += token.width;\n }\n}\n\nfunction processTokens(tokens, mapText) {\n if (!tokens.filter((token) => token.type !== \"content\").length) {\n return tokens.map((token) => mapText(token.value));\n }\n return tokens.map((token) => {\n if (token.type === \"content\") {\n return mapText(token.value);\n } else if (token.type === \"octothorpe\") {\n return \"#\";\n } else if (token.type === \"argument\") {\n return [token.arg];\n } else if (token.type === \"function\") {\n const _param = token?.param?.[0];\n if (token.key === \"date\" && _param) {\n const opts = compileDateExpression(_param.value.trim(), (e) => {\n throw new Error(`Unable to compile date expression: ${e.message}`);\n });\n return [token.arg, token.key, opts];\n }\n if (_param) {\n return [token.arg, token.key, _param.value.trim()];\n } else {\n return [token.arg, token.key];\n }\n }\n const offset = token.pluralOffset;\n const formatProps = {};\n token.cases.forEach(({ key, tokens: tokens2 }) => {\n const prop = key[0] === \"=\" ? key.slice(1) : key;\n formatProps[prop] = processTokens(tokens2, mapText);\n });\n return [\n token.arg,\n token.type,\n {\n offset,\n ...formatProps\n }\n ];\n });\n}\nfunction compileDateExpression(format, onError) {\n if (/^::/.test(format)) {\n const tokens = parseDateTokens(format.substring(2));\n return getDateFormatOptions(tokens, void 0, onError);\n }\n return format;\n}\nfunction compileMessage(message, mapText = (v) => v) {\n try {\n return processTokens(parse(message), mapText);\n } catch (e) {\n console.error(`${e.message} \n\nMessage: ${message}`);\n return [message];\n }\n}\n\nexport { compileMessage };\n", "import { LitElement } from 'lit';\nimport { unsafeStatic, html } from \"lit/static-html.js\";\nimport { i18n } from '@lingui/core';\nimport { messages as nbMessages} from '../src/raw/arrow-left/locales/nb/messages.mjs';\nimport { messages as enMessages} from '../src/raw/arrow-left/locales/en/messages.mjs';\nimport { messages as fiMessages} from '../src/raw/arrow-left/locales/fi/messages.mjs';\nimport { messages as daMessages} from '../src/raw/arrow-left/locales/da/messages.mjs';\nimport { messages as svMessages} from '../src/raw/arrow-left/locales/sv/messages.mjs';\nimport { activateI18n } from '../src/utils/i18n';\nactivateI18n(enMessages, nbMessages, fiMessages, daMessages, svMessages);\n\n\nexport class IconArrowLeft16 extends LitElement {\n render() {\n const title = i18n.t({ message: `Leftward-pointing arrow`, id: 'icon.title.arrow-left', comment: 'Title for table arrow left icon' });\n \n return html`<svg xmlns=\"http://www.w3.org/2000/svg\"width=\"16\"height=\"16\"fill=\"none\"viewBox=\"0 0 16 16\" part=\"w-icon-arrow-left-16-part\">${unsafeStatic(`<title>${title}</title>`)}<path stroke=\"currentColor\" stroke-linecap=\"round\" stroke-width=\"1.5\" d=\"M5.222 8h6.667\"></path><path stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"1.5\" d=\"M7.444 11.75 4.111 8l3.333-3.75\"></path></svg>`; }\n}\nif (!customElements.get('w-icon-arrow-left-16')) {\n customElements.define('w-icon-arrow-left-16', IconArrowLeft16);\n}", "/*eslint-disable*/export const messages=JSON.parse(\"{\\\"icon.title.arrow-left\\\":[\\\"Pil som peker mot venstre\\\"]}\");", "/*eslint-disable*/export const messages=JSON.parse(\"{\\\"icon.title.arrow-left\\\":[\\\"Leftward-pointing arrow\\\"]}\");", "/*eslint-disable*/export const messages=JSON.parse(\"{\\\"icon.title.arrow-left\\\":[\\\"Vasemmalle osoittava nuoli\\\"]}\");", "/*eslint-disable*/export const messages=JSON.parse(\"{\\\"icon.title.arrow-left\\\":[\\\"Pil til venstre\\\"]}\");", "/*eslint-disable*/export const messages=JSON.parse(\"{\\\"icon.title.arrow-left\\\":[\\\"Pil som pekar v\u00E4nster\\\"]}\");", "import { Messages, i18n } from '@lingui/core';\n\nexport const supportedLocales = ['en', 'nb', 'fi', 'da', 'sv'] as const;\ntype SupportedLocale = (typeof supportedLocales)[number];\n\nexport const defaultLocale = 'en';\n\nconst detectByBrand = () => {\n\tlet value;\n switch (process?.env?.NMP_BRAND) {\n\t\tcase 'FINN':\n\t\t\tvalue = 'nb';\n\t\t\tbreak;\n\t\tcase 'TORI':\n\t\t\tvalue = 'fi';\n\t\t\tbreak;\n\t\tcase 'BLOCKET':\n\t\t\tvalue = 'sv';\n\t\t\tbreak;\n\t\tcase 'DBA':\n\t\t\tvalue = 'da';\n\t\t\tbreak;\n\t\tdefault:\n\t\t\tvalue = 'en';\n\t}\n\treturn value;\n};\n\nconst detectByHost = () => {\n const hostname = document?.location?.hostname;\n if (hostname?.includes('finn')) {\n return 'nb';\n } else if (hostname.includes('tori')) {\n return 'fi';\n } else if (hostname.includes('blocket')) {\n return 'sv';\n } else if (hostname.includes('dba')) {\n return 'da';\n } else {\n return defaultLocale;\n }\n}\n\nexport const getSupportedLocale = (usedLocale: string) => {\n return (\n supportedLocales.find(\n (locale) =>\n usedLocale === locale || usedLocale.toLowerCase().includes(locale)\n ) || detectByHost()\n );\n};\n\nexport function detectLocale(): SupportedLocale {\n if (typeof window === 'undefined') {\n /**\n * Server locale detection. This requires e.g NMP_BRAND environment variable to be set on the server.\n */\n const serverLocale = detectByBrand();\n return getSupportedLocale(serverLocale);\n }\n\n try {\n /**\n * Client locale detection. Expects the lang attribute to be defined.\n */\n const htmlLocale = document?.documentElement?.lang;\n const hostLocale = detectByHost();\n \n if (!supportedLocales.includes(htmlLocale as SupportedLocale)) {\n console.warn('Unsupported locale set in html lang tag, falling back to detection by hostname');\n return getSupportedLocale(hostLocale);\n }\n return getSupportedLocale(htmlLocale ?? hostLocale);\n } catch (e) {\n console.warn('could not detect locale, falling back to source locale', e);\n return defaultLocale;\n }\n}\n\nexport const getMessages = (\n locale: SupportedLocale,\n enMsg: Messages,\n nbMsg: Messages,\n fiMsg: Messages,\n daMsg: Messages,\n svMsg: Messages\n) => {\n if (locale === 'nb') return nbMsg;\n if (locale === 'fi') return fiMsg;\n if (locale === 'da') return daMsg;\n if (locale === 'sv') return svMsg;\n // Default to English\n return enMsg;\n};\n\nexport const activateI18n = (\n enMessages: Messages,\n nbMessages: Messages,\n fiMessages: Messages,\n daMessages: Messages,\n svMessages: Messages\n) => {\n const locale = detectLocale();\n const messages = getMessages(locale, enMessages, nbMessages, fiMessages, daMessages, svMessages);\n i18n.load(locale, messages);\n i18n.activate(locale);\n};\n", "import { LitElement } from 'lit';\nimport { unsafeStatic, html } from \"lit/static-html.js\";\nimport { i18n } from '@lingui/core';\nimport { messages as nbMessages} from '../src/raw/close/locales/nb/messages.mjs';\nimport { messages as enMessages} from '../src/raw/close/locales/en/messages.mjs';\nimport { messages as fiMessages} from '../src/raw/close/locales/fi/messages.mjs';\nimport { messages as daMessages} from '../src/raw/close/locales/da/messages.mjs';\nimport { messages as svMessages} from '../src/raw/close/locales/sv/messages.mjs';\nimport { activateI18n } from '../src/utils/i18n';\nactivateI18n(enMessages, nbMessages, fiMessages, daMessages, svMessages);\n\n\nexport class IconClose16 extends LitElement {\n render() {\n const title = i18n.t({ message: `Cross`, id: 'icon.title.close', comment: 'Title for close icon' });\n \n return html`<svg xmlns=\"http://www.w3.org/2000/svg\"width=\"16\"height=\"16\"fill=\"none\"viewBox=\"0 0 16 16\" part=\"w-icon-close-16-part\">${unsafeStatic(`<title>${title}</title>`)}<path stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"1.5\" d=\"m12.5 3.5-9 9m0-9 9 9\"></path></svg>`; }\n}\nif (!customElements.get('w-icon-close-16')) {\n customElements.define('w-icon-close-16', IconClose16);\n}", "/*eslint-disable*/export const messages=JSON.parse(\"{\\\"icon.title.close\\\":[\\\"Kryss\\\"]}\");", "/*eslint-disable*/export const messages=JSON.parse(\"{\\\"icon.title.close\\\":[\\\"Cross\\\"]}\");", "/*eslint-disable*/export const messages=JSON.parse(\"{\\\"icon.title.close\\\":[\\\"Rasti\\\"]}\");", "/*eslint-disable*/export const messages=JSON.parse(\"{\\\"icon.title.close\\\":[\\\"Kryds\\\"]}\");", "/*eslint-disable*/export const messages=JSON.parse(\"{\\\"icon.title.close\\\":[\\\"Kryss\\\"]}\");", "import { Messages, i18n } from '@lingui/core';\n\nexport const supportedLocales = ['en', 'nb', 'fi', 'da', 'sv'] as const;\ntype SupportedLocale = (typeof supportedLocales)[number];\n\nexport const defaultLocale = 'en';\n\nconst detectByBrand = () => {\n\tlet value;\n switch (process?.env?.NMP_BRAND) {\n\t\tcase 'FINN':\n\t\t\tvalue = 'nb';\n\t\t\tbreak;\n\t\tcase 'TORI':\n\t\t\tvalue = 'fi';\n\t\t\tbreak;\n\t\tcase 'BLOCKET':\n\t\t\tvalue = 'sv';\n\t\t\tbreak;\n\t\tcase 'DBA':\n\t\t\tvalue = 'da';\n\t\t\tbreak;\n\t\tdefault:\n\t\t\tvalue = 'en';\n\t}\n\treturn value;\n};\n\nconst detectByHost = () => {\n const hostname = document?.location?.hostname;\n if (hostname?.includes('finn')) {\n return 'nb';\n } else if (hostname.includes('tori')) {\n return 'fi';\n } else if (hostname.includes('blocket')) {\n return 'sv';\n } else if (hostname.includes('dba')) {\n return 'da';\n } else {\n return defaultLocale;\n }\n}\n\nexport const getSupportedLocale = (usedLocale: string) => {\n return (\n supportedLocales.find(\n (locale) =>\n usedLocale === locale || usedLocale.toLowerCase().includes(locale)\n ) || detectByHost()\n );\n};\n\nexport function detectLocale(): SupportedLocale {\n if (typeof window === 'undefined') {\n /**\n * Server locale detection. This requires e.g NMP_BRAND environment variable to be set on the server.\n */\n const serverLocale = detectByBrand();\n return getSupportedLocale(serverLocale);\n }\n\n try {\n /**\n * Client locale detection. Expects the lang attribute to be defined.\n */\n const htmlLocale = document?.documentElement?.lang;\n const hostLocale = detectByHost();\n \n if (!supportedLocales.includes(htmlLocale as SupportedLocale)) {\n console.warn('Unsupported locale set in html lang tag, falling back to detection by hostname');\n return getSupportedLocale(hostLocale);\n }\n return getSupportedLocale(htmlLocale ?? hostLocale);\n } catch (e) {\n console.warn('could not detect locale, falling back to source locale', e);\n return defaultLocale;\n }\n}\n\nexport const getMessages = (\n locale: SupportedLocale,\n enMsg: Messages,\n nbMsg: Messages,\n fiMsg: Messages,\n daMsg: Messages,\n svMsg: Messages\n) => {\n if (locale === 'nb') return nbMsg;\n if (locale === 'fi') return fiMsg;\n if (locale === 'da') return daMsg;\n if (locale === 'sv') return svMsg;\n // Default to English\n return enMsg;\n};\n\nexport const activateI18n = (\n enMessages: Messages,\n nbMessages: Messages,\n fiMessages: Messages,\n daMessages: Messages,\n svMessages: Messages\n) => {\n const locale = detectLocale();\n const messages = getMessages(locale, enMessages, nbMessages, fiMessages, daMessages, svMessages);\n i18n.load(locale, messages);\n i18n.activate(locale);\n};\n", "import { Messages, i18n } from '@lingui/core';\n\nexport const supportedLocales = ['en', 'nb', 'fi', 'da', 'sv'] as const;\ntype SupportedLocale = (typeof supportedLocales)[number];\n\nexport const defaultLocale = 'en';\n\nexport const getSupportedLocale = (usedLocale: string) => {\n return (\n supportedLocales.find(\n (locale) =>\n usedLocale === locale || usedLocale.toLowerCase().includes(locale)\n ) || defaultLocale\n );\n};\n\nexport function detectLocale(): SupportedLocale {\n if (typeof window === 'undefined') {\n /**\n * Server locale detection. This requires e.g LANG environment variable to be set on the server.\n */\n const serverLocale =\n process.env.NMP_LANGUAGE ||\n Intl.DateTimeFormat().resolvedOptions().locale;\n return getSupportedLocale(serverLocale);\n }\n\n try {\n /**\n * Client locale detection. Expects the lang attribute to be defined.\n */\n const htmlLocale = document.documentElement.lang;\n return getSupportedLocale(htmlLocale);\n } catch (e) {\n console.warn('could not detect locale, falling back to source locale', e);\n return defaultLocale;\n }\n}\n\nexport const getMessages = (\n locale: SupportedLocale,\n enMsg: Messages,\n nbMsg: Messages,\n fiMsg: Messages,\n daMsg: Messages,\n svMsg: Messages,\n) => {\n if (locale === 'nb') return nbMsg;\n if (locale === 'fi') return fiMsg;\n if (locale === 'da') return daMsg;\n if (locale === 'sv') return svMsg;\n // Default to English\n return enMsg;\n};\n\nexport const activateI18n = (\n enMessages: Messages,\n nbMessages: Messages,\n fiMessages: Messages,\n daMessages: Messages,\n svMessages: Messages,\n) => {\n const locale = detectLocale();\n const messages = getMessages(locale, enMessages, nbMessages, fiMessages, daMessages, svMessages);\n i18n.load(locale, messages);\n i18n.activate(locale);\n};\n", "/*eslint-disable*/export const messages=JSON.parse(\"{\\\"modal.aria.back\\\":[\\\"Tilbage\\\"],\\\"modal.aria.close\\\":[\\\"Luk\\\"]}\");", "/*eslint-disable*/export const messages=JSON.parse(\"{\\\"modal.aria.back\\\":[\\\"Back\\\"],\\\"modal.aria.close\\\":[\\\"Close\\\"]}\");", "/*eslint-disable*/export const messages=JSON.parse(\"{\\\"modal.aria.back\\\":[\\\"Takaisin\\\"],\\\"modal.aria.close\\\":[\\\"Sulje\\\"]}\");", "/*eslint-disable*/export const messages=JSON.parse(\"{\\\"modal.aria.back\\\":[\\\"Tilbake\\\"],\\\"modal.aria.close\\\":[\\\"Lukk\\\"]}\");", "/*eslint-disable*/export const messages=JSON.parse(\"{\\\"modal.aria.back\\\":[\\\"Tillbaka\\\"],\\\"modal.aria.close\\\":[\\\"St\u00E4ng\\\"]}\");", "import { css, html, LitElement } from 'lit';\nimport { setup as setupScrollLock, teardown as teardownScrollLock } from 'scroll-doctor';\nimport { property, query } from 'lit/decorators.js';\nimport { ProvidesCanCloseToSlotsMixin } from './util.js';\n\nexport class ModalMain extends ProvidesCanCloseToSlotsMixin(LitElement) {\n @property({ type: Boolean }) show: boolean\n @property({ type: String, attribute: 'content-id' }) contentId: string\n @property({ type: Boolean, attribute: 'ignore-backdrop-clicks' }) ignoreBackdropClicks: boolean\n\n // @ts-expect-error The mixin needs type definitions\n @query('.dialog-el') dialogEl: HTMLDialogElement\n // @ts-expect-error The mixin needs type definitions\n @query('.dialog-inner-el') dialogInnerEl: HTMLElement\n // @ts-expect-error The mixin needs type definitions\n @query('.content-el') contentEl: HTMLElement\n\n constructor() {\n super();\n this.interceptEscape = this.interceptEscape.bind(this);\n this.closeOnBackdropClick = this.closeOnBackdropClick.bind(this);\n this.eventPreventer = this.eventPreventer.bind(this);\n this.modifyBorderRadius = this.modifyBorderRadius.bind(this);\n }\n\n async open() {\n this.dialogEl.showModal();\n this.handleListeners();\n setupScrollLock(this.contentEl);\n await this.updateComplete;\n this.dispatchEvent(new CustomEvent('shown', { bubbles: true, composed: true }));\n }\n\n close() {\n this.handleListeners('removeEventListener');\n this.dialogEl.classList.add('close');\n this.dialogEl.addEventListener(\n 'animationend',\n async () => {\n this.dialogEl.classList.remove('close');\n this.dialogEl.close();\n teardownScrollLock();\n await this.updateComplete;\n this.dispatchEvent(new CustomEvent('hidden', { bubbles: true, composed: true }));\n },\n { once: true },\n );\n }\n\n render() {\n return html`\n <dialog class=\"dialog-el\">\n <div class=\"dialog-inner-el\">\n <slot name=\"header\" @slotchange=\"${this.handleSlotChange}\"></slot>\n <div class=\"content-el\" id=${this.contentId}>\n <slot name=\"content\" @slotchange=\"${this.handleSlotChange}\"></slot>\n </div>\n <slot name=\"footer\" @slotchange=\"${this.handleSlotChange}\"></slot>\n </div>\n </dialog>\n `;\n }\n\n updated(changedProperties: Map<string, any>) {\n if (changedProperties.has('show')) this[this.show ? 'open' : 'close']();\n }\n\n handleListeners(verb = 'addEventListener') {\n // HACK: escape normally fires 'cancel' but 'cancel' can only be intercepted once (browser bug/quirk)\n document[verb]('keydown', this.interceptEscape);\n // Using 'mousedown' instead of 'click' because mouse-up events on the backdrop also trigger 'click'\n if (!this.ignoreBackdropClicks) this.dialogEl[verb]('mousedown', this.closeOnBackdropClick);\n // HACK: 'close' fires once the dialog is closed, thus it's cannot animate\n this.dialogEl[verb]('close', this.eventPreventer);\n // HACK: this might not be needed since escape is intercepted, but better to be safe\n this.dialogEl[verb]('cancel', this.eventPreventer);\n\n this.dialogInnerEl[verb]('transitionend', this.modifyBorderRadius);\n }\n\n eventPreventer(evt: Event) {\n evt.preventDefault();\n }\n\n closeOnBackdropClick(evt: MouseEvent) {\n if (this.dialogEl === evt.target) this.close();\n }\n\n interceptEscape(evt: KeyboardEvent) {\n if (evt.key === 'Escape') {\n evt.preventDefault();\n this.close();\n }\n }\n\n modifyBorderRadius() {\n if (this.dialogInnerEl.scrollHeight * 1.02 > innerHeight) this.dialogInnerEl.style.borderRadius = '0px';\n else this.dialogInnerEl.style.borderRadius = null;\n }\n\n static styles = [\n css`\n .dialog-el {\n --w-modal-translate-distance: 100%;\n --w-modal-max-height:80%;\n --w-modal-width:640px;\n background-color:transparent;\n border-width:0;\n align-items:flex-end;\n inset:0rem;\n height:unset;\n max-height:unset;\n max-width:unset;\n width:unset;\n margin:auto;\n padding:0rem;\n backface-visibility:hidden;\n }\n .dialog-inner-el {\n will-change:height;\n border-radius:8px;\n display:flex;\n flex-direction:column;\n overflow:hidden;\n position:relative;\n background-color:var(--w-s-color-background);\n box-shadow:var(--w-shadow-m);\n height:var(--w-modal-height);\n max-height:var(--w-modal-max-height);\n min-height:var(--w-modal-min-height);\n width:var(--w-modal-width);\n backface-visibility:hidden;\n padding-bottom:calc(32px + env(safe-area-inset-bottom, 0px));\n transition-property:all;\n transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);\n transition-duration:150ms;\n transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);\n }\n .content-el {\n display:block;\n flex-shrink:1;\n flex-grow:1;\n overflow-x:hidden;\n overflow-y:auto;\n position:relative;\n margin-bottom:0rem;\n padding-left:1.6rem;\n padding-right:1.6rem;\n }\n @media (min-width: 480px) {\n .dialog-el {\n --w-modal-translate-distance: 50%;\n place-content:center;\n place-items:center;\n }\n .dialog-inner-el {\n margin-left:1.6rem;\n margin-right:1.6rem;\n padding-bottom:3.2rem;\n }\n .content-el {\n padding-left:3.2rem;\n padding-right:3.2rem;\n }\n }\n @media (max-width: 479.9px){\n .dialog-inner-el {\n border-bottom-left-radius:0;\n border-bottom-right-radius:0;\n }\n }\n .dialog-el[open] {\n animation: w-modal-in 0.3s ease-in-out forwards;\n display:flex;\n position:fixed;\n }\n .dialog-el.close {\n animation: w-modal-out 0.3s ease-in-out forwards;\n }\n .dialog-el[open]::backdrop {\n animation: backdrop-in 0.3s ease-in-out forwards;\n }\n .dialog-el.close::backdrop {\n animation: backdrop-out 0.3s ease-in-out forwards;\n }\n /* shouldn't need two (in/out) animations declared here, but reversing is being weird */\n @keyframes w-modal-in {\n from {\n transform: translateY(var(--w-modal-translate-distance));\n opacity: 0;\n }\n to {\n transform: translateY(0);\n opacity: 1;\n }\n }\n @keyframes w-modal-out {\n from {\n transform: translateY(0);\n opacity: 1;\n }\n to {\n transform: translateY(var(--w-modal-translate-distance));\n opacity: 0;\n }\n }\n @keyframes backdrop-in {\n from {\n background: transparent;\n }\n to {\n background: rgba(0, 0, 0, 0.25);\n }\n }\n @keyframes backdrop-out {\n from {\n background: rgba(0, 0, 0, 0.25);\n }\n to {\n background: transparent;\n }\n }\n `,\n ];\n}\n", "let n = [];\nconst c = { documentElement: {}, body: {} }, i = Object.freeze({\n // html\n documentElement: {\n \"scrollbar-gutter\": \"stable\"\n },\n body: {\n overflow: \"hidden\",\n position: \"relative\",\n height: \"100%\"\n }\n}), r = (t) => {\n t.touches.length > 1 || t.preventDefault?.();\n}, h = (t) => ([e, s]) => {\n c[t][e] = document[t].style[e], document[t].style[e] = s;\n}, a = () => Object.entries(i).forEach(([t, e]) => {\n Object.entries(e).forEach(h(t));\n}), d = (t) => ([e, s]) => {\n document[t].style[e] = c[t][e];\n}, f = () => Object.entries(c).forEach(([t, e]) => {\n Object.entries(e).forEach(d(t));\n}), m = (t) => t.scrollHeight - Math.abs(t.scrollTop) === t.clientHeight;\nfunction y(t) {\n let e = -1;\n const s = (o) => {\n if (o.targetTouches.length !== 1)\n return;\n const l = o.targetTouches[0].clientY - e;\n return t.scrollTop === 0 && l > 0 || m(t) && l < 0 ? r(o) : (o.stopPropagation(), !0);\n };\n t.ontouchstart = (o) => {\n o.targetTouches.length === 1 && (e = o.targetTouches[0].clientY);\n }, t.ontouchmove = s;\n}\nfunction p(t) {\n t.ontouchstart = null, t.ontouchmove = null;\n}\nconst u = (t) => () => document[t ? \"addEventListener\" : \"removeEventListener\"](\"touchmove\", r, { passive: !1 }), b = u(!0), g = u();\nfunction E(t) {\n if (!t)\n throw Error(\"Could not run setup, an element must be provided\");\n n.some((e) => e === t) || (n.length || (a(), b()), y(t), n.push(t));\n}\nfunction T() {\n n.forEach(p), g(), f(), n = [];\n}\nexport {\n f as resetStyles,\n a as setStyles,\n E as setup,\n i as styleTargets,\n T as teardown\n};\n", "import { ModalFooter } from './modal-footer.ts';\nimport { ModalHeader } from './modal-header.ts';\nimport { ModalMain } from './modal-main.ts';\nimport { CanCloseMixin, ProvidesCanCloseToSlotsMixin } from './util.js';\n\nif (!customElements.get('w-modal')) {\n customElements.define('w-modal', ModalMain);\n customElements.define('w-modal-header', ModalHeader);\n customElements.define('w-modal-footer', ModalFooter);\n}\n\nexport {\n ModalMain as WarpModal,\n ModalHeader as WarpModalHeader,\n ModalFooter as WarpModalFooter,\n CanCloseMixin as ModalCanCloseMixin,\n ProvidesCanCloseToSlotsMixin as ModalProvidesCanCloseToSlotsMixin,\n};\n"],
|
|
5
|
-
"mappings": "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",
|
|
6
|
-
"names": ["ErrorType", "unraw", "
|
|
3
|
+
"sources": ["../../../node_modules/.pnpm/unraw@3.0.0/node_modules/unraw/dist/errors.js", "../../../node_modules/.pnpm/unraw@3.0.0/node_modules/unraw/dist/index.js", "../../../packages/modal/modal-footer.ts", "../../../packages/styles.ts", "../../../packages/modal/util.ts", "../../../packages/modal/modal-header.ts", "../../../node_modules/.pnpm/@itsy+animate@0.0.9/node_modules/@itsy/animate/src/utility.js", "../../../node_modules/.pnpm/@itsy+animate@0.0.9/node_modules/@itsy/animate/src/reduce-motion.js", "../../../node_modules/.pnpm/@itsy+animate@0.0.9/node_modules/@itsy/animate/src/move.js", "../../../node_modules/.pnpm/@lingui+core@5.2.0_@lingui+babel-plugin-lingui-macro@5.2.0_babel-plugin-macros@3.1.0_ty_33a2537ce57a59324989ce8020998d0e/node_modules/@lingui/core/dist/index.mjs", "../../../node_modules/.pnpm/@warp-ds+icons@2.5.0_@lingui+core@5.2.0_@lingui+babel-plugin-lingui-macro@5.2.0_babel-p_f73b1d3c5bd9121d6f30248535f1f172/node_modules/@warp-ds/icons/elements/arrow-left-16.js", "../../../node_modules/.pnpm/@warp-ds+icons@2.5.0_@lingui+core@5.2.0_@lingui+babel-plugin-lingui-macro@5.2.0_babel-p_f73b1d3c5bd9121d6f30248535f1f172/node_modules/@warp-ds/icons/src/raw/arrow-left/locales/nb/messages.mjs", "../../../node_modules/.pnpm/@warp-ds+icons@2.5.0_@lingui+core@5.2.0_@lingui+babel-plugin-lingui-macro@5.2.0_babel-p_f73b1d3c5bd9121d6f30248535f1f172/node_modules/@warp-ds/icons/src/raw/arrow-left/locales/en/messages.mjs", "../../../node_modules/.pnpm/@warp-ds+icons@2.5.0_@lingui+core@5.2.0_@lingui+babel-plugin-lingui-macro@5.2.0_babel-p_f73b1d3c5bd9121d6f30248535f1f172/node_modules/@warp-ds/icons/src/raw/arrow-left/locales/fi/messages.mjs", "../../../node_modules/.pnpm/@warp-ds+icons@2.5.0_@lingui+core@5.2.0_@lingui+babel-plugin-lingui-macro@5.2.0_babel-p_f73b1d3c5bd9121d6f30248535f1f172/node_modules/@warp-ds/icons/src/raw/arrow-left/locales/da/messages.mjs", "../../../node_modules/.pnpm/@warp-ds+icons@2.5.0_@lingui+core@5.2.0_@lingui+babel-plugin-lingui-macro@5.2.0_babel-p_f73b1d3c5bd9121d6f30248535f1f172/node_modules/@warp-ds/icons/src/raw/arrow-left/locales/sv/messages.mjs", "../../../node_modules/.pnpm/@warp-ds+icons@2.5.0_@lingui+core@5.2.0_@lingui+babel-plugin-lingui-macro@5.2.0_babel-p_f73b1d3c5bd9121d6f30248535f1f172/node_modules/@warp-ds/icons/src/utils/i18n.ts", "../../../node_modules/.pnpm/@warp-ds+icons@2.5.0_@lingui+core@5.2.0_@lingui+babel-plugin-lingui-macro@5.2.0_babel-p_f73b1d3c5bd9121d6f30248535f1f172/node_modules/@warp-ds/icons/elements/close-16.js", "../../../node_modules/.pnpm/@warp-ds+icons@2.5.0_@lingui+core@5.2.0_@lingui+babel-plugin-lingui-macro@5.2.0_babel-p_f73b1d3c5bd9121d6f30248535f1f172/node_modules/@warp-ds/icons/src/raw/close/locales/nb/messages.mjs", "../../../node_modules/.pnpm/@warp-ds+icons@2.5.0_@lingui+core@5.2.0_@lingui+babel-plugin-lingui-macro@5.2.0_babel-p_f73b1d3c5bd9121d6f30248535f1f172/node_modules/@warp-ds/icons/src/raw/close/locales/en/messages.mjs", "../../../node_modules/.pnpm/@warp-ds+icons@2.5.0_@lingui+core@5.2.0_@lingui+babel-plugin-lingui-macro@5.2.0_babel-p_f73b1d3c5bd9121d6f30248535f1f172/node_modules/@warp-ds/icons/src/raw/close/locales/fi/messages.mjs", "../../../node_modules/.pnpm/@warp-ds+icons@2.5.0_@lingui+core@5.2.0_@lingui+babel-plugin-lingui-macro@5.2.0_babel-p_f73b1d3c5bd9121d6f30248535f1f172/node_modules/@warp-ds/icons/src/raw/close/locales/da/messages.mjs", "../../../node_modules/.pnpm/@warp-ds+icons@2.5.0_@lingui+core@5.2.0_@lingui+babel-plugin-lingui-macro@5.2.0_babel-p_f73b1d3c5bd9121d6f30248535f1f172/node_modules/@warp-ds/icons/src/raw/close/locales/sv/messages.mjs", "../../../node_modules/.pnpm/@warp-ds+icons@2.5.0_@lingui+core@5.2.0_@lingui+babel-plugin-lingui-macro@5.2.0_babel-p_f73b1d3c5bd9121d6f30248535f1f172/node_modules/@warp-ds/icons/src/utils/i18n.ts", "../../../packages/i18n.ts", "../../../packages/modal/locales/da/messages.mjs", "../../../packages/modal/locales/en/messages.mjs", "../../../packages/modal/locales/fi/messages.mjs", "../../../packages/modal/locales/nb/messages.mjs", "../../../packages/modal/locales/sv/messages.mjs", "../../../packages/modal/modal-main.ts", "../../../node_modules/.pnpm/scroll-doctor@2.0.2/node_modules/scroll-doctor/dist/scroll-doctor.js"],
|
|
4
|
+
"sourcesContent": ["\"use strict\";\n// NOTE: don't construct errors here or they'll have the wrong stack trace.\n// NOTE: don't make custom error class; the JS engines use `SyntaxError`\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.errorMessages = exports.ErrorType = void 0;\n/**\n * Keys for possible error messages used by `unraw`.\n * Note: These do _not_ map to actual error object types. All errors thrown\n * are `SyntaxError`.\n */\n// Don't use const enum or JS users won't be able to access the enum values\nvar ErrorType;\n(function (ErrorType) {\n /**\n * Thrown when a badly formed Unicode escape sequence is found. Possible\n * reasons include the code being too short (`\"\\u25\"`) or having invalid\n * characters (`\"\\u2$A5\"`).\n */\n ErrorType[\"MalformedUnicode\"] = \"MALFORMED_UNICODE\";\n /**\n * Thrown when a badly formed hexadecimal escape sequence is found. Possible\n * reasons include the code being too short (`\"\\x2\"`) or having invalid\n * characters (`\"\\x2$\"`).\n */\n ErrorType[\"MalformedHexadecimal\"] = \"MALFORMED_HEXADECIMAL\";\n /**\n * Thrown when a Unicode code point escape sequence has too high of a code\n * point. The maximum code point allowed is `\\u{10FFFF}`, so `\\u{110000}` and\n * higher will throw this error.\n */\n ErrorType[\"CodePointLimit\"] = \"CODE_POINT_LIMIT\";\n /**\n * Thrown when an octal escape sequences is encountered and `allowOctals` is\n * `false`. For example, `unraw(\"\\234\", false)`.\n */\n ErrorType[\"OctalDeprecation\"] = \"OCTAL_DEPRECATION\";\n /**\n * Thrown only when a single backslash is found at the end of a string. For\n * example, `\"\\\\\"` or `\"test\\\\x24\\\\\"`.\n */\n ErrorType[\"EndOfString\"] = \"END_OF_STRING\";\n})(ErrorType = exports.ErrorType || (exports.ErrorType = {}));\n/** Map of error message names to the full text of the message. */\nexports.errorMessages = new Map([\n [ErrorType.MalformedUnicode, \"malformed Unicode character escape sequence\"],\n [\n ErrorType.MalformedHexadecimal,\n \"malformed hexadecimal character escape sequence\"\n ],\n [\n ErrorType.CodePointLimit,\n \"Unicode codepoint must not be greater than 0x10FFFF in escape sequence\"\n ],\n [\n ErrorType.OctalDeprecation,\n '\"0\"-prefixed octal literals and octal escape sequences are deprecated; ' +\n 'for octal literals use the \"0o\" prefix instead'\n ],\n [ErrorType.EndOfString, \"malformed escape sequence at end of string\"]\n]);\n", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.unraw = exports.errorMessages = exports.ErrorType = void 0;\nconst errors_1 = require(\"./errors\");\nObject.defineProperty(exports, \"ErrorType\", { enumerable: true, get: function () { return errors_1.ErrorType; } });\nObject.defineProperty(exports, \"errorMessages\", { enumerable: true, get: function () { return errors_1.errorMessages; } });\n/**\n * Parse a string as a base-16 number. This is more strict than `parseInt` as it\n * will not allow any other characters, including (for example) \"+\", \"-\", and\n * \".\".\n * @param hex A string containing a hexadecimal number.\n * @returns The parsed integer, or `NaN` if the string is not a valid hex\n * number.\n */\nfunction parseHexToInt(hex) {\n const isOnlyHexChars = !hex.match(/[^a-f0-9]/i);\n return isOnlyHexChars ? parseInt(hex, 16) : NaN;\n}\n/**\n * Check the validity and length of a hexadecimal code and optionally enforces\n * a specific number of hex digits.\n * @param hex The string to validate and parse.\n * @param errorName The name of the error message to throw a `SyntaxError` with\n * if `hex` is invalid. This is used to index `errorMessages`.\n * @param enforcedLength If provided, will throw an error if `hex` is not\n * exactly this many characters.\n * @returns The parsed hex number as a normal number.\n * @throws {SyntaxError} If the code is not valid.\n */\nfunction validateAndParseHex(hex, errorName, enforcedLength) {\n const parsedHex = parseHexToInt(hex);\n if (Number.isNaN(parsedHex) ||\n (enforcedLength !== undefined && enforcedLength !== hex.length)) {\n throw new SyntaxError(errors_1.errorMessages.get(errorName));\n }\n return parsedHex;\n}\n/**\n * Parse a two-digit hexadecimal character escape code.\n * @param code The two-digit hexadecimal number that represents the character to\n * output.\n * @returns The single character represented by the code.\n * @throws {SyntaxError} If the code is not valid hex or is not the right\n * length.\n */\nfunction parseHexadecimalCode(code) {\n const parsedCode = validateAndParseHex(code, errors_1.ErrorType.MalformedHexadecimal, 2);\n return String.fromCharCode(parsedCode);\n}\n/**\n * Parse a four-digit Unicode character escape code.\n * @param code The four-digit unicode number that represents the character to\n * output.\n * @param surrogateCode Optional four-digit unicode surrogate that represents\n * the other half of the character to output.\n * @returns The single character represented by the code.\n * @throws {SyntaxError} If the codes are not valid hex or are not the right\n * length.\n */\nfunction parseUnicodeCode(code, surrogateCode) {\n const parsedCode = validateAndParseHex(code, errors_1.ErrorType.MalformedUnicode, 4);\n if (surrogateCode !== undefined) {\n const parsedSurrogateCode = validateAndParseHex(surrogateCode, errors_1.ErrorType.MalformedUnicode, 4);\n return String.fromCharCode(parsedCode, parsedSurrogateCode);\n }\n return String.fromCharCode(parsedCode);\n}\n/**\n * Test if the text is surrounded by curly braces (`{}`).\n * @param text Text to check.\n * @returns `true` if the text is in the form `{*}`.\n */\nfunction isCurlyBraced(text) {\n return text.charAt(0) === \"{\" && text.charAt(text.length - 1) === \"}\";\n}\n/**\n * Parse a Unicode code point character escape code.\n * @param codePoint A unicode escape code point, including the surrounding curly\n * braces.\n * @returns The single character represented by the code.\n * @throws {SyntaxError} If the code is not valid hex or does not have the\n * surrounding curly braces.\n */\nfunction parseUnicodeCodePointCode(codePoint) {\n if (!isCurlyBraced(codePoint)) {\n throw new SyntaxError(errors_1.errorMessages.get(errors_1.ErrorType.MalformedUnicode));\n }\n const withoutBraces = codePoint.slice(1, -1);\n const parsedCode = validateAndParseHex(withoutBraces, errors_1.ErrorType.MalformedUnicode);\n try {\n return String.fromCodePoint(parsedCode);\n }\n catch (err) {\n throw err instanceof RangeError\n ? new SyntaxError(errors_1.errorMessages.get(errors_1.ErrorType.CodePointLimit))\n : err;\n }\n}\n// Have to give overload that takes boolean for when compiler doesn't know if\n// true or false\nfunction parseOctalCode(code, error = false) {\n if (error) {\n throw new SyntaxError(errors_1.errorMessages.get(errors_1.ErrorType.OctalDeprecation));\n }\n // The original regex only allows digits so we don't need to have a strict\n // octal parser like hexToInt. Length is not enforced for octals.\n const parsedCode = parseInt(code, 8);\n return String.fromCharCode(parsedCode);\n}\n/**\n * Map of unescaped letters to their corresponding special JS escape characters.\n * Intentionally does not include characters that map to themselves like \"\\'\".\n */\nconst singleCharacterEscapes = new Map([\n [\"b\", \"\\b\"],\n [\"f\", \"\\f\"],\n [\"n\", \"\\n\"],\n [\"r\", \"\\r\"],\n [\"t\", \"\\t\"],\n [\"v\", \"\\v\"],\n [\"0\", \"\\0\"]\n]);\n/**\n * Parse a single character escape sequence and return the matching character.\n * If none is matched, defaults to `code`.\n * @param code A single character code.\n */\nfunction parseSingleCharacterCode(code) {\n return singleCharacterEscapes.get(code) || code;\n}\n/**\n * Matches every escape sequence possible, including invalid ones.\n *\n * All capture groups (described below) are unique (only one will match), except\n * for 4, which can only potentially match if 3 does.\n *\n * **Capture Groups:**\n * 0. A single backslash\n * 1. Hexadecimal code\n * 2. Unicode code point code with surrounding curly braces\n * 3. Unicode escape code with surrogate\n * 4. Surrogate code\n * 5. Unicode escape code without surrogate\n * 6. Octal code _NOTE: includes \"0\"._\n * 7. A single character (will never be \\, x, u, or 0-3)\n */\nconst escapeMatch = /\\\\(?:(\\\\)|x([\\s\\S]{0,2})|u(\\{[^}]*\\}?)|u([\\s\\S]{4})\\\\u([^{][\\s\\S]{0,3})|u([\\s\\S]{0,4})|([0-3]?[0-7]{1,2})|([\\s\\S])|$)/g;\n/**\n * Replace raw escape character strings with their escape characters.\n * @param raw A string where escape characters are represented as raw string\n * values like `\\'` rather than `'`.\n * @param allowOctals If `true`, will process the now-deprecated octal escape\n * sequences (ie, `\\111`).\n * @returns The processed string, with escape characters replaced by their\n * respective actual Unicode characters.\n */\nfunction unraw(raw, allowOctals = false) {\n return raw.replace(escapeMatch, function (_, backslash, hex, codePoint, unicodeWithSurrogate, surrogate, unicode, octal, singleCharacter) {\n // Compare groups to undefined because empty strings mean different errors\n // Otherwise, `\\u` would fail the same as `\\` which is wrong.\n if (backslash !== undefined) {\n return \"\\\\\";\n }\n if (hex !== undefined) {\n return parseHexadecimalCode(hex);\n }\n if (codePoint !== undefined) {\n return parseUnicodeCodePointCode(codePoint);\n }\n if (unicodeWithSurrogate !== undefined) {\n return parseUnicodeCode(unicodeWithSurrogate, surrogate);\n }\n if (unicode !== undefined) {\n return parseUnicodeCode(unicode);\n }\n if (octal === \"0\") {\n return \"\\0\";\n }\n if (octal !== undefined) {\n return parseOctalCode(octal, !allowOctals);\n }\n if (singleCharacter !== undefined) {\n return parseSingleCharacterCode(singleCharacter);\n }\n throw new SyntaxError(errors_1.errorMessages.get(errors_1.ErrorType.EndOfString));\n });\n}\nexports.unraw = unraw;\nexports.default = unraw;\n", "import { html, css, LitElement } from 'lit';\n\nimport { reset } from '../styles.js';\n\nimport { CanCloseMixin, ProvidesCanCloseToSlotsMixin } from './util';\n\n/**\n * The footer section of a modal, typically where you place actions.\n *\n * [See Storybook for usage examples](https://warp-ds.github.io/elements/?path=/docs/overlays-modal--docs)\n */\nexport class ModalFooter extends CanCloseMixin(ProvidesCanCloseToSlotsMixin(LitElement)) {\n render() {\n return html`\n <div class=\"footer\">\n <slot @slotchange=\"${this.handleSlotChange}\"></slot>\n </div>\n `;\n }\n static styles = [\n reset,\n css`\n .footer {\n display: flex;\n flex-shrink: 0;\n justify-content: flex-end;\n padding-left: 1.6rem;\n padding-right: 1.6rem;\n padding-top: 2.4rem;\n }\n @media (min-width: 480px) {\n .footer {\n padding-left: 3.2rem;\n padding-right: 3.2rem;\n }\n }\n `,\n ];\n}\n\nif (!customElements.get('w-modal-footer')) {\n customElements.define('w-modal-footer', ModalFooter);\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'w-modal-footer': ModalFooter;\n }\n}\n", "import { css } from 'lit';\n\nexport const reset = css`\n *,\n :before,\n :after {\n box-sizing: border-box;\n border-style: solid;\n border-width: 0;\n border-color: var(--w-s-color-border);\n }\n html {\n font-size: 62.5%;\n }\n body {\n background-color: var(--w-s-color-background);\n min-height: 100%;\n margin: 0;\n overflow-y: scroll;\n }\n body,\n :host {\n -webkit-text-size-adjust: 100%;\n tab-size: 4;\n -webkit-tap-highlight-color: transparent;\n font-family: var(--w-font-family);\n font-size: var(--w-font-size-m);\n line-height: var(--w-line-height-m);\n color: var(--w-s-color-text);\n }\n hr {\n color: inherit;\n border-top-width: 1px;\n height: 0;\n }\n abbr:where([title]) {\n -webkit-text-decoration: underline dotted;\n text-decoration: underline dotted;\n }\n h1,\n h2,\n h3,\n h4,\n h5,\n h6 {\n font-size: inherit;\n font-weight: 700;\n }\n a {\n cursor: pointer;\n color: var(--w-s-color-text-link);\n text-decoration: none;\n }\n a:hover,\n a:focus,\n a:active {\n text-decoration: underline;\n }\n a:focus-visible {\n outline: 2px solid var(--w-s-color-border-focus);\n outline-offset: 1px;\n }\n b,\n strong {\n font-weight: 700;\n }\n code,\n kbd,\n samp,\n pre {\n font-family:\n ui-monospace,\n SFMono-Regular,\n Menlo,\n Monaco,\n Consolas,\n Liberation Mono,\n Courier New,\n monospace;\n font-size: 1em;\n }\n sub,\n sup {\n vertical-align: baseline;\n font-size: 75%;\n line-height: 0;\n position: relative;\n }\n sub {\n bottom: -0.25em;\n }\n sup {\n top: -0.5em;\n }\n table {\n text-indent: 0;\n border-color: inherit;\n border-collapse: collapse;\n }\n button,\n input,\n optgroup,\n select,\n textarea {\n font-family: inherit;\n font-size: 100%;\n font-weight: inherit;\n line-height: inherit;\n color: inherit;\n margin: 0;\n padding: 0;\n }\n button,\n select {\n text-transform: none;\n }\n button,\n [type='button'],\n [type='reset'],\n [type='submit'] {\n -webkit-appearance: button;\n }\n :-moz-focusring {\n outline: auto;\n }\n :-moz-ui-invalid {\n box-shadow: none;\n }\n progress {\n vertical-align: baseline;\n }\n ::-webkit-inner-spin-button {\n height: auto;\n }\n ::-webkit-outer-spin-button {\n height: auto;\n }\n [type='search'] {\n -webkit-appearance: textfield;\n outline-offset: -2px;\n }\n ::-webkit-search-decoration {\n -webkit-appearance: none;\n }\n ::-webkit-file-upload-button {\n -webkit-appearance: button;\n font: inherit;\n }\n summary {\n display: list-item;\n }\n blockquote,\n dl,\n dd,\n h1,\n h2,\n h3,\n h4,\n h5,\n h6,\n hr,\n figure,\n p,\n pre {\n margin: 0;\n }\n fieldset {\n margin: 0;\n padding: 0;\n }\n legend {\n padding: 0;\n }\n ol,\n ul,\n menu {\n margin: 0;\n padding: 0;\n list-style: none;\n }\n textarea {\n resize: vertical;\n }\n input::placeholder,\n textarea::placeholder {\n opacity: 1;\n color: var(--w-s-color-text-placeholder);\n }\n button,\n [role='button'] {\n cursor: pointer;\n }\n :disabled {\n cursor: default;\n }\n img,\n svg,\n video,\n canvas,\n audio,\n iframe,\n embed,\n object {\n vertical-align: middle;\n display: block;\n }\n img,\n video {\n max-width: 100%;\n height: auto;\n }\n h1 {\n font-size: var(--w-font-size-xxl);\n line-height: var(--w-line-height-xxl);\n }\n h2 {\n font-size: var(--w-font-size-xl);\n line-height: var(--w-line-height-xl);\n }\n h3 {\n font-size: var(--w-font-size-l);\n line-height: var(--w-line-height-l);\n }\n h4 {\n font-size: var(--w-font-size-m);\n line-height: var(--w-line-height-m);\n }\n h5 {\n font-size: var(--w-font-size-s);\n line-height: var(--w-line-height-s);\n }\n dt,\n dd {\n margin: 0 16px;\n }\n h1,\n h2,\n h3,\n h4,\n h5,\n ul,\n ol,\n dl,\n p,\n blockquote {\n margin: 0 0 8px;\n }\n [hidden] {\n display: none !important;\n }\n [tabindex='-1']:focus:not(:focus-visible) {\n outline: none;\n }\n legend {\n float: left;\n width: 100%;\n margin: 0;\n padding: 0;\n display: table;\n }\n legend + * {\n clear: both;\n }\n fieldset {\n border: 0;\n min-width: 0;\n margin: 0;\n padding: 0.01em 0 0;\n }\n body:not(:-moz-handler-blocked) fieldset {\n display: table-cell;\n }\n svg {\n pointer-events: none;\n }\n`;\nexport const components = css`*, :before, :after {\n --w-rotate: 0;\n --w-rotate-x: 0;\n --w-rotate-y: 0;\n --w-rotate-z: 0;\n --w-scale-x: 1;\n --w-scale-y: 1;\n --w-scale-z: 1;\n --w-skew-x: 0;\n --w-skew-y: 0;\n --w-translate-x: 0;\n --w-translate-y: 0;\n --w-translate-z: 0\n }\n\n .h4, .t4 {\n font-weight: 700;\n font-size: var(--w-font-size-m);\n line-height: var(--w-line-height-m)\n }\n\n .t3 {\n font-weight: 700;\n font-size: var(--w-font-size-l);\n line-height: var(--w-line-height-l)\n }\n\n @media (min-width: 480px) {\n .sm\\\\:h3 {\n font-weight: 700;\n font-size: var(--w-font-size-l);\n line-height: var(--w-line-height-l)\n }\n }\n\n .text-center {\n text-align: center\n }\n\n .before\\\\:text-center:before {\n text-align: center\n }\n\n .text-left {\n text-align: left\n }\n\n .text-right {\n text-align: right\n }\n\n .align-middle {\n vertical-align: middle\n }\n\n .animate-inprogress {\n background-image: linear-gradient(135deg, rgba(0, 0, 0, .05) 25%, transparent 0, transparent 50%, rgba(0, 0, 0, .05) 0, rgba(0, 0, 0, .05) 75%, transparent 0, transparent) !important;\n background-size: 30px 30px;\n animation: animate-inprogress 3s linear infinite\n }\n\n @keyframes animate-inprogress {\n 0% {\n background-position: 0 0\n }\n to {\n background-position: 60px 0\n }\n }\n\n .\\\\[--w-modal-max-height\\\\:80\\\\%\\\\] {\n --w-modal-max-height: 80%\n }\n\n .\\\\[--w-modal-width\\\\:640px\\\\] {\n --w-modal-width: 640px\n }\n\n .focus\\\\:\\\\[--w-outline-offset\\\\:-2px\\\\]:focus {\n --w-outline-offset: -2px\n }\n\n .backdrop-blur {\n -webkit-backdrop-filter: blur(4px);\n backdrop-filter: blur(4px)\n }\n\n .peer:checked ~ .peer-checked\\\\:before\\\\:bg-center:before {\n background-position: center\n }\n\n .hover\\\\:bg-clip-padding:hover {\n -webkit-background-clip: padding-box;\n background-clip: padding-box\n }\n\n .bg-transparent, .group\\\\/steph:first-child .group-first\\\\/steph\\\\:bg-transparent, .group\\\\/steph:last-child .group-last\\\\/steph\\\\:bg-transparent {\n background-color: transparent\n }\n\n .bg-\\\\[--w-black\\\\/25\\\\] {\n background-color: rgba(var(--w-rgb-black), .25)\n }\n\n .bg-\\\\[--w-black\\\\/70\\\\], .bg-\\\\[var\\\\(--w-black\\\\)\\\\/70\\\\] {\n background-color: rgba(var(--w-rgb-black), .7)\n }\n\n .bg-\\\\[--w-color-badge-info-background\\\\] {\n background-color: var(--w-color-badge-info-background)\n }\n\n .bg-\\\\[--w-color-badge-negative-background\\\\] {\n background-color: var(--w-color-badge-negative-background)\n }\n\n .bg-\\\\[--w-color-badge-neutral-background\\\\] {\n background-color: var(--w-color-badge-neutral-background)\n }\n\n .bg-\\\\[--w-color-badge-positive-background\\\\] {\n background-color: var(--w-color-badge-positive-background)\n }\n\n .bg-\\\\[--w-color-badge-sponsored-background\\\\] {\n background-color: var(--w-color-badge-sponsored-background)\n }\n\n .bg-\\\\[--w-color-badge-warning-background\\\\] {\n background-color: var(--w-color-badge-warning-background)\n }\n\n .bg-\\\\[--w-color-button-primary-background\\\\] {\n background-color: var(--w-color-button-primary-background)\n }\n\n .bg-\\\\[--w-color-buttongroup-utility-background-selected\\\\] {\n background-color: var(--w-color-buttongroup-utility-background-selected)\n }\n\n .bg-\\\\[--w-color-callout-background\\\\] {\n background-color: var(--w-color-callout-background)\n }\n\n .bg-\\\\[--w-color-pill-suggestion-background\\\\] {\n background-color: var(--w-color-pill-suggestion-background)\n }\n\n .bg-\\\\[--w-color-switch-track-background\\\\] {\n background-color: var(--w-color-switch-track-background)\n }\n\n .bg-\\\\[--w-s-color-surface-elevated-100\\\\] {\n background-color: var(--w-s-color-surface-elevated-100)\n }\n\n .bg-\\\\[--w-s-color-surface-elevated-300\\\\] {\n background-color: var(--w-s-color-surface-elevated-300)\n }\n\n .bg-\\\\[--w-s-icon-selected\\\\] {\n background-color: var(--w-s-icon-selected)\n }\n\n .group:hover .group-hover\\\\:bg-\\\\[--w-color-switch-track-background-hover\\\\] {\n background-color: var(--w-color-switch-track-background-hover)\n }\n\n .hover\\\\:bg-\\\\[--w-color-button-pill-background-hover\\\\]:hover {\n background-color: var(--w-color-button-pill-background-hover)\n }\n\n .hover\\\\:bg-\\\\[--w-color-button-primary-background-hover\\\\]:hover {\n background-color: var(--w-color-button-primary-background-hover)\n }\n\n .hover\\\\:bg-\\\\[--w-color-buttongroup-utility-background-hover\\\\]:hover {\n background-color: var(--w-color-buttongroup-utility-background-hover)\n }\n\n .hover\\\\:bg-\\\\[--w-color-pill-suggestion-background-hover\\\\]:hover {\n background-color: var(--w-color-pill-suggestion-background-hover)\n }\n\n .hover\\\\:bg-\\\\[--w-s-icon-subtle\\\\]:hover {\n background-color: var(--w-s-icon-subtle)\n }\n\n .hover\\\\:bg-\\\\[var\\\\(--w-black\\\\)\\\\/85\\\\]:hover {\n background-color: rgba(var(--w-rgb-black), .85)\n }\n\n .active\\\\:bg-\\\\[--w-color-button-pill-background-active\\\\]:active {\n background-color: var(--w-color-button-pill-background-active)\n }\n\n .active\\\\:bg-\\\\[--w-color-button-primary-background-active\\\\]:active {\n background-color: var(--w-color-button-primary-background-active)\n }\n\n .active\\\\:bg-\\\\[--w-color-buttongroup-utility-background-selected\\\\]:active {\n background-color: var(--w-color-buttongroup-utility-background-selected)\n }\n\n .active\\\\:bg-\\\\[--w-color-pill-suggestion-background-active\\\\]:active {\n background-color: var(--w-color-pill-suggestion-background-active)\n }\n\n .active\\\\:bg-\\\\[var\\\\(--w-black\\\\)\\\\]:active {\n background-color: var(--w-black)\n }\n\n .peer:checked ~ .peer-checked\\\\:before\\\\:bg-\\\\[url\\\\(var\\\\(--w-icon-toggle-checked\\\\)\\\\)\\\\]:before {\n background-image: var(--w-icon-toggle-checked)\n }\n\n .appearance-none {\n -moz-appearance: none;\n appearance: none;\n -webkit-appearance: none\n }\n\n .will-change-height {\n will-change: height\n }\n\n .border, .border-1 {\n border-width: 1px\n }\n\n .border-b {\n border-bottom-width: 1px\n }\n\n .before\\\\:border:before {\n border-width: 1px\n }\n\n .border-0 {\n border-width: 0\n }\n\n .border-2 {\n border-width: 2px\n }\n\n .border-b-0 {\n border-bottom-width: 0\n }\n\n .border-b-4 {\n border-bottom-width: 4px\n }\n\n .border-l-4 {\n border-left-width: 4px\n }\n\n .border-r-0, .group:not(:last-of-type) .group-not-last-of-type\\\\:border-r-0 {\n border-right-width: 0\n }\n\n .peer:checked ~ .peer-checked\\\\:before\\\\:border-\\\\[6\\\\]:before {\n border-width: .6rem\n }\n\n .border-transparent {\n border-color: transparent\n }\n\n .border-\\\\[--w-color-buttongroup-utility-border\\\\] {\n border-color: var(--w-color-buttongroup-utility-border)\n }\n\n .border-\\\\[--w-color-callout-border\\\\] {\n border-color: var(--w-color-callout-border)\n }\n\n .border-\\\\[--w-s-color-background-inverted\\\\] {\n border-color: var(--w-s-color-background-inverted)\n }\n\n .border-\\\\[--w-s-color-surface-elevated-300\\\\] {\n border-color: var(--w-s-color-surface-elevated-300)\n }\n\n .active\\\\:border-\\\\[--w-color-buttongroup-utility-border-selected\\\\]:active {\n border-color: var(--w-color-buttongroup-utility-border-selected)\n }\n\n .divide-x > * + * {\n --w-divide-x-reverse: 0;\n border-left-width: calc(1px * calc(1 - var(--w-divide-x-reverse)));\n border-right-width: calc(1px * var(--w-divide-x-reverse))\n }\n\n .divide-y > * + * {\n --w-divide-y-reverse: 0;\n border-top-width: calc(1px * calc(1 - var(--w-divide-y-reverse)));\n border-bottom-width: calc(1px * var(--w-divide-y-reverse))\n }\n\n .rounded-4 {\n border-radius: 4px\n }\n\n .rounded-8 {\n border-radius: 8px\n }\n\n .rounded-full {\n border-radius: 9999px\n }\n\n .before\\\\:rounded-2:before {\n border-radius: 2px\n }\n\n .before\\\\:rounded-full:before {\n border-radius: 9999px\n }\n\n .rounded-b-0 {\n border-bottom-left-radius: 0;\n border-bottom-right-radius: 0\n }\n\n .rounded-bl-0 {\n border-bottom-left-radius: 0\n }\n\n .rounded-br-0 {\n border-bottom-right-radius: 0\n }\n\n .rounded-l-0 {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0\n }\n\n .rounded-l-full {\n border-top-left-radius: 9999px;\n border-bottom-left-radius: 9999px\n }\n\n .rounded-r-0 {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0\n }\n\n .rounded-r-full {\n border-top-right-radius: 9999px;\n border-bottom-right-radius: 9999px\n }\n\n .rounded-tl-0 {\n border-top-left-radius: 0\n }\n\n .rounded-tl-4 {\n border-top-left-radius: 4px\n }\n\n .rounded-tr-0 {\n border-top-right-radius: 0\n }\n\n .group:first-of-type .group-first-of-type\\\\:rounded-bl-8 {\n border-bottom-left-radius: 8px\n }\n\n .group:first-of-type .group-first-of-type\\\\:rounded-tl-8 {\n border-top-left-radius: 8px\n }\n\n .first\\\\:rounded-lb-4:first-child {\n border-bottom-left-radius: 4px\n }\n\n .first\\\\:rounded-lt-4:first-child {\n border-top-left-radius: 4px\n }\n\n .first\\\\:rounded-rt-4:first-child {\n border-top-right-radius: 4px\n }\n\n .group:last-of-type .group-last-of-type\\\\:rounded-br-8 {\n border-bottom-right-radius: 8px\n }\n\n .group:last-of-type .group-last-of-type\\\\:rounded-tr-8 {\n border-top-right-radius: 8px\n }\n\n .last\\\\:rounded-lb-4:last-child {\n border-bottom-left-radius: 4px\n }\n\n .last\\\\:rounded-rb-4:last-child {\n border-bottom-right-radius: 4px\n }\n\n .last\\\\:rounded-rt-4:last-child {\n border-top-right-radius: 4px\n }\n\n .caret-current {\n caret-color: currentColor\n }\n\n .opacity-25 {\n opacity: 25%\n }\n\n .block {\n display: block\n }\n\n .before\\\\:block:before {\n display: block\n }\n\n .inline-block {\n display: inline-block\n }\n\n .inline {\n display: inline\n }\n\n .flex, .open\\\\:flex[open] {\n display: flex\n }\n\n .inline-flex {\n display: inline-flex\n }\n\n .grid {\n display: grid\n }\n\n .inline-grid {\n display: inline-grid\n }\n\n .hidden, .group\\\\/stepv:last-child .group-last\\\\/stepv\\\\:hidden {\n display: none\n }\n\n .before\\\\:hidden:before {\n display: none\n }\n\n .hover\\\\:underline:hover {\n text-decoration-line: underline\n }\n\n .focus\\\\:underline:focus {\n text-decoration-line: underline\n }\n\n .focus-visible\\\\:underline:focus-visible {\n text-decoration-line: underline\n }\n\n .active\\\\:underline:active {\n text-decoration-line: underline\n }\n\n .hover\\\\:no-underline:hover {\n text-decoration: none\n }\n\n .focus\\\\:no-underline:focus {\n text-decoration: none\n }\n\n .active\\\\:no-underline:active {\n text-decoration: none\n }\n\n .flex-1 {\n flex: 1 1 0%\n }\n\n .shrink {\n flex-shrink: 1\n }\n\n .shrink-0 {\n flex-shrink: 0\n }\n\n .shrink-0\\\\! {\n flex-shrink: 0 !important\n }\n\n .grow, .grow-1 {\n flex-grow: 1\n }\n\n .basis-auto {\n flex-basis: auto\n }\n\n .flex-col {\n flex-direction: column\n }\n\n .focus-within\\\\:focusable:focus-within {\n outline: 2px solid var(--w-s-color-border-focus);\n outline-offset: var(--w-outline-offset, 1px)\n }\n\n .focusable:focus, .focusable:focus-visible {\n outline: 2px solid var(--w-s-color-border-focus);\n outline-offset: var(--w-outline-offset, 1px)\n }\n\n .focusable:not(:focus-visible) {\n outline: none\n }\n\n .peer:focus ~ .peer-focus\\\\:focusable, .peer:focus-visible ~ .peer-focus\\\\:focusable {\n outline: 2px solid var(--w-s-color-border-focus);\n outline-offset: var(--w-outline-offset, 1px)\n }\n\n .peer:not(:focus-visible) ~ .peer-focus\\\\:focusable {\n outline: none\n }\n\n .focusable-inset {\n --w-outline-offset: -3px\n }\n\n .gap-12 {\n gap: 1.2rem\n }\n\n .gap-8 {\n gap: .8rem\n }\n\n .gap-x-16 {\n column-gap: 1.6rem\n }\n\n .gap-y-16 {\n row-gap: 1.6rem\n }\n\n .row-span-2 {\n grid-row: span 2/span 2\n }\n\n .col-span-2 {\n grid-column: span 2/span 2\n }\n\n .col-span-3 {\n grid-column: span 3/span 3\n }\n\n .row-start-1 {\n grid-row-start: 1\n }\n\n .row-start-2 {\n grid-row-start: 2\n }\n\n .col-start-2 {\n grid-column-start: 2\n }\n\n .auto-rows-auto {\n grid-auto-rows: auto\n }\n\n .grid-flow-col {\n grid-auto-flow: column\n }\n\n .grid-rows-\\\\[20px_auto\\\\] {\n grid-template-rows:20px auto\n }\n\n .grid-rows-\\\\[auto_20px\\\\] {\n grid-template-rows:auto 20px\n }\n\n .grid-cols-\\\\[1fr_20px_1fr\\\\] {\n grid-template-columns:1fr 20px 1fr\n }\n\n .grid-cols-\\\\[1fr_20px\\\\] {\n grid-template-columns:1fr 20px\n }\n\n .grid-cols-\\\\[20px_1fr\\\\] {\n grid-template-columns:20px 1fr\n }\n\n .grid-cols-\\\\[auto_1fr_auto\\\\] {\n grid-template-columns:auto 1fr auto\n }\n\n .grid-cols-1 {\n grid-template-columns:repeat(1, minmax(0, 1fr))\n }\n\n .grid-cols-2 {\n grid-template-columns:repeat(2, minmax(0, 1fr))\n }\n\n .grid-cols-3 {\n grid-template-columns:repeat(3, minmax(0, 1fr))\n }\n\n .grid-cols-4 {\n grid-template-columns:repeat(4, minmax(0, 1fr))\n }\n\n .grid-cols-5 {\n grid-template-columns:repeat(5, minmax(0, 1fr))\n }\n\n .grid-cols-6 {\n grid-template-columns:repeat(6, minmax(0, 1fr))\n }\n\n .grid-cols-7 {\n grid-template-columns:repeat(7, minmax(0, 1fr))\n }\n\n .grid-cols-8 {\n grid-template-columns:repeat(8, minmax(0, 1fr))\n }\n\n .grid-cols-9 {\n grid-template-columns:repeat(9, minmax(0, 1fr))\n }\n\n .overflow-hidden {\n overflow: hidden\n }\n\n .overflow-x-hidden {\n overflow-x: hidden\n }\n\n .overflow-y-auto {\n overflow-y: auto\n }\n\n .list-none {\n list-style-type: none\n }\n\n .outline-\\\\[--w-s-color-border-negative\\\\]\\\\! {\n outline-color: var(--w-s-color-border-negative) !important\n }\n\n .outline-none {\n outline: 2px solid transparent;\n outline-offset: 2px\n }\n\n .focus\\\\:outline-none:focus {\n outline: 2px solid transparent;\n outline-offset: 2px\n }\n\n .items-start {\n align-items: flex-start\n }\n\n .items-end {\n align-items: flex-end\n }\n\n .items-center {\n align-items: center\n }\n\n .self-center {\n align-self: center\n }\n\n .inset-0 {\n top: 0rem;\n right: 0rem;\n bottom: 0rem;\n left: 0rem\n }\n\n .-bottom-0 {\n bottom: -0rem\n }\n\n .bottom-0 {\n bottom: 0rem\n }\n\n .bottom-10 {\n bottom: 1rem\n }\n\n .bottom-16 {\n bottom: 1.6rem\n }\n\n .left-0 {\n left: 0rem\n }\n\n .left-4 {\n left: .4rem\n }\n\n .right-0 {\n right: 0rem\n }\n\n .right-8 {\n right: .8rem\n }\n\n .top-\\\\[1\\\\.92rem\\\\] {\n top: 1.92rem\n }\n\n .top-0 {\n top: 0rem\n }\n\n .top-20 {\n top: 2rem\n }\n\n .top-4 {\n top: .4rem\n }\n\n .top-8 {\n top: .8rem\n }\n\n .before\\\\:bottom-0:before {\n bottom: 0rem\n }\n\n .before\\\\:left-0:before {\n left: 0rem\n }\n\n .before\\\\:right-0:before {\n right: 0rem\n }\n\n .before\\\\:top-2:before {\n top: .2rem\n }\n\n .-bottom-\\\\[8px\\\\] {\n bottom: -8px\n }\n\n .-left-\\\\[8px\\\\] {\n left: -8px\n }\n\n .-right-\\\\[8px\\\\] {\n right: -8px\n }\n\n .-top-\\\\[8px\\\\] {\n top: -8px\n }\n\n .top-\\\\[19px\\\\] {\n top: 19px\n }\n\n .top-\\\\[30\\\\%\\\\] {\n top: 30%\n }\n\n .justify-end {\n justify-content: flex-end\n }\n\n .justify-center {\n justify-content: center\n }\n\n .justify-between {\n justify-content: space-between\n }\n\n .justify-items-center {\n justify-items: center\n }\n\n .justify-self-start {\n justify-self: start\n }\n\n .justify-self-end {\n justify-self: end\n }\n\n .justify-self-center {\n justify-self: center\n }\n\n .absolute {\n position: absolute\n }\n\n .fixed {\n position: fixed\n }\n\n .relative {\n position: relative\n }\n\n .open\\\\:fixed[open] {\n position: fixed\n }\n\n .before\\\\:absolute:before {\n position: absolute\n }\n\n .z-10, .peer:checked ~ .peer-checked\\\\:z-10 {\n z-index: 10\n }\n\n .z-30 {\n z-index: 30\n }\n\n .z-50 {\n z-index: 50\n }\n\n .hover\\\\:z-30:hover {\n z-index: 30\n }\n\n .\\\\!s-bg-selected {\n background-color: var(--w-s-color-background-selected) !important\n }\n\n .s-bg {\n background-color: var(--w-s-color-background)\n }\n\n .s-bg-disabled {\n background-color: var(--w-s-color-background-disabled)\n }\n\n .s-bg-disabled-subtle {\n background-color: var(--w-s-color-background-disabled-subtle)\n }\n\n .s-bg-info-subtle {\n background-color: var(--w-s-color-background-info-subtle)\n }\n\n .s-bg-inverted {\n background-color: var(--w-s-color-background-inverted)\n }\n\n .s-bg-negative {\n background-color: var(--w-s-color-background-negative)\n }\n\n .s-bg-negative-subtle {\n background-color: var(--w-s-color-background-negative-subtle)\n }\n\n .s-bg-positive-subtle {\n background-color: var(--w-s-color-background-positive-subtle)\n }\n\n .s-bg-primary, .peer:checked ~ .peer-checked\\\\:s-bg-primary {\n background-color: var(--w-s-color-background-primary)\n }\n\n .s-bg-selected {\n background-color: var(--w-s-color-background-selected)\n }\n\n .s-bg-subtle {\n background-color: var(--w-s-color-background-subtle)\n }\n\n .s-bg-warning-subtle {\n background-color: var(--w-s-color-background-warning-subtle)\n }\n\n .peer:checked:hover ~ .peer-checked\\\\:peer-hover\\\\:before\\\\:s-bg-negative-hover:before {\n background-color: var(--w-s-color-background-negative-hover)\n }\n\n .peer:checked:hover ~ .peer-checked\\\\:peer-hover\\\\:before\\\\:s-bg-primary-hover:before {\n background-color: var(--w-s-color-background-primary-hover)\n }\n\n .peer:checked ~ .peer-checked\\\\:before\\\\:s-bg-disabled:before {\n background-color: var(--w-s-color-background-disabled)\n }\n\n .peer:checked ~ .peer-checked\\\\:before\\\\:s-bg-negative:before {\n background-color: var(--w-s-color-background-negative)\n }\n\n .peer:checked ~ .peer-checked\\\\:before\\\\:s-bg-primary:before {\n background-color: var(--w-s-color-background-primary)\n }\n\n .peer:indeterminate ~ .peer-indeterminate\\\\:before\\\\:s-bg-disabled:before {\n background-color: var(--w-s-color-background-disabled)\n }\n\n .peer:indeterminate ~ .peer-indeterminate\\\\:before\\\\:s-bg-negative:before {\n background-color: var(--w-s-color-background-negative)\n }\n\n .peer:indeterminate ~ .peer-indeterminate\\\\:before\\\\:s-bg-primary:before {\n background-color: var(--w-s-color-background-primary)\n }\n\n .peer:indeterminate ~ .peer-indeterminate\\\\:hover\\\\:before\\\\:s-bg-negative-hover:hover:before {\n background-color: var(--w-s-color-background-negative-hover)\n }\n\n .peer:indeterminate ~ .peer-indeterminate\\\\:hover\\\\:before\\\\:s-bg-primary-hover:hover:before {\n background-color: var(--w-s-color-background-primary-hover)\n }\n\n .\\\\!hover\\\\:s-bg-selected-hover:hover {\n background-color: var(--w-s-color-background-selected-hover) !important\n }\n\n .group:hover .group-hover\\\\:s-bg-primary-hover {\n background-color: var(--w-s-color-background-primary-hover)\n }\n\n .hover\\\\:before\\\\:s-bg-hover:hover:before {\n background-color: var(--w-s-color-background-hover)\n }\n\n .hover\\\\:before\\\\:s-bg-negative-subtle-hover:hover:before {\n background-color: var(--w-s-color-background-negative-subtle-hover)\n }\n\n .hover\\\\:s-bg-hover:hover {\n background-color: var(--w-s-color-background-hover)\n }\n\n .hover\\\\:s-bg-negative-hover:hover {\n background-color: var(--w-s-color-background-negative-hover)\n }\n\n .hover\\\\:s-bg-negative-subtle-hover:hover {\n background-color: var(--w-s-color-background-negative-subtle-hover)\n }\n\n .hover\\\\:s-bg-primary-hover:hover {\n background-color: var(--w-s-color-background-primary-hover)\n }\n\n .hover\\\\:s-bg-selected-hover:hover {\n background-color: var(--w-s-color-background-selected-hover)\n }\n\n .peer:hover:not(:checked) ~ .peer-hover\\\\:peer-not-checked\\\\:s-bg-hover {\n background-color: var(--w-s-color-background-hover)\n }\n\n .peer:hover ~ .peer-hover\\\\:before\\\\:s-bg-hover:before {\n background-color: var(--w-s-color-background-hover)\n }\n\n .peer:hover ~ .peer-hover\\\\:before\\\\:s-bg-negative-subtle:before {\n background-color: var(--w-s-color-background-negative-subtle)\n }\n\n .focus\\\\:s-bg-primary-hover:focus {\n background-color: var(--w-s-color-background-primary-hover)\n }\n\n .\\\\!active\\\\:s-bg-selected-active:active {\n background-color: var(--w-s-color-background-selected-active) !important\n }\n\n .active\\\\:s-bg-active:active {\n background-color: var(--w-s-color-background-active)\n }\n\n .active\\\\:s-bg-negative-active:active {\n background-color: var(--w-s-color-background-negative-active)\n }\n\n .active\\\\:s-bg-negative-subtle-active:active {\n background-color: var(--w-s-color-background-negative-subtle-active)\n }\n\n .active\\\\:s-bg-primary-active:active {\n background-color: var(--w-s-color-background-primary-active)\n }\n\n .active\\\\:s-bg-selected-active:active {\n background-color: var(--w-s-color-background-selected-active)\n }\n\n .before\\\\:s-bg-disabled-subtle:before {\n background-color: var(--w-s-color-background-disabled-subtle)\n }\n\n .before\\\\:s-bg:before {\n background-color: var(--w-s-color-background)\n }\n\n .s-text {\n color: var(--w-s-color-text)\n }\n\n .s-text-disabled {\n color: var(--w-s-color-text-disabled)\n }\n\n .s-text-inverted, .peer:checked ~ .peer-checked\\\\:s-text-inverted {\n color: var(--w-s-color-text-inverted)\n }\n\n .s-text-inverted-static {\n color: var(--w-s-color-text-inverted-static)\n }\n\n .s-text-link {\n color: var(--w-s-color-text-link)\n }\n\n .s-text-negative {\n color: var(--w-s-color-text-negative)\n }\n\n .s-text-subtle {\n color: var(--w-s-color-text-subtle)\n }\n\n .hover\\\\:s-text-link:hover {\n color: var(--w-s-color-text-link)\n }\n\n .active\\\\:s-text:active {\n color: var(--w-s-color-text)\n }\n\n .placeholder\\\\:s-text-placeholder::placeholder {\n color: var(--w-s-color-text-placeholder)\n }\n\n .s-icon {\n color: var(--w-s-color-icon)\n }\n\n .s-icon-info {\n color: var(--w-s-color-icon-info)\n }\n\n .s-icon-inverted {\n color: var(--w-s-color-icon-inverted)\n }\n\n .s-icon-negative {\n color: var(--w-s-color-icon-negative)\n }\n\n .s-icon-positive {\n color: var(--w-s-color-icon-positive)\n }\n\n .s-icon-warning {\n color: var(--w-s-color-icon-warning)\n }\n\n .hover\\\\:s-icon-hover:hover {\n color: var(--w-s-color-icon-hover)\n }\n\n .active\\\\:s-icon-active:active {\n color: var(--w-s-color-icon-active)\n }\n\n .before\\\\:s-icon-inverted:before {\n color: var(--w-s-color-icon-inverted)\n }\n\n .s-border {\n border-color: var(--w-s-color-border)\n }\n\n .s-border-disabled {\n border-color: var(--w-s-color-border-disabled)\n }\n\n .s-border-info-subtle {\n border-color: var(--w-s-color-border-info-subtle)\n }\n\n .s-border-l-info {\n border-left-color: var(--w-s-color-border-info)\n }\n\n .s-border-l-negative {\n border-left-color: var(--w-s-color-border-negative)\n }\n\n .s-border-l-positive {\n border-left-color: var(--w-s-color-border-positive)\n }\n\n .s-border-l-warning {\n border-left-color: var(--w-s-color-border-warning)\n }\n\n .s-border-negative {\n border-color: var(--w-s-color-border-negative)\n }\n\n .s-border-negative-subtle {\n border-color: var(--w-s-color-border-negative-subtle)\n }\n\n .s-border-positive-subtle {\n border-color: var(--w-s-color-border-positive-subtle)\n }\n\n .s-border-primary, .peer:checked ~ .peer-checked\\\\:s-border-primary {\n border-color: var(--w-s-color-border-primary)\n }\n\n .s-border-selected {\n border-color: var(--w-s-color-border-selected)\n }\n\n .s-border-warning-subtle {\n border-color: var(--w-s-color-border-warning-subtle)\n }\n\n .peer:checked:hover ~ .peer-checked\\\\:peer-hover\\\\:before\\\\:s-border-negative-hover:before {\n border-color: var(--w-s-color-border-negative-hover)\n }\n\n .peer:checked:hover ~ .peer-checked\\\\:peer-hover\\\\:before\\\\:s-border-primary-hover:before {\n border-color: var(--w-s-color-border-primary-hover)\n }\n\n .peer:checked:hover ~ .peer-checked\\\\:peer-hover\\\\:before\\\\:s-border-selected-hover:before {\n border-color: var(--w-s-color-border-selected-hover)\n }\n\n .peer:checked ~ .peer-checked\\\\:before\\\\:s-border-disabled:before {\n border-color: var(--w-s-color-border-disabled)\n }\n\n .peer:checked ~ .peer-checked\\\\:before\\\\:s-border-negative:before {\n border-color: var(--w-s-color-border-negative)\n }\n\n .peer:checked ~ .peer-checked\\\\:before\\\\:s-border-primary:before {\n border-color: var(--w-s-color-border-primary)\n }\n\n .peer:checked ~ .peer-checked\\\\:before\\\\:s-border-selected:before {\n border-color: var(--w-s-color-border-selected)\n }\n\n .peer:indeterminate ~ .peer-indeterminate\\\\:before\\\\:s-border-disabled:before {\n border-color: var(--w-s-color-border-disabled)\n }\n\n .peer:indeterminate ~ .peer-indeterminate\\\\:before\\\\:s-border-negative:before {\n border-color: var(--w-s-color-border-negative)\n }\n\n .peer:indeterminate ~ .peer-indeterminate\\\\:before\\\\:s-border-primary:before {\n border-color: var(--w-s-color-border-primary)\n }\n\n .peer:indeterminate ~ .peer-indeterminate\\\\:hover\\\\:before\\\\:s-border-negative-hover:hover:before {\n border-color: var(--w-s-color-border-negative-hover)\n }\n\n .peer:indeterminate ~ .peer-indeterminate\\\\:hover\\\\:before\\\\:s-border-primary-hover:hover:before {\n border-color: var(--w-s-color-border-primary-hover)\n }\n\n .group:hover .group-hover\\\\:s-border-selected-hover {\n border-color: var(--w-s-color-border-selected-hover)\n }\n\n .hover\\\\:before\\\\:s-border-negative-hover:hover:before {\n border-color: var(--w-s-color-border-negative-hover)\n }\n\n .hover\\\\:before\\\\:s-border-primary:hover:before {\n border-color: var(--w-s-color-border-primary)\n }\n\n .hover\\\\:s-border-disabled:hover {\n border-color: var(--w-s-color-border-disabled)\n }\n\n .hover\\\\:s-border-hover:hover {\n border-color: var(--w-s-color-border-hover)\n }\n\n .hover\\\\:s-border-negative-hover:hover {\n border-color: var(--w-s-color-border-negative-hover)\n }\n\n .hover\\\\:s-border-primary-hover:hover {\n border-color: var(--w-s-color-border-primary-hover)\n }\n\n .hover\\\\:s-border-primary:hover {\n border-color: var(--w-s-color-border-primary)\n }\n\n .hover\\\\:s-border-selected-hover:hover {\n border-color: var(--w-s-color-border-selected-hover)\n }\n\n .peer:hover ~ .peer-hover\\\\:before\\\\:s-border-negative-hover:before {\n border-color: var(--w-s-color-border-negative-hover)\n }\n\n .peer:hover ~ .peer-hover\\\\:before\\\\:s-border-primary:before {\n border-color: var(--w-s-color-border-primary)\n }\n\n .focus\\\\:s-border-primary-hover:focus {\n border-color: var(--w-s-color-border-primary-hover)\n }\n\n .active\\\\:s-border-active:active {\n border-color: var(--w-s-color-border-active)\n }\n\n .active\\\\:s-border-disabled:active {\n border-color: var(--w-s-color-border-disabled)\n }\n\n .active\\\\:s-border-primary-active:active {\n border-color: var(--w-s-color-border-primary-active)\n }\n\n .active\\\\:s-border-selected-active:active {\n border-color: var(--w-s-color-border-selected-active)\n }\n\n .active\\\\:s-border-selected:active {\n border-color: var(--w-s-color-border-selected)\n }\n\n .group:active .group-active\\\\:s-border-active {\n border-color: var(--w-s-color-border-active)\n }\n\n .group:active .group-active\\\\:s-border-selected-active {\n border-color: var(--w-s-color-border-selected-active)\n }\n\n .before\\\\:s-border-disabled:before {\n border-color: var(--w-s-color-border-disabled)\n }\n\n .before\\\\:s-border-negative:before {\n border-color: var(--w-s-color-border-negative)\n }\n\n .s-surface-sunken {\n background-color: var(--w-s-color-surface-sunken)\n }\n\n .s-surface-elevated-200 {\n background-color: var(--w-s-color-surface-elevated-200);\n box-shadow: var(--w-s-shadow-surface-elevated-200)\n }\n\n .hover\\\\:s-surface-elevated-200-hover:hover {\n background-color: var(--w-s-color-surface-elevated-200-hover);\n box-shadow: var(--w-s-shadow-surface-elevated-200-hover)\n }\n\n .active\\\\:s-surface-elevated-200-active:active {\n background-color: var(--w-s-color-surface-elevated-200-active);\n box-shadow: var(--w-s-shadow-surface-elevated-200-active)\n }\n\n .drop-shadow-m {\n filter: drop-shadow(rgba(64, 64, 64, .24) 0 3px 8px) drop-shadow(rgba(64, 64, 64, .16) 0 3px 6px)\n }\n\n .shadow-m {\n box-shadow: var(--w-shadow-m)\n }\n\n .shadow-s {\n box-shadow: var(--w-shadow-s)\n }\n\n .shadow-\\\\[--w-shadow-slider\\\\] {\n box-shadow: var(--w-shadow-slider)\n }\n\n .hover\\\\:shadow-\\\\[--w-shadow-slider-handle-hover\\\\]:hover {\n box-shadow: var(--w-shadow-slider-handle-hover)\n }\n\n .focus\\\\:shadow-\\\\[--w-shadow-slider-handle-hover\\\\]:focus {\n box-shadow: var(--w-shadow-slider-handle-hover)\n }\n\n .active\\\\:shadow-\\\\[--w-shadow-slider-handle-active\\\\]:active {\n box-shadow: var(--w-shadow-slider-handle-active)\n }\n\n .h-0 {\n height: 0rem\n }\n\n .h-16 {\n height: 1.6rem\n }\n\n .h-2 {\n height: .2rem\n }\n\n .h-20 {\n height: 2rem\n }\n\n .h-24 {\n height: 2.4rem\n }\n\n .h-4 {\n height: .4rem\n }\n\n .h-44 {\n height: 4.4rem\n }\n\n .h-6 {\n height: .6rem\n }\n\n .h-8 {\n height: .8rem\n }\n\n .h-full {\n height: 100%\n }\n\n .h-unset {\n height: unset\n }\n\n .max-h-unset {\n max-height: unset\n }\n\n .max-w-full {\n max-width: 100%\n }\n\n .max-w-max {\n max-width: max-content\n }\n\n .max-w-unset {\n max-width: unset\n }\n\n .min-h-32 {\n min-height: 3.2rem\n }\n\n .min-h-40 {\n min-height: 4rem\n }\n\n .min-w-16 {\n min-width: 1.6rem\n }\n\n .min-w-32 {\n min-width: 3.2rem\n }\n\n .w-16 {\n width: 1.6rem\n }\n\n .w-2 {\n width: .2rem\n }\n\n .w-20 {\n width: 2rem\n }\n\n .w-24 {\n width: 2.4rem\n }\n\n .w-32 {\n width: 3.2rem\n }\n\n .w-40 {\n width: 4rem\n }\n\n .w-44 {\n width: 4.4rem\n }\n\n .w-8 {\n width: .8rem\n }\n\n .w-full {\n width: 100%\n }\n\n .w-max {\n width: max-content\n }\n\n .w-unset {\n width: unset\n }\n\n .before\\\\:h-20:before {\n height: 2rem\n }\n\n .before\\\\:h-full:before {\n height: 100%\n }\n\n .before\\\\:w-20:before {\n width: 2rem\n }\n\n .before\\\\:w-32:before {\n width: 3.2rem\n }\n\n .h-\\\\[--w-modal-height\\\\] {\n height: var(--w-modal-height)\n }\n\n .h-\\\\[14px\\\\] {\n height: 14px\n }\n\n .h-\\\\[16px\\\\] {\n height: 16px\n }\n\n .max-h-\\\\[--w-modal-max-height\\\\] {\n max-height: var(--w-modal-max-height)\n }\n\n .min-h-\\\\[--w-modal-min-height\\\\] {\n min-height: var(--w-modal-min-height)\n }\n\n .min-h-\\\\[32px\\\\] {\n min-height: 32px\n }\n\n .min-h-\\\\[40px\\\\] {\n min-height: 40px\n }\n\n .min-h-\\\\[42\\\\] {\n min-height: 4.2rem\n }\n\n .min-h-\\\\[44px\\\\] {\n min-height: 44px\n }\n\n .min-w-\\\\[32px\\\\] {\n min-width: 32px\n }\n\n .min-w-\\\\[40px\\\\] {\n min-width: 40px\n }\n\n .min-w-\\\\[44px\\\\] {\n min-width: 44px\n }\n\n .w-\\\\[--w-modal-width\\\\] {\n width: var(--w-modal-width)\n }\n\n .w-\\\\[14px\\\\] {\n width: 14px\n }\n\n .w-\\\\[16px\\\\] {\n width: 16px\n }\n\n .space-x-8 > :not([hidden]) ~ :not([hidden]) {\n --w-space-x-reverse: 0;\n margin-left: calc(.8rem * calc(1 - var(--w-space-x-reverse)));\n margin-right: calc(.8rem * var(--w-space-x-reverse))\n }\n\n .space-y-16 > :not([hidden]) ~ :not([hidden]) {\n --w-space-y-reverse: 0;\n margin-top: calc(1.6rem * calc(1 - var(--w-space-y-reverse)));\n margin-bottom: calc(1.6rem * var(--w-space-y-reverse))\n }\n\n .m-0 {\n margin: 0rem\n }\n\n .m-auto {\n margin: auto\n }\n\n .-mx-16 {\n margin-left: -1.6rem;\n margin-right: -1.6rem\n }\n\n .mx-0 {\n margin-left: 0rem;\n margin-right: 0rem\n }\n\n .mx-8 {\n margin-left: .8rem;\n margin-right: .8rem\n }\n\n .mx-auto {\n margin-left: auto;\n margin-right: auto\n }\n\n .-mb-1 {\n margin-bottom: -.1rem\n }\n\n .-ml-8 {\n margin-left: -.8rem\n }\n\n .-mr-1 {\n margin-right: -.1rem\n }\n\n .-mr-8 {\n margin-right: -.8rem\n }\n\n .-mt-2 {\n margin-top: -.2rem\n }\n\n .-mt-4 {\n margin-top: -.4rem\n }\n\n .last-child\\\\:mb-0 > :last-child, .mb-0 {\n margin-bottom: 0rem\n }\n\n .mb-32 {\n margin-bottom: 3.2rem\n }\n\n .ml-8 {\n margin-left: .8rem\n }\n\n .ml-auto {\n margin-left: auto\n }\n\n .mr-8 {\n margin-right: .8rem\n }\n\n .mt-16 {\n margin-top: 1.6rem\n }\n\n .mt-4 {\n margin-top: .4rem\n }\n\n .group:not(:first-child) .group-not-first\\\\:-ml-2 {\n margin-left: -.2rem\n }\n\n .last\\\\:mb-0:last-child {\n margin-bottom: 0rem\n }\n\n .last\\\\:mr-0:last-child {\n margin-right: 0rem\n }\n\n .m-\\\\[8px\\\\] {\n margin: 8px\n }\n\n .p-0 {\n padding: 0rem\n }\n\n .p-16 {\n padding: 1.6rem\n }\n\n .p-4 {\n padding: .4rem\n }\n\n .p-8 {\n padding: .8rem\n }\n\n .px-0 {\n padding-left: 0rem;\n padding-right: 0rem\n }\n\n .px-1 {\n padding-left: .1rem;\n padding-right: .1rem\n }\n\n .px-12 {\n padding-left: 1.2rem;\n padding-right: 1.2rem\n }\n\n .px-14 {\n padding-left: 1.4rem;\n padding-right: 1.4rem\n }\n\n .px-16 {\n padding-left: 1.6rem;\n padding-right: 1.6rem\n }\n\n .px-8 {\n padding-left: .8rem;\n padding-right: .8rem\n }\n\n .py-0 {\n padding-top: 0rem;\n padding-bottom: 0rem\n }\n\n .py-1 {\n padding-top: .1rem;\n padding-bottom: .1rem\n }\n\n .py-10 {\n padding-top: 1rem;\n padding-bottom: 1rem\n }\n\n .py-12 {\n padding-top: 1.2rem;\n padding-bottom: 1.2rem\n }\n\n .py-2 {\n padding-top: .2rem;\n padding-bottom: .2rem\n }\n\n .py-4 {\n padding-top: .4rem;\n padding-bottom: .4rem\n }\n\n .py-6 {\n padding-top: .6rem;\n padding-bottom: .6rem\n }\n\n .py-8 {\n padding-top: .8rem;\n padding-bottom: .8rem\n }\n\n .pb-0 {\n padding-bottom: 0rem\n }\n\n .pb-32 {\n padding-bottom: 3.2rem\n }\n\n .pb-4 {\n padding-bottom: .4rem\n }\n\n .pb-8 {\n padding-bottom: .8rem\n }\n\n .pl-0 {\n padding-left: 0rem\n }\n\n .pl-1 {\n padding-left: .1rem\n }\n\n .pl-12 {\n padding-left: 1.2rem\n }\n\n .pl-28 {\n padding-left: 2.8rem\n }\n\n .pl-4 {\n padding-left: .4rem\n }\n\n .pl-8 {\n padding-left: .8rem\n }\n\n .pr-12 {\n padding-right: 1.2rem\n }\n\n .pr-14 {\n padding-right: 1.4rem\n }\n\n .pr-2 {\n padding-right: .2rem\n }\n\n .pr-32 {\n padding-right: 3.2rem\n }\n\n .pr-40 {\n padding-right: 4rem\n }\n\n .pt-0 {\n padding-top: 0rem\n }\n\n .pt-1 {\n padding-top: .1rem\n }\n\n .pt-16 {\n padding-top: 1.6rem\n }\n\n .pt-24 {\n padding-top: 2.4rem\n }\n\n .pt-8 {\n padding-top: .8rem\n }\n\n .group\\\\/step:last-child .group-last\\\\/step\\\\:last\\\\:pb-0:last-child {\n padding-bottom: 0rem\n }\n\n .last\\\\:pb-1:last-child {\n padding-bottom: .1rem\n }\n\n .last\\\\:pr-1:last-child {\n padding-right: .1rem\n }\n\n .p-\\\\[8px\\\\] {\n padding: 8px\n }\n\n .px-\\\\[15px\\\\] {\n padding-left: 15px;\n padding-right: 15px\n }\n\n .px-\\\\[8px\\\\] {\n padding-left: 8px;\n padding-right: 8px\n }\n\n .py-\\\\[11px\\\\] {\n padding-top: 11px;\n padding-bottom: 11px\n }\n\n .py-\\\\[5px\\\\] {\n padding-top: 5px;\n padding-bottom: 5px\n }\n\n .py-\\\\[7px\\\\] {\n padding-top: 7px;\n padding-bottom: 7px\n }\n\n .pl-\\\\[var\\\\(--w-prefix-width\\\\,_40px\\\\)\\\\] {\n padding-left: var(--w-prefix-width, 40px)\n }\n\n .invisible {\n visibility: hidden\n }\n\n .backface-hidden {\n backface-visibility: hidden\n }\n\n .break-words {\n overflow-wrap: break-word\n }\n\n .before\\\\:content-\\\\[\\\\\"\u00E2\u20AC\u201C\\\\\"\\\\]:before {\n content: \"\u00E2\u20AC\u201C\"\n }\n\n .before\\\\:content-\\\\[\\\\\"\\\\\"\\\\]:before {\n content: \"\"\n }\n\n .cursor-default {\n cursor: default\n }\n\n .cursor-pointer {\n cursor: pointer\n }\n\n .antialiased {\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n font-smoothing: grayscale\n }\n\n .font-bold {\n font-weight: 700\n }\n\n .before\\\\:font-bold:before {\n font-weight: 700\n }\n\n .font-normal {\n font-weight: 400\n }\n\n .pointer-events-auto {\n pointer-events: auto\n }\n\n .pointer-events-none {\n pointer-events: none\n }\n\n .before\\\\:pointer-events-none:before {\n pointer-events: none\n }\n\n .pb-safe-\\\\[32\\\\] {\n padding-bottom: calc(32px + env(safe-area-inset-bottom, 0px))\n }\n\n .sr-only {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n white-space: nowrap;\n border-width: 0\n }\n\n .touch-pan-y {\n touch-action: pan-y\n }\n\n .select-none {\n -webkit-user-select: none;\n user-select: none\n }\n\n .translate-x-20 {\n --w-translate-x: 2rem;\n transform: translate(var(--w-translate-x)) translateY(var(--w-translate-y)) translateZ(var(--w-translate-z)) rotate(var(--w-rotate)) rotateX(var(--w-rotate-x)) rotateY(var(--w-rotate-y)) rotate(var(--w-rotate-z)) skew(var(--w-skew-x)) skewY(var(--w-skew-y)) scaleX(var(--w-scale-x)) scaleY(var(--w-scale-y)) scaleZ(var(--w-scale-z))\n }\n\n .translate-z-0 {\n --w-translate-z: 0rem;\n transform: translate(var(--w-translate-x)) translateY(var(--w-translate-y)) translateZ(var(--w-translate-z)) rotate(var(--w-rotate)) rotateX(var(--w-rotate-x)) rotateY(var(--w-rotate-y)) rotate(var(--w-rotate-z)) skew(var(--w-skew-x)) skewY(var(--w-skew-y)) scaleX(var(--w-scale-x)) scaleY(var(--w-scale-y)) scaleZ(var(--w-scale-z))\n }\n\n .-rotate-180, .part-\\\\[w-icon-chevron-down-16-part\\\\]\\\\:-rotate-180::part(w-icon-chevron-down-16-part) {\n --w-rotate-x: 0;\n --w-rotate-y: 0;\n --w-rotate-z: 0;\n --w-rotate: -180deg;\n transform: translate(var(--w-translate-x)) translateY(var(--w-translate-y)) translateZ(var(--w-translate-z)) rotate(var(--w-rotate)) rotateX(var(--w-rotate-x)) rotateY(var(--w-rotate-y)) rotate(var(--w-rotate-z)) skew(var(--w-skew-x)) skewY(var(--w-skew-y)) scaleX(var(--w-scale-x)) scaleY(var(--w-scale-y)) scaleZ(var(--w-scale-z))\n }\n\n .part-\\\\[w-icon-chevron-up-16-part\\\\]\\\\:rotate-180::part(w-icon-chevron-up-16-part), .rotate-180 {\n --w-rotate-x: 0;\n --w-rotate-y: 0;\n --w-rotate-z: 0;\n --w-rotate: 180deg;\n transform: translate(var(--w-translate-x)) translateY(var(--w-translate-y)) translateZ(var(--w-translate-z)) rotate(var(--w-rotate)) rotateX(var(--w-rotate-x)) rotateY(var(--w-rotate-y)) rotate(var(--w-rotate-z)) skew(var(--w-skew-x)) skewY(var(--w-skew-y)) scaleX(var(--w-scale-x)) scaleY(var(--w-scale-y)) scaleZ(var(--w-scale-z))\n }\n\n .rotate-90 {\n --w-rotate-x: 0;\n --w-rotate-y: 0;\n --w-rotate-z: 0;\n --w-rotate: 90deg;\n transform: translate(var(--w-translate-x)) translateY(var(--w-translate-y)) translateZ(var(--w-translate-z)) rotate(var(--w-rotate)) rotateX(var(--w-rotate-x)) rotateY(var(--w-rotate-y)) rotate(var(--w-rotate-z)) skew(var(--w-skew-x)) skewY(var(--w-skew-y)) scaleX(var(--w-scale-x)) scaleY(var(--w-scale-y)) scaleZ(var(--w-scale-z))\n }\n\n .part-\\\\[w-icon-chevron-down-16-part\\\\]\\\\:transform::part(w-icon-chevron-down-16-part), .part-\\\\[w-icon-chevron-up-16-part\\\\]\\\\:transform::part(w-icon-chevron-up-16-part), .transform {\n transform: translate(var(--w-translate-x)) translateY(var(--w-translate-y)) translateZ(var(--w-translate-z)) rotate(var(--w-rotate)) rotateX(var(--w-rotate-x)) rotateY(var(--w-rotate-y)) rotate(var(--w-rotate-z)) skew(var(--w-skew-x)) skewY(var(--w-skew-y)) scaleX(var(--w-scale-x)) scaleY(var(--w-scale-y)) scaleZ(var(--w-scale-z))\n }\n\n .part-\\\\[w-icon-chevron-down-16-part\\\\]\\\\:transform-gpu::part(w-icon-chevron-down-16-part), .part-\\\\[w-icon-chevron-up-16-part\\\\]\\\\:transform-gpu::part(w-icon-chevron-up-16-part), .transform-gpu {\n transform: translate3d(var(--w-translate-x), var(--w-translate-y), var(--w-translate-z)) rotate(var(--w-rotate)) rotateX(var(--w-rotate-x)) rotateY(var(--w-rotate-y)) rotate(var(--w-rotate-z)) skew(var(--w-skew-x)) skewY(var(--w-skew-y)) scaleX(var(--w-scale-x)) scaleY(var(--w-scale-y)) scaleZ(var(--w-scale-z))\n }\n\n .part-\\\\[w-icon-chevron-down-16-part\\\\]\\\\:transition-transform::part(w-icon-chevron-down-16-part), .part-\\\\[w-icon-chevron-up-16-part\\\\]\\\\:transition-transform::part(w-icon-chevron-up-16-part), .transition-transform {\n transition-property: transform;\n transition-timing-function: cubic-bezier(.4, 0, .2, 1);\n transition-duration: .15s\n }\n\n .transition-300 {\n transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;\n transition-timing-function: cubic-bezier(.4, 0, .2, 1);\n transition-duration: .3s\n }\n\n .transition-all {\n transition-property: all;\n transition-timing-function: cubic-bezier(.4, 0, .2, 1);\n transition-duration: .15s\n }\n\n .transition-colors {\n transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;\n transition-timing-function: cubic-bezier(.4, 0, .2, 1);\n transition-duration: .15s\n }\n\n .transition-shadow {\n transition-property: box-shadow;\n transition-timing-function: cubic-bezier(.4, 0, .2, 1);\n transition-duration: .15s\n }\n\n .before\\\\:transition-all:before {\n transition-property: all;\n transition-timing-function: cubic-bezier(.4, 0, .2, 1);\n transition-duration: .15s\n }\n\n .duration-300 {\n transition-duration: .3s\n }\n\n .ease-in-out, .part-\\\\[w-icon-chevron-down-16-part\\\\]\\\\:ease-in-out::part(w-icon-chevron-down-16-part), .part-\\\\[w-icon-chevron-up-16-part\\\\]\\\\:ease-in-out::part(w-icon-chevron-up-16-part) {\n transition-timing-function: cubic-bezier(.4, 0, .2, 1)\n }\n\n .text-m {\n font-size: var(--w-font-size-m);\n line-height: var(--w-line-height-m)\n }\n\n .text-s {\n font-size: var(--w-font-size-s);\n line-height: var(--w-line-height-s)\n }\n\n .text-xs {\n font-size: var(--w-font-size-xs);\n line-height: var(--w-line-height-xs)\n }\n\n .leading-m {\n line-height: var(--w-line-height-m)\n }\n\n .before\\\\:leading-xs:before {\n line-height: var(--w-line-height-xs)\n }\n\n .leading-\\\\[24\\\\] {\n line-height: 2.4rem\n }\n\n @media (max-width: 479.9px) {\n .lt-sm\\\\:rounded-b-0 {\n border-bottom-left-radius: 0;\n border-bottom-right-radius: 0\n }\n }\n @media (min-width: 480px) {\n .sm\\\\:border-b-0 {\n border-bottom-width: 0\n }\n\n .sm\\\\:rounded-8 {\n border-radius: 8px\n }\n\n .sm\\\\:rounded-b-8 {\n border-bottom-left-radius: 8px;\n border-bottom-right-radius: 8px\n }\n\n .sm\\\\:gap-16 {\n gap: 1.6rem\n }\n\n .sm\\\\:place-content-center {\n place-content: center\n }\n\n .sm\\\\:place-items-center {\n place-items: center\n }\n\n .sm\\\\:h-24 {\n height: 2.4rem\n }\n\n .sm\\\\:min-h-48 {\n min-height: 4.8rem\n }\n\n .sm\\\\:w-24 {\n width: 2.4rem\n }\n\n .sm\\\\:min-h-\\\\[32px\\\\] {\n min-height: 32px\n }\n\n .sm\\\\:min-h-\\\\[44px\\\\] {\n min-height: 44px\n }\n\n .sm\\\\:min-h-\\\\[45\\\\] {\n min-height: 4.5rem\n }\n\n .sm\\\\:min-w-\\\\[32px\\\\] {\n min-width: 32px\n }\n\n .sm\\\\:min-w-\\\\[44px\\\\] {\n min-width: 44px\n }\n\n .sm\\\\:mx-0 {\n margin-left: 0rem;\n margin-right: 0rem\n }\n\n .sm\\\\:mx-16 {\n margin-left: 1.6rem;\n margin-right: 1.6rem\n }\n\n .sm\\\\:-ml-12 {\n margin-left: -1.2rem\n }\n\n .sm\\\\:-mr-12 {\n margin-right: -1.2rem\n }\n\n .sm\\\\:-mt-8 {\n margin-top: -.8rem\n }\n\n .sm\\\\:px-32 {\n padding-left: 3.2rem;\n padding-right: 3.2rem\n }\n\n .sm\\\\:py-0 {\n padding-top: 0rem;\n padding-bottom: 0rem\n }\n\n .sm\\\\:pb-32 {\n padding-bottom: 3.2rem\n }\n\n .sm\\\\:pt-24 {\n padding-top: 2.4rem\n }\n\n .sm\\\\:pt-32 {\n padding-top: 3.2rem\n }\n }\n @media (min-width: 768px) {\n .md\\\\:block {\n display: block\n }\n\n .md\\\\:hidden {\n display: none\n }\n }\n `;\n", "// eslint-disable-next-line\nexport declare type Constructor<T = Record<string, unknown>> = new (...args: any[]) => T;\n\nexport const CanCloseMixin: <TBase extends Constructor<HTMLElement>>(SuperClass: TBase) => Constructor<{ close: () => void }> & TBase = (\n superClass,\n) =>\n class extends superClass {\n patchClose = true;\n _close = null;\n close() {\n this._close();\n }\n };\n\nexport const ProvidesCanCloseToSlotsMixin: <TBase extends Constructor<HTMLElement>>(\n SuperClass: TBase,\n) => Constructor<{ handleSlotChange: (evt: Event) => void }> & TBase = (superClass) =>\n class extends superClass {\n // HACK: slot-props don't seem to exist and neither does the context pattern for this\n /** @param {Event} evt */\n handleSlotChange(evt) {\n const children = evt.target.assignedNodes({ flatten: true });\n for (const child of children.filter((e) => e.patchClose)) {\n // @ts-expect-error users have to implement the close method\n child._close = () => this.close();\n }\n }\n };\n", "import { css, html, LitElement, nothing, PropertyValues } from 'lit';\n\nimport { Move } from '@itsy/animate/move';\nimport { i18n } from '@lingui/core';\nimport { property, query, state } from 'lit/decorators.js';\nimport '@warp-ds/icons/elements/arrow-left-16';\nimport '@warp-ds/icons/elements/close-16';\n\nimport { activateI18n } from '../i18n';\nimport { reset } from '../styles';\n\nimport { messages as daMessages } from './locales/da/messages.mjs';\nimport { messages as enMessages } from './locales/en/messages.mjs';\nimport { messages as fiMessages } from './locales/fi/messages.mjs';\nimport { messages as nbMessages } from './locales/nb/messages.mjs';\nimport { messages as svMessages } from './locales/sv/messages.mjs';\nimport { CanCloseMixin } from './util.js';\n\n/**\n * The header section of a modal, typically where you place the title and a close button.\n *\n * [See Storybook for usage examples](https://warp-ds.github.io/elements/?path=/docs/overlays-modal--docs)\n *\n * @slot top - Customize the title bar, for example to have a header image that reaches the modal's edges. See the With Image story for an example.\n */\nexport class ModalHeader extends CanCloseMixin(LitElement) {\n @property({ type: String }) title: string;\n @property({ type: Boolean }) back: boolean;\n @property({ type: Boolean, attribute: 'no-close' }) noClose: boolean;\n /** @internal */\n @state() private _hasTopContent = false;\n\n @query('.title-el') titleEl: HTMLElement;\n\n constructor() {\n super();\n activateI18n(enMessages, nbMessages, fiMessages, daMessages, svMessages);\n }\n render() {\n return html`\n <div class=\"header\">\n <slot name=\"top\" @slotchange=${this.handleTopSlotChange}></slot>\n <div class=\"${this._hasTopContent ? '' : 'header-title-bar'}\">\n ${this.backButton}\n <h1 class=\"title-el ${this.titleClasses}\">${this.title}</h1>\n ${this.closeButton}\n </div>\n </div>\n `;\n }\n\n async willUpdate(changedProperties: PropertyValues<this>) {\n if (changedProperties.has('back')) {\n const move = new Move(this.titleEl);\n move.when(async () => {\n await this.updateComplete;\n });\n }\n }\n get titleClasses() {\n return [\n 'header-title',\n this.back ? 'header-title-with-back-button' : 'header-title-without-back-button',\n this._hasTopContent ? 'header-title-with-top-area' : '',\n ].join(' ');\n }\n\n get backButton() {\n return this.back && !this._hasTopContent // Not showing back button when there is a top image\n ? html`<button\n type=\"button\"\n aria-label=\"${i18n._({\n id: 'modal.aria.back',\n message: 'Back',\n comment: 'Aria label for the back button in modal',\n })}\"\n class=\"header-button header-button-left\"\n @click=\"${this.emitBack}\">\n <w-icon-arrow-left-16></w-icon-arrow-left-16>\n </button>`\n : nothing;\n }\n get closeButton() {\n if (this.noClose) return nothing;\n return html`<button\n type=\"button\"\n aria-label=\"${i18n._({\n id: 'modal.aria.close',\n message: 'Close',\n comment: 'Aria label for the close button in modal',\n })}\"\n class=\"header-button ${this._hasTopContent ? 'header-close-button-on-image' : 'header-close-button'}\"\n @click=\"${this.close}\">\n <w-icon-close-16></w-icon-close-16>\n </button>`;\n }\n emitBack() {\n this.dispatchEvent(new CustomEvent('backClicked', { bubbles: true, composed: true }));\n }\n handleTopSlotChange(slotEvent) {\n const topContent = slotEvent.target.assignedElements({ flatten: true });\n this._hasTopContent = !!topContent.length;\n }\n static styles = [\n reset,\n css`\n .header {\n position: relative;\n padding-bottom: 0.8rem;\n }\n .header-title-bar {\n display: grid;\n flex-shrink: 0 !important;\n gap: 1.2rem;\n grid-template-columns: auto 1fr auto;\n align-items: flex-start;\n padding-left: 1.6rem;\n padding-right: 1.6rem;\n padding-top: 1.6rem;\n }\n .header-title {\n font-weight: 700;\n font-size: var(--w-font-size-l);\n line-height: var(--w-line-height-l);\n align-self: center;\n margin: 0;\n }\n .header-title-with-back-button {\n justify-self: center;\n }\n .header-title-without-back-button {\n grid-column: span 2 / span 2;\n }\n .header-title-with-top-area {\n padding-left: 1.6rem;\n padding-right: 1.6rem;\n padding-top: 1.6rem;\n }\n .header-button:hover {\n -webkit-background-clip: padding-box;\n background-clip: padding-box;\n }\n .header-button:focus,\n .header-button:focus-visible {\n outline: 2px solid var(--w-s-color-border-focus);\n outline-offset: var(--w-outline-offset, 1px);\n }\n .header-button:not(:focus-visible) {\n outline: none;\n }\n .header-button {\n border-width: 0;\n border-radius: 9999px;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n min-height: 40px;\n min-width: 40px;\n padding: 0.4rem;\n font-weight: 700;\n transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n transition-duration: 150ms;\n font-size: var(--w-font-size-m);\n line-height: var(--w-line-height-m);\n line-height: 2.4rem;\n }\n .header-button-left {\n background-color: transparent;\n color: var(--w-s-color-icon);\n margin-left: -0.8rem;\n }\n .header-button-left:hover {\n background-color: var(--w-color-button-pill-background-hover);\n }\n .header-button-left:active {\n background-color: var(--w-color-button-pill-background-active);\n }\n .header-close-button {\n background-color: transparent;\n color: var(--w-s-color-icon);\n margin-right: -0.8rem;\n }\n .header-close-button:hover {\n background-color: var(--w-color-button-pill-background-hover);\n }\n .header-close-button:active {\n background-color: var(--w-color-button-pill-background-active);\n }\n .header-close-button-on-image {\n background-color: rgba(var(--w-rgb-black), 0.7);\n right: 0.8rem;\n top: 0.8rem;\n position: absolute;\n z-index: 10;\n color: var(--w-s-color-text-inverted);\n }\n .header-close-button-on-image:hover {\n background-color: rgba(var(--w-rgb-black), 0.85);\n }\n .header-close-button-on-image:active {\n background-color: var(--w-black);\n }\n @media (min-width: 480px) {\n .header-title-bar {\n padding-left: 3.2rem;\n padding-right: 3.2rem;\n padding-top: 2.4rem;\n }\n .header-title-with-top-area {\n padding-left: 3.2rem;\n padding-right: 3.2rem;\n }\n .header-button {\n min-height: 32px;\n min-width: 32px;\n }\n }\n `,\n ];\n}\n\nif (!customElements.get('w-modal-header')) {\n customElements.define('w-modal-header', ModalHeader);\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'w-modal-header': ModalHeader;\n }\n}\n", "/** @typedef {import('./move.d.ts').Deltas} Deltas */\n\n/**\n * @param {DOMRect} first\n * @param {DOMRect} last\n * @returns {Deltas}\n */\nexport const computeDeltas = (first, last) => ({\n dx: first.left - last.left,\n dy: first.top - last.top,\n dw: first.width / last.width,\n dh: first.height / last.height,\n first,\n last,\n})\n\n/** @param {Deltas} deltas */\nexport const moveKeyframes = ({ dx, dy }) => ([\n { transform: `translate(${dx}px, ${dy}px)` },\n { transform: 'none' },\n])\n\n/** @type {KeyframeAnimationOptions} */\nexport const animationDefaults = { easing: 'ease', duration: 300 }\n", "export let reduceMotion = false\n\nconst windowExists = (typeof window !== 'undefined')\nif (windowExists) {\n const query = window.matchMedia('(prefers-reduced-motion: reduce)')\n const callback = ({ matches }) => reduceMotion = matches\n // older browsers don't support the new API, and the old API is deprecated\n if (query.addEventListener) query.addEventListener('change', callback)\n callback(query)\n}\n\n", "import { moveKeyframes, computeDeltas, animationDefaults } from './utility.js'\nimport { reduceMotion } from './reduce-motion.js'\n\nexport class Move {\n /** @type {DOMRect | {}} */\n first;\n /** @type {DOMRect | {}} */\n last;\n /** @type {HTMLElement} */\n el;\n\n constructor(el, { animation = {}, keyframes, respectReduceMotion = true } = {}) {\n this.el = el\n this.first = {}\n this.last = {}\n this.userAnimationOptions = animation\n this.keyframeGenerator = keyframes || moveKeyframes\n this.shouldReduceMotion = respectReduceMotion\n }\n\n async when(cb) {\n this.prep()\n const v = await cb()\n await this.play()\n return v\n }\n\n prep() {\n this.first = this.el.getBoundingClientRect()\n }\n\n async play() {\n this.last = this.el.getBoundingClientRect()\n if (!this.el.animate) return\n const animation = this.el.animate(this.keyframes, this.animationOptions)\n await animation.finished\n }\n\n get keyframes() {\n return this.keyframeGenerator(computeDeltas(this.first, this.last))\n }\n\n get defaults() {\n return animationDefaults\n }\n\n get mergedOptions() {\n return { ...this.defaults, ...this.userAnimationOptions }\n }\n\n get animationOptions() {\n if (!this.shouldReduceMotion) return this.mergedOptions\n if (!reduceMotion) return this.mergedOptions\n return { ...this.mergedOptions, duration: 0 }\n }\n}\n", "import { unraw } from 'unraw';\nimport { compileMessage } from '@lingui/message-utils/compileMessage';\n\nconst isString = (s) => typeof s === \"string\";\nconst isFunction = (f) => typeof f === \"function\";\n\nconst cache = /* @__PURE__ */ new Map();\nconst defaultLocale = \"en\";\nfunction normalizeLocales(locales) {\n const out = Array.isArray(locales) ? locales : [locales];\n return [...out, defaultLocale];\n}\nfunction date(locales, value, format) {\n const _locales = normalizeLocales(locales);\n if (!format) {\n format = \"default\";\n }\n let o;\n if (typeof format === \"string\") {\n o = {\n day: \"numeric\",\n month: \"short\",\n year: \"numeric\"\n };\n switch (format) {\n case \"full\":\n o.weekday = \"long\";\n case \"long\":\n o.month = \"long\";\n break;\n case \"short\":\n o.month = \"numeric\";\n break;\n }\n } else {\n o = format;\n }\n const formatter = getMemoized(\n () => cacheKey(\"date\", _locales, format),\n () => new Intl.DateTimeFormat(_locales, o)\n );\n return formatter.format(isString(value) ? new Date(value) : value);\n}\nfunction time(locales, value, format) {\n let o;\n if (!format) {\n format = \"default\";\n }\n if (typeof format === \"string\") {\n o = {\n second: \"numeric\",\n minute: \"numeric\",\n hour: \"numeric\"\n };\n switch (format) {\n case \"full\":\n case \"long\":\n o.timeZoneName = \"short\";\n break;\n case \"short\":\n delete o.second;\n }\n } else {\n o = format;\n }\n return date(locales, value, o);\n}\nfunction number(locales, value, format) {\n const _locales = normalizeLocales(locales);\n const formatter = getMemoized(\n () => cacheKey(\"number\", _locales, format),\n () => new Intl.NumberFormat(_locales, format)\n );\n return formatter.format(value);\n}\nfunction plural(locales, ordinal, value, { offset = 0, ...rules }) {\n const _locales = normalizeLocales(locales);\n const plurals = ordinal ? getMemoized(\n () => cacheKey(\"plural-ordinal\", _locales),\n () => new Intl.PluralRules(_locales, { type: \"ordinal\" })\n ) : getMemoized(\n () => cacheKey(\"plural-cardinal\", _locales),\n () => new Intl.PluralRules(_locales, { type: \"cardinal\" })\n );\n return rules[value] ?? rules[plurals.select(value - offset)] ?? rules.other;\n}\nfunction getMemoized(getKey, construct) {\n const key = getKey();\n let formatter = cache.get(key);\n if (!formatter) {\n formatter = construct();\n cache.set(key, formatter);\n }\n return formatter;\n}\nfunction cacheKey(type, locales, options) {\n const localeKey = locales.join(\"-\");\n return `${type}-${localeKey}-${JSON.stringify(options)}`;\n}\n\nconst formats = {\n __proto__: null,\n date: date,\n defaultLocale: defaultLocale,\n number: number,\n plural: plural,\n time: time\n};\n\nconst UNICODE_REGEX = /\\\\u[a-fA-F0-9]{4}|\\\\x[a-fA-F0-9]{2}/;\nconst OCTOTHORPE_PH = \"%__lingui_octothorpe__%\";\nconst getDefaultFormats = (locale, passedLocales, formats = {}) => {\n const locales = passedLocales || locale;\n const style = (format) => {\n if (typeof format === \"object\")\n return format;\n return formats[format];\n };\n const replaceOctothorpe = (value, message) => {\n const numberFormat = Object.keys(formats).length ? style(\"number\") : void 0;\n const valueStr = number(locales, value, numberFormat);\n return message.replace(new RegExp(OCTOTHORPE_PH, \"g\"), valueStr);\n };\n return {\n plural: (value, cases) => {\n const { offset = 0 } = cases;\n const message = plural(locales, false, value, cases);\n return replaceOctothorpe(value - offset, message);\n },\n selectordinal: (value, cases) => {\n const { offset = 0 } = cases;\n const message = plural(locales, true, value, cases);\n return replaceOctothorpe(value - offset, message);\n },\n select: selectFormatter,\n number: (value, format) => number(\n locales,\n value,\n style(format) || { style: format }\n ),\n date: (value, format) => date(locales, value, style(format) || format),\n time: (value, format) => time(locales, value, style(format) || format)\n };\n};\nconst selectFormatter = (value, rules) => rules[value] ?? rules.other;\nfunction interpolate(translation, locale, locales) {\n return (values = {}, formats) => {\n const formatters = getDefaultFormats(locale, locales, formats);\n const formatMessage = (tokens, replaceOctothorpe = false) => {\n if (!Array.isArray(tokens))\n return tokens;\n return tokens.reduce((message, token) => {\n if (token === \"#\" && replaceOctothorpe) {\n return message + OCTOTHORPE_PH;\n }\n if (isString(token)) {\n return message + token;\n }\n const [name, type, format] = token;\n let interpolatedFormat = {};\n if (type === \"plural\" || type === \"selectordinal\" || type === \"select\") {\n Object.entries(format).forEach(\n ([key, value2]) => {\n interpolatedFormat[key] = formatMessage(\n value2,\n type === \"plural\" || type === \"selectordinal\"\n );\n }\n );\n } else {\n interpolatedFormat = format;\n }\n let value;\n if (type) {\n const formatter = formatters[type];\n value = formatter(values[name], interpolatedFormat);\n } else {\n value = values[name];\n }\n if (value == null) {\n return message;\n }\n return message + value;\n }, \"\");\n };\n const result = formatMessage(translation);\n if (isString(result) && UNICODE_REGEX.test(result)) {\n return unraw(result);\n }\n if (isString(result))\n return result;\n return result ? String(result) : \"\";\n };\n}\n\nvar __defProp$1 = Object.defineProperty;\nvar __defNormalProp$1 = (obj, key, value) => key in obj ? __defProp$1(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __publicField$1 = (obj, key, value) => {\n __defNormalProp$1(obj, typeof key !== \"symbol\" ? key + \"\" : key, value);\n return value;\n};\nclass EventEmitter {\n constructor() {\n __publicField$1(this, \"_events\", {});\n }\n on(event, listener) {\n var _a;\n (_a = this._events)[event] ?? (_a[event] = []);\n this._events[event].push(listener);\n return () => this.removeListener(event, listener);\n }\n removeListener(event, listener) {\n const maybeListeners = this._getListeners(event);\n if (!maybeListeners)\n return;\n const index = maybeListeners.indexOf(listener);\n if (~index)\n maybeListeners.splice(index, 1);\n }\n emit(event, ...args) {\n const maybeListeners = this._getListeners(event);\n if (!maybeListeners)\n return;\n maybeListeners.map((listener) => listener.apply(this, args));\n }\n _getListeners(event) {\n const maybeListeners = this._events[event];\n return Array.isArray(maybeListeners) ? maybeListeners : false;\n }\n}\n\nvar __defProp = Object.defineProperty;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __publicField = (obj, key, value) => {\n __defNormalProp(obj, typeof key !== \"symbol\" ? key + \"\" : key, value);\n return value;\n};\nclass I18n extends EventEmitter {\n constructor(params) {\n super();\n __publicField(this, \"_locale\", \"\");\n __publicField(this, \"_locales\");\n __publicField(this, \"_localeData\", {});\n __publicField(this, \"_messages\", {});\n __publicField(this, \"_missing\");\n __publicField(this, \"_messageCompiler\");\n /**\n * Alias for {@see I18n._}\n */\n __publicField(this, \"t\", this._.bind(this));\n if (process.env.NODE_ENV !== \"production\") {\n this.setMessagesCompiler(compileMessage);\n }\n if (params.missing != null)\n this._missing = params.missing;\n if (params.messages != null)\n this.load(params.messages);\n if (params.localeData != null)\n this.loadLocaleData(params.localeData);\n if (typeof params.locale === \"string\" || params.locales) {\n this.activate(params.locale ?? defaultLocale, params.locales);\n }\n }\n get locale() {\n return this._locale;\n }\n get locales() {\n return this._locales;\n }\n get messages() {\n return this._messages[this._locale] ?? {};\n }\n /**\n * @deprecated this has no effect. Please remove this from the code. Deprecated in v4\n */\n get localeData() {\n return this._localeData[this._locale] ?? {};\n }\n _loadLocaleData(locale, localeData) {\n const maybeLocaleData = this._localeData[locale];\n if (!maybeLocaleData) {\n this._localeData[locale] = localeData;\n } else {\n Object.assign(maybeLocaleData, localeData);\n }\n }\n /**\n * Registers a `MessageCompiler` to enable the use of uncompiled catalogs at runtime.\n *\n * In production builds, the `MessageCompiler` is typically excluded to reduce bundle size.\n * By default, message catalogs should be precompiled during the build process. However,\n * if you need to compile catalogs at runtime, you can use this method to set a message compiler.\n *\n * Example usage:\n *\n * ```ts\n * import { compileMessage } from \"@lingui/message-utils/compileMessage\";\n *\n * i18n.setMessagesCompiler(compileMessage);\n * ```\n */\n setMessagesCompiler(compiler) {\n this._messageCompiler = compiler;\n return this;\n }\n /**\n * @deprecated Plurals automatically used from Intl.PluralRules you can safely remove this call. Deprecated in v4\n */\n loadLocaleData(localeOrAllData, localeData) {\n if (typeof localeOrAllData === \"string\") {\n this._loadLocaleData(localeOrAllData, localeData);\n } else {\n Object.keys(localeOrAllData).forEach(\n (locale) => this._loadLocaleData(locale, localeOrAllData[locale])\n );\n }\n this.emit(\"change\");\n }\n _load(locale, messages) {\n const maybeMessages = this._messages[locale];\n if (!maybeMessages) {\n this._messages[locale] = messages;\n } else {\n Object.assign(maybeMessages, messages);\n }\n }\n load(localeOrMessages, messages) {\n if (typeof localeOrMessages == \"string\" && typeof messages === \"object\") {\n this._load(localeOrMessages, messages);\n } else {\n Object.entries(localeOrMessages).forEach(\n ([locale, messages2]) => this._load(locale, messages2)\n );\n }\n this.emit(\"change\");\n }\n /**\n * @param options {@link LoadAndActivateOptions}\n */\n loadAndActivate({ locale, locales, messages }) {\n this._locale = locale;\n this._locales = locales || void 0;\n this._messages[this._locale] = messages;\n this.emit(\"change\");\n }\n activate(locale, locales) {\n if (process.env.NODE_ENV !== \"production\") {\n if (!this._messages[locale]) {\n console.warn(`Messages for locale \"${locale}\" not loaded.`);\n }\n }\n this._locale = locale;\n this._locales = locales;\n this.emit(\"change\");\n }\n _(id, values, options) {\n if (!this.locale) {\n throw new Error(\n \"Lingui: Attempted to call a translation function without setting a locale.\\nMake sure to call `i18n.activate(locale)` before using Lingui functions.\\nThis issue may also occur due to a race condition in your initialization logic.\"\n );\n }\n let message = options?.message;\n if (!id) {\n id = \"\";\n }\n if (!isString(id)) {\n values = id.values || values;\n message = id.message;\n id = id.id;\n }\n const messageForId = this.messages[id];\n const messageMissing = messageForId === void 0;\n const missing = this._missing;\n if (missing && messageMissing) {\n return isFunction(missing) ? missing(this._locale, id) : missing;\n }\n if (messageMissing) {\n this.emit(\"missing\", { id, locale: this._locale });\n }\n let translation = messageForId || message || id;\n if (isString(translation)) {\n if (this._messageCompiler) {\n translation = this._messageCompiler(translation);\n } else {\n console.warn(`Uncompiled message detected! Message:\n\n> ${translation}\n\nThat means you use raw catalog or your catalog doesn't have a translation for the message and fallback was used.\nICU features such as interpolation and plurals will not work properly for that message. \n\nPlease compile your catalog first. \n`);\n }\n }\n if (isString(translation) && UNICODE_REGEX.test(translation))\n return JSON.parse(`\"${translation}\"`);\n if (isString(translation))\n return translation;\n return interpolate(\n translation,\n this._locale,\n this._locales\n )(values, options?.formats);\n }\n date(value, format) {\n return date(this._locales || this._locale, value, format);\n }\n number(value, format) {\n return number(this._locales || this._locale, value, format);\n }\n}\nfunction setupI18n(params = {}) {\n return new I18n(params);\n}\n\nconst i18n = setupI18n();\n\nexport { I18n, formats, i18n, setupI18n };\n", "import { LitElement } from 'lit';\nimport { unsafeStatic, html } from \"lit/static-html.js\";\nimport { i18n } from '@lingui/core';\nimport { messages as nbMessages} from '../src/raw/arrow-left/locales/nb/messages.mjs';\nimport { messages as enMessages} from '../src/raw/arrow-left/locales/en/messages.mjs';\nimport { messages as fiMessages} from '../src/raw/arrow-left/locales/fi/messages.mjs';\nimport { messages as daMessages} from '../src/raw/arrow-left/locales/da/messages.mjs';\nimport { messages as svMessages} from '../src/raw/arrow-left/locales/sv/messages.mjs';\nimport { activateI18n } from '../src/utils/i18n';\nactivateI18n(enMessages, nbMessages, fiMessages, daMessages, svMessages);\n\n\nexport class IconArrowLeft16 extends LitElement {\n render() {\n const title = i18n.t({ message: `Leftward-pointing arrow`, id: 'icon.title.arrow-left', comment: 'Title for table arrow left icon' });\n \n return html`<svg xmlns=\"http://www.w3.org/2000/svg\"width=\"16\"height=\"16\"fill=\"none\"viewBox=\"0 0 16 16\" part=\"w-icon-arrow-left-16-part\">${unsafeStatic(`<title>${title}</title>`)}<path stroke=\"currentColor\" stroke-linecap=\"round\" stroke-width=\"1.5\" d=\"M5.222 8h6.667\"></path><path stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"1.5\" d=\"M7.444 11.75 4.111 8l3.333-3.75\"></path></svg>`; }\n}\nif (!customElements.get('w-icon-arrow-left-16')) {\n customElements.define('w-icon-arrow-left-16', IconArrowLeft16);\n}", "/*eslint-disable*/export const messages=JSON.parse(\"{\\\"icon.title.arrow-left\\\":[\\\"Pil som peker mot venstre\\\"]}\");", "/*eslint-disable*/export const messages=JSON.parse(\"{\\\"icon.title.arrow-left\\\":[\\\"Leftward-pointing arrow\\\"]}\");", "/*eslint-disable*/export const messages=JSON.parse(\"{\\\"icon.title.arrow-left\\\":[\\\"Vasemmalle osoittava nuoli\\\"]}\");", "/*eslint-disable*/export const messages=JSON.parse(\"{\\\"icon.title.arrow-left\\\":[\\\"Pil til venstre\\\"]}\");", "/*eslint-disable*/export const messages=JSON.parse(\"{\\\"icon.title.arrow-left\\\":[\\\"Pil som pekar v\u00E4nster\\\"]}\");", "import { Messages, i18n } from '@lingui/core';\n\nexport const supportedLocales = ['en', 'nb', 'fi', 'da', 'sv'] as const;\ntype SupportedLocale = (typeof supportedLocales)[number];\n\nexport const defaultLocale = 'en';\n\nconst detectByBrand = () => {\n\tlet value;\n switch (process?.env?.NMP_BRAND) {\n\t\tcase 'FINN':\n\t\t\tvalue = 'nb';\n\t\t\tbreak;\n\t\tcase 'TORI':\n\t\t\tvalue = 'fi';\n\t\t\tbreak;\n\t\tcase 'BLOCKET':\n\t\t\tvalue = 'sv';\n\t\t\tbreak;\n\t\tcase 'DBA':\n\t\t\tvalue = 'da';\n\t\t\tbreak;\n\t\tdefault:\n\t\t\tvalue = 'en';\n\t}\n\treturn value;\n};\n\nconst detectByHost = () => {\n const hostname = document?.location?.hostname;\n if (hostname?.includes('finn')) {\n return 'nb';\n } else if (hostname.includes('tori')) {\n return 'fi';\n } else if (hostname.includes('blocket')) {\n return 'sv';\n } else if (hostname.includes('dba')) {\n return 'da';\n } else {\n return defaultLocale;\n }\n}\n\nexport const getSupportedLocale = (usedLocale: string) => {\n return (\n supportedLocales.find(\n (locale) =>\n usedLocale === locale || usedLocale.toLowerCase().includes(locale)\n ) || detectByHost()\n );\n};\n\nexport function detectLocale(): SupportedLocale {\n if (typeof window === 'undefined') {\n /**\n * Server locale detection. This requires e.g NMP_BRAND environment variable to be set on the server.\n */\n const serverLocale = detectByBrand();\n return getSupportedLocale(serverLocale);\n }\n\n try {\n /**\n * Client locale detection. Expects the lang attribute to be defined.\n */\n const htmlLocale = document?.documentElement?.lang;\n const hostLocale = detectByHost();\n \n if (!supportedLocales.includes(htmlLocale as SupportedLocale)) {\n console.warn('Unsupported locale set in html lang tag, falling back to detection by hostname');\n return getSupportedLocale(hostLocale);\n }\n return getSupportedLocale(htmlLocale ?? hostLocale);\n } catch (e) {\n console.warn('could not detect locale, falling back to source locale', e);\n return defaultLocale;\n }\n}\n\nexport const getMessages = (\n locale: SupportedLocale,\n enMsg: Messages,\n nbMsg: Messages,\n fiMsg: Messages,\n daMsg: Messages,\n svMsg: Messages\n) => {\n if (locale === 'nb') return nbMsg;\n if (locale === 'fi') return fiMsg;\n if (locale === 'da') return daMsg;\n if (locale === 'sv') return svMsg;\n // Default to English\n return enMsg;\n};\n\nexport const activateI18n = (\n enMessages: Messages,\n nbMessages: Messages,\n fiMessages: Messages,\n daMessages: Messages,\n svMessages: Messages\n) => {\n const locale = detectLocale();\n const messages = getMessages(locale, enMessages, nbMessages, fiMessages, daMessages, svMessages);\n i18n.load(locale, messages);\n i18n.activate(locale);\n};\n", "import { LitElement } from 'lit';\nimport { unsafeStatic, html } from \"lit/static-html.js\";\nimport { i18n } from '@lingui/core';\nimport { messages as nbMessages} from '../src/raw/close/locales/nb/messages.mjs';\nimport { messages as enMessages} from '../src/raw/close/locales/en/messages.mjs';\nimport { messages as fiMessages} from '../src/raw/close/locales/fi/messages.mjs';\nimport { messages as daMessages} from '../src/raw/close/locales/da/messages.mjs';\nimport { messages as svMessages} from '../src/raw/close/locales/sv/messages.mjs';\nimport { activateI18n } from '../src/utils/i18n';\nactivateI18n(enMessages, nbMessages, fiMessages, daMessages, svMessages);\n\n\nexport class IconClose16 extends LitElement {\n render() {\n const title = i18n.t({ message: `Cross`, id: 'icon.title.close', comment: 'Title for close icon' });\n \n return html`<svg xmlns=\"http://www.w3.org/2000/svg\"width=\"16\"height=\"16\"fill=\"none\"viewBox=\"0 0 16 16\" part=\"w-icon-close-16-part\">${unsafeStatic(`<title>${title}</title>`)}<path stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"1.5\" d=\"m12.5 3.5-9 9m0-9 9 9\"></path></svg>`; }\n}\nif (!customElements.get('w-icon-close-16')) {\n customElements.define('w-icon-close-16', IconClose16);\n}", "/*eslint-disable*/export const messages=JSON.parse(\"{\\\"icon.title.close\\\":[\\\"Kryss\\\"]}\");", "/*eslint-disable*/export const messages=JSON.parse(\"{\\\"icon.title.close\\\":[\\\"Cross\\\"]}\");", "/*eslint-disable*/export const messages=JSON.parse(\"{\\\"icon.title.close\\\":[\\\"Rasti\\\"]}\");", "/*eslint-disable*/export const messages=JSON.parse(\"{\\\"icon.title.close\\\":[\\\"Kryds\\\"]}\");", "/*eslint-disable*/export const messages=JSON.parse(\"{\\\"icon.title.close\\\":[\\\"Kryss\\\"]}\");", "import { Messages, i18n } from '@lingui/core';\n\nexport const supportedLocales = ['en', 'nb', 'fi', 'da', 'sv'] as const;\ntype SupportedLocale = (typeof supportedLocales)[number];\n\nexport const defaultLocale = 'en';\n\nconst detectByBrand = () => {\n\tlet value;\n switch (process?.env?.NMP_BRAND) {\n\t\tcase 'FINN':\n\t\t\tvalue = 'nb';\n\t\t\tbreak;\n\t\tcase 'TORI':\n\t\t\tvalue = 'fi';\n\t\t\tbreak;\n\t\tcase 'BLOCKET':\n\t\t\tvalue = 'sv';\n\t\t\tbreak;\n\t\tcase 'DBA':\n\t\t\tvalue = 'da';\n\t\t\tbreak;\n\t\tdefault:\n\t\t\tvalue = 'en';\n\t}\n\treturn value;\n};\n\nconst detectByHost = () => {\n const hostname = document?.location?.hostname;\n if (hostname?.includes('finn')) {\n return 'nb';\n } else if (hostname.includes('tori')) {\n return 'fi';\n } else if (hostname.includes('blocket')) {\n return 'sv';\n } else if (hostname.includes('dba')) {\n return 'da';\n } else {\n return defaultLocale;\n }\n}\n\nexport const getSupportedLocale = (usedLocale: string) => {\n return (\n supportedLocales.find(\n (locale) =>\n usedLocale === locale || usedLocale.toLowerCase().includes(locale)\n ) || detectByHost()\n );\n};\n\nexport function detectLocale(): SupportedLocale {\n if (typeof window === 'undefined') {\n /**\n * Server locale detection. This requires e.g NMP_BRAND environment variable to be set on the server.\n */\n const serverLocale = detectByBrand();\n return getSupportedLocale(serverLocale);\n }\n\n try {\n /**\n * Client locale detection. Expects the lang attribute to be defined.\n */\n const htmlLocale = document?.documentElement?.lang;\n const hostLocale = detectByHost();\n \n if (!supportedLocales.includes(htmlLocale as SupportedLocale)) {\n console.warn('Unsupported locale set in html lang tag, falling back to detection by hostname');\n return getSupportedLocale(hostLocale);\n }\n return getSupportedLocale(htmlLocale ?? hostLocale);\n } catch (e) {\n console.warn('could not detect locale, falling back to source locale', e);\n return defaultLocale;\n }\n}\n\nexport const getMessages = (\n locale: SupportedLocale,\n enMsg: Messages,\n nbMsg: Messages,\n fiMsg: Messages,\n daMsg: Messages,\n svMsg: Messages\n) => {\n if (locale === 'nb') return nbMsg;\n if (locale === 'fi') return fiMsg;\n if (locale === 'da') return daMsg;\n if (locale === 'sv') return svMsg;\n // Default to English\n return enMsg;\n};\n\nexport const activateI18n = (\n enMessages: Messages,\n nbMessages: Messages,\n fiMessages: Messages,\n daMessages: Messages,\n svMessages: Messages\n) => {\n const locale = detectLocale();\n const messages = getMessages(locale, enMessages, nbMessages, fiMessages, daMessages, svMessages);\n i18n.load(locale, messages);\n i18n.activate(locale);\n};\n", "import { Messages, i18n } from '@lingui/core';\n\nexport const supportedLocales = ['en', 'nb', 'fi', 'da', 'sv'] as const;\ntype SupportedLocale = (typeof supportedLocales)[number];\n\nexport const defaultLocale = 'en';\n\nexport const getSupportedLocale = (usedLocale: string) => {\n return supportedLocales.find((locale) => usedLocale === locale || usedLocale.toLowerCase().includes(locale)) || defaultLocale;\n};\n\nexport function detectLocale(): SupportedLocale {\n if (typeof window === 'undefined') {\n /**\n * Server locale detection. This requires e.g LANG environment variable to be set on the server.\n */\n const serverLocale = process.env.NMP_LANGUAGE || Intl.DateTimeFormat().resolvedOptions().locale;\n return getSupportedLocale(serverLocale);\n }\n\n try {\n /**\n * Client locale detection. Expects the lang attribute to be defined.\n */\n const htmlLocale = document.documentElement.lang;\n return getSupportedLocale(htmlLocale);\n } catch (e) {\n console.warn('could not detect locale, falling back to source locale', e);\n return defaultLocale;\n }\n}\n\nexport const getMessages = (\n locale: SupportedLocale,\n enMsg: Messages,\n nbMsg: Messages,\n fiMsg: Messages,\n daMsg: Messages,\n svMsg: Messages,\n) => {\n if (locale === 'nb') return nbMsg;\n if (locale === 'fi') return fiMsg;\n if (locale === 'da') return daMsg;\n if (locale === 'sv') return svMsg;\n // Default to English\n return enMsg;\n};\n\nexport const activateI18n = (\n enMessages: Messages,\n nbMessages: Messages,\n fiMessages: Messages,\n daMessages: Messages,\n svMessages: Messages,\n) => {\n const locale = detectLocale();\n const messages = getMessages(locale, enMessages, nbMessages, fiMessages, daMessages, svMessages);\n i18n.load(locale, messages);\n i18n.activate(locale);\n};\n", "/*eslint-disable*/export const messages=JSON.parse(\"{\\\"modal.aria.back\\\":[\\\"Tilbage\\\"],\\\"modal.aria.close\\\":[\\\"Luk\\\"]}\");", "/*eslint-disable*/export const messages=JSON.parse(\"{\\\"modal.aria.back\\\":[\\\"Back\\\"],\\\"modal.aria.close\\\":[\\\"Close\\\"]}\");", "/*eslint-disable*/export const messages=JSON.parse(\"{\\\"modal.aria.back\\\":[\\\"Takaisin\\\"],\\\"modal.aria.close\\\":[\\\"Sulje\\\"]}\");", "/*eslint-disable*/export const messages=JSON.parse(\"{\\\"modal.aria.back\\\":[\\\"Tilbake\\\"],\\\"modal.aria.close\\\":[\\\"Lukk\\\"]}\");", "/*eslint-disable*/export const messages=JSON.parse(\"{\\\"modal.aria.back\\\":[\\\"Tillbaka\\\"],\\\"modal.aria.close\\\":[\\\"St\u00E4ng\\\"]}\");", "import { css, html, LitElement } from 'lit';\n\nimport { property, query } from 'lit/decorators.js';\nimport { setup as setupScrollLock, teardown as teardownScrollLock } from 'scroll-doctor';\n\nimport { reset } from '../styles.js';\n\nimport { ProvidesCanCloseToSlotsMixin } from './util.js';\n\n/**\n * Modals (or dialogs) display important information that users need to acknowledge.\n *\n * [See Storybook for usage examples](https://warp-ds.github.io/elements/?path=/docs/overlays-modal--docs)\n *\n * @slot header - Typically where you would use the `w-modal-header` component.\n * @slot content - The main content of the modal.\n * @slot footer - Typically where you would use the `w-modal-footer` component, for things like actions.\n */\nexport class ModalMain extends ProvidesCanCloseToSlotsMixin(LitElement) {\n @property({ type: Boolean }) show: boolean;\n @property({ type: String, attribute: 'content-id' }) contentId: string;\n @property({ type: Boolean, attribute: 'ignore-backdrop-clicks' }) ignoreBackdropClicks: boolean;\n\n @query('.dialog-el') dialogEl: HTMLDialogElement;\n @query('.dialog-inner-el') dialogInnerEl: HTMLElement;\n @query('.content-el') contentEl: HTMLElement;\n\n constructor() {\n super();\n this.interceptEscape = this.interceptEscape.bind(this);\n this.closeOnBackdropClick = this.closeOnBackdropClick.bind(this);\n this.eventPreventer = this.eventPreventer.bind(this);\n this.modifyBorderRadius = this.modifyBorderRadius.bind(this);\n }\n\n async open() {\n this.dialogEl.showModal();\n this.handleListeners();\n setupScrollLock(this.contentEl);\n await this.updateComplete;\n this.dispatchEvent(new CustomEvent('shown', { bubbles: true, composed: true }));\n }\n\n close() {\n this.handleListeners('removeEventListener');\n this.dialogEl.classList.add('close');\n this.dialogEl.addEventListener(\n 'animationend',\n async () => {\n this.dialogEl.classList.remove('close');\n this.dialogEl.close();\n teardownScrollLock();\n await this.updateComplete;\n this.dispatchEvent(new CustomEvent('hidden', { bubbles: true, composed: true }));\n },\n { once: true },\n );\n }\n\n render() {\n return html`\n <dialog class=\"dialog-el\">\n <div class=\"dialog-inner-el\">\n <slot name=\"header\" @slotchange=\"${this.handleSlotChange}\"></slot>\n <div class=\"content-el\" id=${this.contentId}>\n <slot name=\"content\" @slotchange=\"${this.handleSlotChange}\"></slot>\n </div>\n <slot name=\"footer\" @slotchange=\"${this.handleSlotChange}\"></slot>\n </div>\n </dialog>\n `;\n }\n\n updated(changedProperties: Map<string, unknown>) {\n if (changedProperties.has('show')) this[this.show ? 'open' : 'close']();\n }\n\n handleListeners(verb = 'addEventListener') {\n // HACK: escape normally fires 'cancel' but 'cancel' can only be intercepted once (browser bug/quirk)\n document[verb]('keydown', this.interceptEscape);\n // Using 'mousedown' instead of 'click' because mouse-up events on the backdrop also trigger 'click'\n if (!this.ignoreBackdropClicks) this.dialogEl[verb]('mousedown', this.closeOnBackdropClick);\n // HACK: 'close' fires once the dialog is closed, thus it's cannot animate\n this.dialogEl[verb]('close', this.eventPreventer);\n // HACK: this might not be needed since escape is intercepted, but better to be safe\n this.dialogEl[verb]('cancel', this.eventPreventer);\n\n this.dialogInnerEl[verb]('transitionend', this.modifyBorderRadius);\n }\n\n eventPreventer(evt: Event) {\n evt.preventDefault();\n }\n\n closeOnBackdropClick(evt: MouseEvent) {\n if (this.dialogEl === evt.target) this.close();\n }\n\n interceptEscape(evt: KeyboardEvent) {\n if (evt.key === 'Escape') {\n evt.preventDefault();\n this.close();\n }\n }\n\n modifyBorderRadius() {\n if (this.dialogInnerEl.scrollHeight * 1.02 > innerHeight) this.dialogInnerEl.style.borderRadius = '0px';\n else this.dialogInnerEl.style.borderRadius = null;\n }\n\n static styles = [\n reset,\n css`\n .dialog-el {\n --w-modal-translate-distance: 100%;\n --w-modal-max-height: 80%;\n --w-modal-width: 640px;\n background-color: transparent;\n border-width: 0;\n align-items: flex-end;\n inset: 0rem;\n height: unset;\n max-height: unset;\n max-width: unset;\n width: unset;\n margin: auto;\n padding: 0rem;\n backface-visibility: hidden;\n }\n .dialog-inner-el {\n will-change: height;\n border-radius: 8px;\n display: flex;\n flex-direction: column;\n overflow: hidden;\n position: relative;\n background-color: var(--w-s-color-background);\n box-shadow: var(--w-shadow-m);\n height: var(--w-modal-height);\n max-height: var(--w-modal-max-height);\n min-height: var(--w-modal-min-height);\n width: var(--w-modal-width);\n backface-visibility: hidden;\n padding-bottom: calc(32px + env(safe-area-inset-bottom, 0px));\n transition-property: all;\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n transition-duration: 150ms;\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n }\n .content-el {\n display: block;\n flex-shrink: 1;\n flex-grow: 1;\n overflow-x: hidden;\n overflow-y: auto;\n position: relative;\n margin-bottom: 0rem;\n padding-left: 1.6rem;\n padding-right: 1.6rem;\n }\n @media (min-width: 480px) {\n .dialog-el {\n --w-modal-translate-distance: 50%;\n place-content: center;\n place-items: center;\n }\n .dialog-inner-el {\n margin-left: 1.6rem;\n margin-right: 1.6rem;\n padding-bottom: 3.2rem;\n }\n .content-el {\n padding-left: 3.2rem;\n padding-right: 3.2rem;\n }\n }\n @media (max-width: 479.9px) {\n .dialog-inner-el {\n border-bottom-left-radius: 0;\n border-bottom-right-radius: 0;\n }\n }\n .dialog-el[open] {\n animation: w-modal-in 0.3s ease-in-out forwards;\n display: flex;\n position: fixed;\n }\n .dialog-el.close {\n animation: w-modal-out 0.3s ease-in-out forwards;\n }\n .dialog-el[open]::backdrop {\n animation: backdrop-in 0.3s ease-in-out forwards;\n }\n .dialog-el.close::backdrop {\n animation: backdrop-out 0.3s ease-in-out forwards;\n }\n /* shouldn't need two (in/out) animations declared here, but reversing is being weird */\n @keyframes w-modal-in {\n from {\n transform: translateY(var(--w-modal-translate-distance));\n opacity: 0;\n }\n to {\n transform: translateY(0);\n opacity: 1;\n }\n }\n @keyframes w-modal-out {\n from {\n transform: translateY(0);\n opacity: 1;\n }\n to {\n transform: translateY(var(--w-modal-translate-distance));\n opacity: 0;\n }\n }\n @keyframes backdrop-in {\n from {\n background: transparent;\n }\n to {\n background: rgba(0, 0, 0, 0.25);\n }\n }\n @keyframes backdrop-out {\n from {\n background: rgba(0, 0, 0, 0.25);\n }\n to {\n background: transparent;\n }\n }\n `,\n ];\n}\n\nif (!customElements.get('w-modal')) {\n customElements.define('w-modal', ModalMain);\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'w-modal': ModalMain;\n }\n}\n", "let n = [];\nconst c = { documentElement: {}, body: {} }, i = Object.freeze({\n // html\n documentElement: {\n \"scrollbar-gutter\": \"stable\"\n },\n body: {\n overflow: \"hidden\",\n position: \"relative\",\n height: \"100%\"\n }\n}), r = (t) => {\n t.touches.length > 1 || t.preventDefault?.();\n}, h = (t) => ([e, s]) => {\n c[t][e] = document[t].style[e], document[t].style[e] = s;\n}, a = () => Object.entries(i).forEach(([t, e]) => {\n Object.entries(e).forEach(h(t));\n}), d = (t) => ([e, s]) => {\n document[t].style[e] = c[t][e];\n}, f = () => Object.entries(c).forEach(([t, e]) => {\n Object.entries(e).forEach(d(t));\n}), m = (t) => t.scrollHeight - Math.abs(t.scrollTop) === t.clientHeight;\nfunction y(t) {\n let e = -1;\n const s = (o) => {\n if (o.targetTouches.length !== 1)\n return;\n const l = o.targetTouches[0].clientY - e;\n return t.scrollTop === 0 && l > 0 || m(t) && l < 0 ? r(o) : (o.stopPropagation(), !0);\n };\n t.ontouchstart = (o) => {\n o.targetTouches.length === 1 && (e = o.targetTouches[0].clientY);\n }, t.ontouchmove = s;\n}\nfunction p(t) {\n t.ontouchstart = null, t.ontouchmove = null;\n}\nconst u = (t) => () => document[t ? \"addEventListener\" : \"removeEventListener\"](\"touchmove\", r, { passive: !1 }), b = u(!0), g = u();\nfunction E(t) {\n if (!t)\n throw Error(\"Could not run setup, an element must be provided\");\n n.some((e) => e === t) || (n.length || (a(), b()), y(t), n.push(t));\n}\nfunction T() {\n n.forEach(p), g(), f(), n = [];\n}\nexport {\n f as resetStyles,\n a as setStyles,\n E as setup,\n i as styleTargets,\n T as teardown\n};\n"],
|
|
5
|
+
"mappings": "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AA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAkRRE,GAAaF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA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",
|
|
6
|
+
"names": ["require_errors", "__commonJSMin", "exports", "ErrorType", "require_dist", "__commonJSMin", "exports", "errors_1", "parseHexToInt", "hex", "validateAndParseHex", "errorName", "enforcedLength", "parsedHex", "parseHexadecimalCode", "code", "parsedCode", "parseUnicodeCode", "surrogateCode", "parsedSurrogateCode", "isCurlyBraced", "text", "parseUnicodeCodePointCode", "codePoint", "withoutBraces", "err", "parseOctalCode", "error", "singleCharacterEscapes", "parseSingleCharacterCode", "escapeMatch", "unraw", "raw", "allowOctals", "_", "backslash", "unicodeWithSurrogate", "surrogate", "unicode", "octal", "singleCharacter", "html", "css", "LitElement", "css", "reset", "components", "CanCloseMixin", "superClass", "ProvidesCanCloseToSlotsMixin", "evt", "children", "child", "e", "ModalFooter", "CanCloseMixin", "ProvidesCanCloseToSlotsMixin", "LitElement", "html", "reset", "css", "css", "html", "LitElement", "nothing", "computeDeltas", "first", "last", "moveKeyframes", "dx", "dy", "animationDefaults", "reduceMotion", "windowExists", "query", "callback", "matches", "Move", "el", "animation", "keyframes", "respectReduceMotion", "__publicField", "moveKeyframes", "cb", "v", "computeDeltas", "animationDefaults", "reduceMotion", "import_unraw", "isString", "s", "isFunction", "f", "cache", "defaultLocale", "normalizeLocales", "locales", "date", "value", "format", "_locales", "o", "getMemoized", "cacheKey", "time", "number", "plural", "ordinal", "offset", "rules", "_a", "_b", "plurals", "getKey", "construct", "key", "formatter", "type", "options", "localeKey", "UNICODE_REGEX", "OCTOTHORPE_PH", "getDefaultFormats", "locale", "passedLocales", "formats", "locales", "style", "format", "replaceOctothorpe", "value", "message", "numberFormat", "valueStr", "number", "cases", "offset", "plural", "selectFormatter", "date", "time", "rules", "_a", "interpolate", "translation", "values", "formatters", "formatMessage", "tokens", "token", "isString", "name", "type", "interpolatedFormat", "key", "value2", "formatter", "result", "__defProp$1", "__defNormalProp$1", "obj", "__publicField$1", "EventEmitter", "event", "listener", "maybeListeners", "index", "args", "__defProp", "__defNormalProp", "__publicField", "I18n", "params", "defaultLocale", "localeData", "maybeLocaleData", "compiler", "localeOrAllData", "messages", "maybeMessages", "localeOrMessages", "messages2", "id", "options", "messageForId", "messageMissing", "missing", "isFunction", "setupI18n", "i18n", "property", "query", "state", "LitElement", "unsafeStatic", "html", "messages", "supportedLocales", "defaultLocale", "detectByBrand", "_a", "value", "detectByHost", "hostname", "getSupportedLocale", "usedLocale", "locale", "detectLocale", "serverLocale", "htmlLocale", "hostLocale", "getMessages", "enMsg", "nbMsg", "fiMsg", "daMsg", "svMsg", "activateI18n", "enMessages", "nbMessages", "fiMessages", "daMessages", "svMessages", "i18n", "IconArrowLeft16", "LitElement", "title", "html", "unsafeStatic", "LitElement", "unsafeStatic", "html", "messages", "supportedLocales", "defaultLocale", "detectByBrand", "_a", "value", "detectByHost", "hostname", "getSupportedLocale", "usedLocale", "locale", "detectLocale", "serverLocale", "htmlLocale", "hostLocale", "getMessages", "enMsg", "nbMsg", "fiMsg", "daMsg", "svMsg", "activateI18n", "enMessages", "nbMessages", "fiMessages", "daMessages", "svMessages", "i18n", "IconClose16", "LitElement", "title", "html", "unsafeStatic", "supportedLocales", "defaultLocale", "getSupportedLocale", "usedLocale", "locale", "detectLocale", "serverLocale", "htmlLocale", "e", "getMessages", "enMsg", "nbMsg", "fiMsg", "daMsg", "svMsg", "activateI18n", "enMessages", "nbMessages", "fiMessages", "daMessages", "svMessages", "messages", "i18n", "messages", "messages", "messages", "messages", "messages", "ModalHeader", "CanCloseMixin", "LitElement", "activateI18n", "messages", "html", "changedProperties", "Move", "i18n", "nothing", "slotEvent", "topContent", "reset", "css", "__decorateClass", "property", "state", "query", "css", "html", "LitElement", "property", "query", "n", "c", "i", "r", "t", "_a", "h", "s", "a", "d", "f", "m", "y", "o", "l", "p", "u", "b", "g", "E", "T", "ModalMain", "ProvidesCanCloseToSlotsMixin", "LitElement", "E", "T", "html", "changedProperties", "verb", "evt", "reset", "css", "__decorateClass", "property", "query"]
|
|
7
7
|
}
|