@db-ux/wc-core-components 4.11.0 → 4.11.1
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/CHANGELOG.md +12 -0
- package/bundle/db-accordion-item.js +1 -1
- package/bundle/db-accordion.js +1 -1
- package/bundle/db-badge.js +1 -1
- package/bundle/db-brand.js +1 -1
- package/bundle/db-button.js +1 -1
- package/bundle/db-card.js +1 -1
- package/bundle/db-checkbox.js +1 -1
- package/bundle/db-custom-button.js +1 -1
- package/bundle/db-custom-select-dropdown.js +1 -1
- package/bundle/db-custom-select-form-field.js +1 -1
- package/bundle/db-custom-select-list-item.js +1 -1
- package/bundle/db-custom-select-list.js +1 -1
- package/bundle/db-custom-select.js +1 -1
- package/bundle/db-divider.js +1 -1
- package/bundle/db-drawer.js +1 -1
- package/bundle/db-header.js +1 -1
- package/bundle/db-icon.js +1 -1
- package/bundle/db-infotext.js +1 -1
- package/bundle/db-input.js +1 -1
- package/bundle/db-link.js +1 -1
- package/bundle/db-navigation-item.js +1 -1
- package/bundle/db-navigation.js +1 -1
- package/bundle/db-notification.js +1 -1
- package/bundle/db-page.js +1 -1
- package/bundle/db-popover.js +1 -1
- package/bundle/db-radio.js +1 -1
- package/bundle/db-section.js +1 -1
- package/bundle/db-select.js +1 -1
- package/bundle/db-stack.js +1 -1
- package/bundle/db-switch.js +1 -1
- package/bundle/db-tab-item.js +1 -1
- package/bundle/db-tab-list.js +1 -1
- package/bundle/db-tab-panel.js +1 -1
- package/bundle/db-table-body.js +1 -1
- package/bundle/db-table-caption.js +1 -1
- package/bundle/db-table-data-cell.js +1 -1
- package/bundle/db-table-footer.js +1 -1
- package/bundle/db-table-head.js +1 -1
- package/bundle/db-table-header-cell.js +1 -1
- package/bundle/db-table-row.js +1 -1
- package/bundle/db-table.js +1 -1
- package/bundle/db-tabs.js +1 -1
- package/bundle/db-tag.js +1 -1
- package/bundle/db-textarea.js +1 -1
- package/bundle/db-tooltip.js +1 -1
- package/bundle/p-3Da4lo5j.js +1 -0
- package/bundle/p-BEcb3EOO.js +1 -0
- package/bundle/p-BEolc6Da.js +1 -0
- package/bundle/p-BekmqY3B.js +1 -0
- package/bundle/p-BmRO4X-P.js +1 -0
- package/bundle/p-BrQIYm5N.js +1 -0
- package/bundle/p-BxZ0zFXf.js +1 -0
- package/bundle/p-C2viXF7U.js +1 -0
- package/bundle/p-C4iD-won.js +1 -0
- package/bundle/p-CHg_VPD9.js +1 -0
- package/bundle/p-CZ9SsTOA.js +1 -0
- package/bundle/p-CewqZGHg.js +1 -0
- package/bundle/p-CotiEHZi.js +1 -0
- package/bundle/p-D1orcIJf.js +1 -0
- package/bundle/p-D9RSX1St.js +1 -0
- package/bundle/p-DbgzEek1.js +1 -0
- package/bundle/p-DqNXsduK.js +1 -0
- package/bundle/p-Duacd-NX.js +1 -0
- package/bundle/p-k5Hci0ok.js +1 -0
- package/bundle/p-mk64Fltq.js +1 -0
- package/dist/cjs/db-accordion-item.cjs.entry.js +46 -9
- package/dist/cjs/db-accordion.cjs.entry.js +43 -6
- package/dist/cjs/db-badge.cjs.entry.js +43 -6
- package/dist/cjs/db-brand.cjs.entry.js +36 -5
- package/dist/cjs/db-button.cjs.entry.js +36 -5
- package/dist/cjs/db-card.cjs.entry.js +36 -5
- package/dist/cjs/db-checkbox.cjs.entry.js +45 -11
- package/dist/cjs/db-custom-button.cjs.entry.js +36 -5
- package/dist/cjs/db-custom-select-dropdown_5.cjs.entry.js +190 -31
- package/dist/cjs/db-custom-select-form-field.cjs.entry.js +36 -5
- package/dist/cjs/db-custom-select.cjs.entry.js +60 -26
- package/dist/cjs/db-divider.cjs.entry.js +35 -4
- package/dist/cjs/db-drawer.cjs.entry.js +45 -8
- package/dist/cjs/db-header.cjs.entry.js +43 -6
- package/dist/cjs/db-icon.cjs.entry.js +36 -5
- package/dist/cjs/db-infotext.cjs.entry.js +36 -5
- package/dist/cjs/db-link_4.cjs.entry.js +65 -19
- package/dist/cjs/db-navigation-item.cjs.entry.js +46 -9
- package/dist/cjs/db-navigation.cjs.entry.js +36 -5
- package/dist/cjs/db-notification.cjs.entry.js +36 -5
- package/dist/cjs/db-page.cjs.entry.js +48 -13
- package/dist/cjs/db-popover.cjs.entry.js +43 -6
- package/dist/cjs/db-radio.cjs.entry.js +42 -8
- package/dist/cjs/db-section.cjs.entry.js +36 -5
- package/dist/cjs/db-select.cjs.entry.js +45 -11
- package/dist/cjs/db-stack.cjs.entry.js +36 -5
- package/dist/cjs/db-switch.cjs.entry.js +45 -11
- package/dist/cjs/db-tab-item_3.cjs.entry.js +118 -19
- package/dist/cjs/db-table-body_3.cjs.entry.js +53 -12
- package/dist/cjs/db-table-caption.cjs.entry.js +36 -5
- package/dist/cjs/db-table.cjs.entry.js +35 -4
- package/dist/cjs/db-tabs.cjs.entry.js +42 -8
- package/dist/cjs/db-textarea.cjs.entry.js +45 -10
- package/dist/cjs/db-tooltip.cjs.entry.js +144 -20
- package/dist/cjs/db-ux.cjs.js +1 -1
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/collection/components/accordion/accordion.js +45 -7
- package/dist/collection/components/accordion-item/accordion-item.js +48 -10
- package/dist/collection/components/badge/badge.js +45 -7
- package/dist/collection/components/brand/brand.js +43 -5
- package/dist/collection/components/button/button.js +43 -5
- package/dist/collection/components/card/card.js +43 -5
- package/dist/collection/components/checkbox/checkbox.js +47 -12
- package/dist/collection/components/custom-button/custom-button.js +43 -5
- package/dist/collection/components/custom-select/custom-select.js +62 -27
- package/dist/collection/components/custom-select-dropdown/custom-select-dropdown.js +41 -5
- package/dist/collection/components/custom-select-form-field/custom-select-form-field.js +43 -5
- package/dist/collection/components/custom-select-list/custom-select-list.js +43 -5
- package/dist/collection/components/custom-select-list-item/custom-select-list-item.js +37 -5
- package/dist/collection/components/divider/divider.js +42 -4
- package/dist/collection/components/drawer/drawer.js +47 -9
- package/dist/collection/components/header/header.js +45 -7
- package/dist/collection/components/icon/icon.js +43 -5
- package/dist/collection/components/infotext/infotext.js +43 -5
- package/dist/collection/components/input/input.js +49 -13
- package/dist/collection/components/link/link.js +43 -5
- package/dist/collection/components/navigation/navigation.js +43 -5
- package/dist/collection/components/navigation-item/navigation-item.js +48 -10
- package/dist/collection/components/notification/notification.js +43 -5
- package/dist/collection/components/page/page.js +50 -14
- package/dist/collection/components/popover/popover.js +45 -7
- package/dist/collection/components/radio/radio.js +44 -9
- package/dist/collection/components/section/section.js +43 -5
- package/dist/collection/components/select/select.js +47 -12
- package/dist/collection/components/stack/stack.js +43 -5
- package/dist/collection/components/switch/switch.js +47 -12
- package/dist/collection/components/tab-item/tab-item.js +45 -10
- package/dist/collection/components/tab-list/tab-list.js +43 -5
- package/dist/collection/components/tab-panel/tab-panel.js +48 -5
- package/dist/collection/components/table/table.js +37 -5
- package/dist/collection/components/table-body/table-body.js +9 -4
- package/dist/collection/components/table-caption/table-caption.js +43 -5
- package/dist/collection/components/table-data-cell/table-data-cell.js +10 -5
- package/dist/collection/components/table-footer/table-footer.js +9 -4
- package/dist/collection/components/table-head/table-head.js +42 -4
- package/dist/collection/components/table-header-cell/table-header-cell.js +10 -5
- package/dist/collection/components/table-row/table-row.js +9 -4
- package/dist/collection/components/tabs/tabs.js +44 -9
- package/dist/collection/components/tag/tag.js +43 -5
- package/dist/collection/components/textarea/textarea.js +47 -11
- package/dist/collection/components/tooltip/tooltip.js +150 -21
- package/dist/custom-elements.json +710 -0
- package/dist/db-ux/db-ux.esm.js +1 -1
- package/dist/db-ux/p-0123ee1b.entry.js +1 -0
- package/dist/db-ux/p-090b1797.entry.js +1 -0
- package/dist/db-ux/p-0e17c5a0.entry.js +1 -0
- package/dist/db-ux/p-194e851c.entry.js +1 -0
- package/dist/db-ux/p-281f5e3e.entry.js +1 -0
- package/dist/db-ux/p-2ae377e6.entry.js +1 -0
- package/dist/db-ux/p-2cf4345f.entry.js +1 -0
- package/dist/db-ux/p-2e6c8304.entry.js +1 -0
- package/dist/db-ux/p-335391d4.entry.js +1 -0
- package/dist/db-ux/p-34235204.entry.js +1 -0
- package/dist/db-ux/p-3569bb3c.entry.js +1 -0
- package/dist/db-ux/p-398f9165.entry.js +1 -0
- package/dist/db-ux/p-5070470f.entry.js +1 -0
- package/dist/db-ux/p-5e08712d.entry.js +1 -0
- package/dist/db-ux/p-63d98f9d.entry.js +1 -0
- package/dist/db-ux/p-6aa92091.entry.js +1 -0
- package/dist/db-ux/p-78b7e6f6.entry.js +1 -0
- package/dist/db-ux/p-7ca4bc82.entry.js +1 -0
- package/dist/db-ux/p-8f989150.entry.js +1 -0
- package/dist/db-ux/p-8fa7a578.entry.js +1 -0
- package/dist/db-ux/p-91052c75.entry.js +1 -0
- package/dist/db-ux/p-9ccd42b1.entry.js +1 -0
- package/dist/db-ux/p-a4d9f6e2.entry.js +1 -0
- package/dist/db-ux/p-af248e57.entry.js +1 -0
- package/dist/db-ux/p-ba82a0b0.entry.js +1 -0
- package/dist/db-ux/p-c2ce6ecd.entry.js +1 -0
- package/dist/db-ux/p-d7b5748d.entry.js +1 -0
- package/dist/db-ux/p-dfbbe502.entry.js +1 -0
- package/dist/db-ux/p-e7a400a2.entry.js +1 -0
- package/dist/db-ux/p-ef1aa878.entry.js +1 -0
- package/dist/db-ux/p-f1daaefa.entry.js +1 -0
- package/dist/db-ux/p-f6312d2c.entry.js +1 -0
- package/dist/db-ux/p-fbf09569.entry.js +1 -0
- package/dist/db-ux/p-ff11c071.entry.js +1 -0
- package/dist/esm/db-accordion-item.entry.js +46 -9
- package/dist/esm/db-accordion.entry.js +43 -6
- package/dist/esm/db-badge.entry.js +43 -6
- package/dist/esm/db-brand.entry.js +36 -5
- package/dist/esm/db-button.entry.js +36 -5
- package/dist/esm/db-card.entry.js +36 -5
- package/dist/esm/db-checkbox.entry.js +45 -11
- package/dist/esm/db-custom-button.entry.js +36 -5
- package/dist/esm/db-custom-select-dropdown_5.entry.js +190 -31
- package/dist/esm/db-custom-select-form-field.entry.js +36 -5
- package/dist/esm/db-custom-select.entry.js +60 -26
- package/dist/esm/db-divider.entry.js +35 -4
- package/dist/esm/db-drawer.entry.js +45 -8
- package/dist/esm/db-header.entry.js +43 -6
- package/dist/esm/db-icon.entry.js +36 -5
- package/dist/esm/db-infotext.entry.js +36 -5
- package/dist/esm/db-link_4.entry.js +65 -19
- package/dist/esm/db-navigation-item.entry.js +47 -10
- package/dist/esm/db-navigation.entry.js +36 -5
- package/dist/esm/db-notification.entry.js +36 -5
- package/dist/esm/db-page.entry.js +48 -13
- package/dist/esm/db-popover.entry.js +43 -6
- package/dist/esm/db-radio.entry.js +42 -8
- package/dist/esm/db-section.entry.js +36 -5
- package/dist/esm/db-select.entry.js +45 -11
- package/dist/esm/db-stack.entry.js +36 -5
- package/dist/esm/db-switch.entry.js +45 -11
- package/dist/esm/db-tab-item_3.entry.js +118 -19
- package/dist/esm/db-table-body_3.entry.js +53 -12
- package/dist/esm/db-table-caption.entry.js +36 -5
- package/dist/esm/db-table.entry.js +35 -4
- package/dist/esm/db-tabs.entry.js +43 -9
- package/dist/esm/db-textarea.entry.js +45 -10
- package/dist/esm/db-tooltip.entry.js +144 -20
- package/dist/esm/db-ux.js +1 -1
- package/dist/esm/loader.js +1 -1
- package/dist/types/components/accordion/accordion.d.ts +3 -0
- package/dist/types/components/accordion-item/accordion-item.d.ts +3 -0
- package/dist/types/components/badge/badge.d.ts +3 -0
- package/dist/types/components/brand/brand.d.ts +3 -0
- package/dist/types/components/button/button.d.ts +3 -0
- package/dist/types/components/card/card.d.ts +3 -0
- package/dist/types/components/checkbox/checkbox.d.ts +2 -0
- package/dist/types/components/custom-button/custom-button.d.ts +3 -0
- package/dist/types/components/custom-select/custom-select.d.ts +2 -0
- package/dist/types/components/custom-select-dropdown/custom-select-dropdown.d.ts +3 -0
- package/dist/types/components/custom-select-form-field/custom-select-form-field.d.ts +3 -0
- package/dist/types/components/custom-select-list/custom-select-list.d.ts +3 -0
- package/dist/types/components/custom-select-list-item/custom-select-list-item.d.ts +3 -0
- package/dist/types/components/divider/divider.d.ts +3 -0
- package/dist/types/components/drawer/drawer.d.ts +3 -0
- package/dist/types/components/header/header.d.ts +3 -0
- package/dist/types/components/icon/icon.d.ts +3 -0
- package/dist/types/components/infotext/infotext.d.ts +3 -0
- package/dist/types/components/input/input.d.ts +2 -0
- package/dist/types/components/link/link.d.ts +3 -0
- package/dist/types/components/navigation/navigation.d.ts +3 -0
- package/dist/types/components/navigation-item/navigation-item.d.ts +3 -0
- package/dist/types/components/notification/notification.d.ts +3 -0
- package/dist/types/components/page/page.d.ts +2 -0
- package/dist/types/components/popover/popover.d.ts +3 -0
- package/dist/types/components/radio/radio.d.ts +2 -0
- package/dist/types/components/section/section.d.ts +3 -0
- package/dist/types/components/select/select.d.ts +2 -0
- package/dist/types/components/stack/stack.d.ts +3 -0
- package/dist/types/components/switch/switch.d.ts +2 -0
- package/dist/types/components/tab-item/tab-item.d.ts +2 -0
- package/dist/types/components/tab-list/tab-list.d.ts +3 -0
- package/dist/types/components/tab-panel/tab-panel.d.ts +3 -0
- package/dist/types/components/table/table.d.ts +3 -0
- package/dist/types/components/table-caption/table-caption.d.ts +3 -0
- package/dist/types/components/table-head/table-head.d.ts +3 -0
- package/dist/types/components/tabs/tabs.d.ts +2 -0
- package/dist/types/components/tag/tag.d.ts +3 -0
- package/dist/types/components/textarea/textarea.d.ts +2 -0
- package/dist/types/components/tooltip/model.d.ts +9 -0
- package/dist/types/components/tooltip/tooltip.d.ts +8 -0
- package/dist/web-types.json +84 -40
- package/package.json +6 -6
- package/bundle/p-B5ANMEnQ.js +0 -1
- package/bundle/p-BJwvv-yT.js +0 -1
- package/bundle/p-BNiKxu3y.js +0 -1
- package/bundle/p-B_bPnncM.js +0 -1
- package/bundle/p-BnLhi6Lz.js +0 -1
- package/bundle/p-BrBlnLrn.js +0 -1
- package/bundle/p-CByFfoSH.js +0 -1
- package/bundle/p-CQo0C7QE.js +0 -1
- package/bundle/p-CR2ZbfYe.js +0 -1
- package/bundle/p-CeDu282h.js +0 -1
- package/bundle/p-CfLPOLHz.js +0 -1
- package/bundle/p-CoOxyQb2.js +0 -1
- package/bundle/p-CqED0CfD.js +0 -1
- package/bundle/p-Cr_z1Jfi.js +0 -1
- package/bundle/p-D-XzX0R7.js +0 -1
- package/bundle/p-DMSIvqcA.js +0 -1
- package/bundle/p-DUiroUyR.js +0 -1
- package/bundle/p-DdyMClpj.js +0 -1
- package/bundle/p-DjVjS2Tb.js +0 -1
- package/bundle/p-in4Kv88F.js +0 -1
- package/dist/db-ux/p-08271c80.entry.js +0 -1
- package/dist/db-ux/p-105ffa74.entry.js +0 -1
- package/dist/db-ux/p-15adca91.entry.js +0 -1
- package/dist/db-ux/p-1a322a0c.entry.js +0 -1
- package/dist/db-ux/p-1f7232c0.entry.js +0 -1
- package/dist/db-ux/p-27e2f6f2.entry.js +0 -1
- package/dist/db-ux/p-2907f214.entry.js +0 -1
- package/dist/db-ux/p-2ff958e4.entry.js +0 -1
- package/dist/db-ux/p-3423b7af.entry.js +0 -1
- package/dist/db-ux/p-365e6edf.entry.js +0 -1
- package/dist/db-ux/p-42516007.entry.js +0 -1
- package/dist/db-ux/p-5045182c.entry.js +0 -1
- package/dist/db-ux/p-5e1d42e5.entry.js +0 -1
- package/dist/db-ux/p-61b28212.entry.js +0 -1
- package/dist/db-ux/p-6850a53c.entry.js +0 -1
- package/dist/db-ux/p-6bff55b4.entry.js +0 -1
- package/dist/db-ux/p-6e7c5e42.entry.js +0 -1
- package/dist/db-ux/p-76adf385.entry.js +0 -1
- package/dist/db-ux/p-78f7b353.entry.js +0 -1
- package/dist/db-ux/p-7fa5d304.entry.js +0 -1
- package/dist/db-ux/p-95b69e71.entry.js +0 -1
- package/dist/db-ux/p-99ebe6ec.entry.js +0 -1
- package/dist/db-ux/p-a5dc355d.entry.js +0 -1
- package/dist/db-ux/p-a6113789.entry.js +0 -1
- package/dist/db-ux/p-b9c0feaf.entry.js +0 -1
- package/dist/db-ux/p-c14fa91a.entry.js +0 -1
- package/dist/db-ux/p-c65b807e.entry.js +0 -1
- package/dist/db-ux/p-dd9cedbe.entry.js +0 -1
- package/dist/db-ux/p-e3f705fd.entry.js +0 -1
- package/dist/db-ux/p-e4cddc9f.entry.js +0 -1
- package/dist/db-ux/p-e7a8612c.entry.js +0 -1
- package/dist/db-ux/p-ee8c3243.entry.js +0 -1
- package/dist/db-ux/p-f0d0acfc.entry.js +0 -1
- package/dist/db-ux/p-f15748ea.entry.js +0 -1
|
@@ -7,6 +7,27 @@ const DBCustomSelectDropdown = class {
|
|
|
7
7
|
constructor(hostRef) {
|
|
8
8
|
registerInstance(this, hostRef);
|
|
9
9
|
this.width = "fixed";
|
|
10
|
+
this.observer = undefined;
|
|
11
|
+
}
|
|
12
|
+
setupObserver(element) {
|
|
13
|
+
if (!element)
|
|
14
|
+
return;
|
|
15
|
+
const parent = element.closest("db-custom-select-dropdown");
|
|
16
|
+
if (!parent || this.observer)
|
|
17
|
+
return;
|
|
18
|
+
this.observer = new MutationObserver((mutations) => {
|
|
19
|
+
if (mutations.some((mutation) => {
|
|
20
|
+
var _a;
|
|
21
|
+
const attr = mutation.target.attributes.getNamedItem((_a = mutation.attributeName) !== null && _a !== void 0 ? _a : "");
|
|
22
|
+
return (attr === null || attr === void 0 ? void 0 : attr.value) !== mutation.oldValue;
|
|
23
|
+
})) {
|
|
24
|
+
this.enableAttributePassing(element, "db-custom-select-dropdown");
|
|
25
|
+
}
|
|
26
|
+
});
|
|
27
|
+
this.observer.observe(parent, {
|
|
28
|
+
attributes: true,
|
|
29
|
+
attributeOldValue: true,
|
|
30
|
+
});
|
|
10
31
|
}
|
|
11
32
|
/**
|
|
12
33
|
* Passes `aria-*`, `data-*` & `class` attributes to correct child. Used in angular and stencil.
|
|
@@ -21,10 +42,15 @@ const DBCustomSelectDropdown = class {
|
|
|
21
42
|
const attr = attributes.item(i);
|
|
22
43
|
if (attr && attr.name !== 'data-density' &&
|
|
23
44
|
(attr.name.startsWith("data-") || attr.name.startsWith("aria-"))) {
|
|
24
|
-
|
|
45
|
+
if (attr.value) {
|
|
46
|
+
element.setAttribute(attr.name, attr.value);
|
|
47
|
+
}
|
|
48
|
+
else {
|
|
49
|
+
element.removeAttribute(attr.name);
|
|
50
|
+
}
|
|
25
51
|
parent.removeAttribute(attr.name);
|
|
26
52
|
}
|
|
27
|
-
else if (attr &&
|
|
53
|
+
else if (attr && ["style"].includes(attr.name)) {
|
|
28
54
|
element.setAttribute(attr.name, attr.value);
|
|
29
55
|
parent.removeAttribute(attr.name);
|
|
30
56
|
}
|
|
@@ -32,7 +58,7 @@ const DBCustomSelectDropdown = class {
|
|
|
32
58
|
const isWebComponent = attr.value.includes("hydrated");
|
|
33
59
|
const value = attr.value.replace("hydrated", "").trim();
|
|
34
60
|
const currentClass = element.getAttribute("class");
|
|
35
|
-
element.setAttribute(attr.name, `${currentClass ?
|
|
61
|
+
element.setAttribute(attr.name, `${currentClass ? currentClass : ""}${value ? ` ${value}` : ""}`);
|
|
36
62
|
if (isWebComponent) {
|
|
37
63
|
// Stencil is using this class for lazy loading component
|
|
38
64
|
parent.setAttribute("class", "hydrated");
|
|
@@ -52,12 +78,17 @@ const DBCustomSelectDropdown = class {
|
|
|
52
78
|
}
|
|
53
79
|
}
|
|
54
80
|
this.enableAttributePassing(this._ref, "db-custom-select-dropdown");
|
|
81
|
+
this.setupObserver(this._ref);
|
|
82
|
+
}
|
|
83
|
+
disconnectedCallback() {
|
|
84
|
+
var _a;
|
|
85
|
+
(_a = this.observer) === null || _a === void 0 ? void 0 : _a.disconnect();
|
|
55
86
|
}
|
|
56
87
|
render() {
|
|
57
88
|
var _a, _b;
|
|
58
|
-
return (h("article", { key: '
|
|
89
|
+
return (h("article", { key: '49bd2cef7c2c04b2ae3696fea83057858a59fd9a', class: cls("db-custom-select-dropdown db-card", this.className), "data-spacing": "none", ref: (el) => {
|
|
59
90
|
this._ref = el;
|
|
60
|
-
}, id: (_a = this.id) !== null && _a !== void 0 ? _a : (_b = this.propOverrides) === null || _b === void 0 ? void 0 : _b.id, "data-width": this.width }, h("slot", { key: '
|
|
91
|
+
}, id: (_a = this.id) !== null && _a !== void 0 ? _a : (_b = this.propOverrides) === null || _b === void 0 ? void 0 : _b.id, "data-width": this.width }, h("slot", { key: '89ceec1851f4ffdb27f99b5f301e70784607c2c8' })));
|
|
61
92
|
}
|
|
62
93
|
get rootElement() { return getElement(this); }
|
|
63
94
|
};
|
|
@@ -65,6 +96,27 @@ const DBCustomSelectDropdown = class {
|
|
|
65
96
|
const DBCustomSelectList = class {
|
|
66
97
|
constructor(hostRef) {
|
|
67
98
|
registerInstance(this, hostRef);
|
|
99
|
+
this.observer = undefined;
|
|
100
|
+
}
|
|
101
|
+
setupObserver(element) {
|
|
102
|
+
if (!element)
|
|
103
|
+
return;
|
|
104
|
+
const parent = element.closest("db-custom-select-list");
|
|
105
|
+
if (!parent || this.observer)
|
|
106
|
+
return;
|
|
107
|
+
this.observer = new MutationObserver((mutations) => {
|
|
108
|
+
if (mutations.some((mutation) => {
|
|
109
|
+
var _a;
|
|
110
|
+
const attr = mutation.target.attributes.getNamedItem((_a = mutation.attributeName) !== null && _a !== void 0 ? _a : "");
|
|
111
|
+
return (attr === null || attr === void 0 ? void 0 : attr.value) !== mutation.oldValue;
|
|
112
|
+
})) {
|
|
113
|
+
this.enableAttributePassing(element, "db-custom-select-list");
|
|
114
|
+
}
|
|
115
|
+
});
|
|
116
|
+
this.observer.observe(parent, {
|
|
117
|
+
attributes: true,
|
|
118
|
+
attributeOldValue: true,
|
|
119
|
+
});
|
|
68
120
|
}
|
|
69
121
|
/**
|
|
70
122
|
* Passes `aria-*`, `data-*` & `class` attributes to correct child. Used in angular and stencil.
|
|
@@ -79,10 +131,15 @@ const DBCustomSelectList = class {
|
|
|
79
131
|
const attr = attributes.item(i);
|
|
80
132
|
if (attr && attr.name !== 'data-density' &&
|
|
81
133
|
(attr.name.startsWith("data-") || attr.name.startsWith("aria-"))) {
|
|
82
|
-
|
|
134
|
+
if (attr.value) {
|
|
135
|
+
element.setAttribute(attr.name, attr.value);
|
|
136
|
+
}
|
|
137
|
+
else {
|
|
138
|
+
element.removeAttribute(attr.name);
|
|
139
|
+
}
|
|
83
140
|
parent.removeAttribute(attr.name);
|
|
84
141
|
}
|
|
85
|
-
else if (attr &&
|
|
142
|
+
else if (attr && ["style"].includes(attr.name)) {
|
|
86
143
|
element.setAttribute(attr.name, attr.value);
|
|
87
144
|
parent.removeAttribute(attr.name);
|
|
88
145
|
}
|
|
@@ -90,7 +147,7 @@ const DBCustomSelectList = class {
|
|
|
90
147
|
const isWebComponent = attr.value.includes("hydrated");
|
|
91
148
|
const value = attr.value.replace("hydrated", "").trim();
|
|
92
149
|
const currentClass = element.getAttribute("class");
|
|
93
|
-
element.setAttribute(attr.name, `${currentClass ?
|
|
150
|
+
element.setAttribute(attr.name, `${currentClass ? currentClass : ""}${value ? ` ${value}` : ""}`);
|
|
94
151
|
if (isWebComponent) {
|
|
95
152
|
// Stencil is using this class for lazy loading component
|
|
96
153
|
parent.setAttribute("class", "hydrated");
|
|
@@ -110,12 +167,17 @@ const DBCustomSelectList = class {
|
|
|
110
167
|
}
|
|
111
168
|
}
|
|
112
169
|
this.enableAttributePassing(this._ref, "db-custom-select-list");
|
|
170
|
+
this.setupObserver(this._ref);
|
|
171
|
+
}
|
|
172
|
+
disconnectedCallback() {
|
|
173
|
+
var _a;
|
|
174
|
+
(_a = this.observer) === null || _a === void 0 ? void 0 : _a.disconnect();
|
|
113
175
|
}
|
|
114
176
|
render() {
|
|
115
177
|
var _a, _b;
|
|
116
|
-
return (h("div", { key: '
|
|
178
|
+
return (h("div", { key: '2dee04c035ef27c7f398805eee1c77e7a3ad893c', class: cls("db-custom-select-list", this.className), role: this.multiple ? "group" : "radiogroup", "aria-label": this.label, ref: (el) => {
|
|
117
179
|
this._ref = el;
|
|
118
|
-
}, id: (_a = this.id) !== null && _a !== void 0 ? _a : (_b = this.propOverrides) === null || _b === void 0 ? void 0 : _b.id }, h("ul", { key: '
|
|
180
|
+
}, id: (_a = this.id) !== null && _a !== void 0 ? _a : (_b = this.propOverrides) === null || _b === void 0 ? void 0 : _b.id }, h("ul", { key: '64b6f1efc4344d7e274a5dd3ad78ce80983a8b77' }, h("slot", { key: '26e0de28808a85216b9f1dcb8f788928a0c62c15' }))));
|
|
119
181
|
}
|
|
120
182
|
get rootElement() { return getElement(this); }
|
|
121
183
|
};
|
|
@@ -125,6 +187,7 @@ const DBCustomSelectListItem = class {
|
|
|
125
187
|
registerInstance(this, hostRef);
|
|
126
188
|
this.change = createEvent(this, "change");
|
|
127
189
|
this.hasDivider = false;
|
|
190
|
+
this.observer = undefined;
|
|
128
191
|
}
|
|
129
192
|
handleChange(event) {
|
|
130
193
|
event.stopPropagation();
|
|
@@ -138,6 +201,26 @@ const DBCustomSelectListItem = class {
|
|
|
138
201
|
}
|
|
139
202
|
return getBoolean(this.checked, "checked") ? "check" : "x_placeholder";
|
|
140
203
|
}
|
|
204
|
+
setupObserver(element) {
|
|
205
|
+
if (!element)
|
|
206
|
+
return;
|
|
207
|
+
const parent = element.closest("db-custom-select-list-item");
|
|
208
|
+
if (!parent || this.observer)
|
|
209
|
+
return;
|
|
210
|
+
this.observer = new MutationObserver((mutations) => {
|
|
211
|
+
if (mutations.some((mutation) => {
|
|
212
|
+
var _a;
|
|
213
|
+
const attr = mutation.target.attributes.getNamedItem((_a = mutation.attributeName) !== null && _a !== void 0 ? _a : "");
|
|
214
|
+
return (attr === null || attr === void 0 ? void 0 : attr.value) !== mutation.oldValue;
|
|
215
|
+
})) {
|
|
216
|
+
this.enableAttributePassing(element, "db-custom-select-list-item");
|
|
217
|
+
}
|
|
218
|
+
});
|
|
219
|
+
this.observer.observe(parent, {
|
|
220
|
+
attributes: true,
|
|
221
|
+
attributeOldValue: true,
|
|
222
|
+
});
|
|
223
|
+
}
|
|
141
224
|
/**
|
|
142
225
|
* Passes `aria-*`, `data-*` & `class` attributes to correct child. Used in angular and stencil.
|
|
143
226
|
* @param element the ref for the component
|
|
@@ -151,10 +234,15 @@ const DBCustomSelectListItem = class {
|
|
|
151
234
|
const attr = attributes.item(i);
|
|
152
235
|
if (attr && attr.name !== 'data-density' &&
|
|
153
236
|
(attr.name.startsWith("data-") || attr.name.startsWith("aria-"))) {
|
|
154
|
-
|
|
237
|
+
if (attr.value) {
|
|
238
|
+
element.setAttribute(attr.name, attr.value);
|
|
239
|
+
}
|
|
240
|
+
else {
|
|
241
|
+
element.removeAttribute(attr.name);
|
|
242
|
+
}
|
|
155
243
|
parent.removeAttribute(attr.name);
|
|
156
244
|
}
|
|
157
|
-
else if (attr &&
|
|
245
|
+
else if (attr && ["style"].includes(attr.name)) {
|
|
158
246
|
element.setAttribute(attr.name, attr.value);
|
|
159
247
|
parent.removeAttribute(attr.name);
|
|
160
248
|
}
|
|
@@ -162,7 +250,7 @@ const DBCustomSelectListItem = class {
|
|
|
162
250
|
const isWebComponent = attr.value.includes("hydrated");
|
|
163
251
|
const value = attr.value.replace("hydrated", "").trim();
|
|
164
252
|
const currentClass = element.getAttribute("class");
|
|
165
|
-
element.setAttribute(attr.name, `${currentClass ?
|
|
253
|
+
element.setAttribute(attr.name, `${currentClass ? currentClass : ""}${value ? ` ${value}` : ""}`);
|
|
166
254
|
if (isWebComponent) {
|
|
167
255
|
// Stencil is using this class for lazy loading component
|
|
168
256
|
parent.setAttribute("class", "hydrated");
|
|
@@ -188,11 +276,16 @@ const DBCustomSelectListItem = class {
|
|
|
188
276
|
}
|
|
189
277
|
}
|
|
190
278
|
this.enableAttributePassing(this._ref, "db-custom-select-list-item");
|
|
279
|
+
this.setupObserver(this._ref);
|
|
191
280
|
this.watch0Fn();
|
|
192
281
|
}
|
|
282
|
+
disconnectedCallback() {
|
|
283
|
+
var _a;
|
|
284
|
+
(_a = this.observer) === null || _a === void 0 ? void 0 : _a.disconnect();
|
|
285
|
+
}
|
|
193
286
|
render() {
|
|
194
287
|
var _a, _b;
|
|
195
|
-
return (h("li", { key: '
|
|
288
|
+
return (h("li", { key: 'cb467f74569cd0505dab2ac02a9b375de8f5a9bc', class: cls("db-custom-select-list-item", this.className, {
|
|
196
289
|
"db-checkbox": this.type === "checkbox" && !this.isGroupTitle,
|
|
197
290
|
"db-radio": this.type !== "checkbox" && !this.isGroupTitle,
|
|
198
291
|
}), ref: (el) => {
|
|
@@ -227,6 +320,7 @@ const DBInput = class {
|
|
|
227
320
|
this._value = "";
|
|
228
321
|
this._voiceOverFallback = "";
|
|
229
322
|
this.abortController = undefined;
|
|
323
|
+
this.observer = undefined;
|
|
230
324
|
}
|
|
231
325
|
hasValidState() {
|
|
232
326
|
var _a;
|
|
@@ -243,7 +337,7 @@ const DBInput = class {
|
|
|
243
337
|
DEFAULT_INVALID_MESSAGE;
|
|
244
338
|
if (hasVoiceOver()) {
|
|
245
339
|
this._voiceOverFallback = this._invalidMessage;
|
|
246
|
-
delay(() => (this._voiceOverFallback = ""), 1000);
|
|
340
|
+
void delay(() => (this._voiceOverFallback = ""), 1000);
|
|
247
341
|
}
|
|
248
342
|
}
|
|
249
343
|
else if (this.hasValidState() &&
|
|
@@ -252,7 +346,7 @@ const DBInput = class {
|
|
|
252
346
|
this._descByIds = this._validMessageId;
|
|
253
347
|
if (hasVoiceOver()) {
|
|
254
348
|
this._voiceOverFallback = (_d = this.validMessage) !== null && _d !== void 0 ? _d : DEFAULT_VALID_MESSAGE;
|
|
255
|
-
delay(() => (this._voiceOverFallback = ""), 1000);
|
|
349
|
+
void delay(() => (this._voiceOverFallback = ""), 1000);
|
|
256
350
|
}
|
|
257
351
|
}
|
|
258
352
|
else if (stringPropVisible(this.message, this.showMessage)) {
|
|
@@ -302,6 +396,26 @@ const DBInput = class {
|
|
|
302
396
|
this._invalidMessageId = mId + DEFAULT_INVALID_MESSAGE_ID_SUFFIX;
|
|
303
397
|
this._dataListId = mId + DEFAULT_DATALIST_ID_SUFFIX;
|
|
304
398
|
}
|
|
399
|
+
setupObserver(element) {
|
|
400
|
+
if (!element)
|
|
401
|
+
return;
|
|
402
|
+
const parent = element.closest("db-input");
|
|
403
|
+
if (!parent || this.observer)
|
|
404
|
+
return;
|
|
405
|
+
this.observer = new MutationObserver((mutations) => {
|
|
406
|
+
if (mutations.some((mutation) => {
|
|
407
|
+
var _a;
|
|
408
|
+
const attr = mutation.target.attributes.getNamedItem((_a = mutation.attributeName) !== null && _a !== void 0 ? _a : "");
|
|
409
|
+
return (attr === null || attr === void 0 ? void 0 : attr.value) !== mutation.oldValue;
|
|
410
|
+
})) {
|
|
411
|
+
this.enableAttributePassing(element, "db-input");
|
|
412
|
+
}
|
|
413
|
+
});
|
|
414
|
+
this.observer.observe(parent, {
|
|
415
|
+
attributes: true,
|
|
416
|
+
attributeOldValue: true,
|
|
417
|
+
});
|
|
418
|
+
}
|
|
305
419
|
/**
|
|
306
420
|
* Passes `aria-*`, `data-*` & `class` attributes to correct child. Used in angular and stencil.
|
|
307
421
|
* @param element the ref for the component
|
|
@@ -315,10 +429,15 @@ const DBInput = class {
|
|
|
315
429
|
const attr = attributes.item(i);
|
|
316
430
|
if (attr && attr.name !== 'data-density' &&
|
|
317
431
|
(attr.name.startsWith("data-") || attr.name.startsWith("aria-"))) {
|
|
318
|
-
|
|
432
|
+
if (attr.value) {
|
|
433
|
+
element.setAttribute(attr.name, attr.value);
|
|
434
|
+
}
|
|
435
|
+
else {
|
|
436
|
+
element.removeAttribute(attr.name);
|
|
437
|
+
}
|
|
319
438
|
parent.removeAttribute(attr.name);
|
|
320
439
|
}
|
|
321
|
-
else if (attr &&
|
|
440
|
+
else if (attr && ["style"].includes(attr.name)) {
|
|
322
441
|
element.setAttribute(attr.name, attr.value);
|
|
323
442
|
parent.removeAttribute(attr.name);
|
|
324
443
|
}
|
|
@@ -326,7 +445,7 @@ const DBInput = class {
|
|
|
326
445
|
const isWebComponent = attr.value.includes("hydrated");
|
|
327
446
|
const value = attr.value.replace("hydrated", "").trim();
|
|
328
447
|
const currentClass = element.getAttribute("class");
|
|
329
|
-
element.setAttribute(attr.name, `${currentClass ?
|
|
448
|
+
element.setAttribute(attr.name, `${currentClass ? currentClass : ""}${value ? ` ${value}` : ""}`);
|
|
330
449
|
if (isWebComponent) {
|
|
331
450
|
// Stencil is using this class for lazy loading component
|
|
332
451
|
parent.setAttribute("class", "hydrated");
|
|
@@ -412,8 +531,15 @@ const DBInput = class {
|
|
|
412
531
|
}
|
|
413
532
|
}
|
|
414
533
|
this.enableAttributePassing(this._ref, "db-input");
|
|
415
|
-
|
|
416
|
-
|
|
534
|
+
const onMountHook_0 = () => {
|
|
535
|
+
this.resetIds();
|
|
536
|
+
this._invalidMessage = this.invalidMessage || DEFAULT_INVALID_MESSAGE;
|
|
537
|
+
};
|
|
538
|
+
onMountHook_0();
|
|
539
|
+
const onMountHook_1 = () => {
|
|
540
|
+
this.setupObserver(this._ref);
|
|
541
|
+
};
|
|
542
|
+
onMountHook_1();
|
|
417
543
|
this.watch0Fn();
|
|
418
544
|
this.watch1Fn();
|
|
419
545
|
this.watch2Fn();
|
|
@@ -421,16 +547,18 @@ const DBInput = class {
|
|
|
421
547
|
this.watch4Fn();
|
|
422
548
|
}
|
|
423
549
|
disconnectedCallback() {
|
|
424
|
-
var _a;
|
|
550
|
+
var _a, _b;
|
|
425
551
|
(_a = this.abortController) === null || _a === void 0 ? void 0 : _a.abort();
|
|
552
|
+
(_b = this.observer) === null || _b === void 0 ? void 0 : _b.disconnect();
|
|
426
553
|
}
|
|
427
554
|
render() {
|
|
428
555
|
var _a, _b, _c, _d, _e, _f, _g, _h;
|
|
429
|
-
return (h("div", { key: '
|
|
430
|
-
getBooleanAsString(this.showIcon, "showIcon"), "data-icon": (_a = this.iconLeading) !== null && _a !== void 0 ? _a : this.icon, "data-icon-trailing": this.iconTrailing, "data-hide-asterisk": getHideProp(this.showRequiredAsterisk), "data-show-icon-trailing": getBooleanAsString(this.showIconTrailing, "showIconTrailing") }, h("label", { key: '
|
|
556
|
+
return (h("div", { key: 'c8140e1e7d447fd4d65829dde8090110d0e421dc', class: cls("db-input", this.className), "data-variant": this.variant, "data-hide-label": getHideProp(this.showLabel), "data-show-icon": getBooleanAsString(this.showIconLeading, "showIconLeading") ||
|
|
557
|
+
getBooleanAsString(this.showIcon, "showIcon"), "data-icon": (_a = this.iconLeading) !== null && _a !== void 0 ? _a : this.icon, "data-icon-trailing": this.iconTrailing, "data-hide-asterisk": getHideProp(this.showRequiredAsterisk), "data-show-icon-trailing": getBooleanAsString(this.showIconTrailing, "showIconTrailing") }, h("label", { key: '7ce81ede48602af85d5bf770c01ef0731d1774ec', htmlFor: this._id }, (_b = this.label) !== null && _b !== void 0 ? _b : DEFAULT_LABEL), h("input", { key: '880aea669e5decea1d0c865bd27981ab082c9fec', "aria-invalid": this.validation === "invalid", "data-custom-validity": this.validation, "data-field-sizing": this.fieldSizing, ref: (el) => {
|
|
431
558
|
this._ref = el;
|
|
432
559
|
}, id: this._id, name: this.name, type: this.type || "text", multiple: getBoolean(this.multiple, "multiple"), accept: this.accept, placeholder: (_c = this.placeholder) !== null && _c !== void 0 ? _c : DEFAULT_PLACEHOLDER, disabled: getBoolean(this.disabled, "disabled"), required: getBoolean(this.required, "required"), step: getStep(this.step), value: (_e = (_d = this.value) !== null && _d !== void 0 ? _d : this._value) !== null && _e !== void 0 ? _e : "", maxLength: getNumber(this.maxLength, this.maxlength), minLength: getNumber(this.minLength, this.minlength), max: getInputValue(this.max, this.type), min: getInputValue(this.min, this.type), readOnly: getBoolean(this.readOnly, "readOnly") ||
|
|
433
|
-
getBoolean(this.readonly, "readonly")
|
|
560
|
+
getBoolean(this.readonly, "readonly") ||
|
|
561
|
+
undefined, form: this.form, pattern: this.pattern, size: this.size, autoComplete: this.autocomplete, autoFocus: getBoolean(this.autofocus, "autofocus"), enterKeyHint: this.enterkeyhint, inputMode: this.inputmode, onInput: (event) => this.handleInput(event), onChange: (event) => this.handleChange(event), onBlur: (event) => this.handleBlur(event), onFocus: (event) => this.handleFocus(event), list: this.dataList && this._dataListId, "aria-describedby": (_f = this.ariaDescribedBy) !== null && _f !== void 0 ? _f : this._descByIds, role: [
|
|
434
562
|
"datetime-local",
|
|
435
563
|
"date",
|
|
436
564
|
"time",
|
|
@@ -439,7 +567,7 @@ const DBInput = class {
|
|
|
439
567
|
"color",
|
|
440
568
|
].includes((_g = this.type) !== null && _g !== void 0 ? _g : "") && isIOSSafari()
|
|
441
569
|
? "textbox"
|
|
442
|
-
: undefined }), this.dataList ? (h("datalist", { id: this._dataListId }, (_h = this.getDataList()) === null || _h === void 0 ? void 0 : _h.map((option) => (h("option", { key: this._dataListId + "-option-" + option.value, value: option.value }, option.label))))) : null, h("slot", { key: '
|
|
570
|
+
: undefined }), this.dataList ? (h("datalist", { id: this._dataListId }, (_h = this.getDataList()) === null || _h === void 0 ? void 0 : _h.map((option) => (h("option", { key: this._dataListId + "-option-" + option.value, value: option.value }, option.label))))) : null, h("slot", { key: 'c119d0f17fc00de285fba88f3748235b914691ff' }), stringPropVisible(this.message, this.showMessage) ? (h("db-infotext", { size: this.messageSize || "small", icon: this.messageIcon, id: this._messageId }, this.message)) : null, this.hasValidState() ? (h("db-infotext", { semantic: "successful", id: this._validMessageId, size: this.validMessageSize || "small" }, this.validMessage || DEFAULT_VALID_MESSAGE)) : null, h("db-infotext", { key: '2ee3dc9555e0a21f6645807077c0b1af6dd08043', semantic: "critical", id: this._invalidMessageId, size: this.invalidMessageSize || "small" }, this._invalidMessage), h("span", { key: '5a3a55b62468522a3198957be4b5a72c818316b4', "data-visually-hidden": "true", role: "status" }, this._voiceOverFallback)));
|
|
443
571
|
}
|
|
444
572
|
get rootElement() { return getElement(this); }
|
|
445
573
|
static get watchers() { return {
|
|
@@ -470,6 +598,7 @@ const DBTag = class {
|
|
|
470
598
|
constructor(hostRef) {
|
|
471
599
|
registerInstance(this, hostRef);
|
|
472
600
|
this.remove = createEvent(this, "remove");
|
|
601
|
+
this.observer = undefined;
|
|
473
602
|
}
|
|
474
603
|
handleRemove(event) {
|
|
475
604
|
if (!event)
|
|
@@ -486,6 +615,26 @@ const DBTag = class {
|
|
|
486
615
|
// TODO: We should think this through again, if we would really like to have default and especially english, instead of german labels in here
|
|
487
616
|
return DEFAULT_REMOVE;
|
|
488
617
|
}
|
|
618
|
+
setupObserver(element) {
|
|
619
|
+
if (!element)
|
|
620
|
+
return;
|
|
621
|
+
const parent = element.closest("db-tag");
|
|
622
|
+
if (!parent || this.observer)
|
|
623
|
+
return;
|
|
624
|
+
this.observer = new MutationObserver((mutations) => {
|
|
625
|
+
if (mutations.some((mutation) => {
|
|
626
|
+
var _a;
|
|
627
|
+
const attr = mutation.target.attributes.getNamedItem((_a = mutation.attributeName) !== null && _a !== void 0 ? _a : "");
|
|
628
|
+
return (attr === null || attr === void 0 ? void 0 : attr.value) !== mutation.oldValue;
|
|
629
|
+
})) {
|
|
630
|
+
this.enableAttributePassing(element, "db-tag");
|
|
631
|
+
}
|
|
632
|
+
});
|
|
633
|
+
this.observer.observe(parent, {
|
|
634
|
+
attributes: true,
|
|
635
|
+
attributeOldValue: true,
|
|
636
|
+
});
|
|
637
|
+
}
|
|
489
638
|
/**
|
|
490
639
|
* Passes `aria-*`, `data-*` & `class` attributes to correct child. Used in angular and stencil.
|
|
491
640
|
* @param element the ref for the component
|
|
@@ -499,10 +648,15 @@ const DBTag = class {
|
|
|
499
648
|
const attr = attributes.item(i);
|
|
500
649
|
if (attr && attr.name !== 'data-density' &&
|
|
501
650
|
(attr.name.startsWith("data-") || attr.name.startsWith("aria-"))) {
|
|
502
|
-
|
|
651
|
+
if (attr.value) {
|
|
652
|
+
element.setAttribute(attr.name, attr.value);
|
|
653
|
+
}
|
|
654
|
+
else {
|
|
655
|
+
element.removeAttribute(attr.name);
|
|
656
|
+
}
|
|
503
657
|
parent.removeAttribute(attr.name);
|
|
504
658
|
}
|
|
505
|
-
else if (attr &&
|
|
659
|
+
else if (attr && ["style"].includes(attr.name)) {
|
|
506
660
|
element.setAttribute(attr.name, attr.value);
|
|
507
661
|
parent.removeAttribute(attr.name);
|
|
508
662
|
}
|
|
@@ -510,7 +664,7 @@ const DBTag = class {
|
|
|
510
664
|
const isWebComponent = attr.value.includes("hydrated");
|
|
511
665
|
const value = attr.value.replace("hydrated", "").trim();
|
|
512
666
|
const currentClass = element.getAttribute("class");
|
|
513
|
-
element.setAttribute(attr.name, `${currentClass ?
|
|
667
|
+
element.setAttribute(attr.name, `${currentClass ? currentClass : ""}${value ? ` ${value}` : ""}`);
|
|
514
668
|
if (isWebComponent) {
|
|
515
669
|
// Stencil is using this class for lazy loading component
|
|
516
670
|
parent.setAttribute("class", "hydrated");
|
|
@@ -530,12 +684,17 @@ const DBTag = class {
|
|
|
530
684
|
}
|
|
531
685
|
}
|
|
532
686
|
this.enableAttributePassing(this._ref, "db-tag");
|
|
687
|
+
this.setupObserver(this._ref);
|
|
688
|
+
}
|
|
689
|
+
disconnectedCallback() {
|
|
690
|
+
var _a;
|
|
691
|
+
(_a = this.observer) === null || _a === void 0 ? void 0 : _a.disconnect();
|
|
533
692
|
}
|
|
534
693
|
render() {
|
|
535
694
|
var _a, _b, _c;
|
|
536
|
-
return (h("div", { key: '
|
|
695
|
+
return (h("div", { key: '22654726ea465c2b07942705dfcf72162c11e314', class: cls("db-tag", this.className), ref: (el) => {
|
|
537
696
|
this._ref = el;
|
|
538
|
-
}, id: (_a = this.id) !== null && _a !== void 0 ? _a : (_b = this.propOverrides) === null || _b === void 0 ? void 0 : _b.id, "data-semantic": this.semantic, "data-emphasis": this.emphasis, "data-icon": this.icon, "data-show-check-state": getBooleanAsString((_c = this.showCheckState) !== null && _c !== void 0 ? _c : true, "showCheckState"), "data-show-icon": getBooleanAsString(this.showIcon, "showIcon"), "data-no-text": getBooleanAsString(this.noText, "noText"), "data-overflow": getBooleanAsString(this.overflow, "overflow") }, h("slot", { key: '
|
|
697
|
+
}, id: (_a = this.id) !== null && _a !== void 0 ? _a : (_b = this.propOverrides) === null || _b === void 0 ? void 0 : _b.id, "data-semantic": this.semantic, "data-emphasis": this.emphasis, "data-icon": this.icon, "data-show-check-state": getBooleanAsString((_c = this.showCheckState) !== null && _c !== void 0 ? _c : true, "showCheckState"), "data-show-icon": getBooleanAsString(this.showIcon, "showIcon"), "data-no-text": getBooleanAsString(this.noText, "noText"), "data-overflow": getBooleanAsString(this.overflow, "overflow") }, h("slot", { key: '284aa3b6bce1595939f667e8a511319879545e27', name: "content" }), this.text ? this.text : null, h("slot", { key: '7471ead10bf5f95654444020e6b76d0b2f64486b' }), this.behavior === "removable" ? (h("button", { class: "db-button db-tab-remove-button", "data-icon": "cross", "data-size": "small", "data-no-text": "true", "data-variant": "ghost", type: "button", onClick: (event) => this.handleRemove(event) }, h("db-tooltip", { variant: "label" }, this.getRemoveButtonText()))) : null));
|
|
539
698
|
}
|
|
540
699
|
get rootElement() { return getElement(this); }
|
|
541
700
|
};
|
|
@@ -4,6 +4,27 @@ import { c as cls } from './index-fumiz06Y.js';
|
|
|
4
4
|
const DBCustomSelectFormField = class {
|
|
5
5
|
constructor(hostRef) {
|
|
6
6
|
registerInstance(this, hostRef);
|
|
7
|
+
this.observer = undefined;
|
|
8
|
+
}
|
|
9
|
+
setupObserver(element) {
|
|
10
|
+
if (!element)
|
|
11
|
+
return;
|
|
12
|
+
const parent = element.closest("db-custom-select-form-field");
|
|
13
|
+
if (!parent || this.observer)
|
|
14
|
+
return;
|
|
15
|
+
this.observer = new MutationObserver((mutations) => {
|
|
16
|
+
if (mutations.some((mutation) => {
|
|
17
|
+
var _a;
|
|
18
|
+
const attr = mutation.target.attributes.getNamedItem((_a = mutation.attributeName) !== null && _a !== void 0 ? _a : "");
|
|
19
|
+
return (attr === null || attr === void 0 ? void 0 : attr.value) !== mutation.oldValue;
|
|
20
|
+
})) {
|
|
21
|
+
this.enableAttributePassing(element, "db-custom-select-form-field");
|
|
22
|
+
}
|
|
23
|
+
});
|
|
24
|
+
this.observer.observe(parent, {
|
|
25
|
+
attributes: true,
|
|
26
|
+
attributeOldValue: true,
|
|
27
|
+
});
|
|
7
28
|
}
|
|
8
29
|
/**
|
|
9
30
|
* Passes `aria-*`, `data-*` & `class` attributes to correct child. Used in angular and stencil.
|
|
@@ -18,10 +39,15 @@ const DBCustomSelectFormField = class {
|
|
|
18
39
|
const attr = attributes.item(i);
|
|
19
40
|
if (attr && attr.name !== 'data-density' &&
|
|
20
41
|
(attr.name.startsWith("data-") || attr.name.startsWith("aria-"))) {
|
|
21
|
-
|
|
42
|
+
if (attr.value) {
|
|
43
|
+
element.setAttribute(attr.name, attr.value);
|
|
44
|
+
}
|
|
45
|
+
else {
|
|
46
|
+
element.removeAttribute(attr.name);
|
|
47
|
+
}
|
|
22
48
|
parent.removeAttribute(attr.name);
|
|
23
49
|
}
|
|
24
|
-
else if (attr &&
|
|
50
|
+
else if (attr && ["style"].includes(attr.name)) {
|
|
25
51
|
element.setAttribute(attr.name, attr.value);
|
|
26
52
|
parent.removeAttribute(attr.name);
|
|
27
53
|
}
|
|
@@ -29,7 +55,7 @@ const DBCustomSelectFormField = class {
|
|
|
29
55
|
const isWebComponent = attr.value.includes("hydrated");
|
|
30
56
|
const value = attr.value.replace("hydrated", "").trim();
|
|
31
57
|
const currentClass = element.getAttribute("class");
|
|
32
|
-
element.setAttribute(attr.name, `${currentClass ?
|
|
58
|
+
element.setAttribute(attr.name, `${currentClass ? currentClass : ""}${value ? ` ${value}` : ""}`);
|
|
33
59
|
if (isWebComponent) {
|
|
34
60
|
// Stencil is using this class for lazy loading component
|
|
35
61
|
parent.setAttribute("class", "hydrated");
|
|
@@ -49,12 +75,17 @@ const DBCustomSelectFormField = class {
|
|
|
49
75
|
}
|
|
50
76
|
}
|
|
51
77
|
this.enableAttributePassing(this._ref, "db-custom-select-form-field");
|
|
78
|
+
this.setupObserver(this._ref);
|
|
79
|
+
}
|
|
80
|
+
disconnectedCallback() {
|
|
81
|
+
var _a;
|
|
82
|
+
(_a = this.observer) === null || _a === void 0 ? void 0 : _a.disconnect();
|
|
52
83
|
}
|
|
53
84
|
render() {
|
|
54
85
|
var _a, _b;
|
|
55
|
-
return (h("summary", { key: '
|
|
86
|
+
return (h("summary", { key: 'e74ace4d1b8b882d93a74274f0ae0b278f6daf42', class: cls("db-custom-select-form-field", this.className), ref: (el) => {
|
|
56
87
|
this._ref = el;
|
|
57
|
-
}, id: (_a = this.id) !== null && _a !== void 0 ? _a : (_b = this.propOverrides) === null || _b === void 0 ? void 0 : _b.id }, h("slot", { key: '
|
|
88
|
+
}, id: (_a = this.id) !== null && _a !== void 0 ? _a : (_b = this.propOverrides) === null || _b === void 0 ? void 0 : _b.id }, h("slot", { key: 'a336ba54bc2165846100b211d0f7f67755fb98d7' })));
|
|
58
89
|
}
|
|
59
90
|
get rootElement() { return getElement(this); }
|
|
60
91
|
};
|