@marioschmidt/design-system-components 1.3.1 → 1.3.2
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/bds/bds.esm.js +1 -1
- package/dist/bds/p-72d44f50.entry.js +1 -0
- package/dist/bds/{p-DUrpTa_b.js → p-B4AUg0uO.js} +2 -2
- package/dist/cjs/bds.cjs.js +2 -2
- package/dist/cjs/ds-button_3.cjs.entry.js +28 -140
- package/dist/cjs/{index-yDPq0GyD.js → index-Bb064vv6.js} +3 -56
- package/dist/cjs/loader.cjs.js +2 -2
- package/dist/collection/ds-button/ds-button.css +3 -6
- package/dist/collection/ds-button/ds-button.js +50 -14
- package/dist/collection/ds-card/ds-card.js +2 -2
- package/dist/collection/ds-icon/ds-icon.css +4 -59
- package/dist/collection/ds-icon/ds-icon.js +20 -231
- package/dist/components/ds-button.d.ts +1 -1
- package/dist/components/ds-button.js +1 -1
- package/dist/components/ds-card.d.ts +1 -1
- package/dist/components/ds-card.js +1 -1
- package/dist/components/ds-icon.d.ts +1 -1
- package/dist/components/ds-icon.js +1 -1
- package/dist/components/index.js +1 -1
- package/dist/components/p-8SkbMDtJ.js +1 -0
- package/dist/docs/ds-button/readme.md +19 -4
- package/dist/docs/ds-icon/readme.md +17 -8
- package/dist/esm/bds.js +3 -3
- package/dist/esm/ds-button_3.entry.js +28 -140
- package/dist/esm/{index-DUrpTa_b.js → index-B4AUg0uO.js} +4 -56
- package/dist/esm/loader.js +3 -3
- package/dist/types/components.d.ts +24 -46
- package/dist/types/ds-button/ds-button.d.ts +9 -10
- package/dist/types/ds-icon/ds-icon.d.ts +2 -45
- package/dist/www/build/bds.esm.js +1 -1
- package/dist/www/build/p-72d44f50.entry.js +1 -0
- package/dist/www/build/{p-DUrpTa_b.js → p-B4AUg0uO.js} +2 -2
- package/dist/www/css/advertorial/components/_dsysdocs.css +1 -1
- package/dist/www/css/advertorial/components/article.css +1 -1
- package/dist/www/css/advertorial/components/audioplayer.css +1 -1
- package/dist/www/css/advertorial/components/avatar.css +1 -1
- package/dist/www/css/advertorial/components/badge.css +1 -1
- package/dist/www/css/advertorial/components/breadcrumb.css +1 -1
- package/dist/www/css/advertorial/components/breakingnews.css +1 -1
- package/dist/www/css/advertorial/components/button.css +1 -1
- package/dist/www/css/advertorial/components/card.css +1 -1
- package/dist/www/css/advertorial/components/carousel.css +1 -1
- package/dist/www/css/advertorial/components/chip.css +1 -1
- package/dist/www/css/advertorial/components/datepicker.css +1 -1
- package/dist/www/css/advertorial/components/drawers.css +1 -1
- package/dist/www/css/advertorial/components/dropdown.css +1 -1
- package/dist/www/css/advertorial/components/footer.css +1 -1
- package/dist/www/css/advertorial/components/icon.css +1 -1
- package/dist/www/css/advertorial/components/iconbutton.css +1 -1
- package/dist/www/css/advertorial/components/infoelement.css +1 -1
- package/dist/www/css/advertorial/components/inputfield.css +1 -1
- package/dist/www/css/advertorial/components/liveticker.css +1 -1
- package/dist/www/css/advertorial/components/mediaplayer.css +1 -1
- package/dist/www/css/advertorial/components/menu.css +1 -1
- package/dist/www/css/advertorial/components/newsticker.css +1 -1
- package/dist/www/css/advertorial/components/pagination.css +1 -1
- package/dist/www/css/advertorial/components/paywall.css +1 -1
- package/dist/www/css/advertorial/components/quote.css +1 -1
- package/dist/www/css/advertorial/components/radiobutton.css +1 -1
- package/dist/www/css/advertorial/components/search.css +1 -1
- package/dist/www/css/advertorial/components/sectiontitle.css +1 -1
- package/dist/www/css/advertorial/components/separator.css +1 -1
- package/dist/www/css/advertorial/components/skeletons.css +1 -1
- package/dist/www/css/advertorial/components/slider.css +1 -1
- package/dist/www/css/advertorial/components/specialnavi.css +1 -1
- package/dist/www/css/advertorial/components/spinner.css +1 -1
- package/dist/www/css/advertorial/components/tab.css +1 -1
- package/dist/www/css/advertorial/components/table.css +1 -1
- package/dist/www/css/advertorial/components/teaser.css +1 -1
- package/dist/www/css/advertorial/components/toggleswitch.css +1 -1
- package/dist/www/css/advertorial/components/video.css +1 -1
- package/dist/www/css/advertorial/theme.css +1 -1
- package/dist/www/css/advertorial/tokens.css +1 -1
- package/dist/www/css/bild/components/_dsysdoc.css +1 -1
- package/dist/www/css/bild/components/_dsysdocs.css +1 -1
- package/dist/www/css/bild/components/alert.css +1 -1
- package/dist/www/css/bild/components/article.css +1 -1
- package/dist/www/css/bild/components/audioplayer.css +1 -1
- package/dist/www/css/bild/components/avatar.css +1 -1
- package/dist/www/css/bild/components/badge.css +1 -1
- package/dist/www/css/bild/components/breadcrumb.css +1 -1
- package/dist/www/css/bild/components/breakingnews.css +1 -1
- package/dist/www/css/bild/components/button.css +1 -1
- package/dist/www/css/bild/components/card.css +1 -1
- package/dist/www/css/bild/components/carousel.css +1 -1
- package/dist/www/css/bild/components/chip.css +1 -1
- package/dist/www/css/bild/components/datepicker.css +1 -1
- package/dist/www/css/bild/components/drawers.css +1 -1
- package/dist/www/css/bild/components/dropdown.css +1 -1
- package/dist/www/css/bild/components/empties.css +1 -1
- package/dist/www/css/bild/components/footer.css +1 -1
- package/dist/www/css/bild/components/gallery.css +1 -1
- package/dist/www/css/bild/components/icon.css +1 -1
- package/dist/www/css/bild/components/iconbutton.css +1 -1
- package/dist/www/css/bild/components/infoelement.css +1 -1
- package/dist/www/css/bild/components/inputfield.css +1 -1
- package/dist/www/css/bild/components/kicker.css +1 -1
- package/dist/www/css/bild/components/liveticker.css +1 -1
- package/dist/www/css/bild/components/mediaplayer.css +1 -1
- package/dist/www/css/bild/components/menu.css +1 -1
- package/dist/www/css/bild/components/menuitem.css +1 -1
- package/dist/www/css/bild/components/newsticker.css +1 -1
- package/dist/www/css/bild/components/pagination.css +1 -1
- package/dist/www/css/bild/components/partnerlinks.css +1 -1
- package/dist/www/css/bild/components/paywall.css +1 -1
- package/dist/www/css/bild/components/quote.css +1 -1
- package/dist/www/css/bild/components/radiobutton.css +1 -1
- package/dist/www/css/bild/components/search.css +1 -1
- package/dist/www/css/bild/components/sectiontitle.css +1 -1
- package/dist/www/css/bild/components/selection.css +1 -1
- package/dist/www/css/bild/components/separator.css +1 -1
- package/dist/www/css/bild/components/skeletons.css +1 -1
- package/dist/www/css/bild/components/slider.css +1 -1
- package/dist/www/css/bild/components/specialnavi.css +1 -1
- package/dist/www/css/bild/components/spinner.css +1 -1
- package/dist/www/css/bild/components/subheader.css +1 -1
- package/dist/www/css/bild/components/tab.css +1 -1
- package/dist/www/css/bild/components/table.css +1 -1
- package/dist/www/css/bild/components/teaser.css +1 -1
- package/dist/www/css/bild/components/toggleswitch.css +1 -1
- package/dist/www/css/bild/components/video.css +1 -1
- package/dist/www/css/bild/theme.css +1 -1
- package/dist/www/css/bild/tokens.css +1 -1
- package/dist/www/css/bundles/advertorial.css +1 -1
- package/dist/www/css/bundles/bild.css +1 -1
- package/dist/www/css/bundles/sportbild.css +1 -1
- package/dist/www/css/shared/colorprimitive.css +1 -1
- package/dist/www/css/shared/fontprimitive.css +1 -1
- package/dist/www/css/shared/primitives.css +1 -1
- package/dist/www/css/shared/sizeprimitive.css +1 -1
- package/dist/www/css/shared/spaceprimitive.css +1 -1
- package/dist/www/css/sportbild/components/_dsysdoc.css +1 -1
- package/dist/www/css/sportbild/components/_dsysdocs.css +1 -1
- package/dist/www/css/sportbild/components/alert.css +1 -1
- package/dist/www/css/sportbild/components/article.css +1 -1
- package/dist/www/css/sportbild/components/audioplayer.css +1 -1
- package/dist/www/css/sportbild/components/avatar.css +1 -1
- package/dist/www/css/sportbild/components/badge.css +1 -1
- package/dist/www/css/sportbild/components/breadcrumb.css +1 -1
- package/dist/www/css/sportbild/components/breakingnews.css +1 -1
- package/dist/www/css/sportbild/components/button.css +1 -1
- package/dist/www/css/sportbild/components/card.css +1 -1
- package/dist/www/css/sportbild/components/carousel.css +1 -1
- package/dist/www/css/sportbild/components/chip.css +1 -1
- package/dist/www/css/sportbild/components/datepicker.css +1 -1
- package/dist/www/css/sportbild/components/drawers.css +1 -1
- package/dist/www/css/sportbild/components/dropdown.css +1 -1
- package/dist/www/css/sportbild/components/empties.css +1 -1
- package/dist/www/css/sportbild/components/footer.css +1 -1
- package/dist/www/css/sportbild/components/gallery.css +1 -1
- package/dist/www/css/sportbild/components/icon.css +1 -1
- package/dist/www/css/sportbild/components/iconbutton.css +1 -1
- package/dist/www/css/sportbild/components/infoelement.css +1 -1
- package/dist/www/css/sportbild/components/inputfield.css +1 -1
- package/dist/www/css/sportbild/components/kicker.css +1 -1
- package/dist/www/css/sportbild/components/liveticker.css +1 -1
- package/dist/www/css/sportbild/components/mediaplayer.css +1 -1
- package/dist/www/css/sportbild/components/menu.css +1 -1
- package/dist/www/css/sportbild/components/menuitem.css +1 -1
- package/dist/www/css/sportbild/components/newsticker.css +1 -1
- package/dist/www/css/sportbild/components/pagination.css +1 -1
- package/dist/www/css/sportbild/components/partnerlinks.css +1 -1
- package/dist/www/css/sportbild/components/paywall.css +1 -1
- package/dist/www/css/sportbild/components/quote.css +1 -1
- package/dist/www/css/sportbild/components/radiobutton.css +1 -1
- package/dist/www/css/sportbild/components/search.css +1 -1
- package/dist/www/css/sportbild/components/sectiontitle.css +1 -1
- package/dist/www/css/sportbild/components/selection.css +1 -1
- package/dist/www/css/sportbild/components/separator.css +1 -1
- package/dist/www/css/sportbild/components/skeletons.css +1 -1
- package/dist/www/css/sportbild/components/slider.css +1 -1
- package/dist/www/css/sportbild/components/specialnavi.css +1 -1
- package/dist/www/css/sportbild/components/spinner.css +1 -1
- package/dist/www/css/sportbild/components/subheader.css +1 -1
- package/dist/www/css/sportbild/components/tab.css +1 -1
- package/dist/www/css/sportbild/components/table.css +1 -1
- package/dist/www/css/sportbild/components/teaser.css +1 -1
- package/dist/www/css/sportbild/components/toggleswitch.css +1 -1
- package/dist/www/css/sportbild/components/video.css +1 -1
- package/dist/www/css/sportbild/theme.css +1 -1
- package/dist/www/css/sportbild/tokens.css +1 -1
- package/dist/www/icons/manifest.json +2 -2
- package/dist/www/index.html +2 -2
- package/package.json +1 -1
- package/dist/bds/p-f4e1fe1f.entry.js +0 -1
- package/dist/www/build/p-f4e1fe1f.entry.js +0 -1
package/dist/cjs/bds.cjs.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var index = require('./index-
|
|
3
|
+
var index = require('./index-Bb064vv6.js');
|
|
4
4
|
|
|
5
5
|
var _documentCurrentScript = typeof document !== 'undefined' ? document.currentScript : null;
|
|
6
6
|
/*
|
|
@@ -18,7 +18,7 @@ var patchBrowser = () => {
|
|
|
18
18
|
|
|
19
19
|
patchBrowser().then(async (options) => {
|
|
20
20
|
await index.globalScripts();
|
|
21
|
-
return index.bootstrapLazy([["ds-button_3.cjs",[[257,"ds-button",{"variant":[1],"disabled":[4]}],[257,"ds-card",{"surface":[1],"cardTitle":[1,"card-title"]}],[1,"ds-icon",{"name":[1],"
|
|
21
|
+
return index.bootstrapLazy([["ds-button_3.cjs",[[257,"ds-button",{"variant":[1],"disabled":[4],"icon":[1],"iconPosition":[1,"icon-position"]}],[257,"ds-card",{"surface":[1],"cardTitle":[1,"card-title"]}],[1,"ds-icon",{"name":[1],"basePath":[1,"base-path"],"svgContent":[32]},null,{"name":[{"onNameChange":0}]}]]]], options);
|
|
22
22
|
});
|
|
23
23
|
|
|
24
24
|
exports.setNonce = index.setNonce;
|
|
@@ -1,29 +1,32 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var index = require('./index-
|
|
3
|
+
var index = require('./index-Bb064vv6.js');
|
|
4
4
|
|
|
5
|
-
const dsButtonCss = () => `:host{display:inline-block}.ds-button{display:inline-flex;align-items:center;justify-content:center;cursor:pointer;border:none;background:transparent;transition:background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;padding:var(--button-stack-space) var(--button-inline-space);min-height:var(--button-height-size);gap:var(--button-content-gap-space);border-radius:var(--button-border-radius);font-family:var(--button-label-font-family);font-weight:var(--font-weight-bold);font-size:var(--button-label-font-size);line-height:var(--button-label-line-height);letter-spacing:var(--letter-space-0-p-5);text-transform:uppercase}.ds-button__label{display:inline-flex;align-items:center;gap:inherit}
|
|
5
|
+
const dsButtonCss = () => `:host{display:inline-block}.ds-button{display:inline-flex;align-items:center;justify-content:center;cursor:pointer;border:none;background:transparent;transition:background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;padding:var(--button-stack-space) var(--button-inline-space);min-height:var(--button-height-size);gap:var(--button-content-gap-space);border-radius:var(--button-border-radius);font-family:var(--button-label-font-family);font-weight:var(--font-weight-bold);font-size:var(--button-label-font-size);line-height:var(--button-label-line-height);letter-spacing:var(--letter-space-0-p-5);text-transform:uppercase}.ds-button__label{display:inline-flex;align-items:center;gap:inherit}ds-icon{--icon-size:var(--icon-size);flex-shrink:0}.ds-button--primary-brand{background-color:var(--button-primary-brand-bg-color-idle);color:var(--button-primary-brand-label-color)}.ds-button--primary-brand:hover:not(:disabled){background-color:var(--button-primary-brand-bg-color-hover)}.ds-button--primary-brand:active:not(:disabled){background-color:var(--button-primary-brand-bg-color-active)}.ds-button--primary-neutral{background-color:var(--button-primary-neutral-bg-color-idle);color:var(--button-primary-neutral-label-color)}.ds-button--primary-neutral:hover:not(:disabled){background-color:var(--button-primary-neutral-bg-color-hover)}.ds-button--primary-neutral:active:not(:disabled){background-color:var(--button-primary-neutral-bg-color-active)}.ds-button--primary-success{background-color:var(--button-primary-success-bg-color-idle);color:var(--button-primary-success-label-color)}.ds-button--primary-success:hover:not(:disabled){background-color:var(--button-primary-success-bg-color-hover)}.ds-button--primary-success:active:not(:disabled){background-color:var(--button-primary-success-bg-color-active)}.ds-button--secondary{background-color:var(--button-secondary-bg-color-idle);color:var(--button-secondary-label-color)}.ds-button--secondary:hover:not(:disabled){background-color:var(--button-secondary-bg-color-hover)}.ds-button--secondary:active:not(:disabled){background-color:var(--button-secondary-bg-color-active)}.ds-button--tertiary-neutral{background-color:transparent;color:var(--button-tertiary-neutral-label-color);border:var(--button-border-width-size) solid var(--button-tertiary-neutral-border-color-idle)}.ds-button--tertiary-neutral:hover:not(:disabled){background-color:var(--button-tertiary-neutral-bg-color-hover);border-color:var(--button-tertiary-neutral-border-color-hover)}.ds-button--tertiary-neutral:active:not(:disabled){background-color:var(--button-tertiary-neutral-bg-color-active)}.ds-button--tertiary-success{background-color:transparent;color:var(--button-tertiary-success-label-color);border:var(--button-border-width-size) solid var(--button-tertiary-success-border-color)}.ds-button--tertiary-success:hover:not(:disabled){background-color:var(--button-tertiary-success-bg-color-hover)}.ds-button--ghost{background-color:transparent;color:var(--button-ghost-label-color)}.ds-button--ghost:hover:not(:disabled){background-color:var(--button-ghost-bg-color-hover)}.ds-button--ghost:active:not(:disabled){background-color:var(--button-ghost-bg-color-active)}.ds-button--disabled,.ds-button:disabled{cursor:not-allowed;background-color:var(--button-disabled-bg-color);color:var(--button-disabled-label-color);border-color:var(--button-disabled-border-color)}.ds-button--disabled:hover,.ds-button--disabled:active,.ds-button:disabled:hover,.ds-button:disabled:active{background-color:var(--button-disabled-bg-color);color:var(--button-disabled-label-color);border-color:var(--button-disabled-border-color)}.ds-button:focus-visible{outline:2px solid var(--core-color-primary);outline-offset:2px}`;
|
|
6
6
|
|
|
7
7
|
const DsButton = class {
|
|
8
8
|
constructor(hostRef) {
|
|
9
9
|
index.registerInstance(this, hostRef);
|
|
10
10
|
/**
|
|
11
11
|
* Button variant determining visual style.
|
|
12
|
-
* @default 'primary-brand'
|
|
13
12
|
*/
|
|
14
13
|
this.variant = 'primary-brand';
|
|
15
14
|
/**
|
|
16
|
-
* Disables the button
|
|
17
|
-
* @default false
|
|
15
|
+
* Disables the button.
|
|
18
16
|
*/
|
|
19
17
|
this.disabled = false;
|
|
18
|
+
/**
|
|
19
|
+
* Icon position: 'start' or 'end'.
|
|
20
|
+
*/
|
|
21
|
+
this.iconPosition = 'start';
|
|
20
22
|
}
|
|
21
23
|
render() {
|
|
22
|
-
|
|
24
|
+
const iconEl = this.icon ? index.h("ds-icon", { name: this.icon }) : null;
|
|
25
|
+
return (index.h("button", { key: '000508b5713956932132412d59f9ba1b9baa96c7', class: {
|
|
23
26
|
'ds-button': true,
|
|
24
27
|
[`ds-button--${this.variant}`]: true,
|
|
25
28
|
'ds-button--disabled': this.disabled,
|
|
26
|
-
}, disabled: this.disabled },
|
|
29
|
+
}, disabled: this.disabled }, this.iconPosition === 'start' && iconEl, index.h("span", { key: '1cf189f05c1f2cdb82f54f6f2283eaa9c6e38381', class: "ds-button__label" }, index.h("slot", { key: '89eadaa81aaa4e458e46b29e02291ad45c027101' })), this.iconPosition === 'end' && iconEl));
|
|
27
30
|
}
|
|
28
31
|
};
|
|
29
32
|
DsButton.style = dsButtonCss();
|
|
@@ -39,173 +42,58 @@ const DsCard = class {
|
|
|
39
42
|
this.surface = 'primary';
|
|
40
43
|
}
|
|
41
44
|
render() {
|
|
42
|
-
return (index.h("div", { key: '
|
|
45
|
+
return (index.h("div", { key: '545dfb7389201a046b465e96723fdc8ad5cd1160', class: {
|
|
43
46
|
'ds-card': true,
|
|
44
47
|
[`ds-card--${this.surface}`]: true,
|
|
45
|
-
} }, this.cardTitle && (index.h("div", { key: '
|
|
48
|
+
} }, this.cardTitle && (index.h("div", { key: '63523222100e039098a941c2125df63a7bc8a0ee', class: "ds-card__header" }, index.h("h3", { key: '7e60906b0aeb4d8d20fc09a85d06f4d0bd4a95ae', class: "ds-card__title" }, this.cardTitle))), index.h("div", { key: '544d6b4e6ac95745261ee73c81f2d01c2806afd3', class: "ds-card__content" }, index.h("slot", { key: '9102bcc585687daf5d954059a138ad7bac27b640' }))));
|
|
46
49
|
}
|
|
47
50
|
};
|
|
48
51
|
DsCard.style = dsCardCss();
|
|
49
52
|
|
|
50
|
-
const dsIconCss = () => `:host{display:inline-flex;align-items:center;justify-content:center
|
|
53
|
+
const dsIconCss = () => `:host{display:inline-flex;align-items:center;justify-content:center;width:var(--icon-size);height:var(--icon-size);color:inherit}.ds-icon{display:flex;width:100%;height:100%}.ds-icon svg{width:100%;height:100%;fill:currentColor}`;
|
|
51
54
|
|
|
52
|
-
/**
|
|
53
|
-
* Icon cache shared between all ds-icon instances.
|
|
54
|
-
* Prevents duplicate fetch requests for the same icon.
|
|
55
|
-
*/
|
|
56
55
|
const iconCache = new Map();
|
|
57
|
-
const pendingRequests = new Map();
|
|
58
56
|
const DsIcon = class {
|
|
59
57
|
constructor(hostRef) {
|
|
60
58
|
index.registerInstance(this, hostRef);
|
|
61
59
|
/**
|
|
62
|
-
*
|
|
63
|
-
* @default 24
|
|
64
|
-
*/
|
|
65
|
-
this.size = 24;
|
|
66
|
-
/**
|
|
67
|
-
* Color of the icon. Accepts any valid CSS color value.
|
|
68
|
-
* Icons use currentColor by default, inheriting from parent.
|
|
69
|
-
* @default 'currentColor'
|
|
70
|
-
*/
|
|
71
|
-
this.color = 'currentColor';
|
|
72
|
-
/**
|
|
73
|
-
* Base path for loading icon SVG files.
|
|
74
|
-
* @default '/icons'
|
|
60
|
+
* Base path for icon SVG files.
|
|
75
61
|
*/
|
|
76
62
|
this.basePath = '/icons';
|
|
77
|
-
/**
|
|
78
|
-
* Enable lazy loading with IntersectionObserver.
|
|
79
|
-
* Icon will only load when visible in viewport.
|
|
80
|
-
* @default false
|
|
81
|
-
*/
|
|
82
|
-
this.lazy = false;
|
|
83
|
-
/**
|
|
84
|
-
* Internal state for the loaded SVG content.
|
|
85
|
-
*/
|
|
86
63
|
this.svgContent = '';
|
|
87
|
-
/**
|
|
88
|
-
* Internal state for loading status.
|
|
89
|
-
*/
|
|
90
|
-
this.isLoading = false;
|
|
91
|
-
/**
|
|
92
|
-
* Internal state for error status.
|
|
93
|
-
*/
|
|
94
|
-
this.hasError = false;
|
|
95
|
-
this.isVisible = false;
|
|
96
64
|
}
|
|
97
65
|
connectedCallback() {
|
|
98
|
-
|
|
99
|
-
this.setupIntersectionObserver();
|
|
100
|
-
}
|
|
101
|
-
else {
|
|
102
|
-
this.loadIcon();
|
|
103
|
-
}
|
|
104
|
-
}
|
|
105
|
-
disconnectedCallback() {
|
|
106
|
-
this.observer?.disconnect();
|
|
66
|
+
this.loadIcon();
|
|
107
67
|
}
|
|
108
68
|
onNameChange() {
|
|
109
|
-
|
|
110
|
-
this.loadIcon();
|
|
111
|
-
}
|
|
112
|
-
}
|
|
113
|
-
onBasePathChange() {
|
|
114
|
-
if (!this.lazy || this.isVisible) {
|
|
115
|
-
this.loadIcon();
|
|
116
|
-
}
|
|
117
|
-
}
|
|
118
|
-
setupIntersectionObserver() {
|
|
119
|
-
if (typeof IntersectionObserver === 'undefined') {
|
|
120
|
-
// Fallback for browsers without IntersectionObserver
|
|
121
|
-
this.loadIcon();
|
|
122
|
-
return;
|
|
123
|
-
}
|
|
124
|
-
this.observer = new IntersectionObserver((entries) => {
|
|
125
|
-
entries.forEach((entry) => {
|
|
126
|
-
if (entry.isIntersecting) {
|
|
127
|
-
this.isVisible = true;
|
|
128
|
-
this.loadIcon();
|
|
129
|
-
this.observer?.disconnect();
|
|
130
|
-
}
|
|
131
|
-
});
|
|
132
|
-
}, {
|
|
133
|
-
rootMargin: '50px', // Load slightly before entering viewport
|
|
134
|
-
});
|
|
135
|
-
this.observer.observe(this.el);
|
|
69
|
+
this.loadIcon();
|
|
136
70
|
}
|
|
137
71
|
async loadIcon() {
|
|
138
|
-
if (!this.name)
|
|
139
|
-
this.hasError = true;
|
|
140
|
-
return;
|
|
141
|
-
}
|
|
142
|
-
const iconUrl = `${this.basePath}/${this.name}.svg`;
|
|
143
|
-
// Check cache first
|
|
144
|
-
if (iconCache.has(iconUrl)) {
|
|
145
|
-
this.svgContent = iconCache.get(iconUrl);
|
|
146
|
-
this.hasError = false;
|
|
72
|
+
if (!this.name)
|
|
147
73
|
return;
|
|
148
|
-
}
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
try {
|
|
152
|
-
this.svgContent = await pendingRequests.get(iconUrl);
|
|
153
|
-
this.hasError = false;
|
|
154
|
-
}
|
|
155
|
-
catch {
|
|
156
|
-
this.hasError = true;
|
|
157
|
-
}
|
|
74
|
+
const url = `${this.basePath}/${this.name}.svg`;
|
|
75
|
+
if (iconCache.has(url)) {
|
|
76
|
+
this.svgContent = iconCache.get(url);
|
|
158
77
|
return;
|
|
159
78
|
}
|
|
160
|
-
this.isLoading = true;
|
|
161
|
-
this.hasError = false;
|
|
162
|
-
// Create fetch promise and store it
|
|
163
|
-
const fetchPromise = this.fetchIcon(iconUrl);
|
|
164
|
-
pendingRequests.set(iconUrl, fetchPromise);
|
|
165
79
|
try {
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
80
|
+
const response = await fetch(url);
|
|
81
|
+
if (response.ok) {
|
|
82
|
+
const svg = await response.text();
|
|
83
|
+
iconCache.set(url, svg);
|
|
84
|
+
this.svgContent = svg;
|
|
85
|
+
}
|
|
169
86
|
}
|
|
170
87
|
catch {
|
|
171
|
-
|
|
172
|
-
this.svgContent = '';
|
|
173
|
-
}
|
|
174
|
-
finally {
|
|
175
|
-
this.isLoading = false;
|
|
176
|
-
pendingRequests.delete(iconUrl);
|
|
177
|
-
}
|
|
178
|
-
}
|
|
179
|
-
async fetchIcon(url) {
|
|
180
|
-
const response = await fetch(url);
|
|
181
|
-
if (!response.ok) {
|
|
182
|
-
throw new Error(`Failed to load icon: ${url}`);
|
|
183
|
-
}
|
|
184
|
-
const svgText = await response.text();
|
|
185
|
-
// Basic security check - ensure it's valid SVG
|
|
186
|
-
if (!svgText.includes('<svg')) {
|
|
187
|
-
throw new Error(`Invalid SVG content: ${url}`);
|
|
88
|
+
// Silent fail
|
|
188
89
|
}
|
|
189
|
-
return svgText;
|
|
190
90
|
}
|
|
191
91
|
render() {
|
|
192
|
-
|
|
193
|
-
return (index.h("span", { key: 'f3c397e6532cf9022416cf53458dd6d0b128a3ed', class: {
|
|
194
|
-
'ds-icon': true,
|
|
195
|
-
'ds-icon--loading': this.isLoading,
|
|
196
|
-
'ds-icon--error': this.hasError,
|
|
197
|
-
}, style: {
|
|
198
|
-
'--icon-size': `${this.size}px`,
|
|
199
|
-
'--icon-color': this.color,
|
|
200
|
-
}, role: isDecorative ? 'presentation' : 'img', "aria-hidden": isDecorative ? 'true' : undefined, "aria-label": this.label }, this.svgContent ? (index.h("span", { class: "ds-icon__svg", innerHTML: this.svgContent })) : this.hasError ? (index.h("span", { class: "ds-icon__error", title: `Icon "${this.name}" not found` }, index.h("svg", { viewBox: "0 0 24 24", fill: "currentColor" }, index.h("path", { d: "M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z" })))) : null));
|
|
92
|
+
return (index.h("span", { key: 'f3549bfd71c52f0bf0b23c346fa5a665119c4033', class: "ds-icon", innerHTML: this.svgContent }));
|
|
201
93
|
}
|
|
202
|
-
get el() { return index.getElement(this); }
|
|
203
94
|
static get watchers() { return {
|
|
204
95
|
"name": [{
|
|
205
96
|
"onNameChange": 0
|
|
206
|
-
}],
|
|
207
|
-
"basePath": [{
|
|
208
|
-
"onBasePathChange": 0
|
|
209
97
|
}]
|
|
210
98
|
}; }
|
|
211
99
|
};
|
|
@@ -255,10 +255,6 @@ var require_brace_expansion = __commonJS({
|
|
|
255
255
|
}
|
|
256
256
|
}
|
|
257
257
|
});
|
|
258
|
-
|
|
259
|
-
// src/utils/constants.ts
|
|
260
|
-
var SVG_NS = "http://www.w3.org/2000/svg";
|
|
261
|
-
var HTML_NS = "http://www.w3.org/1999/xhtml";
|
|
262
258
|
var reWireGetterSetter = (instance, hostRef) => {
|
|
263
259
|
var _a;
|
|
264
260
|
const cmpMeta = hostRef.$cmpMeta$;
|
|
@@ -2126,9 +2122,6 @@ var parsePropertyValue = (propValue, propType, isFormAssociated) => {
|
|
|
2126
2122
|
return propValue === "false" ? false : propValue === "" || !!propValue;
|
|
2127
2123
|
}
|
|
2128
2124
|
}
|
|
2129
|
-
if (propType & 2 /* Number */) {
|
|
2130
|
-
return typeof propValue === "string" ? parseFloat(propValue) : typeof propValue === "number" ? propValue : NaN;
|
|
2131
|
-
}
|
|
2132
2125
|
if (propType & 1 /* String */) {
|
|
2133
2126
|
return String(propValue);
|
|
2134
2127
|
}
|
|
@@ -2136,10 +2129,6 @@ var parsePropertyValue = (propValue, propType, isFormAssociated) => {
|
|
|
2136
2129
|
}
|
|
2137
2130
|
return propValue;
|
|
2138
2131
|
};
|
|
2139
|
-
var getElement = (ref) => {
|
|
2140
|
-
var _a;
|
|
2141
|
-
return (_a = getHostRef(ref)) == null ? void 0 : _a.$hostElement$ ;
|
|
2142
|
-
};
|
|
2143
2132
|
var emitEvent = (elm, name, opts) => {
|
|
2144
2133
|
const ev = plt.ce(name, opts);
|
|
2145
2134
|
elm.dispatchEvent(ev);
|
|
@@ -2159,30 +2148,9 @@ var setAccessor = (elm, memberName, oldValue, newValue, isSvg, flags, initialRen
|
|
|
2159
2148
|
classList.remove(...oldClasses.filter((c) => c && !newClasses.includes(c)));
|
|
2160
2149
|
classList.add(...newClasses.filter((c) => c && !oldClasses.includes(c)));
|
|
2161
2150
|
}
|
|
2162
|
-
} else if (memberName === "style") {
|
|
2163
|
-
{
|
|
2164
|
-
for (const prop in oldValue) {
|
|
2165
|
-
if (!newValue || newValue[prop] == null) {
|
|
2166
|
-
if (prop.includes("-")) {
|
|
2167
|
-
elm.style.removeProperty(prop);
|
|
2168
|
-
} else {
|
|
2169
|
-
elm.style[prop] = "";
|
|
2170
|
-
}
|
|
2171
|
-
}
|
|
2172
|
-
}
|
|
2173
|
-
}
|
|
2174
|
-
for (const prop in newValue) {
|
|
2175
|
-
if (!oldValue || newValue[prop] !== oldValue[prop]) {
|
|
2176
|
-
if (prop.includes("-")) {
|
|
2177
|
-
elm.style.setProperty(prop, newValue[prop]);
|
|
2178
|
-
} else {
|
|
2179
|
-
elm.style[prop] = newValue[prop];
|
|
2180
|
-
}
|
|
2181
|
-
}
|
|
2182
|
-
}
|
|
2183
2151
|
} else if (memberName === "key") ; else {
|
|
2184
2152
|
const isComplex = isComplexType(newValue);
|
|
2185
|
-
if ((isProp || isComplex && newValue !== null) &&
|
|
2153
|
+
if ((isProp || isComplex && newValue !== null) && true) {
|
|
2186
2154
|
try {
|
|
2187
2155
|
if (!elm.tagName.includes("-")) {
|
|
2188
2156
|
const n = newValue == null ? "" : newValue;
|
|
@@ -2274,21 +2242,14 @@ var createElm = (oldParentVNode, newParentVNode, childIndex) => {
|
|
|
2274
2242
|
if (newVNode2.$text$ !== null) {
|
|
2275
2243
|
elm = newVNode2.$elm$ = win.document.createTextNode(newVNode2.$text$);
|
|
2276
2244
|
} else {
|
|
2277
|
-
if (!isSvgMode) {
|
|
2278
|
-
isSvgMode = newVNode2.$tag$ === "svg";
|
|
2279
|
-
}
|
|
2280
2245
|
if (!win.document) {
|
|
2281
2246
|
throw new Error(
|
|
2282
2247
|
"You are trying to render a Stencil component in an environment that doesn't support the DOM. Make sure to populate the [`window`](https://developer.mozilla.org/en-US/docs/Web/API/Window/window) object before rendering a component."
|
|
2283
2248
|
);
|
|
2284
2249
|
}
|
|
2285
|
-
elm = newVNode2.$elm$ = win.document.
|
|
2286
|
-
isSvgMode ? SVG_NS : HTML_NS,
|
|
2250
|
+
elm = newVNode2.$elm$ = win.document.createElement(
|
|
2287
2251
|
newVNode2.$tag$
|
|
2288
|
-
)
|
|
2289
|
-
if (isSvgMode && newVNode2.$tag$ === "foreignObject") {
|
|
2290
|
-
isSvgMode = false;
|
|
2291
|
-
}
|
|
2252
|
+
);
|
|
2292
2253
|
{
|
|
2293
2254
|
updateElement(null, newVNode2, isSvgMode);
|
|
2294
2255
|
}
|
|
@@ -2301,13 +2262,6 @@ var createElm = (oldParentVNode, newParentVNode, childIndex) => {
|
|
|
2301
2262
|
}
|
|
2302
2263
|
}
|
|
2303
2264
|
}
|
|
2304
|
-
{
|
|
2305
|
-
if (newVNode2.$tag$ === "svg") {
|
|
2306
|
-
isSvgMode = false;
|
|
2307
|
-
} else if (elm.tagName === "foreignObject") {
|
|
2308
|
-
isSvgMode = true;
|
|
2309
|
-
}
|
|
2310
|
-
}
|
|
2311
2265
|
}
|
|
2312
2266
|
elm["s-hn"] = hostTagName;
|
|
2313
2267
|
return elm;
|
|
@@ -2465,9 +2419,6 @@ var patch = (oldVNode, newVNode2, isInitialRender = false) => {
|
|
|
2465
2419
|
const tag = newVNode2.$tag$;
|
|
2466
2420
|
const text = newVNode2.$text$;
|
|
2467
2421
|
if (text === null) {
|
|
2468
|
-
{
|
|
2469
|
-
isSvgMode = tag === "svg" ? true : tag === "foreignObject" ? false : isSvgMode;
|
|
2470
|
-
}
|
|
2471
2422
|
{
|
|
2472
2423
|
if (tag === "slot" && !useNativeShadowDom) {
|
|
2473
2424
|
if (oldVNode.$name$ !== newVNode2.$name$) {
|
|
@@ -2490,9 +2441,6 @@ var patch = (oldVNode, newVNode2, isInitialRender = false) => {
|
|
|
2490
2441
|
) {
|
|
2491
2442
|
removeVnodes(oldChildren, 0, oldChildren.length - 1);
|
|
2492
2443
|
} else ;
|
|
2493
|
-
if (isSvgMode && tag === "svg") {
|
|
2494
|
-
isSvgMode = false;
|
|
2495
|
-
}
|
|
2496
2444
|
} else if (oldVNode.$text$ !== text) {
|
|
2497
2445
|
elm.data = text;
|
|
2498
2446
|
}
|
|
@@ -3187,7 +3135,6 @@ function transformTag(tag) {
|
|
|
3187
3135
|
}
|
|
3188
3136
|
|
|
3189
3137
|
exports.bootstrapLazy = bootstrapLazy;
|
|
3190
|
-
exports.getElement = getElement;
|
|
3191
3138
|
exports.globalScripts = globalScripts;
|
|
3192
3139
|
exports.h = h;
|
|
3193
3140
|
exports.promiseResolve = promiseResolve;
|
package/dist/cjs/loader.cjs.js
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var index = require('./index-
|
|
3
|
+
var index = require('./index-Bb064vv6.js');
|
|
4
4
|
|
|
5
5
|
const defineCustomElements = async (win, options) => {
|
|
6
6
|
if (typeof window === 'undefined') return undefined;
|
|
7
7
|
await index.globalScripts();
|
|
8
|
-
return index.bootstrapLazy([["ds-button_3.cjs",[[257,"ds-button",{"variant":[1],"disabled":[4]}],[257,"ds-card",{"surface":[1],"cardTitle":[1,"card-title"]}],[1,"ds-icon",{"name":[1],"
|
|
8
|
+
return index.bootstrapLazy([["ds-button_3.cjs",[[257,"ds-button",{"variant":[1],"disabled":[4],"icon":[1],"iconPosition":[1,"icon-position"]}],[257,"ds-card",{"surface":[1],"cardTitle":[1,"card-title"]}],[1,"ds-icon",{"name":[1],"basePath":[1,"base-path"],"svgContent":[32]},null,{"name":[{"onNameChange":0}]}]]]], options);
|
|
9
9
|
};
|
|
10
10
|
|
|
11
11
|
exports.setNonce = index.setNonce;
|
|
@@ -50,14 +50,11 @@
|
|
|
50
50
|
}
|
|
51
51
|
|
|
52
52
|
/* =============================================================================
|
|
53
|
-
ICON
|
|
54
|
-
Styling for slotted icons (icon-start and icon-end)
|
|
55
|
-
Icons use --icon-size token (24px) and inherit label color from button
|
|
53
|
+
ICON STYLING
|
|
56
54
|
============================================================================= */
|
|
57
55
|
|
|
58
|
-
|
|
59
|
-
--icon-size: var(--icon-size
|
|
60
|
-
color: inherit;
|
|
56
|
+
ds-icon {
|
|
57
|
+
--icon-size: var(--icon-size);
|
|
61
58
|
flex-shrink: 0;
|
|
62
59
|
}
|
|
63
60
|
|
|
@@ -3,21 +3,24 @@ export class DsButton {
|
|
|
3
3
|
constructor() {
|
|
4
4
|
/**
|
|
5
5
|
* Button variant determining visual style.
|
|
6
|
-
* @default 'primary-brand'
|
|
7
6
|
*/
|
|
8
7
|
this.variant = 'primary-brand';
|
|
9
8
|
/**
|
|
10
|
-
* Disables the button
|
|
11
|
-
* @default false
|
|
9
|
+
* Disables the button.
|
|
12
10
|
*/
|
|
13
11
|
this.disabled = false;
|
|
12
|
+
/**
|
|
13
|
+
* Icon position: 'start' or 'end'.
|
|
14
|
+
*/
|
|
15
|
+
this.iconPosition = 'start';
|
|
14
16
|
}
|
|
15
17
|
render() {
|
|
16
|
-
|
|
18
|
+
const iconEl = this.icon ? h("ds-icon", { name: this.icon }) : null;
|
|
19
|
+
return (h("button", { key: '000508b5713956932132412d59f9ba1b9baa96c7', class: {
|
|
17
20
|
'ds-button': true,
|
|
18
21
|
[`ds-button--${this.variant}`]: true,
|
|
19
22
|
'ds-button--disabled': this.disabled,
|
|
20
|
-
}, disabled: this.disabled },
|
|
23
|
+
}, disabled: this.disabled }, this.iconPosition === 'start' && iconEl, h("span", { key: '1cf189f05c1f2cdb82f54f6f2283eaa9c6e38381', class: "ds-button__label" }, h("slot", { key: '89eadaa81aaa4e458e46b29e02291ad45c027101' })), this.iconPosition === 'end' && iconEl));
|
|
21
24
|
}
|
|
22
25
|
static get is() { return "ds-button"; }
|
|
23
26
|
static get encapsulation() { return "shadow"; }
|
|
@@ -50,10 +53,7 @@ export class DsButton {
|
|
|
50
53
|
"required": false,
|
|
51
54
|
"optional": false,
|
|
52
55
|
"docs": {
|
|
53
|
-
"tags": [
|
|
54
|
-
"name": "default",
|
|
55
|
-
"text": "'primary-brand'"
|
|
56
|
-
}],
|
|
56
|
+
"tags": [],
|
|
57
57
|
"text": "Button variant determining visual style."
|
|
58
58
|
},
|
|
59
59
|
"getter": false,
|
|
@@ -73,17 +73,53 @@ export class DsButton {
|
|
|
73
73
|
"required": false,
|
|
74
74
|
"optional": false,
|
|
75
75
|
"docs": {
|
|
76
|
-
"tags": [
|
|
77
|
-
|
|
78
|
-
"text": "false"
|
|
79
|
-
}],
|
|
80
|
-
"text": "Disables the button interaction and applies disabled styling."
|
|
76
|
+
"tags": [],
|
|
77
|
+
"text": "Disables the button."
|
|
81
78
|
},
|
|
82
79
|
"getter": false,
|
|
83
80
|
"setter": false,
|
|
84
81
|
"reflect": false,
|
|
85
82
|
"attribute": "disabled",
|
|
86
83
|
"defaultValue": "false"
|
|
84
|
+
},
|
|
85
|
+
"icon": {
|
|
86
|
+
"type": "string",
|
|
87
|
+
"mutable": false,
|
|
88
|
+
"complexType": {
|
|
89
|
+
"original": "string",
|
|
90
|
+
"resolved": "string | undefined",
|
|
91
|
+
"references": {}
|
|
92
|
+
},
|
|
93
|
+
"required": false,
|
|
94
|
+
"optional": true,
|
|
95
|
+
"docs": {
|
|
96
|
+
"tags": [],
|
|
97
|
+
"text": "Icon name to display (optional)."
|
|
98
|
+
},
|
|
99
|
+
"getter": false,
|
|
100
|
+
"setter": false,
|
|
101
|
+
"reflect": false,
|
|
102
|
+
"attribute": "icon"
|
|
103
|
+
},
|
|
104
|
+
"iconPosition": {
|
|
105
|
+
"type": "string",
|
|
106
|
+
"mutable": false,
|
|
107
|
+
"complexType": {
|
|
108
|
+
"original": "'start' | 'end'",
|
|
109
|
+
"resolved": "\"end\" | \"start\"",
|
|
110
|
+
"references": {}
|
|
111
|
+
},
|
|
112
|
+
"required": false,
|
|
113
|
+
"optional": false,
|
|
114
|
+
"docs": {
|
|
115
|
+
"tags": [],
|
|
116
|
+
"text": "Icon position: 'start' or 'end'."
|
|
117
|
+
},
|
|
118
|
+
"getter": false,
|
|
119
|
+
"setter": false,
|
|
120
|
+
"reflect": false,
|
|
121
|
+
"attribute": "icon-position",
|
|
122
|
+
"defaultValue": "'start'"
|
|
87
123
|
}
|
|
88
124
|
};
|
|
89
125
|
}
|
|
@@ -7,10 +7,10 @@ export class DsCard {
|
|
|
7
7
|
this.surface = 'primary';
|
|
8
8
|
}
|
|
9
9
|
render() {
|
|
10
|
-
return (h("div", { key: '
|
|
10
|
+
return (h("div", { key: '545dfb7389201a046b465e96723fdc8ad5cd1160', class: {
|
|
11
11
|
'ds-card': true,
|
|
12
12
|
[`ds-card--${this.surface}`]: true,
|
|
13
|
-
} }, this.cardTitle && (h("div", { key: '
|
|
13
|
+
} }, this.cardTitle && (h("div", { key: '63523222100e039098a941c2125df63a7bc8a0ee', class: "ds-card__header" }, h("h3", { key: '7e60906b0aeb4d8d20fc09a85d06f4d0bd4a95ae', class: "ds-card__title" }, this.cardTitle))), h("div", { key: '544d6b4e6ac95745261ee73c81f2d01c2806afd3', class: "ds-card__content" }, h("slot", { key: '9102bcc585687daf5d954059a138ad7bac27b640' }))));
|
|
14
14
|
}
|
|
15
15
|
static get is() { return "ds-card"; }
|
|
16
16
|
static get encapsulation() { return "shadow"; }
|
|
@@ -1,74 +1,19 @@
|
|
|
1
|
-
/* =============================================================================
|
|
2
|
-
DS-ICON Component Styles
|
|
3
|
-
|
|
4
|
-
Token-based styling for the icon component.
|
|
5
|
-
Icons inherit color from parent by default (currentColor).
|
|
6
|
-
============================================================================= */
|
|
7
|
-
|
|
8
1
|
:host {
|
|
9
2
|
display: inline-flex;
|
|
10
3
|
align-items: center;
|
|
11
4
|
justify-content: center;
|
|
5
|
+
width: var(--icon-size);
|
|
6
|
+
height: var(--icon-size);
|
|
7
|
+
color: inherit;
|
|
12
8
|
}
|
|
13
9
|
|
|
14
|
-
/* =============================================================================
|
|
15
|
-
BASE STYLES
|
|
16
|
-
============================================================================= */
|
|
17
|
-
|
|
18
10
|
.ds-icon {
|
|
19
|
-
display: inline-flex;
|
|
20
|
-
align-items: center;
|
|
21
|
-
justify-content: center;
|
|
22
|
-
width: var(--icon-size, 24px);
|
|
23
|
-
height: var(--icon-size, 24px);
|
|
24
|
-
color: var(--icon-color, currentColor);
|
|
25
|
-
flex-shrink: 0;
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
/* =============================================================================
|
|
29
|
-
SVG CONTAINER
|
|
30
|
-
============================================================================= */
|
|
31
|
-
|
|
32
|
-
.ds-icon__svg {
|
|
33
11
|
display: flex;
|
|
34
|
-
align-items: center;
|
|
35
|
-
justify-content: center;
|
|
36
|
-
width: 100%;
|
|
37
|
-
height: 100%;
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
/* Target the SVG element inside the container */
|
|
41
|
-
.ds-icon__svg svg {
|
|
42
|
-
width: 100%;
|
|
43
|
-
height: 100%;
|
|
44
|
-
fill: currentColor;
|
|
45
|
-
}
|
|
46
|
-
|
|
47
|
-
/* =============================================================================
|
|
48
|
-
LOADING STATE
|
|
49
|
-
============================================================================= */
|
|
50
|
-
|
|
51
|
-
.ds-icon--loading {
|
|
52
|
-
opacity: 0.5;
|
|
53
|
-
}
|
|
54
|
-
|
|
55
|
-
/* =============================================================================
|
|
56
|
-
ERROR STATE
|
|
57
|
-
============================================================================= */
|
|
58
|
-
|
|
59
|
-
.ds-icon--error {
|
|
60
|
-
opacity: 0.3;
|
|
61
|
-
}
|
|
62
|
-
|
|
63
|
-
.ds-icon__error {
|
|
64
|
-
display: flex;
|
|
65
|
-
align-items: center;
|
|
66
|
-
justify-content: center;
|
|
67
12
|
width: 100%;
|
|
68
13
|
height: 100%;
|
|
69
14
|
}
|
|
70
15
|
|
|
71
|
-
.ds-
|
|
16
|
+
.ds-icon svg {
|
|
72
17
|
width: 100%;
|
|
73
18
|
height: 100%;
|
|
74
19
|
fill: currentColor;
|