@warp-ds/elements 2.5.0-next.1 → 2.5.0
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 +80 -2535
- package/dist/index.d.ts +51 -1279
- package/dist/packages/icon/icon.d.ts +0 -5
- package/dist/packages/icon/icon.js +24 -98
- package/dist/packages/icon/icon.js.map +7 -0
- package/dist/web-types.json +36 -683
- package/package.json +12 -60
- package/dist/packages/checkbox/checkbox.d.ts +0 -66
- package/dist/packages/checkbox/checkbox.js +0 -2591
- package/dist/packages/checkbox/checkbox.js.map +0 -7
- package/dist/packages/checkbox/checkbox.react.stories.d.ts +0 -12
- package/dist/packages/checkbox/checkbox.react.stories.js +0 -10
- package/dist/packages/checkbox/checkbox.stories.d.ts +0 -12
- package/dist/packages/checkbox/checkbox.stories.js +0 -26
- package/dist/packages/checkbox/react.d.ts +0 -5
- package/dist/packages/checkbox/react.js +0 -15
- package/dist/packages/checkbox/styles.d.ts +0 -0
- package/dist/packages/checkbox/styles.js +0 -0
- package/dist/packages/checkbox-group/checkbox-group.d.ts +0 -10
- package/dist/packages/checkbox-group/checkbox-group.js +0 -7
- package/dist/packages/checkbox-group/checkbox-group.js.map +0 -7
- package/dist/packages/checkbox-group/react.d.ts +0 -2
- package/dist/packages/checkbox-group/react.js +0 -11
- package/dist/packages/dead-toggle/dead-toggle.d.ts +0 -17
- package/dist/packages/dead-toggle/dead-toggle.js +0 -2547
- package/dist/packages/dead-toggle/dead-toggle.js.map +0 -7
- package/dist/packages/dead-toggle/dead-toggle.react.stories.d.ts +0 -15
- package/dist/packages/dead-toggle/dead-toggle.react.stories.js +0 -34
- package/dist/packages/dead-toggle/dead-toggle.stories.d.ts +0 -14
- package/dist/packages/dead-toggle/dead-toggle.stories.js +0 -45
- package/dist/packages/dead-toggle/dead-toggle.test.d.ts +0 -1
- package/dist/packages/dead-toggle/dead-toggle.test.js +0 -9
- package/dist/packages/dead-toggle/react.d.ts +0 -2
- package/dist/packages/dead-toggle/react.js +0 -11
- package/dist/packages/pagination/locales/da/messages.d.mts +0 -1
- package/dist/packages/pagination/locales/da/messages.mjs +0 -1
- package/dist/packages/pagination/locales/en/messages.d.mts +0 -1
- package/dist/packages/pagination/locales/en/messages.mjs +0 -1
- package/dist/packages/pagination/locales/fi/messages.d.mts +0 -1
- package/dist/packages/pagination/locales/fi/messages.mjs +0 -1
- package/dist/packages/pagination/locales/nb/messages.d.mts +0 -1
- package/dist/packages/pagination/locales/nb/messages.mjs +0 -1
- package/dist/packages/pagination/locales/sv/messages.d.mts +0 -1
- package/dist/packages/pagination/locales/sv/messages.mjs +0 -1
- package/dist/packages/pagination/pagination.d.ts +0 -32
- package/dist/packages/pagination/pagination.js +0 -2500
- package/dist/packages/pagination/pagination.js.map +0 -7
- package/dist/packages/pagination/pagination.react.stories.d.ts +0 -21
- package/dist/packages/pagination/pagination.react.stories.js +0 -45
- package/dist/packages/pagination/pagination.stories.d.ts +0 -14
- package/dist/packages/pagination/pagination.stories.js +0 -56
- package/dist/packages/pagination/pagination.test.d.ts +0 -1
- package/dist/packages/pagination/pagination.test.js +0 -76
- package/dist/packages/pagination/react.d.ts +0 -5
- package/dist/packages/pagination/react.js +0 -15
- package/dist/packages/pagination/styles.d.ts +0 -1
- package/dist/packages/pagination/styles.js +0 -2
- package/dist/packages/radio/base-element.d.ts +0 -46
- package/dist/packages/radio/base-element.js +0 -100
- package/dist/packages/radio/custom-error-validator.d.ts +0 -6
- package/dist/packages/radio/custom-error-validator.js +0 -22
- package/dist/packages/radio/form-associated-element.d.ts +0 -103
- package/dist/packages/radio/form-associated-element.js +0 -282
- package/dist/packages/radio/host-styles.d.ts +0 -1
- package/dist/packages/radio/host-styles.js +0 -12
- package/dist/packages/radio/invalid.d.ts +0 -8
- package/dist/packages/radio/invalid.js +0 -5
- package/dist/packages/radio/math.d.ts +0 -1
- package/dist/packages/radio/math.js +0 -4
- package/dist/packages/radio/radio-styles.d.ts +0 -0
- package/dist/packages/radio/radio-styles.js +0 -0
- package/dist/packages/radio/radio.d.ts +0 -38
- package/dist/packages/radio/radio.js +0 -2562
- package/dist/packages/radio/radio.js.map +0 -7
- package/dist/packages/radio/radio.react.stories.d.ts +0 -9
- package/dist/packages/radio/radio.react.stories.js +0 -10
- package/dist/packages/radio/radio.stories.d.ts +0 -15
- package/dist/packages/radio/radio.stories.js +0 -61
- package/dist/packages/radio/react.d.ts +0 -2
- package/dist/packages/radio/react.js +0 -11
- package/dist/packages/radio/required-validator.d.ts +0 -11
- package/dist/packages/radio/required-validator.js +0 -34
- package/dist/packages/radio/slot.d.ts +0 -20
- package/dist/packages/radio/slot.js +0 -71
- package/dist/packages/radio/watch.d.ts +0 -26
- package/dist/packages/radio/watch.js +0 -39
- package/dist/packages/radio-group/radio-group-styles.d.ts +0 -1
- package/dist/packages/radio-group/radio-group-styles.js +0 -59
- package/dist/packages/radio-group/radio-group.d.ts +0 -72
- package/dist/packages/radio-group/radio-group.js +0 -2648
- package/dist/packages/radio-group/radio-group.js.map +0 -7
- package/dist/packages/radio-group/react.d.ts +0 -7
- package/dist/packages/radio-group/react.js +0 -17
- package/dist/packages/slider/Slider.d.ts +0 -2
- package/dist/packages/slider/Slider.js +0 -8
- package/dist/packages/slider/index.d.ts +0 -2
- package/dist/packages/slider/index.js +0 -2
- package/dist/packages/slider/locales/da/messages.d.mts +0 -1
- package/dist/packages/slider/locales/da/messages.mjs +0 -1
- package/dist/packages/slider/locales/en/messages.d.mts +0 -1
- package/dist/packages/slider/locales/en/messages.mjs +0 -1
- package/dist/packages/slider/locales/fi/messages.d.mts +0 -1
- package/dist/packages/slider/locales/fi/messages.mjs +0 -1
- package/dist/packages/slider/locales/nb/messages.d.mts +0 -1
- package/dist/packages/slider/locales/nb/messages.mjs +0 -1
- package/dist/packages/slider/locales/sv/messages.d.mts +0 -1
- package/dist/packages/slider/locales/sv/messages.mjs +0 -1
- package/dist/packages/slider/react.d.ts +0 -3
- package/dist/packages/slider/react.js +0 -13
- package/dist/packages/slider/slider.d.ts +0 -55
- package/dist/packages/slider/slider.js +0 -2632
- package/dist/packages/slider/slider.js.map +0 -7
- package/dist/packages/slider/slider.react.stories.d.ts +0 -19
- package/dist/packages/slider/slider.react.stories.js +0 -140
- package/dist/packages/slider/slider.stories.d.ts +0 -22
- package/dist/packages/slider/slider.stories.js +0 -405
- package/dist/packages/slider/slider.test.d.ts +0 -5
- package/dist/packages/slider/slider.test.js +0 -112
- package/dist/packages/slider/styles/w-slider.styles.d.ts +0 -1
- package/dist/packages/slider/styles/w-slider.styles.js +0 -148
- package/dist/packages/slider/styles.d.ts +0 -1
- package/dist/packages/slider/styles.js +0 -2
- package/dist/packages/slider-thumb/SliderThumb.d.ts +0 -2
- package/dist/packages/slider-thumb/SliderThumb.js +0 -8
- package/dist/packages/slider-thumb/oddbird-css-anchor-positioning.d.ts +0 -2
- package/dist/packages/slider-thumb/oddbird-css-anchor-positioning.js +0 -3
- package/dist/packages/slider-thumb/react.d.ts +0 -6
- package/dist/packages/slider-thumb/react.js +0 -15
- package/dist/packages/slider-thumb/slider-thumb.d.ts +0 -63
- package/dist/packages/slider-thumb/slider-thumb.js +0 -2748
- package/dist/packages/slider-thumb/slider-thumb.js.map +0 -7
- package/dist/packages/slider-thumb/styles/w-slider-thumb.styles.d.ts +0 -1
- package/dist/packages/slider-thumb/styles/w-slider-thumb.styles.js +0 -175
- package/dist/packages/step/locales/da/messages.d.mts +0 -1
- package/dist/packages/step/locales/da/messages.mjs +0 -1
- package/dist/packages/step/locales/en/messages.d.mts +0 -1
- package/dist/packages/step/locales/en/messages.mjs +0 -1
- package/dist/packages/step/locales/fi/messages.d.mts +0 -1
- package/dist/packages/step/locales/fi/messages.mjs +0 -1
- package/dist/packages/step/locales/nb/messages.d.mts +0 -1
- package/dist/packages/step/locales/nb/messages.mjs +0 -1
- package/dist/packages/step/locales/sv/messages.d.mts +0 -1
- package/dist/packages/step/locales/sv/messages.mjs +0 -1
- package/dist/packages/step/react.d.ts +0 -2
- package/dist/packages/step/react.js +0 -11
- package/dist/packages/step/step.d.ts +0 -22
- package/dist/packages/step/step.js +0 -2461
- package/dist/packages/step/step.js.map +0 -7
- package/dist/packages/step-indicator/index.d.ts +0 -2
- package/dist/packages/step-indicator/index.js +0 -2
- package/dist/packages/step-indicator/react.d.ts +0 -3
- package/dist/packages/step-indicator/react.js +0 -13
- package/dist/packages/step-indicator/step-indicator.d.ts +0 -14
- package/dist/packages/step-indicator/step-indicator.js +0 -2445
- package/dist/packages/step-indicator/step-indicator.js.map +0 -7
- package/dist/packages/step-indicator/stepindicator.react.stories.d.ts +0 -15
- package/dist/packages/step-indicator/stepindicator.react.stories.js +0 -112
- package/dist/packages/step-indicator/stepindicator.stories.d.ts +0 -13
- package/dist/packages/step-indicator/stepindicator.stories.js +0 -173
- package/dist/packages/step-indicator/styles.d.ts +0 -1
- package/dist/packages/step-indicator/styles.js +0 -2
- package/dist/packages/textarea/locales/da/messages.d.mts +0 -1
- package/dist/packages/textarea/locales/da/messages.mjs +0 -1
- package/dist/packages/textarea/locales/en/messages.d.mts +0 -1
- package/dist/packages/textarea/locales/en/messages.mjs +0 -1
- package/dist/packages/textarea/locales/fi/messages.d.mts +0 -1
- package/dist/packages/textarea/locales/fi/messages.mjs +0 -1
- package/dist/packages/textarea/locales/nb/messages.d.mts +0 -1
- package/dist/packages/textarea/locales/nb/messages.mjs +0 -1
- package/dist/packages/textarea/locales/sv/messages.d.mts +0 -1
- package/dist/packages/textarea/locales/sv/messages.mjs +0 -1
- package/dist/packages/textarea/react.d.ts +0 -11
- package/dist/packages/textarea/react.js +0 -21
- package/dist/packages/textarea/styles.d.ts +0 -1
- package/dist/packages/textarea/styles.js +0 -2
- package/dist/packages/textarea/textarea.d.ts +0 -49
- package/dist/packages/textarea/textarea.js +0 -2475
- package/dist/packages/textarea/textarea.js.map +0 -7
- package/dist/packages/textarea/textarea.react.stories.d.ts +0 -33
- package/dist/packages/textarea/textarea.react.stories.js +0 -41
- package/dist/packages/textarea/textarea.stories.d.ts +0 -19
- package/dist/packages/textarea/textarea.stories.js +0 -85
- package/dist/packages/textarea/textarea.test.d.ts +0 -1
- package/dist/packages/textarea/textarea.test.js +0 -68
- package/dist/packages/toggle-styles.d.ts +0 -1
- package/dist/packages/toggle-styles.js +0 -108
|
@@ -1,101 +1,27 @@
|
|
|
1
|
-
var
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
|
-
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
-
};
|
|
7
|
-
import { styles } from './style.js';
|
|
8
|
-
import { html, LitElement } from 'lit';
|
|
9
|
-
import { property, state } from 'lit/decorators.js';
|
|
10
|
-
import { classMap } from 'lit/directives/class-map.js';
|
|
11
|
-
const _fetchMap = new Map();
|
|
12
|
-
const ERROR_SVG = '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32"></svg>';
|
|
13
|
-
/**
|
|
14
|
-
* A minimal in-memory map to de-duplicate Fetch API media requests.
|
|
15
|
-
*
|
|
16
|
-
* @param uri - Resource URL
|
|
17
|
-
* @param options - Optional parser for the response
|
|
18
|
-
* @returns Promise of parsed response
|
|
19
|
-
*/
|
|
20
|
-
function cacheFetch(uri, options = {}) {
|
|
21
|
-
const parser = options.responseParser ?? ((res) => res.text());
|
|
22
|
-
if (!_fetchMap.has(uri)) {
|
|
23
|
-
_fetchMap.set(uri, fetch(uri).then(parser));
|
|
24
|
-
}
|
|
25
|
-
return _fetchMap.get(uri);
|
|
1
|
+
var h=Object.defineProperty;var w=Object.getOwnPropertyDescriptor;var r=(i,o,e,s)=>{for(var t=s>1?void 0:s?w(o,e):o,c=i.length-1,a;c>=0;c--)(a=i[c])&&(t=(s?a(o,e,t):a(t))||t);return s&&t&&h(o,e,t),t};import{css as d}from"lit";var p=d`
|
|
2
|
+
:host {
|
|
3
|
+
display: inline-block;
|
|
26
4
|
}
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
/** Size: small, medium, large or pixel value (e.g. "32px") */
|
|
33
|
-
this.size = 'medium';
|
|
34
|
-
/** Locale used in CDN URL */
|
|
35
|
-
this.locale = 'en';
|
|
36
|
-
/** Parsed SVG element (not reflected as attribute) */
|
|
37
|
-
this.svg = null;
|
|
38
|
-
}
|
|
39
|
-
static { this.styles = [styles]; }
|
|
40
|
-
/**
|
|
41
|
-
* Fetch an icon SVG from the CDN, with caching
|
|
42
|
-
* @param iconName - Name of the icon file
|
|
43
|
-
* @returns SVGElement or null on failure
|
|
44
|
-
*/
|
|
45
|
-
async fetchIcon(iconName) {
|
|
46
|
-
const uri = `https://assets.finn.no/pkg/eikons/v1/${this.locale}/${iconName}.svg`;
|
|
47
|
-
try {
|
|
48
|
-
const svgText = await cacheFetch(uri);
|
|
49
|
-
const doc = new DOMParser().parseFromString(svgText, 'text/html');
|
|
50
|
-
return doc.body.querySelector('svg');
|
|
51
|
-
}
|
|
52
|
-
catch {
|
|
53
|
-
return null;
|
|
54
|
-
}
|
|
55
|
-
}
|
|
56
|
-
firstUpdated() {
|
|
57
|
-
this.loadIcon();
|
|
58
|
-
}
|
|
59
|
-
updated(changedProps) {
|
|
60
|
-
if (changedProps.has('name') || changedProps.has('locale')) {
|
|
61
|
-
this.loadIcon();
|
|
62
|
-
}
|
|
63
|
-
}
|
|
64
|
-
async loadIcon() {
|
|
65
|
-
if (!this.name) {
|
|
66
|
-
this.svg = null;
|
|
67
|
-
return;
|
|
68
|
-
}
|
|
69
|
-
let iconEl = await this.fetchIcon(this.name);
|
|
70
|
-
if (!iconEl) {
|
|
71
|
-
const doc = new DOMParser().parseFromString(ERROR_SVG, 'text/html');
|
|
72
|
-
iconEl = doc.body.firstElementChild;
|
|
73
|
-
}
|
|
74
|
-
this.svg = iconEl;
|
|
75
|
-
}
|
|
76
|
-
render() {
|
|
77
|
-
const classes = {
|
|
78
|
-
'w-icon': true,
|
|
79
|
-
'w-icon--s': this.size === 'small',
|
|
80
|
-
'w-icon--m': this.size === 'medium',
|
|
81
|
-
'w-icon--l': this.size === 'large',
|
|
82
|
-
};
|
|
83
|
-
const customStyle = typeof this.size === 'string' && this.size.endsWith('px') ? `--w-icon-size: ${this.size};` : '';
|
|
84
|
-
return html `<div class="${classMap(classes)}" style="${customStyle}" part="w-${this.name.toLowerCase()}">${this.svg}</div>`;
|
|
85
|
-
}
|
|
5
|
+
.w-icon {
|
|
6
|
+
--_w-icon-size: var(--w-icon-size, 24px);
|
|
7
|
+
height: var(--_w-icon-size);
|
|
8
|
+
width: var(--_w-icon-size);
|
|
9
|
+
display: flex;
|
|
86
10
|
}
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
property({ type: String, reflect: true })
|
|
92
|
-
], WIcon.prototype, "size", void 0);
|
|
93
|
-
__decorate([
|
|
94
|
-
property({ type: String, reflect: true })
|
|
95
|
-
], WIcon.prototype, "locale", void 0);
|
|
96
|
-
__decorate([
|
|
97
|
-
state()
|
|
98
|
-
], WIcon.prototype, "svg", void 0);
|
|
99
|
-
if (!customElements.get('w-icon')) {
|
|
100
|
-
customElements.define('w-icon', WIcon);
|
|
11
|
+
.w-icon svg {
|
|
12
|
+
pointer-events: none;
|
|
13
|
+
height: var(--_w-icon-size);
|
|
14
|
+
width: var(--_w-icon-size);
|
|
101
15
|
}
|
|
16
|
+
.w-icon--s {
|
|
17
|
+
--w-icon-size: 16px;
|
|
18
|
+
}
|
|
19
|
+
.w-icon--m {
|
|
20
|
+
--w-icon-size: 24px;
|
|
21
|
+
}
|
|
22
|
+
.w-icon--l {
|
|
23
|
+
--w-icon-size: 32px;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
`;import{html as g,LitElement as v}from"lit";import{property as l,state as f}from"lit/decorators.js";import{classMap as u}from"lit/directives/class-map.js";var m=new Map,y='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32"></svg>';function z(i,o={}){var s;let e=(s=o.responseParser)!=null?s:(t=>t.text());return m.has(i)||m.set(i,fetch(i).then(e)),m.get(i)}var n=class extends v{constructor(){super(...arguments);this.name="";this.size="medium";this.locale="en";this.svg=null}async fetchIcon(e){let s=`https://assets.finn.no/pkg/eikons/v1/${this.locale}/${e}.svg`;try{let t=await z(s);return new DOMParser().parseFromString(t,"text/html").body.querySelector("svg")}catch(t){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={"w-icon":!0,"w-icon--s":this.size==="small","w-icon--m":this.size==="medium","w-icon--l":this.size==="large"},s=typeof this.size=="string"&&this.size.endsWith("px")?`--w-icon-size: ${this.size};`:"";return g`<div class="${u(e)}" style="${s}" part="w-${this.name.toLowerCase()}">${this.svg}</div>`}};n.styles=[p],r([l({type:String,reflect:!0})],n.prototype,"name",2),r([l({type:String,reflect:!0})],n.prototype,"size",2),r([l({type:String,reflect:!0})],n.prototype,"locale",2),r([f()],n.prototype,"svg",2);customElements.get("w-icon")||customElements.define("w-icon",n);export{n as WIcon};
|
|
27
|
+
//# sourceMappingURL=icon.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../packages/icon/style.ts", "../../../packages/icon/icon.ts"],
|
|
4
|
+
"sourcesContent": ["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`;", "import { styles } from './style.js';\nimport { html, LitElement, TemplateResult } from 'lit';\nimport { property, state } from 'lit/decorators.js';\nimport { classMap } from 'lit/directives/class-map.js';\n\n// Generic parser for fetch responses\ntype ResponseParser<T> = (response: Response) => Promise<T>;\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 WIcon extends LitElement {\n static styles = [styles];\n\n /** Icon filename (without .svg) */\n @property({ type: String, reflect: true })\n name = '';\n\n /** Size: small, medium, large or pixel value (e.g. \"32px\") */\n @property({ type: String, reflect: true })\n size: 'small' | 'medium' | 'large' | string = 'medium';\n\n /** Locale used in CDN URL */\n @property({ type: String, reflect: true })\n locale = '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 classes = {\n 'w-icon': true,\n 'w-icon--s': this.size === 'small',\n 'w-icon--m': this.size === 'medium',\n 'w-icon--l': this.size === 'large',\n };\n const customStyle = typeof this.size === 'string' && this.size.endsWith('px') ? `--w-icon-size: ${this.size};` : '';\n return html`<div class=\"${classMap(classes)}\" style=\"${customStyle}\" part=\"w-${this.name.toLowerCase()}\">${this.svg}</div>`;\n }\n}\n\nif (!customElements.get('w-icon')) {\n customElements.define('w-icon', WIcon);\n}\n"],
|
|
5
|
+
"mappings": "wMAAA,OAAS,OAAAA,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;ECDtB,OAAS,QAAAE,EAAM,cAAAC,MAAkC,MACjD,OAAS,YAAAC,EAAU,SAAAC,MAAa,oBAChC,OAAS,YAAAC,MAAgB,8BASzB,IAAMC,EAAY,IAAI,IAChBC,EAAY,qEASlB,SAASC,EAAuBC,EAAaC,EAAgC,CAAC,EAAe,CAtB7F,IAAAC,EAuBE,IAAMC,GAASD,EAAAD,EAAQ,iBAAR,KAAAC,GAA4BE,GAAkBA,EAAI,KAAK,GACtE,OAAKP,EAAU,IAAIG,CAAG,GACpBH,EAAU,IAAIG,EAAK,MAAMA,CAAG,EAAE,KAAKG,CAAM,CAAC,EAErCN,EAAU,IAAIG,CAAG,CAC1B,CAEO,IAAMK,EAAN,cAAoBC,CAAW,CAA/B,kCAKL,UAAO,GAIP,UAA8C,SAI9C,YAAS,KAIT,KAAQ,IAAyB,KAOjC,MAAc,UAAUC,EAA8C,CACpE,IAAMP,EAAM,wCAAwC,KAAK,MAAM,IAAIO,CAAQ,OAC3E,GAAI,CACF,IAAMC,EAAU,MAAMT,EAAmBC,CAAG,EAE5C,OADY,IAAI,UAAU,EAAE,gBAAgBQ,EAAS,WAAW,EACrD,KAAK,cAAc,KAAK,CACrC,OAAQC,EAAA,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,gBAAgBb,EAAW,WAAW,EACrD,KAAK,mBAEpB,KAAK,IAAMa,CACb,CAEA,QAAyB,CACvB,IAAMC,EAAU,CACd,SAAU,GACV,YAAa,KAAK,OAAS,QAC3B,YAAa,KAAK,OAAS,SAC3B,YAAa,KAAK,OAAS,OAC7B,EACMC,EAAc,OAAO,KAAK,MAAS,UAAY,KAAK,KAAK,SAAS,IAAI,EAAI,kBAAkB,KAAK,IAAI,IAAM,GACjH,OAAOC,gBAAmBC,EAASH,CAAO,CAAC,YAAYC,CAAW,aAAa,KAAK,KAAK,YAAY,CAAC,KAAK,KAAK,GAAG,QACrH,CACF,EArEaR,EACJ,OAAS,CAACW,CAAM,EAIvBC,EAAA,CADCC,EAAS,CAAE,KAAM,OAAQ,QAAS,EAAK,CAAC,GAJ9Bb,EAKX,oBAIAY,EAAA,CADCC,EAAS,CAAE,KAAM,OAAQ,QAAS,EAAK,CAAC,GAR9Bb,EASX,oBAIAY,EAAA,CADCC,EAAS,CAAE,KAAM,OAAQ,QAAS,EAAK,CAAC,GAZ9Bb,EAaX,sBAIQY,EAAA,CADPE,EAAM,GAhBId,EAiBH,mBAsDL,eAAe,IAAI,QAAQ,GAC9B,eAAe,OAAO,SAAUA,CAAK",
|
|
6
|
+
"names": ["css", "styles", "html", "LitElement", "property", "state", "classMap", "_fetchMap", "ERROR_SVG", "cacheFetch", "uri", "options", "_a", "parser", "res", "WIcon", "LitElement", "iconName", "svgText", "e", "changedProps", "iconEl", "classes", "customStyle", "html", "classMap", "styles", "__decorateClass", "property", "state"]
|
|
7
|
+
}
|