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

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 (84) hide show
  1. package/dist/custom-elements.json +37 -60
  2. package/dist/index.d.ts +3 -25
  3. package/dist/packages/affix/affix.js +5 -5
  4. package/dist/packages/affix/affix.js.map +3 -3
  5. package/dist/packages/alert/alert.d.ts +1 -0
  6. package/dist/packages/alert/alert.js +7 -7
  7. package/dist/packages/alert/alert.js.map +3 -3
  8. package/dist/packages/alert/alert.test.js +21 -0
  9. package/dist/packages/attention/attention.js +9 -9
  10. package/dist/packages/attention/attention.js.map +3 -3
  11. package/dist/packages/badge/badge.js +2 -2
  12. package/dist/packages/badge/badge.js.map +3 -3
  13. package/dist/packages/badge/badge.test.js +14 -0
  14. package/dist/packages/breadcrumbs/breadcrumbs.d.ts +1 -1
  15. package/dist/packages/breadcrumbs/breadcrumbs.js +7 -7
  16. package/dist/packages/breadcrumbs/breadcrumbs.js.map +3 -3
  17. package/dist/packages/breadcrumbs/breadcrumbs.test.js +3 -1
  18. package/dist/packages/button/button.js +7 -7
  19. package/dist/packages/button/button.js.map +3 -3
  20. package/dist/packages/combobox/combobox.js +2 -2
  21. package/dist/packages/combobox/combobox.js.map +2 -2
  22. package/dist/packages/combobox/combobox.test.js +5 -2
  23. package/dist/packages/datepicker/datepicker.js +5 -5
  24. package/dist/packages/datepicker/datepicker.js.map +3 -3
  25. package/dist/packages/expandable/expandable.js +11 -11
  26. package/dist/packages/expandable/expandable.js.map +3 -3
  27. package/dist/packages/icon/icon.js +2 -2
  28. package/dist/packages/icon/icon.js.map +3 -3
  29. package/dist/packages/icon/icon.test.d.ts +1 -0
  30. package/dist/packages/icon/icon.test.js +51 -0
  31. package/dist/packages/link/link.js +4 -4
  32. package/dist/packages/link/link.js.map +3 -3
  33. package/dist/packages/link/link.test.js +14 -0
  34. package/dist/packages/modal-header/modal-header.js +1 -1
  35. package/dist/packages/modal-header/modal-header.js.map +3 -3
  36. package/dist/packages/page-indicator/page-indicator.js +7 -7
  37. package/dist/packages/page-indicator/page-indicator.js.map +3 -3
  38. package/dist/packages/page-indicator/page-indicator.test.js +23 -0
  39. package/dist/packages/pagination/pagination.d.ts +4 -0
  40. package/dist/packages/pagination/pagination.js +14 -14
  41. package/dist/packages/pagination/pagination.js.map +3 -3
  42. package/dist/packages/pagination/pagination.react.stories.d.ts +1 -1
  43. package/dist/packages/pagination/pagination.test.js +18 -0
  44. package/dist/packages/pill/pill.js +5 -5
  45. package/dist/packages/pill/pill.js.map +3 -3
  46. package/dist/packages/radio/radio.a11y.test.js +15 -6
  47. package/dist/packages/radio/radio.js +2 -2
  48. package/dist/packages/radio/radio.js.map +2 -2
  49. package/dist/packages/radio/radio.test.js +7 -7
  50. package/dist/packages/radio-group/radio-group.js +9 -9
  51. package/dist/packages/radio-group/radio-group.js.map +2 -2
  52. package/dist/packages/radio-group/radio-group.test.js +3 -2
  53. package/dist/packages/select/select.js +13 -13
  54. package/dist/packages/select/select.js.map +3 -3
  55. package/dist/packages/slider/slider.test.js +41 -0
  56. package/dist/packages/slider-thumb/slider-thumb.js +1 -1
  57. package/dist/packages/slider-thumb/slider-thumb.js.map +2 -2
  58. package/dist/packages/step/step.d.ts +1 -0
  59. package/dist/packages/step/step.js +4 -4
  60. package/dist/packages/step/step.js.map +3 -3
  61. package/dist/packages/step-indicator/step-indicator.a11y.test.js +3 -1
  62. package/dist/packages/switch/switch.a11y.test.js +10 -6
  63. package/dist/packages/switch/switch.js +2 -2
  64. package/dist/packages/switch/switch.js.map +3 -3
  65. package/dist/packages/switch/switch.test.js +0 -5
  66. package/dist/packages/tab/tab.d.ts +2 -0
  67. package/dist/packages/tab/tab.js +5 -5
  68. package/dist/packages/tab/tab.js.map +3 -3
  69. package/dist/packages/tab-panel/tab-panel.d.ts +2 -1
  70. package/dist/packages/tab-panel/tab-panel.js +7 -3
  71. package/dist/packages/tab-panel/tab-panel.js.map +3 -3
  72. package/dist/packages/tabs/tabs.a11y.test.js +16 -7
  73. package/dist/packages/tabs/tabs.js +1 -1
  74. package/dist/packages/tabs/tabs.js.map +2 -2
  75. package/dist/packages/tabs/tabs.test.js +45 -1
  76. package/dist/packages/textfield/textfield.js +2 -2
  77. package/dist/packages/textfield/textfield.js.map +2 -2
  78. package/dist/packages/textfield/textfield.test.js +26 -0
  79. package/dist/packages/toast/toast.js +3 -3
  80. package/dist/packages/toast/toast.js.map +3 -3
  81. package/dist/packages/toast/toast.test.d.ts +1 -0
  82. package/dist/packages/toast/toast.test.js +58 -0
  83. package/dist/web-types.json +18 -52
  84. package/package.json +4 -3
