@warp-ds/elements 2.10.0-next.14 → 2.10.0-next.15

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 (119) hide show
  1. package/dist/custom-elements.json +372 -0
  2. package/dist/docs/attention/api.md +48 -0
  3. package/dist/docs/attention/attention.md +48 -0
  4. package/dist/docs/button/api.md +8 -0
  5. package/dist/docs/button/button.md +8 -0
  6. package/dist/docs/card/api.md +8 -0
  7. package/dist/docs/card/card.md +8 -0
  8. package/dist/docs/checkbox/api.md +48 -0
  9. package/dist/docs/checkbox/checkbox.md +48 -0
  10. package/dist/docs/checkbox-group/api.md +24 -0
  11. package/dist/docs/checkbox-group/checkbox-group.md +24 -0
  12. package/dist/docs/combobox/api.md +8 -0
  13. package/dist/docs/combobox/combobox.md +8 -0
  14. package/dist/docs/datepicker/api.md +8 -0
  15. package/dist/docs/datepicker/datepicker.md +8 -0
  16. package/dist/docs/index.md +2 -0
  17. package/dist/docs/modal/api.md +16 -0
  18. package/dist/docs/modal/modal.md +16 -0
  19. package/dist/docs/slider-thumb/api.md +16 -0
  20. package/dist/docs/slider-thumb/slider-thumb.md +16 -0
  21. package/dist/docs/snackbar/accessibility.md +20 -0
  22. package/dist/docs/snackbar/api.md +30 -0
  23. package/dist/docs/snackbar/examples.md +191 -0
  24. package/dist/docs/snackbar/snackbar.md +385 -0
  25. package/dist/docs/snackbar/styling.md +72 -0
  26. package/dist/docs/snackbar/usage.md +60 -0
  27. package/dist/docs/snackbar-item/api.md +41 -0
  28. package/dist/docs/snackbar-item/snackbar-item.md +49 -0
  29. package/dist/docs/step/api.md +16 -0
  30. package/dist/docs/step/step.md +16 -0
  31. package/dist/docs/switch/api.md +8 -0
  32. package/dist/docs/switch/switch.md +8 -0
  33. package/dist/docs/textarea/api.md +40 -0
  34. package/dist/docs/textarea/textarea.md +40 -0
  35. package/dist/docs/textfield/api.md +32 -0
  36. package/dist/docs/textfield/textfield.md +32 -0
  37. package/dist/index.d.ts +292 -1
  38. package/dist/packages/affix/affix.js +4 -4
  39. package/dist/packages/affix/affix.js.map +2 -2
  40. package/dist/packages/alert/alert.js +2 -2
  41. package/dist/packages/alert/alert.js.map +2 -2
  42. package/dist/packages/attention/attention.d.ts +5 -0
  43. package/dist/packages/attention/attention.js +14 -14
  44. package/dist/packages/attention/attention.js.map +2 -2
  45. package/dist/packages/button/button.d.ts +5 -0
  46. package/dist/packages/button/button.js +3 -3
  47. package/dist/packages/button/button.js.map +2 -2
  48. package/dist/packages/button/button.react.stories.d.ts +2 -2
  49. package/dist/packages/button/button.test.js +0 -1
  50. package/dist/packages/button/react.d.ts +1 -1
  51. package/dist/packages/datepicker/datepicker.js +1 -1
  52. package/dist/packages/datepicker/datepicker.js.map +2 -2
  53. package/dist/packages/expandable/expandable.js +9 -9
  54. package/dist/packages/expandable/expandable.js.map +4 -4
  55. package/dist/packages/global.d.ts +1 -0
  56. package/dist/packages/global.js +5 -0
  57. package/dist/packages/icon/icon.d.ts +5 -0
  58. package/dist/packages/icon/icon.js +2 -2
  59. package/dist/packages/icon/icon.js.map +2 -2
  60. package/dist/packages/interaction-type-detection.d.ts +22 -0
  61. package/dist/packages/interaction-type-detection.js +38 -0
  62. package/dist/packages/modal/modal.js +1 -1
  63. package/dist/packages/modal/modal.js.map +2 -2
  64. package/dist/packages/modal-header/modal-header.js +3 -3
  65. package/dist/packages/modal-header/modal-header.js.map +2 -2
  66. package/dist/packages/pagination/pagination.js +1 -1
  67. package/dist/packages/pagination/pagination.js.map +2 -2
  68. package/dist/packages/pill/pill.js +4 -4
  69. package/dist/packages/pill/pill.js.map +2 -2
  70. package/dist/packages/select/select.js +3 -3
  71. package/dist/packages/select/select.js.map +2 -2
  72. package/dist/packages/snackbar/locales/da/messages.d.mts +1 -0
  73. package/dist/packages/snackbar/locales/da/messages.mjs +1 -0
  74. package/dist/packages/snackbar/locales/en/messages.d.mts +1 -0
  75. package/dist/packages/snackbar/locales/en/messages.mjs +1 -0
  76. package/dist/packages/snackbar/locales/fi/messages.d.mts +1 -0
  77. package/dist/packages/snackbar/locales/fi/messages.mjs +1 -0
  78. package/dist/packages/snackbar/locales/nb/messages.d.mts +1 -0
  79. package/dist/packages/snackbar/locales/nb/messages.mjs +1 -0
  80. package/dist/packages/snackbar/locales/sv/messages.d.mts +1 -0
  81. package/dist/packages/snackbar/locales/sv/messages.mjs +1 -0
  82. package/dist/packages/snackbar/react.d.ts +2 -0
  83. package/dist/packages/snackbar/react.js +11 -0
  84. package/dist/packages/snackbar/snackbar.d.ts +132 -0
  85. package/dist/packages/snackbar/snackbar.hydration.test.d.ts +1 -0
  86. package/dist/packages/snackbar/snackbar.hydration.test.js +13 -0
  87. package/dist/packages/snackbar/snackbar.js +2646 -0
  88. package/dist/packages/snackbar/snackbar.js.map +7 -0
  89. package/dist/packages/snackbar/snackbar.react.stories.d.ts +12 -0
  90. package/dist/packages/snackbar/snackbar.react.stories.js +160 -0
  91. package/dist/packages/snackbar/snackbar.stories.d.ts +20 -0
  92. package/dist/packages/snackbar/snackbar.stories.js +291 -0
  93. package/dist/packages/snackbar/snackbar.test.d.ts +4 -0
  94. package/dist/packages/snackbar/snackbar.test.js +17 -0
  95. package/dist/packages/snackbar/styles.d.ts +1 -0
  96. package/dist/packages/snackbar/styles.js +35 -0
  97. package/dist/packages/snackbar-item/react.d.ts +5 -0
  98. package/dist/packages/snackbar-item/react.js +15 -0
  99. package/dist/packages/snackbar-item/snackbar-item.d.ts +69 -0
  100. package/dist/packages/snackbar-item/snackbar-item.js +2601 -0
  101. package/dist/packages/snackbar-item/snackbar-item.js.map +7 -0
  102. package/dist/packages/snackbar-item/snackbar-item.react.test.d.ts +1 -0
  103. package/dist/packages/snackbar-item/snackbar-item.react.test.js +5 -0
  104. package/dist/packages/snackbar-item/styles.d.ts +1 -0
  105. package/dist/packages/snackbar-item/styles.js +111 -0
  106. package/dist/packages/step/step.js +9 -9
  107. package/dist/packages/step/step.js.map +2 -2
  108. package/dist/packages/tabs/tabs.react.stories.d.ts +4 -4
  109. package/dist/packages/tabs/tabs.react.stories.js +1 -1
  110. package/dist/packages/tabs/tabs.stories.d.ts +1 -1
  111. package/dist/packages/tabs/tabs.stories.js +1 -1
  112. package/dist/packages/toast/toast.js +6 -6
  113. package/dist/packages/toast/toast.js.map +4 -4
  114. package/dist/packages/utils/element-collapse.d.ts +12 -0
  115. package/dist/packages/utils/element-collapse.js +92 -0
  116. package/dist/packages/utils/expand-transition.js +1 -1
  117. package/dist/web-types.json +88 -3
  118. package/eik/index.js +12 -12
  119. package/package.json +1 -3
