@warp-ds/elements 2.10.0-next.10 → 2.10.0-next.12
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.
- package/dist/custom-elements.json +211 -189
- package/dist/docs/badge/api.md +4 -4
- package/dist/docs/badge/badge.md +4 -4
- package/dist/docs/button/api.md +24 -24
- package/dist/docs/button/button.md +24 -24
- package/dist/docs/checkbox/api.md +2 -2
- package/dist/docs/checkbox/checkbox.md +2 -2
- package/dist/docs/checkbox-group/api.md +6 -6
- package/dist/docs/checkbox-group/checkbox-group.md +6 -6
- package/dist/docs/datepicker/api.md +8 -8
- package/dist/docs/datepicker/datepicker.md +8 -8
- package/dist/docs/expandable/api.md +6 -6
- package/dist/docs/expandable/expandable.md +6 -6
- package/dist/docs/icon/api.md +4 -4
- package/dist/docs/icon/icon.md +4 -4
- package/dist/docs/link/api.md +10 -10
- package/dist/docs/link/link.md +10 -10
- package/dist/docs/modal/api.md +2 -2
- package/dist/docs/modal/modal.md +2 -2
- package/dist/docs/pagination/api.md +4 -4
- package/dist/docs/pagination/pagination.md +4 -4
- package/dist/docs/pill/api.md +8 -8
- package/dist/docs/pill/pill.md +8 -8
- package/dist/docs/select/api.md +10 -10
- package/dist/docs/select/select.md +10 -10
- package/dist/docs/slider/api.md +22 -22
- package/dist/docs/slider/slider.md +22 -22
- package/dist/docs/slider-thumb/api.md +12 -12
- package/dist/docs/slider-thumb/slider-thumb.md +12 -12
- package/dist/docs/tabs/api.md +2 -2
- package/dist/docs/tabs/tabs.md +2 -2
- package/dist/docs/textarea/api.md +14 -14
- package/dist/docs/textarea/textarea.md +14 -14
- package/dist/docs/textfield/api.md +34 -34
- package/dist/docs/textfield/textfield.md +34 -34
- package/dist/index.d.ts +285 -26
- package/dist/packages/affix/affix.d.ts +1 -1
- package/dist/packages/affix/affix.js +1 -1
- package/dist/packages/affix/affix.js.map +4 -4
- package/dist/packages/affix/styles.js +2 -2
- package/dist/packages/alert/alert.js +3 -3
- package/dist/packages/alert/alert.js.map +3 -3
- package/dist/packages/alert/styles.js +2 -2
- package/dist/packages/attention/attention.js +2 -2
- package/dist/packages/attention/attention.js.map +4 -4
- package/dist/packages/attention/attention.stories.js +1 -1
- package/dist/packages/attention/styles.js +2 -2
- package/dist/packages/badge/badge.d.ts +2 -2
- package/dist/packages/badge/badge.js +1 -1
- package/dist/packages/badge/badge.js.map +3 -3
- package/dist/packages/badge/styles.js +2 -2
- package/dist/packages/box/box.js +2 -2
- package/dist/packages/box/box.js.map +3 -3
- package/dist/packages/box/styles.js +2 -2
- package/dist/packages/breadcrumbs/breadcrumbs.d.ts +1 -2
- package/dist/packages/breadcrumbs/breadcrumbs.js +3 -3
- package/dist/packages/breadcrumbs/breadcrumbs.js.map +4 -4
- package/dist/packages/breadcrumbs/breadcrumbs.react.stories.d.ts +1 -1
- package/dist/packages/breadcrumbs/styles.js +2 -2
- package/dist/packages/button/button.d.ts +11 -11
- package/dist/packages/button/button.js +1 -1
- package/dist/packages/button/button.js.map +3 -3
- package/dist/packages/button/button.react.stories.d.ts +2 -2
- package/dist/packages/button/react.d.ts +1 -1
- package/dist/packages/card/card.js +2 -2
- package/dist/packages/card/card.js.map +4 -4
- package/dist/packages/card/styles.js +2 -2
- package/dist/packages/checkbox/checkbox.d.ts +2 -2
- package/dist/packages/checkbox/checkbox.js.map +2 -2
- package/dist/packages/checkbox-group/checkbox-group.d.ts +4 -4
- package/dist/packages/checkbox-group/checkbox-group.js.map +2 -2
- package/dist/packages/combobox/combobox.js +10 -11
- package/dist/packages/combobox/combobox.js.map +4 -4
- package/dist/packages/combobox/combobox.react.stories.d.ts +26 -10
- package/dist/packages/combobox/react.d.ts +13 -5
- package/dist/packages/combobox/styles.js +2 -3
- package/dist/packages/datepicker/datepicker.d.ts +5 -5
- package/dist/packages/datepicker/datepicker.js +12 -12
- package/dist/packages/datepicker/datepicker.js.map +3 -3
- package/dist/packages/datepicker/datepicker.react.stories.d.ts +12 -12
- package/dist/packages/datepicker/react.d.ts +6 -6
- package/dist/packages/expandable/expandable.d.ts +3 -3
- package/dist/packages/expandable/expandable.js +11 -11
- package/dist/packages/expandable/expandable.js.map +3 -3
- package/dist/packages/expandable/styles.js +2 -2
- package/dist/packages/icon/icon.d.ts +1 -1
- package/dist/packages/icon/icon.js +2 -2
- package/dist/packages/icon/icon.js.map +1 -1
- package/dist/packages/icon/icon.react.stories.d.ts +1 -1
- package/dist/packages/icon/icon.react.stories.js +2 -0
- package/dist/packages/icon/icon.stories.d.ts +7 -30
- package/dist/packages/icon/icon.stories.js +11 -2
- package/dist/packages/link/link.d.ts +5 -5
- package/dist/packages/link/link.js.map +1 -1
- package/dist/packages/modal/modal.d.ts +1 -1
- package/dist/packages/modal/modal.js.map +2 -2
- package/dist/packages/modal/modal.react.stories.d.ts +4 -4
- package/dist/packages/modal/modal.react.stories.js +9 -1
- package/dist/packages/modal/react.d.ts +34 -4
- package/dist/packages/modal/react.js +30 -0
- package/dist/packages/modal/util.js +3 -1
- package/dist/packages/modal-footer/modal-footer.js.map +2 -2
- package/dist/packages/modal-header/modal-header.js +4 -4
- package/dist/packages/modal-header/modal-header.js.map +3 -3
- package/dist/packages/modal-header/react.d.ts +2 -2
- package/dist/packages/page-indicator/page-indicator.d.ts +0 -4
- package/dist/packages/page-indicator/page-indicator.js +6 -6
- package/dist/packages/page-indicator/page-indicator.js.map +4 -4
- package/dist/packages/page-indicator/page-indicator.stories.d.ts +8 -26
- package/dist/packages/page-indicator/page-indicator.stories.js +9 -7
- package/dist/packages/pagination/pagination.d.ts +8 -9
- package/dist/packages/pagination/pagination.js +11 -11
- package/dist/packages/pagination/pagination.js.map +4 -4
- package/dist/packages/pagination/pagination.react.stories.d.ts +6 -6
- package/dist/packages/pagination/pagination.test.js +4 -7
- package/dist/packages/pagination/react.d.ts +3 -3
- package/dist/packages/pagination/styles.js +2 -2
- package/dist/packages/pill/pill.d.ts +4 -4
- package/dist/packages/pill/pill.js +3 -3
- package/dist/packages/pill/pill.js.map +4 -4
- package/dist/packages/pill/pill.react.stories.d.ts +8 -8
- package/dist/packages/pill/react.d.ts +4 -4
- package/dist/packages/pill/styles.js +2 -2
- package/dist/packages/radio/form-associated-element.d.ts +1 -1
- package/dist/packages/radio/radio.d.ts +1 -1
- package/dist/packages/radio-group/radio-group.d.ts +2 -2
- package/dist/packages/radio-group/radio-group.js.map +1 -1
- package/dist/packages/radio-group/react.d.ts +4 -4
- package/dist/packages/select/react.d.ts +3 -3
- package/dist/packages/select/select.d.ts +6 -7
- package/dist/packages/select/select.js +5 -5
- package/dist/packages/select/select.js.map +4 -4
- package/dist/packages/select/select.react.stories.d.ts +7 -7
- package/dist/packages/select/select.react.stories.js +15 -10
- package/dist/packages/select/styles.js +2 -2
- package/dist/packages/slider/slider.d.ts +14 -14
- package/dist/packages/slider/slider.js +6 -6
- package/dist/packages/slider/slider.js.map +3 -3
- package/dist/packages/slider/slider.stories.js +1 -0
- package/dist/packages/slider-thumb/react.d.ts +2 -2
- package/dist/packages/slider-thumb/slider-thumb.d.ts +14 -14
- package/dist/packages/slider-thumb/slider-thumb.js +2 -2
- package/dist/packages/slider-thumb/slider-thumb.js.map +3 -3
- package/dist/packages/slider-thumb/styles.d.ts +1 -0
- package/dist/packages/slider-thumb/styles.js +2 -0
- package/dist/packages/step/step.js +3 -3
- package/dist/packages/step/step.js.map +4 -4
- package/dist/packages/step-indicator/step-indicator.js +3 -3
- package/dist/packages/step-indicator/step-indicator.js.map +3 -3
- package/dist/packages/step-indicator/styles.js +2 -2
- package/dist/packages/switch/styles.js +2 -2
- package/dist/packages/switch/switch.d.ts +3 -3
- package/dist/packages/switch/switch.js +3 -3
- package/dist/packages/switch/switch.js.map +3 -3
- package/dist/packages/tab/react.d.ts +4 -4
- package/dist/packages/tab/tab.d.ts +1 -1
- package/dist/packages/tab/tab.js +4 -4
- package/dist/packages/tab/tab.js.map +3 -3
- package/dist/packages/tab-panel/tab-panel.js +1 -1
- package/dist/packages/tab-panel/tab-panel.js.map +3 -3
- package/dist/packages/tabs/styles.js +2 -2
- package/dist/packages/tabs/tabs.d.ts +4 -3
- package/dist/packages/tabs/tabs.js +1 -1
- package/dist/packages/tabs/tabs.js.map +3 -3
- package/dist/packages/textarea/react.d.ts +9 -9
- package/dist/packages/textarea/styles.js +2 -2
- package/dist/packages/textarea/textarea.a11y.test.js +1 -1
- package/dist/packages/textarea/textarea.d.ts +10 -10
- package/dist/packages/textarea/textarea.js +6 -6
- package/dist/packages/textarea/textarea.js.map +4 -4
- package/dist/packages/textarea/textarea.react.stories.d.ts +18 -18
- package/dist/packages/textfield/react.d.ts +9 -9
- package/dist/packages/textfield/styles.js +2 -2
- package/dist/packages/textfield/textfield.d.ts +22 -22
- package/dist/packages/textfield/textfield.js +4 -4
- package/dist/packages/textfield/textfield.js.map +3 -3
- package/dist/packages/textfield/textfield.react.stories.d.ts +18 -18
- package/dist/packages/toast/api.d.ts +1 -1
- package/dist/packages/toast/toast.d.ts +1 -1
- package/dist/packages/toast/toast.js +3 -3
- package/dist/packages/toast/toast.js.map +3 -3
- package/dist/packages/toast-container/styles.d.ts +1 -0
- package/dist/packages/toast-container/styles.js +2 -0
- package/dist/packages/toast-container/toast-container.js +2 -2
- package/dist/packages/toast-container/toast-container.js.map +2 -2
- package/dist/web-types.json +170 -159
- package/eik/index.js +21 -22
- package/package.json +4 -4
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import {
|
|
2
|
-
export const styles =
|
|
1
|
+
import { unsafeCSS } from 'lit';
|
|
2
|
+
export const styles = unsafeCSS("*,: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}.t4{font-weight:700;font-size:var(--w-font-size-m);line-height:var(--w-line-height-m)}.text-left{text-align:left}.align-middle{vertical-align:middle}.bg-transparent{background-color:#0000}.appearance-none{-webkit-appearance:none;appearance:none}.will-change-height{will-change:height}.border-0{border-width:0}.border-2{border-width:2px}.rounded-8{border-radius:8px}.rounded-l-0{border-top-left-radius:0;border-bottom-left-radius:0}.rounded-r-0{border-top-right-radius:0;border-bottom-right-radius:0}.block{display:block}.inline-block{display:inline-block}.flex{display:flex}.inline-flex{display:inline-flex}.hover\\:underline:hover{text-decoration-line:underline}.focus-visible\\:underline:focus-visible{text-decoration-line:underline}.overflow-hidden{overflow:hidden}.focus\\:outline-none:focus{outline-offset:2px;outline:2px solid #0000}.items-center{align-items:center}.justify-between{justify-content:space-between}.relative{position:relative}.static{position:static}.s-bg{background-color:var(--w-s-color-background)}.s-bg-info-subtle{background-color:var(--w-s-color-background-info-subtle)}.s-bg-subtle{background-color:var(--w-s-color-background-subtle)}.hover\\:s-bg-subtle-hover:hover{background-color:var(--w-s-color-background-subtle-hover)}.active\\:s-bg-subtle-active:active{background-color:var(--w-s-color-background-subtle-active)}.s-text{color:var(--w-s-color-text)}.s-icon{color:var(--w-s-color-icon)}.s-border{border-color:var(--w-s-color-border)}.s-surface-sunken{background-color:var(--w-s-color-surface-sunken)}.h-0{height:0}.w-full{width:100%}.m-0{margin:0}.-mx-16{margin-left:-1.6rem;margin-right:-1.6rem}.last-child\\:mb-0>:last-child{margin-bottom:0}.ml-8{margin-left:.8rem}.px-0{padding-left:0;padding-right:0}.px-16{padding-left:1.6rem;padding-right:1.6rem}.py-0{padding-top:0;padding-bottom:0}.py-16{padding-top:1.6rem;padding-bottom:1.6rem}.pt-0{padding-top:0}.pt-16{padding-top:1.6rem}.pt-8{padding-top:.8rem}.invisible{visibility:hidden}.break-words{overflow-wrap:break-word}.cursor-pointer{cursor:pointer}.-rotate-180{--w-rotate-x:0;--w-rotate-y:0;--w-rotate-z:0;--w-rotate:-180deg;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))}.part-\\[w-chevrondown\\]\\:-rotate-180::part(w-chevrondown){--w-rotate-x:0;--w-rotate-y:0;--w-rotate-z:0;--w-rotate:-180deg;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))}.rotate-180{--w-rotate-x:0;--w-rotate-y:0;--w-rotate-z:0;--w-rotate:180deg;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))}.part-\\[w-chevronup\\]\\:rotate-180::part(w-chevronup){--w-rotate-x:0;--w-rotate-y:0;--w-rotate-z:0;--w-rotate:180deg;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{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))}.part-\\[w-chevrondown\\]\\:transform::part(w-chevrondown){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))}.part-\\[w-chevronup\\]\\:transform::part(w-chevronup){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))}.part-\\[w-chevrondown\\]\\:transform-gpu::part(w-chevrondown){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))}.part-\\[w-chevronup\\]\\:transform-gpu::part(w-chevronup){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-transform{transition-property:transform;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.part-\\[w-chevrondown\\]\\:transition-transform::part(w-chevrondown){transition-property:transform;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.part-\\[w-chevronup\\]\\:transition-transform::part(w-chevronup){transition-property:transform;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.part-\\[w-chevrondown\\]\\:ease-in-out::part(w-chevrondown){transition-timing-function:cubic-bezier(.4,0,.2,1)}.part-\\[w-chevronup\\]\\:ease-in-out::part(w-chevronup){transition-timing-function:cubic-bezier(.4,0,.2,1)}@media (min-width:480px){.sm\\:rounded-8{border-radius:8px}.sm\\:mx-0{margin-left:0;margin-right:0}}");
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
var h=Object.defineProperty;var w=Object.getOwnPropertyDescriptor;var c=(i,o,e,t)=>{for(var s=t>1?void 0:t?w(o,e):o,r=i.length-1,l;r>=0;r--)(l=i[r])&&(s=(t?l(o,e,s):l(s))||s);return t&&s&&h(o,e,s),s};import{html as g,LitElement as u}from"lit";import{property as a,state as
|
|
1
|
+
var h=Object.defineProperty;var w=Object.getOwnPropertyDescriptor;var c=(i,o,e,t)=>{for(var s=t>1?void 0:t?w(o,e):o,r=i.length-1,l;r>=0;r--)(l=i[r])&&(s=(t?l(o,e,s):l(s))||s);return t&&s&&h(o,e,s),s};import{html as g,LitElement as u}from"lit";import{property as a,state as f}from"lit/decorators.js";import{classMap as v}from"lit/directives/class-map.js";import{css as d}from"lit";var p=d`
|
|
2
2
|
:host {
|
|
3
3
|
display: inline-block;
|
|
4
4
|
}
|
|
@@ -23,5 +23,5 @@ var h=Object.defineProperty;var w=Object.getOwnPropertyDescriptor;var c=(i,o,e,t
|
|
|
23
23
|
--w-icon-size: 32px;
|
|
24
24
|
}
|
|
25
25
|
|
|
26
|
-
`;var m=new Map,y='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32"></svg>';function x(i,o={}){let e=o.responseParser??(t=>t.text());return m.has(i)||m.set(i,fetch(i).then(e)),m.get(i)}var n=class extends u{constructor(){super(...arguments);this.locale=document.documentElement.lang||"en";this.svg=null}async fetchIcon(e){let t=`https://assets.finn.no/pkg/eikons/v1/${this.locale}/${e}.svg`;try{let s=await x(t);return new DOMParser().parseFromString(s,"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(y,"text/html").body.firstElementChild),this.svg=e}render(){let e=this.size||"medium",t=this.name||"",s={"w-icon":!0,"w-icon--s":e==="small","w-icon--m":e==="medium","w-icon--l":e==="large"},r=typeof e=="string"&&e.endsWith("px")?`--w-icon-size: ${e};`:"";return g`<div class="${
|
|
26
|
+
`;var m=new Map,y='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32"></svg>';function x(i,o={}){let e=o.responseParser??(t=>t.text());return m.has(i)||m.set(i,fetch(i).then(e)),m.get(i)}var n=class extends u{constructor(){super(...arguments);this.locale=document.documentElement.lang||"en";this.svg=null}async fetchIcon(e){let t=`https://assets.finn.no/pkg/eikons/v1/${this.locale}/${e}.svg`;try{let s=await x(t);return new DOMParser().parseFromString(s,"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(y,"text/html").body.firstElementChild),this.svg=e}render(){let e=this.size||"medium",t=this.name||"",s={"w-icon":!0,"w-icon--s":e==="small","w-icon--m":e==="medium","w-icon--l":e==="large"},r=typeof e=="string"&&e.endsWith("px")?`--w-icon-size: ${e};`:"";return g`<div class="${v(s)}" style="${r}" part="w-${t.toLowerCase()}">${this.svg}</div>`}};n.styles=[p],c([a({type:String,reflect:!0})],n.prototype,"name",2),c([a({type:String,reflect:!0})],n.prototype,"size",2),c([a({type:String,reflect:!0,useDefault:!0})],n.prototype,"locale",2),c([f()],n.prototype,"svg",2);var M=n;customElements.get("w-icon")||customElements.define("w-icon",n);export{M as WIcon,n as WarpIcon};
|
|
27
27
|
//# sourceMappingURL=icon.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../packages/icon/icon.ts", "../../../packages/icon/style.ts"],
|
|
4
|
-
"sourcesContent": ["import { html, LitElement, TemplateResult } from 'lit';\nimport { property, state } from 'lit/decorators.js';\nimport { classMap } from 'lit/directives/class-map.js';\nimport { styles } from './style.js';\n\n// Generic parser for fetch responses\ntype ResponseParser<T> = (response: Response) => Promise<T>;\n\ntype PixelValue = `${number}px`;\n\ninterface CacheFetchOptions<T> {\n responseParser?: ResponseParser<T>;\n}\n\nconst _fetchMap = new Map<string, Promise<any>>();\nconst ERROR_SVG = '<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 32 32\"></svg>';\n\n/**\n * A minimal in-memory map to de-duplicate Fetch API media requests.\n *\n * @param uri - Resource URL\n * @param options - Optional parser for the response\n * @returns Promise of parsed response\n */\nfunction cacheFetch<T = string>(uri: string, options: CacheFetchOptions<T> = {}): Promise<T> {\n const parser = options.responseParser ?? ((res: Response) => res.text() as Promise<any>);\n if (!_fetchMap.has(uri)) {\n _fetchMap.set(uri, fetch(uri).then(parser));\n }\n return _fetchMap.get(uri) as Promise<T>;\n}\n\nexport class WarpIcon extends LitElement {\n static styles = [styles];\n\n /** Icon filename (without .svg) */\n @property({ type: String, reflect: true })\n name!: string;\n\n /** \n * Size: small, medium, large or pixel value (e.g. \"32px\").\n * \n * @default \"medium\"\n */\n @property({ type: String, reflect: true })\n size: 'small' | 'medium' | 'large' | PixelValue;\n\n /** \n * Locale used for `<title>` text.\n * \n * Reads the `lang` attribute from `<html>`, falls back to 'en'. \n */\n @property({ type: String, reflect: true, useDefault: true })\n locale: string = document.documentElement.lang || 'en';\n\n /** Parsed SVG element (not reflected as attribute) */\n @state()\n private svg: SVGElement | null = null;\n\n /**\n * Fetch an icon SVG from the CDN, with caching\n * @param iconName - Name of the icon file\n * @returns SVGElement or null on failure\n */\n private async fetchIcon(iconName: string): Promise<SVGElement | null> {\n const uri = `https://assets.finn.no/pkg/eikons/v1/${this.locale}/${iconName}.svg`;\n try {\n const svgText = await cacheFetch<string>(uri);\n const doc = new DOMParser().parseFromString(svgText, 'text/html');\n return doc.body.querySelector('svg');\n } catch {\n return null;\n }\n }\n\n protected firstUpdated(): void {\n this.loadIcon();\n }\n\n protected updated(changedProps: Map<string, unknown>): void {\n if (changedProps.has('name') || changedProps.has('locale')) {\n this.loadIcon();\n }\n }\n\n private async loadIcon(): Promise<void> {\n if (!this.name) {\n this.svg = null;\n return;\n }\n\n let iconEl = await this.fetchIcon(this.name);\n if (!iconEl) {\n const doc = new DOMParser().parseFromString(ERROR_SVG, 'text/html');\n iconEl = doc.body.firstElementChild as SVGElement;\n }\n this.svg = iconEl;\n }\n\n render(): TemplateResult {\n const size = this.size || 'medium';\n const name = this.name || '';\n const classes = {\n 'w-icon': true,\n 'w-icon--s': size === 'small',\n 'w-icon--m': size === 'medium',\n 'w-icon--l': size === 'large',\n };\n const customStyle = typeof size === 'string' && size.endsWith('px') ? `--w-icon-size: ${size};` : '';\n return html`<div class=\"${classMap(classes)}\" style=\"${customStyle}\" part=\"w-${name.toLowerCase()}\">${this.svg}</div>`;\n }\n}\n\n/** @deprecated Exported for backwards compatibility. Use WarpIcon. */\nexport const WIcon = WarpIcon;\n\nif (!customElements.get('w-icon')) {\n customElements.define('w-icon', WarpIcon);\n}\n", "import { css } from 'lit';\n\nexport const styles = css`\n:host {\n display: inline-block;\n}\n.w-icon {\n --_w-icon-size: var(--w-icon-size, 24px);\n height: var(--_w-icon-size);\n width: var(--_w-icon-size);\n display: flex;\n}\n.w-icon svg {\n pointer-events: none;\n height: var(--_w-icon-size);\n width: var(--_w-icon-size);\n}\n.w-icon--s {\n --w-icon-size: 16px;\n}\n.w-icon--m {\n --w-icon-size: 24px;\n}\n.w-icon--l {\n --w-icon-size: 32px;\n}\n\n`;\n"],
|
|
4
|
+
"sourcesContent": ["import { html, LitElement, TemplateResult } from 'lit';\nimport { property, state } from 'lit/decorators.js';\nimport { classMap } from 'lit/directives/class-map.js';\nimport { styles } from './style.js';\n\n// Generic parser for fetch responses\ntype ResponseParser<T> = (response: Response) => Promise<T>;\n\ntype PixelValue = `${number}px`;\n\ninterface CacheFetchOptions<T> {\n responseParser?: ResponseParser<T>;\n}\n\nconst _fetchMap = new Map<string, Promise<any>>();\nconst ERROR_SVG = '<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 32 32\"></svg>';\n\n/**\n * A minimal in-memory map to de-duplicate Fetch API media requests.\n *\n * @param uri - Resource URL\n * @param options - Optional parser for the response\n * @returns Promise of parsed response\n */\nfunction cacheFetch<T = string>(uri: string, options: CacheFetchOptions<T> = {}): Promise<T> {\n const parser = options.responseParser ?? ((res: Response) => res.text() as Promise<any>);\n if (!_fetchMap.has(uri)) {\n _fetchMap.set(uri, fetch(uri).then(parser));\n }\n return _fetchMap.get(uri) as Promise<T>;\n}\n\nexport class WarpIcon extends LitElement {\n static styles = [styles];\n\n /** Icon filename (without .svg) */\n @property({ type: String, reflect: true })\n name!: string;\n\n /** \n * Size: small, medium, large or pixel value (e.g. \"32px\").\n * \n * @default \"medium\"\n */\n @property({ type: String, reflect: true })\n size: 'small' | 'medium' | 'large' | PixelValue | undefined;\n\n /** \n * Locale used for `<title>` text.\n * \n * Reads the `lang` attribute from `<html>`, falls back to 'en'. \n */\n @property({ type: String, reflect: true, useDefault: true })\n locale: string = document.documentElement.lang || 'en';\n\n /** Parsed SVG element (not reflected as attribute) */\n @state()\n private svg: SVGElement | null = null;\n\n /**\n * Fetch an icon SVG from the CDN, with caching\n * @param iconName - Name of the icon file\n * @returns SVGElement or null on failure\n */\n private async fetchIcon(iconName: string): Promise<SVGElement | null> {\n const uri = `https://assets.finn.no/pkg/eikons/v1/${this.locale}/${iconName}.svg`;\n try {\n const svgText = await cacheFetch<string>(uri);\n const doc = new DOMParser().parseFromString(svgText, 'text/html');\n return doc.body.querySelector('svg');\n } catch {\n return null;\n }\n }\n\n protected firstUpdated(): void {\n this.loadIcon();\n }\n\n protected updated(changedProps: Map<string, unknown>): void {\n if (changedProps.has('name') || changedProps.has('locale')) {\n this.loadIcon();\n }\n }\n\n private async loadIcon(): Promise<void> {\n if (!this.name) {\n this.svg = null;\n return;\n }\n\n let iconEl = await this.fetchIcon(this.name);\n if (!iconEl) {\n const doc = new DOMParser().parseFromString(ERROR_SVG, 'text/html');\n iconEl = doc.body.firstElementChild as SVGElement;\n }\n this.svg = iconEl;\n }\n\n render(): TemplateResult {\n const size = this.size || 'medium';\n const name = this.name || '';\n const classes = {\n 'w-icon': true,\n 'w-icon--s': size === 'small',\n 'w-icon--m': size === 'medium',\n 'w-icon--l': size === 'large',\n };\n const customStyle = typeof size === 'string' && size.endsWith('px') ? `--w-icon-size: ${size};` : '';\n return html`<div class=\"${classMap(classes)}\" style=\"${customStyle}\" part=\"w-${name.toLowerCase()}\">${this.svg}</div>`;\n }\n}\n\n/** @deprecated Exported for backwards compatibility. Use WarpIcon. */\nexport const WIcon = WarpIcon;\n\nif (!customElements.get('w-icon')) {\n customElements.define('w-icon', WarpIcon);\n}\n", "import { css } from 'lit';\n\nexport const styles = css`\n:host {\n display: inline-block;\n}\n.w-icon {\n --_w-icon-size: var(--w-icon-size, 24px);\n height: var(--_w-icon-size);\n width: var(--_w-icon-size);\n display: flex;\n}\n.w-icon svg {\n pointer-events: none;\n height: var(--_w-icon-size);\n width: var(--_w-icon-size);\n}\n.w-icon--s {\n --w-icon-size: 16px;\n}\n.w-icon--m {\n --w-icon-size: 24px;\n}\n.w-icon--l {\n --w-icon-size: 32px;\n}\n\n`;\n"],
|
|
5
5
|
"mappings": "wMAAA,OAAS,QAAAA,EAAM,cAAAC,MAAkC,MACjD,OAAS,YAAAC,EAAU,SAAAC,MAAa,oBAChC,OAAS,YAAAC,MAAgB,8BCFzB,OAAS,OAAAC,MAAW,MAEb,IAAMC,EAASD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EDYtB,IAAME,EAAY,IAAI,IAChBC,EAAY,qEASlB,SAASC,EAAuBC,EAAaC,EAAgC,CAAC,EAAe,CAC3F,IAAMC,EAASD,EAAQ,iBAAoBE,GAAkBA,EAAI,KAAK,GACtE,OAAKN,EAAU,IAAIG,CAAG,GACpBH,EAAU,IAAIG,EAAK,MAAMA,CAAG,EAAE,KAAKE,CAAM,CAAC,EAErCL,EAAU,IAAIG,CAAG,CAC1B,CAEO,IAAMI,EAAN,cAAuBC,CAAW,CAAlC,kCAqBL,YAAiB,SAAS,gBAAgB,MAAQ,KAIlD,KAAQ,IAAyB,KAOjC,MAAc,UAAUC,EAA8C,CACpE,IAAMN,EAAM,wCAAwC,KAAK,MAAM,IAAIM,CAAQ,OAC3E,GAAI,CACF,IAAMC,EAAU,MAAMR,EAAmBC,CAAG,EAE5C,OADY,IAAI,UAAU,EAAE,gBAAgBO,EAAS,WAAW,EACrD,KAAK,cAAc,KAAK,CACrC,MAAQ,CACN,OAAO,IACT,CACF,CAEU,cAAqB,CAC7B,KAAK,SAAS,CAChB,CAEU,QAAQC,EAA0C,EACtDA,EAAa,IAAI,MAAM,GAAKA,EAAa,IAAI,QAAQ,IACvD,KAAK,SAAS,CAElB,CAEA,MAAc,UAA0B,CACtC,GAAI,CAAC,KAAK,KAAM,CACd,KAAK,IAAM,KACX,MACF,CAEA,IAAIC,EAAS,MAAM,KAAK,UAAU,KAAK,IAAI,EACtCA,IAEHA,EADY,IAAI,UAAU,EAAE,gBAAgBX,EAAW,WAAW,EACrD,KAAK,mBAEpB,KAAK,IAAMW,CACb,CAEA,QAAyB,CACvB,IAAMC,EAAO,KAAK,MAAQ,SACpBC,EAAO,KAAK,MAAQ,GACpBC,EAAU,CACd,SAAU,GACV,YAAaF,IAAS,QACtB,YAAaA,IAAS,SACtB,YAAaA,IAAS,OACxB,EACMG,EAAc,OAAOH,GAAS,UAAYA,EAAK,SAAS,IAAI,EAAI,kBAAkBA,CAAI,IAAM,GAClG,OAAOI,gBAAmBC,EAASH,CAAO,CAAC,YAAYC,CAAW,aAAaF,EAAK,YAAY,CAAC,KAAK,KAAK,GAAG,QAChH,CACF,EA/EaP,EACJ,OAAS,CAACY,CAAM,EAIvBC,EAAA,CADCC,EAAS,CAAE,KAAM,OAAQ,QAAS,EAAK,CAAC,GAJ9Bd,EAKX,oBAQAa,EAAA,CADCC,EAAS,CAAE,KAAM,OAAQ,QAAS,EAAK,CAAC,GAZ9Bd,EAaX,oBAQAa,EAAA,CADCC,EAAS,CAAE,KAAM,OAAQ,QAAS,GAAM,WAAY,EAAK,CAAC,GApBhDd,EAqBX,sBAIQa,EAAA,CADPE,EAAM,GAxBIf,EAyBH,mBAyDH,IAAMgB,EAAQhB,EAEhB,eAAe,IAAI,QAAQ,GAC9B,eAAe,OAAO,SAAUA,CAAQ",
|
|
6
6
|
"names": ["html", "LitElement", "property", "state", "classMap", "css", "styles", "_fetchMap", "ERROR_SVG", "cacheFetch", "uri", "options", "parser", "res", "WarpIcon", "LitElement", "iconName", "svgText", "changedProps", "iconEl", "size", "name", "classes", "customStyle", "html", "classMap", "styles", "__decorateClass", "property", "state", "WIcon"]
|
|
7
7
|
}
|
|
@@ -290,8 +290,10 @@ export default {
|
|
|
290
290
|
},
|
|
291
291
|
},
|
|
292
292
|
};
|
|
293
|
+
// @ts-ignore
|
|
293
294
|
const Template = (args) => React.createElement(Icon, { ...args });
|
|
294
295
|
export const Default = Template.bind({});
|
|
296
|
+
// @ts-ignore
|
|
295
297
|
Default.args = {
|
|
296
298
|
name: 'Ads',
|
|
297
299
|
size: 'medium',
|
|
@@ -1,34 +1,11 @@
|
|
|
1
|
-
import '
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
name: any;
|
|
7
|
-
size: any;
|
|
8
|
-
locale: any;
|
|
9
|
-
}) => import("lit").TemplateResult<1>;
|
|
10
|
-
argTypes: {
|
|
11
|
-
name: {
|
|
12
|
-
control: {
|
|
13
|
-
type: string;
|
|
14
|
-
};
|
|
15
|
-
options: string[];
|
|
16
|
-
};
|
|
17
|
-
size: {
|
|
18
|
-
control: {
|
|
19
|
-
type: string;
|
|
20
|
-
};
|
|
21
|
-
options: string[];
|
|
22
|
-
};
|
|
23
|
-
locale: {
|
|
24
|
-
control: {
|
|
25
|
-
type: string;
|
|
26
|
-
};
|
|
27
|
-
options: string[];
|
|
28
|
-
};
|
|
29
|
-
};
|
|
1
|
+
import type { Meta } from '@storybook/web-components-vite';
|
|
2
|
+
import type { WarpIcon } from './icon.js';
|
|
3
|
+
import './icon.js';
|
|
4
|
+
declare const args: Partial<WarpIcon> & {
|
|
5
|
+
[key: string]: any;
|
|
30
6
|
};
|
|
31
|
-
|
|
7
|
+
declare const meta: Meta<typeof args>;
|
|
8
|
+
export default meta;
|
|
32
9
|
export declare const Default: {
|
|
33
10
|
args: {
|
|
34
11
|
name: string;
|
|
@@ -1,11 +1,19 @@
|
|
|
1
|
+
import { getStorybookHelpers } from '@wc-toolkit/storybook-helpers';
|
|
1
2
|
import { html } from 'lit';
|
|
2
|
-
import './icon.
|
|
3
|
-
|
|
3
|
+
import './icon.js';
|
|
4
|
+
const { events, args } = getStorybookHelpers('w-icon');
|
|
5
|
+
const meta = {
|
|
4
6
|
component: 'w-icon',
|
|
5
7
|
title: 'Icons/Icons',
|
|
6
8
|
render: ({ name, size, locale }) => html `
|
|
7
9
|
<w-icon name=${name} size=${size} locale=${locale} />
|
|
8
10
|
`,
|
|
11
|
+
args,
|
|
12
|
+
parameters: {
|
|
13
|
+
actions: {
|
|
14
|
+
handles: events,
|
|
15
|
+
},
|
|
16
|
+
},
|
|
9
17
|
argTypes: {
|
|
10
18
|
name: {
|
|
11
19
|
control: { type: 'select' },
|
|
@@ -293,6 +301,7 @@ export default {
|
|
|
293
301
|
},
|
|
294
302
|
},
|
|
295
303
|
};
|
|
304
|
+
export default meta;
|
|
296
305
|
export const Default = {
|
|
297
306
|
args: {
|
|
298
307
|
name: 'Ads',
|
|
@@ -10,7 +10,7 @@ declare class WarpLink extends LitElement {
|
|
|
10
10
|
static shadowRootOptions: {
|
|
11
11
|
delegatesFocus: boolean;
|
|
12
12
|
clonable?: boolean;
|
|
13
|
-
customElementRegistry?: CustomElementRegistry;
|
|
13
|
+
customElementRegistry?: CustomElementRegistry | null;
|
|
14
14
|
mode: ShadowRootMode;
|
|
15
15
|
serializable?: boolean;
|
|
16
16
|
slotAssignment?: SlotAssignmentMode;
|
|
@@ -24,7 +24,7 @@ declare class WarpLink extends LitElement {
|
|
|
24
24
|
*
|
|
25
25
|
* @throws {Error} Throws an error if an unsupported value is provided.
|
|
26
26
|
*/
|
|
27
|
-
variant: ButtonVariant;
|
|
27
|
+
variant: ButtonVariant | undefined;
|
|
28
28
|
/**
|
|
29
29
|
* Render a smaller version
|
|
30
30
|
*/
|
|
@@ -32,7 +32,7 @@ declare class WarpLink extends LitElement {
|
|
|
32
32
|
/**
|
|
33
33
|
* The URL the link points to
|
|
34
34
|
*/
|
|
35
|
-
href: string;
|
|
35
|
+
href: string | undefined;
|
|
36
36
|
/**
|
|
37
37
|
* Applies disabled styling, but you need to disable clicks on your own.
|
|
38
38
|
*
|
|
@@ -42,13 +42,13 @@ declare class WarpLink extends LitElement {
|
|
|
42
42
|
/**
|
|
43
43
|
* Where to display the linked URL (e.g. `_blank`)
|
|
44
44
|
*/
|
|
45
|
-
target: string;
|
|
45
|
+
target: string | undefined;
|
|
46
46
|
/**
|
|
47
47
|
* Relationship of the linked URL.
|
|
48
48
|
*
|
|
49
49
|
* If `target="_blank"` and `rel` is not provided, the component uses `noopener`.
|
|
50
50
|
*/
|
|
51
|
-
rel: string;
|
|
51
|
+
rel: string | undefined;
|
|
52
52
|
/**
|
|
53
53
|
* Makes the link take up the full width of its parent
|
|
54
54
|
*/
|