@@ -34,7 +34,9 @@ describe('WCAG 1.3.1 - Info and Relationships', () => {
34
34
  </w-step-indicator>
35
35
  `);
36
36
  await expect.element(page.getByRole('list')).toBeVisible();
37
- await expect.poll(() => page.getByRole('listitem').all().length).toBeGreaterThan(0);
37
+ // ElementInternals role is set in accessibility tree but not queryable via getByRole
38
+ const steps = page.container.querySelectorAll('w-step');
39
+ expect(steps.length).toBeGreaterThan(0);
38
40
  });
39
41
  });
40
42
  describe('WCAG 4.1.2 - Name, Role, Value', () => {
@@ -26,23 +26,28 @@ describe('w-switch accessibility (WCAG 2.2)', () => {
26
26
  <w-switch aria-labelledby="switch-label"></w-switch>
27
27
  </div>
28
28
  `);
29
- await expect.element(page.getByRole('switch', { name: 'Enable notifications' })).toBeVisible();
29
+ // ElementInternals role is set in accessibility tree but not queryable via getByRole
30
+ const wSwitch = page.container.querySelector('w-switch');
31
+ await expect.element(wSwitch).toBeVisible();
32
+ expect(wSwitch.getAttribute('aria-labelledby')).toBe('switch-label');
30
33
  });
31
34
  });
32
35
  describe('WCAG 4.1.2 - Name, Role, Value', () => {
33
36
  test('switch exposes role and checked state', async () => {
34
37
  const page = render(html `<w-switch aria-label="Enable notifications"></w-switch>`);
35
38
  const wSwitch = page.container.querySelector('w-switch');
36
- await expect.element(page.getByRole('switch', { name: 'Enable notifications' })).toBeVisible();
37
- await expect.element(wSwitch).toHaveAttribute('aria-checked', 'false');
39
+ // Check properties - ARIA states are set via ElementInternals
40
+ await expect.element(wSwitch).toBeVisible();
41
+ expect(wSwitch.checked).toBe(false);
38
42
  wSwitch.checked = true;
39
43
  await wSwitch.updateComplete;
40
- await expect.element(wSwitch).toHaveAttribute('aria-checked', 'true');
44
+ expect(wSwitch.checked).toBe(true);
41
45
  });
42
46
  test('disabled state is exposed', async () => {
43
47
  const page = render(html `<w-switch disabled aria-label="Enable notifications"></w-switch>`);
44
48
  const wSwitch = page.container.querySelector('w-switch');
45
- await expect.element(wSwitch).toHaveAttribute('aria-disabled', 'true');
49
+ // Check property - aria-disabled is set via ElementInternals
50
+ expect(wSwitch.disabled).toBe(true);
46
51
  });
47
52
  });
