@warp-ds/elements 2.10.0-next.20 → 2.10.0-next.22

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 (56) hide show
  1. package/dist/custom-elements.json +38 -0
  2. package/dist/docs/slider/api.md +16 -0
  3. package/dist/docs/slider/slider.md +16 -0
  4. package/dist/index.d.ts +8 -0
  5. package/dist/packages/checkbox-group/checkbox-group.js +6 -6
  6. package/dist/packages/checkbox-group/checkbox-group.js.map +2 -2
  7. package/dist/packages/checkbox-group/checkbox-group.test.js +93 -6
  8. package/dist/packages/combobox/combobox.test.js +101 -0
  9. package/dist/packages/radio-group/radio-group.js +1 -1
  10. package/dist/packages/radio-group/radio-group.js.map +2 -2
  11. package/dist/packages/radio-group/radio-group.test.js +78 -9
  12. package/dist/packages/select/locales/da/messages.mjs +1 -1
  13. package/dist/packages/select/locales/en/messages.mjs +1 -1
  14. package/dist/packages/select/locales/fi/messages.mjs +1 -1
  15. package/dist/packages/select/locales/nb/messages.mjs +1 -1
  16. package/dist/packages/select/locales/sv/messages.mjs +1 -1
  17. package/dist/packages/select/select.js +5 -5
  18. package/dist/packages/select/select.js.map +2 -2
  19. package/dist/packages/select/select.test.js +52 -0
  20. package/dist/packages/slider/locales/da/messages.mjs +1 -1
  21. package/dist/packages/slider/locales/en/messages.mjs +1 -1
  22. package/dist/packages/slider/locales/fi/messages.mjs +1 -1
  23. package/dist/packages/slider/locales/nb/messages.mjs +1 -1
  24. package/dist/packages/slider/locales/sv/messages.mjs +1 -1
  25. package/dist/packages/slider/react.d.ts +1 -1
  26. package/dist/packages/slider/slider.d.ts +8 -0
  27. package/dist/packages/slider/slider.js +52 -13
  28. package/dist/packages/slider/slider.js.map +3 -3
  29. package/dist/packages/slider/slider.react.stories.d.ts +1 -1
  30. package/dist/packages/slider/slider.stories.d.ts +2 -0
  31. package/dist/packages/slider/slider.stories.js +36 -0
  32. package/dist/packages/slider/slider.test.js +107 -0
  33. package/dist/packages/step/step.js +6 -6
  34. package/dist/packages/step/step.js.map +4 -4
  35. package/dist/packages/step/styles.d.ts +1 -0
  36. package/dist/packages/step/styles.js +2 -0
  37. package/dist/packages/textarea/locales/da/messages.mjs +1 -1
  38. package/dist/packages/textarea/locales/en/messages.mjs +1 -1
  39. package/dist/packages/textarea/locales/fi/messages.mjs +1 -1
  40. package/dist/packages/textarea/locales/nb/messages.mjs +1 -1
  41. package/dist/packages/textarea/locales/sv/messages.mjs +1 -1
  42. package/dist/packages/textarea/textarea.d.ts +1 -0
  43. package/dist/packages/textarea/textarea.js +20 -20
  44. package/dist/packages/textarea/textarea.js.map +4 -4
  45. package/dist/packages/textarea/textarea.test.js +73 -0
  46. package/dist/packages/textfield/locales/da/messages.mjs +1 -1
  47. package/dist/packages/textfield/locales/en/messages.mjs +1 -1
  48. package/dist/packages/textfield/locales/fi/messages.mjs +1 -1
  49. package/dist/packages/textfield/locales/nb/messages.mjs +1 -1
  50. package/dist/packages/textfield/locales/sv/messages.mjs +1 -1
  51. package/dist/packages/textfield/textfield.js +11 -11
  52. package/dist/packages/textfield/textfield.js.map +2 -2
  53. package/dist/packages/textfield/textfield.test.js +71 -0
  54. package/dist/web-types.json +13 -2
  55. package/eik/index.js +13 -13
  56. package/package.json +1 -1
@@ -4,11 +4,9 @@ import { expect, test, vi } from "vitest";
4
4
  import { render } from "vitest-browser-lit";
5
5
  import "./radio-group.js";
6
6
  import "../radio/radio.js";
7
+ import { messages } from "./locales/en/messages.mjs";
7
8
  // Initialize i18n with English locale for tests
8
- i18n.load("en", {
9
- "radio-group.label.optional": ["(optional)"],
10
- "radio-group.validation.required": ["Please select an option."],
11
- });
9
+ i18n.load("en", messages);
12
10
  i18n.activate("en");
