@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
@@ -0,0 +1 @@
1
+ import './select.js';
@@ -0,0 +1,37 @@
1
+ import { describe, expect, test, beforeEach, afterEach } from 'vitest';
2
+ import { setupHydrationWarningCapture, testHydration } from '../../tests/react-hydration';
3
+ import './select.js';
4
+ describe('w-select 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-select', {});
11
+ expect(warnings).toEqual([]);
12
+ });
13
+ test('with label hydrates without warnings', async () => {
14
+ const warnings = await testHydration('w-select', {
15
+ label: 'Country',
16
+ });
17
+ expect(warnings).toEqual([]);
18
+ });
19
+ test('with disabled state hydrates without warnings', async () => {
20
+ const warnings = await testHydration('w-select', {
21
+ disabled: true,
22
+ });
23
+ expect(warnings).toEqual([]);
24
+ });
25
+ test('with invalid state hydrates without warnings', async () => {
26
+ const warnings = await testHydration('w-select', {
27
+ invalid: true,
28
+ });
29
+ expect(warnings).toEqual([]);
30
+ });
31
+ test('with help text hydrates without warnings', async () => {
32
+ const warnings = await testHydration('w-select', {
33
+ 'help-text': 'Select your country',
34
+ });
35
+ expect(warnings).toEqual([]);
36
+ });
37
+ });
@@ -2471,7 +2471,7 @@ Please compile your catalog first.
2471
2471
  --w-icon-size: 32px;
2472
2472
  }
2473
2473
 
