@ukic/canary-web-components 2.0.0-canary.10 → 2.0.0-canary.11
Sign up to get free protection for your applications and to get access to all the features.
- package/dist/cjs/core.cjs.js +1 -1
- package/dist/cjs/helpers-7a069459.js.map +1 -1
- package/dist/cjs/helpers-f75cf7cf.js.map +1 -1
- package/dist/cjs/ic-badge.cjs.entry.js +15 -7
- package/dist/cjs/ic-badge.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-date-input.cjs.entry.js +24 -8
- package/dist/cjs/ic-date-input.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-date-picker.cjs.entry.js +3 -3
- package/dist/cjs/ic-date-picker.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-dialog.cjs.entry.js +2 -1
- package/dist/cjs/ic-dialog.cjs.entry.js.map +1 -1
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/collection/components/ic-date-input/ic-date-input.js +52 -8
- package/dist/collection/components/ic-date-input/ic-date-input.js.map +1 -1
- package/dist/collection/components/ic-date-input/test/basic/ic-date-input.spec.js +0 -17
- package/dist/collection/components/ic-date-input/test/basic/ic-date-input.spec.js.map +1 -1
- package/dist/collection/components/ic-date-picker/ic-date-picker.js +3 -3
- package/dist/collection/components/ic-date-picker/ic-date-picker.js.map +1 -1
- package/dist/collection/components/ic-date-picker/story-data.js +1 -0
- package/dist/collection/components/ic-date-picker/story-data.js.map +1 -1
- package/dist/collection/utils/helpers.js +14 -0
- package/dist/collection/utils/helpers.js.map +1 -1
- package/dist/components/helpers.js.map +1 -1
- package/dist/components/helpers2.js.map +1 -1
- package/dist/components/ic-badge.js +16 -8
- package/dist/components/ic-badge.js.map +1 -1
- package/dist/components/ic-date-input2.js +26 -9
- package/dist/components/ic-date-input2.js.map +1 -1
- package/dist/components/ic-date-picker.js +3 -3
- package/dist/components/ic-date-picker.js.map +1 -1
- package/dist/components/ic-dialog.js +2 -1
- package/dist/components/ic-dialog.js.map +1 -1
- package/dist/core/core.esm.js +1 -1
- package/dist/core/core.esm.js.map +1 -1
- package/dist/core/{p-ca8cbd6a.entry.js → p-0080bbce.entry.js} +2 -2
- package/dist/core/{p-6690bc04.entry.js → p-02d0ecd2.entry.js} +2 -2
- package/dist/core/{p-a0f9b259.entry.js → p-0388b484.entry.js} +2 -2
- package/dist/core/{p-982a6e88.entry.js → p-06aef486.entry.js} +2 -2
- package/dist/core/{p-1ce75941.entry.js → p-0b32ba5b.entry.js} +2 -2
- package/dist/core/{p-d4fdd8c1.entry.js → p-170f6408.entry.js} +2 -2
- package/dist/core/{p-2c1fecb9.entry.js → p-1857e9a7.entry.js} +2 -2
- package/dist/core/{p-a42c2f37.entry.js → p-1f1b4b8b.entry.js} +2 -2
- package/dist/core/{p-2e2e0099.entry.js → p-21da96a9.entry.js} +2 -2
- package/dist/core/{p-b306cbc8.entry.js → p-221d03e1.entry.js} +2 -2
- package/dist/core/{p-7cecf5d5.entry.js → p-23a13636.entry.js} +2 -2
- package/dist/core/{p-86012178.entry.js → p-25a458bf.entry.js} +2 -2
- package/dist/core/{p-d35c7c18.js → p-2c3cdfa3.js} +2 -2
- package/dist/core/{p-d35c7c18.js.map → p-2c3cdfa3.js.map} +1 -1
- package/dist/core/{p-5fe96107.entry.js → p-2f31bb92.entry.js} +2 -2
- package/dist/core/{p-8c90110a.entry.js → p-31fdb740.entry.js} +2 -2
- package/dist/core/p-40ba5a51.entry.js +2 -0
- package/dist/core/p-40ba5a51.entry.js.map +1 -0
- package/dist/core/p-4f0178a7.entry.js +2 -0
- package/dist/core/{p-d5c99ec3.entry.js.map → p-4f0178a7.entry.js.map} +1 -1
- package/dist/core/{p-9d540656.entry.js → p-56d01bdb.entry.js} +2 -2
- package/dist/core/p-5d6750ea.entry.js +2 -0
- package/dist/core/p-5d6750ea.entry.js.map +1 -0
- package/dist/core/{p-776671cf.entry.js → p-655df7fe.entry.js} +2 -2
- package/dist/core/{p-1b7d426b.entry.js → p-65a8c1d6.entry.js} +2 -2
- package/dist/core/{p-a6447b13.entry.js → p-6e32683c.entry.js} +2 -2
- package/dist/core/{p-5e2e6c3b.entry.js → p-70b48a14.entry.js} +2 -2
- package/dist/core/{p-76d26018.entry.js → p-7373beb0.entry.js} +2 -2
- package/dist/core/{p-1832f4b5.entry.js → p-75a2cdac.entry.js} +2 -2
- package/dist/core/{p-8ab12a15.entry.js → p-7c0f24b6.entry.js} +2 -2
- package/dist/core/{p-98448bdb.entry.js → p-8f1aa87d.entry.js} +2 -2
- package/dist/core/{p-e74f1d09.entry.js → p-95374ba1.entry.js} +2 -2
- package/dist/core/{p-06ae5bec.entry.js → p-98c8d46a.entry.js} +2 -2
- package/dist/core/{p-f55ad6ae.entry.js → p-9f9b3151.entry.js} +2 -2
- package/dist/core/{p-4f1ffa39.entry.js → p-a16c6ff3.entry.js} +2 -2
- package/dist/core/{p-5392bca0.entry.js → p-a22fd338.entry.js} +2 -2
- package/dist/core/{p-85609bdd.entry.js → p-a6e9a8e7.entry.js} +2 -2
- package/dist/core/p-b1e3f20a.entry.js +2 -0
- package/dist/core/{p-8ea47d42.entry.js.map → p-b1e3f20a.entry.js.map} +1 -1
- package/dist/core/{p-5759d771.entry.js → p-b1e646e4.entry.js} +2 -2
- package/dist/core/{p-d3856ed3.entry.js → p-b3ce9fe4.entry.js} +2 -2
- package/dist/core/{p-33679c06.entry.js → p-c680c7f9.entry.js} +2 -2
- package/dist/core/p-cd799087.js.map +1 -1
- package/dist/core/{p-0939ce92.entry.js → p-ce898d90.entry.js} +2 -2
- package/dist/core/p-d184d9e2.entry.js +2 -0
- package/dist/core/p-d184d9e2.entry.js.map +1 -0
- package/dist/core/{p-16f67397.entry.js → p-df5d7aa4.entry.js} +2 -2
- package/dist/core/{p-9d01a7ad.entry.js → p-df63896a.entry.js} +2 -2
- package/dist/core/{p-62e22508.entry.js → p-e21083c8.entry.js} +2 -2
- package/dist/core/{p-47ac6838.entry.js → p-e2155d7f.entry.js} +2 -2
- package/dist/core/{p-caf857de.entry.js → p-e33bdca9.entry.js} +2 -2
- package/dist/core/{p-3745da83.entry.js → p-e9e7a7f9.entry.js} +2 -2
- package/dist/core/{p-c7820c23.entry.js → p-ee09f1b3.entry.js} +2 -2
- package/dist/core/{p-f91527a0.entry.js → p-eeacd610.entry.js} +2 -2
- package/dist/core/{p-6c0e2ceb.entry.js → p-f24c9356.entry.js} +2 -2
- package/dist/core/p-f5d5f0be.entry.js +2 -0
- package/dist/core/p-f5d5f0be.entry.js.map +1 -0
- package/dist/core/{p-d32692e2.entry.js → p-f62cd6d2.entry.js} +2 -2
- package/dist/core/{p-ae422058.entry.js → p-fb58d1d1.entry.js} +2 -2
- package/dist/esm/core.js +1 -1
- package/dist/esm/{helpers-7aa21b0a.js → helpers-b5f64263.js} +2 -2
- package/dist/esm/{helpers-7aa21b0a.js.map → helpers-b5f64263.js.map} +1 -1
- package/dist/esm/helpers-f328a7b6.js.map +1 -1
- package/dist/esm/ic-accordion.entry.js +1 -1
- package/dist/esm/ic-alert.entry.js +1 -1
- package/dist/esm/ic-back-to-top.entry.js +1 -1
- package/dist/esm/ic-badge.entry.js +16 -8
- package/dist/esm/ic-badge.entry.js.map +1 -1
- package/dist/esm/ic-breadcrumb-group.entry.js +1 -1
- package/dist/esm/ic-breadcrumb.entry.js +1 -1
- package/dist/esm/ic-button_3.entry.js +1 -1
- package/dist/esm/ic-card.entry.js +1 -1
- package/dist/esm/ic-checkbox-group.entry.js +1 -1
- package/dist/esm/ic-checkbox.entry.js +1 -1
- package/dist/esm/ic-chip.entry.js +1 -1
- package/dist/esm/ic-data-row.entry.js +1 -1
- package/dist/esm/ic-date-input.entry.js +24 -8
- package/dist/esm/ic-date-input.entry.js.map +1 -1
- package/dist/esm/ic-date-picker.entry.js +3 -3
- package/dist/esm/ic-date-picker.entry.js.map +1 -1
- package/dist/esm/ic-dialog.entry.js +3 -2
- package/dist/esm/ic-dialog.entry.js.map +1 -1
- package/dist/esm/ic-divider.entry.js +1 -1
- package/dist/esm/ic-empty-state.entry.js +1 -1
- package/dist/esm/ic-footer-link-group.entry.js +1 -1
- package/dist/esm/ic-footer-link.entry.js +1 -1
- package/dist/esm/ic-footer.entry.js +1 -1
- package/dist/esm/ic-hero.entry.js +1 -1
- package/dist/esm/ic-horizontal-scroll.entry.js +1 -1
- package/dist/esm/ic-input-component-container_4.entry.js +1 -1
- package/dist/esm/ic-link.entry.js +1 -1
- package/dist/esm/ic-menu-group.entry.js +1 -1
- package/dist/esm/ic-menu-item.entry.js +1 -1
- package/dist/esm/ic-menu.entry.js +1 -1
- package/dist/esm/ic-navigation-button.entry.js +1 -1
- package/dist/esm/ic-navigation-group.entry.js +1 -1
- package/dist/esm/ic-navigation-item.entry.js +1 -1
- package/dist/esm/ic-navigation-menu.entry.js +1 -1
- package/dist/esm/ic-page-header.entry.js +1 -1
- package/dist/esm/ic-pagination_4.entry.js +1 -1
- package/dist/esm/ic-popover-menu.entry.js +1 -1
- package/dist/esm/ic-radio-group.entry.js +1 -1
- package/dist/esm/ic-radio-option.entry.js +1 -1
- package/dist/esm/ic-search-bar.entry.js +1 -1
- package/dist/esm/ic-side-navigation.entry.js +1 -1
- package/dist/esm/ic-status-tag.entry.js +1 -1
- package/dist/esm/ic-step.entry.js +1 -1
- package/dist/esm/ic-stepper.entry.js +1 -1
- package/dist/esm/ic-switch.entry.js +1 -1
- package/dist/esm/ic-tab-group.entry.js +1 -1
- package/dist/esm/ic-tab-panel.entry.js +1 -1
- package/dist/esm/ic-tab.entry.js +1 -1
- package/dist/esm/ic-theme.entry.js +1 -1
- package/dist/esm/ic-toast.entry.js +1 -1
- package/dist/esm/ic-toggle-button.entry.js +1 -1
- package/dist/esm/ic-top-navigation.entry.js +1 -1
- package/dist/esm/ic-typography.entry.js +1 -1
- package/dist/esm/loader.js +1 -1
- package/dist/types/components/ic-date-input/ic-date-input.d.ts +6 -0
- package/dist/types/components.d.ts +1 -0
- package/dist/types/utils/helpers.d.ts +1 -0
- package/hydrate/index.js +46 -20
- package/package.json +3 -3
- package/dist/core/p-36508aad.entry.js +0 -2
- package/dist/core/p-36508aad.entry.js.map +0 -1
- package/dist/core/p-550a5674.entry.js +0 -2
- package/dist/core/p-550a5674.entry.js.map +0 -1
- package/dist/core/p-8ea47d42.entry.js +0 -2
- package/dist/core/p-d5c99ec3.entry.js +0 -2
- package/dist/core/p-e5d76564.entry.js +0 -2
- package/dist/core/p-e5d76564.entry.js.map +0 -1
- package/dist/core/p-e84b0310.entry.js +0 -2
- package/dist/core/p-e84b0310.entry.js.map +0 -1
- /package/dist/core/{p-ca8cbd6a.entry.js.map → p-0080bbce.entry.js.map} +0 -0
- /package/dist/core/{p-6690bc04.entry.js.map → p-02d0ecd2.entry.js.map} +0 -0
- /package/dist/core/{p-a0f9b259.entry.js.map → p-0388b484.entry.js.map} +0 -0
- /package/dist/core/{p-982a6e88.entry.js.map → p-06aef486.entry.js.map} +0 -0
- /package/dist/core/{p-1ce75941.entry.js.map → p-0b32ba5b.entry.js.map} +0 -0
- /package/dist/core/{p-d4fdd8c1.entry.js.map → p-170f6408.entry.js.map} +0 -0
- /package/dist/core/{p-2c1fecb9.entry.js.map → p-1857e9a7.entry.js.map} +0 -0
- /package/dist/core/{p-a42c2f37.entry.js.map → p-1f1b4b8b.entry.js.map} +0 -0
- /package/dist/core/{p-2e2e0099.entry.js.map → p-21da96a9.entry.js.map} +0 -0
- /package/dist/core/{p-b306cbc8.entry.js.map → p-221d03e1.entry.js.map} +0 -0
- /package/dist/core/{p-7cecf5d5.entry.js.map → p-23a13636.entry.js.map} +0 -0
- /package/dist/core/{p-86012178.entry.js.map → p-25a458bf.entry.js.map} +0 -0
- /package/dist/core/{p-5fe96107.entry.js.map → p-2f31bb92.entry.js.map} +0 -0
- /package/dist/core/{p-8c90110a.entry.js.map → p-31fdb740.entry.js.map} +0 -0
- /package/dist/core/{p-9d540656.entry.js.map → p-56d01bdb.entry.js.map} +0 -0
- /package/dist/core/{p-776671cf.entry.js.map → p-655df7fe.entry.js.map} +0 -0
- /package/dist/core/{p-1b7d426b.entry.js.map → p-65a8c1d6.entry.js.map} +0 -0
- /package/dist/core/{p-a6447b13.entry.js.map → p-6e32683c.entry.js.map} +0 -0
- /package/dist/core/{p-5e2e6c3b.entry.js.map → p-70b48a14.entry.js.map} +0 -0
- /package/dist/core/{p-76d26018.entry.js.map → p-7373beb0.entry.js.map} +0 -0
- /package/dist/core/{p-1832f4b5.entry.js.map → p-75a2cdac.entry.js.map} +0 -0
- /package/dist/core/{p-8ab12a15.entry.js.map → p-7c0f24b6.entry.js.map} +0 -0
- /package/dist/core/{p-98448bdb.entry.js.map → p-8f1aa87d.entry.js.map} +0 -0
- /package/dist/core/{p-e74f1d09.entry.js.map → p-95374ba1.entry.js.map} +0 -0
- /package/dist/core/{p-06ae5bec.entry.js.map → p-98c8d46a.entry.js.map} +0 -0
- /package/dist/core/{p-f55ad6ae.entry.js.map → p-9f9b3151.entry.js.map} +0 -0
- /package/dist/core/{p-4f1ffa39.entry.js.map → p-a16c6ff3.entry.js.map} +0 -0
- /package/dist/core/{p-5392bca0.entry.js.map → p-a22fd338.entry.js.map} +0 -0
- /package/dist/core/{p-85609bdd.entry.js.map → p-a6e9a8e7.entry.js.map} +0 -0
- /package/dist/core/{p-5759d771.entry.js.map → p-b1e646e4.entry.js.map} +0 -0
- /package/dist/core/{p-d3856ed3.entry.js.map → p-b3ce9fe4.entry.js.map} +0 -0
- /package/dist/core/{p-33679c06.entry.js.map → p-c680c7f9.entry.js.map} +0 -0
- /package/dist/core/{p-0939ce92.entry.js.map → p-ce898d90.entry.js.map} +0 -0
- /package/dist/core/{p-16f67397.entry.js.map → p-df5d7aa4.entry.js.map} +0 -0
- /package/dist/core/{p-9d01a7ad.entry.js.map → p-df63896a.entry.js.map} +0 -0
- /package/dist/core/{p-62e22508.entry.js.map → p-e21083c8.entry.js.map} +0 -0
- /package/dist/core/{p-47ac6838.entry.js.map → p-e2155d7f.entry.js.map} +0 -0
- /package/dist/core/{p-caf857de.entry.js.map → p-e33bdca9.entry.js.map} +0 -0
- /package/dist/core/{p-3745da83.entry.js.map → p-e9e7a7f9.entry.js.map} +0 -0
- /package/dist/core/{p-c7820c23.entry.js.map → p-ee09f1b3.entry.js.map} +0 -0
- /package/dist/core/{p-f91527a0.entry.js.map → p-eeacd610.entry.js.map} +0 -0
- /package/dist/core/{p-6c0e2ceb.entry.js.map → p-f24c9356.entry.js.map} +0 -0
- /package/dist/core/{p-d32692e2.entry.js.map → p-f62cd6d2.entry.js.map} +0 -0
- /package/dist/core/{p-ae422058.entry.js.map → p-fb58d1d1.entry.js.map} +0 -0
@@ -11,6 +11,7 @@ const icBadgeCss = "@media (prefers-reduced-motion: no-preference){:host(.show){
|
|
11
11
|
const Badge = class {
|
12
12
|
constructor(hostRef) {
|
13
13
|
index.registerInstance(this, hostRef);
|
14
|
+
this.ariaLabel = null;
|
14
15
|
this.setBadgeColour = () => {
|
15
16
|
let colorRGBA = null;
|
16
17
|
if (this.customColor !== null) {
|
@@ -93,13 +94,22 @@ const Badge = class {
|
|
93
94
|
}
|
94
95
|
return label;
|
95
96
|
};
|
97
|
+
// Set aria-label on badge and / or parent element
|
98
|
+
// Aria-describedby seems to not work, probably due to shadow DOM
|
96
99
|
this.setAccessibleLabel = () => {
|
100
|
+
const parentElType = helpers.getParentElementType(this.el);
|
101
|
+
const parentElAriaLabel = helpers.getParentElement(this.el).ariaLabel;
|
102
|
+
const defaultAriaLabel = this.isAccessibleLabelDefined()
|
103
|
+
? this.accessibleLabel
|
104
|
+
: this.textLabel || "with badge being displayed";
|
97
105
|
if (helpers.getParentElement(this.el) !== null) {
|
98
|
-
if (
|
99
|
-
|
106
|
+
if (parentElType !== "IC-CARD" &&
|
107
|
+
(parentElType !== "IC-TAB" ||
|
108
|
+
(parentElType === "IC-TAB" && parentElAriaLabel))) {
|
109
|
+
helpers.getParentElement(this.el).ariaLabel = `${parentElAriaLabel ? `${parentElAriaLabel} ,` : ""} ${defaultAriaLabel}`;
|
100
110
|
}
|
101
111
|
else {
|
102
|
-
|
112
|
+
this.ariaLabel = `, ${defaultAriaLabel}`;
|
103
113
|
}
|
104
114
|
}
|
105
115
|
};
|
@@ -119,7 +129,7 @@ const Badge = class {
|
|
119
129
|
componentWillLoad() {
|
120
130
|
this.variant === "custom" && this.setBadgeColour();
|
121
131
|
this.getBadgeForeground();
|
122
|
-
this.
|
132
|
+
this.setAccessibleLabel();
|
123
133
|
}
|
124
134
|
componentDidLoad() {
|
125
135
|
this.type === "text" &&
|
@@ -147,9 +157,7 @@ const Badge = class {
|
|
147
157
|
[`foreground-${foregroundColour}`]: foregroundColour !== null,
|
148
158
|
["show"]: visible,
|
149
159
|
["hide"]: !visible,
|
150
|
-
}, id: this.el.id || null, "aria-label": this.
|
151
|
-
? `badge displaying ${this.accessibleLabel}`
|
152
|
-
: "badge being displayed", role: "status" }, type === "icon" && index.h("slot", { name: "badge-icon" }), type === "text" && (index.h("ic-typography", { variant: size === "small" ? "badge-small" : "badge" }, this.getTextLabel()))));
|
160
|
+
}, id: this.el.id || null, "aria-label": this.ariaLabel, role: "status" }, type === "icon" && index.h("slot", { name: "badge-icon" }), type === "text" && (index.h("ic-typography", { variant: size === "small" ? "badge-small" : "badge" }, this.getTextLabel()))));
|
153
161
|
}
|
154
162
|
static get delegatesFocus() { return true; }
|
155
163
|
get el() { return index.getElement(this); }
|
@@ -1 +1 @@
|
|
1
|
-
{"file":"ic-badge.entry.cjs.js","mappings":"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","names":["hexToRgba","rgbaStrToObj","getCssProperty","IcThemeForegroundEnum","getParentElement","getParentElementType","isPropDefined","onComponentRequiredPropUndefined","h","Host"],"sources":["../web-components/dist/collection/components/ic-badge/ic-badge.css?tag=ic-badge&encapsulation=shadow","../web-components/dist/collection/components/ic-badge/ic-badge.js"],"sourcesContent":["@media (prefers-reduced-motion: no-preference) {\n :host(.show) {\n animation: expand var(--ic-transition-duration-slow);\n }\n\n :host(.hide) {\n animation: shrink var(--ic-transition-duration-slow);\n }\n}\n\n:host {\n display: flex;\n height: var(--ic-space-md);\n min-width: var(--ic-space-md);\n width: -moz-fit-content;\n width: fit-content;\n border-radius: calc(2 * var(--ic-space-xxl));\n position: absolute;\n}\n\n:host(.neutral) {\n background-color: var(--ic-architectural-500);\n}\n\n:host(.light) {\n background-color: var(--ic-architectural-40);\n}\n\n:host(.info) {\n background-color: var(--ic-status-info);\n}\n\n:host(.warning) {\n background-color: var(--ic-status-warning-mid);\n}\n\n:host(.error) {\n background-color: var(--ic-status-error);\n}\n\n:host(.success) {\n background-color: var(--ic-status-success);\n}\n\n:host(.small) {\n height: var(--ic-space-sm);\n min-width: var(--ic-space-sm);\n}\n\n:host(.large) {\n height: calc(var(--ic-space-md) + var(--ic-space-xxs));\n min-width: calc(var(--ic-space-md) + var(--ic-space-xxs));\n}\n\n:host(.dot.default) {\n height: var(--ic-space-xs);\n width: var(--ic-space-xs);\n min-width: var(--ic-space-xs);\n}\n\n:host(.dot.small) {\n height: calc(var(--ic-space-xxs) + var(--ic-space-xxxs));\n width: calc(var(--ic-space-xxs) + var(--ic-space-xxxs));\n min-width: calc(var(--ic-space-xxs) + var(--ic-space-xxxs));\n}\n\n:host(.dot.large) {\n height: var(--ic-space-sm);\n width: var(--ic-space-sm);\n min-width: var(--ic-space-sm);\n}\n\n:host(.foreground-dark) ::slotted(*) {\n fill: var(--ic-color-primary-text);\n}\n\n:host(.foreground-light) ::slotted(*) {\n fill: white;\n}\n\n:host(.foreground-dark) ic-typography {\n color: var(--ic-color-primary-text);\n}\n\n:host(.foreground-light) ic-typography {\n color: white;\n}\n\n:host(.text) ic-typography {\n align-self: center;\n padding: 0 calc((var(--ic-space-xs) + var(--ic-space-1px)) / 2)\n var(--ic-space-1px);\n}\n\n:host(.text.small) ic-typography {\n padding: 0 0.2132rem;\n}\n\n:host(.text.large) ic-typography {\n padding: 0 calc((var(--ic-space-sm) + var(--ic-space-1px)) / 2)\n var(--ic-space-1px);\n}\n\n:host(.icon) ::slotted(svg) {\n width: var(--ic-space-sm);\n height: var(--ic-space-sm);\n padding: var(--ic-space-xxxs);\n}\n\n:host(.icon.small) ::slotted(svg) {\n width: var(--ic-space-xs);\n height: var(--ic-space-xs);\n}\n\n:host(.icon.large) ::slotted(svg) {\n width: calc(var(--ic-space-sm) + var(--ic-space-xxxs));\n height: calc(var(--ic-space-sm) + var(--ic-space-xxxs));\n padding: calc(var(--ic-space-xxxs) + var(--ic-space-1px));\n}\n\n:host(.far) {\n top: calc(-1 * var(--ic-space-xs));\n right: calc(-1 * var(--ic-space-xs));\n}\n\n:host(.far.small),\n:host(.dot.far.large) {\n top: calc(-1 * var(--ic-space-xxs));\n right: calc(-1 * var(--ic-space-xxs));\n}\n\n:host(.dot.far),\n:host(.dot.far.small) {\n top: calc(-1 * var(--ic-space-xxxs));\n right: calc(-1 * var(--ic-space-xxxs));\n}\n\n:host(.near) {\n top: calc(-1 * calc(var(--ic-space-xxs) + var(--ic-space-1px)));\n right: calc(-1 * calc(var(--ic-space-xxs) + var(--ic-space-1px)));\n}\n\n:host(.dot.near) {\n top: calc(-1 * var(--ic-space-1px));\n right: calc(-1 * var(--ic-space-1px));\n}\n\n:host(.inline) {\n position: static;\n}\n\n:host(.hide) {\n visibility: hidden !important;\n transition: visibility var(--ic-transition-duration-slow);\n}\n\n@keyframes expand {\n from {\n opacity: 0;\n transform: scale(0);\n }\n\n to {\n opacity: 1;\n transform: scale(1);\n }\n}\n\n@keyframes shrink {\n from {\n opacity: 1;\n transform: scale(1);\n }\n\n to {\n opacity: 0;\n transform: scale(0);\n }\n}\n","import { Host, h } from \"@stencil/core\";\nimport { IcThemeForegroundEnum, } from \"../../utils/types\";\nimport { getCssProperty, getParentElement, getParentElementType, hexToRgba, isPropDefined, onComponentRequiredPropUndefined, rgbaStrToObj, } from \"../../utils/helpers\";\n/**\n * @slot badge-icon - Icon will be rendered inside the badge if type is set to icon.\n */\nexport class Badge {\n constructor() {\n this.setBadgeColour = () => {\n let colorRGBA = null;\n if (this.customColor !== null) {\n const firstChar = this.customColor.slice(0, 1);\n if (firstChar === \"#\") {\n colorRGBA = hexToRgba(this.customColor);\n }\n else if (firstChar.toLowerCase() === \"r\") {\n colorRGBA = rgbaStrToObj(this.customColor);\n }\n this.customColorRGBA = colorRGBA;\n this.el.style.backgroundColor = `rgba(${colorRGBA.r.toString()}, ${colorRGBA.g.toString()}, ${colorRGBA.b.toString()}, ${colorRGBA.a.toString()})`;\n }\n };\n this.getBadgeForeground = () => {\n let red;\n let green;\n let blue;\n switch (this.variant) {\n case \"custom\":\n red = this.customColorRGBA.r;\n green = this.customColorRGBA.g;\n blue = this.customColorRGBA.b;\n break;\n case \"error\":\n red = parseInt(getCssProperty(\"--ic-status-error-r\"));\n green = parseInt(getCssProperty(\"--ic-status-error-g\"));\n blue = parseInt(getCssProperty(\"--ic-status-error-b\"));\n break;\n case \"success\":\n red = parseInt(getCssProperty(\"--ic-status-success-r\"));\n green = parseInt(getCssProperty(\"--ic-status-success-g\"));\n blue = parseInt(getCssProperty(\"--ic-status-success-b\"));\n break;\n case \"warning\":\n red = parseInt(getCssProperty(\"--ic-status-warning-r\"));\n green = parseInt(getCssProperty(\"--ic-status-warning-g\"));\n blue = parseInt(getCssProperty(\"--ic-status-warning-b\"));\n break;\n case \"info\": {\n const info = hexToRgba(getCssProperty(\"--ic-status-info\"));\n red = info.r;\n green = info.g;\n blue = info.b;\n break;\n }\n case \"neutral\": {\n const neutral = hexToRgba(getCssProperty(\"--ic-architectural-500\"));\n red = neutral.r;\n green = neutral.g;\n blue = neutral.b;\n break;\n }\n case \"light\": {\n const light = hexToRgba(getCssProperty(\"--ic-architectural-40\"));\n red = light.r;\n green = light.g;\n blue = light.b;\n break;\n }\n }\n const brightness = (red * 299 + green * 587 + blue * 114) / 1000;\n this.foregroundColour =\n brightness > 133.3505\n ? IcThemeForegroundEnum.Dark\n : IcThemeForegroundEnum.Light;\n };\n this.getTextLabel = () => {\n let label;\n if (this.textLabel !== null) {\n if (this.maxNumber !== null) {\n label =\n Number(this.textLabel) > this.maxNumber\n ? `${this.maxNumber}+`\n : this.textLabel;\n }\n else {\n label = this.textLabel;\n }\n }\n return label;\n };\n this.setAccessibleLabel = () => {\n if (getParentElement(this.el) !== null) {\n if (getParentElementType(this.el) === \"IC-TAB\") {\n getParentElement(this.el).setAttribute(\"aria-describedby\", \"badge\");\n }\n else {\n getParentElement(this.el).ariaLabel = `badge displaying ${this.accessibleLabel}`;\n }\n }\n };\n this.isAccessibleLabelDefined = () => {\n return isPropDefined(this.accessibleLabel) && this.accessibleLabel !== null;\n };\n this.accessibleLabel = undefined;\n this.customColor = null;\n this.maxNumber = undefined;\n this.position = \"far\";\n this.size = \"default\";\n this.textLabel = undefined;\n this.type = \"text\";\n this.variant = \"neutral\";\n this.visible = true;\n }\n componentWillLoad() {\n this.variant === \"custom\" && this.setBadgeColour();\n this.getBadgeForeground();\n this.isAccessibleLabelDefined() && this.setAccessibleLabel();\n }\n componentDidLoad() {\n this.type === \"text\" &&\n onComponentRequiredPropUndefined([{ prop: this.textLabel, propName: \"text-label\" }], \"Badge\");\n }\n /**\n * @deprecated This method should not be used anymore. Use visible prop to set badge visibility.\n */\n async showBadge() {\n this.visible = true;\n }\n /**\n * @deprecated This method should not be used anymore. Use visible prop to set badge visibility.\n */\n async hideBadge() {\n this.visible = false;\n }\n render() {\n const { position, size, type, variant, foregroundColour, visible } = this;\n return (h(Host, { class: {\n [`${position}`]: true,\n [`${size}`]: true,\n [`${variant}`]: true,\n [`${type}`]: true,\n [`foreground-${foregroundColour}`]: foregroundColour !== null,\n [\"show\"]: visible,\n [\"hide\"]: !visible,\n }, id: this.el.id || null, \"aria-label\": this.isAccessibleLabelDefined()\n ? `badge displaying ${this.accessibleLabel}`\n : \"badge being displayed\", role: \"status\" }, type === \"icon\" && h(\"slot\", { name: \"badge-icon\" }), type === \"text\" && (h(\"ic-typography\", { variant: size === \"small\" ? \"badge-small\" : \"badge\" }, this.getTextLabel()))));\n }\n static get is() { return \"ic-badge\"; }\n static get encapsulation() { return \"shadow\"; }\n static get delegatesFocus() { return true; }\n static get originalStyleUrls() {\n return {\n \"$\": [\"ic-badge.css\"]\n };\n }\n static get styleUrls() {\n return {\n \"$\": [\"ic-badge.css\"]\n };\n }\n static get properties() {\n return {\n \"accessibleLabel\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The accessible label of the badge component to provide context for screen reader users.\"\n },\n \"attribute\": \"accessible-label\",\n \"reflect\": false\n },\n \"customColor\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"IcColor\",\n \"resolved\": \"`#${string}` | `rgb(${string})` | `rgba(${string})`\",\n \"references\": {\n \"IcColor\": {\n \"location\": \"import\",\n \"path\": \"./ic-badge.types\",\n \"id\": \"src/components/ic-badge/ic-badge.types.ts::IcColor\"\n }\n }\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The custom badge colour. This will only style the badge component if variant=\\\"custom\\\".\\nCan be a hex value e.g. \\\"#ff0000\\\", RGB e.g. \\\"rgb(255, 0, 0)\\\", or RGBA e.g. \\\"rgba(255, 0, 0, 1)\\\".\"\n },\n \"attribute\": \"custom-color\",\n \"reflect\": false,\n \"defaultValue\": \"null\"\n },\n \"maxNumber\": {\n \"type\": \"number\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"number\",\n \"resolved\": \"number\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The maximum number shown on the badge appended with a +.\\nThis will only be displayed if type=\\\"text\\\" and textLabel is not empty.\"\n },\n \"attribute\": \"max-number\",\n \"reflect\": false\n },\n \"position\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"IcBadgePositions\",\n \"resolved\": \"\\\"far\\\" | \\\"inline\\\" | \\\"near\\\"\",\n \"references\": {\n \"IcBadgePositions\": {\n \"location\": \"import\",\n \"path\": \"./ic-badge.types\",\n \"id\": \"src/components/ic-badge/ic-badge.types.ts::IcBadgePositions\"\n }\n }\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The positioning of the badge in reference to the parent element.\"\n },\n \"attribute\": \"position\",\n \"reflect\": false,\n \"defaultValue\": \"\\\"far\\\"\"\n },\n \"size\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"IcSizes\",\n \"resolved\": \"\\\"default\\\" | \\\"large\\\" | \\\"small\\\"\",\n \"references\": {\n \"IcSizes\": {\n \"location\": \"import\",\n \"path\": \"../../utils/types\",\n \"id\": \"src/utils/types.ts::IcSizes\"\n }\n }\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The size of the badge to be displayed.\"\n },\n \"attribute\": \"size\",\n \"reflect\": false,\n \"defaultValue\": \"\\\"default\\\"\"\n },\n \"textLabel\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The text displayed in the badge. This will only be displayed if type=\\\"text\\\".\"\n },\n \"attribute\": \"text-label\",\n \"reflect\": false\n },\n \"type\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"IcBadgeTypes\",\n \"resolved\": \"\\\"dot\\\" | \\\"icon\\\" | \\\"text\\\"\",\n \"references\": {\n \"IcBadgeTypes\": {\n \"location\": \"import\",\n \"path\": \"./ic-badge.types\",\n \"id\": \"src/components/ic-badge/ic-badge.types.ts::IcBadgeTypes\"\n }\n }\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The type of badge to be displayed.\"\n },\n \"attribute\": \"type\",\n \"reflect\": false,\n \"defaultValue\": \"\\\"text\\\"\"\n },\n \"variant\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"IcBadgeVariants\",\n \"resolved\": \"\\\"custom\\\" | \\\"error\\\" | \\\"info\\\" | \\\"light\\\" | \\\"neutral\\\" | \\\"success\\\" | \\\"warning\\\"\",\n \"references\": {\n \"IcBadgeVariants\": {\n \"location\": \"import\",\n \"path\": \"./ic-badge.types\",\n \"id\": \"src/components/ic-badge/ic-badge.types.ts::IcBadgeVariants\"\n }\n }\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The variant of the badge to be displayed.\"\n },\n \"attribute\": \"variant\",\n \"reflect\": false,\n \"defaultValue\": \"\\\"neutral\\\"\"\n },\n \"visible\": {\n \"type\": \"boolean\",\n \"mutable\": true,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"If `true`, the badge will be displayed.\"\n },\n \"attribute\": \"visible\",\n \"reflect\": false,\n \"defaultValue\": \"true\"\n }\n };\n }\n static get methods() {\n return {\n \"showBadge\": {\n \"complexType\": {\n \"signature\": \"() => Promise<void>\",\n \"parameters\": [],\n \"references\": {\n \"Promise\": {\n \"location\": \"global\",\n \"id\": \"global::Promise\"\n }\n },\n \"return\": \"Promise<void>\"\n },\n \"docs\": {\n \"text\": \"\",\n \"tags\": [{\n \"name\": \"deprecated\",\n \"text\": \"This method should not be used anymore. Use visible prop to set badge visibility.\"\n }]\n }\n },\n \"hideBadge\": {\n \"complexType\": {\n \"signature\": \"() => Promise<void>\",\n \"parameters\": [],\n \"references\": {\n \"Promise\": {\n \"location\": \"global\",\n \"id\": \"global::Promise\"\n }\n },\n \"return\": \"Promise<void>\"\n },\n \"docs\": {\n \"text\": \"\",\n \"tags\": [{\n \"name\": \"deprecated\",\n \"text\": \"This method should not be used anymore. Use visible prop to set badge visibility.\"\n }]\n }\n }\n };\n }\n static get elementRef() { return \"el\"; }\n}\n//# sourceMappingURL=ic-badge.js.map\n"],"version":3}
|
1
|
+
{"file":"ic-badge.entry.cjs.js","mappings":"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","names":["hexToRgba","rgbaStrToObj","getCssProperty","IcThemeForegroundEnum","getParentElementType","getParentElement","isPropDefined","onComponentRequiredPropUndefined","h","Host"],"sources":["../web-components/dist/collection/components/ic-badge/ic-badge.css?tag=ic-badge&encapsulation=shadow","../web-components/dist/collection/components/ic-badge/ic-badge.js"],"sourcesContent":["@media (prefers-reduced-motion: no-preference) {\n :host(.show) {\n animation: expand var(--ic-transition-duration-slow);\n }\n\n :host(.hide) {\n animation: shrink var(--ic-transition-duration-slow);\n }\n}\n\n:host {\n display: flex;\n height: var(--ic-space-md);\n min-width: var(--ic-space-md);\n width: -moz-fit-content;\n width: fit-content;\n border-radius: calc(2 * var(--ic-space-xxl));\n position: absolute;\n}\n\n:host(.neutral) {\n background-color: var(--ic-architectural-500);\n}\n\n:host(.light) {\n background-color: var(--ic-architectural-40);\n}\n\n:host(.info) {\n background-color: var(--ic-status-info);\n}\n\n:host(.warning) {\n background-color: var(--ic-status-warning-mid);\n}\n\n:host(.error) {\n background-color: var(--ic-status-error);\n}\n\n:host(.success) {\n background-color: var(--ic-status-success);\n}\n\n:host(.small) {\n height: var(--ic-space-sm);\n min-width: var(--ic-space-sm);\n}\n\n:host(.large) {\n height: calc(var(--ic-space-md) + var(--ic-space-xxs));\n min-width: calc(var(--ic-space-md) + var(--ic-space-xxs));\n}\n\n:host(.dot.default) {\n height: var(--ic-space-xs);\n width: var(--ic-space-xs);\n min-width: var(--ic-space-xs);\n}\n\n:host(.dot.small) {\n height: calc(var(--ic-space-xxs) + var(--ic-space-xxxs));\n width: calc(var(--ic-space-xxs) + var(--ic-space-xxxs));\n min-width: calc(var(--ic-space-xxs) + var(--ic-space-xxxs));\n}\n\n:host(.dot.large) {\n height: var(--ic-space-sm);\n width: var(--ic-space-sm);\n min-width: var(--ic-space-sm);\n}\n\n:host(.foreground-dark) ::slotted(*) {\n fill: var(--ic-color-primary-text);\n}\n\n:host(.foreground-light) ::slotted(*) {\n fill: white;\n}\n\n:host(.foreground-dark) ic-typography {\n color: var(--ic-color-primary-text);\n}\n\n:host(.foreground-light) ic-typography {\n color: white;\n}\n\n:host(.text) ic-typography {\n align-self: center;\n padding: 0 calc((var(--ic-space-xs) + var(--ic-space-1px)) / 2)\n var(--ic-space-1px);\n}\n\n:host(.text.small) ic-typography {\n padding: 0 0.2132rem;\n}\n\n:host(.text.large) ic-typography {\n padding: 0 calc((var(--ic-space-sm) + var(--ic-space-1px)) / 2)\n var(--ic-space-1px);\n}\n\n:host(.icon) ::slotted(svg) {\n width: var(--ic-space-sm);\n height: var(--ic-space-sm);\n padding: var(--ic-space-xxxs);\n}\n\n:host(.icon.small) ::slotted(svg) {\n width: var(--ic-space-xs);\n height: var(--ic-space-xs);\n}\n\n:host(.icon.large) ::slotted(svg) {\n width: calc(var(--ic-space-sm) + var(--ic-space-xxxs));\n height: calc(var(--ic-space-sm) + var(--ic-space-xxxs));\n padding: calc(var(--ic-space-xxxs) + var(--ic-space-1px));\n}\n\n:host(.far) {\n top: calc(-1 * var(--ic-space-xs));\n right: calc(-1 * var(--ic-space-xs));\n}\n\n:host(.far.small),\n:host(.dot.far.large) {\n top: calc(-1 * var(--ic-space-xxs));\n right: calc(-1 * var(--ic-space-xxs));\n}\n\n:host(.dot.far),\n:host(.dot.far.small) {\n top: calc(-1 * var(--ic-space-xxxs));\n right: calc(-1 * var(--ic-space-xxxs));\n}\n\n:host(.near) {\n top: calc(-1 * calc(var(--ic-space-xxs) + var(--ic-space-1px)));\n right: calc(-1 * calc(var(--ic-space-xxs) + var(--ic-space-1px)));\n}\n\n:host(.dot.near) {\n top: calc(-1 * var(--ic-space-1px));\n right: calc(-1 * var(--ic-space-1px));\n}\n\n:host(.inline) {\n position: static;\n}\n\n:host(.hide) {\n visibility: hidden !important;\n transition: visibility var(--ic-transition-duration-slow);\n}\n\n@keyframes expand {\n from {\n opacity: 0;\n transform: scale(0);\n }\n\n to {\n opacity: 1;\n transform: scale(1);\n }\n}\n\n@keyframes shrink {\n from {\n opacity: 1;\n transform: scale(1);\n }\n\n to {\n opacity: 0;\n transform: scale(0);\n }\n}\n","import { Host, h } from \"@stencil/core\";\nimport { IcThemeForegroundEnum, } from \"../../utils/types\";\nimport { getCssProperty, getParentElement, getParentElementType, hexToRgba, isPropDefined, onComponentRequiredPropUndefined, rgbaStrToObj, } from \"../../utils/helpers\";\n/**\n * @slot badge-icon - Icon will be rendered inside the badge if type is set to icon.\n */\nexport class Badge {\n constructor() {\n this.ariaLabel = null;\n this.setBadgeColour = () => {\n let colorRGBA = null;\n if (this.customColor !== null) {\n const firstChar = this.customColor.slice(0, 1);\n if (firstChar === \"#\") {\n colorRGBA = hexToRgba(this.customColor);\n }\n else if (firstChar.toLowerCase() === \"r\") {\n colorRGBA = rgbaStrToObj(this.customColor);\n }\n this.customColorRGBA = colorRGBA;\n this.el.style.backgroundColor = `rgba(${colorRGBA.r.toString()}, ${colorRGBA.g.toString()}, ${colorRGBA.b.toString()}, ${colorRGBA.a.toString()})`;\n }\n };\n this.getBadgeForeground = () => {\n let red;\n let green;\n let blue;\n switch (this.variant) {\n case \"custom\":\n red = this.customColorRGBA.r;\n green = this.customColorRGBA.g;\n blue = this.customColorRGBA.b;\n break;\n case \"error\":\n red = parseInt(getCssProperty(\"--ic-status-error-r\"));\n green = parseInt(getCssProperty(\"--ic-status-error-g\"));\n blue = parseInt(getCssProperty(\"--ic-status-error-b\"));\n break;\n case \"success\":\n red = parseInt(getCssProperty(\"--ic-status-success-r\"));\n green = parseInt(getCssProperty(\"--ic-status-success-g\"));\n blue = parseInt(getCssProperty(\"--ic-status-success-b\"));\n break;\n case \"warning\":\n red = parseInt(getCssProperty(\"--ic-status-warning-r\"));\n green = parseInt(getCssProperty(\"--ic-status-warning-g\"));\n blue = parseInt(getCssProperty(\"--ic-status-warning-b\"));\n break;\n case \"info\": {\n const info = hexToRgba(getCssProperty(\"--ic-status-info\"));\n red = info.r;\n green = info.g;\n blue = info.b;\n break;\n }\n case \"neutral\": {\n const neutral = hexToRgba(getCssProperty(\"--ic-architectural-500\"));\n red = neutral.r;\n green = neutral.g;\n blue = neutral.b;\n break;\n }\n case \"light\": {\n const light = hexToRgba(getCssProperty(\"--ic-architectural-40\"));\n red = light.r;\n green = light.g;\n blue = light.b;\n break;\n }\n }\n const brightness = (red * 299 + green * 587 + blue * 114) / 1000;\n this.foregroundColour =\n brightness > 133.3505\n ? IcThemeForegroundEnum.Dark\n : IcThemeForegroundEnum.Light;\n };\n this.getTextLabel = () => {\n let label;\n if (this.textLabel !== null) {\n if (this.maxNumber !== null) {\n label =\n Number(this.textLabel) > this.maxNumber\n ? `${this.maxNumber}+`\n : this.textLabel;\n }\n else {\n label = this.textLabel;\n }\n }\n return label;\n };\n // Set aria-label on badge and / or parent element\n // Aria-describedby seems to not work, probably due to shadow DOM\n this.setAccessibleLabel = () => {\n const parentElType = getParentElementType(this.el);\n const parentElAriaLabel = getParentElement(this.el).ariaLabel;\n const defaultAriaLabel = this.isAccessibleLabelDefined()\n ? this.accessibleLabel\n : this.textLabel || \"with badge being displayed\";\n if (getParentElement(this.el) !== null) {\n if (parentElType !== \"IC-CARD\" &&\n (parentElType !== \"IC-TAB\" ||\n (parentElType === \"IC-TAB\" && parentElAriaLabel))) {\n getParentElement(this.el).ariaLabel = `${parentElAriaLabel ? `${parentElAriaLabel} ,` : \"\"} ${defaultAriaLabel}`;\n }\n else {\n this.ariaLabel = `, ${defaultAriaLabel}`;\n }\n }\n };\n this.isAccessibleLabelDefined = () => {\n return isPropDefined(this.accessibleLabel) && this.accessibleLabel !== null;\n };\n this.accessibleLabel = undefined;\n this.customColor = null;\n this.maxNumber = undefined;\n this.position = \"far\";\n this.size = \"default\";\n this.textLabel = undefined;\n this.type = \"text\";\n this.variant = \"neutral\";\n this.visible = true;\n }\n componentWillLoad() {\n this.variant === \"custom\" && this.setBadgeColour();\n this.getBadgeForeground();\n this.setAccessibleLabel();\n }\n componentDidLoad() {\n this.type === \"text\" &&\n onComponentRequiredPropUndefined([{ prop: this.textLabel, propName: \"text-label\" }], \"Badge\");\n }\n /**\n * @deprecated This method should not be used anymore. Use visible prop to set badge visibility.\n */\n async showBadge() {\n this.visible = true;\n }\n /**\n * @deprecated This method should not be used anymore. Use visible prop to set badge visibility.\n */\n async hideBadge() {\n this.visible = false;\n }\n render() {\n const { position, size, type, variant, foregroundColour, visible } = this;\n return (h(Host, { class: {\n [`${position}`]: true,\n [`${size}`]: true,\n [`${variant}`]: true,\n [`${type}`]: true,\n [`foreground-${foregroundColour}`]: foregroundColour !== null,\n [\"show\"]: visible,\n [\"hide\"]: !visible,\n }, id: this.el.id || null, \"aria-label\": this.ariaLabel, role: \"status\" }, type === \"icon\" && h(\"slot\", { name: \"badge-icon\" }), type === \"text\" && (h(\"ic-typography\", { variant: size === \"small\" ? \"badge-small\" : \"badge\" }, this.getTextLabel()))));\n }\n static get is() { return \"ic-badge\"; }\n static get encapsulation() { return \"shadow\"; }\n static get delegatesFocus() { return true; }\n static get originalStyleUrls() {\n return {\n \"$\": [\"ic-badge.css\"]\n };\n }\n static get styleUrls() {\n return {\n \"$\": [\"ic-badge.css\"]\n };\n }\n static get properties() {\n return {\n \"accessibleLabel\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The accessible label of the badge component to provide context for screen reader users.\"\n },\n \"attribute\": \"accessible-label\",\n \"reflect\": false\n },\n \"customColor\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"IcColor\",\n \"resolved\": \"`#${string}` | `rgb(${string})` | `rgba(${string})`\",\n \"references\": {\n \"IcColor\": {\n \"location\": \"import\",\n \"path\": \"./ic-badge.types\",\n \"id\": \"src/components/ic-badge/ic-badge.types.ts::IcColor\"\n }\n }\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The custom badge colour. This will only style the badge component if variant=\\\"custom\\\".\\nCan be a hex value e.g. \\\"#ff0000\\\", RGB e.g. \\\"rgb(255, 0, 0)\\\", or RGBA e.g. \\\"rgba(255, 0, 0, 1)\\\".\"\n },\n \"attribute\": \"custom-color\",\n \"reflect\": false,\n \"defaultValue\": \"null\"\n },\n \"maxNumber\": {\n \"type\": \"number\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"number\",\n \"resolved\": \"number\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The maximum number shown on the badge appended with a +.\\nThis will only be displayed if type=\\\"text\\\" and textLabel is not empty.\"\n },\n \"attribute\": \"max-number\",\n \"reflect\": false\n },\n \"position\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"IcBadgePositions\",\n \"resolved\": \"\\\"far\\\" | \\\"inline\\\" | \\\"near\\\"\",\n \"references\": {\n \"IcBadgePositions\": {\n \"location\": \"import\",\n \"path\": \"./ic-badge.types\",\n \"id\": \"src/components/ic-badge/ic-badge.types.ts::IcBadgePositions\"\n }\n }\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The positioning of the badge in reference to the parent element.\"\n },\n \"attribute\": \"position\",\n \"reflect\": false,\n \"defaultValue\": \"\\\"far\\\"\"\n },\n \"size\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"IcSizes\",\n \"resolved\": \"\\\"default\\\" | \\\"large\\\" | \\\"small\\\"\",\n \"references\": {\n \"IcSizes\": {\n \"location\": \"import\",\n \"path\": \"../../utils/types\",\n \"id\": \"src/utils/types.ts::IcSizes\"\n }\n }\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The size of the badge to be displayed.\"\n },\n \"attribute\": \"size\",\n \"reflect\": false,\n \"defaultValue\": \"\\\"default\\\"\"\n },\n \"textLabel\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The text displayed in the badge. This will only be displayed if type=\\\"text\\\".\"\n },\n \"attribute\": \"text-label\",\n \"reflect\": false\n },\n \"type\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"IcBadgeTypes\",\n \"resolved\": \"\\\"dot\\\" | \\\"icon\\\" | \\\"text\\\"\",\n \"references\": {\n \"IcBadgeTypes\": {\n \"location\": \"import\",\n \"path\": \"./ic-badge.types\",\n \"id\": \"src/components/ic-badge/ic-badge.types.ts::IcBadgeTypes\"\n }\n }\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The type of badge to be displayed.\"\n },\n \"attribute\": \"type\",\n \"reflect\": false,\n \"defaultValue\": \"\\\"text\\\"\"\n },\n \"variant\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"IcBadgeVariants\",\n \"resolved\": \"\\\"custom\\\" | \\\"error\\\" | \\\"info\\\" | \\\"light\\\" | \\\"neutral\\\" | \\\"success\\\" | \\\"warning\\\"\",\n \"references\": {\n \"IcBadgeVariants\": {\n \"location\": \"import\",\n \"path\": \"./ic-badge.types\",\n \"id\": \"src/components/ic-badge/ic-badge.types.ts::IcBadgeVariants\"\n }\n }\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The variant of the badge to be displayed.\"\n },\n \"attribute\": \"variant\",\n \"reflect\": false,\n \"defaultValue\": \"\\\"neutral\\\"\"\n },\n \"visible\": {\n \"type\": \"boolean\",\n \"mutable\": true,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"If `true`, the badge will be displayed.\"\n },\n \"attribute\": \"visible\",\n \"reflect\": false,\n \"defaultValue\": \"true\"\n }\n };\n }\n static get methods() {\n return {\n \"showBadge\": {\n \"complexType\": {\n \"signature\": \"() => Promise<void>\",\n \"parameters\": [],\n \"references\": {\n \"Promise\": {\n \"location\": \"global\",\n \"id\": \"global::Promise\"\n }\n },\n \"return\": \"Promise<void>\"\n },\n \"docs\": {\n \"text\": \"\",\n \"tags\": [{\n \"name\": \"deprecated\",\n \"text\": \"This method should not be used anymore. Use visible prop to set badge visibility.\"\n }]\n }\n },\n \"hideBadge\": {\n \"complexType\": {\n \"signature\": \"() => Promise<void>\",\n \"parameters\": [],\n \"references\": {\n \"Promise\": {\n \"location\": \"global\",\n \"id\": \"global::Promise\"\n }\n },\n \"return\": \"Promise<void>\"\n },\n \"docs\": {\n \"text\": \"\",\n \"tags\": [{\n \"name\": \"deprecated\",\n \"text\": \"This method should not be used anymore. Use visible prop to set badge visibility.\"\n }]\n }\n }\n };\n }\n static get elementRef() { return \"el\"; }\n}\n//# sourceMappingURL=ic-badge.js.map\n"],"version":3}
|
@@ -44,6 +44,7 @@ const DateInput = class {
|
|
44
44
|
this.KEYBOARD_EVENT_OBJECT_STRING = "[object KeyboardEvent]";
|
45
45
|
this.MAX_DAY = 31;
|
46
46
|
this.MAX_MONTH = 12;
|
47
|
+
this.previousEmittedDate = undefined;
|
47
48
|
this.previousSelectedDate = null;
|
48
49
|
this.selectedDate = null;
|
49
50
|
this.setInputPasteValue = (input, pastedValue) => {
|
@@ -670,7 +671,8 @@ const DateInput = class {
|
|
670
671
|
this.icBlur.emit({ value: this.selectedDate });
|
671
672
|
};
|
672
673
|
this.handleHostFocus = () => {
|
673
|
-
|
674
|
+
var _a;
|
675
|
+
if ((_a = this.el.shadowRoot.activeElement) === null || _a === void 0 ? void 0 : _a.id.match(/(day|month|year)-input$/)) {
|
674
676
|
this.removeLabelledBy = false;
|
675
677
|
}
|
676
678
|
else {
|
@@ -768,19 +770,16 @@ const DateInput = class {
|
|
768
770
|
this.inputsInOrder[0].focus();
|
769
771
|
};
|
770
772
|
this.handleCalendarOpen = (ev) => {
|
773
|
+
var _a, _b;
|
771
774
|
ev.stopImmediatePropagation();
|
772
|
-
this.calendarButtonEl.shadowRoot
|
773
|
-
.querySelector("ic-tooltip")
|
774
|
-
.displayTooltip(false);
|
775
|
+
(_a = this.calendarButtonEl) === null || _a === void 0 ? void 0 : _a.shadowRoot.querySelector("ic-tooltip").displayTooltip(false);
|
775
776
|
this.calendarButtonClicked.emit({ value: this.selectedDate });
|
776
|
-
this.calendarButtonEl.shadowRoot
|
777
|
-
.querySelector("ic-tooltip")
|
778
|
-
.displayTooltip(false);
|
777
|
+
(_b = this.calendarButtonEl) === null || _b === void 0 ? void 0 : _b.shadowRoot.querySelector("ic-tooltip").displayTooltip(false);
|
779
778
|
this.isDateSetFromKeyboardEvent = false;
|
780
779
|
};
|
781
780
|
this.setValueAndEmitChange = (value) => {
|
782
781
|
if (!dateHelpers.dateMatches(new Date(this.value), value)) {
|
783
|
-
this.
|
782
|
+
this.emitIcChange(value);
|
784
783
|
this.value = value;
|
785
784
|
}
|
786
785
|
};
|
@@ -803,6 +802,13 @@ const DateInput = class {
|
|
803
802
|
}
|
804
803
|
this.removeLabelledBy = true;
|
805
804
|
};
|
805
|
+
this.emitIcChange = (d) => {
|
806
|
+
if (!(d === null && this.previousEmittedDate === null) &&
|
807
|
+
!dateHelpers.dateMatches(d, this.previousEmittedDate)) {
|
808
|
+
this.previousEmittedDate = d;
|
809
|
+
this.icChange.emit({ value: d });
|
810
|
+
}
|
811
|
+
};
|
806
812
|
this.day = "";
|
807
813
|
this.invalidDateText = undefined;
|
808
814
|
this.maxDate = undefined;
|
@@ -862,6 +868,10 @@ const DateInput = class {
|
|
862
868
|
this.watchMaxHandler();
|
863
869
|
if (this.value) {
|
864
870
|
this.setDate(this.value);
|
871
|
+
this.previousEmittedDate = this.selectedDate;
|
872
|
+
}
|
873
|
+
else {
|
874
|
+
this.previousEmittedDate = null;
|
865
875
|
}
|
866
876
|
this.screenReaderInfoId = `${this.inputId}-screen-reader-info`;
|
867
877
|
this.assistiveHintId = `${this.inputId}-assistive-hint`;
|
@@ -932,6 +942,12 @@ const DateInput = class {
|
|
932
942
|
async setDisableDays(days) {
|
933
943
|
this.disableDays = days;
|
934
944
|
}
|
945
|
+
/**
|
946
|
+
* @internal Used to enable other components to invoke an IcChange event from the input.
|
947
|
+
*/
|
948
|
+
async triggerIcChange(d) {
|
949
|
+
this.emitIcChange(d);
|
950
|
+
}
|
935
951
|
removeAriaLabelledBy() {
|
936
952
|
this.inputCompContainerEl.removeAttribute(this.ARIA_LABELLED_BY);
|
937
953
|
}
|