13
11
  test("selects radio on click and dispatches input/change", async () => {
14
12
  render(html `
@@ -69,14 +67,85 @@ test("disabled group renders help text in disabled color", async () => {
69
67
  }
70
68
  expect(getComputedStyle(helpText).color).toBe(disabledColor);
71
69
  });
72
- test("renders optional text when optional is true", async () => {
70
+ test("renders optional indicator as 'Optional' without parentheses", async () => {
73
71
  const page = render(html `
74
72
  <w-radio-group name="choices" label="Choices" optional>
75
73
  <w-radio value="alpha">Alpha</w-radio>
76
74
  <w-radio value="beta">Beta</w-radio>
77
75
  </w-radio-group>
78
76
  `);
79
- await expect.element(page.getByText("(optional)")).toBeVisible();
77
+ await expect.element(page.getByText("Optional")).toBeVisible();
78
+ expect(page.getByText("(optional)").query()).toBeNull();
79
+ });
80
+ test("does not render optional indicator when both required and optional are set", async () => {
81
+ const page = render(html `
82
+ <w-radio-group name="choices" label="Choices" required optional>
83
+ <w-radio value="alpha">Alpha</w-radio>
84
+ <w-radio value="beta">Beta</w-radio>
85
+ </w-radio-group>
86
+ `);
87
+ await expect.element(page.getByText("Choices")).toBeVisible();
88
+ expect(page.getByText("Optional").query()).toBeNull();
89
+ });
90
+ test("includes optional indicator in the accessible name", async () => {
91
+ const page = render(html `
92
+ <w-radio-group name="choices" label="Choices" optional>
93
+ <w-radio value="alpha">Alpha</w-radio>
94
+ <w-radio value="beta">Beta</w-radio>
95
+ </w-radio-group>
96
+ `);
97
+ await expect
98
+ .element(page.getByRole("radiogroup", { name: /Choices.*Optional/ }))
99
+ .toBeVisible();
100
+ });
101
+ test("removes optional indicator when required is added dynamically", async () => {
102
+ const page = render(html `
103
+ <w-radio-group name="choices" label="Choices" optional>
104
+ <w-radio value="alpha">Alpha</w-radio>
105
+ <w-radio value="beta">Beta</w-radio>
106
+ </w-radio-group>
107
+ `);
108
+ await expect.element(page.getByText("Optional")).toBeVisible();
109
+ const group = document.querySelector("w-radio-group");
110
+ group.required = true;
111
+ await group.updateComplete;
112
+ expect(page.getByText("Optional").query()).toBeNull();
113
+ });
114
+ test("shows optional indicator when required is removed dynamically", async () => {
115
+ const page = render(html `
116
+ <w-radio-group name="choices" label="Choices" required optional>
117
+ <w-radio value="alpha">Alpha</w-radio>
118
+ <w-radio value="beta">Beta</w-radio>
119
+ </w-radio-group>
120
+ `);
121
+ expect(page.getByText("Optional").query()).toBeNull();
122
+ const group = document.querySelector("w-radio-group");
123
+ group.required = false;
124
+ await group.updateComplete;
125
+ await expect.element(page.getByText("Optional")).toBeVisible();
126
+ });
127
+ test("does not render optional indicator when there is no label", async () => {
128
+ const page = render(html `
129
+ <w-radio-group name="choices" aria-label="Choices" optional>
130
+ <w-radio value="alpha">Alpha</w-radio>
131
+ <w-radio value="beta">Beta</w-radio>
132
+ </w-radio-group>
133
+ `);
134
+ const group = document.querySelector("w-radio-group");
135
+ await group.updateComplete;
136
+ expect(page.getByText("Optional").query()).toBeNull();
137
+ });
138
+ test("excludes optional indicator from accessible name when required suppresses it", async () => {
139
+ const page = render(html `
140
+ <w-radio-group name="choices" label="Choices" required optional>
141
+ <w-radio value="alpha">Alpha</w-radio>
142
+ <w-radio value="beta">Beta</w-radio>
143
+ </w-radio-group>
144
+ `);
145
+ const group = page.getByRole("radiogroup", { name: "Choices" });
146
+ await expect.element(group).toBeVisible();
147
+ // Verify "Optional" is not part of the accessible name
148
+ expect(page.getByRole("radiogroup", { name: /Optional/ }).query()).toBeNull();
80
149
  });
81
150
  test("associates selected value with form submission", async () => {
82
151
  render(html `
@@ -354,7 +423,7 @@ test("adds and removes tabindex on the host when invalid", async () => {
354
423
  });
355
424
  test("updates optional text when locale changes", async () => {
356
425
  i18n.load("fr", {
357
- "radio-group.label.optional": ["(optionnel)"],
426
+ "radio-group.label.optional": ["Facultatif"],
358
427
  "radio-group.validation.required": ["Please select an option."],
359
428
  });
360
429
  const page = render(html `
@@ -365,10 +434,10 @@ test("updates optional text when locale changes", async () => {
365
434
  `);
366
435
  const group = document.querySelector("w-radio-group");
367
436
  await group.updateComplete;
368
- await expect.element(page.getByText("(optional)")).toBeVisible();
437
+ await expect.element(page.getByText("Optional")).toBeVisible();
369
438
  i18n.activate("fr");
370
439
  await group.updateComplete;
371
- await expect.element(page.getByText("(optionnel)")).toBeVisible();
440
+ await expect.element(page.getByText("Facultatif")).toBeVisible();
372
441
  i18n.activate("en");
373
442
  });
374
443
  test("does not set aria-labelledby when label is missing", async () => {
@@ -1 +1 @@
1
- /*eslint-disable*/ export const messages = JSON.parse("{\"select.label.optional\":[\"(valgfrit)\"]}");
1
+ /*eslint-disable*/ export const messages = JSON.parse("{\"select.label.optional\":[\"Valgfri\"]}");
@@ -1 +1 @@
1
- /*eslint-disable*/ export const messages = JSON.parse("{\"select.label.optional\":[\"(optional)\"]}");
1
+ /*eslint-disable*/ export const messages = JSON.parse("{\"select.label.optional\":[\"Optional\"]}");
@@ -1 +1 @@
1
- /*eslint-disable*/ export const messages = JSON.parse("{\"select.label.optional\":[\"(vapaaehtoinen)\"]}");
1
+ /*eslint-disable*/ export const messages = JSON.parse("{\"select.label.optional\":[\"Valinnainen\"]}");
@@ -1 +1 @@
1
- /*eslint-disable*/ export const messages = JSON.parse("{\"select.label.optional\":[\"(valgfritt)\"]}");
1
+ /*eslint-disable*/ export const messages = JSON.parse("{\"select.label.optional\":[\"Valgfri\"]}");
@@ -1 +1 @@
1
- /*eslint-disable*/ export const messages = JSON.parse("{\"select.label.optional\":[\"(valfritt)\"]}");
1
+ /*eslint-disable*/ export const messages = JSON.parse("{\"select.label.optional\":[\"Valfritt\"]}");
@@ -1,4 +1,4 @@
1
- var Ke=Object.defineProperty;var Qe=Object.getOwnPropertyDescriptor;var ke=o=>{throw TypeError(o)};var p=(o,r,e,t)=>{for(var a=t>1?void 0:t?Qe(r,e):r,s=o.length-1,i;s>=0;s--)(i=o[s])&&(a=(t?i(r,e,a):i(a))||a);return t&&a&&Ke(r,e,a),a};var ne=(o,r,e)=>r.has(o)||ke("Cannot "+e);var x=(o,r,e)=>(ne(o,r,"read from private field"),e?e.call(o):r.get(o)),U=(o,r,e)=>r.has(o)?ke("Cannot add the same private member more than once"):r instanceof WeakSet?r.add(o):r.set(o,e),le=(o,r,e,t)=>(ne(o,r,"write to private field"),t?t.call(o,e):r.set(o,e),e),f=(o,r,e)=>(ne(o,r,"access private method"),e);var q=function(){for(var o=[],r=arguments.length;r--;)o[r]=arguments[r];return o.reduce(function(e,t){return e.concat(typeof t=="string"?t:Array.isArray(t)?q.apply(void 0,t):typeof t=="object"&&t?Object.keys(t).map(function(a){return t[a]?a:""}):"")},[]).join(" ")};var T=o=>typeof o=="string",We=o=>typeof o=="function",_e=new Map,Ce="en";function be(o){return[...Array.isArray(o)?o:[o],Ce]}function pe(o,r,e){let t=be(o);e||(e="default");let a;if(typeof e=="string")switch(a={day:"numeric",month:"short",year:"numeric"},e){case"full":a.weekday="long";case"long":a.month="long";break;case"short":a.month="numeric";break}else a=e;return J(()=>K("date",t,e),()=>new Intl.DateTimeFormat(t,a)).format(T(r)?new Date(r):r)}function er(o,r,e){let t;if(e||(e="default"),typeof e=="string")switch(t={second:"numeric",minute:"numeric",hour:"numeric"},e){case"full":case"long":t.timeZoneName="short";break;case"short":delete t.second}else t=e;return pe(o,r,t)}function ce(o,r,e){let t=be(o);return J(()=>K("number",t,e),()=>new Intl.NumberFormat(t,e)).format(r)}function ze(o,r,e,{offset:t=0,...a}){let s=be(o),i=r?J(()=>K("plural-ordinal",s),()=>new Intl.PluralRules(s,{type:"ordinal"})):J(()=>K("plural-cardinal",s),()=>new Intl.PluralRules(s,{type:"cardinal"}));return a[e]??a[i.select(e-t)]??a.other}function J(o,r){let e=o(),t=_e.get(e);return t||(t=r(),_e.set(e,t)),t}function K(o,r,e){let t=r.join("-");return`${o}-${t}-${JSON.stringify(e)}`}var Fe=/\\u[a-fA-F0-9]{4}|\\x[a-fA-F0-9]{2}/,Ee=o=>o.replace(/\\u([a-fA-F0-9]{4})|\\x([a-fA-F0-9]{2})/g,(r,e,t)=>{if(e){let a=parseInt(e,16);return String.fromCharCode(a)}else{let a=parseInt(t,16);return String.fromCharCode(a)}}),Me="%__lingui_octothorpe__%",rr=(o,r,e={})=>{let t=r||o,a=i=>typeof i=="object"?i:e[i],s=(i,n)=>{let b=Object.keys(e).length?a("number"):void 0,w=ce(t,i,b);return n.replace(new RegExp(Me,"g"),w)};return{plural:(i,n)=>{let{offset:b=0}=n,w=ze(t,!1,i,n);return s(i-b,w)},selectordinal:(i,n)=>{let{offset:b=0}=n,w=ze(t,!0,i,n);return s(i-b,w)},select:tr,number:(i,n)=>ce(t,i,a(n)||{style:n}),date:(i,n)=>pe(t,i,a(n)||n),time:(i,n)=>er(t,i,a(n)||n)}},tr=(o,r)=>r[o]??r.other;function or(o,r,e){return(t={},a)=>{let s=rr(r,e,a),i=(b,w=!1)=>Array.isArray(b)?b.reduce((F,L)=>{if(L==="#"&&w)return F+Me;if(T(L))return F+L;let[D,_,V]=L,S={};_==="plural"||_==="selectordinal"||_==="select"?Object.entries(V).forEach(([$,Y])=>{S[$]=i(Y,_==="plural"||_==="selectordinal")}):S=V;let k;if(_){let $=s[_];k=$(t[D],S)}else k=t[D];return k==null?F:F+k},""):b,n=i(o);return T(n)&&Fe.test(n)?Ee(n):T(n)?n:n?String(n):""}}var ar=Object.defineProperty,ir=(o,r,e)=>r in o?ar(o,r,{enumerable:!0,configurable:!0,writable:!0,value:e}):o[r]=e,sr=(o,r,e)=>(ir(o,typeof r!="symbol"?r+"":r,e),e),de=class{constructor(){sr(this,"_events",{})}on(r,e){var t;return(t=this._events)[r]??(t[r]=[]),this._events[r].push(e),()=>this.removeListener(r,e)}removeListener(r,e){let t=this._getListeners(r);if(!t)return;let a=t.indexOf(e);~a&&t.splice(a,1)}emit(r,...e){let t=this._getListeners(r);t&&t.map(a=>a.apply(this,e))}_getListeners(r){let e=this._events[r];return Array.isArray(e)?e:!1}},nr=Object.defineProperty,lr=(o,r,e)=>r in o?nr(o,r,{enumerable:!0,configurable:!0,writable:!0,value:e}):o[r]=e,O=(o,r,e)=>(lr(o,typeof r!="symbol"?r+"":r,e),e),he=class extends de{constructor(r){super(),O(this,"_locale",""),O(this,"_locales"),O(this,"_localeData",{}),O(this,"_messages",{}),O(this,"_missing"),O(this,"_messageCompiler"),O(this,"t",this._.bind(this)),r.missing!=null&&(this._missing=r.missing),r.messages!=null&&this.load(r.messages),r.localeData!=null&&this.loadLocaleData(r.localeData),(typeof r.locale=="string"||r.locales)&&this.activate(r.locale??Ce,r.locales)}get locale(){return this._locale}get locales(){return this._locales}get messages(){return this._messages[this._locale]??{}}get localeData(){return this._localeData[this._locale]??{}}_loadLocaleData(r,e){let t=this._localeData[r];t?Object.assign(t,e):this._localeData[r]=e}setMessagesCompiler(r){return this._messageCompiler=r,this}loadLocaleData(r,e){typeof r=="string"?this._loadLocaleData(r,e):Object.keys(r).forEach(t=>this._loadLocaleData(t,r[t])),this.emit("change")}_load(r,e){let t=this._messages[r];t?Object.assign(t,e):this._messages[r]=e}load(r,e){typeof r=="string"&&typeof e=="object"?this._load(r,e):Object.entries(r).forEach(([t,a])=>this._load(t,a)),this.emit("change")}loadAndActivate({locale:r,locales:e,messages:t}){this._locale=r,this._locales=e||void 0,this._messages[this._locale]=t,this.emit("change")}activate(r,e){this._locale=r,this._locales=e,this.emit("change")}_(r,e,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?.message;r||(r=""),T(r)||(e=r.values||e,a=r.message,r=r.id);let s=this.messages[r],i=s===void 0,n=this._missing;if(n&&i)return We(n)?n(this._locale,r):n;i&&this.emit("missing",{id:r,locale:this._locale});let b=s||a||r;return T(b)&&(this._messageCompiler?b=this._messageCompiler(b):console.warn(`Uncompiled message detected! Message:
1
+ var Ke=Object.defineProperty;var Qe=Object.getOwnPropertyDescriptor;var ke=o=>{throw TypeError(o)};var p=(o,r,e,t)=>{for(var a=t>1?void 0:t?Qe(r,e):r,s=o.length-1,i;s>=0;s--)(i=o[s])&&(a=(t?i(r,e,a):i(a))||a);return t&&a&&Ke(r,e,a),a};var ne=(o,r,e)=>r.has(o)||ke("Cannot "+e);var x=(o,r,e)=>(ne(o,r,"read from private field"),e?e.call(o):r.get(o)),U=(o,r,e)=>r.has(o)?ke("Cannot add the same private member more than once"):r instanceof WeakSet?r.add(o):r.set(o,e),le=(o,r,e,t)=>(ne(o,r,"write to private field"),t?t.call(o,e):r.set(o,e),e),f=(o,r,e)=>(ne(o,r,"access private method"),e);var q=function(){for(var o=[],r=arguments.length;r--;)o[r]=arguments[r];return o.reduce(function(e,t){return e.concat(typeof t=="string"?t:Array.isArray(t)?q.apply(void 0,t):typeof t=="object"&&t?Object.keys(t).map(function(a){return t[a]?a:""}):"")},[]).join(" ")};var T=o=>typeof o=="string",We=o=>typeof o=="function",_e=new Map,Ce="en";function be(o){return[...Array.isArray(o)?o:[o],Ce]}function pe(o,r,e){let t=be(o);e||(e="default");let a;if(typeof e=="string")switch(a={day:"numeric",month:"short",year:"numeric"},e){case"full":a.weekday="long";case"long":a.month="long";break;case"short":a.month="numeric";break}else a=e;return J(()=>K("date",t,e),()=>new Intl.DateTimeFormat(t,a)).format(T(r)?new Date(r):r)}function er(o,r,e){let t;if(e||(e="default"),typeof e=="string")switch(t={second:"numeric",minute:"numeric",hour:"numeric"},e){case"full":case"long":t.timeZoneName="short";break;case"short":delete t.second}else t=e;return pe(o,r,t)}function ce(o,r,e){let t=be(o);return J(()=>K("number",t,e),()=>new Intl.NumberFormat(t,e)).format(r)}function ze(o,r,e,{offset:t=0,...a}){let s=be(o),i=r?J(()=>K("plural-ordinal",s),()=>new Intl.PluralRules(s,{type:"ordinal"})):J(()=>K("plural-cardinal",s),()=>new Intl.PluralRules(s,{type:"cardinal"}));return a[e]??a[i.select(e-t)]??a.other}function J(o,r){let e=o(),t=_e.get(e);return t||(t=r(),_e.set(e,t)),t}function K(o,r,e){let t=r.join("-");return`${o}-${t}-${JSON.stringify(e)}`}var Fe=/\\u[a-fA-F0-9]{4}|\\x[a-fA-F0-9]{2}/,Ee=o=>o.replace(/\\u([a-fA-F0-9]{4})|\\x([a-fA-F0-9]{2})/g,(r,e,t)=>{if(e){let a=parseInt(e,16);return String.fromCharCode(a)}else{let a=parseInt(t,16);return String.fromCharCode(a)}}),Me="%__lingui_octothorpe__%",rr=(o,r,e={})=>{let t=r||o,a=i=>typeof i=="object"?i:e[i],s=(i,n)=>{let b=Object.keys(e).length?a("number"):void 0,w=ce(t,i,b);return n.replace(new RegExp(Me,"g"),w)};return{plural:(i,n)=>{let{offset:b=0}=n,w=ze(t,!1,i,n);return s(i-b,w)},selectordinal:(i,n)=>{let{offset:b=0}=n,w=ze(t,!0,i,n);return s(i-b,w)},select:tr,number:(i,n)=>ce(t,i,a(n)||{style:n}),date:(i,n)=>pe(t,i,a(n)||n),time:(i,n)=>er(t,i,a(n)||n)}},tr=(o,r)=>r[o]??r.other;function or(o,r,e){return(t={},a)=>{let s=rr(r,e,a),i=(b,w=!1)=>Array.isArray(b)?b.reduce((F,L)=>{if(L==="#"&&w)return F+Me;if(T(L))return F+L;let[D,_,V]=L,S={};_==="plural"||_==="selectordinal"||_==="select"?Object.entries(V).forEach(([O,Y])=>{S[O]=i(Y,_==="plural"||_==="selectordinal")}):S=V;let k;if(_){let O=s[_];k=O(t[D],S)}else k=t[D];return k==null?F:F+k},""):b,n=i(o);return T(n)&&Fe.test(n)?Ee(n):T(n)?n:n?String(n):""}}var ar=Object.defineProperty,ir=(o,r,e)=>r in o?ar(o,r,{enumerable:!0,configurable:!0,writable:!0,value:e}):o[r]=e,sr=(o,r,e)=>(ir(o,typeof r!="symbol"?r+"":r,e),e),de=class{constructor(){sr(this,"_events",{})}on(r,e){var t;return(t=this._events)[r]??(t[r]=[]),this._events[r].push(e),()=>this.removeListener(r,e)}removeListener(r,e){let t=this._getListeners(r);if(!t)return;let a=t.indexOf(e);~a&&t.splice(a,1)}emit(r,...e){let t=this._getListeners(r);t&&t.map(a=>a.apply(this,e))}_getListeners(r){let e=this._events[r];return Array.isArray(e)?e:!1}},nr=Object.defineProperty,lr=(o,r,e)=>r in o?nr(o,r,{enumerable:!0,configurable:!0,writable:!0,value:e}):o[r]=e,$=(o,r,e)=>(lr(o,typeof r!="symbol"?r+"":r,e),e),he=class extends de{constructor(r){super(),$(this,"_locale",""),$(this,"_locales"),$(this,"_localeData",{}),$(this,"_messages",{}),$(this,"_missing"),$(this,"_messageCompiler"),$(this,"t",this._.bind(this)),r.missing!=null&&(this._missing=r.missing),r.messages!=null&&this.load(r.messages),r.localeData!=null&&this.loadLocaleData(r.localeData),(typeof r.locale=="string"||r.locales)&&this.activate(r.locale??Ce,r.locales)}get locale(){return this._locale}get locales(){return this._locales}get messages(){return this._messages[this._locale]??{}}get localeData(){return this._localeData[this._locale]??{}}_loadLocaleData(r,e){let t=this._localeData[r];t?Object.assign(t,e):this._localeData[r]=e}setMessagesCompiler(r){return this._messageCompiler=r,this}loadLocaleData(r,e){typeof r=="string"?this._loadLocaleData(r,e):Object.keys(r).forEach(t=>this._loadLocaleData(t,r[t])),this.emit("change")}_load(r,e){let t=this._messages[r];t?Object.assign(t,e):this._messages[r]=e}load(r,e){typeof r=="string"&&typeof e=="object"?this._load(r,e):Object.entries(r).forEach(([t,a])=>this._load(t,a)),this.emit("change")}loadAndActivate({locale:r,locales:e,messages:t}){this._locale=r,this._locales=e||void 0,this._messages[this._locale]=t,this.emit("change")}activate(r,e){this._locale=r,this._locales=e,this.emit("change")}_(r,e,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?.message;r||(r=""),T(r)||(e=r.values||e,a=r.message,r=r.id);let s=this.messages[r],i=s===void 0,n=this._missing;if(n&&i)return We(n)?n(this._locale,r):n;i&&this.emit("missing",{id:r,locale:this._locale});let b=s||a||r;return T(b)&&(this._messageCompiler?b=this._messageCompiler(b):console.warn(`Uncompiled message detected! Message:
2
2
 
3
3
  > ${b}
4
4
 
@@ -6,7 +6,7 @@ That means you use raw catalog or your catalog doesn't have a translation for th
6
6
  ICU features such as interpolation and plurals will not work properly for that message.
7
7
 
8
8
  Please compile your catalog first.
9
- `)),T(b)&&Fe.test(b)?Ee(b):T(b)?b:or(b,this._locale,this._locales)(e,t?.formats)}date(r,e){return pe(this._locales||this._locale,r,e)}number(r,e){return ce(this._locales||this._locale,r,e)}};function cr(o={}){return new he(o)}var C=cr();var h=function(o,r,e,t){if(e==="a"&&!t)throw new TypeError("Private accessor was defined without a getter");if(typeof r=="function"?o!==r||!t:!r.has(o))throw new TypeError("Cannot read private member from an object whose class did not declare it");return e==="m"?t:e==="a"?t.call(o):t?t.value:r.get(o)},g=function(o,r,e,t,a){if(t==="m")throw new TypeError("Private method is not writable");if(t==="a"&&!a)throw new TypeError("Private accessor was defined without a setter");if(typeof r=="function"?o!==r||!a:!r.has(o))throw new TypeError("Cannot write private member to an object whose class did not declare it");return t==="a"?a.call(o,e):a?a.value=e:r.set(o,e),e};function Le(o){var r,e,t,a,s,i,n,b,w,F,L,D,_,V,S,k,$,Y,ae;class Je extends o{constructor(...c){var d,u,m;super(...c),r.add(this),this.internals=this.attachInternals(),e.set(this,!1),t.set(this,!1),a.set(this,!1),s.set(this,void 0),i.set(this,void 0),n.set(this,!0),w.set(this,""),F.set(this,()=>{g(this,a,!0,"f"),g(this,e,!0,"f"),h(this,r,"m",k).call(this)}),L.set(this,()=>{g(this,e,!1,"f"),h(this,r,"m",$).call(this,this.shouldFormValueUpdate()?h(this,w,"f"):""),!this.validity.valid&&h(this,a,"f")&&g(this,t,!0,"f");let E=h(this,r,"m",k).call(this);this.validationMessageCallback&&this.validationMessageCallback(E?this.internals.validationMessage:"")}),D.set(this,()=>{var E;h(this,n,"f")&&this.validationTarget&&(this.internals.setValidity(this.validity,this.validationMessage,this.validationTarget),g(this,n,!1,"f")),g(this,a,!0,"f"),g(this,t,!0,"f"),h(this,r,"m",k).call(this),(E=this===null||this===void 0?void 0:this.validationMessageCallback)===null||E===void 0||E.call(this,this.showError?this.internals.validationMessage:"")}),_.set(this,void 0),V.set(this,!1),S.set(this,Promise.resolve()),(d=this.addEventListener)===null||d===void 0||d.call(this,"focus",h(this,F,"f")),(u=this.addEventListener)===null||u===void 0||u.call(this,"blur",h(this,L,"f")),(m=this.addEventListener)===null||m===void 0||m.call(this,"invalid",h(this,D,"f")),this.setValue(null)}static get formAssociated(){return!0}static get validators(){return this.formControlValidators||[]}static get observedAttributes(){let c=this.validators.map(m=>m.attribute).flat(),d=super.observedAttributes||[];return[...new Set([...d,...c])]}static getValidator(c){return this.validators.find(d=>d.attribute===c)||null}static getValidators(c){return this.validators.filter(d=>{var u;if(d.attribute===c||!((u=d.attribute)===null||u===void 0)&&u.includes(c))return!0})}get form(){return this.internals.form}get showError(){return h(this,r,"m",k).call(this)}checkValidity(){return this.internals.checkValidity()}get validity(){return this.internals.validity}get validationMessage(){return this.internals.validationMessage}attributeChangedCallback(c,d,u){var m;(m=super.attributeChangedCallback)===null||m===void 0||m.call(this,c,d,u);let I=this.constructor.getValidators(c);I?.length&&this.validationTarget&&this.setValue(h(this,w,"f"))}setValue(c){var d;g(this,t,!1,"f"),(d=this.validationMessageCallback)===null||d===void 0||d.call(this,""),g(this,w,c,"f");let m=this.shouldFormValueUpdate()?c:null;this.internals.setFormValue(m),h(this,r,"m",$).call(this,m),this.valueChangedCallback&&this.valueChangedCallback(m),h(this,r,"m",k).call(this)}shouldFormValueUpdate(){return!0}get validationComplete(){return new Promise(c=>c(h(this,S,"f")))}formResetCallback(){var c,d;g(this,a,!1,"f"),g(this,t,!1,"f"),h(this,r,"m",k).call(this),(c=this.resetFormControl)===null||c===void 0||c.call(this),(d=this.validationMessageCallback)===null||d===void 0||d.call(this,h(this,r,"m",k).call(this)?this.validationMessage:"")}}return e=new WeakMap,t=new WeakMap,a=new WeakMap,s=new WeakMap,i=new WeakMap,n=new WeakMap,w=new WeakMap,F=new WeakMap,L=new WeakMap,D=new WeakMap,_=new WeakMap,V=new WeakMap,S=new WeakMap,r=new WeakSet,b=function(){let c=this.getRootNode(),d=`${this.localName}[name="${this.getAttribute("name")}"]`;return c.querySelectorAll(d)},k=function(){if(this.hasAttribute("disabled"))return!1;let c=h(this,t,"f")||h(this,a,"f")&&!this.validity.valid&&!h(this,e,"f");return c&&this.internals.states?this.internals.states.add("--show-error"):this.internals.states&&this.internals.states.delete("--show-error"),c},$=function(c){let d=this.constructor,u={},m=d.validators,E=[],I=m.some(z=>z.isValid instanceof Promise);h(this,V,"f")||(g(this,S,new Promise(z=>{g(this,_,z,"f")}),"f"),g(this,V,!0,"f")),h(this,s,"f")&&(h(this,s,"f").abort(),g(this,i,h(this,s,"f"),"f"));let X=new AbortController;g(this,s,X,"f");let H,ye=!1;m.length&&(m.forEach(z=>{let ie=z.key||"customError",A=z.isValid(this,c,X.signal);A instanceof Promise?(E.push(A),A.then(se=>{se!=null&&(u[ie]=!se,H=h(this,r,"m",ae).call(this,z,c),h(this,r,"m",Y).call(this,u,H))})):(u[ie]=!A,this.validity[ie]!==!A&&(ye=!0),!A&&!H&&(H=h(this,r,"m",ae).call(this,z,c)))}),Promise.allSettled(E).then(()=>{var z;X?.signal.aborted||(g(this,V,!1,"f"),(z=h(this,_,"f"))===null||z===void 0||z.call(this))}),(ye||!I)&&h(this,r,"m",Y).call(this,u,H))},Y=function(c,d){if(this.validationTarget)this.internals.setValidity(c,d,this.validationTarget),g(this,n,!1,"f");else{if(this.internals.setValidity(c,d),this.internals.validity.valid)return;g(this,n,!0,"f")}},ae=function(c,d){if(this.validityCallback){let u=this.validityCallback(c.key||"customError");if(u)return u}return c.message instanceof Function?c.message(this,d):c.message},Je}import{css as Cr,html as Z,LitElement as Fr}from"lit";import{property as y}from"lit/decorators.js";import{ifDefined as me}from"lit/directives/if-defined.js";import{when as fe}from"lit/directives/when.js";var dr=["en","nb","fi","da","sv"],ue="en",Q=o=>dr.find(r=>o===r||o.toLowerCase().includes(r))||ue;function W(){if(typeof window>"u"){let o=process.env.NMP_LANGUAGE||Intl.DateTimeFormat().resolvedOptions().locale;return Q(o)}try{let o=Se(document);if(o)return Q(o);let r=ur();if(r)return Q(r);let e=Se($e());return e?Q(e):ue}catch(o){return console.warn("could not detect locale, falling back to source locale",o),ue}}var Te=(o,r,e,t,a)=>{C.load("en",o),C.load("nb",r),C.load("fi",e),C.load("da",t),C.load("sv",a);let s=W();C.activate(s),Pe(),br()},hr="warp-i18n-change";function Pe(){typeof window>"u"||window.dispatchEvent(new Event(hr))}var Ve=!1;function br(){if(Ve||typeof window>"u"||!document?.documentElement)return;Ve=!0;let o=()=>{let a=W();C.locale!==a&&(C.activate(a),Pe())},r=new MutationObserver(a=>{for(let s of a)if(s.type==="attributes"&&s.attributeName==="lang"){o();break}});r.observe(document.documentElement,{attributes:!0,attributeFilter:["lang"]});let e=$e();e&&e.documentElement&&e!==document&&r.observe(e.documentElement,{attributes:!0,attributeFilter:["lang"]});let t=pr();t&&r.observe(t,{attributes:!0,attributeFilter:["lang"]})}function $e(){try{return window.parent?.document??null}catch{return null}}function Se(o){try{return o?.documentElement?.lang??""}catch{return""}}function pr(){try{return window.frameElement??null}catch{return null}}function ur(){try{return window.frameElement?.getAttribute?.("lang")??""}catch{return""}}import{css as gr}from"lit";import{unsafeCSS as vr}from"lit";var Oe=gr`
9
+ `)),T(b)&&Fe.test(b)?Ee(b):T(b)?b:or(b,this._locale,this._locales)(e,t?.formats)}date(r,e){return pe(this._locales||this._locale,r,e)}number(r,e){return ce(this._locales||this._locale,r,e)}};function cr(o={}){return new he(o)}var C=cr();var h=function(o,r,e,t){if(e==="a"&&!t)throw new TypeError("Private accessor was defined without a getter");if(typeof r=="function"?o!==r||!t:!r.has(o))throw new TypeError("Cannot read private member from an object whose class did not declare it");return e==="m"?t:e==="a"?t.call(o):t?t.value:r.get(o)},g=function(o,r,e,t,a){if(t==="m")throw new TypeError("Private method is not writable");if(t==="a"&&!a)throw new TypeError("Private accessor was defined without a setter");if(typeof r=="function"?o!==r||!a:!r.has(o))throw new TypeError("Cannot write private member to an object whose class did not declare it");return t==="a"?a.call(o,e):a?a.value=e:r.set(o,e),e};function Le(o){var r,e,t,a,s,i,n,b,w,F,L,D,_,V,S,k,O,Y,ae;class Je extends o{constructor(...c){var d,u,m;super(...c),r.add(this),this.internals=this.attachInternals(),e.set(this,!1),t.set(this,!1),a.set(this,!1),s.set(this,void 0),i.set(this,void 0),n.set(this,!0),w.set(this,""),F.set(this,()=>{g(this,a,!0,"f"),g(this,e,!0,"f"),h(this,r,"m",k).call(this)}),L.set(this,()=>{g(this,e,!1,"f"),h(this,r,"m",O).call(this,this.shouldFormValueUpdate()?h(this,w,"f"):""),!this.validity.valid&&h(this,a,"f")&&g(this,t,!0,"f");let E=h(this,r,"m",k).call(this);this.validationMessageCallback&&this.validationMessageCallback(E?this.internals.validationMessage:"")}),D.set(this,()=>{var E;h(this,n,"f")&&this.validationTarget&&(this.internals.setValidity(this.validity,this.validationMessage,this.validationTarget),g(this,n,!1,"f")),g(this,a,!0,"f"),g(this,t,!0,"f"),h(this,r,"m",k).call(this),(E=this===null||this===void 0?void 0:this.validationMessageCallback)===null||E===void 0||E.call(this,this.showError?this.internals.validationMessage:"")}),_.set(this,void 0),V.set(this,!1),S.set(this,Promise.resolve()),(d=this.addEventListener)===null||d===void 0||d.call(this,"focus",h(this,F,"f")),(u=this.addEventListener)===null||u===void 0||u.call(this,"blur",h(this,L,"f")),(m=this.addEventListener)===null||m===void 0||m.call(this,"invalid",h(this,D,"f")),this.setValue(null)}static get formAssociated(){return!0}static get validators(){return this.formControlValidators||[]}static get observedAttributes(){let c=this.validators.map(m=>m.attribute).flat(),d=super.observedAttributes||[];return[...new Set([...d,...c])]}static getValidator(c){return this.validators.find(d=>d.attribute===c)||null}static getValidators(c){return this.validators.filter(d=>{var u;if(d.attribute===c||!((u=d.attribute)===null||u===void 0)&&u.includes(c))return!0})}get form(){return this.internals.form}get showError(){return h(this,r,"m",k).call(this)}checkValidity(){return this.internals.checkValidity()}get validity(){return this.internals.validity}get validationMessage(){return this.internals.validationMessage}attributeChangedCallback(c,d,u){var m;(m=super.attributeChangedCallback)===null||m===void 0||m.call(this,c,d,u);let I=this.constructor.getValidators(c);I?.length&&this.validationTarget&&this.setValue(h(this,w,"f"))}setValue(c){var d;g(this,t,!1,"f"),(d=this.validationMessageCallback)===null||d===void 0||d.call(this,""),g(this,w,c,"f");let m=this.shouldFormValueUpdate()?c:null;this.internals.setFormValue(m),h(this,r,"m",O).call(this,m),this.valueChangedCallback&&this.valueChangedCallback(m),h(this,r,"m",k).call(this)}shouldFormValueUpdate(){return!0}get validationComplete(){return new Promise(c=>c(h(this,S,"f")))}formResetCallback(){var c,d;g(this,a,!1,"f"),g(this,t,!1,"f"),h(this,r,"m",k).call(this),(c=this.resetFormControl)===null||c===void 0||c.call(this),(d=this.validationMessageCallback)===null||d===void 0||d.call(this,h(this,r,"m",k).call(this)?this.validationMessage:"")}}return e=new WeakMap,t=new WeakMap,a=new WeakMap,s=new WeakMap,i=new WeakMap,n=new WeakMap,w=new WeakMap,F=new WeakMap,L=new WeakMap,D=new WeakMap,_=new WeakMap,V=new WeakMap,S=new WeakMap,r=new WeakSet,b=function(){let c=this.getRootNode(),d=`${this.localName}[name="${this.getAttribute("name")}"]`;return c.querySelectorAll(d)},k=function(){if(this.hasAttribute("disabled"))return!1;let c=h(this,t,"f")||h(this,a,"f")&&!this.validity.valid&&!h(this,e,"f");return c&&this.internals.states?this.internals.states.add("--show-error"):this.internals.states&&this.internals.states.delete("--show-error"),c},O=function(c){let d=this.constructor,u={},m=d.validators,E=[],I=m.some(z=>z.isValid instanceof Promise);h(this,V,"f")||(g(this,S,new Promise(z=>{g(this,_,z,"f")}),"f"),g(this,V,!0,"f")),h(this,s,"f")&&(h(this,s,"f").abort(),g(this,i,h(this,s,"f"),"f"));let X=new AbortController;g(this,s,X,"f");let H,ye=!1;m.length&&(m.forEach(z=>{let ie=z.key||"customError",A=z.isValid(this,c,X.signal);A instanceof Promise?(E.push(A),A.then(se=>{se!=null&&(u[ie]=!se,H=h(this,r,"m",ae).call(this,z,c),h(this,r,"m",Y).call(this,u,H))})):(u[ie]=!A,this.validity[ie]!==!A&&(ye=!0),!A&&!H&&(H=h(this,r,"m",ae).call(this,z,c)))}),Promise.allSettled(E).then(()=>{var z;X?.signal.aborted||(g(this,V,!1,"f"),(z=h(this,_,"f"))===null||z===void 0||z.call(this))}),(ye||!I)&&h(this,r,"m",Y).call(this,u,H))},Y=function(c,d){if(this.validationTarget)this.internals.setValidity(c,d,this.validationTarget),g(this,n,!1,"f");else{if(this.internals.setValidity(c,d),this.internals.validity.valid)return;g(this,n,!0,"f")}},ae=function(c,d){if(this.validityCallback){let u=this.validityCallback(c.key||"customError");if(u)return u}return c.message instanceof Function?c.message(this,d):c.message},Je}import{css as Cr,html as Z,LitElement as Fr}from"lit";import{property as y}from"lit/decorators.js";import{ifDefined as me}from"lit/directives/if-defined.js";import{when as fe}from"lit/directives/when.js";var dr=["en","nb","fi","da","sv"],ue="en",Q=o=>dr.find(r=>o===r||o.toLowerCase().includes(r))||ue;function W(){if(typeof window>"u"){let o=process.env.NMP_LANGUAGE||Intl.DateTimeFormat().resolvedOptions().locale;return Q(o)}try{let o=Se(document);if(o)return Q(o);let r=ur();if(r)return Q(r);let e=Se(Oe());return e?Q(e):ue}catch(o){return console.warn("could not detect locale, falling back to source locale",o),ue}}var Te=(o,r,e,t,a)=>{C.load("en",o),C.load("nb",r),C.load("fi",e),C.load("da",t),C.load("sv",a);let s=W();C.activate(s),Pe(),br()},hr="warp-i18n-change";function Pe(){typeof window>"u"||window.dispatchEvent(new Event(hr))}var Ve=!1;function br(){if(Ve||typeof window>"u"||!document?.documentElement)return;Ve=!0;let o=()=>{let a=W();C.locale!==a&&(C.activate(a),Pe())},r=new MutationObserver(a=>{for(let s of a)if(s.type==="attributes"&&s.attributeName==="lang"){o();break}});r.observe(document.documentElement,{attributes:!0,attributeFilter:["lang"]});let e=Oe();e&&e.documentElement&&e!==document&&r.observe(e.documentElement,{attributes:!0,attributeFilter:["lang"]});let t=pr();t&&r.observe(t,{attributes:!0,attributeFilter:["lang"]})}function Oe(){try{return window.parent?.document??null}catch{return null}}function Se(o){try{return o?.documentElement?.lang??""}catch{return""}}function pr(){try{return window.frameElement??null}catch{return null}}function ur(){try{return window.frameElement?.getAttribute?.("lang")??""}catch{return""}}import{css as gr}from"lit";import{unsafeCSS as vr}from"lit";var $e=gr`
10
10
  *,
11
11
  :before,
12
12
  :after {
@@ -2445,7 +2445,7 @@ Please compile your catalog first.
2445
2445
  display: none
2446
2446
  }
2447
2447
  }
2448
- `);var De=JSON.parse('{"select.label.optional":["(valgfrit)"]}');var Ae=JSON.parse('{"select.label.optional":["(optional)"]}');var Ne=JSON.parse('{"select.label.optional":["(vapaaehtoinen)"]}');var je=JSON.parse('{"select.label.optional":["(valgfritt)"]}');var Ye=JSON.parse('{"select.label.optional":["(valfritt)"]}');import{unsafeCSS as mr}from"lit";var Re=mr("*,:before,:after{--w-rotate:0;--w-rotate-x:0;--w-rotate-y:0;--w-rotate-z:0;--w-scale-x:1;--w-scale-y:1;--w-scale-z:1;--w-skew-x:0;--w-skew-y:0;--w-translate-x:0;--w-translate-y:0;--w-translate-z:0}.focus\\:\\[--w-outline-offset\\:-2px\\]:focus{--w-outline-offset:-2px}.bg-transparent{background-color:#0000}.appearance-none{-webkit-appearance:none;appearance:none}.border-0{border-width:0}.border-1{border-width:1px}.rounded-4{border-radius:4px}.caret-current{caret-color:currentColor}.opacity-25{opacity:.25}.block,.before\\:block:before{display:block}.flex{display:flex}.before\\:hidden:before{display:none}.focusable:focus{outline:2px solid var(--w-s-color-border-focus);outline-offset:var(--w-outline-offset,1px)}.focusable:focus-visible{outline:2px solid var(--w-s-color-border-focus);outline-offset:var(--w-outline-offset,1px)}.focusable:not(:focus-visible){outline:none}.outline-\\[--w-s-color-border-negative\\]\\!{outline-color:var(--w-s-color-border-negative)!important}.bottom-0{bottom:0}.right-0{right:0}.before\\:bottom-0:before{bottom:0}.before\\:right-0:before{right:0}.top-\\[30\\%\\]{top:30%}.absolute{position:absolute}.relative{position:relative}.static{position:static}.before\\:absolute:before{position:absolute}.s-bg{background-color:var(--w-s-color-background)}.s-bg-disabled-subtle{background-color:var(--w-s-color-background-disabled-subtle)}.s-text{color:var(--w-s-color-text)}.s-text-disabled{color:var(--w-s-color-text-disabled)}.s-text-negative{color:var(--w-s-color-text-negative)}.s-text-subtle{color:var(--w-s-color-text-subtle)}.s-icon{color:var(--w-s-color-icon)}.s-border-disabled{border-color:var(--w-s-color-border-disabled)}.s-border-negative{border-color:var(--w-s-color-border-negative)}.s-border-strong{border-color:var(--w-s-color-border-strong)}.hover\\:s-border-disabled:hover{border-color:var(--w-s-color-border-disabled)}.hover\\:s-border-negative-hover:hover{border-color:var(--w-s-color-border-negative-hover)}.hover\\:s-border-strong-hover:hover{border-color:var(--w-s-color-border-strong-hover)}.active\\:s-border-active:active{border-color:var(--w-s-color-border-active)}.active\\:s-border-disabled:active{border-color:var(--w-s-color-border-disabled)}.h-full{height:100%}.w-32{width:3.2rem}.w-full{width:100%}.before\\:h-full:before{height:100%}.before\\:w-32:before{width:3.2rem}.mb-0{margin-bottom:0}.mt-4{margin-top:.4rem}.py-12{padding-top:1.2rem;padding-bottom:1.2rem}.pb-4{padding-bottom:.4rem}.pl-0{padding-left:0}.pl-8{padding-left:.8rem}.pr-32{padding-right:3.2rem}.cursor-pointer{cursor:pointer}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-smoothing:grayscale}.font-bold{font-weight:700}.font-normal{font-weight:400}.pointer-events-none,.before\\:pointer-events-none:before{pointer-events:none}.text-m{font-size:var(--w-font-size-m);line-height:var(--w-line-height-m)}.text-s{font-size:var(--w-font-size-s);line-height:var(--w-line-height-s)}.text-xs{font-size:var(--w-font-size-xs);line-height:var(--w-line-height-xs)}");import{css as Ie}from"lit";var Xe=Ie`
2448
+ `);var De=JSON.parse('{"select.label.optional":["Valgfri"]}');var Ae=JSON.parse('{"select.label.optional":["Optional"]}');var Ne=JSON.parse('{"select.label.optional":["Valinnainen"]}');var je=JSON.parse('{"select.label.optional":["Valgfri"]}');var Ye=JSON.parse('{"select.label.optional":["Valfritt"]}');import{unsafeCSS as mr}from"lit";var Re=mr("*,:before,:after{--w-rotate:0;--w-rotate-x:0;--w-rotate-y:0;--w-rotate-z:0;--w-scale-x:1;--w-scale-y:1;--w-scale-z:1;--w-skew-x:0;--w-skew-y:0;--w-translate-x:0;--w-translate-y:0;--w-translate-z:0}.focus\\:\\[--w-outline-offset\\:-2px\\]:focus{--w-outline-offset:-2px}.bg-transparent{background-color:#0000}.appearance-none{-webkit-appearance:none;appearance:none}.border-0{border-width:0}.border-1{border-width:1px}.rounded-4{border-radius:4px}.caret-current{caret-color:currentColor}.opacity-25{opacity:.25}.block,.before\\:block:before{display:block}.flex{display:flex}.before\\:hidden:before{display:none}.focusable:focus{outline:2px solid var(--w-s-color-border-focus);outline-offset:var(--w-outline-offset,1px)}.focusable:focus-visible{outline:2px solid var(--w-s-color-border-focus);outline-offset:var(--w-outline-offset,1px)}.focusable:not(:focus-visible){outline:none}.outline-\\[--w-s-color-border-negative\\]\\!{outline-color:var(--w-s-color-border-negative)!important}.bottom-0{bottom:0}.right-0{right:0}.before\\:bottom-0:before{bottom:0}.before\\:right-0:before{right:0}.top-\\[30\\%\\]{top:30%}.absolute{position:absolute}.relative{position:relative}.static{position:static}.before\\:absolute:before{position:absolute}.s-bg{background-color:var(--w-s-color-background)}.s-bg-disabled-subtle{background-color:var(--w-s-color-background-disabled-subtle)}.s-text{color:var(--w-s-color-text)}.s-text-disabled{color:var(--w-s-color-text-disabled)}.s-text-negative{color:var(--w-s-color-text-negative)}.s-text-subtle{color:var(--w-s-color-text-subtle)}.s-icon{color:var(--w-s-color-icon)}.s-border-disabled{border-color:var(--w-s-color-border-disabled)}.s-border-negative{border-color:var(--w-s-color-border-negative)}.s-border-strong{border-color:var(--w-s-color-border-strong)}.hover\\:s-border-disabled:hover{border-color:var(--w-s-color-border-disabled)}.hover\\:s-border-negative-hover:hover{border-color:var(--w-s-color-border-negative-hover)}.hover\\:s-border-strong-hover:hover{border-color:var(--w-s-color-border-strong-hover)}.active\\:s-border-active:active{border-color:var(--w-s-color-border-active)}.active\\:s-border-disabled:active{border-color:var(--w-s-color-border-disabled)}.h-full{height:100%}.w-32{width:3.2rem}.w-full{width:100%}.before\\:h-full:before{height:100%}.before\\:w-32:before{width:3.2rem}.mb-0{margin-bottom:0}.mt-4{margin-top:.4rem}.py-12{padding-top:1.2rem;padding-bottom:1.2rem}.pb-4{padding-bottom:.4rem}.pl-0{padding-left:0}.pl-8{padding-left:.8rem}.pr-32{padding-right:3.2rem}.cursor-pointer{cursor:pointer}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-smoothing:grayscale}.font-bold{font-weight:700}.font-normal{font-weight:400}.pointer-events-none,.before\\:pointer-events-none:before{pointer-events:none}.text-m{font-size:var(--w-font-size-m);line-height:var(--w-line-height-m)}.text-s{font-size:var(--w-font-size-s);line-height:var(--w-line-height-s)}.text-xs{font-size:var(--w-font-size-xs);line-height:var(--w-line-height-xs)}");import{css as Ie}from"lit";var Xe=Ie`
2449
2449
  /* Label component tokens with semantic fallbacks */
2450
2450
  label {
2451
2451
  /* Internal tokens - not part of public API */
@@ -2555,7 +2555,7 @@ Please compile your catalog first.
2555
2555
  ${fe(this.label,()=>Z`<label for="${x(this,l,te)}">
2556
2556
  ${this.label}
2557
2557
  ${fe(this.optional,()=>Z`<span
2558
- >${C._({id:"select.label.optional",message:"(optional)",comment:"Shown behind label when marked as optional"})}</span
2558
+ >${C._({id:"select.label.optional",message:"Optional",comment:"Shown behind label when marked as optional"})}</span
2559
2559
  >`)}</label
2560
2560
  >`)}
2561
2561
  <div class="${M.selectWrapper}">
@@ -2591,7 +2591,7 @@ Please compile your catalog first.
2591
2591
  ?disabled=${F}
2592
2592
  >
2593
2593
  ${b}
2594
- </option>`});this._options=s,e&&a!==void 0&&a!==this.value&&this._setValue(a)},Be=function(){return q([M.base,!this.invalid&&!this.disabled&&!(this.readonly||this.readOnly)&&M.default,this.invalid&&M.invalid,this.disabled&&M.disabled,(this.readonly||this.readOnly)&&M.readOnly])},Ge=function(){return"help-text"},qe=function(){return q([M.chevron,this.disabled&&M.chevronDisabled])},te=function(){return"select_id"},oe=function(){return this.helpText||this.hint?`${x(this,l,te)}__hint`:void 0},v.styles=[Oe,Re,Xe,He,Cr`
2594
+ </option>`});this._options=s,e&&a!==void 0&&a!==this.value&&this._setValue(a)},Be=function(){return q([M.base,!this.invalid&&!this.disabled&&!(this.readonly||this.readOnly)&&M.default,this.invalid&&M.invalid,this.disabled&&M.disabled,(this.readonly||this.readOnly)&&M.readOnly])},Ge=function(){return"help-text"},qe=function(){return q([M.chevron,this.disabled&&M.chevronDisabled])},te=function(){return"select_id"},oe=function(){return this.helpText||this.hint?`${x(this,l,te)}__hint`:void 0},v.styles=[$e,Re,Xe,He,Cr`
2595
2595
  /* if there is an option with an empty value and it is selected */
2596
2596
  select:has(option[value=""][selected]),
2597
2597
  /* if there is an option with an empty value, and no other options are selected */