@@ -3,11 +3,11 @@ import React from 'react';
3
3
  import { Button } from './react';
4
4
  declare const _default: {
5
5
  title: string;
6
- render(args: Omit<Omit<Omit<React.HTMLAttributes<import("./button").WarpButton>, "value" | "form" | "small" | "type" | "name" | "disabled" | "renderRoot" | "isUpdatePending" | "hasUpdated" | "addController" | "removeController" | "connectedCallback" | "disconnectedCallback" | "attributeChangedCallback" | "requestUpdate" | "updateComplete" | "updated" | "firstUpdated" | "resetFormControl" | "render" | "validationTarget" | "internals" | "showError" | "validationMessage" | "validity" | "validationComplete" | "checkValidity" | "formResetCallback" | "valueChangedCallback" | "validityCallback" | "validationMessageCallback" | "setValue" | "shouldFormValueUpdate" | "renderOptions" | "target" | "rel" | "variant" | "quiet" | "href" | "fullWidth" | "iconOnly" | "loading" | "buttonClass" | "commandfor" | "command" | "_handleButtonClick"> & {} & Partial<Omit<import("./button").WarpButton, keyof HTMLElement>> & React.RefAttributes<import("./button").WarpButton>, "ref">, "full-width" | "icon-only"> & {
6
+ render(args: Omit<Omit<Omit<React.HTMLAttributes<import("./button").WarpButton>, "value" | "form" | "small" | "type" | "name" | "disabled" | "renderRoot" | "isUpdatePending" | "hasUpdated" | "addController" | "removeController" | "connectedCallback" | "disconnectedCallback" | "attributeChangedCallback" | "requestUpdate" | "updateComplete" | "updated" | "firstUpdated" | "resetFormControl" | "render" | "validationTarget" | "internals" | "showError" | "validationMessage" | "validity" | "validationComplete" | "checkValidity" | "formResetCallback" | "valueChangedCallback" | "validityCallback" | "validationMessageCallback" | "setValue" | "shouldFormValueUpdate" | "renderOptions" | "target" | "rel" | "variant" | "command" | "quiet" | "href" | "fullWidth" | "iconOnly" | "loading" | "buttonClass" | "commandfor" | "_handleButtonClick"> & {} & Partial<Omit<import("./button").WarpButton, keyof HTMLElement>> & React.RefAttributes<import("./button").WarpButton>, "ref">, "full-width" | "icon-only"> & {
7
7
  fullWidth?: boolean;
8
8
  iconOnly?: boolean;
9
9
  } & React.RefAttributes<import("./button").WarpButton>): React.JSX.Element;
10
- component: React.ForwardRefExoticComponent<Omit<Omit<Omit<React.HTMLAttributes<import("./button").WarpButton>, "value" | "form" | "small" | "type" | "name" | "disabled" | "renderRoot" | "isUpdatePending" | "hasUpdated" | "addController" | "removeController" | "connectedCallback" | "disconnectedCallback" | "attributeChangedCallback" | "requestUpdate" | "updateComplete" | "updated" | "firstUpdated" | "resetFormControl" | "render" | "validationTarget" | "internals" | "showError" | "validationMessage" | "validity" | "validationComplete" | "checkValidity" | "formResetCallback" | "valueChangedCallback" | "validityCallback" | "validationMessageCallback" | "setValue" | "shouldFormValueUpdate" | "renderOptions" | "target" | "rel" | "variant" | "quiet" | "href" | "fullWidth" | "iconOnly" | "loading" | "buttonClass" | "commandfor" | "command" | "_handleButtonClick"> & {} & Partial<Omit<import("./button").WarpButton, keyof HTMLElement>> & React.RefAttributes<import("./button").WarpButton>, "ref">, "full-width" | "icon-only"> & {
10
+ component: React.ForwardRefExoticComponent<Omit<Omit<Omit<React.HTMLAttributes<import("./button").WarpButton>, "value" | "form" | "small" | "type" | "name" | "disabled" | "renderRoot" | "isUpdatePending" | "hasUpdated" | "addController" | "removeController" | "connectedCallback" | "disconnectedCallback" | "attributeChangedCallback" | "requestUpdate" | "updateComplete" | "updated" | "firstUpdated" | "resetFormControl" | "render" | "validationTarget" | "internals" | "showError" | "validationMessage" | "validity" | "validationComplete" | "checkValidity" | "formResetCallback" | "valueChangedCallback" | "validityCallback" | "validationMessageCallback" | "setValue" | "shouldFormValueUpdate" | "renderOptions" | "target" | "rel" | "variant" | "command" | "quiet" | "href" | "fullWidth" | "iconOnly" | "loading" | "buttonClass" | "commandfor" | "_handleButtonClick"> & {} & Partial<Omit<import("./button").WarpButton, keyof HTMLElement>> & React.RefAttributes<import("./button").WarpButton>, "ref">, "full-width" | "icon-only"> & {
11
11
  fullWidth?: boolean;
12
12
  iconOnly?: boolean;
13
13
  } & React.RefAttributes<import("./button").WarpButton>>;
@@ -48,7 +48,6 @@ test('calling focus on w-button focuses the button inside the shadow root', asyn
48
48
  const component = html `<w-button>This is a button</w-button>`;
49
49
  const page = render(component);
50
50
  await expect.element(page.getByRole('button')).toBeVisible();
51
- // @ts-expect-error if we import and type using WarpButton, the test fails which is nonsense so I've opted to simply ignore this error.
52
51
  page.container.querySelector('w-button').focus();
53
52
  await vi.waitFor(() => page.container.querySelector(':focus').tagName === 'BUTTON');
54
53
  });
@@ -1,6 +1,6 @@
1
1
  import React from 'react';
2
2
  import { WarpButton } from './button.js';
3
- export declare const Button: React.ForwardRefExoticComponent<Omit<Omit<Omit<React.HTMLAttributes<WarpButton>, "value" | "form" | "small" | "type" | "name" | "disabled" | "renderRoot" | "isUpdatePending" | "hasUpdated" | "addController" | "removeController" | "connectedCallback" | "disconnectedCallback" | "attributeChangedCallback" | "requestUpdate" | "updateComplete" | "updated" | "firstUpdated" | "resetFormControl" | "render" | "validationTarget" | "internals" | "showError" | "validationMessage" | "validity" | "validationComplete" | "checkValidity" | "formResetCallback" | "valueChangedCallback" | "validityCallback" | "validationMessageCallback" | "setValue" | "shouldFormValueUpdate" | "renderOptions" | "target" | "rel" | "variant" | "quiet" | "href" | "fullWidth" | "iconOnly" | "loading" | "buttonClass" | "commandfor" | "command" | "_handleButtonClick"> & {} & Partial<Omit<WarpButton, keyof HTMLElement>> & React.RefAttributes<WarpButton>, "ref">, "full-width" | "icon-only"> & {
3
+ export declare const Button: React.ForwardRefExoticComponent<Omit<Omit<Omit<React.HTMLAttributes<WarpButton>, "value" | "form" | "small" | "type" | "name" | "disabled" | "renderRoot" | "isUpdatePending" | "hasUpdated" | "addController" | "removeController" | "connectedCallback" | "disconnectedCallback" | "attributeChangedCallback" | "requestUpdate" | "updateComplete" | "updated" | "firstUpdated" | "resetFormControl" | "render" | "validationTarget" | "internals" | "showError" | "validationMessage" | "validity" | "validationComplete" | "checkValidity" | "formResetCallback" | "valueChangedCallback" | "validityCallback" | "validationMessageCallback" | "setValue" | "shouldFormValueUpdate" | "renderOptions" | "target" | "rel" | "variant" | "command" | "quiet" | "href" | "fullWidth" | "iconOnly" | "loading" | "buttonClass" | "commandfor" | "_handleButtonClick"> & {} & Partial<Omit<WarpButton, keyof HTMLElement>> & React.RefAttributes<WarpButton>, "ref">, "full-width" | "icon-only"> & {
4
4
  fullWidth?: boolean;
5
5
  iconOnly?: boolean;
6
6
  } & React.RefAttributes<WarpButton>>;
@@ -31,7 +31,7 @@ Please compile your catalog first.
31
31
  --w-icon-size: 32px;
32
32
  }
33
33
 
34
- `;var et=new Map,Zn='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32"></svg>';function ei(r,t={}){let e=t.responseParser??(o=>o.text());return et.has(r)||et.set(r,fetch(r).then(e)),et.get(r)}var A=class extends Bn{constructor(){super(...arguments);this.locale=document.documentElement.lang||"en";this.svg=null}async fetchIcon(e){let o=`https://assets.finn.no/pkg/eikons/v1/${this.locale}/${e}.svg`;try{let a=await ei(o);return new DOMParser().parseFromString(a,"text/html").body.querySelector("svg")}catch{return null}}firstUpdated(){this.loadIcon()}updated(e){(e.has("name")||e.has("locale"))&&this.loadIcon()}async loadIcon(){if(!this.name){this.svg=null;return}let e=await this.fetchIcon(this.name);e||(e=new DOMParser().parseFromString(Zn,"text/html").body.firstElementChild),this.svg=e}render(){let e=this.size||"medium",o=this.name||"",a={"w-icon":!0,"w-icon--s":e==="small","w-icon--m":e==="medium","w-icon--l":e==="large"},n=typeof e=="string"&&e.endsWith("px")?`--w-icon-size: ${e};`:"";return Gn`<div class="${Un(a)}" style="${n}" part="w-${o.toLowerCase()}">${this.svg}</div>`}};A.styles=[Pr],k([Ze({type:String,reflect:!0})],A.prototype,"name",2),k([Ze({type:String,reflect:!0})],A.prototype,"size",2),k([Ze({type:String,reflect:!0,useDefault:!0})],A.prototype,"locale",2),k([Jn()],A.prototype,"svg",2);customElements.get("w-icon")||customElements.define("w-icon",A);var ti=["en","nb","fi","da","sv"],tt="en",Ce=r=>ti.find(t=>r===t||r.toLowerCase().includes(t))||tt;function R(){if(typeof window>"u"){let r=process.env.NMP_LANGUAGE||Intl.DateTimeFormat().resolvedOptions().locale;return Ce(r)}try{let r=Cr(document);if(r)return Ce(r);let t=ni();if(t)return Ce(t);let e=Cr(Er());return e?Ce(e):tt}catch(r){return console.warn("could not detect locale, falling back to source locale",r),tt}}var Wr=(r,t,e,o,a)=>{W.load("en",r),W.load("nb",t),W.load("fi",e),W.load("da",o),W.load("sv",a);let n=R();W.activate(n),Fr(),oi()},ri="warp-i18n-change";function Fr(){typeof window>"u"||window.dispatchEvent(new Event(ri))}var Or=!1;function oi(){if(Or||typeof window>"u"||!document?.documentElement)return;Or=!0;let r=()=>{let a=R();W.locale!==a&&(W.activate(a),Fr())},t=new MutationObserver(a=>{for(let n of a)if(n.type==="attributes"&&n.attributeName==="lang"){r();break}});t.observe(document.documentElement,{attributes:!0,attributeFilter:["lang"]});let e=Er();e&&e.documentElement&&e!==document&&t.observe(e.documentElement,{attributes:!0,attributeFilter:["lang"]});let o=ai();o&&t.observe(o,{attributes:!0,attributeFilter:["lang"]})}function Er(){try{return window.parent?.document??null}catch{return null}}function Cr(r){try{return r?.documentElement?.lang??""}catch{return""}}function ai(){try{return window.frameElement??null}catch{return null}}function ni(){try{return window.frameElement?.getAttribute?.("lang")??""}catch{return""}}import{css as ii}from"lit";import{unsafeCSS as si}from"lit";var zr=ii`
34
+ `;var et=new Map,Zn='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32"></svg>';function ei(r,t={}){let e=t.responseParser??(o=>o.text());return et.has(r)||et.set(r,fetch(r).then(e)),et.get(r)}var A=class extends Bn{constructor(){super(...arguments);this.locale=document.documentElement.lang||"en";this.svg=null}async fetchIcon(e){let o=`https://assets.finn.no/pkg/eikons/~1/${this.locale}/${e}.svg`;try{let a=await ei(o);return new DOMParser().parseFromString(a,"text/html").body.querySelector("svg")}catch{return null}}firstUpdated(){this.loadIcon()}updated(e){(e.has("name")||e.has("locale"))&&this.loadIcon()}async loadIcon(){if(!this.name){this.svg=null;return}let e=await this.fetchIcon(this.name);e||(e=new DOMParser().parseFromString(Zn,"text/html").body.firstElementChild),this.svg=e}render(){let e=this.size||"medium",o=this.name||"",a={"w-icon":!0,"w-icon--s":e==="small","w-icon--m":e==="medium","w-icon--l":e==="large"},n=typeof e=="string"&&e.endsWith("px")?`--w-icon-size: ${e};`:"";return Gn`<div class="${Un(a)}" style="${n}" part="w-${o.toLowerCase()}">${this.svg}</div>`}};A.styles=[Pr],k([Ze({type:String,reflect:!0})],A.prototype,"name",2),k([Ze({type:String,reflect:!0})],A.prototype,"size",2),k([Ze({type:String,reflect:!0,useDefault:!0})],A.prototype,"locale",2),k([Jn()],A.prototype,"svg",2);customElements.get("w-icon")||customElements.define("w-icon",A);var ti=["en","nb","fi","da","sv"],tt="en",Ce=r=>ti.find(t=>r===t||r.toLowerCase().includes(t))||tt;function R(){if(typeof window>"u"){let r=process.env.NMP_LANGUAGE||Intl.DateTimeFormat().resolvedOptions().locale;return Ce(r)}try{let r=Cr(document);if(r)return Ce(r);let t=ni();if(t)return Ce(t);let e=Cr(Er());return e?Ce(e):tt}catch(r){return console.warn("could not detect locale, falling back to source locale",r),tt}}var Wr=(r,t,e,o,a)=>{W.load("en",r),W.load("nb",t),W.load("fi",e),W.load("da",o),W.load("sv",a);let n=R();W.activate(n),Fr(),oi()},ri="warp-i18n-change";function Fr(){typeof window>"u"||window.dispatchEvent(new Event(ri))}var Or=!1;function oi(){if(Or||typeof window>"u"||!document?.documentElement)return;Or=!0;let r=()=>{let a=R();W.locale!==a&&(W.activate(a),Fr())},t=new MutationObserver(a=>{for(let n of a)if(n.type==="attributes"&&n.attributeName==="lang"){r();break}});t.observe(document.documentElement,{attributes:!0,attributeFilter:["lang"]});let e=Er();e&&e.documentElement&&e!==document&&t.observe(e.documentElement,{attributes:!0,attributeFilter:["lang"]});let o=ai();o&&t.observe(o,{attributes:!0,attributeFilter:["lang"]})}function Er(){try{return window.parent?.document??null}catch{return null}}function Cr(r){try{return r?.documentElement?.lang??""}catch{return""}}function ai(){try{return window.frameElement??null}catch{return null}}function ni(){try{return window.frameElement?.getAttribute?.("lang")??""}catch{return""}}import{css as ii}from"lit";import{unsafeCSS as si}from"lit";var zr=ii`
35
35
  *,
36
36
  :before,
37
37
  :after {