@warp-ds/elements 2.8.2-next.2 → 2.8.2-next.4

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.
Files changed (150) hide show
  1. package/dist/custom-elements.json +166 -69
  2. package/dist/index.d.ts +63 -11
  3. package/dist/packages/affix/affix.hydration.test.d.ts +1 -0
  4. package/dist/packages/affix/affix.hydration.test.js +33 -0
  5. package/dist/packages/affix/affix.js +3 -3
  6. package/dist/packages/affix/affix.js.map +3 -3
  7. package/dist/packages/alert/alert.hydration.test.d.ts +1 -0
  8. package/dist/packages/alert/alert.hydration.test.js +47 -0
  9. package/dist/packages/alert/alert.js +5 -5
  10. package/dist/packages/alert/alert.js.map +3 -3
  11. package/dist/packages/attention/attention.hydration.test.d.ts +1 -0
  12. package/dist/packages/attention/attention.hydration.test.js +66 -0
  13. package/dist/packages/attention/attention.js +11 -11
  14. package/dist/packages/attention/attention.js.map +3 -3
  15. package/dist/packages/badge/badge.hydration.test.d.ts +1 -0
  16. package/dist/packages/badge/badge.hydration.test.js +50 -0
  17. package/dist/packages/box/box.hydration.test.d.ts +1 -0
  18. package/dist/packages/box/box.hydration.test.js +37 -0
  19. package/dist/packages/breadcrumbs/breadcrumbs.hydration.test.d.ts +1 -0
  20. package/dist/packages/breadcrumbs/breadcrumbs.hydration.test.js +141 -0
  21. package/dist/packages/breadcrumbs/breadcrumbs.js.map +2 -2
  22. package/dist/packages/button/button.hydration.test.d.ts +1 -0
  23. package/dist/packages/button/button.hydration.test.js +43 -0
  24. package/dist/packages/button/button.js +3 -3
  25. package/dist/packages/button/button.js.map +3 -3
  26. package/dist/packages/button/button.react.stories.d.ts +1 -1
  27. package/dist/packages/card/card.hydration.test.d.ts +1 -0
  28. package/dist/packages/card/card.hydration.test.js +38 -0
  29. package/dist/packages/card/card.react.stories.d.ts +1 -1
  30. package/dist/packages/checkbox/checkbox.d.ts +17 -1
  31. package/dist/packages/checkbox/checkbox.hydration.test.d.ts +1 -0
  32. package/dist/packages/checkbox/checkbox.hydration.test.js +47 -0
  33. package/dist/packages/checkbox/checkbox.js +20 -19
  34. package/dist/packages/checkbox/checkbox.js.map +3 -3
  35. package/dist/packages/checkbox/styles.js +10 -9
  36. package/dist/packages/checkbox-group/checkbox-group.d.ts +7 -0
  37. package/dist/packages/checkbox-group/checkbox-group.hydration.test.d.ts +2 -0
  38. package/dist/packages/checkbox-group/checkbox-group.hydration.test.js +40 -0
  39. package/dist/packages/checkbox-group/checkbox-group.js +14 -14
  40. package/dist/packages/checkbox-group/checkbox-group.js.map +3 -3
  41. package/dist/packages/checkbox-group/checkbox-group.test.js +10 -0
  42. package/dist/packages/combobox/combobox.hydration.test.d.ts +1 -0
  43. package/dist/packages/combobox/combobox.hydration.test.js +43 -0
  44. package/dist/packages/combobox/combobox.react.stories.d.ts +1 -1
  45. package/dist/packages/datepicker/datepicker.hydration.test.d.ts +1 -0
  46. package/dist/packages/datepicker/datepicker.hydration.test.js +40 -0
  47. package/dist/packages/datepicker/datepicker.js +1 -1
  48. package/dist/packages/datepicker/datepicker.js.map +3 -3
  49. package/dist/packages/datepicker/datepicker.react.stories.d.ts +1 -1
  50. package/dist/packages/expandable/expandable.hydration.test.d.ts +1 -0
  51. package/dist/packages/expandable/expandable.hydration.test.js +47 -0
  52. package/dist/packages/expandable/expandable.js +3 -3
  53. package/dist/packages/expandable/expandable.js.map +3 -3
  54. package/dist/packages/icon/icon.hydration.test.d.ts +1 -0
  55. package/dist/packages/icon/icon.hydration.test.js +47 -0
  56. package/dist/packages/icon/icon.js +2 -2
  57. package/dist/packages/icon/icon.js.map +3 -3
  58. package/dist/packages/link/link.hydration.test.d.ts +1 -0
  59. package/dist/packages/link/link.hydration.test.js +54 -0
  60. package/dist/packages/modal/modal.hydration.test.d.ts +1 -0
  61. package/dist/packages/modal/modal.hydration.test.js +25 -0
  62. package/dist/packages/modal-header/modal-header.js +6 -6
  63. package/dist/packages/modal-header/modal-header.js.map +3 -3
  64. package/dist/packages/page-indicator/page-indicator.hydration.test.d.ts +1 -0
  65. package/dist/packages/page-indicator/page-indicator.hydration.test.js +41 -0
  66. package/dist/packages/pagination/locales/da/messages.mjs +1 -1
  67. package/dist/packages/pagination/locales/en/messages.mjs +1 -1
  68. package/dist/packages/pagination/locales/fi/messages.mjs +1 -1
  69. package/dist/packages/pagination/locales/nb/messages.mjs +1 -1
  70. package/dist/packages/pagination/locales/sv/messages.mjs +1 -1
  71. package/dist/packages/pagination/pagination.hydration.test.d.ts +1 -0
  72. package/dist/packages/pagination/pagination.hydration.test.js +38 -0
  73. package/dist/packages/pagination/pagination.js +13 -13
  74. package/dist/packages/pagination/pagination.js.map +3 -3
  75. package/dist/packages/pill/pill.hydration.test.d.ts +1 -0
  76. package/dist/packages/pill/pill.hydration.test.js +32 -0
  77. package/dist/packages/pill/pill.js +1 -1
  78. package/dist/packages/pill/pill.js.map +3 -3
  79. package/dist/packages/radio/radio.d.ts +33 -1
  80. package/dist/packages/radio/radio.hydration.test.d.ts +1 -0
  81. package/dist/packages/radio/radio.hydration.test.js +29 -0
  82. package/dist/packages/radio/radio.js +7 -7
  83. package/dist/packages/radio/radio.js.map +3 -3
  84. package/dist/packages/radio/radio.test.js +15 -8
  85. package/dist/packages/radio-group/locales/da/messages.mjs +1 -1
  86. package/dist/packages/radio-group/locales/en/messages.mjs +1 -1
  87. package/dist/packages/radio-group/locales/fi/messages.mjs +1 -1
  88. package/dist/packages/radio-group/locales/nb/messages.mjs +1 -1
  89. package/dist/packages/radio-group/locales/sv/messages.mjs +1 -1
  90. package/dist/packages/radio-group/radio-group.a11y.test.js +4 -0
  91. package/dist/packages/radio-group/radio-group.hydration.test.d.ts +2 -0
  92. package/dist/packages/radio-group/radio-group.hydration.test.js +32 -0
  93. package/dist/packages/radio-group/radio-group.js +17 -17
  94. package/dist/packages/radio-group/radio-group.js.map +3 -3
  95. package/dist/packages/select/select.hydration.test.d.ts +1 -0
  96. package/dist/packages/select/select.hydration.test.js +37 -0
  97. package/dist/packages/select/select.js +1 -1
  98. package/dist/packages/select/select.js.map +3 -3
  99. package/dist/packages/select/select.react.stories.d.ts +1 -1
  100. package/dist/packages/slider/slider.hydration.test.d.ts +1 -0
  101. package/dist/packages/slider/slider.hydration.test.js +33 -0
  102. package/dist/packages/slider/slider.js +9 -9
  103. package/dist/packages/slider/slider.js.map +3 -3
  104. package/dist/packages/slider/slider.test.js +13 -0
  105. package/dist/packages/slider-thumb/slider-thumb.hydration.test.d.ts +1 -0
  106. package/dist/packages/slider-thumb/slider-thumb.hydration.test.js +35 -0
  107. package/dist/packages/slider-thumb/slider-thumb.js +16 -16
  108. package/dist/packages/slider-thumb/slider-thumb.js.map +3 -3
  109. package/dist/packages/step/step.hydration.test.d.ts +1 -0
  110. package/dist/packages/step/step.hydration.test.js +25 -0
  111. package/dist/packages/step/step.js +1 -1
  112. package/dist/packages/step/step.js.map +3 -3
  113. package/dist/packages/step-indicator/step-indicator.hydration.test.d.ts +1 -0
  114. package/dist/packages/step-indicator/step-indicator.hydration.test.js +25 -0
  115. package/dist/packages/switch/switch.a11y.test.js +13 -3
  116. package/dist/packages/switch/switch.d.ts +6 -0
  117. package/dist/packages/switch/switch.hydration.test.d.ts +1 -0
  118. package/dist/packages/switch/switch.hydration.test.js +54 -0
  119. package/dist/packages/switch/switch.js +7 -13
  120. package/dist/packages/switch/switch.js.map +2 -2
  121. package/dist/packages/tab/tab.d.ts +37 -2
  122. package/dist/packages/tab/tab.hydration.test.d.ts +1 -0
  123. package/dist/packages/tab/tab.hydration.test.js +25 -0
  124. package/dist/packages/tab/tab.js +22 -12
  125. package/dist/packages/tab/tab.js.map +3 -3
  126. package/dist/packages/tab-panel/tab-panel.d.ts +21 -0
  127. package/dist/packages/tab-panel/tab-panel.hydration.test.d.ts +1 -0
  128. package/dist/packages/tab-panel/tab-panel.hydration.test.js +21 -0
  129. package/dist/packages/tab-panel/tab-panel.js +16 -5
  130. package/dist/packages/tab-panel/tab-panel.js.map +3 -3
  131. package/dist/packages/tabs/tabs.a11y.test.js +45 -3
  132. package/dist/packages/tabs/tabs.hydration.test.d.ts +1 -0
  133. package/dist/packages/tabs/tabs.hydration.test.js +20 -0
  134. package/dist/packages/tabs/tabs.js +6 -6
  135. package/dist/packages/tabs/tabs.js.map +3 -3
  136. package/dist/packages/tabs/tabs.test.js +52 -4
  137. package/dist/packages/textarea/textarea.hydration.test.d.ts +1 -0
  138. package/dist/packages/textarea/textarea.hydration.test.js +43 -0
  139. package/dist/packages/textarea/textarea.react.stories.d.ts +1 -1
  140. package/dist/packages/textfield/textfield.hydration.test.d.ts +1 -0
  141. package/dist/packages/textfield/textfield.hydration.test.js +43 -0
  142. package/dist/packages/textfield/textfield.react.stories.d.ts +1 -1
  143. package/dist/packages/toast/toast.js +4 -4
  144. package/dist/packages/toast/toast.js.map +3 -3
  145. package/dist/setup-tests.d.ts +2 -1
  146. package/dist/setup-tests.js +4 -3
  147. package/dist/tests/react-hydration.d.ts +20 -0
  148. package/dist/tests/react-hydration.js +138 -0
  149. package/dist/web-types.json +59 -21
  150. package/package.json +1 -1
