@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.
- package/dist/custom-elements.json +372 -0
- package/dist/docs/attention/api.md +48 -0
- package/dist/docs/attention/attention.md +48 -0
- package/dist/docs/button/api.md +8 -0
- package/dist/docs/button/button.md +8 -0
- package/dist/docs/card/api.md +8 -0
- package/dist/docs/card/card.md +8 -0
- package/dist/docs/checkbox/api.md +48 -0
- package/dist/docs/checkbox/checkbox.md +48 -0
- package/dist/docs/checkbox-group/api.md +24 -0
- package/dist/docs/checkbox-group/checkbox-group.md +24 -0
- package/dist/docs/combobox/api.md +8 -0
- package/dist/docs/combobox/combobox.md +8 -0
- package/dist/docs/datepicker/api.md +8 -0
- package/dist/docs/datepicker/datepicker.md +8 -0
- package/dist/docs/index.md +2 -0
- package/dist/docs/modal/api.md +16 -0
- package/dist/docs/modal/modal.md +16 -0
- package/dist/docs/slider-thumb/api.md +16 -0
- package/dist/docs/slider-thumb/slider-thumb.md +16 -0
- package/dist/docs/snackbar/accessibility.md +20 -0
- package/dist/docs/snackbar/api.md +30 -0
- package/dist/docs/snackbar/examples.md +191 -0
- package/dist/docs/snackbar/snackbar.md +385 -0
- package/dist/docs/snackbar/styling.md +72 -0
- package/dist/docs/snackbar/usage.md +60 -0
- package/dist/docs/snackbar-item/api.md +41 -0
- package/dist/docs/snackbar-item/snackbar-item.md +49 -0
- package/dist/docs/step/api.md +16 -0
- package/dist/docs/step/step.md +16 -0
- package/dist/docs/switch/api.md +8 -0
- package/dist/docs/switch/switch.md +8 -0
- package/dist/docs/textarea/api.md +40 -0
- package/dist/docs/textarea/textarea.md +40 -0
- package/dist/docs/textfield/api.md +32 -0
- package/dist/docs/textfield/textfield.md +32 -0
- package/dist/index.d.ts +292 -1
- package/dist/packages/affix/affix.js +4 -4
- package/dist/packages/affix/affix.js.map +2 -2
- package/dist/packages/alert/alert.js +2 -2
- package/dist/packages/alert/alert.js.map +2 -2
- package/dist/packages/attention/attention.d.ts +5 -0
- package/dist/packages/attention/attention.js +14 -14
- package/dist/packages/attention/attention.js.map +2 -2
- package/dist/packages/button/button.d.ts +5 -0
- package/dist/packages/button/button.js +3 -3
- package/dist/packages/button/button.js.map +2 -2
- package/dist/packages/button/button.react.stories.d.ts +2 -2
- package/dist/packages/button/button.test.js +0 -1
- package/dist/packages/button/react.d.ts +1 -1
- package/dist/packages/datepicker/datepicker.js +1 -1
- package/dist/packages/datepicker/datepicker.js.map +2 -2
- package/dist/packages/expandable/expandable.js +9 -9
- package/dist/packages/expandable/expandable.js.map +4 -4
- package/dist/packages/global.d.ts +1 -0
- package/dist/packages/global.js +5 -0
- package/dist/packages/icon/icon.d.ts +5 -0
- package/dist/packages/icon/icon.js +2 -2
- package/dist/packages/icon/icon.js.map +2 -2
- package/dist/packages/interaction-type-detection.d.ts +22 -0
- package/dist/packages/interaction-type-detection.js +38 -0
- package/dist/packages/modal/modal.js +1 -1
- package/dist/packages/modal/modal.js.map +2 -2
- package/dist/packages/modal-header/modal-header.js +3 -3
- package/dist/packages/modal-header/modal-header.js.map +2 -2
- package/dist/packages/pagination/pagination.js +1 -1
- package/dist/packages/pagination/pagination.js.map +2 -2
- package/dist/packages/pill/pill.js +4 -4
- package/dist/packages/pill/pill.js.map +2 -2
- package/dist/packages/select/select.js +3 -3
- package/dist/packages/select/select.js.map +2 -2
- package/dist/packages/snackbar/locales/da/messages.d.mts +1 -0
- package/dist/packages/snackbar/locales/da/messages.mjs +1 -0
- package/dist/packages/snackbar/locales/en/messages.d.mts +1 -0
- package/dist/packages/snackbar/locales/en/messages.mjs +1 -0
- package/dist/packages/snackbar/locales/fi/messages.d.mts +1 -0
- package/dist/packages/snackbar/locales/fi/messages.mjs +1 -0
- package/dist/packages/snackbar/locales/nb/messages.d.mts +1 -0
- package/dist/packages/snackbar/locales/nb/messages.mjs +1 -0
- package/dist/packages/snackbar/locales/sv/messages.d.mts +1 -0
- package/dist/packages/snackbar/locales/sv/messages.mjs +1 -0
- package/dist/packages/snackbar/react.d.ts +2 -0
- package/dist/packages/snackbar/react.js +11 -0
- package/dist/packages/snackbar/snackbar.d.ts +132 -0
- package/dist/packages/snackbar/snackbar.hydration.test.d.ts +1 -0
- package/dist/packages/snackbar/snackbar.hydration.test.js +13 -0
- package/dist/packages/snackbar/snackbar.js +2646 -0
- package/dist/packages/snackbar/snackbar.js.map +7 -0
- package/dist/packages/snackbar/snackbar.react.stories.d.ts +12 -0
- package/dist/packages/snackbar/snackbar.react.stories.js +160 -0
- package/dist/packages/snackbar/snackbar.stories.d.ts +20 -0
- package/dist/packages/snackbar/snackbar.stories.js +291 -0
- package/dist/packages/snackbar/snackbar.test.d.ts +4 -0
- package/dist/packages/snackbar/snackbar.test.js +17 -0
- package/dist/packages/snackbar/styles.d.ts +1 -0
- package/dist/packages/snackbar/styles.js +35 -0
- package/dist/packages/snackbar-item/react.d.ts +5 -0
- package/dist/packages/snackbar-item/react.js +15 -0
- package/dist/packages/snackbar-item/snackbar-item.d.ts +69 -0
- package/dist/packages/snackbar-item/snackbar-item.js +2601 -0
- package/dist/packages/snackbar-item/snackbar-item.js.map +7 -0
- package/dist/packages/snackbar-item/snackbar-item.react.test.d.ts +1 -0
- package/dist/packages/snackbar-item/snackbar-item.react.test.js +5 -0
- package/dist/packages/snackbar-item/styles.d.ts +1 -0
- package/dist/packages/snackbar-item/styles.js +111 -0
- package/dist/packages/step/step.js +9 -9
- package/dist/packages/step/step.js.map +2 -2
- package/dist/packages/tabs/tabs.react.stories.d.ts +4 -4
- package/dist/packages/tabs/tabs.react.stories.js +1 -1
- package/dist/packages/tabs/tabs.stories.d.ts +1 -1
- package/dist/packages/tabs/tabs.stories.js +1 -1
- package/dist/packages/toast/toast.js +6 -6
- package/dist/packages/toast/toast.js.map +4 -4
- package/dist/packages/utils/element-collapse.d.ts +12 -0
- package/dist/packages/utils/element-collapse.js +92 -0
- package/dist/packages/utils/expand-transition.js +1 -1
- package/dist/web-types.json +88 -3
- package/eik/index.js +12 -12
- package/package.json +1 -3
|
@@ -31,4 +31,9 @@ export declare class WarpIcon extends LitElement {
|
|
|
31
31
|
}
|
|
32
32
|
/** @deprecated Exported for backwards compatibility. Use WarpIcon. */
|
|
33
33
|
export declare const WIcon: typeof WarpIcon;
|
|
34
|
+
declare global {
|
|
35
|
+
interface HTMLElementTagNameMap {
|
|
36
|
+
'w-icon': WarpIcon;
|
|
37
|
+
}
|
|
38
|
+
}
|
|
34
39
|
export {};
|
|
@@ -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,
|
|
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,a;r>=0;r--)(a=i[r])&&(s=(t?a(o,e,s):a(s))||s);return t&&s&&h(o,e,s),s};import{html as g,LitElement as u}from"lit";import{property as l,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
|
|
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/~1/${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([l({type:String,reflect:!0})],n.prototype,"name",2),c([l({type:String,reflect:!0})],n.prototype,"size",2),c([l({type:String,reflect:!0,useDefault:!0})],n.prototype,"locale",2),c([f()],n.prototype,"svg",2);var _=n;customElements.get("w-icon")||customElements.define("w-icon",n);export{_ 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 | 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
|
|
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,
|
|
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/~1/${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\ndeclare global {\n interface HTMLElementTagNameMap {\n 'w-icon': WarpIcon;\n }\n}\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
|
+
"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,EAQhB,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
|
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Here we try to detect whether a visitor uses their keyboard to interact with the page.
|
|
3
|
+
*
|
|
4
|
+
* We consider it a keyboard interaction when:
|
|
5
|
+
*
|
|
6
|
+
* - We detect a Tab keyboard event.
|
|
7
|
+
* - We detect an Enter keyboard event.
|
|
8
|
+
* - We detect a Space keyboard event.
|
|
9
|
+
*
|
|
10
|
+
* We remove the "keyboard interaction flag" on click events.
|
|
11
|
+
*
|
|
12
|
+
* @throws Throws if `window` is not defined.
|
|
13
|
+
*/
|
|
14
|
+
export declare function addListener(): void;
|
|
15
|
+
/**
|
|
16
|
+
* Removes the global keyboard even listener.
|
|
17
|
+
*
|
|
18
|
+
* You most likely won't need this outside of testing.
|
|
19
|
+
*
|
|
20
|
+
* @throws Throws if `window` is not defined.
|
|
21
|
+
*/
|
|
22
|
+
export declare function removeListener(): void;
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
function pointerListener(e) {
|
|
2
|
+
if (document.documentElement.dataset['keyboardinteraction']) {
|
|
3
|
+
delete document.documentElement.dataset['keyboardinteraction'];
|
|
4
|
+
}
|
|
5
|
+
}
|
|
6
|
+
function keyboardListener(e) {
|
|
7
|
+
if (e.key === 'Tab' || e.key === 'Enter' || e.key === ' ') {
|
|
8
|
+
document.documentElement.dataset['keyboardinteraction'] = 'true';
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Here we try to detect whether a visitor uses their keyboard to interact with the page.
|
|
13
|
+
*
|
|
14
|
+
* We consider it a keyboard interaction when:
|
|
15
|
+
*
|
|
16
|
+
* - We detect a Tab keyboard event.
|
|
17
|
+
* - We detect an Enter keyboard event.
|
|
18
|
+
* - We detect a Space keyboard event.
|
|
19
|
+
*
|
|
20
|
+
* We remove the "keyboard interaction flag" on click events.
|
|
21
|
+
*
|
|
22
|
+
* @throws Throws if `window` is not defined.
|
|
23
|
+
*/
|
|
24
|
+
export function addListener() {
|
|
25
|
+
document.addEventListener('keydown', keyboardListener);
|
|
26
|
+
document.addEventListener('pointerdown', pointerListener);
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Removes the global keyboard even listener.
|
|
30
|
+
*
|
|
31
|
+
* You most likely won't need this outside of testing.
|
|
32
|
+
*
|
|
33
|
+
* @throws Throws if `window` is not defined.
|
|
34
|
+
*/
|
|
35
|
+
export function removeListener() {
|
|
36
|
+
document.removeEventListener('keydown', keyboardListener);
|
|
37
|
+
document.removeEventListener('pointerdown', pointerListener);
|
|
38
|
+
}
|
|
@@ -2437,7 +2437,7 @@ var f=Object.defineProperty;var x=Object.getOwnPropertyDescriptor;var n=(e,o,r,t
|
|
|
2437
2437
|
display: none
|
|
2438
2438
|
}
|
|
2439
2439
|
}
|
|
2440
|
-
`);var w=e=>class extends e{handleSlotChange(o){let r=o.target.assignedNodes({flatten:!0});for(let t of r.filter(a=>a.patchClose))t._close=()=>this.close()}};var i=class extends w(M){constructor(){super();this.show=!1;this.ignoreBackdropClicks=!1;this._isClosing=!1;this.interceptEscape=this.interceptEscape.bind(this),this.closeOnBackdropClick=this.closeOnBackdropClick.bind(this),this.eventPreventer=this.eventPreventer.bind(this),this.modifyBorderRadius=this.modifyBorderRadius.bind(this)}connectedCallback(){super.connectedCallback(),this.addEventListener("command",r=>{let t=r.command;t==="--show-modal"?this.open():(t==="--close"||t==="--confirm")&&this.close()})}async open(){this._isClosing=!1,this.dialogEl.classList.remove("close"),this.dialogEl.showModal(),this.handleListeners(),v(this.contentEl),await this.updateComplete,this.dispatchEvent(new CustomEvent("shown",{bubbles:!0,composed:!0}))}close(){this.dialogEl?.open&&(this._isClosing=!0,this.handleListeners("removeEventListener"),this.dialogEl.classList.add("close"),this.dialogEl.addEventListener("animationend",async r=>{r.animationName==="w-modal-out"&&this._isClosing&&(this.dialogEl.classList.remove("close"),this.dialogEl.close(),this._isClosing=!1,m(),await this.updateComplete,this.dispatchEvent(new CustomEvent("hidden",{bubbles:!0,composed:!0})))},{once:!0}))}render(){return Z`
|
|
2440
|
+
`);var w=e=>class extends e{handleSlotChange(o){let r=o.target.assignedNodes({flatten:!0});for(let t of r.filter(a=>a.patchClose))t._close=()=>this.close()}};var i=class extends w(M){constructor(){super();this.show=!1;this.ignoreBackdropClicks=!1;this._isClosing=!1;this.interceptEscape=this.interceptEscape.bind(this),this.closeOnBackdropClick=this.closeOnBackdropClick.bind(this),this.eventPreventer=this.eventPreventer.bind(this),this.modifyBorderRadius=this.modifyBorderRadius.bind(this)}connectedCallback(){super.connectedCallback(),this.addEventListener("command",r=>{let t=r.command;t==="--show-modal"?this.open():(t==="--close"||t==="--confirm")&&this.close()})}async open(){this._isClosing=!1,this.dialogEl.classList.remove("close"),this.dialogEl.showModal(),this.handleListeners(),v(this.contentEl),await this.updateComplete,this.dispatchEvent(new CustomEvent("shown",{bubbles:!0,composed:!0}))}close(){this.dialogEl?.open&&(this._isClosing=!0,this.handleListeners("removeEventListener"),this.dialogEl.classList.add("close"),this.dialogEl.addEventListener("animationend",async r=>{r.animationName==="w-modal-out"&&this._isClosing&&(this.dialogEl.classList.remove("close"),this.dialogEl.close(),this._isClosing=!1,m(),this.show=!1,await this.updateComplete,this.dispatchEvent(new CustomEvent("hidden",{bubbles:!0,composed:!0})))},{once:!0}))}render(){return Z`
|
|
2441
2441
|
<dialog class="dialog-el">
|
|
2442
2442
|
<div class="dialog-inner-el">
|
|
2443
2443
|
<slot name="header" @slotchange="${this.handleSlotChange}"></slot>
|