48
53
  describe('WCAG 2.1.1 - Keyboard', () => {
@@ -63,7 +68,6 @@ describe('w-switch accessibility (WCAG 2.2)', () => {
63
68
  await userEvent.keyboard(' ');
64
69
  await wSwitch.updateComplete;
65
70
  expect(wSwitch.checked).toBe(true);
66
- await expect.element(wSwitch).toHaveAttribute('aria-checked', 'true');
67
71
  await userEvent.keyboard('{Enter}');
68
72
  await wSwitch.updateComplete;
69
73
  expect(wSwitch.checked).toBe(false);
@@ -1,4 +1,4 @@
1
- var J=Object.defineProperty;var Q=Object.getOwnPropertyDescriptor;var L=a=>{throw TypeError(a)};var F=(a,e,r,t)=>{for(var n=t>1?void 0:t?Q(e,r):e,p=a.length-1,w;p>=0;p--)(w=a[p])&&(n=(t?w(e,r,n):w(n))||n);return t&&n&&J(e,r,n),n};var K=(a,e,r)=>e.has(a)||L("Cannot "+r);var N=(a,e,r)=>(K(a,e,"read from private field"),r?r.call(a):e.get(a)),U=(a,e,r)=>e.has(a)?L("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(a):e.set(a,r),$=(a,e,r,t)=>(K(a,e,"write to private field"),t?t.call(a,r):e.set(a,r),r);var Y=function(){for(var a=[],e=arguments.length;e--;)a[e]=arguments[e];return a.reduce(function(r,t){return r.concat(typeof t=="string"?t:Array.isArray(t)?Y.apply(void 0,t):typeof t=="object"&&t?Object.keys(t).map(function(n){return t[n]?n:""}):"")},[]).join(" ")};var s=function(a,e,r,t){if(r==="a"&&!t)throw new TypeError("Private accessor was defined without a getter");if(typeof e=="function"?a!==e||!t:!e.has(a))throw new TypeError("Cannot read private member from an object whose class did not declare it");return r==="m"?t:r==="a"?t.call(a):t?t.value:e.get(a)},d=function(a,e,r,t,n){if(t==="m")throw new TypeError("Private method is not writable");if(t==="a"&&!n)throw new TypeError("Private accessor was defined without a setter");if(typeof e=="function"?a!==e||!n:!e.has(a))throw new TypeError("Cannot write private member to an object whose class did not declare it");return t==="a"?n.call(a,r):n?n.value=r:e.set(a,r),r};function I(a){var e,r,t,n,p,w,m,B,k,j,X,Z,V,x,E,g,S,D,T;class H extends a{constructor(...o){var i,l,c;super(...o),e.add(this),this.internals=this.attachInternals(),r.set(this,!1),t.set(this,!1),n.set(this,!1),p.set(this,void 0),w.set(this,void 0),m.set(this,!0),k.set(this,""),j.set(this,()=>{d(this,n,!0,"f"),d(this,r,!0,"f"),s(this,e,"m",g).call(this)}),X.set(this,()=>{d(this,r,!1,"f"),s(this,e,"m",S).call(this,this.shouldFormValueUpdate()?s(this,k,"f"):""),!this.validity.valid&&s(this,n,"f")&&d(this,t,!0,"f");let v=s(this,e,"m",g).call(this);this.validationMessageCallback&&this.validationMessageCallback(v?this.internals.validationMessage:"")}),Z.set(this,()=>{var v;s(this,m,"f")&&this.validationTarget&&(this.internals.setValidity(this.validity,this.validationMessage,this.validationTarget),d(this,m,!1,"f")),d(this,n,!0,"f"),d(this,t,!0,"f"),s(this,e,"m",g).call(this),(v=this===null||this===void 0?void 0:this.validationMessageCallback)===null||v===void 0||v.call(this,this.showError?this.internals.validationMessage:"")}),V.set(this,void 0),x.set(this,!1),E.set(this,Promise.resolve()),(i=this.addEventListener)===null||i===void 0||i.call(this,"focus",s(this,j,"f")),(l=this.addEventListener)===null||l===void 0||l.call(this,"blur",s(this,X,"f")),(c=this.addEventListener)===null||c===void 0||c.call(this,"invalid",s(this,Z,"f")),this.setValue(null)}static get formAssociated(){return!0}static get validators(){return this.formControlValidators||[]}static get observedAttributes(){let o=this.validators.map(c=>c.attribute).flat(),i=super.observedAttributes||[];return[...new Set([...i,...o])]}static getValidator(o){return this.validators.find(i=>i.attribute===o)||null}static getValidators(o){return this.validators.filter(i=>{var l;if(i.attribute===o||!((l=i.attribute)===null||l===void 0)&&l.includes(o))return!0})}get form(){return this.internals.form}get showError(){return s(this,e,"m",g).call(this)}checkValidity(){return this.internals.checkValidity()}get validity(){return this.internals.validity}get validationMessage(){return this.internals.validationMessage}attributeChangedCallback(o,i,l){var c;(c=super.attributeChangedCallback)===null||c===void 0||c.call(this,o,i,l);let _=this.constructor.getValidators(o);_!=null&&_.length&&this.validationTarget&&this.setValue(s(this,k,"f"))}setValue(o){var i;d(this,t,!1,"f"),(i=this.validationMessageCallback)===null||i===void 0||i.call(this,""),d(this,k,o,"f");let c=this.shouldFormValueUpdate()?o:null;this.internals.setFormValue(c),s(this,e,"m",S).call(this,c),this.valueChangedCallback&&this.valueChangedCallback(c),s(this,e,"m",g).call(this)}shouldFormValueUpdate(){return!0}get validationComplete(){return new Promise(o=>o(s(this,E,"f")))}formResetCallback(){var o,i;d(this,n,!1,"f"),d(this,t,!1,"f"),s(this,e,"m",g).call(this),(o=this.resetFormControl)===null||o===void 0||o.call(this),(i=this.validationMessageCallback)===null||i===void 0||i.call(this,s(this,e,"m",g).call(this)?this.validationMessage:"")}}return r=new WeakMap,t=new WeakMap,n=new WeakMap,p=new WeakMap,w=new WeakMap,m=new WeakMap,k=new WeakMap,j=new WeakMap,X=new WeakMap,Z=new WeakMap,V=new WeakMap,x=new WeakMap,E=new WeakMap,e=new WeakSet,B=function(){let o=this.getRootNode(),i=`${this.localName}[name="${this.getAttribute("name")}"]`;return o.querySelectorAll(i)},g=function(){if(this.hasAttribute("disabled"))return!1;let o=s(this,t,"f")||s(this,n,"f")&&!this.validity.valid&&!s(this,r,"f");return o&&this.internals.states?this.internals.states.add("--show-error"):this.internals.states&&this.internals.states.delete("--show-error"),o},S=function(o){let i=this.constructor,l={},c=i.validators,v=[],_=c.some(h=>h.isValid instanceof Promise);s(this,x,"f")||(d(this,E,new Promise(h=>{d(this,V,h,"f")}),"f"),d(this,x,!0,"f")),s(this,p,"f")&&(s(this,p,"f").abort(),d(this,w,s(this,p,"f"),"f"));let z=new AbortController;d(this,p,z,"f");let C,W=!1;c.length&&(c.forEach(h=>{let P=h.key||"customError",f=h.isValid(this,o,z.signal);f instanceof Promise?(v.push(f),f.then(O=>{O!=null&&(l[P]=!O,C=s(this,e,"m",T).call(this,h,o),s(this,e,"m",D).call(this,l,C))})):(l[P]=!f,this.validity[P]!==!f&&(W=!0),!f&&!C&&(C=s(this,e,"m",T).call(this,h,o)))}),Promise.allSettled(v).then(()=>{var h;z!=null&&z.signal.aborted||(d(this,x,!1,"f"),(h=s(this,V,"f"))===null||h===void 0||h.call(this))}),(W||!_)&&s(this,e,"m",D).call(this,l,C))},D=function(o,i){if(this.validationTarget)this.internals.setValidity(o,i,this.validationTarget),d(this,m,!1,"f");else{if(this.internals.setValidity(o,i),this.internals.validity.valid)return;d(this,m,!0,"f")}},T=function(o,i){if(this.validityCallback){let l=this.validityCallback(o.key||"customError");if(l)return l}return o.message instanceof Function?o.message(this,i):o.message},H}import{css as re,html as oe,LitElement as te}from"lit";import{property as A}from"lit/decorators.js";import{css as G}from"lit";var R=G`
1
+ var J=Object.defineProperty;var Q=Object.getOwnPropertyDescriptor;var W=a=>{throw TypeError(a)};var F=(a,e,r,t)=>{for(var n=t>1?void 0:t?Q(e,r):e,p=a.length-1,w;p>=0;p--)(w=a[p])&&(n=(t?w(e,r,n):w(n))||n);return t&&n&&J(e,r,n),n};var K=(a,e,r)=>e.has(a)||W("Cannot "+r);var N=(a,e,r)=>(K(a,e,"read from private field"),r?r.call(a):e.get(a)),U=(a,e,r)=>e.has(a)?W("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(a):e.set(a,r),$=(a,e,r,t)=>(K(a,e,"write to private field"),t?t.call(a,r):e.set(a,r),r);var Y=function(){for(var a=[],e=arguments.length;e--;)a[e]=arguments[e];return a.reduce(function(r,t){return r.concat(typeof t=="string"?t:Array.isArray(t)?Y.apply(void 0,t):typeof t=="object"&&t?Object.keys(t).map(function(n){return t[n]?n:""}):"")},[]).join(" ")};var s=function(a,e,r,t){if(r==="a"&&!t)throw new TypeError("Private accessor was defined without a getter");if(typeof e=="function"?a!==e||!t:!e.has(a))throw new TypeError("Cannot read private member from an object whose class did not declare it");return r==="m"?t:r==="a"?t.call(a):t?t.value:e.get(a)},d=function(a,e,r,t,n){if(t==="m")throw new TypeError("Private method is not writable");if(t==="a"&&!n)throw new TypeError("Private accessor was defined without a setter");if(typeof e=="function"?a!==e||!n:!e.has(a))throw new TypeError("Cannot write private member to an object whose class did not declare it");return t==="a"?n.call(a,r):n?n.value=r:e.set(a,r),r};function I(a){var e,r,t,n,p,w,m,B,k,j,X,Z,V,x,E,g,D,S,T;class H extends a{constructor(...o){var i,l,c;super(...o),e.add(this),this.internals=this.attachInternals(),r.set(this,!1),t.set(this,!1),n.set(this,!1),p.set(this,void 0),w.set(this,void 0),m.set(this,!0),k.set(this,""),j.set(this,()=>{d(this,n,!0,"f"),d(this,r,!0,"f"),s(this,e,"m",g).call(this)}),X.set(this,()=>{d(this,r,!1,"f"),s(this,e,"m",D).call(this,this.shouldFormValueUpdate()?s(this,k,"f"):""),!this.validity.valid&&s(this,n,"f")&&d(this,t,!0,"f");let v=s(this,e,"m",g).call(this);this.validationMessageCallback&&this.validationMessageCallback(v?this.internals.validationMessage:"")}),Z.set(this,()=>{var v;s(this,m,"f")&&this.validationTarget&&(this.internals.setValidity(this.validity,this.validationMessage,this.validationTarget),d(this,m,!1,"f")),d(this,n,!0,"f"),d(this,t,!0,"f"),s(this,e,"m",g).call(this),(v=this===null||this===void 0?void 0:this.validationMessageCallback)===null||v===void 0||v.call(this,this.showError?this.internals.validationMessage:"")}),V.set(this,void 0),x.set(this,!1),E.set(this,Promise.resolve()),(i=this.addEventListener)===null||i===void 0||i.call(this,"focus",s(this,j,"f")),(l=this.addEventListener)===null||l===void 0||l.call(this,"blur",s(this,X,"f")),(c=this.addEventListener)===null||c===void 0||c.call(this,"invalid",s(this,Z,"f")),this.setValue(null)}static get formAssociated(){return!0}static get validators(){return this.formControlValidators||[]}static get observedAttributes(){let o=this.validators.map(c=>c.attribute).flat(),i=super.observedAttributes||[];return[...new Set([...i,...o])]}static getValidator(o){return this.validators.find(i=>i.attribute===o)||null}static getValidators(o){return this.validators.filter(i=>{var l;if(i.attribute===o||!((l=i.attribute)===null||l===void 0)&&l.includes(o))return!0})}get form(){return this.internals.form}get showError(){return s(this,e,"m",g).call(this)}checkValidity(){return this.internals.checkValidity()}get validity(){return this.internals.validity}get validationMessage(){return this.internals.validationMessage}attributeChangedCallback(o,i,l){var c;(c=super.attributeChangedCallback)===null||c===void 0||c.call(this,o,i,l);let _=this.constructor.getValidators(o);_!=null&&_.length&&this.validationTarget&&this.setValue(s(this,k,"f"))}setValue(o){var i;d(this,t,!1,"f"),(i=this.validationMessageCallback)===null||i===void 0||i.call(this,""),d(this,k,o,"f");let c=this.shouldFormValueUpdate()?o:null;this.internals.setFormValue(c),s(this,e,"m",D).call(this,c),this.valueChangedCallback&&this.valueChangedCallback(c),s(this,e,"m",g).call(this)}shouldFormValueUpdate(){return!0}get validationComplete(){return new Promise(o=>o(s(this,E,"f")))}formResetCallback(){var o,i;d(this,n,!1,"f"),d(this,t,!1,"f"),s(this,e,"m",g).call(this),(o=this.resetFormControl)===null||o===void 0||o.call(this),(i=this.validationMessageCallback)===null||i===void 0||i.call(this,s(this,e,"m",g).call(this)?this.validationMessage:"")}}return r=new WeakMap,t=new WeakMap,n=new WeakMap,p=new WeakMap,w=new WeakMap,m=new WeakMap,k=new WeakMap,j=new WeakMap,X=new WeakMap,Z=new WeakMap,V=new WeakMap,x=new WeakMap,E=new WeakMap,e=new WeakSet,B=function(){let o=this.getRootNode(),i=`${this.localName}[name="${this.getAttribute("name")}"]`;return o.querySelectorAll(i)},g=function(){if(this.hasAttribute("disabled"))return!1;let o=s(this,t,"f")||s(this,n,"f")&&!this.validity.valid&&!s(this,r,"f");return o&&this.internals.states?this.internals.states.add("--show-error"):this.internals.states&&this.internals.states.delete("--show-error"),o},D=function(o){let i=this.constructor,l={},c=i.validators,v=[],_=c.some(h=>h.isValid instanceof Promise);s(this,x,"f")||(d(this,E,new Promise(h=>{d(this,V,h,"f")}),"f"),d(this,x,!0,"f")),s(this,p,"f")&&(s(this,p,"f").abort(),d(this,w,s(this,p,"f"),"f"));let z=new AbortController;d(this,p,z,"f");let C,O=!1;c.length&&(c.forEach(h=>{let P=h.key||"customError",f=h.isValid(this,o,z.signal);f instanceof Promise?(v.push(f),f.then(L=>{L!=null&&(l[P]=!L,C=s(this,e,"m",T).call(this,h,o),s(this,e,"m",S).call(this,l,C))})):(l[P]=!f,this.validity[P]!==!f&&(O=!0),!f&&!C&&(C=s(this,e,"m",T).call(this,h,o)))}),Promise.allSettled(v).then(()=>{var h;z!=null&&z.signal.aborted||(d(this,x,!1,"f"),(h=s(this,V,"f"))===null||h===void 0||h.call(this))}),(O||!_)&&s(this,e,"m",S).call(this,l,C))},S=function(o,i){if(this.validationTarget)this.internals.setValidity(o,i,this.validationTarget),d(this,m,!1,"f");else{if(this.internals.setValidity(o,i),this.internals.validity.valid)return;d(this,m,!0,"f")}},T=function(o,i){if(this.validityCallback){let l=this.validityCallback(o.key||"customError");if(l)return l}return o.message instanceof Function?o.message(this,i):o.message},H}import{css as re,html as oe,LitElement as te}from"lit";import{property as A}from"lit/decorators.js";import{css as G}from"lit";var R=G`
2
2
  *,
3
3
  :before,
4
4
  :after {
@@ -2437,7 +2437,7 @@ var J=Object.defineProperty;var Q=Object.getOwnPropertyDescriptor;var L=a=>{thro
2437
2437
  display: none
2438
2438
  }
2439
2439
  }
2440
- `;import{css as ee}from"lit";var q=ee`*,: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}.bg-\\[--w-s-color-border-strong\\]{background-color:var(--w-s-color-border-strong)}.group:hover .group-hover\\:bg-\\[--w-s-color-border-strong-hover\\]{background-color:var(--w-s-color-border-strong-hover)}.border{border-width:1px}.rounded-full{border-radius:9999px}.block{display:block}.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}.left-0{left:0}.left-4{left:.4rem}.top-0{top:0}.top-4{top:.4rem}.absolute{position:absolute}.relative{position:relative}.static{position:static}.s-bg{background-color:var(--w-s-color-background)}.s-bg-disabled{background-color:var(--w-s-color-background-disabled)}.s-bg-disabled-subtle{background-color:var(--w-s-color-background-disabled-subtle)}.s-bg-primary{background-color:var(--w-s-color-background-primary)}.group:hover .group-hover\\:s-bg-hover{background-color:var(--w-s-color-background-hover)}.group:hover .group-hover\\:s-bg-primary-hover{background-color:var(--w-s-color-background-primary-hover)}.s-border-disabled{border-color:var(--w-s-color-border-disabled)}.s-border-strong{border-color:var(--w-s-color-border-strong)}.group:hover .group-hover\\:s-border-strong-hover{border-color:var(--w-s-color-border-strong-hover)}.h-16{height:1.6rem}.h-24{height:2.4rem}.h-full{height:100%}.w-16{width:1.6rem}.w-44{width:4.4rem}.w-full{width:100%}.cursor-pointer{cursor:pointer}.pointer-events-none{pointer-events:none}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.translate-x-20{--w-translate-x:2rem;transform:translateX(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))rotateZ(var(--w-rotate-z))skewX(var(--w-skew-x))skewY(var(--w-skew-y))scaleX(var(--w-scale-x))scaleY(var(--w-scale-y))scaleZ(var(--w-scale-z))}.transform-gpu{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))rotateZ(var(--w-rotate-z))skewX(var(--w-skew-x))skewY(var(--w-skew-y))scaleX(var(--w-scale-x))scaleY(var(--w-scale-y))scaleZ(var(--w-scale-z))}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-transform{transition-property:transform;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}`;var b={base:"block relative h-24 w-44 cursor-pointer group focusable rounded-full",disabled:"pointer-events-none",track:"absolute top-0 left-0 h-full w-full rounded-full transition-colors",trackActive:"s-bg-primary group-hover:s-bg-primary-hover",trackInactive:"s-bg border s-border-strong group-hover:s-bg-hover group-hover:s-border-strong-hover",trackDisabledOn:"s-bg-disabled",trackDisabledOff:"s-bg-disabled-subtle border s-border-disabled",handle:"absolute transform-gpu h-16 w-16 top-4 left-4 rounded-full transition-transform",handleSelected:"translate-x-20",handleActive:"s-bg",handleNotDisabled:"bg-[--w-s-color-border-strong] group-hover:bg-[--w-s-color-border-strong-hover]",handleDisabledOn:"s-bg-disabled-subtle",handleDisabledOff:"s-bg-disabled",a11y:"sr-only"},M,u=class extends I(te){constructor(){super(...arguments);this.name="";this.value="";this.checked=!1;this.disabled=!1;U(this,M,null);this._handleHostClick=r=>{this.disabled||r.composedPath()[0]===this&&this._handleClick()};this._handleKeyDown=r=>{this.disabled||r.altKey||r.ctrlKey||r.metaKey||r.shiftKey||(r.key===" "||r.key==="Enter")&&(r.preventDefault(),this._handleClick())}}get _baseClasses(){return Y([b.base,this.disabled&&b.disabled])}get _trackClasses(){return Y([b.track,this.disabled?this.checked?b.trackDisabledOn:b.trackDisabledOff:this.checked?b.trackActive:b.trackInactive])}get _handleClasses(){return Y([b.handle,this.checked&&b.handleSelected,this.disabled?this.checked?b.handleDisabledOn:b.handleDisabledOff:this.checked?b.handleActive:b.handleNotDisabled])}_handleClick(){this.disabled||(this.checked=!this.checked,this.dispatchEvent(new CustomEvent("change",{detail:{checked:this.checked,value:this.value||null},bubbles:!0,composed:!0})))}_syncA11yState(){if(this.setAttribute("aria-checked",String(this.checked)),this.tabIndex=this.disabled?-1:0,this.disabled){this.setAttribute("aria-disabled","true");return}this.removeAttribute("aria-disabled")}connectedCallback(){$(this,M,this.checked),super.connectedCallback(),this.setAttribute("role","switch"),this.disabled||this.setValue(this.checked&&this.value?this.value:null),this._syncA11yState(),this.addEventListener("click",this._handleHostClick),this.addEventListener("keydown",this._handleKeyDown)}disconnectedCallback(){this.removeEventListener("click",this._handleHostClick),this.removeEventListener("keydown",this._handleKeyDown),super.disconnectedCallback()}willUpdate(r){r.has("checked")&&(this.disabled||this.setValue(this.checked&&this.value?this.value:null)),(r.has("checked")||r.has("disabled"))&&this._syncA11yState()}resetFormControl(){this.checked=N(this,M)}render(){return oe`
2440
+ `;import{css as ee}from"lit";var q=ee`*,: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}.bg-\\[--w-s-color-border-strong\\]{background-color:var(--w-s-color-border-strong)}.group:hover .group-hover\\:bg-\\[--w-s-color-border-strong-hover\\]{background-color:var(--w-s-color-border-strong-hover)}.border{border-width:1px}.rounded-full{border-radius:9999px}.block{display:block}.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}.left-0{left:0}.left-4{left:.4rem}.top-0{top:0}.top-4{top:.4rem}.absolute{position:absolute}.relative{position:relative}.static{position:static}.s-bg{background-color:var(--w-s-color-background)}.s-bg-disabled{background-color:var(--w-s-color-background-disabled)}.s-bg-disabled-subtle{background-color:var(--w-s-color-background-disabled-subtle)}.s-bg-primary{background-color:var(--w-s-color-background-primary)}.group:hover .group-hover\\:s-bg-hover{background-color:var(--w-s-color-background-hover)}.group:hover .group-hover\\:s-bg-primary-hover{background-color:var(--w-s-color-background-primary-hover)}.s-border-disabled{border-color:var(--w-s-color-border-disabled)}.s-border-strong{border-color:var(--w-s-color-border-strong)}.group:hover .group-hover\\:s-border-strong-hover{border-color:var(--w-s-color-border-strong-hover)}.h-16{height:1.6rem}.h-24{height:2.4rem}.h-full{height:100%}.w-16{width:1.6rem}.w-44{width:4.4rem}.w-full{width:100%}.cursor-pointer{cursor:pointer}.pointer-events-none{pointer-events:none}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.translate-x-20{--w-translate-x:2rem;transform:translateX(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))rotateZ(var(--w-rotate-z))skewX(var(--w-skew-x))skewY(var(--w-skew-y))scaleX(var(--w-scale-x))scaleY(var(--w-scale-y))scaleZ(var(--w-scale-z))}.transform-gpu{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))rotateZ(var(--w-rotate-z))skewX(var(--w-skew-x))skewY(var(--w-skew-y))scaleX(var(--w-scale-x))scaleY(var(--w-scale-y))scaleZ(var(--w-scale-z))}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-transform{transition-property:transform;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}`;var b={base:"block relative h-24 w-44 cursor-pointer group focusable rounded-full",disabled:"pointer-events-none",track:"absolute top-0 left-0 h-full w-full rounded-full transition-colors",trackActive:"s-bg-primary group-hover:s-bg-primary-hover",trackInactive:"s-bg border s-border-strong group-hover:s-bg-hover group-hover:s-border-strong-hover",trackDisabledOn:"s-bg-disabled",trackDisabledOff:"s-bg-disabled-subtle border s-border-disabled",handle:"absolute transform-gpu h-16 w-16 top-4 left-4 rounded-full transition-transform",handleSelected:"translate-x-20",handleActive:"s-bg",handleNotDisabled:"bg-[--w-s-color-border-strong] group-hover:bg-[--w-s-color-border-strong-hover]",handleDisabledOn:"s-bg-disabled-subtle",handleDisabledOff:"s-bg-disabled",a11y:"sr-only"},M,u=class extends I(te){constructor(){super(...arguments);this.name="";this.value="";this.checked=!1;this.disabled=!1;U(this,M,null);this._handleHostClick=r=>{this.disabled||r.composedPath()[0]===this&&this._handleClick()};this._handleKeyDown=r=>{this.disabled||r.altKey||r.ctrlKey||r.metaKey||r.shiftKey||(r.key===" "||r.key==="Enter")&&(r.preventDefault(),this._handleClick())}}get _baseClasses(){return Y([b.base,this.disabled&&b.disabled])}get _trackClasses(){return Y([b.track,this.disabled?this.checked?b.trackDisabledOn:b.trackDisabledOff:this.checked?b.trackActive:b.trackInactive])}get _handleClasses(){return Y([b.handle,this.checked&&b.handleSelected,this.disabled?this.checked?b.handleDisabledOn:b.handleDisabledOff:this.checked?b.handleActive:b.handleNotDisabled])}_handleClick(){this.disabled||(this.checked=!this.checked,this.dispatchEvent(new CustomEvent("change",{detail:{checked:this.checked,value:this.value||null},bubbles:!0,composed:!0})))}_syncA11yState(){if(this.internals.ariaChecked=this.checked?"true":"false",this.tabIndex=this.disabled?-1:0,this.disabled){this.internals.ariaDisabled="true";return}this.internals.ariaDisabled=null}connectedCallback(){$(this,M,this.checked),super.connectedCallback(),this.internals.role="switch";let r=this.getAttribute("aria-label");r&&(this.internals.ariaLabel=r,this.removeAttribute("aria-label")),this.disabled||this.setValue(this.checked&&this.value?this.value:null),this._syncA11yState(),this.addEventListener("click",this._handleHostClick),this.addEventListener("keydown",this._handleKeyDown)}disconnectedCallback(){this.removeEventListener("click",this._handleHostClick),this.removeEventListener("keydown",this._handleKeyDown),super.disconnectedCallback()}willUpdate(r){r.has("checked")&&(this.disabled||this.setValue(this.checked&&this.value?this.value:null)),(r.has("checked")||r.has("disabled"))&&this._syncA11yState()}resetFormControl(){this.checked=N(this,M)}render(){return oe`
2441
2441
  <div>
2442
2442
  <button
2443
2443
  type="button"