2474
- `;var ke=new Map,Xr='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32"></svg>';function Br(o,e={}){var t;let r=(t=e.responseParser)!=null?t:(a=>a.text());return ke.has(o)||ke.set(o,fetch(o).then(r)),ke.get(o)}var $=class extends Yr{constructor(){super(...arguments);this.name="";this.svg=null}async fetchIcon(r){let a=`https://assets.finn.no/pkg/eikons/v1/${this.locale||"en"}/${r}.svg`;try{let i=await Br(a);return new DOMParser().parseFromString(i,"text/html").body.querySelector("svg")}catch(i){return null}}firstUpdated(){this.loadIcon()}updated(r){(r.has("name")||r.has("locale"))&&this.loadIcon()}async loadIcon(){if(!this.name){this.svg=null;return}let r=await this.fetchIcon(this.name);r||(r=new DOMParser().parseFromString(Xr,"text/html").body.firstElementChild),this.svg=r}render(){let r=this.size||"medium",t={"w-icon":!0,"w-icon--s":r==="small","w-icon--m":r==="medium","w-icon--l":r==="large"},a=typeof r=="string"&&r.endsWith("px")?`--w-icon-size: ${r};`:"";return Rr`<div class="${Hr(t)}" style="${a}" part="w-${this.name.toLowerCase()}">${this.svg}</div>`}};$.styles=[or],p([ye({type:String,reflect:!0})],$.prototype,"name",2),p([ye({type:String,reflect:!0})],$.prototype,"size",2),p([ye({type:String,reflect:!0})],$.prototype,"locale",2),p([Ur()],$.prototype,"svg",2);customElements.get("w-icon")||customElements.define("w-icon",$);var S={base:"block text-m mb-0 py-12 pr-32 rounded-4 w-full focusable focus:[--w-outline-offset:-2px] appearance-none cursor-pointer caret-current",default:"s-text s-bg pl-8 border-1 s-border-strong hover:s-border-strong-hover active:s-border-active",disabled:"s-text-disabled s-bg-disabled-subtle pl-8 border-1 s-border-disabled hover:s-border-disabled active:s-border-disabled pointer-events-none",invalid:"s-text s-bg pl-8 border-1 s-border-negative hover:s-border-negative-hover active:s-border-active outline-[--w-s-color-border-negative]!",readOnly:"s-text bg-transparent pl-0 border-0 pointer-events-none before:hidden",wrapper:"relative",selectWrapper:"relative before:block before:absolute before:right-0 before:bottom-0 before:w-32 before:h-full before:pointer-events-none ",chevron:"block absolute top-[30%] right-0 bottom-0 w-32 h-full s-icon pointer-events-none cursor-pointer",chevronDisabled:"opacity-25"},tr={base:"antialiased block relative text-s font-bold pb-4 cursor-pointer s-text",optional:"pl-8 font-normal text-s s-text-subtle"},ze={base:"text-xs mt-4 block",color:"s-text-subtle",colorInvalid:"s-text-negative"},Q,W,U,l,Me,ie,ar,Y,se,Ee,ir,sr,nr,ne,le,m=class extends Ye(Gr){constructor(){super();q(this,l);this.autoFocus=!1;this.autofocus=!1;this.invalid=!1;this.always=!1;this.optional=!1;this.disabled=!1;this.readOnly=!1;this.readonly=!1;q(this,Q,null);q(this,W,()=>w(this,l,se).call(this));q(this,U);this._setValue=r=>{this.value=r,this.setValue(r)};Xe(Ke,We,Qe,Je,er)}resetFormControl(){this.value=x(this,Q)}connectedCallback(){var r,t;super.connectedCallback(),pe(this,Q,this.value),(this.autofocus||this.autoFocus)&&this.shadowRoot.querySelector("select").focus(),w(this,l,Ee).call(this,{syncValueFromSelected:!0}),(t=(r=this.ownerDocument)==null?void 0:r.defaultView)==null||t.addEventListener("pageshow",x(this,W)),pe(this,U,new MutationObserver(()=>{w(this,l,Ee).call(this,{syncValueFromSelected:!0})})),x(this,U).observe(this,{childList:!0,subtree:!0,characterData:!0,attributes:!0,attributeFilter:["selected","disabled","value"]})}disconnectedCallback(){var r,t,a;super.disconnectedCallback(),(t=(r=this.ownerDocument)==null?void 0:r.defaultView)==null||t.removeEventListener("pageshow",x(this,W)),(a=x(this,U))==null||a.disconnect()}firstUpdated(){this.value&&w(this,l,Y).call(this,this.value),w(this,l,se).call(this,{allowDefaultFirstOption:!1})}formStateRestoreCallback(r,t){if(typeof r=="string"&&r){this._setValue(r),w(this,l,Y).call(this,r);return}w(this,l,se).call(this,{allowDefaultFirstOption:!0})}willUpdate(r){r.has("value")&&this.setValue(this.value)}updated(r){var t,a;if(r.has("value")){let i=w(this,l,ie).call(this);i&&i.value!==this.value&&(i.value=(t=this.value)!=null?t:""),w(this,l,Y).call(this,(a=this.value)!=null?a:"")}}handleKeyDown(r){(this.readonly||this.readOnly)&&(r.key===" "||r.key==="ArrowDown"||r.key==="ArrowUp")&&r.preventDefault()}onChange(r){let a=r.currentTarget.value;r.stopPropagation(),this._setValue(a),w(this,l,Y).call(this,a),this.dispatchEvent(new CustomEvent("change",{detail:a,bubbles:!0,composed:!0}))}render(){return K`<div class="${S.wrapper}">
2474
+ `;var ke=new Map,Xr='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32"></svg>';function Br(o,e={}){var t;let r=(t=e.responseParser)!=null?t:(a=>a.text());return ke.has(o)||ke.set(o,fetch(o).then(r)),ke.get(o)}var $=class extends Yr{constructor(){super(...arguments);this.svg=null}async fetchIcon(r){let a=`https://assets.finn.no/pkg/eikons/v1/${this.locale||"en"}/${r}.svg`;try{let i=await Br(a);return new DOMParser().parseFromString(i,"text/html").body.querySelector("svg")}catch(i){return null}}firstUpdated(){this.loadIcon()}updated(r){(r.has("name")||r.has("locale"))&&this.loadIcon()}async loadIcon(){if(!this.name){this.svg=null;return}let r=await this.fetchIcon(this.name);r||(r=new DOMParser().parseFromString(Xr,"text/html").body.firstElementChild),this.svg=r}render(){let r=this.size||"medium",t=this.name||"",a={"w-icon":!0,"w-icon--s":r==="small","w-icon--m":r==="medium","w-icon--l":r==="large"},i=typeof r=="string"&&r.endsWith("px")?`--w-icon-size: ${r};`:"";return Rr`<div class="${Hr(a)}" style="${i}" part="w-${t.toLowerCase()}">${this.svg}</div>`}};$.styles=[or],p([ye({type:String,reflect:!0})],$.prototype,"name",2),p([ye({type:String,reflect:!0})],$.prototype,"size",2),p([ye({type:String,reflect:!0})],$.prototype,"locale",2),p([Ur()],$.prototype,"svg",2);customElements.get("w-icon")||customElements.define("w-icon",$);var S={base:"block text-m mb-0 py-12 pr-32 rounded-4 w-full focusable focus:[--w-outline-offset:-2px] appearance-none cursor-pointer caret-current",default:"s-text s-bg pl-8 border-1 s-border-strong hover:s-border-strong-hover active:s-border-active",disabled:"s-text-disabled s-bg-disabled-subtle pl-8 border-1 s-border-disabled hover:s-border-disabled active:s-border-disabled pointer-events-none",invalid:"s-text s-bg pl-8 border-1 s-border-negative hover:s-border-negative-hover active:s-border-active outline-[--w-s-color-border-negative]!",readOnly:"s-text bg-transparent pl-0 border-0 pointer-events-none before:hidden",wrapper:"relative",selectWrapper:"relative before:block before:absolute before:right-0 before:bottom-0 before:w-32 before:h-full before:pointer-events-none ",chevron:"block absolute top-[30%] right-0 bottom-0 w-32 h-full s-icon pointer-events-none cursor-pointer",chevronDisabled:"opacity-25"},tr={base:"antialiased block relative text-s font-bold pb-4 cursor-pointer s-text",optional:"pl-8 font-normal text-s s-text-subtle"},ze={base:"text-xs mt-4 block",color:"s-text-subtle",colorInvalid:"s-text-negative"},Q,W,U,l,Me,ie,ar,Y,se,Ee,ir,sr,nr,ne,le,m=class extends Ye(Gr){constructor(){super();q(this,l);this.autoFocus=!1;this.autofocus=!1;this.invalid=!1;this.always=!1;this.optional=!1;this.disabled=!1;this.readOnly=!1;this.readonly=!1;q(this,Q,null);q(this,W,()=>w(this,l,se).call(this));q(this,U);this._setValue=r=>{this.value=r,this.setValue(r)};Xe(Ke,We,Qe,Je,er)}resetFormControl(){this.value=x(this,Q)}connectedCallback(){var r,t;super.connectedCallback(),pe(this,Q,this.value),(this.autofocus||this.autoFocus)&&this.shadowRoot.querySelector("select").focus(),w(this,l,Ee).call(this,{syncValueFromSelected:!0}),(t=(r=this.ownerDocument)==null?void 0:r.defaultView)==null||t.addEventListener("pageshow",x(this,W)),pe(this,U,new MutationObserver(()=>{w(this,l,Ee).call(this,{syncValueFromSelected:!0})})),x(this,U).observe(this,{childList:!0,subtree:!0,characterData:!0,attributes:!0,attributeFilter:["selected","disabled","value"]})}disconnectedCallback(){var r,t,a;super.disconnectedCallback(),(t=(r=this.ownerDocument)==null?void 0:r.defaultView)==null||t.removeEventListener("pageshow",x(this,W)),(a=x(this,U))==null||a.disconnect()}firstUpdated(){this.value&&w(this,l,Y).call(this,this.value),w(this,l,se).call(this,{allowDefaultFirstOption:!1})}formStateRestoreCallback(r,t){if(typeof r=="string"&&r){this._setValue(r),w(this,l,Y).call(this,r);return}w(this,l,se).call(this,{allowDefaultFirstOption:!0})}willUpdate(r){r.has("value")&&this.setValue(this.value)}updated(r){var t,a;if(r.has("value")){let i=w(this,l,ie).call(this);i&&i.value!==this.value&&(i.value=(t=this.value)!=null?t:""),w(this,l,Y).call(this,(a=this.value)!=null?a:"")}}handleKeyDown(r){(this.readonly||this.readOnly)&&(r.key===" "||r.key==="ArrowDown"||r.key==="ArrowUp")&&r.preventDefault()}onChange(r){let a=r.currentTarget.value;r.stopPropagation(),this._setValue(a),w(this,l,Y).call(this,a),this.dispatchEvent(new CustomEvent("change",{detail:a,bubbles:!0,composed:!0}))}render(){return K`<div class="${S.wrapper}">
2475
2475
  ${Ce(this.label,()=>K`<label class="${tr.base}" for="${x(this,l,ne)}">
2476
2476
  ${this.label}
2477
2477
  ${Ce(this.optional,()=>K`<span class="${tr.optional}"