@@ -3,7 +3,7 @@ import React from 'react';
3
3
  import { Textarea } from './react';
4
4
  declare const _default: {
5
5
  title: string;
6
- render(args: Omit<React.HTMLAttributes<import("./textarea").WarpTextarea>, "name" | "form" | "label" | "onblur" | "onchange" | "onfocus" | "oninput" | "onFocus" | "onBlur" | "onChange" | "onInput" | "render" | "renderOptions" | "connectedCallback" | "disconnectedCallback" | "renderRoot" | "isUpdatePending" | "hasUpdated" | "addController" | "removeController" | "attributeChangedCallback" | "requestUpdate" | "updateComplete" | "disabled" | "value" | "updated" | "firstUpdated" | "resetFormControl" | "validationTarget" | "internals" | "showError" | "validationMessage" | "validity" | "validationComplete" | "checkValidity" | "formResetCallback" | "valueChangedCallback" | "validityCallback" | "validationMessageCallback" | "setValue" | "shouldFormValueUpdate" | "invalid" | "required" | "reportValidity" | "optional" | "helpText" | "placeholder" | "readOnly" | "readonly" | "_helptextstyles" | "_helpId" | "_id" | "_error" | "handler" | "setCustomValidity" | "maxRows" | "minRows" | "minHeight" | "maxHeight" | "_textareaStyles"> & {
6
+ render(args: Omit<React.HTMLAttributes<import("./textarea").WarpTextarea>, "value" | "form" | "label" | "name" | "onblur" | "onchange" | "onfocus" | "oninput" | "onFocus" | "onBlur" | "onChange" | "onInput" | "render" | "renderOptions" | "connectedCallback" | "disconnectedCallback" | "renderRoot" | "isUpdatePending" | "hasUpdated" | "addController" | "removeController" | "attributeChangedCallback" | "requestUpdate" | "updateComplete" | "disabled" | "updated" | "firstUpdated" | "resetFormControl" | "validationTarget" | "internals" | "showError" | "validationMessage" | "validity" | "validationComplete" | "checkValidity" | "formResetCallback" | "valueChangedCallback" | "validityCallback" | "validationMessageCallback" | "setValue" | "shouldFormValueUpdate" | "invalid" | "required" | "reportValidity" | "optional" | "helpText" | "placeholder" | "readOnly" | "readonly" | "_helptextstyles" | "_helpId" | "_id" | "_error" | "handler" | "setCustomValidity" | "maxRows" | "minRows" | "minHeight" | "maxHeight" | "_textareaStyles"> & {
7
7
  onBlur?: (e: Event) => void;
8
8
  onblur?: (e: Event) => void;
9
9
  onChange?: (e: Event) => void;
@@ -0,0 +1 @@
1
+ import './textfield.js';
@@ -0,0 +1,43 @@
1
+ import { describe, expect, test, beforeEach, afterEach } from 'vitest';
2
+ import { setupHydrationWarningCapture, testHydration } from '../../tests/react-hydration';
3
+ import './textfield.js';
4
+ describe('w-textfield React SSR hydration', () => {
5
+ beforeEach(() => setupHydrationWarningCapture());
6
+ afterEach(() => {
7
+ window.__HYDRATION_WARNINGS__ = [];
8
+ });
9
+ test('default (no attributes) hydrates without warnings', async () => {
10
+ const warnings = await testHydration('w-textfield', {});
11
+ expect(warnings).toEqual([]);
12
+ });
13
+ test('with label hydrates without warnings', async () => {
14
+ const warnings = await testHydration('w-textfield', {
15
+ label: 'Email',
16
+ });
17
+ expect(warnings).toEqual([]);
18
+ });
19
+ test('with value hydrates without warnings', async () => {
20
+ const warnings = await testHydration('w-textfield', {
21
+ value: 'test@example.com',
22
+ });
23
+ expect(warnings).toEqual([]);
24
+ });
25
+ test('with disabled state hydrates without warnings', async () => {
26
+ const warnings = await testHydration('w-textfield', {
27
+ disabled: true,
28
+ });
29
+ expect(warnings).toEqual([]);
30
+ });
31
+ test('with invalid state hydrates without warnings', async () => {
32
+ const warnings = await testHydration('w-textfield', {
33
+ invalid: true,
34
+ });
35
+ expect(warnings).toEqual([]);
36
+ });
37
+ test('with help text hydrates without warnings', async () => {
38
+ const warnings = await testHydration('w-textfield', {
39
+ 'help-text': 'Enter your email address',
40
+ });
41
+ expect(warnings).toEqual([]);
42
+ });
43
+ });
@@ -3,7 +3,7 @@ import React from 'react';
3
3
  import { TextField } from './react';
4
4
  declare const _default: {
5
5
  title: string;
6
- render(args: Omit<React.HTMLAttributes<import("./textfield").WarpTextField>, "name" | "size" | "form" | "label" | "mask" | "pattern" | "onblur" | "onchange" | "onfocus" | "oninput" | "onFocus" | "onBlur" | "onChange" | "onInput" | "render" | "renderOptions" | "connectedCallback" | "disconnectedCallback" | "renderRoot" | "isUpdatePending" | "hasUpdated" | "addController" | "removeController" | "attributeChangedCallback" | "requestUpdate" | "updateComplete" | "disabled" | "type" | "value" | "updated" | "firstUpdated" | "resetFormControl" | "validationTarget" | "internals" | "showError" | "validationMessage" | "validity" | "validationComplete" | "checkValidity" | "formResetCallback" | "valueChangedCallback" | "validityCallback" | "validationMessageCallback" | "setValue" | "shouldFormValueUpdate" | "invalid" | "step" | "required" | "helpText" | "max" | "min" | "minLength" | "maxLength" | "placeholder" | "readOnly" | "readonly" | "autocomplete" | "formatter" | "_hasPrefix" | "_hasSuffix" | "_inputstyles" | "_helptextstyles" | "_label" | "_helpId" | "_id" | "_error" | "handler" | "prefixSlotChange" | "suffixSlotChange"> & {
6
+ render(args: Omit<React.HTMLAttributes<import("./textfield").WarpTextField>, "value" | "form" | "label" | "mask" | "pattern" | "name" | "size" | "onblur" | "onchange" | "onfocus" | "oninput" | "onFocus" | "onBlur" | "onChange" | "onInput" | "render" | "renderOptions" | "connectedCallback" | "disconnectedCallback" | "renderRoot" | "isUpdatePending" | "hasUpdated" | "addController" | "removeController" | "attributeChangedCallback" | "requestUpdate" | "updateComplete" | "disabled" | "type" | "updated" | "firstUpdated" | "resetFormControl" | "validationTarget" | "internals" | "showError" | "validationMessage" | "validity" | "validationComplete" | "checkValidity" | "formResetCallback" | "valueChangedCallback" | "validityCallback" | "validationMessageCallback" | "setValue" | "shouldFormValueUpdate" | "invalid" | "step" | "required" | "helpText" | "max" | "min" | "minLength" | "maxLength" | "placeholder" | "readOnly" | "readonly" | "autocomplete" | "formatter" | "_hasPrefix" | "_hasSuffix" | "_inputstyles" | "_helptextstyles" | "_label" | "_helpId" | "_id" | "_error" | "handler" | "prefixSlotChange" | "suffixSlotChange"> & {
7
7
  onBlur?: (e: Event) => void;
8
8
  onblur?: (e: Event) => void;
9
9
  onChange?: (e: Event) => void;
@@ -1,5 +1,5 @@
1
- var Fe=Object.create;var Y=Object.defineProperty;var K=Object.getOwnPropertyDescriptor;var De=Object.getOwnPropertyNames;var Ne=Object.getPrototypeOf,je=Object.prototype.hasOwnProperty;var Q=r=>{throw TypeError(r)};var W=(r,e)=>()=>(e||r((e={exports:{}}).exports,e),e.exports);var Ye=(r,e,o,t)=>{if(e&&typeof e=="object"||typeof e=="function")for(let a of De(e))!je.call(r,a)&&a!==o&&Y(r,a,{get:()=>e[a],enumerable:!(t=K(e,a))||t.enumerable});return r};var $e=(r,e,o)=>(o=r!=null?Fe(Ne(r)):{},Ye(e||!r||!r.__esModule?Y(o,"default",{value:r,enumerable:!0}):o,r));var u=(r,e,o,t)=>{for(var a=t>1?void 0:t?K(e,o):e,s=r.length-1,i;s>=0;s--)(i=r[s])&&(a=(t?i(e,o,a):i(a))||a);return t&&a&&Y(e,o,a),a};var Ae=(r,e,o)=>e.has(r)||Q("Cannot "+o);var $=(r,e,o)=>(Ae(r,e,"read from private field"),o?o.call(r):e.get(r)),ee=(r,e,o)=>e.has(r)?Q("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(r):e.set(r,o);var re=W(x=>{"use strict";Object.defineProperty(x,"__esModule",{value:!0});x.errorMessages=x.ErrorType=void 0;var k;(function(r){r.MalformedUnicode="MALFORMED_UNICODE",r.MalformedHexadecimal="MALFORMED_HEXADECIMAL",r.CodePointLimit="CODE_POINT_LIMIT",r.OctalDeprecation="OCTAL_DEPRECATION",r.EndOfString="END_OF_STRING"})(k=x.ErrorType||(x.ErrorType={}));x.errorMessages=new Map([[k.MalformedUnicode,"malformed Unicode character escape sequence"],[k.MalformedHexadecimal,"malformed hexadecimal character escape sequence"],[k.CodePointLimit,"Unicode codepoint must not be greater than 0x10FFFF in escape sequence"],[k.OctalDeprecation,'"0"-prefixed octal literals and octal escape sequences are deprecated; for octal literals use the "0o" prefix instead'],[k.EndOfString,"malformed escape sequence at end of string"]])});var ae=W(b=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});b.unraw=b.errorMessages=b.ErrorType=void 0;var l=re();Object.defineProperty(b,"ErrorType",{enumerable:!0,get:function(){return l.ErrorType}});Object.defineProperty(b,"errorMessages",{enumerable:!0,get:function(){return l.errorMessages}});function Ie(r){return!r.match(/[^a-f0-9]/i)?parseInt(r,16):NaN}function S(r,e,o){let t=Ie(r);if(Number.isNaN(t)||o!==void 0&&o!==r.length)throw new SyntaxError(l.errorMessages.get(e));return t}function Xe(r){let e=S(r,l.ErrorType.MalformedHexadecimal,2);return String.fromCharCode(e)}function oe(r,e){let o=S(r,l.ErrorType.MalformedUnicode,4);if(e!==void 0){let t=S(e,l.ErrorType.MalformedUnicode,4);return String.fromCharCode(o,t)}return String.fromCharCode(o)}function Re(r){return r.charAt(0)==="{"&&r.charAt(r.length-1)==="}"}function Ze(r){if(!Re(r))throw new SyntaxError(l.errorMessages.get(l.ErrorType.MalformedUnicode));let e=r.slice(1,-1),o=S(e,l.ErrorType.MalformedUnicode);try{return String.fromCodePoint(o)}catch(t){throw t instanceof RangeError?new SyntaxError(l.errorMessages.get(l.ErrorType.CodePointLimit)):t}}function He(r,e=!1){if(e)throw new SyntaxError(l.errorMessages.get(l.ErrorType.OctalDeprecation));let o=parseInt(r,8);return String.fromCharCode(o)}var Ue=new Map([["b","\b"],["f","\f"],["n",`
2
- `],["r","\r"],["t"," "],["v","\v"],["0","\0"]]);function qe(r){return Ue.get(r)||r}var Ve=/\\(?:(\\)|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;function te(r,e=!1){return r.replace(Ve,function(o,t,a,s,i,n,c,p,w){if(t!==void 0)return"\\";if(a!==void 0)return Xe(a);if(s!==void 0)return Ze(s);if(i!==void 0)return oe(i,n);if(c!==void 0)return oe(c);if(p==="0")return"\0";if(p!==void 0)return He(p,!e);if(w!==void 0)return qe(w);throw new SyntaxError(l.errorMessages.get(l.ErrorType.EndOfString))})}b.unraw=te;b.default=te});var L=function(){for(var r=[],e=arguments.length;e--;)r[e]=arguments[e];return r.reduce(function(o,t){return o.concat(typeof t=="string"?t:Array.isArray(t)?L.apply(void 0,t):typeof t=="object"&&t?Object.keys(t).map(function(a){return t[a]?a:""}):"")},[]).join(" ")};var se=$e(ae(),1);var h=r=>typeof r=="string",Ge=r=>typeof r=="function",ne=new Map,ce="en";function R(r){return[...Array.isArray(r)?r:[r],ce]}function Z(r,e,o){let t=R(r);o||(o="default");let a;if(typeof o=="string")switch(a={day:"numeric",month:"short",year:"numeric"},o){case"full":a.weekday="long";case"long":a.month="long";break;case"short":a.month="numeric";break}else a=o;return T(()=>O("date",t,o),()=>new Intl.DateTimeFormat(t,a)).format(h(e)?new Date(e):e)}function Je(r,e,o){let t;if(o||(o="default"),typeof o=="string")switch(t={second:"numeric",minute:"numeric",hour:"numeric"},o){case"full":case"long":t.timeZoneName="short";break;case"short":delete t.second}else t=o;return Z(r,e,t)}function A(r,e,o){let t=R(r);return T(()=>O("number",t,o),()=>new Intl.NumberFormat(t,o)).format(e)}function ie(r,e,o,{offset:t=0,...a}){var n,c;let s=R(r),i=e?T(()=>O("plural-ordinal",s),()=>new Intl.PluralRules(s,{type:"ordinal"})):T(()=>O("plural-cardinal",s),()=>new Intl.PluralRules(s,{type:"cardinal"}));return(c=(n=a[o])!=null?n:a[i.select(o-t)])!=null?c:a.other}function T(r,e){let o=r(),t=ne.get(o);return t||(t=e(),ne.set(o,t)),t}function O(r,e,o){let t=e.join("-");return`${r}-${t}-${JSON.stringify(o)}`}var le=/\\u[a-fA-F0-9]{4}|\\x[a-fA-F0-9]{2}/,de="%__lingui_octothorpe__%",Be=(r,e,o={})=>{let t=e||r,a=i=>typeof i=="object"?i:o[i],s=(i,n)=>{let c=Object.keys(o).length?a("number"):void 0,p=A(t,i,c);return n.replace(new RegExp(de,"g"),p)};return{plural:(i,n)=>{let{offset:c=0}=n,p=ie(t,!1,i,n);return s(i-c,p)},selectordinal:(i,n)=>{let{offset:c=0}=n,p=ie(t,!0,i,n);return s(i-c,p)},select:Ke,number:(i,n)=>A(t,i,a(n)||{style:n}),date:(i,n)=>Z(t,i,a(n)||n),time:(i,n)=>Je(t,i,a(n)||n)}},Ke=(r,e)=>{var o;return(o=e[r])!=null?o:e.other};function Qe(r,e,o){return(t={},a)=>{let s=Be(e,o,a),i=(c,p=!1)=>Array.isArray(c)?c.reduce((w,M)=>{if(M==="#"&&p)return w+de;if(h(M))return w+M;let[J,f,B]=M,N={};f==="plural"||f==="selectordinal"||f==="select"?Object.entries(B).forEach(([j,Pe])=>{N[j]=i(Pe,f==="plural"||f==="selectordinal")}):N=B;let C;if(f){let j=s[f];C=j(t[J],N)}else C=t[J];return C==null?w:w+C},""):c,n=i(r);return h(n)&&le.test(n)?(0,se.unraw)(n):h(n)?n:n?String(n):""}}var We=Object.defineProperty,er=(r,e,o)=>e in r?We(r,e,{enumerable:!0,configurable:!0,writable:!0,value:o}):r[e]=o,rr=(r,e,o)=>(er(r,typeof e!="symbol"?e+"":e,o),o),I=class{constructor(){rr(this,"_events",{})}on(e,o){var a;var t;return(a=(t=this._events)[e])!=null||(t[e]=[]),this._events[e].push(o),()=>this.removeListener(e,o)}removeListener(e,o){let t=this._getListeners(e);if(!t)return;let a=t.indexOf(o);~a&&t.splice(a,1)}emit(e,...o){let t=this._getListeners(e);t&&t.map(a=>a.apply(this,o))}_getListeners(e){let o=this._events[e];return Array.isArray(o)?o:!1}},or=Object.defineProperty,tr=(r,e,o)=>e in r?or(r,e,{enumerable:!0,configurable:!0,writable:!0,value:o}):r[e]=o,y=(r,e,o)=>(tr(r,typeof e!="symbol"?e+"":e,o),o),X=class extends I{constructor(e){var o;super(),y(this,"_locale",""),y(this,"_locales"),y(this,"_localeData",{}),y(this,"_messages",{}),y(this,"_missing"),y(this,"_messageCompiler"),y(this,"t",this._.bind(this)),e.missing!=null&&(this._missing=e.missing),e.messages!=null&&this.load(e.messages),e.localeData!=null&&this.loadLocaleData(e.localeData),(typeof e.locale=="string"||e.locales)&&this.activate((o=e.locale)!=null?o:ce,e.locales)}get locale(){return this._locale}get locales(){return this._locales}get messages(){var e;return(e=this._messages[this._locale])!=null?e:{}}get localeData(){var e;return(e=this._localeData[this._locale])!=null?e:{}}_loadLocaleData(e,o){let t=this._localeData[e];t?Object.assign(t,o):this._localeData[e]=o}setMessagesCompiler(e){return this._messageCompiler=e,this}loadLocaleData(e,o){typeof e=="string"?this._loadLocaleData(e,o):Object.keys(e).forEach(t=>this._loadLocaleData(t,e[t])),this.emit("change")}_load(e,o){let t=this._messages[e];t?Object.assign(t,o):this._messages[e]=o}load(e,o){typeof e=="string"&&typeof o=="object"?this._load(e,o):Object.entries(e).forEach(([t,a])=>this._load(t,a)),this.emit("change")}loadAndActivate({locale:e,locales:o,messages:t}){this._locale=e,this._locales=o||void 0,this._messages[this._locale]=t,this.emit("change")}activate(e,o){this._locale=e,this._locales=o,this.emit("change")}_(e,o,t){if(!this.locale)throw new Error("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.");let a=t==null?void 0:t.message;e||(e=""),h(e)||(o=e.values||o,a=e.message,e=e.id);let s=this.messages[e],i=s===void 0,n=this._missing;if(n&&i)return Ge(n)?n(this._locale,e):n;i&&this.emit("missing",{id:e,locale:this._locale});let c=s||a||e;return h(c)&&(this._messageCompiler?c=this._messageCompiler(c):console.warn(`Uncompiled message detected! Message:
1
+ var Fe=Object.create;var Y=Object.defineProperty;var K=Object.getOwnPropertyDescriptor;var De=Object.getOwnPropertyNames;var Ne=Object.getPrototypeOf,je=Object.prototype.hasOwnProperty;var Q=r=>{throw TypeError(r)};var W=(r,e)=>()=>(e||r((e={exports:{}}).exports,e),e.exports);var Ye=(r,e,o,t)=>{if(e&&typeof e=="object"||typeof e=="function")for(let a of De(e))!je.call(r,a)&&a!==o&&Y(r,a,{get:()=>e[a],enumerable:!(t=K(e,a))||t.enumerable});return r};var $e=(r,e,o)=>(o=r!=null?Fe(Ne(r)):{},Ye(e||!r||!r.__esModule?Y(o,"default",{value:r,enumerable:!0}):o,r));var u=(r,e,o,t)=>{for(var a=t>1?void 0:t?K(e,o):e,n=r.length-1,s;n>=0;n--)(s=r[n])&&(a=(t?s(e,o,a):s(a))||a);return t&&a&&Y(e,o,a),a};var Ae=(r,e,o)=>e.has(r)||Q("Cannot "+o);var $=(r,e,o)=>(Ae(r,e,"read from private field"),o?o.call(r):e.get(r)),ee=(r,e,o)=>e.has(r)?Q("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(r):e.set(r,o);var re=W(x=>{"use strict";Object.defineProperty(x,"__esModule",{value:!0});x.errorMessages=x.ErrorType=void 0;var k;(function(r){r.MalformedUnicode="MALFORMED_UNICODE",r.MalformedHexadecimal="MALFORMED_HEXADECIMAL",r.CodePointLimit="CODE_POINT_LIMIT",r.OctalDeprecation="OCTAL_DEPRECATION",r.EndOfString="END_OF_STRING"})(k=x.ErrorType||(x.ErrorType={}));x.errorMessages=new Map([[k.MalformedUnicode,"malformed Unicode character escape sequence"],[k.MalformedHexadecimal,"malformed hexadecimal character escape sequence"],[k.CodePointLimit,"Unicode codepoint must not be greater than 0x10FFFF in escape sequence"],[k.OctalDeprecation,'"0"-prefixed octal literals and octal escape sequences are deprecated; for octal literals use the "0o" prefix instead'],[k.EndOfString,"malformed escape sequence at end of string"]])});var ae=W(b=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});b.unraw=b.errorMessages=b.ErrorType=void 0;var l=re();Object.defineProperty(b,"ErrorType",{enumerable:!0,get:function(){return l.ErrorType}});Object.defineProperty(b,"errorMessages",{enumerable:!0,get:function(){return l.errorMessages}});function Ie(r){return!r.match(/[^a-f0-9]/i)?parseInt(r,16):NaN}function S(r,e,o){let t=Ie(r);if(Number.isNaN(t)||o!==void 0&&o!==r.length)throw new SyntaxError(l.errorMessages.get(e));return t}function Xe(r){let e=S(r,l.ErrorType.MalformedHexadecimal,2);return String.fromCharCode(e)}function oe(r,e){let o=S(r,l.ErrorType.MalformedUnicode,4);if(e!==void 0){let t=S(e,l.ErrorType.MalformedUnicode,4);return String.fromCharCode(o,t)}return String.fromCharCode(o)}function Re(r){return r.charAt(0)==="{"&&r.charAt(r.length-1)==="}"}function Ze(r){if(!Re(r))throw new SyntaxError(l.errorMessages.get(l.ErrorType.MalformedUnicode));let e=r.slice(1,-1),o=S(e,l.ErrorType.MalformedUnicode);try{return String.fromCodePoint(o)}catch(t){throw t instanceof RangeError?new SyntaxError(l.errorMessages.get(l.ErrorType.CodePointLimit)):t}}function He(r,e=!1){if(e)throw new SyntaxError(l.errorMessages.get(l.ErrorType.OctalDeprecation));let o=parseInt(r,8);return String.fromCharCode(o)}var Ue=new Map([["b","\b"],["f","\f"],["n",`
2
+ `],["r","\r"],["t"," "],["v","\v"],["0","\0"]]);function qe(r){return Ue.get(r)||r}var Ve=/\\(?:(\\)|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;function te(r,e=!1){return r.replace(Ve,function(o,t,a,n,s,i,c,p,w){if(t!==void 0)return"\\";if(a!==void 0)return Xe(a);if(n!==void 0)return Ze(n);if(s!==void 0)return oe(s,i);if(c!==void 0)return oe(c);if(p==="0")return"\0";if(p!==void 0)return He(p,!e);if(w!==void 0)return qe(w);throw new SyntaxError(l.errorMessages.get(l.ErrorType.EndOfString))})}b.unraw=te;b.default=te});var L=function(){for(var r=[],e=arguments.length;e--;)r[e]=arguments[e];return r.reduce(function(o,t){return o.concat(typeof t=="string"?t:Array.isArray(t)?L.apply(void 0,t):typeof t=="object"&&t?Object.keys(t).map(function(a){return t[a]?a:""}):"")},[]).join(" ")};var se=$e(ae(),1);var h=r=>typeof r=="string",Ge=r=>typeof r=="function",ne=new Map,ce="en";function R(r){return[...Array.isArray(r)?r:[r],ce]}function Z(r,e,o){let t=R(r);o||(o="default");let a;if(typeof o=="string")switch(a={day:"numeric",month:"short",year:"numeric"},o){case"full":a.weekday="long";case"long":a.month="long";break;case"short":a.month="numeric";break}else a=o;return T(()=>O("date",t,o),()=>new Intl.DateTimeFormat(t,a)).format(h(e)?new Date(e):e)}function Je(r,e,o){let t;if(o||(o="default"),typeof o=="string")switch(t={second:"numeric",minute:"numeric",hour:"numeric"},o){case"full":case"long":t.timeZoneName="short";break;case"short":delete t.second}else t=o;return Z(r,e,t)}function A(r,e,o){let t=R(r);return T(()=>O("number",t,o),()=>new Intl.NumberFormat(t,o)).format(e)}function ie(r,e,o,{offset:t=0,...a}){var i,c;let n=R(r),s=e?T(()=>O("plural-ordinal",n),()=>new Intl.PluralRules(n,{type:"ordinal"})):T(()=>O("plural-cardinal",n),()=>new Intl.PluralRules(n,{type:"cardinal"}));return(c=(i=a[o])!=null?i:a[s.select(o-t)])!=null?c:a.other}function T(r,e){let o=r(),t=ne.get(o);return t||(t=e(),ne.set(o,t)),t}function O(r,e,o){let t=e.join("-");return`${r}-${t}-${JSON.stringify(o)}`}var le=/\\u[a-fA-F0-9]{4}|\\x[a-fA-F0-9]{2}/,de="%__lingui_octothorpe__%",Be=(r,e,o={})=>{let t=e||r,a=s=>typeof s=="object"?s:o[s],n=(s,i)=>{let c=Object.keys(o).length?a("number"):void 0,p=A(t,s,c);return i.replace(new RegExp(de,"g"),p)};return{plural:(s,i)=>{let{offset:c=0}=i,p=ie(t,!1,s,i);return n(s-c,p)},selectordinal:(s,i)=>{let{offset:c=0}=i,p=ie(t,!0,s,i);return n(s-c,p)},select:Ke,number:(s,i)=>A(t,s,a(i)||{style:i}),date:(s,i)=>Z(t,s,a(i)||i),time:(s,i)=>Je(t,s,a(i)||i)}},Ke=(r,e)=>{var o;return(o=e[r])!=null?o:e.other};function Qe(r,e,o){return(t={},a)=>{let n=Be(e,o,a),s=(c,p=!1)=>Array.isArray(c)?c.reduce((w,M)=>{if(M==="#"&&p)return w+de;if(h(M))return w+M;let[J,f,B]=M,N={};f==="plural"||f==="selectordinal"||f==="select"?Object.entries(B).forEach(([j,Pe])=>{N[j]=s(Pe,f==="plural"||f==="selectordinal")}):N=B;let C;if(f){let j=n[f];C=j(t[J],N)}else C=t[J];return C==null?w:w+C},""):c,i=s(r);return h(i)&&le.test(i)?(0,se.unraw)(i):h(i)?i:i?String(i):""}}var We=Object.defineProperty,er=(r,e,o)=>e in r?We(r,e,{enumerable:!0,configurable:!0,writable:!0,value:o}):r[e]=o,rr=(r,e,o)=>(er(r,typeof e!="symbol"?e+"":e,o),o),I=class{constructor(){rr(this,"_events",{})}on(e,o){var a;var t;return(a=(t=this._events)[e])!=null||(t[e]=[]),this._events[e].push(o),()=>this.removeListener(e,o)}removeListener(e,o){let t=this._getListeners(e);if(!t)return;let a=t.indexOf(o);~a&&t.splice(a,1)}emit(e,...o){let t=this._getListeners(e);t&&t.map(a=>a.apply(this,o))}_getListeners(e){let o=this._events[e];return Array.isArray(o)?o:!1}},or=Object.defineProperty,tr=(r,e,o)=>e in r?or(r,e,{enumerable:!0,configurable:!0,writable:!0,value:o}):r[e]=o,y=(r,e,o)=>(tr(r,typeof e!="symbol"?e+"":e,o),o),X=class extends I{constructor(e){var o;super(),y(this,"_locale",""),y(this,"_locales"),y(this,"_localeData",{}),y(this,"_messages",{}),y(this,"_missing"),y(this,"_messageCompiler"),y(this,"t",this._.bind(this)),e.missing!=null&&(this._missing=e.missing),e.messages!=null&&this.load(e.messages),e.localeData!=null&&this.loadLocaleData(e.localeData),(typeof e.locale=="string"||e.locales)&&this.activate((o=e.locale)!=null?o:ce,e.locales)}get locale(){return this._locale}get locales(){return this._locales}get messages(){var e;return(e=this._messages[this._locale])!=null?e:{}}get localeData(){var e;return(e=this._localeData[this._locale])!=null?e:{}}_loadLocaleData(e,o){let t=this._localeData[e];t?Object.assign(t,o):this._localeData[e]=o}setMessagesCompiler(e){return this._messageCompiler=e,this}loadLocaleData(e,o){typeof e=="string"?this._loadLocaleData(e,o):Object.keys(e).forEach(t=>this._loadLocaleData(t,e[t])),this.emit("change")}_load(e,o){let t=this._messages[e];t?Object.assign(t,o):this._messages[e]=o}load(e,o){typeof e=="string"&&typeof o=="object"?this._load(e,o):Object.entries(e).forEach(([t,a])=>this._load(t,a)),this.emit("change")}loadAndActivate({locale:e,locales:o,messages:t}){this._locale=e,this._locales=o||void 0,this._messages[this._locale]=t,this.emit("change")}activate(e,o){this._locale=e,this._locales=o,this.emit("change")}_(e,o,t){if(!this.locale)throw new Error("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.");let a=t==null?void 0:t.message;e||(e=""),h(e)||(o=e.values||o,a=e.message,e=e.id);let n=this.messages[e],s=n===void 0,i=this._missing;if(i&&s)return Ge(i)?i(this._locale,e):i;s&&this.emit("missing",{id:e,locale:this._locale});let c=n||a||e;return h(c)&&(this._messageCompiler?c=this._messageCompiler(c):console.warn(`Uncompiled message detected! Message:
3
3
 
4
4
  > ${c}
5
5
 
@@ -7,7 +7,7 @@ That means you use raw catalog or your catalog doesn't have a translation for th
7
7
  ICU features such as interpolation and plurals will not work properly for that message.
8
8
 
9
9
  Please compile your catalog first.
10
- `)),h(c)&&le.test(c)?JSON.parse(`"${c}"`):h(c)?c:Qe(c,this._locale,this._locales)(o,t==null?void 0:t.formats)}date(e,o){return Z(this._locales||this._locale,e,o)}number(e,o){return A(this._locales||this._locale,e,o)}};function ar(r={}){return new X(r)}var d=ar();var H=typeof window!="undefined",pe=!0;if(H){let r=window.matchMedia("(prefers-reduced-motion: reduce)"),e=({matches:o})=>pe=!o;r.addEventListener&&r.addEventListener("change",e),e(r)}var ue=r=>{r.style.transition=null,r.style.backfaceVisibility=null,r.style.overflow=null},ge=r=>{let e=pe?"var(--f-expansion-duration, 0.3s)":"0.01s";r.style.transition=`height ${e}`,r.style.backfaceVisibility="hidden",r.style.overflow="hidden"},nr=(r,e)=>()=>{r.style.height="auto",r.style.overflow=null,e&&e()},ir=r=>()=>{r&&r()},be=(r,e)=>{let o=(()=>{if(!e)return new Promise(s=>{e=s})})(),t=nr(r,e);ue(r),r.style.height="auto";let a=r.scrollHeight;if(H&&requestAnimationFrame(()=>{r.addEventListener("transitionend",t,{once:!0}),r.style.height="0px",r.style.transitionTimingFunction="ease-out",ge(r),requestAnimationFrame(()=>r.style.height=a+"px")}),o)return o},me=(r,e)=>{let o=(()=>{if(!e)return new Promise(s=>{e=s})})(),t=ir(e);ue(r);let a=r.scrollHeight;if(H&&requestAnimationFrame(()=>{r.addEventListener("transitionend",t,{once:!0}),r.style.height=a+"px",r.style.transitionTimingFunction="ease-in",ge(r),requestAnimationFrame(()=>r.style.height="0px")}),o)return o};import{css as _r,html as _,LitElement as zr}from"lit";import{property as D,state as Er}from"lit/decorators.js";import{when as Mr}from"lit/directives/when.js";import{html as cr,LitElement as lr}from"lit";import{property as U,state as dr}from"lit/decorators.js";import{classMap as pr}from"lit/directives/class-map.js";import{css as sr}from"lit";var he=sr`
10
+ `)),h(c)&&le.test(c)?JSON.parse(`"${c}"`):h(c)?c:Qe(c,this._locale,this._locales)(o,t==null?void 0:t.formats)}date(e,o){return Z(this._locales||this._locale,e,o)}number(e,o){return A(this._locales||this._locale,e,o)}};function ar(r={}){return new X(r)}var d=ar();var H=typeof window!="undefined",pe=!0;if(H){let r=window.matchMedia("(prefers-reduced-motion: reduce)"),e=({matches:o})=>pe=!o;r.addEventListener&&r.addEventListener("change",e),e(r)}var ue=r=>{r.style.transition=null,r.style.backfaceVisibility=null,r.style.overflow=null},ge=r=>{let e=pe?"var(--f-expansion-duration, 0.3s)":"0.01s";r.style.transition=`height ${e}`,r.style.backfaceVisibility="hidden",r.style.overflow="hidden"},nr=(r,e)=>()=>{r.style.height="auto",r.style.overflow=null,e&&e()},ir=r=>()=>{r&&r()},be=(r,e)=>{let o=(()=>{if(!e)return new Promise(n=>{e=n})})(),t=nr(r,e);ue(r),r.style.height="auto";let a=r.scrollHeight;if(H&&requestAnimationFrame(()=>{r.addEventListener("transitionend",t,{once:!0}),r.style.height="0px",r.style.transitionTimingFunction="ease-out",ge(r),requestAnimationFrame(()=>r.style.height=a+"px")}),o)return o},me=(r,e)=>{let o=(()=>{if(!e)return new Promise(n=>{e=n})})(),t=ir(e);ue(r);let a=r.scrollHeight;if(H&&requestAnimationFrame(()=>{r.addEventListener("transitionend",t,{once:!0}),r.style.height=a+"px",r.style.transitionTimingFunction="ease-in",ge(r),requestAnimationFrame(()=>r.style.height="0px")}),o)return o};import{css as _r,html as _,LitElement as zr}from"lit";import{property as D,state as Er}from"lit/decorators.js";import{when as Mr}from"lit/directives/when.js";import{html as cr,LitElement as lr}from"lit";import{property as U,state as dr}from"lit/decorators.js";import{classMap as pr}from"lit/directives/class-map.js";import{css as sr}from"lit";var he=sr`
11
11
  :host {
12
12
  display: inline-block;
13
13
  }
@@ -32,7 +32,7 @@ Please compile your catalog first.
32
32
  --w-icon-size: 32px;
33
33
  }
34
34
 
35
- `;var q=new Map,ur='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32"></svg>';function gr(r,e={}){var t;let o=(t=e.responseParser)!=null?t:(a=>a.text());return q.has(r)||q.set(r,fetch(r).then(o)),q.get(r)}var v=class extends lr{constructor(){super(...arguments);this.name="";this.svg=null}async fetchIcon(o){let a=`https://assets.finn.no/pkg/eikons/v1/${this.locale||"en"}/${o}.svg`;try{let s=await gr(a);return new DOMParser().parseFromString(s,"text/html").body.querySelector("svg")}catch(s){return null}}firstUpdated(){this.loadIcon()}updated(o){(o.has("name")||o.has("locale"))&&this.loadIcon()}async loadIcon(){if(!this.name){this.svg=null;return}let o=await this.fetchIcon(this.name);o||(o=new DOMParser().parseFromString(ur,"text/html").body.firstElementChild),this.svg=o}render(){let o=this.size||"medium",t={"w-icon":!0,"w-icon--s":o==="small","w-icon--m":o==="medium","w-icon--l":o==="large"},a=typeof o=="string"&&o.endsWith("px")?`--w-icon-size: ${o};`:"";return cr`<div class="${pr(t)}" style="${a}" part="w-${this.name.toLowerCase()}">${this.svg}</div>`}};v.styles=[he],u([U({type:String,reflect:!0})],v.prototype,"name",2),u([U({type:String,reflect:!0})],v.prototype,"size",2),u([U({type:String,reflect:!0})],v.prototype,"locale",2),u([dr()],v.prototype,"svg",2);customElements.get("w-icon")||customElements.define("w-icon",v);var br=["en","nb","fi","da","sv"],V="en",P=r=>br.find(e=>r===e||r.toLowerCase().includes(e))||V;function E(){if(typeof window=="undefined"){let r=process.env.NMP_LANGUAGE||Intl.DateTimeFormat().resolvedOptions().locale;return P(r)}try{let r=we(document);if(r)return P(r);let e=wr();if(e)return P(e);let o=we(ye());return o?P(o):V}catch(r){return console.warn("could not detect locale, falling back to source locale",r),V}}var fe=(r,e,o,t,a)=>{d.load("en",r),d.load("nb",e),d.load("fi",o),d.load("da",t),d.load("sv",a);let s=E();d.activate(s),xe(),hr()},mr="warp-i18n-change";function xe(){typeof window!="undefined"&&window.dispatchEvent(new Event(mr))}var ve=!1;function hr(){if(ve||typeof window=="undefined"||!(document!=null&&document.documentElement))return;ve=!0;let r=()=>{let a=E();d.locale!==a&&(d.activate(a),xe())},e=new MutationObserver(a=>{for(let s of a)if(s.type==="attributes"&&s.attributeName==="lang"){r();break}});e.observe(document.documentElement,{attributes:!0,attributeFilter:["lang"]});let o=ye();o&&o.documentElement&&o!==document&&e.observe(o.documentElement,{attributes:!0,attributeFilter:["lang"]});let t=vr();t&&e.observe(t,{attributes:!0,attributeFilter:["lang"]})}function ye(){var r,e;try{return(e=(r=window.parent)==null?void 0:r.document)!=null?e:null}catch(o){return null}}function we(r){var e,o;try{return(o=(e=r==null?void 0:r.documentElement)==null?void 0:e.lang)!=null?o:""}catch(t){return""}}function vr(){var r;try{return(r=window.frameElement)!=null?r:null}catch(e){return null}}function wr(){var r,e,o;try{return(o=(e=(r=window.frameElement)==null?void 0:r.getAttribute)==null?void 0:e.call(r,"lang"))!=null?o:""}catch(t){return""}}import{css as ke}from"lit";var _e=ke`
35
+ `;var q=new Map,ur='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32"></svg>';function gr(r,e={}){var t;let o=(t=e.responseParser)!=null?t:(a=>a.text());return q.has(r)||q.set(r,fetch(r).then(o)),q.get(r)}var v=class extends lr{constructor(){super(...arguments);this.svg=null}async fetchIcon(o){let a=`https://assets.finn.no/pkg/eikons/v1/${this.locale||"en"}/${o}.svg`;try{let n=await gr(a);return new DOMParser().parseFromString(n,"text/html").body.querySelector("svg")}catch(n){return null}}firstUpdated(){this.loadIcon()}updated(o){(o.has("name")||o.has("locale"))&&this.loadIcon()}async loadIcon(){if(!this.name){this.svg=null;return}let o=await this.fetchIcon(this.name);o||(o=new DOMParser().parseFromString(ur,"text/html").body.firstElementChild),this.svg=o}render(){let o=this.size||"medium",t=this.name||"",a={"w-icon":!0,"w-icon--s":o==="small","w-icon--m":o==="medium","w-icon--l":o==="large"},n=typeof o=="string"&&o.endsWith("px")?`--w-icon-size: ${o};`:"";return cr`<div class="${pr(a)}" style="${n}" part="w-${t.toLowerCase()}">${this.svg}</div>`}};v.styles=[he],u([U({type:String,reflect:!0})],v.prototype,"name",2),u([U({type:String,reflect:!0})],v.prototype,"size",2),u([U({type:String,reflect:!0})],v.prototype,"locale",2),u([dr()],v.prototype,"svg",2);customElements.get("w-icon")||customElements.define("w-icon",v);var br=["en","nb","fi","da","sv"],V="en",P=r=>br.find(e=>r===e||r.toLowerCase().includes(e))||V;function E(){if(typeof window=="undefined"){let r=process.env.NMP_LANGUAGE||Intl.DateTimeFormat().resolvedOptions().locale;return P(r)}try{let r=we(document);if(r)return P(r);let e=wr();if(e)return P(e);let o=we(ye());return o?P(o):V}catch(r){return console.warn("could not detect locale, falling back to source locale",r),V}}var fe=(r,e,o,t,a)=>{d.load("en",r),d.load("nb",e),d.load("fi",o),d.load("da",t),d.load("sv",a);let n=E();d.activate(n),xe(),hr()},mr="warp-i18n-change";function xe(){typeof window!="undefined"&&window.dispatchEvent(new Event(mr))}var ve=!1;function hr(){if(ve||typeof window=="undefined"||!(document!=null&&document.documentElement))return;ve=!0;let r=()=>{let a=E();d.locale!==a&&(d.activate(a),xe())},e=new MutationObserver(a=>{for(let n of a)if(n.type==="attributes"&&n.attributeName==="lang"){r();break}});e.observe(document.documentElement,{attributes:!0,attributeFilter:["lang"]});let o=ye();o&&o.documentElement&&o!==document&&e.observe(o.documentElement,{attributes:!0,attributeFilter:["lang"]});let t=vr();t&&e.observe(t,{attributes:!0,attributeFilter:["lang"]})}function ye(){var r,e;try{return(e=(r=window.parent)==null?void 0:r.document)!=null?e:null}catch(o){return null}}function we(r){var e,o;try{return(o=(e=r==null?void 0:r.documentElement)==null?void 0:e.lang)!=null?o:""}catch(t){return""}}function vr(){var r;try{return(r=window.frameElement)!=null?r:null}catch(e){return null}}function wr(){var r,e,o;try{return(o=(e=(r=window.frameElement)==null?void 0:r.getAttribute)==null?void 0:e.call(r,"lang"))!=null?o:""}catch(t){return""}}import{css as ke}from"lit";var _e=ke`
36
36
  *,
37
37
  :before,
38
38
  :after {