@db-ux/wc-core-components 2.0.4 → 2.0.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/db-accordion-item.cjs.entry.js +1 -1
- package/dist/cjs/db-accordion.cjs.entry.js +1 -1
- package/dist/cjs/db-badge.cjs.entry.js +1 -1
- package/dist/cjs/db-brand.cjs.entry.js +1 -1
- package/dist/cjs/db-button.cjs.entry.js +3 -2
- package/dist/cjs/db-button.cjs.entry.js.map +1 -1
- package/dist/cjs/db-button.entry.cjs.js.map +1 -1
- package/dist/cjs/db-card.cjs.entry.js +4 -3
- package/dist/cjs/db-card.cjs.entry.js.map +1 -1
- package/dist/cjs/db-card.entry.cjs.js.map +1 -1
- package/dist/cjs/db-checkbox.cjs.entry.js +6 -3
- package/dist/cjs/db-checkbox.cjs.entry.js.map +1 -1
- package/dist/cjs/db-checkbox.entry.cjs.js.map +1 -1
- package/dist/cjs/db-custom-select-dropdown.db-custom-select-list.db-custom-select-list-item.db-input.db-tag.db-tooltip.entry.cjs.js.map +1 -1
- package/dist/cjs/db-custom-select-dropdown_6.cjs.entry.js +10 -5
- package/dist/cjs/db-custom-select-dropdown_6.cjs.entry.js.map +1 -1
- package/dist/cjs/db-custom-select-form-field.cjs.entry.js +1 -1
- package/dist/cjs/db-custom-select.cjs.entry.js +1 -1
- package/dist/cjs/db-divider.cjs.entry.js +1 -1
- package/dist/cjs/db-drawer.cjs.entry.js +1 -1
- package/dist/cjs/db-header.cjs.entry.js +1 -1
- package/dist/cjs/db-icon.cjs.entry.js +1 -1
- package/dist/cjs/db-infotext.cjs.entry.js +1 -1
- package/dist/cjs/db-link.cjs.entry.js +3 -2
- package/dist/cjs/db-link.cjs.entry.js.map +1 -1
- package/dist/cjs/db-link.entry.cjs.js.map +1 -1
- package/dist/cjs/db-navigation-item.cjs.entry.js +3 -2
- package/dist/cjs/db-navigation-item.cjs.entry.js.map +1 -1
- package/dist/cjs/db-navigation-item.entry.cjs.js.map +1 -1
- package/dist/cjs/db-navigation.cjs.entry.js +1 -1
- package/dist/cjs/db-notification.cjs.entry.js +4 -3
- package/dist/cjs/db-notification.cjs.entry.js.map +1 -1
- package/dist/cjs/db-notification.entry.cjs.js.map +1 -1
- package/dist/cjs/db-page.cjs.entry.js +1 -1
- package/dist/cjs/db-popover.cjs.entry.js +1 -1
- package/dist/cjs/db-radio.cjs.entry.js +5 -2
- package/dist/cjs/db-radio.cjs.entry.js.map +1 -1
- package/dist/cjs/db-radio.entry.cjs.js.map +1 -1
- package/dist/cjs/db-section.cjs.entry.js +1 -1
- package/dist/cjs/db-select.cjs.entry.js +9 -4
- package/dist/cjs/db-select.cjs.entry.js.map +1 -1
- package/dist/cjs/db-select.entry.cjs.js.map +1 -1
- package/dist/cjs/db-stack.cjs.entry.js +1 -1
- package/dist/cjs/db-switch.cjs.entry.js +5 -2
- package/dist/cjs/db-switch.cjs.entry.js.map +1 -1
- package/dist/cjs/db-switch.entry.cjs.js.map +1 -1
- package/dist/cjs/db-tab-item.db-tab-list.db-tab-panel.entry.cjs.js.map +1 -1
- package/dist/cjs/db-tab-item_3.cjs.entry.js +4 -3
- package/dist/cjs/db-tab-item_3.cjs.entry.js.map +1 -1
- package/dist/cjs/db-tabs.cjs.entry.js +4 -3
- package/dist/cjs/db-tabs.cjs.entry.js.map +1 -1
- package/dist/cjs/db-tabs.entry.cjs.js.map +1 -1
- package/dist/cjs/db-textarea.cjs.entry.js +7 -3
- package/dist/cjs/db-textarea.cjs.entry.js.map +1 -1
- package/dist/cjs/db-textarea.entry.cjs.js.map +1 -1
- package/dist/cjs/db-ux.cjs.js +2 -2
- package/dist/cjs/db-ux.cjs.js.map +1 -1
- package/dist/cjs/{index-DxlRD7DP.js → index-fEToMoyG.js} +3 -3
- package/dist/{esm/index-BrqIMKjE.js.map → cjs/index-fEToMoyG.js.map} +1 -1
- package/dist/cjs/index.cjs.js +1 -1
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/collection/collection-manifest.json +1 -1
- package/dist/collection/components/button/button.js +2 -1
- package/dist/collection/components/button/button.js.map +1 -1
- package/dist/collection/components/card/card.js +3 -2
- package/dist/collection/components/card/card.js.map +1 -1
- package/dist/collection/components/checkbox/checkbox.js +5 -2
- package/dist/collection/components/checkbox/checkbox.js.map +1 -1
- package/dist/collection/components/input/input.js +6 -2
- package/dist/collection/components/input/input.js.map +1 -1
- package/dist/collection/components/link/link.js +2 -1
- package/dist/collection/components/link/link.js.map +1 -1
- package/dist/collection/components/navigation-item/navigation-item.js +2 -1
- package/dist/collection/components/navigation-item/navigation-item.js.map +1 -1
- package/dist/collection/components/notification/notification.js +3 -2
- package/dist/collection/components/notification/notification.js.map +1 -1
- package/dist/collection/components/radio/radio.js +4 -1
- package/dist/collection/components/radio/radio.js.map +1 -1
- package/dist/collection/components/select/select.js +8 -3
- package/dist/collection/components/select/select.js.map +1 -1
- package/dist/collection/components/switch/switch.js +4 -1
- package/dist/collection/components/switch/switch.js.map +1 -1
- package/dist/collection/components/tab-item/tab-item.js +3 -2
- package/dist/collection/components/tab-item/tab-item.js.map +1 -1
- package/dist/collection/components/tabs/tabs.js +3 -2
- package/dist/collection/components/tabs/tabs.js.map +1 -1
- package/dist/collection/components/tag/tag.js +3 -2
- package/dist/collection/components/tag/tag.js.map +1 -1
- package/dist/collection/components/textarea/textarea.js +6 -2
- package/dist/collection/components/textarea/textarea.js.map +1 -1
- package/dist/db-ux/db-button.entry.esm.js.map +1 -1
- package/dist/db-ux/db-card.entry.esm.js.map +1 -1
- package/dist/db-ux/db-checkbox.entry.esm.js.map +1 -1
- package/dist/db-ux/db-custom-select-dropdown.db-custom-select-list.db-custom-select-list-item.db-input.db-tag.db-tooltip.entry.esm.js.map +1 -1
- package/dist/db-ux/db-link.entry.esm.js.map +1 -1
- package/dist/db-ux/db-navigation-item.entry.esm.js.map +1 -1
- package/dist/db-ux/db-notification.entry.esm.js.map +1 -1
- package/dist/db-ux/db-radio.entry.esm.js.map +1 -1
- package/dist/db-ux/db-select.entry.esm.js.map +1 -1
- package/dist/db-ux/db-switch.entry.esm.js.map +1 -1
- package/dist/db-ux/db-tab-item.db-tab-list.db-tab-panel.entry.esm.js.map +1 -1
- package/dist/db-ux/db-tabs.entry.esm.js.map +1 -1
- package/dist/db-ux/db-textarea.entry.esm.js.map +1 -1
- package/dist/db-ux/db-ux.esm.js +1 -1
- package/dist/db-ux/db-ux.esm.js.map +1 -1
- package/dist/db-ux/index.esm.js +1 -1
- package/dist/db-ux/{p-012fd9d6.entry.js → p-03f2f291.entry.js} +2 -2
- package/dist/db-ux/p-0db532bd.entry.js +2 -0
- package/dist/db-ux/p-0db532bd.entry.js.map +1 -0
- package/dist/db-ux/{p-8aa1a0b8.entry.js → p-10a706a6.entry.js} +2 -2
- package/dist/db-ux/{p-870d446d.entry.js → p-132f2d2c.entry.js} +2 -2
- package/dist/db-ux/{p-a0143bd2.entry.js → p-2817cc26.entry.js} +2 -2
- package/dist/db-ux/{p-bc76ead8.entry.js → p-33a60b07.entry.js} +2 -2
- package/dist/db-ux/{p-96f6e3b3.entry.js → p-3e39f409.entry.js} +2 -2
- package/dist/db-ux/{p-945e732e.entry.js → p-41feb579.entry.js} +2 -2
- package/dist/db-ux/p-45e619a9.entry.js +2 -0
- package/dist/db-ux/p-45e619a9.entry.js.map +1 -0
- package/dist/db-ux/{p-3bd42a5e.entry.js → p-4c056a9f.entry.js} +2 -2
- package/dist/db-ux/{p-8d4b52ad.entry.js → p-5001ae7c.entry.js} +2 -2
- package/dist/db-ux/{p-0b9e31de.entry.js → p-58ae7ba7.entry.js} +2 -2
- package/dist/db-ux/p-5d4c828f.entry.js +2 -0
- package/dist/db-ux/p-5d4c828f.entry.js.map +1 -0
- package/dist/db-ux/{p-80ae6f28.entry.js → p-6335bd9b.entry.js} +2 -2
- package/dist/db-ux/p-7a4ca08d.entry.js +2 -0
- package/dist/db-ux/p-7a4ca08d.entry.js.map +1 -0
- package/dist/db-ux/{p-0794563a.entry.js → p-85bc6a71.entry.js} +2 -2
- package/dist/db-ux/p-8ac177b3.entry.js +2 -0
- package/dist/db-ux/p-8ac177b3.entry.js.map +1 -0
- package/dist/db-ux/{p-ddb658c7.entry.js → p-8c60d161.entry.js} +2 -2
- package/dist/db-ux/p-8f733f5a.entry.js +2 -0
- package/dist/db-ux/p-8f733f5a.entry.js.map +1 -0
- package/dist/db-ux/p-9ee62815.entry.js +2 -0
- package/dist/db-ux/p-9ee62815.entry.js.map +1 -0
- package/dist/db-ux/{p-BrqIMKjE.js → p-FlgrrUDn.js} +1 -1
- package/dist/db-ux/{p-BrqIMKjE.js.map → p-FlgrrUDn.js.map} +1 -1
- package/dist/db-ux/p-a986a721.entry.js +2 -0
- package/dist/db-ux/p-a986a721.entry.js.map +1 -0
- package/dist/db-ux/p-b34639cd.entry.js +2 -0
- package/dist/db-ux/p-b34639cd.entry.js.map +1 -0
- package/dist/db-ux/{p-b84fd5f2.entry.js → p-b92b20d7.entry.js} +2 -2
- package/dist/db-ux/p-c0709274.entry.js +2 -0
- package/dist/db-ux/p-c0709274.entry.js.map +1 -0
- package/dist/db-ux/{p-1e272756.entry.js → p-ce5e2b8e.entry.js} +2 -2
- package/dist/db-ux/p-cf1e90bc.entry.js +2 -0
- package/dist/db-ux/p-cf1e90bc.entry.js.map +1 -0
- package/dist/db-ux/{p-9775ec6b.entry.js → p-da4bbdb6.entry.js} +2 -2
- package/dist/db-ux/p-da4bbdb6.entry.js.map +1 -0
- package/dist/db-ux/{p-d662c9c6.entry.js → p-f64c445b.entry.js} +2 -2
- package/dist/db-ux/p-fd45d553.entry.js +2 -0
- package/dist/db-ux/p-fd45d553.entry.js.map +1 -0
- package/dist/esm/db-accordion-item.entry.js +1 -1
- package/dist/esm/db-accordion.entry.js +1 -1
- package/dist/esm/db-badge.entry.js +1 -1
- package/dist/esm/db-brand.entry.js +1 -1
- package/dist/esm/db-button.entry.js +3 -2
- package/dist/esm/db-button.entry.js.map +1 -1
- package/dist/esm/db-card.entry.js +4 -3
- package/dist/esm/db-card.entry.js.map +1 -1
- package/dist/esm/db-checkbox.entry.js +6 -3
- package/dist/esm/db-checkbox.entry.js.map +1 -1
- package/dist/esm/db-custom-select-dropdown.db-custom-select-list.db-custom-select-list-item.db-input.db-tag.db-tooltip.entry.js.map +1 -1
- package/dist/esm/db-custom-select-dropdown_6.entry.js +10 -5
- package/dist/esm/db-custom-select-dropdown_6.entry.js.map +1 -1
- package/dist/esm/db-custom-select-form-field.entry.js +1 -1
- package/dist/esm/db-custom-select.entry.js +1 -1
- package/dist/esm/db-divider.entry.js +1 -1
- package/dist/esm/db-drawer.entry.js +1 -1
- package/dist/esm/db-header.entry.js +1 -1
- package/dist/esm/db-icon.entry.js +1 -1
- package/dist/esm/db-infotext.entry.js +1 -1
- package/dist/esm/db-link.entry.js +3 -2
- package/dist/esm/db-link.entry.js.map +1 -1
- package/dist/esm/db-navigation-item.entry.js +3 -2
- package/dist/esm/db-navigation-item.entry.js.map +1 -1
- package/dist/esm/db-navigation.entry.js +1 -1
- package/dist/esm/db-notification.entry.js +4 -3
- package/dist/esm/db-notification.entry.js.map +1 -1
- package/dist/esm/db-page.entry.js +1 -1
- package/dist/esm/db-popover.entry.js +1 -1
- package/dist/esm/db-radio.entry.js +5 -2
- package/dist/esm/db-radio.entry.js.map +1 -1
- package/dist/esm/db-section.entry.js +1 -1
- package/dist/esm/db-select.entry.js +9 -4
- package/dist/esm/db-select.entry.js.map +1 -1
- package/dist/esm/db-stack.entry.js +1 -1
- package/dist/esm/db-switch.entry.js +5 -2
- package/dist/esm/db-switch.entry.js.map +1 -1
- package/dist/esm/db-tab-item.db-tab-list.db-tab-panel.entry.js.map +1 -1
- package/dist/esm/db-tab-item_3.entry.js +4 -3
- package/dist/esm/db-tab-item_3.entry.js.map +1 -1
- package/dist/esm/db-tabs.entry.js +4 -3
- package/dist/esm/db-tabs.entry.js.map +1 -1
- package/dist/esm/db-textarea.entry.js +7 -3
- package/dist/esm/db-textarea.entry.js.map +1 -1
- package/dist/esm/db-ux.js +3 -3
- package/dist/esm/db-ux.js.map +1 -1
- package/dist/esm/{index-BrqIMKjE.js → index-FlgrrUDn.js} +3 -3
- package/dist/{cjs/index-DxlRD7DP.js.map → esm/index-FlgrrUDn.js.map} +1 -1
- package/dist/esm/index.js +1 -1
- package/dist/esm/loader.js +2 -2
- package/dist/types/stencil-public-runtime.d.ts +19 -0
- package/package.json +4 -4
- package/dist/db-ux/p-05e4221b.entry.js +0 -2
- package/dist/db-ux/p-05e4221b.entry.js.map +0 -1
- package/dist/db-ux/p-4a4d54f5.entry.js +0 -2
- package/dist/db-ux/p-4a4d54f5.entry.js.map +0 -1
- package/dist/db-ux/p-56820fd1.entry.js +0 -2
- package/dist/db-ux/p-56820fd1.entry.js.map +0 -1
- package/dist/db-ux/p-58f54658.entry.js +0 -2
- package/dist/db-ux/p-58f54658.entry.js.map +0 -1
- package/dist/db-ux/p-5ba94eed.entry.js +0 -2
- package/dist/db-ux/p-5ba94eed.entry.js.map +0 -1
- package/dist/db-ux/p-816415e9.entry.js +0 -2
- package/dist/db-ux/p-816415e9.entry.js.map +0 -1
- package/dist/db-ux/p-9775ec6b.entry.js.map +0 -1
- package/dist/db-ux/p-ba7c5e1f.entry.js +0 -2
- package/dist/db-ux/p-ba7c5e1f.entry.js.map +0 -1
- package/dist/db-ux/p-cf74fa9c.entry.js +0 -2
- package/dist/db-ux/p-cf74fa9c.entry.js.map +0 -1
- package/dist/db-ux/p-ef59ed95.entry.js +0 -2
- package/dist/db-ux/p-ef59ed95.entry.js.map +0 -1
- package/dist/db-ux/p-f674d33c.entry.js +0 -2
- package/dist/db-ux/p-f674d33c.entry.js.map +0 -1
- package/dist/db-ux/p-fc8d4f28.entry.js +0 -2
- package/dist/db-ux/p-fc8d4f28.entry.js.map +0 -1
- package/dist/db-ux/p-ff5b1a29.entry.js +0 -2
- package/dist/db-ux/p-ff5b1a29.entry.js.map +0 -1
- /package/dist/db-ux/{p-012fd9d6.entry.js.map → p-03f2f291.entry.js.map} +0 -0
- /package/dist/db-ux/{p-8aa1a0b8.entry.js.map → p-10a706a6.entry.js.map} +0 -0
- /package/dist/db-ux/{p-870d446d.entry.js.map → p-132f2d2c.entry.js.map} +0 -0
- /package/dist/db-ux/{p-a0143bd2.entry.js.map → p-2817cc26.entry.js.map} +0 -0
- /package/dist/db-ux/{p-bc76ead8.entry.js.map → p-33a60b07.entry.js.map} +0 -0
- /package/dist/db-ux/{p-96f6e3b3.entry.js.map → p-3e39f409.entry.js.map} +0 -0
- /package/dist/db-ux/{p-945e732e.entry.js.map → p-41feb579.entry.js.map} +0 -0
- /package/dist/db-ux/{p-3bd42a5e.entry.js.map → p-4c056a9f.entry.js.map} +0 -0
- /package/dist/db-ux/{p-8d4b52ad.entry.js.map → p-5001ae7c.entry.js.map} +0 -0
- /package/dist/db-ux/{p-0b9e31de.entry.js.map → p-58ae7ba7.entry.js.map} +0 -0
- /package/dist/db-ux/{p-80ae6f28.entry.js.map → p-6335bd9b.entry.js.map} +0 -0
- /package/dist/db-ux/{p-0794563a.entry.js.map → p-85bc6a71.entry.js.map} +0 -0
- /package/dist/db-ux/{p-ddb658c7.entry.js.map → p-8c60d161.entry.js.map} +0 -0
- /package/dist/db-ux/{p-b84fd5f2.entry.js.map → p-b92b20d7.entry.js.map} +0 -0
- /package/dist/db-ux/{p-1e272756.entry.js.map → p-ce5e2b8e.entry.js.map} +0 -0
- /package/dist/db-ux/{p-d662c9c6.entry.js.map → p-f64c445b.entry.js.map} +0 -0
package/dist/esm/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import './index-
|
|
1
|
+
import './index-FlgrrUDn.js';
|
|
2
2
|
export { x as COLOR, y as COLORS, z as COLORS_SIMPLE, C as COLOR_CONST, w as COLOR_SIMPLE, n as DEFAULT_BACK, p as DEFAULT_BURGER_MENU, s as DEFAULT_CLOSE_BUTTON, j as DEFAULT_DATALIST_ID_SUFFIX, q as DEFAULT_ICON, D as DEFAULT_ID, l as DEFAULT_INVALID_MESSAGE, h as DEFAULT_INVALID_MESSAGE_ID_SUFFIX, a as DEFAULT_LABEL, d as DEFAULT_LABEL_ID_SUFFIX, c as DEFAULT_MESSAGE, f as DEFAULT_MESSAGE_ID_SUFFIX, b as DEFAULT_PLACEHOLDER, i as DEFAULT_PLACEHOLDER_ID_SUFFIX, m as DEFAULT_REMOVE, r as DEFAULT_ROWS, o as DEFAULT_SELECTED, e as DEFAULT_SELECT_ID_SUFFIX, k as DEFAULT_VALID_MESSAGE, g as DEFAULT_VALID_MESSAGE_ID_SUFFIX, B as DEFAULT_VIEWPORT, v as DENSITIES, u as DENSITY, t as DENSITY_CONST, E as DESKTOP_VIEWPORT, S as SEMANTIC, A as SEMANTICS, T as TESTING_VIEWPORTS } from './constants-DC9V_oNU.js';
|
|
3
3
|
export { a as addAttributeToChildren, c as cls, f as delay, j as getBoolean, g as getBooleanAsString, l as getHideProp, k as getNumber, m as getSearchInput, h as handleDataOutside, e as hasVoiceOver, d as isArrayOfStrings, i as isInView, s as stringPropVisible, u as uuid, v as visibleInVX, b as visibleInVY } from './index-TU0pfK1i.js';
|
|
4
4
|
export { N as NavigationItemSafeTriangle, i as isEventTargetNavigationItem } from './navigation-BjeAmWrQ.js';
|
package/dist/esm/loader.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { b as bootstrapLazy } from './index-
|
|
2
|
-
export { s as setNonce } from './index-
|
|
1
|
+
import { b as bootstrapLazy } from './index-FlgrrUDn.js';
|
|
2
|
+
export { s as setNonce } from './index-FlgrrUDn.js';
|
|
3
3
|
import { g as globalScripts } from './app-globals-DQuL1Twl.js';
|
|
4
4
|
|
|
5
5
|
const defineCustomElements = async (win, options) => {
|
|
@@ -260,6 +260,25 @@ export declare function setPlatformHelpers(helpers: {
|
|
|
260
260
|
* @returns the base path
|
|
261
261
|
*/
|
|
262
262
|
export declare function getAssetPath(path: string): string;
|
|
263
|
+
/**
|
|
264
|
+
* Method to render a virtual DOM tree to a container element.
|
|
265
|
+
*
|
|
266
|
+
* @example
|
|
267
|
+
* ```tsx
|
|
268
|
+
* import { render } from '@stencil/core';
|
|
269
|
+
*
|
|
270
|
+
* const vnode = (
|
|
271
|
+
* <div>
|
|
272
|
+
* <h1>Hello, world!</h1>
|
|
273
|
+
* </div>
|
|
274
|
+
* );
|
|
275
|
+
* render(vnode, document.body);
|
|
276
|
+
* ```
|
|
277
|
+
*
|
|
278
|
+
* @param vnode - The virtual DOM tree to render
|
|
279
|
+
* @param container - The container element to render the virtual DOM tree to
|
|
280
|
+
*/
|
|
281
|
+
export declare function render(vnode: VNode, container: Element): void;
|
|
263
282
|
/**
|
|
264
283
|
* Used to manually set the base path where assets can be found. For lazy-loaded
|
|
265
284
|
* builds the asset path is automatically set and assets copied to the correct
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@db-ux/wc-core-components",
|
|
3
|
-
"version": "2.0.
|
|
3
|
+
"version": "2.0.6",
|
|
4
4
|
"description": "Stencil components for @db-ux/core-components",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -30,7 +30,7 @@
|
|
|
30
30
|
},
|
|
31
31
|
"devDependencies": {
|
|
32
32
|
"@custom-elements-manifest/analyzer": "^0.10.4",
|
|
33
|
-
"@stencil/core": "4.
|
|
33
|
+
"@stencil/core": "4.30.0",
|
|
34
34
|
"cem-plugin-expanded-types": "^1.4.0",
|
|
35
35
|
"custom-element-jet-brains-integration": "^1.7.0",
|
|
36
36
|
"custom-element-vs-code-integration": "^1.5.0",
|
|
@@ -42,7 +42,7 @@
|
|
|
42
42
|
},
|
|
43
43
|
"web-types": "./dist/web-types.json",
|
|
44
44
|
"dependencies": {
|
|
45
|
-
"@db-ux/core-components": "2.0.
|
|
46
|
-
"@db-ux/core-foundations": "2.0.
|
|
45
|
+
"@db-ux/core-components": "2.0.6",
|
|
46
|
+
"@db-ux/core-foundations": "2.0.6"
|
|
47
47
|
}
|
|
48
48
|
}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{r as i,c as t,h as s}from"./p-BrqIMKjE.js";import{l as h,g as a,h as e,f as d,k as c}from"./p-DC9V_oNU.js";import{e as n,f as l,s as o,j as f,u as r,l as u,c as b}from"./p-TU0pfK1i.js";const v=class{constructor(s){i(this,s);this.change=t(this,"change");this.blur=t(this,"blur");this.focus=t(this,"focus");this.initialized=false;this._id=undefined;this._messageId=undefined;this._validMessageId=undefined;this._invalidMessageId=undefined;this._invalidMessage=undefined;this._descByIds="";this._voiceOverFallback=""}hasValidState(){var i;return!!((i=this.validMessage)!==null&&i!==void 0?i:this.validation==="valid")}handleValidation(){var i,t,s,a;if(!((i=this._ref)===null||i===void 0?void 0:i.validity.valid)||this.validation==="invalid"){this._descByIds=this._invalidMessageId;this._invalidMessage=this.invalidMessage||((t=this._ref)===null||t===void 0?void 0:t.validationMessage)||h;if(n()){this._voiceOverFallback=this._invalidMessage;l((()=>this._voiceOverFallback=""),1e3)}}else if(this.hasValidState()&&((s=this._ref)===null||s===void 0?void 0:s.validity.valid)&&this.required){this._descByIds=this._validMessageId;if(n()){this._voiceOverFallback=(a=this.validMessage)!==null&&a!==void 0?a:c;l((()=>this._voiceOverFallback=""),1e3)}}else if(o(this.message,this.showMessage)){this._descByIds=this._messageId}else{this._descByIds=""}}handleChange(i){if(this.change){this.change.emit(i)}this.handleValidation()}handleBlur(i){if(this.blur){this.blur.emit(i)}}handleFocus(i){if(this.focus){this.focus.emit(i)}}enableAttributePassing(i,t){const s=i===null||i===void 0?void 0:i.closest(t);if(i&&s){const t=s.attributes;for(let h=0;h<t.length;h++){const a=t.item(h);if(a&&(a.name.startsWith("data-")||a.name.startsWith("aria-"))){i.setAttribute(a.name,a.value);s.removeAttribute(a.name)}if(a&&a.name==="class"){const t=a.value.includes("hydrated");const h=a.value.replace("hydrated","").trim();const e=i.getAttribute("class");i.setAttribute(a.name,`${e?`${e} `:""}${h}`);if(t){s.setAttribute("class","hydrated")}else{s.removeAttribute(a.name)}}}}}watch0Fn(){var i;this._invalidMessage=this.invalidMessage||((i=this._ref)===null||i===void 0?void 0:i.validationMessage)||h}watch0(){this.watch0Fn()}watch1Fn(){if(this._id){const i=this._id+d;this._messageId=i;this._validMessageId=this._id+a;this._invalidMessageId=this._id+e;if(o(this.message,this.showMessage)){this._descByIds=i}}}watch1(){this.watch1Fn()}watch2Fn(){if(this._ref){if(this.indeterminate!==undefined){this._ref.indeterminate=!!f(this.indeterminate)}}}watch2(){this.watch2Fn()}watch3Fn(){if(this.initialized&&this._ref){if(this.checked!=undefined){this._ref.checked=!!f(this.checked)}this.initialized=false}}watch3(){this.watch3Fn()}componentDidLoad(){var i;this.enableAttributePassing(this._ref,"db-checkbox");this.initialized=true;const t=(i=this.id)!==null&&i!==void 0?i:`checkbox-${r()}`;this._id=t;this._messageId=t+d;this._validMessageId=t+a;this._invalidMessageId=t+e;this._invalidMessage=this.invalidMessage||h;this.watch0Fn();this.watch1Fn();this.watch2Fn();this.watch3Fn()}render(){return s("div",{key:"a1a0384951c739a12a75f9cd51afdbdfd51a9a2e",class:b("db-checkbox",this.className),"data-size":this.size,"data-hide-label":u(this.showLabel)},s("label",{key:"755ba3bd5bc761d2207eb8479fc367959a46e83b",htmlFor:this._id},s("input",{key:"9e4752cf34a51c4c1dd7de9de9438def286511dd",type:"checkbox","aria-invalid":this.validation==="invalid","data-custom-validity":this.validation,ref:i=>{this._ref=i},id:this._id,name:this.name,checked:f(this.checked,"checked"),disabled:f(this.disabled,"disabled"),value:this.value,required:f(this.required,"required"),onChange:i=>this.handleChange(i),onBlur:i=>this.handleBlur(i),onFocus:i=>this.handleFocus(i),"aria-describedby":this._descByIds}),this.label?this.label:s("slot",null)),o(this.message,this.showMessage)?s("db-infotext",{size:"small",icon:this.messageIcon,id:this._messageId},this.message):null,this.hasValidState()?s("db-infotext",{size:"small",semantic:"successful",id:this._validMessageId},this.validMessage||c):null,s("db-infotext",{key:"575d9eef92ce0b4198b19cccc00fc115542d2e18",size:"small",semantic:"critical",id:this._invalidMessageId},this._invalidMessage),s("span",{key:"7a448fe4a8b2b7266df32ebb895a4397030fb960","data-visually-hidden":"true",role:"status"},this._voiceOverFallback))}static get watchers(){return{_ref:["watch0","watch2","watch3"],invalidMessage:["watch0"],_id:["watch1"],initialized:["watch2","watch3"],indeterminate:["watch2"],checked:["watch3"]}}};export{v as db_checkbox};
|
|
2
|
-
//# sourceMappingURL=p-05e4221b.entry.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["DBCheckbox","constructor","hostRef","this","initialized","_id","undefined","_messageId","_validMessageId","_invalidMessageId","_invalidMessage","_descByIds","_voiceOverFallback","hasValidState","_a","validMessage","validation","handleValidation","_ref","validity","valid","invalidMessage","_b","validationMessage","DEFAULT_INVALID_MESSAGE","hasVoiceOver","delay","_c","required","_d","DEFAULT_VALID_MESSAGE","stringPropVisible","message","showMessage","handleChange","event","change","emit","handleBlur","blur","handleFocus","focus","enableAttributePassing","element","customElementSelector","parent","closest","attributes","i","length","attr","item","name","startsWith","setAttribute","value","removeAttribute","isWebComponent","includes","replace","trim","currentClass","getAttribute","watch0Fn","watch0","watch1Fn","messageId","DEFAULT_MESSAGE_ID_SUFFIX","DEFAULT_VALID_MESSAGE_ID_SUFFIX","DEFAULT_INVALID_MESSAGE_ID_SUFFIX","watch1","watch2Fn","indeterminate","getBoolean","watch2","watch3Fn","checked","watch3","componentDidLoad","mId","id","uuid","render","h","key","class","cls","className","size","getHideProp","showLabel","htmlFor","type","ref","el","disabled","onChange","onBlur","onFocus","label","icon","messageIcon","semantic","role"],"sources":["src/components/checkbox/checkbox.tsx"],"sourcesContent":["import { DBCheckboxProps, DBCheckboxState } from \"./model\";\nimport {\n DEFAULT_INVALID_MESSAGE,\n DEFAULT_INVALID_MESSAGE_ID_SUFFIX,\n DEFAULT_MESSAGE_ID_SUFFIX,\n DEFAULT_VALID_MESSAGE,\n DEFAULT_VALID_MESSAGE_ID_SUFFIX,\n} from \"../../shared/constants\";\nimport { ChangeEvent, InteractionEvent } from \"../../shared/model\";\nimport {\n handleFrameworkEventAngular,\n handleFrameworkEventVue,\n} from \"../../utils/form-components\";\nimport { DBInfotext } from \"../infotext/infotext\";\nimport {\n cls,\n delay,\n getBoolean,\n getHideProp,\n hasVoiceOver,\n stringPropVisible,\n uuid,\n} from \"../../utils\";\n\nimport {\n Component,\n h,\n Fragment,\n Watch,\n Event,\n EventEmitter,\n Prop,\n State,\n} from \"@stencil/core\";\n\n\n/**\n * @slot children - This is a default/unnamed slot\n\n */\n @Component({\n tag: \"db-checkbox\",\n})\nexport class DBCheckbox {\n private _ref!: HTMLInputElement | any;\n @Prop() id: DBCheckboxProps[\"id\"];\n @Prop() invalidMessage: DBCheckboxProps[\"invalidMessage\"];\n @Prop() message: DBCheckboxProps[\"message\"];\n @Prop() showMessage: DBCheckboxProps[\"showMessage\"];\n @Prop() indeterminate: DBCheckboxProps[\"indeterminate\"];\n @Prop() checked: DBCheckboxProps[\"checked\"];\n @Prop() validMessage: DBCheckboxProps[\"validMessage\"];\n @Prop() validation: DBCheckboxProps[\"validation\"];\n @Prop() required: DBCheckboxProps[\"required\"];\n @Event() change: EventEmitter<\n Parameters<Required<DBCheckboxProps>[\"onChange\"]>[number]\n > | void;\n @Event() blur: EventEmitter<\n Parameters<Required<DBCheckboxProps>[\"onBlur\"]>[number]\n > | void;\n @Event() focus: EventEmitter<\n Parameters<Required<DBCheckboxProps>[\"onFocus\"]>[number]\n > | void;\n @Prop({attribute: \"classname\"}) className: DBCheckboxProps[\"className\"];\n @Prop() size: DBCheckboxProps[\"size\"];\n @Prop() showLabel: DBCheckboxProps[\"showLabel\"];\n @Prop() name: DBCheckboxProps[\"name\"];\n @Prop() disabled: DBCheckboxProps[\"disabled\"];\n @Prop() value: DBCheckboxProps[\"value\"];\n @Prop() label: DBCheckboxProps[\"label\"];\n @Prop() messageIcon: DBCheckboxProps[\"messageIcon\"];\n @State() initialized = false;\n @State() _id = undefined;\n @State() _messageId = undefined;\n @State() _validMessageId = undefined;\n @State() _invalidMessageId = undefined;\n @State() _invalidMessage = undefined;\n @State() _descByIds = \"\";\n @State() _voiceOverFallback = \"\";\n\n hasValidState() {\n return !!(this.validMessage ?? this.validation === \"valid\");\n }\n handleValidation() {\n /* For a11y reasons we need to map the correct message with the checkbox */\n if (!this._ref?.validity.valid || this.validation === \"invalid\") {\n this._descByIds = this._invalidMessageId;\n this._invalidMessage =\n this.invalidMessage ||\n this._ref?.validationMessage ||\n DEFAULT_INVALID_MESSAGE;\n if (hasVoiceOver()) {\n this._voiceOverFallback = this._invalidMessage;\n delay(() => (this._voiceOverFallback = \"\"), 1000);\n }\n } else if (\n this.hasValidState() &&\n this._ref?.validity.valid &&\n this.required\n ) {\n this._descByIds = this._validMessageId;\n if (hasVoiceOver()) {\n this._voiceOverFallback = this.validMessage ?? DEFAULT_VALID_MESSAGE;\n delay(() => (this._voiceOverFallback = \"\"), 1000);\n }\n } else if (stringPropVisible(this.message, this.showMessage)) {\n this._descByIds = this._messageId;\n } else {\n this._descByIds = \"\";\n }\n }\n handleChange(event: ChangeEvent<HTMLInputElement>) {\n if (this.change) {\n this.change.emit(event);\n }\n this.handleValidation();\n }\n handleBlur(event: InteractionEvent<HTMLInputElement> | any) {\n if (this.blur) {\n this.blur.emit(event);\n }\n }\n handleFocus(event: InteractionEvent<HTMLInputElement> | any) {\n if (this.focus) {\n this.focus.emit(event);\n }\n }\n\n /**\n * Passes `aria-*`, `data-*` & `class` attributes to correct child. Used in angular and stencil.\n * @param element the ref for the component\n * @param customElementSelector the custom element like `my-component`\n */\n private enableAttributePassing(\n element: HTMLInputElement | null,\n customElementSelector: string\n ) {\n const parent = element?.closest(customElementSelector);\n if (element && parent) {\n const attributes = parent.attributes;\n for (let i = 0; i < attributes.length; i++) {\n const attr = attributes.item(i);\n if (\n attr &&\n (attr.name.startsWith(\"data-\") || attr.name.startsWith(\"aria-\"))\n ) {\n element.setAttribute(attr.name, attr.value);\n parent.removeAttribute(attr.name);\n }\n if (attr && attr.name === \"class\") {\n const isWebComponent = attr.value.includes(\"hydrated\");\n const value = attr.value.replace(\"hydrated\", \"\").trim();\n const currentClass = element.getAttribute(\"class\");\n element.setAttribute(\n attr.name,\n `${currentClass ? `${currentClass} ` : \"\"}${value}`\n );\n if (isWebComponent) {\n // Stencil is using this class for lazy loading component\n parent.setAttribute(\"class\", \"hydrated\");\n } else {\n parent.removeAttribute(attr.name);\n }\n }\n }\n }\n }\n\n watch0Fn() {\n this._invalidMessage =\n this.invalidMessage ||\n this._ref?.validationMessage ||\n DEFAULT_INVALID_MESSAGE;\n }\n\n @Watch(\"_ref\")\n @Watch(\"invalidMessage\")\n watch0() {\n this.watch0Fn();\n }\n\n watch1Fn() {\n if (this._id) {\n const messageId = this._id + DEFAULT_MESSAGE_ID_SUFFIX;\n this._messageId = messageId;\n this._validMessageId = this._id + DEFAULT_VALID_MESSAGE_ID_SUFFIX;\n this._invalidMessageId = this._id + DEFAULT_INVALID_MESSAGE_ID_SUFFIX;\n if (stringPropVisible(this.message, this.showMessage)) {\n this._descByIds = messageId;\n }\n }\n }\n\n @Watch(\"_id\")\n watch1() {\n this.watch1Fn();\n }\n\n watch2Fn() {\n if (this._ref) {\n if (this.indeterminate !== undefined) {\n // When indeterminate is set, the value of the checked prop only impacts the form submitted values.\n // It has no accessibility or UX implications. (https://mui.com/material-ui/react-checkbox/)\n this._ref.indeterminate = !!getBoolean(this.indeterminate);\n }\n }\n }\n\n @Watch(\"initialized\")\n @Watch(\"_ref\")\n @Watch(\"indeterminate\")\n watch2() {\n this.watch2Fn();\n }\n\n watch3Fn() {\n if (this.initialized && this._ref) {\n // in angular this must be set via native element\n if (this.checked != undefined) {\n this._ref.checked = !!getBoolean(this.checked);\n }\n this.initialized = false;\n }\n }\n\n @Watch(\"initialized\")\n @Watch(\"_ref\")\n @Watch(\"checked\")\n watch3() {\n this.watch3Fn();\n }\n\n componentDidLoad() {\n this.enableAttributePassing(this._ref, \"db-checkbox\");\n this.initialized = true;\n const mId = this.id ?? `checkbox-${uuid()}`;\n this._id = mId;\n this._messageId = mId + DEFAULT_MESSAGE_ID_SUFFIX;\n this._validMessageId = mId + DEFAULT_VALID_MESSAGE_ID_SUFFIX;\n this._invalidMessageId = mId + DEFAULT_INVALID_MESSAGE_ID_SUFFIX;\n this._invalidMessage = this.invalidMessage || DEFAULT_INVALID_MESSAGE;\n this.watch0Fn();\n this.watch1Fn();\n this.watch2Fn();\n this.watch3Fn();\n }\n\n render() {\n return (\n <div\n class={cls(\"db-checkbox\", this.className)}\n data-size={this.size}\n data-hide-label={getHideProp(this.showLabel)}\n >\n <label htmlFor={this._id}>\n <input\n type=\"checkbox\"\n aria-invalid={this.validation === \"invalid\"}\n data-custom-validity={this.validation}\n ref={(el: any) => {\n this._ref = el;\n }}\n id={this._id}\n name={this.name}\n checked={getBoolean(this.checked, \"checked\")}\n disabled={getBoolean(this.disabled, \"disabled\")}\n value={this.value}\n required={getBoolean(this.required, \"required\")}\n onChange={(event) => this.handleChange(event)}\n onBlur={(event) => this.handleBlur(event)}\n onFocus={(event) => this.handleFocus(event)}\n aria-describedby={this._descByIds}\n />\n {this.label ? this.label : <slot></slot>}\n </label>\n {stringPropVisible(this.message, this.showMessage) ? (\n <db-infotext\n size=\"small\"\n icon={this.messageIcon}\n id={this._messageId}\n >\n {this.message}\n </db-infotext>\n ) : null}\n {this.hasValidState() ? (\n <db-infotext\n size=\"small\"\n semantic=\"successful\"\n id={this._validMessageId}\n >\n {this.validMessage || DEFAULT_VALID_MESSAGE}\n </db-infotext>\n ) : null}\n <db-infotext\n size=\"small\"\n semantic=\"critical\"\n id={this._invalidMessageId}\n >\n {this._invalidMessage}\n </db-infotext>\n <span data-visually-hidden=\"true\" role=\"status\">\n {this._voiceOverFallback}\n </span>\n </div>\n );\n }\n}\n"],"mappings":"sMA2CaA,EAAU,MAHtB,WAAAC,CAAAC,G,2FA+BUC,KAAWC,YAAG,MACdD,KAAGE,IAAGC,UACNH,KAAUI,WAAGD,UACbH,KAAeK,gBAAGF,UAClBH,KAAiBM,kBAAGH,UACpBH,KAAeO,gBAAGJ,UAClBH,KAAUQ,WAAG,GACbR,KAAkBS,mBAAG,EAoO/B,CAlOC,aAAAC,G,MACE,UAAUC,EAAAX,KAAKY,gBAAgB,MAAAD,SAAA,EAAAA,EAAAX,KAAKa,aAAe,Q,CAErD,gBAAAC,G,YAEE,MAAKH,EAAAX,KAAKe,QAAI,MAAAJ,SAAA,SAAAA,EAAEK,SAASC,QAASjB,KAAKa,aAAe,UAAW,CAC/Db,KAAKQ,WAAaR,KAAKM,kBACvBN,KAAKO,gBACHP,KAAKkB,kBACLC,EAAAnB,KAAKe,QAAI,MAAAI,SAAA,SAAAA,EAAEC,oBACXC,EACF,GAAIC,IAAgB,CAClBtB,KAAKS,mBAAqBT,KAAKO,gBAC/BgB,GAAM,IAAOvB,KAAKS,mBAAqB,IAAK,I,OAEzC,GACLT,KAAKU,mBACLc,EAAAxB,KAAKe,QAAI,MAAAS,SAAA,SAAAA,EAAER,SAASC,QACpBjB,KAAKyB,SACL,CACAzB,KAAKQ,WAAaR,KAAKK,gBACvB,GAAIiB,IAAgB,CAClBtB,KAAKS,oBAAqBiB,EAAA1B,KAAKY,gBAAgB,MAAAc,SAAA,EAAAA,EAAAC,EAC/CJ,GAAM,IAAOvB,KAAKS,mBAAqB,IAAK,I,OAEzC,GAAImB,EAAkB5B,KAAK6B,QAAS7B,KAAK8B,aAAc,CAC5D9B,KAAKQ,WAAaR,KAAKI,U,KAClB,CACLJ,KAAKQ,WAAa,E,EAGtB,YAAAuB,CAAaC,GACX,GAAIhC,KAAKiC,OAAQ,CACfjC,KAAKiC,OAAOC,KAAKF,E,CAEnBhC,KAAKc,kB,CAEP,UAAAqB,CAAWH,GACT,GAAIhC,KAAKoC,KAAM,CACbpC,KAAKoC,KAAKF,KAAKF,E,EAGnB,WAAAK,CAAYL,GACV,GAAIhC,KAAKsC,MAAO,CACdtC,KAAKsC,MAAMJ,KAAKF,E,EASZ,sBAAAO,CACNC,EACAC,GAEA,MAAMC,EAASF,IAAO,MAAPA,SAAO,SAAPA,EAASG,QAAQF,GAChC,GAAID,GAAWE,EAAQ,CACrB,MAAME,EAAaF,EAAOE,WAC1B,IAAK,IAAIC,EAAI,EAAGA,EAAID,EAAWE,OAAQD,IAAK,CAC1C,MAAME,EAAOH,EAAWI,KAAKH,GAC7B,GACEE,IACCA,EAAKE,KAAKC,WAAW,UAAYH,EAAKE,KAAKC,WAAW,UACvD,CACAV,EAAQW,aAAaJ,EAAKE,KAAMF,EAAKK,OACrCV,EAAOW,gBAAgBN,EAAKE,K,CAE9B,GAAIF,GAAQA,EAAKE,OAAS,QAAS,CACjC,MAAMK,EAAiBP,EAAKK,MAAMG,SAAS,YAC3C,MAAMH,EAAQL,EAAKK,MAAMI,QAAQ,WAAY,IAAIC,OACjD,MAAMC,EAAelB,EAAQmB,aAAa,SAC1CnB,EAAQW,aACNJ,EAAKE,KACL,GAAGS,EAAe,GAAGA,KAAkB,KAAKN,KAE9C,GAAIE,EAAgB,CAElBZ,EAAOS,aAAa,QAAS,W,KACxB,CACLT,EAAOW,gBAAgBN,EAAKE,K,KAOtC,QAAAW,G,MACE5D,KAAKO,gBACHP,KAAKkB,kBACLP,EAAAX,KAAKe,QAAI,MAAAJ,SAAA,SAAAA,EAAES,oBACXC,C,CAKJ,MAAAwC,GACE7D,KAAK4D,U,CAGP,QAAAE,GACE,GAAI9D,KAAKE,IAAK,CACZ,MAAM6D,EAAY/D,KAAKE,IAAM8D,EAC7BhE,KAAKI,WAAa2D,EAClB/D,KAAKK,gBAAkBL,KAAKE,IAAM+D,EAClCjE,KAAKM,kBAAoBN,KAAKE,IAAMgE,EACpC,GAAItC,EAAkB5B,KAAK6B,QAAS7B,KAAK8B,aAAc,CACrD9B,KAAKQ,WAAauD,C,GAMxB,MAAAI,GACEnE,KAAK8D,U,CAGP,QAAAM,GACE,GAAIpE,KAAKe,KAAM,CACb,GAAIf,KAAKqE,gBAAkBlE,UAAW,CAGpCH,KAAKe,KAAKsD,gBAAkBC,EAAWtE,KAAKqE,c,GAQlD,MAAAE,GACEvE,KAAKoE,U,CAGP,QAAAI,GACE,GAAIxE,KAAKC,aAAeD,KAAKe,KAAM,CAEjC,GAAIf,KAAKyE,SAAWtE,UAAW,CAC7BH,KAAKe,KAAK0D,UAAYH,EAAWtE,KAAKyE,Q,CAExCzE,KAAKC,YAAc,K,EAOvB,MAAAyE,GACE1E,KAAKwE,U,CAGP,gBAAAG,G,MACE3E,KAAKuC,uBAAuBvC,KAAKe,KAAM,eACvCf,KAAKC,YAAc,KACnB,MAAM2E,GAAMjE,EAAAX,KAAK6E,MAAE,MAAAlE,SAAA,EAAAA,EAAI,YAAYmE,MACnC9E,KAAKE,IAAM0E,EACX5E,KAAKI,WAAawE,EAAMZ,EACxBhE,KAAKK,gBAAkBuE,EAAMX,EAC7BjE,KAAKM,kBAAoBsE,EAAMV,EAC/BlE,KAAKO,gBAAkBP,KAAKkB,gBAAkBG,EAC9CrB,KAAK4D,WACL5D,KAAK8D,WACL9D,KAAKoE,WACLpE,KAAKwE,U,CAGP,MAAAO,GACE,OACEC,EAAA,OAAAC,IAAA,2CACEC,MAAOC,EAAI,cAAenF,KAAKoF,WACpB,YAAApF,KAAKqF,KAAI,kBACHC,EAAYtF,KAAKuF,YAElCP,EAAA,SAAAC,IAAA,2CAAOO,QAASxF,KAAKE,KACnB8E,EAAA,SAAAC,IAAA,2CACEQ,KAAK,WAAU,eACDzF,KAAKa,aAAe,UAAS,uBACrBb,KAAKa,WAC3B6E,IAAMC,IACJ3F,KAAKe,KAAO4E,CAAE,EAEhBd,GAAI7E,KAAKE,IACT+C,KAAMjD,KAAKiD,KACXwB,QAASH,EAAWtE,KAAKyE,QAAS,WAClCmB,SAAUtB,EAAWtE,KAAK4F,SAAU,YACpCxC,MAAOpD,KAAKoD,MACZ3B,SAAU6C,EAAWtE,KAAKyB,SAAU,YACpCoE,SAAW7D,GAAUhC,KAAK+B,aAAaC,GACvC8D,OAAS9D,GAAUhC,KAAKmC,WAAWH,GACnC+D,QAAU/D,GAAUhC,KAAKqC,YAAYL,GACnB,mBAAAhC,KAAKQ,aAExBR,KAAKgG,MAAQhG,KAAKgG,MAAQhB,EAAA,cAE5BpD,EAAkB5B,KAAK6B,QAAS7B,KAAK8B,aACpCkD,EAAA,eACEK,KAAK,QACLY,KAAMjG,KAAKkG,YACXrB,GAAI7E,KAAKI,YAERJ,KAAK6B,SAEN,KACH7B,KAAKU,gBACJsE,EACE,eAAAK,KAAK,QACLc,SAAS,aACTtB,GAAI7E,KAAKK,iBAERL,KAAKY,cAAgBe,GAEtB,KACJqD,EAAA,eAAAC,IAAA,2CACEI,KAAK,QACLc,SAAS,WACTtB,GAAI7E,KAAKM,mBAERN,KAAKO,iBAERyE,EAAA,QAAAC,IAAA,kEAA2B,OAAOmB,KAAK,UACpCpG,KAAKS,oB","ignoreList":[]}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{r as t,c as i,h as s,F as a}from"./p-BrqIMKjE.js";import{u as o,c as n}from"./p-TU0pfK1i.js";const l=class{constructor(s){t(this,s);this.indexChange=i(this,"indexChange");this.tabSelect=i(this,"tabSelect");this._id="tabs-"+o();this._name="";this.initialized=false;this.showScrollLeft=false;this.showScrollRight=false;this.scrollContainer=null}convertTabs(){try{if(typeof this.tabs==="string"){return JSON.parse(this.tabs)}return this.tabs}catch(t){console.error(t)}return[]}evaluateScrollButtons(t){const i=t.scrollWidth>t.clientWidth;this.showScrollLeft=i&&t.scrollLeft>1;this.showScrollRight=i&&t.scrollLeft<t.scrollWidth-t.clientWidth}scroll(t){var i;let s=Number(this.arrowScrollDistance)||100;if(t){s*=-1}(i=this.scrollContainer)===null||i===void 0?void 0:i.scrollBy({top:0,left:s,behavior:"smooth"})}initTabList(){if(this._ref){const t=this._ref.querySelector(".db-tab-list");if(t){const i=t.querySelector('[role="tablist"]');if(i){i.setAttribute("aria-orientation",this.orientation||"horizontal");if(this.behavior==="arrows"){this.scrollContainer=i;this.evaluateScrollButtons(i);i.addEventListener("scroll",(()=>{this.evaluateScrollButtons(i)}))}}}}}initTabs(t){if(this._ref){const i=Array.from(this._ref.getElementsByClassName("db-tab-item"));for(const s of i){const a=i.indexOf(s);const o=s.querySelector("label");const n=s.querySelector("input");if(n&&o){if(!n.id){const t=`${this._name}-tab-${a}`;o.setAttribute("for",t);n.setAttribute("aria-controls",`${this._name}-tab-panel-${a}`);n.id=t;n.setAttribute("name",this._name)}if(t){const t=!this.initialSelectedMode||this.initialSelectedMode==="auto";const i=this.initialSelectedIndex==null&&a===0||Number(this.initialSelectedIndex)===a;if(t&&i){n.click()}}}}const s=Array.from(this._ref.querySelectorAll(":is(:scope > .db-tab-panel, :scope > db-tab-panel > .db-tab-panel)"));for(const t of s){if(t.id)continue;const i=s.indexOf(t);t.id=`${this._name}-tab-panel-${i}`;t.setAttribute("aria-labelledby",`${this._name}-tab-${i}`)}}}handleChange(t){var i,s;const a=(i=t.target)===null||i===void 0?void 0:i.closest("ul");const o=(s=t.target.closest("db-tab-item"))!==null&&s!==void 0?s:t.target.closest("li");if(a!==null&&o!==null){const t=Array.from(a.childNodes).indexOf(o);if(this.indexChange){this.indexChange.emit(t)}}if(this.tabSelect){this.tabSelect.emit(t)}}enableAttributePassing(t,i){const s=t===null||t===void 0?void 0:t.closest(i);if(t&&s){const i=s.attributes;for(let a=0;a<i.length;a++){const o=i.item(a);if(o&&(o.name.startsWith("data-")||o.name.startsWith("aria-"))){t.setAttribute(o.name,o.value);s.removeAttribute(o.name)}if(o&&o.name==="class"){const i=o.value.includes("hydrated");const a=o.value.replace("hydrated","").trim();const n=t.getAttribute("class");t.setAttribute(o.name,`${n?`${n} `:""}${a}`);if(i){s.setAttribute("class","hydrated")}else{s.removeAttribute(o.name)}}}}}watch0Fn(){if(this._ref&&this.initialized){this.initTabList();this.initTabs(true);const t=this._ref.querySelector(".db-tab-list");if(t){const i=new MutationObserver((t=>{t.forEach((t=>{if(t.removedNodes.length||t.addedNodes.length){this.initTabList();this.initTabs()}}))}));i.observe(t,{childList:true,subtree:true})}this.initialized=false}}watch0(){this.watch0Fn()}componentDidLoad(){this.enableAttributePassing(this._ref,"db-tabs");this._id=this.id||this._id;this._name=`tabs-${this.name||o()}`;this.initialized=true;this.watch0Fn()}render(){var t,i,o,l;return s("div",{key:"1d7ff48f630d7edfd6b0d1a27506306d7272a5bd",class:n("db-tabs",this.className),ref:t=>{this._ref=t},id:this._id,"data-orientation":this.orientation,"data-scroll-behavior":this.behavior,"data-alignment":(t=this.alignment)!==null&&t!==void 0?t:"start","data-width":(i=this.width)!==null&&i!==void 0?i:"auto",onInput:t=>this.handleChange(t)},this.showScrollLeft?s("db-button",{class:"tabs-scroll-left",variant:"ghost",icon:"chevron_left",type:"button",noText:true,onClick:()=>this.scroll(true)},"Scroll left"):null,this.tabs?s(a,null,s("db-tab-list",null,(o=this.convertTabs())===null||o===void 0?void 0:o.map(((t,i)=>s("db-tab-item",{key:this.name+"tab-item"+i,active:t.active,label:t.label,iconAfter:t.iconAfter,icon:t.icon,noText:t.noText})))),(l=this.convertTabs())===null||l===void 0?void 0:l.map(((t,i)=>s("db-tab-panel",{key:this.name+"tab-panel"+i,content:t.content},t.children)))):null,this.showScrollRight?s("db-button",{class:"tabs-scroll-right",variant:"ghost",icon:"chevron_right",type:"button",noText:true,onClick:()=>this.scroll()},"Scroll right"):null,s("slot",{key:"85289730878025ddc57daa494a3f15058a8f1a20"}))}static get watchers(){return{_ref:["watch0"],initialized:["watch0"]}}};export{l as db_tabs};
|
|
2
|
-
//# sourceMappingURL=p-4a4d54f5.entry.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["DBTabs","constructor","hostRef","this","_id","uuid","_name","initialized","showScrollLeft","showScrollRight","scrollContainer","convertTabs","tabs","JSON","parse","error","console","evaluateScrollButtons","tList","needsScroll","scrollWidth","clientWidth","scrollLeft","scroll","left","step","Number","arrowScrollDistance","_a","scrollBy","top","behavior","initTabList","_ref","tabList","querySelector","container","setAttribute","orientation","addEventListener","initTabs","init","tabItems","Array","from","getElementsByClassName","tabItem","index","indexOf","label","input","id","tabId","autoSelect","initialSelectedMode","shouldAutoSelect","initialSelectedIndex","click","tabPanels","querySelectorAll","panel","handleChange","event","list","target","closest","listItem","_b","indices","childNodes","indexChange","emit","tabSelect","enableAttributePassing","element","customElementSelector","parent","attributes","i","length","attr","item","name","startsWith","value","removeAttribute","isWebComponent","includes","replace","trim","currentClass","getAttribute","watch0Fn","observer","MutationObserver","mutations","forEach","mutation","removedNodes","addedNodes","observe","childList","subtree","watch0","componentDidLoad","render","h","key","class","cls","className","ref","el","alignment","width","onInput","variant","icon","type","noText","onClick","Fragment","_c","map","tab","active","iconAfter","_d","content","children"],"sources":["src/components/tabs/tabs.tsx"],"sourcesContent":["import { DBSimpleTabProps, DBTabsProps, DBTabsState } from \"./model\";\nimport { cls, uuid } from \"../../utils\";\nimport { DBButton } from \"../button/button\";\nimport { DBTabList } from \"../tab-list/tab-list\";\nimport { DBTabItem } from \"../tab-item/tab-item\";\nimport { DBTabPanel } from \"../tab-panel/tab-panel\";\n\nimport {\n Component,\n h,\n Fragment,\n Watch,\n Event,\n EventEmitter,\n Prop,\n State,\n} from \"@stencil/core\";\n\n\n/**\n * @slot children - This is a default/unnamed slot\n\n */\n @Component({\n tag: \"db-tabs\",\n})\nexport class DBTabs {\n private _ref!: HTMLDivElement | any;\n @Prop() id: DBTabsProps[\"id\"];\n @Prop() name: DBTabsProps[\"name\"];\n @Prop() tabs: DBTabsProps[\"tabs\"];\n @Prop() arrowScrollDistance: DBTabsProps[\"arrowScrollDistance\"];\n @Prop() orientation: DBTabsProps[\"orientation\"];\n @Prop() behavior: DBTabsProps[\"behavior\"];\n @Prop() initialSelectedMode: DBTabsProps[\"initialSelectedMode\"];\n @Prop() initialSelectedIndex: DBTabsProps[\"initialSelectedIndex\"];\n @Event() indexChange: EventEmitter<\n Parameters<Required<DBTabsProps>[\"onIndexChange\"]>[number]\n > | void;\n @Event() tabSelect: EventEmitter<\n Parameters<Required<DBTabsProps>[\"onTabSelect\"]>[number]\n > | void;\n @Prop({attribute: \"classname\"}) className: DBTabsProps[\"className\"];\n @Prop() alignment: DBTabsProps[\"alignment\"];\n @Prop() width: DBTabsProps[\"width\"];\n @State() _id = \"tabs-\" + uuid();\n @State() _name = \"\";\n @State() initialized = false;\n @State() showScrollLeft = false;\n @State() showScrollRight = false;\n @State() scrollContainer = null;\n\n convertTabs() {\n try {\n if (typeof this.tabs === \"string\") {\n return JSON.parse(this.tabs as string);\n }\n return this.tabs as DBSimpleTabProps[];\n } catch (error) {\n console.error(error);\n }\n return [];\n }\n evaluateScrollButtons(tList: Element) {\n const needsScroll = tList.scrollWidth > tList.clientWidth;\n this.showScrollLeft = needsScroll && tList.scrollLeft > 1;\n this.showScrollRight =\n needsScroll && tList.scrollLeft < tList.scrollWidth - tList.clientWidth;\n }\n scroll(left?: boolean) {\n let step = Number(this.arrowScrollDistance) || 100;\n if (left) {\n step *= -1;\n }\n this.scrollContainer?.scrollBy({\n top: 0,\n left: step,\n behavior: \"smooth\",\n });\n }\n initTabList() {\n if (this._ref) {\n const tabList = this._ref.querySelector(\".db-tab-list\");\n if (tabList) {\n const container: HTMLElement | null =\n tabList.querySelector('[role=\"tablist\"]');\n if (container) {\n container.setAttribute(\n \"aria-orientation\",\n this.orientation || \"horizontal\"\n );\n if (this.behavior === \"arrows\") {\n this.scrollContainer = container;\n this.evaluateScrollButtons(container);\n container.addEventListener(\"scroll\", () => {\n this.evaluateScrollButtons(container);\n });\n }\n }\n }\n }\n }\n initTabs(init?: boolean) {\n if (this._ref) {\n const tabItems = Array.from<Element>(\n this._ref.getElementsByClassName(\"db-tab-item\")\n );\n for (const tabItem of tabItems) {\n const index: number = tabItems.indexOf(tabItem);\n const label = tabItem.querySelector(\"label\");\n const input = tabItem.querySelector(\"input\");\n if (input && label) {\n if (!input.id) {\n const tabId = `${this._name}-tab-${index}`;\n label.setAttribute(\"for\", tabId);\n input.setAttribute(\n \"aria-controls\",\n `${this._name}-tab-panel-${index}`\n );\n input.id = tabId;\n input.setAttribute(\"name\", this._name);\n }\n if (init) {\n // Auto select\n const autoSelect =\n !this.initialSelectedMode || this.initialSelectedMode === \"auto\";\n const shouldAutoSelect =\n (this.initialSelectedIndex == null && index === 0) ||\n Number(this.initialSelectedIndex) === index;\n if (autoSelect && shouldAutoSelect) {\n input.click();\n }\n }\n }\n }\n const tabPanels = Array.from<Element>(\n this._ref.querySelectorAll(\n \":is(:scope > .db-tab-panel, :scope > db-tab-panel > .db-tab-panel)\"\n )\n );\n for (const panel of tabPanels) {\n if (panel.id) continue;\n const index: number = tabPanels.indexOf(panel);\n panel.id = `${this._name}-tab-panel-${index}`;\n panel.setAttribute(\"aria-labelledby\", `${this._name}-tab-${index}`);\n }\n }\n }\n handleChange(event: any) {\n const list = event.target?.closest(\"ul\");\n const listItem =\n // db-tab-item for angular and stencil wrapping elements\n event.target.closest(\"db-tab-item\") ?? event.target.closest(\"li\");\n if (list !== null && listItem !== null) {\n const indices = Array.from(list.childNodes).indexOf(listItem);\n if (this.indexChange) {\n this.indexChange.emit(indices);\n }\n }\n if (this.tabSelect) {\n this.tabSelect.emit(event);\n }\n }\n\n /**\n * Passes `aria-*`, `data-*` & `class` attributes to correct child. Used in angular and stencil.\n * @param element the ref for the component\n * @param customElementSelector the custom element like `my-component`\n */\n private enableAttributePassing(\n element: HTMLElement | null,\n customElementSelector: string\n ) {\n const parent = element?.closest(customElementSelector);\n if (element && parent) {\n const attributes = parent.attributes;\n for (let i = 0; i < attributes.length; i++) {\n const attr = attributes.item(i);\n if (\n attr &&\n (attr.name.startsWith(\"data-\") || attr.name.startsWith(\"aria-\"))\n ) {\n element.setAttribute(attr.name, attr.value);\n parent.removeAttribute(attr.name);\n }\n if (attr && attr.name === \"class\") {\n const isWebComponent = attr.value.includes(\"hydrated\");\n const value = attr.value.replace(\"hydrated\", \"\").trim();\n const currentClass = element.getAttribute(\"class\");\n element.setAttribute(\n attr.name,\n `${currentClass ? `${currentClass} ` : \"\"}${value}`\n );\n if (isWebComponent) {\n // Stencil is using this class for lazy loading component\n parent.setAttribute(\"class\", \"hydrated\");\n } else {\n parent.removeAttribute(attr.name);\n }\n }\n }\n }\n }\n\n watch0Fn() {\n if (this._ref && this.initialized) {\n this.initTabList();\n this.initTabs(true);\n const tabList = this._ref.querySelector(\".db-tab-list\");\n if (tabList) {\n const observer = new MutationObserver((mutations) => {\n mutations.forEach((mutation) => {\n if (mutation.removedNodes.length || mutation.addedNodes.length) {\n this.initTabList();\n this.initTabs();\n }\n });\n });\n observer.observe(tabList, {\n childList: true,\n subtree: true,\n });\n }\n this.initialized = false;\n }\n }\n\n @Watch(\"_ref\")\n @Watch(\"initialized\")\n watch0() {\n this.watch0Fn();\n }\n\n componentDidLoad() {\n this.enableAttributePassing(this._ref, \"db-tabs\");\n this._id = this.id || this._id;\n this._name = `tabs-${this.name || uuid()}`;\n this.initialized = true;\n this.watch0Fn();\n }\n\n render() {\n return (\n <div\n class={cls(\"db-tabs\", this.className)}\n ref={(el: any) => {\n this._ref = el;\n }}\n id={this._id}\n data-orientation={this.orientation}\n data-scroll-behavior={this.behavior}\n data-alignment={this.alignment ?? \"start\"}\n data-width={this.width ?? \"auto\"}\n onInput={(event) => this.handleChange(event)}\n >\n {this.showScrollLeft ? (\n <db-button\n class=\"tabs-scroll-left\"\n variant=\"ghost\"\n icon=\"chevron_left\"\n type=\"button\"\n noText={true}\n onClick={() => this.scroll(true)}\n >\n Scroll left\n </db-button>\n ) : null}\n {this.tabs ? (\n <Fragment>\n <db-tab-list>\n {this.convertTabs()?.map((tab, index) => (\n <db-tab-item\n key={this.name + \"tab-item\" + index}\n active={tab.active}\n label={tab.label}\n iconAfter={tab.iconAfter}\n icon={tab.icon}\n noText={tab.noText}\n ></db-tab-item>\n ))}\n </db-tab-list>\n {this.convertTabs()?.map((tab, index) => (\n <db-tab-panel\n key={this.name + \"tab-panel\" + index}\n content={tab.content}\n >\n {tab.children}\n </db-tab-panel>\n ))}\n </Fragment>\n ) : null}\n {this.showScrollRight ? (\n <db-button\n class=\"tabs-scroll-right\"\n variant=\"ghost\"\n icon=\"chevron_right\"\n type=\"button\"\n noText={true}\n onClick={() => this.scroll()}\n >\n Scroll right\n </db-button>\n ) : null}\n <slot></slot>\n </div>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{r as i,c as s,h as t}from"./p-BrqIMKjE.js";import{j as a,u as h,g as e,l as d,c}from"./p-TU0pfK1i.js";const l=class{constructor(t){i(this,t);this.change=s(this,"change");this.blur=s(this,"blur");this.focus=s(this,"focus");this._id=undefined;this._checked=false}handleChange(i){var s;if(this.change){this.change.emit(i)}this._checked=(s=i.target)===null||s===void 0?void 0:s["checked"]}handleBlur(i){if(this.blur){this.blur.emit(i)}}handleFocus(i){if(this.focus){this.focus.emit(i)}}enableAttributePassing(i,s){const t=i===null||i===void 0?void 0:i.closest(s);if(i&&t){const s=t.attributes;for(let a=0;a<s.length;a++){const h=s.item(a);if(h&&(h.name.startsWith("data-")||h.name.startsWith("aria-"))){i.setAttribute(h.name,h.value);t.removeAttribute(h.name)}if(h&&h.name==="class"){const s=h.value.includes("hydrated");const a=h.value.replace("hydrated","").trim();const e=i.getAttribute("class");i.setAttribute(h.name,`${e?`${e} `:""}${a}`);if(s){t.setAttribute("class","hydrated")}else{t.removeAttribute(h.name)}}}}}watch0Fn(){if(this.checked!==undefined&&this.checked!==null){this._checked=a(this.checked)}}watch0(){this.watch0Fn()}componentDidLoad(){var i;this.enableAttributePassing(this._ref,"db-switch");this._id=(i=this.id)!==null&&i!==void 0?i:`switch-${h()}`;this.watch0Fn()}render(){return t("label",{key:"08bff06725ef10c1decd8c33e34109cd3c488360",class:c("db-switch",this.className),"data-visual-aid":e(this.visualAid),"data-size":this.size,"data-hide-label":d(this.showLabel),"data-emphasis":this.emphasis,htmlFor:this._id},t("input",{key:"5cd7bd80d01bfc303fa13465aa49bb58f9a6a704",type:"checkbox",role:"switch",id:this._id,"aria-checked":e(this._checked),ref:i=>{this._ref=i},checked:a(this.checked,"checked"),value:this.value,disabled:a(this.disabled,"disabled"),"aria-describedby":this.describedbyid,"aria-invalid":this.validation==="invalid","data-custom-validity":this.validation,name:this.name,required:a(this.required,"required"),"data-aid-icon":this.icon,"data-aid-icon-after":this.iconAfter,onChange:i=>this.handleChange(i),onBlur:i=>this.handleBlur(i),onFocus:i=>this.handleFocus(i)}),this.label?this.label:t("slot",null))}static get watchers(){return{checked:["watch0"]}}};export{l as db_switch};
|
|
2
|
-
//# sourceMappingURL=p-56820fd1.entry.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["DBSwitch","constructor","hostRef","this","_id","undefined","_checked","handleChange","event","change","emit","_a","target","handleBlur","blur","handleFocus","focus","enableAttributePassing","element","customElementSelector","parent","closest","attributes","i","length","attr","item","name","startsWith","setAttribute","value","removeAttribute","isWebComponent","includes","replace","trim","currentClass","getAttribute","watch0Fn","checked","getBoolean","watch0","componentDidLoad","_ref","id","uuid","render","h","key","class","cls","className","getBooleanAsString","visualAid","size","getHideProp","showLabel","emphasis","htmlFor","type","role","ref","el","disabled","describedbyid","validation","required","icon","iconAfter","onChange","onBlur","onFocus","label"],"sources":["src/components/switch/switch.tsx"],"sourcesContent":["import { DBSwitchProps, DBSwitchState } from \"./model\";\nimport {\n cls,\n getBoolean,\n getBooleanAsString,\n getHideProp,\n uuid,\n} from \"../../utils\";\nimport { ChangeEvent, InteractionEvent } from \"../../shared/model\";\nimport {\n handleFrameworkEventAngular,\n handleFrameworkEventVue,\n} from \"../../utils/form-components\";\n\nimport {\n Component,\n h,\n Fragment,\n Watch,\n Event,\n EventEmitter,\n Prop,\n State,\n} from \"@stencil/core\";\n\n\n/**\n * @slot children - This is a default/unnamed slot\n\n */\n @Component({\n tag: \"db-switch\",\n})\nexport class DBSwitch {\n private _ref!: HTMLInputElement | any;\n @Prop() id: DBSwitchProps[\"id\"];\n @Prop() checked: DBSwitchProps[\"checked\"];\n @Event() change: EventEmitter<\n Parameters<Required<DBSwitchProps>[\"onChange\"]>[number]\n > | void;\n @Event() blur: EventEmitter<\n Parameters<Required<DBSwitchProps>[\"onBlur\"]>[number]\n > | void;\n @Event() focus: EventEmitter<\n Parameters<Required<DBSwitchProps>[\"onFocus\"]>[number]\n > | void;\n @Prop() visualAid: DBSwitchProps[\"visualAid\"];\n @Prop() size: DBSwitchProps[\"size\"];\n @Prop() showLabel: DBSwitchProps[\"showLabel\"];\n @Prop() emphasis: DBSwitchProps[\"emphasis\"];\n @Prop({attribute: \"classname\"}) className: DBSwitchProps[\"className\"];\n @Prop() value: DBSwitchProps[\"value\"];\n @Prop() disabled: DBSwitchProps[\"disabled\"];\n @Prop() describedbyid: DBSwitchProps[\"describedbyid\"];\n @Prop() validation: DBSwitchProps[\"validation\"];\n @Prop() name: DBSwitchProps[\"name\"];\n @Prop() required: DBSwitchProps[\"required\"];\n @Prop() icon: DBSwitchProps[\"icon\"];\n @Prop() iconAfter: DBSwitchProps[\"iconAfter\"];\n @Prop() label: DBSwitchProps[\"label\"];\n @State() _id = undefined;\n @State() _checked = false;\n\n handleChange(event: ChangeEvent<HTMLInputElement>) {\n if (this.change) {\n this.change.emit(event);\n }\n\n // We have different ts types in different frameworks, so we need to use any here\n this._checked = (event.target as any)?.[\"checked\"];\n }\n handleBlur(event: InteractionEvent<HTMLInputElement>) {\n if (this.blur) {\n this.blur.emit(event);\n }\n }\n handleFocus(event: InteractionEvent<HTMLInputElement>) {\n if (this.focus) {\n this.focus.emit(event);\n }\n }\n\n /**\n * Passes `aria-*`, `data-*` & `class` attributes to correct child. Used in angular and stencil.\n * @param element the ref for the component\n * @param customElementSelector the custom element like `my-component`\n */\n private enableAttributePassing(\n element: HTMLInputElement | null,\n customElementSelector: string\n ) {\n const parent = element?.closest(customElementSelector);\n if (element && parent) {\n const attributes = parent.attributes;\n for (let i = 0; i < attributes.length; i++) {\n const attr = attributes.item(i);\n if (\n attr &&\n (attr.name.startsWith(\"data-\") || attr.name.startsWith(\"aria-\"))\n ) {\n element.setAttribute(attr.name, attr.value);\n parent.removeAttribute(attr.name);\n }\n if (attr && attr.name === \"class\") {\n const isWebComponent = attr.value.includes(\"hydrated\");\n const value = attr.value.replace(\"hydrated\", \"\").trim();\n const currentClass = element.getAttribute(\"class\");\n element.setAttribute(\n attr.name,\n `${currentClass ? `${currentClass} ` : \"\"}${value}`\n );\n if (isWebComponent) {\n // Stencil is using this class for lazy loading component\n parent.setAttribute(\"class\", \"hydrated\");\n } else {\n parent.removeAttribute(attr.name);\n }\n }\n }\n }\n }\n\n watch0Fn() {\n if (this.checked !== undefined && this.checked !== null) {\n this._checked = getBoolean(this.checked);\n }\n }\n\n @Watch(\"checked\")\n watch0() {\n this.watch0Fn();\n }\n\n componentDidLoad() {\n this.enableAttributePassing(this._ref, \"db-switch\");\n this._id = this.id ?? `switch-${uuid()}`;\n this.watch0Fn();\n }\n\n render() {\n return (\n <label\n class={cls(\"db-switch\", this.className)}\n data-visual-aid={getBooleanAsString(this.visualAid)}\n data-size={this.size}\n data-hide-label={getHideProp(this.showLabel)}\n data-emphasis={this.emphasis}\n htmlFor={this._id}\n >\n <input\n type=\"checkbox\"\n role=\"switch\"\n id={this._id}\n aria-checked={getBooleanAsString(this._checked)}\n ref={(el: any) => {\n this._ref = el;\n }}\n checked={getBoolean(this.checked, \"checked\")}\n value={this.value}\n disabled={getBoolean(this.disabled, \"disabled\")}\n aria-describedby={this.describedbyid}\n aria-invalid={this.validation === \"invalid\"}\n data-custom-validity={this.validation}\n name={this.name}\n required={getBoolean(this.required, \"required\")}\n data-aid-icon={this.icon}\n data-aid-icon-after={this.iconAfter}\n onChange={(event) => this.handleChange(event)}\n onBlur={(event) => this.handleBlur(event)}\n onFocus={(event) => this.handleFocus(event)}\n />\n {this.label ? this.label : <slot></slot>}\n </label>\n );\n }\n}\n"],"mappings":"mHAiCaA,EAAQ,MAHpB,WAAAC,CAAAC,G,2FA8BUC,KAAGC,IAAGC,UACNF,KAAQG,SAAG,KAkHrB,CAhHC,YAAAC,CAAaC,G,MACX,GAAIL,KAAKM,OAAQ,CACfN,KAAKM,OAAOC,KAAKF,E,CAInBL,KAAKG,UAAYK,EAAAH,EAAMI,UAAc,MAAAD,SAAA,SAAAA,EAAG,U,CAE1C,UAAAE,CAAWL,GACT,GAAIL,KAAKW,KAAM,CACbX,KAAKW,KAAKJ,KAAKF,E,EAGnB,WAAAO,CAAYP,GACV,GAAIL,KAAKa,MAAO,CACdb,KAAKa,MAAMN,KAAKF,E,EASZ,sBAAAS,CACNC,EACAC,GAEA,MAAMC,EAASF,IAAO,MAAPA,SAAO,SAAPA,EAASG,QAAQF,GAChC,GAAID,GAAWE,EAAQ,CACrB,MAAME,EAAaF,EAAOE,WAC1B,IAAK,IAAIC,EAAI,EAAGA,EAAID,EAAWE,OAAQD,IAAK,CAC1C,MAAME,EAAOH,EAAWI,KAAKH,GAC7B,GACEE,IACCA,EAAKE,KAAKC,WAAW,UAAYH,EAAKE,KAAKC,WAAW,UACvD,CACAV,EAAQW,aAAaJ,EAAKE,KAAMF,EAAKK,OACrCV,EAAOW,gBAAgBN,EAAKE,K,CAE9B,GAAIF,GAAQA,EAAKE,OAAS,QAAS,CACjC,MAAMK,EAAiBP,EAAKK,MAAMG,SAAS,YAC3C,MAAMH,EAAQL,EAAKK,MAAMI,QAAQ,WAAY,IAAIC,OACjD,MAAMC,EAAelB,EAAQmB,aAAa,SAC1CnB,EAAQW,aACNJ,EAAKE,KACL,GAAGS,EAAe,GAAGA,KAAkB,KAAKN,KAE9C,GAAIE,EAAgB,CAElBZ,EAAOS,aAAa,QAAS,W,KACxB,CACLT,EAAOW,gBAAgBN,EAAKE,K,KAOtC,QAAAW,GACE,GAAInC,KAAKoC,UAAYlC,WAAaF,KAAKoC,UAAY,KAAM,CACvDpC,KAAKG,SAAWkC,EAAWrC,KAAKoC,Q,EAKpC,MAAAE,GACEtC,KAAKmC,U,CAGP,gBAAAI,G,MACEvC,KAAKc,uBAAuBd,KAAKwC,KAAM,aACvCxC,KAAKC,KAAMO,EAAAR,KAAKyC,MAAE,MAAAjC,SAAA,EAAAA,EAAI,UAAUkC,MAChC1C,KAAKmC,U,CAGP,MAAAQ,GACE,OACEC,EACE,SAAAC,IAAA,2CAAAC,MAAOC,EAAI,YAAa/C,KAAKgD,WAAU,kBACtBC,EAAmBjD,KAAKkD,WAC9B,YAAAlD,KAAKmD,KAAI,kBACHC,EAAYpD,KAAKqD,WACnB,gBAAArD,KAAKsD,SACpBC,QAASvD,KAAKC,KAEd2C,EACE,SAAAC,IAAA,2CAAAW,KAAK,WACLC,KAAK,SACLhB,GAAIzC,KAAKC,IAAG,eACEgD,EAAmBjD,KAAKG,UACtCuD,IAAMC,IACJ3D,KAAKwC,KAAOmB,CAAE,EAEhBvB,QAASC,EAAWrC,KAAKoC,QAAS,WAClCT,MAAO3B,KAAK2B,MACZiC,SAAUvB,EAAWrC,KAAK4D,SAAU,YAAW,mBAC7B5D,KAAK6D,cAAa,eACtB7D,KAAK8D,aAAe,UACZ,uBAAA9D,KAAK8D,WAC3BtC,KAAMxB,KAAKwB,KACXuC,SAAU1B,EAAWrC,KAAK+D,SAAU,YACrB,gBAAA/D,KAAKgE,KAAI,sBACHhE,KAAKiE,UAC1BC,SAAW7D,GAAUL,KAAKI,aAAaC,GACvC8D,OAAS9D,GAAUL,KAAKU,WAAWL,GACnC+D,QAAU/D,GAAUL,KAAKY,YAAYP,KAEtCL,KAAKqE,MAAQrE,KAAKqE,MAAQzB,EAAa,a","ignoreList":[]}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{r as t,c as s,h as i}from"./p-BrqIMKjE.js";import{l as a,g as e,c as r}from"./p-TU0pfK1i.js";const h=class{constructor(i){t(this,i);this.click=s(this,"click")}handleClick(t){if(this.click){this.click.emit(t)}}enableAttributePassing(t,s){const i=t===null||t===void 0?void 0:t.closest(s);if(t&&i){const s=i.attributes;for(let a=0;a<s.length;a++){const e=s.item(a);if(e&&(e.name.startsWith("data-")||e.name.startsWith("aria-"))){t.setAttribute(e.name,e.value);i.removeAttribute(e.name)}if(e&&e.name==="class"){const s=e.value.includes("hydrated");const a=e.value.replace("hydrated","").trim();const r=t.getAttribute("class");t.setAttribute(e.name,`${r?`${r} `:""}${a}`);if(s){i.setAttribute("class","hydrated")}else{i.removeAttribute(e.name)}}}}}componentDidLoad(){this.enableAttributePassing(this._ref,"db-link")}render(){var t;return i("a",{key:"9c01ce13bb93e66ad86a1a5f5fe0bea23ab3f8b0",class:r("db-link",this.className),ref:t=>{this._ref=t},id:this.id,href:this.href,target:this.target,rel:this.rel,role:this.role,hrefLang:this.hreflang,"aria-disabled":e(this.disabled),tabIndex:this.disabled?-1:0,"aria-selected":e(this.selected),"aria-label":this.label,"aria-current":this.current,"data-size":this.size,"data-hide-icon-after":a((t=this.showIcon)!==null&&t!==void 0?t:true),"data-variant":this.variant,"data-content":this.content||"internal",onClick:t=>this.handleClick(t)},this.text?this.text:i("slot",null))}};export{h as db_link};
|
|
2
|
-
//# sourceMappingURL=p-58f54658.entry.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["DBLink","handleClick","event","this","click","emit","enableAttributePassing","element","customElementSelector","parent","closest","attributes","i","length","attr","item","name","startsWith","setAttribute","value","removeAttribute","isWebComponent","includes","replace","trim","currentClass","getAttribute","componentDidLoad","_ref","render","h","key","class","cls","className","ref","el","id","href","target","rel","role","hrefLang","hreflang","getBooleanAsString","disabled","tabIndex","selected","label","current","size","getHideProp","_a","showIcon","variant","content","onClick","text"],"sources":["src/components/link/link.tsx"],"sourcesContent":["import { DBLinkProps, DBLinkState } from \"./model\";\nimport { cls, getBooleanAsString, getHideProp } from \"../../utils\";\nimport { ClickEvent } from \"../../shared/model\";\n\nimport {\n Component,\n h,\n Fragment,\n Event,\n EventEmitter,\n Prop,\n} from \"@stencil/core\";\n\n\n/**\n * @slot children - This is a default/unnamed slot\n\n */\n @Component({\n tag: \"db-link\",\n})\nexport class DBLink {\n private _ref!: HTMLAnchorElement | any;\n @Event() click: EventEmitter<\n Parameters<Required<DBLinkProps>[\"onClick\"]>[number]\n > | void;\n @Prop() id: DBLinkProps[\"id\"];\n @Prop({attribute: \"classname\"}) className: DBLinkProps[\"className\"];\n @Prop() href: DBLinkProps[\"href\"];\n @Prop() target: DBLinkProps[\"target\"];\n @Prop() rel: DBLinkProps[\"rel\"];\n @Prop() role: DBLinkProps[\"role\"];\n @Prop() hreflang: DBLinkProps[\"hreflang\"];\n @Prop() disabled: DBLinkProps[\"disabled\"];\n @Prop() selected: DBLinkProps[\"selected\"];\n @Prop() label: DBLinkProps[\"label\"];\n @Prop() current: DBLinkProps[\"current\"];\n @Prop() size: DBLinkProps[\"size\"];\n @Prop() showIcon: DBLinkProps[\"showIcon\"];\n @Prop() variant: DBLinkProps[\"variant\"];\n @Prop() content: DBLinkProps[\"content\"];\n @Prop() text: DBLinkProps[\"text\"];\n\n handleClick(event: ClickEvent<HTMLAnchorElement>) {\n if (this.click) {\n this.click.emit(event);\n }\n }\n\n /**\n * Passes `aria-*`, `data-*` & `class` attributes to correct child. Used in angular and stencil.\n * @param element the ref for the component\n * @param customElementSelector the custom element like `my-component`\n */\n private enableAttributePassing(\n element: HTMLElement | null,\n customElementSelector: string\n ) {\n const parent = element?.closest(customElementSelector);\n if (element && parent) {\n const attributes = parent.attributes;\n for (let i = 0; i < attributes.length; i++) {\n const attr = attributes.item(i);\n if (\n attr &&\n (attr.name.startsWith(\"data-\") || attr.name.startsWith(\"aria-\"))\n ) {\n element.setAttribute(attr.name, attr.value);\n parent.removeAttribute(attr.name);\n }\n if (attr && attr.name === \"class\") {\n const isWebComponent = attr.value.includes(\"hydrated\");\n const value = attr.value.replace(\"hydrated\", \"\").trim();\n const currentClass = element.getAttribute(\"class\");\n element.setAttribute(\n attr.name,\n `${currentClass ? `${currentClass} ` : \"\"}${value}`\n );\n if (isWebComponent) {\n // Stencil is using this class for lazy loading component\n parent.setAttribute(\"class\", \"hydrated\");\n } else {\n parent.removeAttribute(attr.name);\n }\n }\n }\n }\n }\n\n componentDidLoad() {\n this.enableAttributePassing(this._ref, \"db-link\");\n }\n\n render() {\n return (\n <a\n class={cls(\"db-link\", this.className)}\n ref={(el: any) => {\n this._ref = el;\n }}\n id={this.id}\n href={this.href}\n target={this.target}\n rel={this.rel}\n role={this.role}\n hrefLang={this.hreflang}\n aria-disabled={getBooleanAsString(this.disabled)}\n tabIndex={this.disabled ? -1 : 0}\n aria-selected={getBooleanAsString(this.selected)}\n aria-label={this.label}\n aria-current={this.current}\n data-size={this.size}\n data-hide-icon-after={getHideProp(this.showIcon ?? true)}\n data-variant={this.variant}\n data-content={this.content || \"internal\"}\n onClick={(event) => this.handleClick(event)}\n >\n {this.text ? this.text : <slot></slot>}\n </a>\n );\n }\n}\n"],"mappings":"0GAqBaA,EAAM,M,oDAsBjB,WAAAC,CAAYC,GACV,GAAIC,KAAKC,MAAO,CACdD,KAAKC,MAAMC,KAAKH,E,EASZ,sBAAAI,CACNC,EACAC,GAEA,MAAMC,EAASF,IAAO,MAAPA,SAAO,SAAPA,EAASG,QAAQF,GAChC,GAAID,GAAWE,EAAQ,CACrB,MAAME,EAAaF,EAAOE,WAC1B,IAAK,IAAIC,EAAI,EAAGA,EAAID,EAAWE,OAAQD,IAAK,CAC1C,MAAME,EAAOH,EAAWI,KAAKH,GAC7B,GACEE,IACCA,EAAKE,KAAKC,WAAW,UAAYH,EAAKE,KAAKC,WAAW,UACvD,CACAV,EAAQW,aAAaJ,EAAKE,KAAMF,EAAKK,OACrCV,EAAOW,gBAAgBN,EAAKE,K,CAE9B,GAAIF,GAAQA,EAAKE,OAAS,QAAS,CACjC,MAAMK,EAAiBP,EAAKK,MAAMG,SAAS,YAC3C,MAAMH,EAAQL,EAAKK,MAAMI,QAAQ,WAAY,IAAIC,OACjD,MAAMC,EAAelB,EAAQmB,aAAa,SAC1CnB,EAAQW,aACNJ,EAAKE,KACL,GAAGS,EAAe,GAAGA,KAAkB,KAAKN,KAE9C,GAAIE,EAAgB,CAElBZ,EAAOS,aAAa,QAAS,W,KACxB,CACLT,EAAOW,gBAAgBN,EAAKE,K,KAOtC,gBAAAW,GACExB,KAAKG,uBAAuBH,KAAKyB,KAAM,U,CAGzC,MAAAC,G,MACE,OACEC,EACE,KAAAC,IAAA,2CAAAC,MAAOC,EAAI,UAAW9B,KAAK+B,WAC3BC,IAAMC,IACJjC,KAAKyB,KAAOQ,CAAE,EAEhBC,GAAIlC,KAAKkC,GACTC,KAAMnC,KAAKmC,KACXC,OAAQpC,KAAKoC,OACbC,IAAKrC,KAAKqC,IACVC,KAAMtC,KAAKsC,KACXC,SAAUvC,KAAKwC,SACA,gBAAAC,EAAmBzC,KAAK0C,UACvCC,SAAU3C,KAAK0C,UAAW,EAAK,EAChB,gBAAAD,EAAmBzC,KAAK4C,UAC3B,aAAA5C,KAAK6C,MACH,eAAA7C,KAAK8C,QACR,YAAA9C,KAAK+C,KACM,uBAAAC,GAAYC,EAAAjD,KAAKkD,YAAQ,MAAAD,SAAA,EAAAA,EAAI,MACrC,eAAAjD,KAAKmD,QACL,eAAAnD,KAAKoD,SAAW,WAC9BC,QAAUtD,GAAUC,KAAKF,YAAYC,IAEpCC,KAAKsD,KAAOtD,KAAKsD,KAAO3B,EAAa,a","ignoreList":[]}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{r as i,c as t,h as s}from"./p-BrqIMKjE.js";import{e as h,f as a,s as e,u as d,k as l,j as n,l as r,c}from"./p-TU0pfK1i.js";import{l as o,g as u,h as f,f as v,k as b,b as m,r as p,a as y}from"./p-DC9V_oNU.js";const w=class{constructor(s){i(this,s);this.input=t(this,"input");this.change=t(this,"change");this.blur=t(this,"blur");this.focus=t(this,"focus");this._id=undefined;this._messageId=undefined;this._validMessageId=undefined;this._invalidMessageId=undefined;this._invalidMessage=undefined;this._descByIds="";this._value="";this._voiceOverFallback=""}hasValidState(){var i;return!!((i=this.validMessage)!==null&&i!==void 0?i:this.validation==="valid")}handleValidation(){var i,t,s,d;if(!((i=this._ref)===null||i===void 0?void 0:i.validity.valid)||this.validation==="invalid"){this._descByIds=this._invalidMessageId;this._invalidMessage=this.invalidMessage||((t=this._ref)===null||t===void 0?void 0:t.validationMessage)||o;if(h()){this._voiceOverFallback=this._invalidMessage;a((()=>this._voiceOverFallback=""),1e3)}}else if(this.hasValidState()&&((s=this._ref)===null||s===void 0?void 0:s.validity.valid)&&(this.required||this.minLength||this.maxLength)){this._descByIds=this._validMessageId;if(h()){this._voiceOverFallback=(d=this.validMessage)!==null&&d!==void 0?d:b;a((()=>this._voiceOverFallback=""),1e3)}}else if(e(this.message,this.showMessage)){this._descByIds=this._messageId}else{this._descByIds=""}}handleInput(i){if(this.input){this.input.emit(i)}this.handleValidation()}handleChange(i){if(this.change){this.change.emit(i)}this.handleValidation()}handleBlur(i){if(this.blur){this.blur.emit(i)}}handleFocus(i){if(this.focus){this.focus.emit(i)}}enableAttributePassing(i,t){const s=i===null||i===void 0?void 0:i.closest(t);if(i&&s){const t=s.attributes;for(let h=0;h<t.length;h++){const a=t.item(h);if(a&&(a.name.startsWith("data-")||a.name.startsWith("aria-"))){i.setAttribute(a.name,a.value);s.removeAttribute(a.name)}if(a&&a.name==="class"){const t=a.value.includes("hydrated");const h=a.value.replace("hydrated","").trim();const e=i.getAttribute("class");i.setAttribute(a.name,`${e?`${e} `:""}${h}`);if(t){s.setAttribute("class","hydrated")}else{s.removeAttribute(a.name)}}}}}watch0Fn(){var i;this._invalidMessage=this.invalidMessage||((i=this._ref)===null||i===void 0?void 0:i.validationMessage)||o}watch0(){this.watch0Fn()}watch1Fn(){if(this._id){const i=this._id+v;this._messageId=i;this._validMessageId=this._id+u;this._invalidMessageId=this._id+f;if(e(this.message,this.showMessage)){this._descByIds=i}}}watch1(){this.watch1Fn()}watch2Fn(){this._value=this.value}watch2(){this.watch2Fn()}componentDidLoad(){var i;this.enableAttributePassing(this._ref,"db-textarea");const t=(i=this.id)!==null&&i!==void 0?i:`textarea-${d()}`;this._id=t;this._messageId=t+v;this._validMessageId=t+u;this._invalidMessageId=t+f;this._invalidMessage=this.invalidMessage||o;this.watch0Fn();this.watch1Fn();this.watch2Fn()}render(){var i,t,h;return s("div",{key:"c4cb30285eb559a4a189603e4612a5db99d419e7",class:c("db-textarea",this.className),"data-variant":this.variant,"data-hide-label":r(this.showLabel)},s("label",{key:"462381d033db0e1279ac4727a7b47a7c40f20d36",htmlFor:this._id},(i=this.label)!==null&&i!==void 0?i:y),s("textarea",{key:"fb683dba57fbd656e3847d9440fe704e39623991","aria-invalid":this.validation==="invalid","data-custom-validity":this.validation,ref:i=>{this._ref=i},id:this._id,"data-resize":this.resize,disabled:n(this.disabled,"disabled"),required:n(this.required,"required"),readOnly:n(this.readOnly,"readOnly")||n(this.readonly,"readonly"),form:this.form,maxLength:l(this.maxLength,this.maxlength),minLength:l(this.minLength,this.minlength),name:this.name,wrap:this.wrap,spellcheck:this.spellCheck,autocomplete:this.autocomplete,onInput:i=>this.handleInput(i),onChange:i=>this.handleChange(i),onBlur:i=>this.handleBlur(i),onFocus:i=>this.handleFocus(i),value:(t=this.value)!==null&&t!==void 0?t:this._value,"aria-describedby":this._descByIds,placeholder:(h=this.placeholder)!==null&&h!==void 0?h:m,rows:l(this.rows,p),cols:l(this.cols)}),e(this.message,this.showMessage)?s("db-infotext",{size:"small",icon:this.messageIcon,id:this._messageId},this.message):null,this.hasValidState()?s("db-infotext",{size:"small",semantic:"successful",id:this._validMessageId},this.validMessage||b):null,s("db-infotext",{key:"9195e63cdc73b8a07400c5ae35dcfdf60300b8c0",size:"small",semantic:"critical",id:this._invalidMessageId},this._invalidMessage),s("span",{key:"67de9f51077ca34ed7fa6b88649cb7b22686ac75","data-visually-hidden":"true",role:"status"},this._voiceOverFallback))}static get watchers(){return{_ref:["watch0"],invalidMessage:["watch0"],_id:["watch1"],value:["watch2"]}}};export{w as db_textarea};
|
|
2
|
-
//# sourceMappingURL=p-5ba94eed.entry.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["DBTextarea","constructor","hostRef","this","_id","undefined","_messageId","_validMessageId","_invalidMessageId","_invalidMessage","_descByIds","_value","_voiceOverFallback","hasValidState","_a","validMessage","validation","handleValidation","_ref","validity","valid","invalidMessage","_b","validationMessage","DEFAULT_INVALID_MESSAGE","hasVoiceOver","delay","_c","required","minLength","maxLength","_d","DEFAULT_VALID_MESSAGE","stringPropVisible","message","showMessage","handleInput","event","input","emit","handleChange","change","handleBlur","blur","handleFocus","focus","enableAttributePassing","element","customElementSelector","parent","closest","attributes","i","length","attr","item","name","startsWith","setAttribute","value","removeAttribute","isWebComponent","includes","replace","trim","currentClass","getAttribute","watch0Fn","watch0","watch1Fn","messageId","DEFAULT_MESSAGE_ID_SUFFIX","DEFAULT_VALID_MESSAGE_ID_SUFFIX","DEFAULT_INVALID_MESSAGE_ID_SUFFIX","watch1","watch2Fn","watch2","componentDidLoad","mId","id","uuid","render","h","key","class","cls","className","variant","getHideProp","showLabel","htmlFor","label","DEFAULT_LABEL","ref","el","resize","disabled","getBoolean","readOnly","readonly","form","getNumber","maxlength","minlength","wrap","spellcheck","spellCheck","autocomplete","onInput","onChange","onBlur","onFocus","placeholder","DEFAULT_PLACEHOLDER","rows","DEFAULT_ROWS","cols","size","icon","messageIcon","semantic","role"],"sources":["src/components/textarea/textarea.tsx"],"sourcesContent":["import { DBTextareaProps, DBTextareaState } from \"./model\";\nimport { DBInfotext } from \"../infotext/infotext\";\nimport {\n cls,\n delay,\n getBoolean,\n getHideProp,\n getNumber,\n hasVoiceOver,\n stringPropVisible,\n uuid,\n} from \"../../utils\";\nimport {\n DEFAULT_INVALID_MESSAGE,\n DEFAULT_INVALID_MESSAGE_ID_SUFFIX,\n DEFAULT_LABEL,\n DEFAULT_MESSAGE_ID_SUFFIX,\n DEFAULT_PLACEHOLDER,\n DEFAULT_ROWS,\n DEFAULT_VALID_MESSAGE,\n DEFAULT_VALID_MESSAGE_ID_SUFFIX,\n} from \"../../shared/constants\";\nimport { ChangeEvent, InputEvent, InteractionEvent } from \"../../shared/model\";\nimport {\n handleFrameworkEventAngular,\n handleFrameworkEventVue,\n} from \"../../utils/form-components\";\n\nimport {\n Component,\n h,\n Fragment,\n Watch,\n Event,\n EventEmitter,\n Prop,\n State,\n} from \"@stencil/core\";\n\n\n/**\n * @slot children - This is a default/unnamed slot\n\n */\n @Component({\n tag: \"db-textarea\",\n})\nexport class DBTextarea {\n private _ref!: HTMLTextAreaElement | any;\n @Prop() id: DBTextareaProps[\"id\"];\n @Prop() invalidMessage: DBTextareaProps[\"invalidMessage\"];\n @Prop() message: DBTextareaProps[\"message\"];\n @Prop() showMessage: DBTextareaProps[\"showMessage\"];\n @Prop() value: DBTextareaProps[\"value\"];\n @Prop() validMessage: DBTextareaProps[\"validMessage\"];\n @Prop() validation: DBTextareaProps[\"validation\"];\n @Prop() required: DBTextareaProps[\"required\"];\n @Prop() minLength: DBTextareaProps[\"minLength\"];\n @Prop() maxLength: DBTextareaProps[\"maxLength\"];\n @Event() input: EventEmitter<\n Parameters<Required<DBTextareaProps>[\"onInput\"]>[number]\n > | void;\n @Event() change: EventEmitter<\n Parameters<Required<DBTextareaProps>[\"onChange\"]>[number]\n > | void;\n @Event() blur: EventEmitter<\n Parameters<Required<DBTextareaProps>[\"onBlur\"]>[number]\n > | void;\n @Event() focus: EventEmitter<\n Parameters<Required<DBTextareaProps>[\"onFocus\"]>[number]\n > | void;\n @Prop({attribute: \"classname\"}) className: DBTextareaProps[\"className\"];\n @Prop() variant: DBTextareaProps[\"variant\"];\n @Prop() showLabel: DBTextareaProps[\"showLabel\"];\n @Prop() label: DBTextareaProps[\"label\"];\n @Prop() resize: DBTextareaProps[\"resize\"];\n @Prop() disabled: DBTextareaProps[\"disabled\"];\n @Prop() readOnly: DBTextareaProps[\"readOnly\"];\n @Prop() readonly: DBTextareaProps[\"readonly\"];\n @Prop() form: DBTextareaProps[\"form\"];\n @Prop() maxlength: DBTextareaProps[\"maxlength\"];\n @Prop() minlength: DBTextareaProps[\"minlength\"];\n @Prop() name: DBTextareaProps[\"name\"];\n @Prop() wrap: DBTextareaProps[\"wrap\"];\n @Prop() spellCheck: DBTextareaProps[\"spellCheck\"];\n @Prop() autocomplete: DBTextareaProps[\"autocomplete\"];\n @Prop() placeholder: DBTextareaProps[\"placeholder\"];\n @Prop() rows: DBTextareaProps[\"rows\"];\n @Prop() cols: DBTextareaProps[\"cols\"];\n @Prop() messageIcon: DBTextareaProps[\"messageIcon\"];\n @State() _id = undefined;\n @State() _messageId = undefined;\n @State() _validMessageId = undefined;\n @State() _invalidMessageId = undefined;\n @State() _invalidMessage = undefined;\n @State() _descByIds = \"\";\n @State() _value = \"\";\n @State() _voiceOverFallback = \"\";\n\n hasValidState() {\n return !!(this.validMessage ?? this.validation === \"valid\");\n }\n handleValidation() {\n /* For a11y reasons we need to map the correct message with the textarea */\n if (!this._ref?.validity.valid || this.validation === \"invalid\") {\n this._descByIds = this._invalidMessageId;\n this._invalidMessage =\n this.invalidMessage ||\n this._ref?.validationMessage ||\n DEFAULT_INVALID_MESSAGE;\n if (hasVoiceOver()) {\n this._voiceOverFallback = this._invalidMessage;\n delay(() => (this._voiceOverFallback = \"\"), 1000);\n }\n } else if (\n this.hasValidState() &&\n this._ref?.validity.valid &&\n (this.required || this.minLength || this.maxLength)\n ) {\n this._descByIds = this._validMessageId;\n if (hasVoiceOver()) {\n this._voiceOverFallback = this.validMessage ?? DEFAULT_VALID_MESSAGE;\n delay(() => (this._voiceOverFallback = \"\"), 1000);\n }\n } else if (stringPropVisible(this.message, this.showMessage)) {\n this._descByIds = this._messageId;\n } else {\n this._descByIds = \"\";\n }\n }\n handleInput(event: InputEvent<HTMLTextAreaElement>) {\n if (this.input) {\n this.input.emit(event);\n }\n this.handleValidation();\n }\n handleChange(event: ChangeEvent<HTMLTextAreaElement>) {\n if (this.change) {\n this.change.emit(event);\n }\n this.handleValidation();\n }\n handleBlur(event: InteractionEvent<HTMLTextAreaElement> | any) {\n if (this.blur) {\n this.blur.emit(event);\n }\n }\n handleFocus(event: InteractionEvent<HTMLTextAreaElement> | any) {\n if (this.focus) {\n this.focus.emit(event);\n }\n }\n\n /**\n * Passes `aria-*`, `data-*` & `class` attributes to correct child. Used in angular and stencil.\n * @param element the ref for the component\n * @param customElementSelector the custom element like `my-component`\n */\n private enableAttributePassing(\n element: HTMLTextAreaElement | null,\n customElementSelector: string\n ) {\n const parent = element?.closest(customElementSelector);\n if (element && parent) {\n const attributes = parent.attributes;\n for (let i = 0; i < attributes.length; i++) {\n const attr = attributes.item(i);\n if (\n attr &&\n (attr.name.startsWith(\"data-\") || attr.name.startsWith(\"aria-\"))\n ) {\n element.setAttribute(attr.name, attr.value);\n parent.removeAttribute(attr.name);\n }\n if (attr && attr.name === \"class\") {\n const isWebComponent = attr.value.includes(\"hydrated\");\n const value = attr.value.replace(\"hydrated\", \"\").trim();\n const currentClass = element.getAttribute(\"class\");\n element.setAttribute(\n attr.name,\n `${currentClass ? `${currentClass} ` : \"\"}${value}`\n );\n if (isWebComponent) {\n // Stencil is using this class for lazy loading component\n parent.setAttribute(\"class\", \"hydrated\");\n } else {\n parent.removeAttribute(attr.name);\n }\n }\n }\n }\n }\n\n watch0Fn() {\n this._invalidMessage =\n this.invalidMessage ||\n this._ref?.validationMessage ||\n DEFAULT_INVALID_MESSAGE;\n }\n\n @Watch(\"_ref\")\n @Watch(\"invalidMessage\")\n watch0() {\n this.watch0Fn();\n }\n\n watch1Fn() {\n if (this._id) {\n const messageId = this._id + DEFAULT_MESSAGE_ID_SUFFIX;\n this._messageId = messageId;\n this._validMessageId = this._id + DEFAULT_VALID_MESSAGE_ID_SUFFIX;\n this._invalidMessageId = this._id + DEFAULT_INVALID_MESSAGE_ID_SUFFIX;\n if (stringPropVisible(this.message, this.showMessage)) {\n this._descByIds = messageId;\n }\n }\n }\n\n @Watch(\"_id\")\n watch1() {\n this.watch1Fn();\n }\n\n watch2Fn() {\n this._value = this.value;\n }\n\n @Watch(\"value\")\n watch2() {\n this.watch2Fn();\n }\n\n componentDidLoad() {\n this.enableAttributePassing(this._ref, \"db-textarea\");\n const mId = this.id ?? `textarea-${uuid()}`;\n this._id = mId;\n this._messageId = mId + DEFAULT_MESSAGE_ID_SUFFIX;\n this._validMessageId = mId + DEFAULT_VALID_MESSAGE_ID_SUFFIX;\n this._invalidMessageId = mId + DEFAULT_INVALID_MESSAGE_ID_SUFFIX;\n this._invalidMessage = this.invalidMessage || DEFAULT_INVALID_MESSAGE;\n this.watch0Fn();\n this.watch1Fn();\n this.watch2Fn();\n }\n\n render() {\n return (\n <div\n class={cls(\"db-textarea\", this.className)}\n data-variant={this.variant}\n data-hide-label={getHideProp(this.showLabel)}\n >\n <label htmlFor={this._id}>{this.label ?? DEFAULT_LABEL}</label>\n <textarea\n aria-invalid={this.validation === \"invalid\"}\n data-custom-validity={this.validation}\n ref={(el: any) => {\n this._ref = el;\n }}\n id={this._id}\n data-resize={this.resize}\n disabled={getBoolean(this.disabled, \"disabled\")}\n required={getBoolean(this.required, \"required\")}\n readOnly={\n getBoolean(this.readOnly, \"readOnly\") ||\n getBoolean(this.readonly, \"readonly\")\n }\n form={this.form}\n maxLength={getNumber(this.maxLength, this.maxlength)}\n minLength={getNumber(this.minLength, this.minlength)}\n name={this.name}\n wrap={this.wrap}\n spellcheck={this.spellCheck}\n autocomplete={this.autocomplete}\n onInput={(event) => this.handleInput(event)}\n onChange={(event) => this.handleChange(event)}\n onBlur={(event) => this.handleBlur(event)}\n onFocus={(event) => this.handleFocus(event)}\n value={this.value ?? this._value}\n aria-describedby={this._descByIds}\n placeholder={this.placeholder ?? DEFAULT_PLACEHOLDER}\n rows={getNumber(this.rows, DEFAULT_ROWS)}\n cols={getNumber(this.cols)}\n ></textarea>\n {stringPropVisible(this.message, this.showMessage) ? (\n <db-infotext\n size=\"small\"\n icon={this.messageIcon}\n id={this._messageId}\n >\n {this.message}\n </db-infotext>\n ) : null}\n {this.hasValidState() ? (\n <db-infotext\n size=\"small\"\n semantic=\"successful\"\n id={this._validMessageId}\n >\n {this.validMessage || DEFAULT_VALID_MESSAGE}\n </db-infotext>\n ) : null}\n <db-infotext\n size=\"small\"\n semantic=\"critical\"\n id={this._invalidMessageId}\n >\n {this._invalidMessage}\n </db-infotext>\n <span data-visually-hidden=\"true\" role=\"status\">\n {this._voiceOverFallback}\n </span>\n </div>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{r as i,c as t,h as s,F as a}from"./p-BrqIMKjE.js";import{u as h,f as n,j as e,g as o,l,c as d}from"./p-TU0pfK1i.js";import{i as r,N as c}from"./p-Duz60W3r.js";import{n as u}from"./p-DC9V_oNU.js";const f=class{constructor(s){i(this,s);this.click=t(this,"click");this.initialized=false;this.hasAreaPopup=false;this.hasSubNavigation=true;this.isSubNavigationExpanded=false;this.autoClose=false;this.subNavigationId="sub-navigation-"+h();this.navigationItemSafeTriangle=undefined}handleNavigationItemClick(i){if(r(i)){this.autoClose=true;n((()=>{this.autoClose=false}),300)}}handleClick(i){if(this.click){this.click.emit(i)}if(this.hasAreaPopup){this.isSubNavigationExpanded=true}}handleBackClick(i){i.stopPropagation();this.isSubNavigationExpanded=false}enableAttributePassing(i,t){const s=i===null||i===void 0?void 0:i.closest(t);if(i&&s){const t=s.attributes;for(let a=0;a<t.length;a++){const h=t.item(a);if(h&&(h.name.startsWith("data-")||h.name.startsWith("aria-"))){i.setAttribute(h.name,h.value);s.removeAttribute(h.name)}if(h&&h.name==="class"){const t=h.value.includes("hydrated");const a=h.value.replace("hydrated","").trim();const n=i.getAttribute("class");i.setAttribute(h.name,`${n?`${n} `:""}${a}`);if(t){s.setAttribute("class","hydrated")}else{s.removeAttribute(h.name)}}}}}watch0Fn(){if(this.subNavigationExpanded!==undefined){this.isSubNavigationExpanded=!!e(this.subNavigationExpanded,"subNavigationExpanded")}}watch0(){this.watch0Fn()}watch1Fn(){var i;if(this.initialized&&this._ref){const t=this._ref.querySelector("menu");if(t){if(((i=t.children)===null||i===void 0?void 0:i.length)>0){this.hasAreaPopup=true;if(!this.navigationItemSafeTriangle){this.navigationItemSafeTriangle=new c(this._ref,t)}}else{this.hasSubNavigation=false}}}}watch1(){this.watch1Fn()}componentDidLoad(){this.enableAttributePassing(this._ref,"db-navigation-item");this.initialized=true;this.watch0Fn();this.watch1Fn()}render(){var i;return s("li",{key:"b0ab4981fcea138493f90e599ae8b50491ca2204",class:d("db-navigation-item",this.className),ref:i=>{this._ref=i},id:this.id,onMouseOver:()=>{var i;return(i=this.navigationItemSafeTriangle)===null||i===void 0?void 0:i.enableFollow()},onMouseLeave:()=>{var i;return(i=this.navigationItemSafeTriangle)===null||i===void 0?void 0:i.disableFollow()},onMouseMove:i=>{var t;return(t=this.navigationItemSafeTriangle)===null||t===void 0?void 0:t.followByMouseEvent(i)},"data-width":this.width,"data-icon":this.icon,"data-hide-icon":l(this.showIcon),"data-active":this.active,"data-wrap":o(this.wrap),"aria-disabled":o(this.disabled)},!this.hasSubNavigation?this.text?this.text:s("slot",null):null,this.hasSubNavigation?s(a,null,s("button",{class:"db-navigation-item-expand-button","aria-haspopup":this.hasAreaPopup,"aria-expanded":this.isSubNavigationExpanded,disabled:e(this.disabled,"disabled"),onClick:i=>this.handleClick(i)},this.text?this.text:s("slot",null)),s("menu",{class:"db-sub-navigation","data-auto-close":this.autoClose,id:this.subNavigationId,onClick:i=>this.handleNavigationItemClick(i)},this.hasAreaPopup?s("div",{class:"db-mobile-navigation-back"},s("db-button",{icon:"arrow_left",variant:"ghost",id:this.backButtonId,onClick:i=>this.handleBackClick(i)},(i=this.backButtonText)!==null&&i!==void 0?i:u)):null,s("slot",{name:"subNavigation"}))):null)}static get watchers(){return{subNavigationExpanded:["watch0"],initialized:["watch1"],_ref:["watch1"]}}};export{f as db_navigation_item};
|
|
2
|
-
//# sourceMappingURL=p-816415e9.entry.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["DBNavigationItem","constructor","hostRef","this","initialized","hasAreaPopup","hasSubNavigation","isSubNavigationExpanded","autoClose","subNavigationId","uuid","navigationItemSafeTriangle","undefined","handleNavigationItemClick","event","isEventTargetNavigationItem","delay","handleClick","click","emit","handleBackClick","stopPropagation","enableAttributePassing","element","customElementSelector","parent","closest","attributes","i","length","attr","item","name","startsWith","setAttribute","value","removeAttribute","isWebComponent","includes","replace","trim","currentClass","getAttribute","watch0Fn","subNavigationExpanded","getBoolean","watch0","watch1Fn","_ref","subNavigationSlot","querySelector","_a","children","NavigationItemSafeTriangle","watch1","componentDidLoad","render","h","key","class","cls","className","ref","el","id","onMouseOver","enableFollow","onMouseLeave","disableFollow","onMouseMove","followByMouseEvent","width","icon","getHideProp","showIcon","active","getBooleanAsString","wrap","disabled","text","Fragment","onClick","variant","backButtonId","backButtonText","DEFAULT_BACK"],"sources":["src/components/navigation-item/navigation-item.tsx"],"sourcesContent":["import { DBNavigationItemProps, DBNavigationItemState } from \"./model\";\nimport { DBButton } from \"../button/button\";\nimport {\n cls,\n delay,\n getBoolean,\n getBooleanAsString,\n getHideProp,\n uuid,\n} from \"../../utils\";\nimport {\n isEventTargetNavigationItem,\n NavigationItemSafeTriangle,\n} from \"../../utils/navigation\";\nimport { DEFAULT_BACK } from \"../../shared/constants\";\nimport { ClickEvent } from \"../../shared/model\";\n\nimport {\n Component,\n h,\n Fragment,\n Watch,\n Event,\n EventEmitter,\n Prop,\n State,\n} from \"@stencil/core\";\n\n\n/**\n * @slot children - This is a default/unnamed slot\n * @slot subNavigation - TODO: Add description for slotSubNavigation\n */\n @Component({\n tag: \"db-navigation-item\",\n})\nexport class DBNavigationItem {\n private _ref!: HTMLLIElement | any;\n @Prop() subNavigationExpanded: DBNavigationItemProps[\"subNavigationExpanded\"];\n @Event() click: EventEmitter<\n Parameters<Required<DBNavigationItemProps>[\"onClick\"]>[number]\n > | void;\n @Prop() id: DBNavigationItemProps[\"id\"];\n @Prop({attribute: \"classname\"}) className: DBNavigationItemProps[\"className\"];\n @Prop() width: DBNavigationItemProps[\"width\"];\n @Prop() icon: DBNavigationItemProps[\"icon\"];\n @Prop() showIcon: DBNavigationItemProps[\"showIcon\"];\n @Prop() active: DBNavigationItemProps[\"active\"];\n @Prop() wrap: DBNavigationItemProps[\"wrap\"];\n @Prop() disabled: DBNavigationItemProps[\"disabled\"];\n @Prop() text: DBNavigationItemProps[\"text\"];\n @Prop() backButtonId: DBNavigationItemProps[\"backButtonId\"];\n @Prop() backButtonText: DBNavigationItemProps[\"backButtonText\"];\n @State() initialized = false;\n @State() hasAreaPopup = false;\n @State() hasSubNavigation = true;\n @State() isSubNavigationExpanded = false;\n @State() autoClose = false;\n @State() subNavigationId = \"sub-navigation-\" + uuid();\n @State() navigationItemSafeTriangle = undefined;\n\n handleNavigationItemClick(event: unknown) {\n if (isEventTargetNavigationItem(event)) {\n this.autoClose = true;\n delay(() => {\n this.autoClose = false;\n }, 300);\n }\n }\n handleClick(event: ClickEvent<HTMLButtonElement> | any) {\n if (this.click) {\n this.click.emit(event);\n }\n if (this.hasAreaPopup) {\n this.isSubNavigationExpanded = true;\n }\n }\n handleBackClick(event: ClickEvent<HTMLButtonElement> | any) {\n event.stopPropagation();\n this.isSubNavigationExpanded = false;\n }\n\n /**\n * Passes `aria-*`, `data-*` & `class` attributes to correct child. Used in angular and stencil.\n * @param element the ref for the component\n * @param customElementSelector the custom element like `my-component`\n */\n private enableAttributePassing(\n element: HTMLElement | null,\n customElementSelector: string\n ) {\n const parent = element?.closest(customElementSelector);\n if (element && parent) {\n const attributes = parent.attributes;\n for (let i = 0; i < attributes.length; i++) {\n const attr = attributes.item(i);\n if (\n attr &&\n (attr.name.startsWith(\"data-\") || attr.name.startsWith(\"aria-\"))\n ) {\n element.setAttribute(attr.name, attr.value);\n parent.removeAttribute(attr.name);\n }\n if (attr && attr.name === \"class\") {\n const isWebComponent = attr.value.includes(\"hydrated\");\n const value = attr.value.replace(\"hydrated\", \"\").trim();\n const currentClass = element.getAttribute(\"class\");\n element.setAttribute(\n attr.name,\n `${currentClass ? `${currentClass} ` : \"\"}${value}`\n );\n if (isWebComponent) {\n // Stencil is using this class for lazy loading component\n parent.setAttribute(\"class\", \"hydrated\");\n } else {\n parent.removeAttribute(attr.name);\n }\n }\n }\n }\n }\n\n watch0Fn() {\n if (this.subNavigationExpanded !== undefined) {\n this.isSubNavigationExpanded = !!getBoolean(\n this.subNavigationExpanded,\n \"subNavigationExpanded\"\n );\n }\n }\n\n @Watch(\"subNavigationExpanded\")\n watch0() {\n this.watch0Fn();\n }\n\n watch1Fn() {\n if (this.initialized && this._ref) {\n const subNavigationSlot = this._ref.querySelector(\"menu\");\n if (subNavigationSlot) {\n if (subNavigationSlot.children?.length > 0) {\n this.hasAreaPopup = true;\n if (!this.navigationItemSafeTriangle) {\n this.navigationItemSafeTriangle = new NavigationItemSafeTriangle(\n this._ref,\n subNavigationSlot\n );\n }\n } else {\n this.hasSubNavigation = false;\n }\n }\n }\n }\n\n @Watch(\"initialized\")\n @Watch(\"_ref\")\n watch1() {\n this.watch1Fn();\n }\n\n componentDidLoad() {\n this.enableAttributePassing(this._ref, \"db-navigation-item\");\n this.initialized = true;\n this.watch0Fn();\n this.watch1Fn();\n }\n\n render() {\n return (\n <li\n class={cls(\"db-navigation-item\", this.className)}\n ref={(el: any) => {\n this._ref = el;\n }}\n id={this.id}\n onMouseOver={() => this.navigationItemSafeTriangle?.enableFollow()}\n onMouseLeave={() => this.navigationItemSafeTriangle?.disableFollow()}\n onMouseMove={(event) =>\n this.navigationItemSafeTriangle?.followByMouseEvent(event)\n }\n data-width={this.width}\n data-icon={this.icon}\n data-hide-icon={getHideProp(this.showIcon)}\n data-active={this.active}\n data-wrap={getBooleanAsString(this.wrap)}\n aria-disabled={getBooleanAsString(this.disabled)}\n >\n {!this.hasSubNavigation ? this.text ? this.text : <slot></slot> : null}\n {this.hasSubNavigation ? (\n <Fragment>\n <button\n class=\"db-navigation-item-expand-button\"\n aria-haspopup={this.hasAreaPopup}\n aria-expanded={this.isSubNavigationExpanded}\n disabled={getBoolean(this.disabled, \"disabled\")}\n onClick={(event) => this.handleClick(event)}\n >\n {this.text ? this.text : <slot></slot>}\n </button>\n <menu\n class=\"db-sub-navigation\"\n data-auto-close={this.autoClose}\n id={this.subNavigationId}\n onClick={(event) => this.handleNavigationItemClick(event)}\n >\n {this.hasAreaPopup ? (\n <div class=\"db-mobile-navigation-back\">\n <db-button\n icon=\"arrow_left\"\n variant=\"ghost\"\n id={this.backButtonId}\n onClick={(event) => this.handleBackClick(event)}\n >\n {this.backButtonText ?? DEFAULT_BACK}\n </db-button>\n </div>\n ) : null}\n <slot name=\"subNavigation\"></slot>\n </menu>\n </Fragment>\n ) : null}\n </li>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["DBInput","constructor","hostRef","this","_id","undefined","_messageId","_validMessageId","_invalidMessageId","_invalidMessage","_dataListId","_descByIds","_value","_voiceOverFallback","hasValidState","_a","validMessage","validation","handleValidation","_ref","validity","valid","invalidMessage","_b","validationMessage","DEFAULT_INVALID_MESSAGE","hasVoiceOver","delay","_c","required","minLength","maxLength","pattern","_d","DEFAULT_VALID_MESSAGE","stringPropVisible","message","showMessage","handleInput","event","input","emit","handleChange","change","handleBlur","blur","handleFocus","focus","getDataList","_list","dataList","Array","from","isArrayOfStrings","map","val","value","label","enableAttributePassing","element","customElementSelector","parent","closest","attributes","i","length","attr","item","name","startsWith","setAttribute","removeAttribute","isWebComponent","includes","replace","trim","currentClass","getAttribute","watch0Fn","watch0","watch1Fn","messageId","DEFAULT_MESSAGE_ID_SUFFIX","DEFAULT_VALID_MESSAGE_ID_SUFFIX","DEFAULT_INVALID_MESSAGE_ID_SUFFIX","dataListId","DEFAULT_DATALIST_ID_SUFFIX","watch1","watch2Fn","watch2","componentDidLoad","mId","id","uuid","render","h","key","class","cls","className","variant","getHideProp","showLabel","showIcon","icon","iconAfter","htmlFor","DEFAULT_LABEL","ref","el","type","placeholder","DEFAULT_PLACEHOLDER","disabled","getBoolean","step","getNumber","maxlength","minlength","max","min","readOnly","readonly","form","size","autoComplete","autocomplete","autoFocus","autofocus","onInput","onChange","onBlur","onFocus","list","ariaDescribedBy","_e","option","messageIcon","semantic","role","DBTag","initialized","handleRemove","remove","getRemoveButtonText","removeButton","DEFAULT_REMOVE","button","querySelector","Boolean","getBooleanAsString","emphasis","showCheckState","noText","overflow","text","behavior","onClick","title","DBTooltip","DEFAULT_ID","handleClick","stopPropagation","handleAutoPlacement","handleDataOutside","parentElement","localName","forEach","addEventListener","animation","width","showArrow","placement","DBCustomSelectDropdown","DBCustomSelectList","multiple","DBCustomSelectListItem","hasDivider","getIconAfter","isGroupTitle","checked","showDivider","groupTitle"],"sources":["src/components/input/input.tsx","src/components/tag/tag.tsx","src/components/tooltip/tooltip.tsx","src/components/custom-select-dropdown/custom-select-dropdown.tsx","src/components/custom-select-list/custom-select-list.tsx","src/components/custom-select-list-item/custom-select-list-item.tsx"],"sourcesContent":["import {\n cls,\n delay,\n getBoolean,\n getHideProp,\n getNumber,\n hasVoiceOver,\n isArrayOfStrings,\n stringPropVisible,\n uuid,\n} from \"../../utils\";\nimport { DBInputProps, DBInputState } from \"./model\";\nimport {\n DEFAULT_DATALIST_ID_SUFFIX,\n DEFAULT_INVALID_MESSAGE,\n DEFAULT_INVALID_MESSAGE_ID_SUFFIX,\n DEFAULT_LABEL,\n DEFAULT_MESSAGE_ID_SUFFIX,\n DEFAULT_PLACEHOLDER,\n DEFAULT_VALID_MESSAGE,\n DEFAULT_VALID_MESSAGE_ID_SUFFIX,\n} from \"../../shared/constants\";\nimport {\n ChangeEvent,\n InputEvent,\n InteractionEvent,\n ValueLabelType,\n} from \"../../shared/model\";\nimport { DBInfotext } from \"../infotext/infotext\";\nimport {\n handleFrameworkEventAngular,\n handleFrameworkEventVue,\n} from \"../../utils/form-components\";\n\nimport {\n Component,\n h,\n Fragment,\n Watch,\n Event,\n EventEmitter,\n Prop,\n State,\n} from \"@stencil/core\";\n\n\n/**\n * @slot children - This is a default/unnamed slot\n\n */\n @Component({\n tag: \"db-input\",\n})\nexport class DBInput {\n private _ref!: HTMLInputElement | any;\n @Prop() id: DBInputProps[\"id\"];\n @Prop() invalidMessage: DBInputProps[\"invalidMessage\"];\n @Prop() dataListId: DBInputProps[\"dataListId\"];\n @Prop() message: DBInputProps[\"message\"];\n @Prop() showMessage: DBInputProps[\"showMessage\"];\n @Prop() value: DBInputProps[\"value\"];\n @Prop() validMessage: DBInputProps[\"validMessage\"];\n @Prop() validation: DBInputProps[\"validation\"];\n @Prop() required: DBInputProps[\"required\"];\n @Prop() minLength: DBInputProps[\"minLength\"];\n @Prop() maxLength: DBInputProps[\"maxLength\"];\n @Prop() pattern: DBInputProps[\"pattern\"];\n @Event() input: EventEmitter<\n Parameters<Required<DBInputProps>[\"onInput\"]>[number]\n > | void;\n @Event() change: EventEmitter<\n Parameters<Required<DBInputProps>[\"onChange\"]>[number]\n > | void;\n @Event() blur: EventEmitter<\n Parameters<Required<DBInputProps>[\"onBlur\"]>[number]\n > | void;\n @Event() focus: EventEmitter<\n Parameters<Required<DBInputProps>[\"onFocus\"]>[number]\n > | void;\n @Prop() dataList: DBInputProps[\"dataList\"];\n @Prop({attribute: \"classname\"}) className: DBInputProps[\"className\"];\n @Prop() variant: DBInputProps[\"variant\"];\n @Prop() showLabel: DBInputProps[\"showLabel\"];\n @Prop() showIcon: DBInputProps[\"showIcon\"];\n @Prop() icon: DBInputProps[\"icon\"];\n @Prop() iconAfter: DBInputProps[\"iconAfter\"];\n @Prop() label: DBInputProps[\"label\"];\n @Prop() name: DBInputProps[\"name\"];\n @Prop() type: DBInputProps[\"type\"];\n @Prop() placeholder: DBInputProps[\"placeholder\"];\n @Prop() disabled: DBInputProps[\"disabled\"];\n @Prop() step: DBInputProps[\"step\"];\n @Prop() maxlength: DBInputProps[\"maxlength\"];\n @Prop() minlength: DBInputProps[\"minlength\"];\n @Prop() max: DBInputProps[\"max\"];\n @Prop() min: DBInputProps[\"min\"];\n @Prop() readOnly: DBInputProps[\"readOnly\"];\n @Prop() readonly: DBInputProps[\"readonly\"];\n @Prop() form: DBInputProps[\"form\"];\n @Prop() size: DBInputProps[\"size\"];\n @Prop() autocomplete: DBInputProps[\"autocomplete\"];\n @Prop() autofocus: DBInputProps[\"autofocus\"];\n @Prop() ariaDescribedBy: DBInputProps[\"ariaDescribedBy\"];\n @Prop() messageIcon: DBInputProps[\"messageIcon\"];\n @State() _id = undefined;\n @State() _messageId = undefined;\n @State() _validMessageId = undefined;\n @State() _invalidMessageId = undefined;\n @State() _invalidMessage = undefined;\n @State() _dataListId = undefined;\n @State() _descByIds = \"\";\n @State() _value = \"\";\n @State() _voiceOverFallback = \"\";\n\n hasValidState() {\n return !!(this.validMessage ?? this.validation === \"valid\");\n }\n handleValidation() {\n /* For a11y reasons we need to map the correct message with the input */\n if (!this._ref?.validity.valid || this.validation === \"invalid\") {\n this._descByIds = this._invalidMessageId;\n this._invalidMessage =\n this.invalidMessage ||\n this._ref?.validationMessage ||\n DEFAULT_INVALID_MESSAGE;\n if (hasVoiceOver()) {\n this._voiceOverFallback = this._invalidMessage;\n delay(() => (this._voiceOverFallback = \"\"), 1000);\n }\n } else if (\n this.hasValidState() &&\n this._ref?.validity.valid &&\n (this.required || this.minLength || this.maxLength || this.pattern)\n ) {\n this._descByIds = this._validMessageId;\n if (hasVoiceOver()) {\n this._voiceOverFallback = this.validMessage ?? DEFAULT_VALID_MESSAGE;\n delay(() => (this._voiceOverFallback = \"\"), 1000);\n }\n } else if (stringPropVisible(this.message, this.showMessage)) {\n this._descByIds = this._messageId;\n } else {\n this._descByIds = \"\";\n }\n }\n handleInput(event: InputEvent<HTMLInputElement>) {\n if (this.input) {\n this.input.emit(event);\n }\n this.handleValidation();\n }\n handleChange(event: ChangeEvent<HTMLInputElement>) {\n if (this.change) {\n this.change.emit(event);\n }\n this.handleValidation();\n }\n handleBlur(event: InteractionEvent<HTMLInputElement> | any) {\n if (this.blur) {\n this.blur.emit(event);\n }\n }\n handleFocus(event: InteractionEvent<HTMLInputElement> | any) {\n if (this.focus) {\n this.focus.emit(event);\n }\n }\n getDataList() {\n const _list = this.dataList;\n return Array.from(\n (isArrayOfStrings(_list)\n ? _list?.map((val: string) => ({\n value: val,\n label: undefined,\n }))\n : _list) || []\n );\n }\n\n /**\n * Passes `aria-*`, `data-*` & `class` attributes to correct child. Used in angular and stencil.\n * @param element the ref for the component\n * @param customElementSelector the custom element like `my-component`\n */\n private enableAttributePassing(\n element: HTMLInputElement | null,\n customElementSelector: string\n ) {\n const parent = element?.closest(customElementSelector);\n if (element && parent) {\n const attributes = parent.attributes;\n for (let i = 0; i < attributes.length; i++) {\n const attr = attributes.item(i);\n if (\n attr &&\n (attr.name.startsWith(\"data-\") || attr.name.startsWith(\"aria-\"))\n ) {\n element.setAttribute(attr.name, attr.value);\n parent.removeAttribute(attr.name);\n }\n if (attr && attr.name === \"class\") {\n const isWebComponent = attr.value.includes(\"hydrated\");\n const value = attr.value.replace(\"hydrated\", \"\").trim();\n const currentClass = element.getAttribute(\"class\");\n element.setAttribute(\n attr.name,\n `${currentClass ? `${currentClass} ` : \"\"}${value}`\n );\n if (isWebComponent) {\n // Stencil is using this class for lazy loading component\n parent.setAttribute(\"class\", \"hydrated\");\n } else {\n parent.removeAttribute(attr.name);\n }\n }\n }\n }\n }\n\n watch0Fn() {\n this._invalidMessage =\n this.invalidMessage ||\n this._ref?.validationMessage ||\n DEFAULT_INVALID_MESSAGE;\n }\n\n @Watch(\"_ref\")\n @Watch(\"invalidMessage\")\n watch0() {\n this.watch0Fn();\n }\n\n watch1Fn() {\n if (this._id) {\n const messageId = this._id + DEFAULT_MESSAGE_ID_SUFFIX;\n this._messageId = messageId;\n this._validMessageId = this._id + DEFAULT_VALID_MESSAGE_ID_SUFFIX;\n this._invalidMessageId = this._id + DEFAULT_INVALID_MESSAGE_ID_SUFFIX;\n this._dataListId =\n this.dataListId ?? this._id + DEFAULT_DATALIST_ID_SUFFIX;\n if (stringPropVisible(this.message, this.showMessage)) {\n this._descByIds = messageId;\n }\n }\n }\n\n @Watch(\"_id\")\n watch1() {\n this.watch1Fn();\n }\n\n watch2Fn() {\n this._value = this.value;\n }\n\n @Watch(\"value\")\n watch2() {\n this.watch2Fn();\n }\n\n componentDidLoad() {\n this.enableAttributePassing(this._ref, \"db-input\");\n const mId = this.id ?? `input-${uuid()}`;\n this._id = mId;\n this._messageId = mId + DEFAULT_MESSAGE_ID_SUFFIX;\n this._validMessageId = mId + DEFAULT_VALID_MESSAGE_ID_SUFFIX;\n this._invalidMessageId = mId + DEFAULT_INVALID_MESSAGE_ID_SUFFIX;\n this._dataListId = mId + DEFAULT_DATALIST_ID_SUFFIX;\n this._invalidMessage = this.invalidMessage || DEFAULT_INVALID_MESSAGE;\n this.watch0Fn();\n this.watch1Fn();\n this.watch2Fn();\n }\n\n render() {\n return (\n <div\n class={cls(\"db-input\", this.className)}\n data-variant={this.variant}\n data-hide-label={getHideProp(this.showLabel)}\n data-hide-icon={getHideProp(this.showIcon)}\n data-icon={this.icon}\n data-icon-after={this.iconAfter}\n data-hide-icon-after={getHideProp(this.showIcon)}\n >\n <label htmlFor={this._id}>{this.label ?? DEFAULT_LABEL}</label>\n <input\n aria-invalid={this.validation === \"invalid\"}\n data-custom-validity={this.validation}\n ref={(el: any) => {\n this._ref = el;\n }}\n id={this._id}\n name={this.name}\n type={this.type || \"text\"}\n placeholder={this.placeholder ?? DEFAULT_PLACEHOLDER}\n disabled={getBoolean(this.disabled, \"disabled\")}\n required={getBoolean(this.required, \"required\")}\n step={getNumber(this.step)}\n value={this.value ?? this._value}\n maxLength={getNumber(this.maxLength, this.maxlength)}\n minLength={getNumber(this.minLength, this.minlength)}\n max={getNumber(this.max)}\n min={getNumber(this.min)}\n readOnly={\n getBoolean(this.readOnly, \"readOnly\") ||\n getBoolean(this.readonly, \"readonly\")\n }\n form={this.form}\n pattern={this.pattern}\n size={this.size}\n autoComplete={this.autocomplete}\n autoFocus={getBoolean(this.autofocus, \"autofocus\")}\n onInput={(event) => this.handleInput(event)}\n onChange={(event) => this.handleChange(event)}\n onBlur={(event) => this.handleBlur(event)}\n onFocus={(event) => this.handleFocus(event)}\n list={this.dataList && this._dataListId}\n aria-describedby={this.ariaDescribedBy ?? this._descByIds}\n />\n {this.dataList ? (\n <datalist id={this._dataListId}>\n {this.getDataList()?.map((option) => (\n <option\n key={this._dataListId + \"-option-\" + option.value}\n value={option.value}\n >\n {option.label}\n </option>\n ))}\n </datalist>\n ) : null}\n <slot></slot>\n {stringPropVisible(this.message, this.showMessage) ? (\n <db-infotext\n size=\"small\"\n icon={this.messageIcon}\n id={this._messageId}\n >\n {this.message}\n </db-infotext>\n ) : null}\n {this.hasValidState() ? (\n <db-infotext\n size=\"small\"\n semantic=\"successful\"\n id={this._validMessageId}\n >\n {this.validMessage || DEFAULT_VALID_MESSAGE}\n </db-infotext>\n ) : null}\n <db-infotext\n size=\"small\"\n semantic=\"critical\"\n id={this._invalidMessageId}\n >\n {this._invalidMessage}\n </db-infotext>\n <span data-visually-hidden=\"true\" role=\"status\">\n {this._voiceOverFallback}\n </span>\n </div>\n );\n }\n}\n","import { DBTagProps, DBTagState } from \"./model\";\nimport { cls, getBooleanAsString, getHideProp } from \"../../utils\";\nimport { DEFAULT_REMOVE } from \"../../shared/constants\";\nimport { ClickEvent } from \"../../shared/model\";\n\nimport {\n Component,\n h,\n Fragment,\n Watch,\n Event,\n EventEmitter,\n Prop,\n State,\n} from \"@stencil/core\";\n\n\n/**\n * @slot children - This is a default/unnamed slot\n * @slot content - TODO: Add description for slotContent\n */\n @Component({\n tag: \"db-tag\",\n})\nexport class DBTag {\n private _ref!: HTMLDivElement | any;\n @Prop() disabled: DBTagProps[\"disabled\"];\n @Event() remove: EventEmitter<\n Parameters<Required<DBTagProps>[\"remove\"]>[number]\n > | void;\n @Prop() removeButton: DBTagProps[\"removeButton\"];\n @Prop() id: DBTagProps[\"id\"];\n @Prop({attribute: \"classname\"}) className: DBTagProps[\"className\"];\n @Prop() semantic: DBTagProps[\"semantic\"];\n @Prop() emphasis: DBTagProps[\"emphasis\"];\n @Prop() icon: DBTagProps[\"icon\"];\n @Prop() showCheckState: DBTagProps[\"showCheckState\"];\n @Prop() showIcon: DBTagProps[\"showIcon\"];\n @Prop() noText: DBTagProps[\"noText\"];\n @Prop() overflow: DBTagProps[\"overflow\"];\n @Prop() text: DBTagProps[\"text\"];\n @Prop() behavior: DBTagProps[\"behavior\"];\n @State() initialized = false;\n\n handleRemove(event?: ClickEvent<HTMLButtonElement>) {\n if (this.remove) {\n this.remove.emit(event);\n }\n }\n getRemoveButtonText() {\n if (this.removeButton) {\n return this.removeButton;\n }\n\n // TODO: We should think this through again, if we would really like to have default and especially english, instead of german labels in here\n return DEFAULT_REMOVE;\n }\n\n /**\n * Passes `aria-*`, `data-*` & `class` attributes to correct child. Used in angular and stencil.\n * @param element the ref for the component\n * @param customElementSelector the custom element like `my-component`\n */\n private enableAttributePassing(\n element: HTMLElement | null,\n customElementSelector: string\n ) {\n const parent = element?.closest(customElementSelector);\n if (element && parent) {\n const attributes = parent.attributes;\n for (let i = 0; i < attributes.length; i++) {\n const attr = attributes.item(i);\n if (\n attr &&\n (attr.name.startsWith(\"data-\") || attr.name.startsWith(\"aria-\"))\n ) {\n element.setAttribute(attr.name, attr.value);\n parent.removeAttribute(attr.name);\n }\n if (attr && attr.name === \"class\") {\n const isWebComponent = attr.value.includes(\"hydrated\");\n const value = attr.value.replace(\"hydrated\", \"\").trim();\n const currentClass = element.getAttribute(\"class\");\n element.setAttribute(\n attr.name,\n `${currentClass ? `${currentClass} ` : \"\"}${value}`\n );\n if (isWebComponent) {\n // Stencil is using this class for lazy loading component\n parent.setAttribute(\"class\", \"hydrated\");\n } else {\n parent.removeAttribute(attr.name);\n }\n }\n }\n }\n }\n\n watch0Fn() {\n if (this.initialized && this._ref && this.disabled !== undefined) {\n const button: HTMLButtonElement | null = this._ref?.querySelector(\n \"button:not(.db-tab-remove-button)\"\n );\n const input: HTMLInputElement | null = this._ref?.querySelector(\"input\");\n for (const element of [button, input]) {\n if (element) {\n element.disabled = Boolean(this.disabled);\n }\n }\n }\n }\n\n @Watch(\"initialized\")\n @Watch(\"disabled\")\n @Watch(\"_ref\")\n watch0() {\n this.watch0Fn();\n }\n\n componentDidLoad() {\n this.enableAttributePassing(this._ref, \"db-tag\");\n\n this.watch0Fn();\n }\n\n render() {\n return (\n <div\n class={cls(\"db-tag\", this.className)}\n ref={(el: any) => {\n this._ref = el;\n }}\n id={this.id}\n data-disabled={getBooleanAsString(this.disabled)}\n data-semantic={this.semantic}\n data-emphasis={this.emphasis}\n data-icon={this.icon}\n data-show-check-state={getBooleanAsString(this.showCheckState ?? true)}\n data-hide-icon={getHideProp(this.showIcon)}\n data-no-text={getBooleanAsString(this.noText)}\n data-overflow={getBooleanAsString(this.overflow)}\n >\n <slot name=\"content\"></slot>\n <slot></slot>\n {this.text ? this.text : null}\n {this.behavior === \"removable\" ? (\n <button\n class=\"db-button db-tab-remove-button\"\n data-icon=\"cross\"\n data-size=\"small\"\n data-no-text=\"true\"\n data-variant=\"ghost\"\n onClick={(event) => this.handleRemove(event)}\n title={this.getRemoveButtonText()}\n >\n {this.getRemoveButtonText()}\n </button>\n ) : null}\n </div>\n );\n }\n}\n","import { DBTooltipProps, DBTooltipState } from \"./model\";\nimport { cls, getBooleanAsString, handleDataOutside, uuid } from \"../../utils\";\nimport { ClickEvent } from \"../../shared/model\";\nimport { DEFAULT_ID } from \"../../shared/constants\";\n\nimport { Component, h, Fragment, Watch, Prop, State } from \"@stencil/core\";\n\n\n/**\n * @slot children - This is a default/unnamed slot\n\n */\n @Component({\n tag: \"db-tooltip\",\n})\nexport class DBTooltip {\n private _ref!: HTMLDivElement | any;\n @Prop() id: DBTooltipProps[\"id\"];\n @Prop({attribute: \"classname\"}) className: DBTooltipProps[\"className\"];\n @Prop() emphasis: DBTooltipProps[\"emphasis\"];\n @Prop() animation: DBTooltipProps[\"animation\"];\n @Prop() delay: DBTooltipProps[\"delay\"];\n @Prop() width: DBTooltipProps[\"width\"];\n @Prop() showArrow: DBTooltipProps[\"showArrow\"];\n @Prop() placement: DBTooltipProps[\"placement\"];\n @State() _id = DEFAULT_ID;\n @State() initialized = false;\n\n handleClick(event: ClickEvent<HTMLElement>) {\n event.stopPropagation();\n }\n handleAutoPlacement() {\n if (this._ref) handleDataOutside(this._ref);\n }\n\n /**\n * Passes `aria-*`, `data-*` & `class` attributes to correct child. Used in angular and stencil.\n * @param element the ref for the component\n * @param customElementSelector the custom element like `my-component`\n */\n private enableAttributePassing(\n element: HTMLElement | null,\n customElementSelector: string\n ) {\n const parent = element?.closest(customElementSelector);\n if (element && parent) {\n const attributes = parent.attributes;\n for (let i = 0; i < attributes.length; i++) {\n const attr = attributes.item(i);\n if (\n attr &&\n (attr.name.startsWith(\"data-\") || attr.name.startsWith(\"aria-\"))\n ) {\n element.setAttribute(attr.name, attr.value);\n parent.removeAttribute(attr.name);\n }\n if (attr && attr.name === \"class\") {\n const isWebComponent = attr.value.includes(\"hydrated\");\n const value = attr.value.replace(\"hydrated\", \"\").trim();\n const currentClass = element.getAttribute(\"class\");\n element.setAttribute(\n attr.name,\n `${currentClass ? `${currentClass} ` : \"\"}${value}`\n );\n if (isWebComponent) {\n // Stencil is using this class for lazy loading component\n parent.setAttribute(\"class\", \"hydrated\");\n } else {\n parent.removeAttribute(attr.name);\n }\n }\n }\n }\n }\n\n watch0Fn() {\n if (this._ref && this.initialized && this._id) {\n let parent = this._ref.parentElement;\n if (parent && parent.localName.includes(\"tooltip\")) {\n // Angular workaround\n parent = parent.parentElement;\n }\n if (parent) {\n [\"mouseenter\", \"focus\"].forEach((event) => {\n parent.addEventListener(event, () => this.handleAutoPlacement());\n });\n parent.setAttribute(\"data-has-tooltip\", \"true\");\n parent.setAttribute(\"aria-describedby\", this._id);\n }\n this.initialized = false;\n }\n }\n\n @Watch(\"_ref\")\n @Watch(\"initialized\")\n watch0() {\n this.watch0Fn();\n }\n\n componentDidLoad() {\n this.enableAttributePassing(this._ref, \"db-tooltip\");\n this._id = this.id || \"tooltip-\" + uuid();\n this.initialized = true;\n this.watch0Fn();\n }\n\n render() {\n return (\n <i\n class={cls(\"db-tooltip\", this.className)}\n role=\"tooltip\"\n aria-hidden=\"true\"\n data-gap=\"true\"\n ref={(el: any) => {\n this._ref = el;\n }}\n id={this._id}\n data-emphasis={this.emphasis}\n data-animation={getBooleanAsString(this.animation ?? true)}\n data-delay={this.delay}\n data-width={this.width}\n data-show-arrow={getBooleanAsString(this.showArrow ?? true)}\n data-placement={this.placement}\n onClick={(event) => this.handleClick(event)}\n >\n <slot></slot>\n </i>\n );\n }\n}\n","import { DBCustomSelectDropdownProps } from \"./model\";\nimport { cls } from \"../../utils\";\n\nimport { Component, h, Fragment, Prop } from \"@stencil/core\";\n\n\n/**\n * @slot children - This is a default/unnamed slot\n\n */\n @Component({\n tag: \"db-custom-select-dropdown\",\n})\nexport class DBCustomSelectDropdown {\n private _ref!: HTMLDivElement | any;\n @Prop() id: DBCustomSelectDropdownProps[\"id\"];\n @Prop({attribute: \"classname\"}) className: DBCustomSelectDropdownProps[\"className\"];\n @Prop() width: DBCustomSelectDropdownProps[\"width\"] = \"fixed\";\n\n /**\n * Passes `aria-*`, `data-*` & `class` attributes to correct child. Used in angular and stencil.\n * @param element the ref for the component\n * @param customElementSelector the custom element like `my-component`\n */\n private enableAttributePassing(\n element: HTMLElement | null,\n customElementSelector: string\n ) {\n const parent = element?.closest(customElementSelector);\n if (element && parent) {\n const attributes = parent.attributes;\n for (let i = 0; i < attributes.length; i++) {\n const attr = attributes.item(i);\n if (\n attr &&\n (attr.name.startsWith(\"data-\") || attr.name.startsWith(\"aria-\"))\n ) {\n element.setAttribute(attr.name, attr.value);\n parent.removeAttribute(attr.name);\n }\n if (attr && attr.name === \"class\") {\n const isWebComponent = attr.value.includes(\"hydrated\");\n const value = attr.value.replace(\"hydrated\", \"\").trim();\n const currentClass = element.getAttribute(\"class\");\n element.setAttribute(\n attr.name,\n `${currentClass ? `${currentClass} ` : \"\"}${value}`\n );\n if (isWebComponent) {\n // Stencil is using this class for lazy loading component\n parent.setAttribute(\"class\", \"hydrated\");\n } else {\n parent.removeAttribute(attr.name);\n }\n }\n }\n }\n }\n\n componentDidLoad() {\n this.enableAttributePassing(this._ref, \"db-custom-select-dropdown\");\n }\n\n render() {\n return (\n <article\n class={cls(\"db-custom-select-dropdown db-card\", this.className)}\n data-spacing=\"none\"\n ref={(el: any) => {\n this._ref = el;\n }}\n id={this.id}\n data-width={this.width}\n >\n <slot></slot>\n </article>\n );\n }\n}\n","import { DBCustomSelectListProps } from \"./model\";\nimport { cls } from \"../../utils\";\n\nimport { Component, h, Fragment, Prop } from \"@stencil/core\";\n\n\n/**\n * @slot children - This is a default/unnamed slot\n\n */\n @Component({\n tag: \"db-custom-select-list\",\n})\nexport class DBCustomSelectList {\n private _ref!: HTMLDivElement | any;\n @Prop() multiple: DBCustomSelectListProps[\"multiple\"];\n @Prop() label: DBCustomSelectListProps[\"label\"];\n @Prop() id: DBCustomSelectListProps[\"id\"];\n @Prop({attribute: \"classname\"}) className: DBCustomSelectListProps[\"className\"];\n\n /**\n * Passes `aria-*`, `data-*` & `class` attributes to correct child. Used in angular and stencil.\n * @param element the ref for the component\n * @param customElementSelector the custom element like `my-component`\n */\n private enableAttributePassing(\n element: HTMLElement | null,\n customElementSelector: string\n ) {\n const parent = element?.closest(customElementSelector);\n if (element && parent) {\n const attributes = parent.attributes;\n for (let i = 0; i < attributes.length; i++) {\n const attr = attributes.item(i);\n if (\n attr &&\n (attr.name.startsWith(\"data-\") || attr.name.startsWith(\"aria-\"))\n ) {\n element.setAttribute(attr.name, attr.value);\n parent.removeAttribute(attr.name);\n }\n if (attr && attr.name === \"class\") {\n const isWebComponent = attr.value.includes(\"hydrated\");\n const value = attr.value.replace(\"hydrated\", \"\").trim();\n const currentClass = element.getAttribute(\"class\");\n element.setAttribute(\n attr.name,\n `${currentClass ? `${currentClass} ` : \"\"}${value}`\n );\n if (isWebComponent) {\n // Stencil is using this class for lazy loading component\n parent.setAttribute(\"class\", \"hydrated\");\n } else {\n parent.removeAttribute(attr.name);\n }\n }\n }\n }\n }\n\n componentDidLoad() {\n this.enableAttributePassing(this._ref, \"db-custom-select-list\");\n }\n\n render() {\n return (\n <div\n class={cls(\"db-custom-select-list\", this.className)}\n role={this.multiple ? \"group\" : \"radiogroup\"}\n aria-label={this.label}\n ref={(el: any) => {\n this._ref = el;\n }}\n id={this.id}\n >\n <ul>\n <slot></slot>\n </ul>\n </div>\n );\n }\n}\n","import {\n DBCustomSelectListItemProps,\n DBCustomSelectListItemState,\n} from \"./model\";\nimport {\n cls,\n getBoolean,\n getBooleanAsString,\n getHideProp,\n uuid,\n} from \"../../utils\";\nimport { ChangeEvent } from \"../../shared/model\";\nimport {\n handleFrameworkEventAngular,\n handleFrameworkEventVue,\n} from \"../../utils/form-components\";\n\nimport {\n Component,\n h,\n Fragment,\n Watch,\n Event,\n EventEmitter,\n Prop,\n State,\n} from \"@stencil/core\";\n\n\n/**\n * @slot children - This is a default/unnamed slot\n\n */\n @Component({\n tag: \"db-custom-select-list-item\",\n})\nexport class DBCustomSelectListItem {\n private _ref!: HTMLLIElement | any;\n @Prop() id: DBCustomSelectListItemProps[\"id\"];\n @Prop() isGroupTitle: DBCustomSelectListItemProps[\"isGroupTitle\"];\n @Prop() showDivider: DBCustomSelectListItemProps[\"showDivider\"];\n @Event() change: EventEmitter<\n Parameters<Required<DBCustomSelectListItemProps>[\"onChange\"]>[number]\n > | void;\n @Prop() type: DBCustomSelectListItemProps[\"type\"];\n @Prop() checked: DBCustomSelectListItemProps[\"checked\"];\n @Prop({attribute: \"classname\"}) className: DBCustomSelectListItemProps[\"className\"];\n @Prop() groupTitle: DBCustomSelectListItemProps[\"groupTitle\"];\n @Prop() icon: DBCustomSelectListItemProps[\"icon\"];\n @Prop() showIcon: DBCustomSelectListItemProps[\"showIcon\"];\n @Prop() name: DBCustomSelectListItemProps[\"name\"];\n @Prop() disabled: DBCustomSelectListItemProps[\"disabled\"];\n @Prop() value: DBCustomSelectListItemProps[\"value\"];\n @Prop() label: DBCustomSelectListItemProps[\"label\"];\n @State() _id = undefined;\n @State() hasDivider = false;\n\n handleChange(event: ChangeEvent<HTMLInputElement>) {\n event.stopPropagation();\n if (this.change) {\n this.change.emit(event);\n }\n }\n getIconAfter() {\n if (this.isGroupTitle || this.type === \"checkbox\") {\n return;\n }\n return getBoolean(this.checked, \"checked\") ? \"check\" : \"x_placeholder\";\n }\n\n /**\n * Passes `aria-*`, `data-*` & `class` attributes to correct child. Used in angular and stencil.\n * @param element the ref for the component\n * @param customElementSelector the custom element like `my-component`\n */\n private enableAttributePassing(\n element: HTMLElement | null,\n customElementSelector: string\n ) {\n const parent = element?.closest(customElementSelector);\n if (element && parent) {\n const attributes = parent.attributes;\n for (let i = 0; i < attributes.length; i++) {\n const attr = attributes.item(i);\n if (\n attr &&\n (attr.name.startsWith(\"data-\") || attr.name.startsWith(\"aria-\"))\n ) {\n element.setAttribute(attr.name, attr.value);\n parent.removeAttribute(attr.name);\n }\n if (attr && attr.name === \"class\") {\n const isWebComponent = attr.value.includes(\"hydrated\");\n const value = attr.value.replace(\"hydrated\", \"\").trim();\n const currentClass = element.getAttribute(\"class\");\n element.setAttribute(\n attr.name,\n `${currentClass ? `${currentClass} ` : \"\"}${value}`\n );\n if (isWebComponent) {\n // Stencil is using this class for lazy loading component\n parent.setAttribute(\"class\", \"hydrated\");\n } else {\n parent.removeAttribute(attr.name);\n }\n }\n }\n }\n }\n\n watch0Fn() {\n this.hasDivider = Boolean(this.isGroupTitle || this.showDivider);\n }\n\n @Watch(\"isGroupTitle\")\n @Watch(\"showDivider\")\n watch0() {\n this.watch0Fn();\n }\n\n componentDidLoad() {\n this.enableAttributePassing(this._ref, \"db-custom-select-list-item\");\n this._id = this.id ?? `custom-select-list-item-${uuid()}`;\n this.watch0Fn();\n }\n\n render() {\n return (\n <li\n class={cls(\"db-custom-select-list-item\", this.className, {\n \"db-checkbox\": this.type === \"checkbox\" && !this.isGroupTitle,\n \"db-radio\": this.type !== \"checkbox\" && !this.isGroupTitle,\n })}\n ref={(el: any) => {\n this._ref = el;\n }}\n id={this._id}\n data-divider={getBooleanAsString(this.hasDivider)}\n >\n {!this.isGroupTitle ? (\n <label\n data-icon={\n this.type !== \"checkbox\" && this.icon ? this.icon : undefined\n }\n data-hide-icon={getHideProp(this.showIcon)}\n data-icon-after={this.getIconAfter()}\n >\n <input\n class=\"db-custom-select-list-item-checkbox\"\n data-disable-focus=\"true\"\n type={this.type}\n name={this.name}\n form={this.name}\n checked={getBoolean(this.checked, \"checked\")}\n disabled={getBoolean(this.disabled, \"disabled\")}\n value={this.value}\n onChange={(event) => this.handleChange(event)}\n />\n {this.label ? this.label : <slot></slot>}\n </label>\n ) : (\n <span>{this.groupTitle}</span>\n )}\n </li>\n );\n }\n}\n"],"mappings":"2PAqDaA,EAAO,MAHnB,WAAAC,CAAAC,G,sHAsDUC,KAAGC,IAAGC,UACNF,KAAUG,WAAGD,UACbF,KAAeI,gBAAGF,UAClBF,KAAiBK,kBAAGH,UACpBF,KAAeM,gBAAGJ,UAClBF,KAAWO,YAAGL,UACdF,KAAUQ,WAAG,GACbR,KAAMS,OAAG,GACTT,KAAkBU,mBAAG,EA4P/B,CA1PC,aAAAC,G,MACE,UAAUC,EAAAZ,KAAKa,gBAAgB,MAAAD,SAAA,EAAAA,EAAAZ,KAAKc,aAAe,Q,CAErD,gBAAAC,G,YAEE,MAAKH,EAAAZ,KAAKgB,QAAI,MAAAJ,SAAA,SAAAA,EAAEK,SAASC,QAASlB,KAAKc,aAAe,UAAW,CAC/Dd,KAAKQ,WAAaR,KAAKK,kBACvBL,KAAKM,gBACHN,KAAKmB,kBACLC,EAAApB,KAAKgB,QAAI,MAAAI,SAAA,SAAAA,EAAEC,oBACXC,EACF,GAAIC,IAAgB,CAClBvB,KAAKU,mBAAqBV,KAAKM,gBAC/BkB,GAAM,IAAOxB,KAAKU,mBAAqB,IAAK,I,OAEzC,GACLV,KAAKW,mBACLc,EAAAzB,KAAKgB,QAAI,MAAAS,SAAA,SAAAA,EAAER,SAASC,SACnBlB,KAAK0B,UAAY1B,KAAK2B,WAAa3B,KAAK4B,WAAa5B,KAAK6B,SAC3D,CACA7B,KAAKQ,WAAaR,KAAKI,gBACvB,GAAImB,IAAgB,CAClBvB,KAAKU,oBAAqBoB,EAAA9B,KAAKa,gBAAgB,MAAAiB,SAAA,EAAAA,EAAAC,EAC/CP,GAAM,IAAOxB,KAAKU,mBAAqB,IAAK,I,OAEzC,GAAIsB,EAAkBhC,KAAKiC,QAASjC,KAAKkC,aAAc,CAC5DlC,KAAKQ,WAAaR,KAAKG,U,KAClB,CACLH,KAAKQ,WAAa,E,EAGtB,WAAA2B,CAAYC,GACV,GAAIpC,KAAKqC,MAAO,CACdrC,KAAKqC,MAAMC,KAAKF,E,CAElBpC,KAAKe,kB,CAEP,YAAAwB,CAAaH,GACX,GAAIpC,KAAKwC,OAAQ,CACfxC,KAAKwC,OAAOF,KAAKF,E,CAEnBpC,KAAKe,kB,CAEP,UAAA0B,CAAWL,GACT,GAAIpC,KAAK0C,KAAM,CACb1C,KAAK0C,KAAKJ,KAAKF,E,EAGnB,WAAAO,CAAYP,GACV,GAAIpC,KAAK4C,MAAO,CACd5C,KAAK4C,MAAMN,KAAKF,E,EAGpB,WAAAS,GACE,MAAMC,EAAQ9C,KAAK+C,SACnB,OAAOC,MAAMC,MACVC,EAAiBJ,GACdA,IAAA,MAAAA,SAAK,SAALA,EAAOK,KAAKC,IAAW,CACrBC,MAAOD,EACPE,MAAOpD,cAET4C,IAAU,G,CASV,sBAAAS,CACNC,EACAC,GAEA,MAAMC,EAASF,IAAO,MAAPA,SAAO,SAAPA,EAASG,QAAQF,GAChC,GAAID,GAAWE,EAAQ,CACrB,MAAME,EAAaF,EAAOE,WAC1B,IAAK,IAAIC,EAAI,EAAGA,EAAID,EAAWE,OAAQD,IAAK,CAC1C,MAAME,EAAOH,EAAWI,KAAKH,GAC7B,GACEE,IACCA,EAAKE,KAAKC,WAAW,UAAYH,EAAKE,KAAKC,WAAW,UACvD,CACAV,EAAQW,aAAaJ,EAAKE,KAAMF,EAAKV,OACrCK,EAAOU,gBAAgBL,EAAKE,K,CAE9B,GAAIF,GAAQA,EAAKE,OAAS,QAAS,CACjC,MAAMI,EAAiBN,EAAKV,MAAMiB,SAAS,YAC3C,MAAMjB,EAAQU,EAAKV,MAAMkB,QAAQ,WAAY,IAAIC,OACjD,MAAMC,EAAejB,EAAQkB,aAAa,SAC1ClB,EAAQW,aACNJ,EAAKE,KACL,GAAGQ,EAAe,GAAGA,KAAkB,KAAKpB,KAE9C,GAAIgB,EAAgB,CAElBX,EAAOS,aAAa,QAAS,W,KACxB,CACLT,EAAOU,gBAAgBL,EAAKE,K,KAOtC,QAAAU,G,MACE3E,KAAKM,gBACHN,KAAKmB,kBACLP,EAAAZ,KAAKgB,QAAI,MAAAJ,SAAA,SAAAA,EAAES,oBACXC,C,CAKJ,MAAAsD,GACE5E,KAAK2E,U,CAGP,QAAAE,G,MACE,GAAI7E,KAAKC,IAAK,CACZ,MAAM6E,EAAY9E,KAAKC,IAAM8E,EAC7B/E,KAAKG,WAAa2E,EAClB9E,KAAKI,gBAAkBJ,KAAKC,IAAM+E,EAClChF,KAAKK,kBAAoBL,KAAKC,IAAMgF,EACpCjF,KAAKO,aACHK,EAAAZ,KAAKkF,cAAU,MAAAtE,SAAA,EAAAA,EAAIZ,KAAKC,IAAMkF,EAChC,GAAInD,EAAkBhC,KAAKiC,QAASjC,KAAKkC,aAAc,CACrDlC,KAAKQ,WAAasE,C,GAMxB,MAAAM,GACEpF,KAAK6E,U,CAGP,QAAAQ,GACErF,KAAKS,OAAST,KAAKqD,K,CAIrB,MAAAiC,GACEtF,KAAKqF,U,CAGP,gBAAAE,G,MACEvF,KAAKuD,uBAAuBvD,KAAKgB,KAAM,YACvC,MAAMwE,GAAM5E,EAAAZ,KAAKyF,MAAE,MAAA7E,SAAA,EAAAA,EAAI,SAAS8E,MAChC1F,KAAKC,IAAMuF,EACXxF,KAAKG,WAAaqF,EAAMT,EACxB/E,KAAKI,gBAAkBoF,EAAMR,EAC7BhF,KAAKK,kBAAoBmF,EAAMP,EAC/BjF,KAAKO,YAAciF,EAAML,EACzBnF,KAAKM,gBAAkBN,KAAKmB,gBAAkBG,EAC9CtB,KAAK2E,WACL3E,KAAK6E,WACL7E,KAAKqF,U,CAGP,MAAAM,G,cACE,OACEC,EAAA,OAAAC,IAAA,2CACEC,MAAOC,EAAI,WAAY/F,KAAKgG,WAAU,eACxBhG,KAAKiG,QAAO,kBACTC,EAAYlG,KAAKmG,WAClB,iBAAAD,EAAYlG,KAAKoG,UAAS,YAC/BpG,KAAKqG,KAAI,kBACHrG,KAAKsG,UACA,uBAAAJ,EAAYlG,KAAKoG,WAEvCR,EAAA,SAAAC,IAAA,2CAAOU,QAASvG,KAAKC,MAAMW,EAAAZ,KAAKsD,SAAS,MAAA1C,SAAA,EAAAA,EAAA4F,GACzCZ,EAAA,SAAAC,IAAA,0DACgB7F,KAAKc,aAAe,UACZ,uBAAAd,KAAKc,WAC3B2F,IAAMC,IACJ1G,KAAKgB,KAAO0F,CAAE,EAEhBjB,GAAIzF,KAAKC,IACTgE,KAAMjE,KAAKiE,KACX0C,KAAM3G,KAAK2G,MAAQ,OACnBC,aAAaxF,EAAApB,KAAK4G,eAAW,MAAAxF,SAAA,EAAAA,EAAIyF,EACjCC,SAAUC,EAAW/G,KAAK8G,SAAU,YACpCpF,SAAUqF,EAAW/G,KAAK0B,SAAU,YACpCsF,KAAMC,EAAUjH,KAAKgH,MACrB3D,OAAO5B,EAAAzB,KAAKqD,SAAK,MAAA5B,SAAA,EAAAA,EAAIzB,KAAKS,OAC1BmB,UAAWqF,EAAUjH,KAAK4B,UAAW5B,KAAKkH,WAC1CvF,UAAWsF,EAAUjH,KAAK2B,UAAW3B,KAAKmH,WAC1CC,IAAKH,EAAUjH,KAAKoH,KACpBC,IAAKJ,EAAUjH,KAAKqH,KACpBC,SACEP,EAAW/G,KAAKsH,SAAU,aAC1BP,EAAW/G,KAAKuH,SAAU,YAE5BC,KAAMxH,KAAKwH,KACX3F,QAAS7B,KAAK6B,QACd4F,KAAMzH,KAAKyH,KACXC,aAAc1H,KAAK2H,aACnBC,UAAWb,EAAW/G,KAAK6H,UAAW,aACtCC,QAAU1F,GAAUpC,KAAKmC,YAAYC,GACrC2F,SAAW3F,GAAUpC,KAAKuC,aAAaH,GACvC4F,OAAS5F,GAAUpC,KAAKyC,WAAWL,GACnC6F,QAAU7F,GAAUpC,KAAK2C,YAAYP,GACrC8F,KAAMlI,KAAK+C,UAAY/C,KAAKO,YAAW,oBACrBuB,EAAA9B,KAAKmI,mBAAmB,MAAArG,SAAA,EAAAA,EAAA9B,KAAKQ,aAEhDR,KAAK+C,SACJ6C,EAAA,YAAUH,GAAIzF,KAAKO,cAChB6H,EAAApI,KAAK6C,iBAAe,MAAAuF,SAAA,SAAAA,EAAAjF,KAAKkF,GACxBzC,EAAA,UACEC,IAAK7F,KAAKO,YAAc,WAAa8H,EAAOhF,MAC5CA,MAAOgF,EAAOhF,OAEbgF,EAAO/E,UAIZ,KACJsC,EAAa,QAAAC,IAAA,6CACZ7D,EAAkBhC,KAAKiC,QAASjC,KAAKkC,aACpC0D,EAAA,eACE6B,KAAK,QACLpB,KAAMrG,KAAKsI,YACX7C,GAAIzF,KAAKG,YAERH,KAAKiC,SAEN,KACHjC,KAAKW,gBACJiF,EACE,eAAA6B,KAAK,QACLc,SAAS,aACT9C,GAAIzF,KAAKI,iBAERJ,KAAKa,cAAgBkB,GAEtB,KACJ6D,EAAA,eAAAC,IAAA,2CACE4B,KAAK,QACLc,SAAS,WACT9C,GAAIzF,KAAKK,mBAERL,KAAKM,iBAERsF,EAAA,QAAAC,IAAA,kEAA2B,OAAO2C,KAAK,UACpCxI,KAAKU,oB,iHC/UH+H,EAAK,MAHjB,WAAA3I,CAAAC,G,uCAqBUC,KAAW0I,YAAG,KAuHxB,CArHC,YAAAC,CAAavG,GACX,GAAIpC,KAAK4I,OAAQ,CACf5I,KAAK4I,OAAOtG,KAAKF,E,EAGrB,mBAAAyG,GACE,GAAI7I,KAAK8I,aAAc,CACrB,OAAO9I,KAAK8I,Y,CAId,OAAOC,C,CAQD,sBAAAxF,CACNC,EACAC,GAEA,MAAMC,EAASF,IAAO,MAAPA,SAAO,SAAPA,EAASG,QAAQF,GAChC,GAAID,GAAWE,EAAQ,CACrB,MAAME,EAAaF,EAAOE,WAC1B,IAAK,IAAIC,EAAI,EAAGA,EAAID,EAAWE,OAAQD,IAAK,CAC1C,MAAME,EAAOH,EAAWI,KAAKH,GAC7B,GACEE,IACCA,EAAKE,KAAKC,WAAW,UAAYH,EAAKE,KAAKC,WAAW,UACvD,CACAV,EAAQW,aAAaJ,EAAKE,KAAMF,EAAKV,OACrCK,EAAOU,gBAAgBL,EAAKE,K,CAE9B,GAAIF,GAAQA,EAAKE,OAAS,QAAS,CACjC,MAAMI,EAAiBN,EAAKV,MAAMiB,SAAS,YAC3C,MAAMjB,EAAQU,EAAKV,MAAMkB,QAAQ,WAAY,IAAIC,OACjD,MAAMC,EAAejB,EAAQkB,aAAa,SAC1ClB,EAAQW,aACNJ,EAAKE,KACL,GAAGQ,EAAe,GAAGA,KAAkB,KAAKpB,KAE9C,GAAIgB,EAAgB,CAElBX,EAAOS,aAAa,QAAS,W,KACxB,CACLT,EAAOU,gBAAgBL,EAAKE,K,KAOtC,QAAAU,G,QACE,GAAI3E,KAAK0I,aAAe1I,KAAKgB,MAAQhB,KAAK8G,WAAa5G,UAAW,CAChE,MAAM8I,GAAmCpI,EAAAZ,KAAKgB,QAAI,MAAAJ,SAAA,SAAAA,EAAEqI,cAClD,qCAEF,MAAM5G,GAAiCjB,EAAApB,KAAKgB,QAAI,MAAAI,SAAA,SAAAA,EAAE6H,cAAc,SAChE,IAAK,MAAMzF,IAAW,CAACwF,EAAQ3G,GAAQ,CACrC,GAAImB,EAAS,CACXA,EAAQsD,SAAWoC,QAAQlJ,KAAK8G,S,IASxC,MAAAlC,GACE5E,KAAK2E,U,CAGP,gBAAAY,GACEvF,KAAKuD,uBAAuBvD,KAAKgB,KAAM,UAEvChB,KAAK2E,U,CAGP,MAAAgB,G,MACE,OACEC,EACE,OAAAC,IAAA,2CAAAC,MAAOC,EAAI,SAAU/F,KAAKgG,WAC1BS,IAAMC,IACJ1G,KAAKgB,KAAO0F,CAAE,EAEhBjB,GAAIzF,KAAKyF,GACM,gBAAA0D,EAAmBnJ,KAAK8G,UACxB,gBAAA9G,KAAKuI,SACL,gBAAAvI,KAAKoJ,SACT,YAAApJ,KAAKqG,KACO,wBAAA8C,GAAmBvI,EAAAZ,KAAKqJ,kBAAkB,MAAAzI,SAAA,EAAAA,EAAA,MAAK,iBACtDsF,EAAYlG,KAAKoG,UAAS,eAC5B+C,EAAmBnJ,KAAKsJ,QACvB,gBAAAH,EAAmBnJ,KAAKuJ,WAEvC3D,EAAM,QAAAC,IAAA,2CAAA5B,KAAK,YACX2B,EAAa,QAAAC,IAAA,6CACZ7F,KAAKwJ,KAAOxJ,KAAKwJ,KAAO,KACxBxJ,KAAKyJ,WAAa,YACjB7D,EACE,UAAAE,MAAM,iCAAgC,YAC5B,QAAO,YACP,QAAO,eACJ,OAAM,eACN,QACb4D,QAAUtH,GAAUpC,KAAK2I,aAAavG,GACtCuH,MAAO3J,KAAK6I,uBAEX7I,KAAK6I,uBAEN,K,kGC9ICe,EAAS,MAHrB,WAAA9J,CAAAC,G,UAaUC,KAAGC,IAAG4J,EACN7J,KAAW0I,YAAG,KAuGxB,CArGC,WAAAoB,CAAY1H,GACVA,EAAM2H,iB,CAER,mBAAAC,GACE,GAAIhK,KAAKgB,KAAMiJ,EAAkBjK,KAAKgB,K,CAQhC,sBAAAuC,CACNC,EACAC,GAEA,MAAMC,EAASF,IAAO,MAAPA,SAAO,SAAPA,EAASG,QAAQF,GAChC,GAAID,GAAWE,EAAQ,CACrB,MAAME,EAAaF,EAAOE,WAC1B,IAAK,IAAIC,EAAI,EAAGA,EAAID,EAAWE,OAAQD,IAAK,CAC1C,MAAME,EAAOH,EAAWI,KAAKH,GAC7B,GACEE,IACCA,EAAKE,KAAKC,WAAW,UAAYH,EAAKE,KAAKC,WAAW,UACvD,CACAV,EAAQW,aAAaJ,EAAKE,KAAMF,EAAKV,OACrCK,EAAOU,gBAAgBL,EAAKE,K,CAE9B,GAAIF,GAAQA,EAAKE,OAAS,QAAS,CACjC,MAAMI,EAAiBN,EAAKV,MAAMiB,SAAS,YAC3C,MAAMjB,EAAQU,EAAKV,MAAMkB,QAAQ,WAAY,IAAIC,OACjD,MAAMC,EAAejB,EAAQkB,aAAa,SAC1ClB,EAAQW,aACNJ,EAAKE,KACL,GAAGQ,EAAe,GAAGA,KAAkB,KAAKpB,KAE9C,GAAIgB,EAAgB,CAElBX,EAAOS,aAAa,QAAS,W,KACxB,CACLT,EAAOU,gBAAgBL,EAAKE,K,KAOtC,QAAAU,GACE,GAAI3E,KAAKgB,MAAQhB,KAAK0I,aAAe1I,KAAKC,IAAK,CAC7C,IAAIyD,EAAS1D,KAAKgB,KAAKkJ,cACvB,GAAIxG,GAAUA,EAAOyG,UAAU7F,SAAS,WAAY,CAElDZ,EAASA,EAAOwG,a,CAElB,GAAIxG,EAAQ,CACV,CAAC,aAAc,SAAS0G,SAAShI,IAC/BsB,EAAO2G,iBAAiBjI,GAAO,IAAMpC,KAAKgK,uBAAsB,IAElEtG,EAAOS,aAAa,mBAAoB,QACxCT,EAAOS,aAAa,mBAAoBnE,KAAKC,I,CAE/CD,KAAK0I,YAAc,K,EAMvB,MAAA9D,GACE5E,KAAK2E,U,CAGP,gBAAAY,GACEvF,KAAKuD,uBAAuBvD,KAAKgB,KAAM,cACvChB,KAAKC,IAAMD,KAAKyF,IAAM,WAAaC,IACnC1F,KAAK0I,YAAc,KACnB1I,KAAK2E,U,CAGP,MAAAgB,G,QACE,OACEC,EACE,KAAAC,IAAA,2CAAAC,MAAOC,EAAI,aAAc/F,KAAKgG,WAC9BwC,KAAK,UACO,qBACH,kBACT/B,IAAMC,IACJ1G,KAAKgB,KAAO0F,CAAE,EAEhBjB,GAAIzF,KAAKC,IACM,gBAAAD,KAAKoJ,SACJ,iBAAAD,GAAmBvI,EAAAZ,KAAKsK,aAAa,MAAA1J,SAAA,EAAAA,EAAA,MAAK,aAC9CZ,KAAKwB,MAAK,aACVxB,KAAKuK,MACA,kBAAApB,GAAmB/H,EAAApB,KAAKwK,aAAS,MAAApJ,SAAA,EAAAA,EAAI,MACtC,iBAAApB,KAAKyK,UACrBf,QAAUtH,GAAUpC,KAAK8J,YAAY1H,IAErCwD,EAAa,QAAAC,IAAA,6C,8EChHR6E,EAAsB,MAHlC,WAAA5K,CAAAC,G,UAOSC,KAAKuK,MAAyC,OA6DvD,CAtDS,sBAAAhH,CACNC,EACAC,GAEA,MAAMC,EAASF,IAAO,MAAPA,SAAO,SAAPA,EAASG,QAAQF,GAChC,GAAID,GAAWE,EAAQ,CACrB,MAAME,EAAaF,EAAOE,WAC1B,IAAK,IAAIC,EAAI,EAAGA,EAAID,EAAWE,OAAQD,IAAK,CAC1C,MAAME,EAAOH,EAAWI,KAAKH,GAC7B,GACEE,IACCA,EAAKE,KAAKC,WAAW,UAAYH,EAAKE,KAAKC,WAAW,UACvD,CACAV,EAAQW,aAAaJ,EAAKE,KAAMF,EAAKV,OACrCK,EAAOU,gBAAgBL,EAAKE,K,CAE9B,GAAIF,GAAQA,EAAKE,OAAS,QAAS,CACjC,MAAMI,EAAiBN,EAAKV,MAAMiB,SAAS,YAC3C,MAAMjB,EAAQU,EAAKV,MAAMkB,QAAQ,WAAY,IAAIC,OACjD,MAAMC,EAAejB,EAAQkB,aAAa,SAC1ClB,EAAQW,aACNJ,EAAKE,KACL,GAAGQ,EAAe,GAAGA,KAAkB,KAAKpB,KAE9C,GAAIgB,EAAgB,CAElBX,EAAOS,aAAa,QAAS,W,KACxB,CACLT,EAAOU,gBAAgBL,EAAKE,K,KAOtC,gBAAAsB,GACEvF,KAAKuD,uBAAuBvD,KAAKgB,KAAM,4B,CAGzC,MAAA2E,GACE,OACEC,EAAA,WAAAC,IAAA,2CACEC,MAAOC,EAAI,oCAAqC/F,KAAKgG,WAAU,eAClD,OACbS,IAAMC,IACJ1G,KAAKgB,KAAO0F,CAAE,EAEhBjB,GAAIzF,KAAKyF,GAAE,aACCzF,KAAKuK,OAEjB3E,EAAa,QAAAC,IAAA,6C,SC7DR8E,EAAkB,M,yBAYrB,sBAAApH,CACNC,EACAC,GAEA,MAAMC,EAASF,IAAO,MAAPA,SAAO,SAAPA,EAASG,QAAQF,GAChC,GAAID,GAAWE,EAAQ,CACrB,MAAME,EAAaF,EAAOE,WAC1B,IAAK,IAAIC,EAAI,EAAGA,EAAID,EAAWE,OAAQD,IAAK,CAC1C,MAAME,EAAOH,EAAWI,KAAKH,GAC7B,GACEE,IACCA,EAAKE,KAAKC,WAAW,UAAYH,EAAKE,KAAKC,WAAW,UACvD,CACAV,EAAQW,aAAaJ,EAAKE,KAAMF,EAAKV,OACrCK,EAAOU,gBAAgBL,EAAKE,K,CAE9B,GAAIF,GAAQA,EAAKE,OAAS,QAAS,CACjC,MAAMI,EAAiBN,EAAKV,MAAMiB,SAAS,YAC3C,MAAMjB,EAAQU,EAAKV,MAAMkB,QAAQ,WAAY,IAAIC,OACjD,MAAMC,EAAejB,EAAQkB,aAAa,SAC1ClB,EAAQW,aACNJ,EAAKE,KACL,GAAGQ,EAAe,GAAGA,KAAkB,KAAKpB,KAE9C,GAAIgB,EAAgB,CAElBX,EAAOS,aAAa,QAAS,W,KACxB,CACLT,EAAOU,gBAAgBL,EAAKE,K,KAOtC,gBAAAsB,GACEvF,KAAKuD,uBAAuBvD,KAAKgB,KAAM,wB,CAGzC,MAAA2E,GACE,OACEC,EACE,OAAAC,IAAA,2CAAAC,MAAOC,EAAI,wBAAyB/F,KAAKgG,WACzCwC,KAAMxI,KAAK4K,SAAW,QAAU,aACpB,aAAA5K,KAAKsD,MACjBmD,IAAMC,IACJ1G,KAAKgB,KAAO0F,CAAE,EAEhBjB,GAAIzF,KAAKyF,IAETG,EAAA,MAAAC,IAAA,4CACED,EAAa,QAAAC,IAAA,8C,SCxCVgF,EAAsB,MAHlC,WAAA/K,CAAAC,G,uCAqBUC,KAAGC,IAAGC,UACNF,KAAU8K,WAAG,KA+GvB,CA7GC,YAAAvI,CAAaH,GACXA,EAAM2H,kBACN,GAAI/J,KAAKwC,OAAQ,CACfxC,KAAKwC,OAAOF,KAAKF,E,EAGrB,YAAA2I,GACE,GAAI/K,KAAKgL,cAAgBhL,KAAK2G,OAAS,WAAY,CACjD,M,CAEF,OAAOI,EAAW/G,KAAKiL,QAAS,WAAa,QAAU,e,CAQjD,sBAAA1H,CACNC,EACAC,GAEA,MAAMC,EAASF,IAAO,MAAPA,SAAO,SAAPA,EAASG,QAAQF,GAChC,GAAID,GAAWE,EAAQ,CACrB,MAAME,EAAaF,EAAOE,WAC1B,IAAK,IAAIC,EAAI,EAAGA,EAAID,EAAWE,OAAQD,IAAK,CAC1C,MAAME,EAAOH,EAAWI,KAAKH,GAC7B,GACEE,IACCA,EAAKE,KAAKC,WAAW,UAAYH,EAAKE,KAAKC,WAAW,UACvD,CACAV,EAAQW,aAAaJ,EAAKE,KAAMF,EAAKV,OACrCK,EAAOU,gBAAgBL,EAAKE,K,CAE9B,GAAIF,GAAQA,EAAKE,OAAS,QAAS,CACjC,MAAMI,EAAiBN,EAAKV,MAAMiB,SAAS,YAC3C,MAAMjB,EAAQU,EAAKV,MAAMkB,QAAQ,WAAY,IAAIC,OACjD,MAAMC,EAAejB,EAAQkB,aAAa,SAC1ClB,EAAQW,aACNJ,EAAKE,KACL,GAAGQ,EAAe,GAAGA,KAAkB,KAAKpB,KAE9C,GAAIgB,EAAgB,CAElBX,EAAOS,aAAa,QAAS,W,KACxB,CACLT,EAAOU,gBAAgBL,EAAKE,K,KAOtC,QAAAU,GACE3E,KAAK8K,WAAa5B,QAAQlJ,KAAKgL,cAAgBhL,KAAKkL,Y,CAKtD,MAAAtG,GACE5E,KAAK2E,U,CAGP,gBAAAY,G,MACEvF,KAAKuD,uBAAuBvD,KAAKgB,KAAM,8BACvChB,KAAKC,KAAMW,EAAAZ,KAAKyF,MAAE,MAAA7E,SAAA,EAAAA,EAAI,2BAA2B8E,MACjD1F,KAAK2E,U,CAGP,MAAAgB,GACE,OACEC,EACE,MAAAC,IAAA,2CAAAC,MAAOC,EAAI,6BAA8B/F,KAAKgG,UAAW,CACvD,cAAehG,KAAK2G,OAAS,aAAe3G,KAAKgL,aACjD,WAAYhL,KAAK2G,OAAS,aAAe3G,KAAKgL,eAEhDvE,IAAMC,IACJ1G,KAAKgB,KAAO0F,CAAE,EAEhBjB,GAAIzF,KAAKC,IACK,eAAAkJ,EAAmBnJ,KAAK8K,cAEpC9K,KAAKgL,aACLpF,EAEI,qBAAA5F,KAAK2G,OAAS,YAAc3G,KAAKqG,KAAOrG,KAAKqG,KAAOnG,UAAS,iBAE/CgG,EAAYlG,KAAKoG,UAChB,kBAAApG,KAAK+K,gBAEtBnF,EAAA,SACEE,MAAM,sCAAqC,qBACxB,OACnBa,KAAM3G,KAAK2G,KACX1C,KAAMjE,KAAKiE,KACXuD,KAAMxH,KAAKiE,KACXgH,QAASlE,EAAW/G,KAAKiL,QAAS,WAClCnE,SAAUC,EAAW/G,KAAK8G,SAAU,YACpCzD,MAAOrD,KAAKqD,MACZ0E,SAAW3F,GAAUpC,KAAKuC,aAAaH,KAExCpC,KAAKsD,MAAQtD,KAAKsD,MAAQsC,EAAa,cAG1CA,EAAO,YAAA5F,KAAKmL,Y","ignoreList":[]}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{r as i,c as t,h as s}from"./p-BrqIMKjE.js";import{u as a,j as h,l as e,c as d}from"./p-TU0pfK1i.js";const c=class{constructor(s){i(this,s);this.change=t(this,"change");this.blur=t(this,"blur");this.focus=t(this,"focus");this.initialized=false;this._id=undefined}handleChange(i){if(this.change){this.change.emit(i)}}handleBlur(i){if(this.blur){this.blur.emit(i)}}handleFocus(i){if(this.focus){this.focus.emit(i)}}enableAttributePassing(i,t){const s=i===null||i===void 0?void 0:i.closest(t);if(i&&s){const t=s.attributes;for(let a=0;a<t.length;a++){const h=t.item(a);if(h&&(h.name.startsWith("data-")||h.name.startsWith("aria-"))){i.setAttribute(h.name,h.value);s.removeAttribute(h.name)}if(h&&h.name==="class"){const t=h.value.includes("hydrated");const a=h.value.replace("hydrated","").trim();const e=i.getAttribute("class");i.setAttribute(h.name,`${e?`${e} `:""}${a}`);if(t){s.setAttribute("class","hydrated")}else{s.removeAttribute(h.name)}}}}}watch0Fn(){if(this.checked&&this.initialized&&this._ref){this._ref.checked=true}}watch0(){this.watch0Fn()}componentDidLoad(){var i;this.enableAttributePassing(this._ref,"db-radio");this.initialized=true;this._id=(i=this.id)!==null&&i!==void 0?i:`radio-${a()}`;this.watch0Fn()}render(){return s("label",{key:"5fb0000582762ca28fae2a4cd4c344ae3de070a5",class:d("db-radio",this.className),"data-size":this.size,"data-hide-label":e(this.showLabel),htmlFor:this._id},s("input",{key:"bb66c8bc5740ca430e9131c7f31efeba4910fd76",type:"radio","aria-invalid":this.validation==="invalid","data-custom-validity":this.validation,ref:i=>{this._ref=i},id:this._id,name:this.name,checked:h(this.checked,"checked"),disabled:h(this.disabled,"disabled"),"aria-describedby":this.describedbyid,value:this.value,required:h(this.required,"required"),onChange:i=>this.handleChange(i),onBlur:i=>this.handleBlur(i),onFocus:i=>this.handleFocus(i)}),this.label?this.label:s("slot",null))}static get watchers(){return{initialized:["watch0"],_ref:["watch0"],checked:["watch0"]}}};export{c as db_radio};
|
|
2
|
-
//# sourceMappingURL=p-ba7c5e1f.entry.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["DBRadio","constructor","hostRef","this","initialized","_id","undefined","handleChange","event","change","emit","handleBlur","blur","handleFocus","focus","enableAttributePassing","element","customElementSelector","parent","closest","attributes","i","length","attr","item","name","startsWith","setAttribute","value","removeAttribute","isWebComponent","includes","replace","trim","currentClass","getAttribute","watch0Fn","checked","_ref","watch0","componentDidLoad","_a","id","uuid","render","h","key","class","cls","className","size","getHideProp","showLabel","htmlFor","type","validation","ref","el","getBoolean","disabled","describedbyid","required","onChange","onBlur","onFocus","label"],"sources":["src/components/radio/radio.tsx"],"sourcesContent":["import { DBRadioProps, DBRadioState } from \"./model\";\nimport { cls, getBoolean, getHideProp, uuid } from \"../../utils\";\nimport { ChangeEvent, InteractionEvent } from \"../../shared/model\";\nimport {\n handleFrameworkEventAngular,\n handleFrameworkEventVue,\n} from \"../../utils/form-components\";\n\nimport {\n Component,\n h,\n Fragment,\n Watch,\n Event,\n EventEmitter,\n Prop,\n State,\n} from \"@stencil/core\";\n\n\n/**\n * @slot children - This is a default/unnamed slot\n\n */\n @Component({\n tag: \"db-radio\",\n})\nexport class DBRadio {\n private _ref!: HTMLInputElement | any;\n @Prop() id: DBRadioProps[\"id\"];\n @Prop() checked: DBRadioProps[\"checked\"];\n @Event() change: EventEmitter<\n Parameters<Required<DBRadioProps>[\"onChange\"]>[number]\n > | void;\n @Event() blur: EventEmitter<\n Parameters<Required<DBRadioProps>[\"onBlur\"]>[number]\n > | void;\n @Event() focus: EventEmitter<\n Parameters<Required<DBRadioProps>[\"onFocus\"]>[number]\n > | void;\n @Prop() size: DBRadioProps[\"size\"];\n @Prop() showLabel: DBRadioProps[\"showLabel\"];\n @Prop({attribute: \"classname\"}) className: DBRadioProps[\"className\"];\n @Prop() validation: DBRadioProps[\"validation\"];\n @Prop() name: DBRadioProps[\"name\"];\n @Prop() disabled: DBRadioProps[\"disabled\"];\n @Prop() describedbyid: DBRadioProps[\"describedbyid\"];\n @Prop() value: DBRadioProps[\"value\"];\n @Prop() required: DBRadioProps[\"required\"];\n @Prop() label: DBRadioProps[\"label\"];\n @State() initialized = false;\n @State() _id = undefined;\n\n handleChange(event: ChangeEvent<HTMLInputElement> | any) {\n if (this.change) {\n this.change.emit(event);\n }\n }\n handleBlur(event: InteractionEvent<HTMLInputElement> | any) {\n if (this.blur) {\n this.blur.emit(event);\n }\n }\n handleFocus(event: InteractionEvent<HTMLInputElement> | any) {\n if (this.focus) {\n this.focus.emit(event);\n }\n }\n\n /**\n * Passes `aria-*`, `data-*` & `class` attributes to correct child. Used in angular and stencil.\n * @param element the ref for the component\n * @param customElementSelector the custom element like `my-component`\n */\n private enableAttributePassing(\n element: HTMLInputElement | null,\n customElementSelector: string\n ) {\n const parent = element?.closest(customElementSelector);\n if (element && parent) {\n const attributes = parent.attributes;\n for (let i = 0; i < attributes.length; i++) {\n const attr = attributes.item(i);\n if (\n attr &&\n (attr.name.startsWith(\"data-\") || attr.name.startsWith(\"aria-\"))\n ) {\n element.setAttribute(attr.name, attr.value);\n parent.removeAttribute(attr.name);\n }\n if (attr && attr.name === \"class\") {\n const isWebComponent = attr.value.includes(\"hydrated\");\n const value = attr.value.replace(\"hydrated\", \"\").trim();\n const currentClass = element.getAttribute(\"class\");\n element.setAttribute(\n attr.name,\n `${currentClass ? `${currentClass} ` : \"\"}${value}`\n );\n if (isWebComponent) {\n // Stencil is using this class for lazy loading component\n parent.setAttribute(\"class\", \"hydrated\");\n } else {\n parent.removeAttribute(attr.name);\n }\n }\n }\n }\n }\n\n watch0Fn() {\n if (this.checked && this.initialized && this._ref) {\n this._ref.checked = true;\n }\n }\n\n @Watch(\"initialized\")\n @Watch(\"_ref\")\n @Watch(\"checked\")\n watch0() {\n this.watch0Fn();\n }\n\n componentDidLoad() {\n this.enableAttributePassing(this._ref, \"db-radio\");\n this.initialized = true;\n this._id = this.id ?? `radio-${uuid()}`;\n this.watch0Fn();\n }\n\n render() {\n return (\n <label\n class={cls(\"db-radio\", this.className)}\n data-size={this.size}\n data-hide-label={getHideProp(this.showLabel)}\n htmlFor={this._id}\n >\n <input\n type=\"radio\"\n aria-invalid={this.validation === \"invalid\"}\n data-custom-validity={this.validation}\n ref={(el: any) => {\n this._ref = el;\n }}\n id={this._id}\n name={this.name}\n checked={getBoolean(this.checked, \"checked\")}\n disabled={getBoolean(this.disabled, \"disabled\")}\n aria-describedby={this.describedbyid}\n value={this.value}\n required={getBoolean(this.required, \"required\")}\n onChange={(event) => this.handleChange(event)}\n onBlur={(event) => this.handleBlur(event)}\n onFocus={(event) => this.handleFocus(event)}\n />\n {this.label ? this.label : <slot></slot>}\n </label>\n );\n }\n}\n"],"mappings":"iHA2BaA,EAAO,MAHnB,WAAAC,CAAAC,G,2FA0BUC,KAAWC,YAAG,MACdD,KAAGE,IAAGC,SA4GhB,CA1GC,YAAAC,CAAaC,GACX,GAAIL,KAAKM,OAAQ,CACfN,KAAKM,OAAOC,KAAKF,E,EAGrB,UAAAG,CAAWH,GACT,GAAIL,KAAKS,KAAM,CACbT,KAAKS,KAAKF,KAAKF,E,EAGnB,WAAAK,CAAYL,GACV,GAAIL,KAAKW,MAAO,CACdX,KAAKW,MAAMJ,KAAKF,E,EASZ,sBAAAO,CACNC,EACAC,GAEA,MAAMC,EAASF,IAAO,MAAPA,SAAO,SAAPA,EAASG,QAAQF,GAChC,GAAID,GAAWE,EAAQ,CACrB,MAAME,EAAaF,EAAOE,WAC1B,IAAK,IAAIC,EAAI,EAAGA,EAAID,EAAWE,OAAQD,IAAK,CAC1C,MAAME,EAAOH,EAAWI,KAAKH,GAC7B,GACEE,IACCA,EAAKE,KAAKC,WAAW,UAAYH,EAAKE,KAAKC,WAAW,UACvD,CACAV,EAAQW,aAAaJ,EAAKE,KAAMF,EAAKK,OACrCV,EAAOW,gBAAgBN,EAAKE,K,CAE9B,GAAIF,GAAQA,EAAKE,OAAS,QAAS,CACjC,MAAMK,EAAiBP,EAAKK,MAAMG,SAAS,YAC3C,MAAMH,EAAQL,EAAKK,MAAMI,QAAQ,WAAY,IAAIC,OACjD,MAAMC,EAAelB,EAAQmB,aAAa,SAC1CnB,EAAQW,aACNJ,EAAKE,KACL,GAAGS,EAAe,GAAGA,KAAkB,KAAKN,KAE9C,GAAIE,EAAgB,CAElBZ,EAAOS,aAAa,QAAS,W,KACxB,CACLT,EAAOW,gBAAgBN,EAAKE,K,KAOtC,QAAAW,GACE,GAAIjC,KAAKkC,SAAWlC,KAAKC,aAAeD,KAAKmC,KAAM,CACjDnC,KAAKmC,KAAKD,QAAU,I,EAOxB,MAAAE,GACEpC,KAAKiC,U,CAGP,gBAAAI,G,MACErC,KAAKY,uBAAuBZ,KAAKmC,KAAM,YACvCnC,KAAKC,YAAc,KACnBD,KAAKE,KAAMoC,EAAAtC,KAAKuC,MAAE,MAAAD,SAAA,EAAAA,EAAI,SAASE,MAC/BxC,KAAKiC,U,CAGP,MAAAQ,GACE,OACEC,EAAA,SAAAC,IAAA,2CACEC,MAAOC,EAAI,WAAY7C,KAAK8C,WACjB,YAAA9C,KAAK+C,KACC,kBAAAC,EAAYhD,KAAKiD,WAClCC,QAASlD,KAAKE,KAEdwC,EAAA,SAAAC,IAAA,2CACEQ,KAAK,QAAO,eACEnD,KAAKoD,aAAe,UAAS,uBACrBpD,KAAKoD,WAC3BC,IAAMC,IACJtD,KAAKmC,KAAOmB,CAAE,EAEhBf,GAAIvC,KAAKE,IACToB,KAAMtB,KAAKsB,KACXY,QAASqB,EAAWvD,KAAKkC,QAAS,WAClCsB,SAAUD,EAAWvD,KAAKwD,SAAU,YAAW,mBAC7BxD,KAAKyD,cACvBhC,MAAOzB,KAAKyB,MACZiC,SAAUH,EAAWvD,KAAK0D,SAAU,YACpCC,SAAWtD,GAAUL,KAAKI,aAAaC,GACvCuD,OAASvD,GAAUL,KAAKQ,WAAWH,GACnCwD,QAAUxD,GAAUL,KAAKU,YAAYL,KAEtCL,KAAK8D,MAAQ9D,KAAK8D,MAAQpB,EAAa,a","ignoreList":[]}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{r as t,c as s,h as i}from"./p-BrqIMKjE.js";import{g as a,l as d,j as e,c as h}from"./p-TU0pfK1i.js";const o=class{constructor(i){t(this,i);this.click=s(this,"click")}handleClick(t){if(this.click){this.click.emit(t)}}enableAttributePassing(t,s){const i=t===null||t===void 0?void 0:t.closest(s);if(t&&i){const s=i.attributes;for(let a=0;a<s.length;a++){const d=s.item(a);if(d&&(d.name.startsWith("data-")||d.name.startsWith("aria-"))){t.setAttribute(d.name,d.value);i.removeAttribute(d.name)}if(d&&d.name==="class"){const s=d.value.includes("hydrated");const a=d.value.replace("hydrated","").trim();const e=t.getAttribute("class");t.setAttribute(d.name,`${e?`${e} `:""}${a}`);if(s){i.setAttribute("class","hydrated")}else{i.removeAttribute(d.name)}}}}}componentDidLoad(){this.enableAttributePassing(this._ref,"db-button")}render(){return i("button",{key:"f804bbf8840c2d9d16d45a7255e7ec20a6473773",class:h("db-button",this.className),ref:t=>{this._ref=t},id:this.id,type:this.type||"button",disabled:e(this.disabled,"disabled"),"aria-label":this.label,"data-icon":this.icon,"data-hide-icon":d(this.showIcon),"data-size":this.size,"data-state":this.state,"data-width":this.width,"data-variant":this.variant,"data-no-text":a(this.noText),name:this.name,form:this.form,value:this.value,"aria-describedby":this.describedbyid,"aria-expanded":this.ariaexpanded,"aria-pressed":this.ariapressed,onClick:t=>this.handleClick(t)},this.text?this.text:i("slot",null))}};export{o as db_button};
|
|
2
|
-
//# sourceMappingURL=p-cf74fa9c.entry.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["DBButton","handleClick","event","this","click","emit","enableAttributePassing","element","customElementSelector","parent","closest","attributes","i","length","attr","item","name","startsWith","setAttribute","value","removeAttribute","isWebComponent","includes","replace","trim","currentClass","getAttribute","componentDidLoad","_ref","render","h","key","class","cls","className","ref","el","id","type","disabled","getBoolean","label","icon","getHideProp","showIcon","size","state","width","variant","getBooleanAsString","noText","form","describedbyid","ariaexpanded","ariapressed","onClick","text"],"sources":["src/components/button/button.tsx"],"sourcesContent":["import type { DBButtonProps, DBButtonState } from \"./model\";\nimport { cls, getBoolean, getBooleanAsString, getHideProp } from \"../../utils\";\nimport { ClickEvent } from \"../../shared/model\";\n\nimport {\n Component,\n h,\n Fragment,\n Event,\n EventEmitter,\n Prop,\n} from \"@stencil/core\";\n\n\n/**\n * @slot children - This is a default/unnamed slot\n\n */\n @Component({\n tag: \"db-button\",\n})\nexport class DBButton {\n private _ref!: HTMLButtonElement | any;\n @Event() click: EventEmitter<\n Parameters<Required<DBButtonProps>[\"onClick\"]>[number]\n > | void;\n @Prop() id: DBButtonProps[\"id\"];\n @Prop({attribute: \"classname\"}) className: DBButtonProps[\"className\"];\n @Prop() type: DBButtonProps[\"type\"];\n @Prop() disabled: DBButtonProps[\"disabled\"];\n @Prop() label: DBButtonProps[\"label\"];\n @Prop() icon: DBButtonProps[\"icon\"];\n @Prop() showIcon: DBButtonProps[\"showIcon\"];\n @Prop() size: DBButtonProps[\"size\"];\n @Prop() state: DBButtonProps[\"state\"];\n @Prop() width: DBButtonProps[\"width\"];\n @Prop() variant: DBButtonProps[\"variant\"];\n @Prop() noText: DBButtonProps[\"noText\"];\n @Prop() name: DBButtonProps[\"name\"];\n @Prop() form: DBButtonProps[\"form\"];\n @Prop() value: DBButtonProps[\"value\"];\n @Prop() describedbyid: DBButtonProps[\"describedbyid\"];\n @Prop() ariaexpanded: DBButtonProps[\"ariaexpanded\"];\n @Prop() ariapressed: DBButtonProps[\"ariapressed\"];\n @Prop() text: DBButtonProps[\"text\"];\n\n handleClick(event: ClickEvent<HTMLButtonElement>) {\n if (this.click) {\n this.click.emit(event);\n }\n }\n\n /**\n * Passes `aria-*`, `data-*` & `class` attributes to correct child. Used in angular and stencil.\n * @param element the ref for the component\n * @param customElementSelector the custom element like `my-component`\n */\n private enableAttributePassing(\n element: HTMLElement | null,\n customElementSelector: string\n ) {\n const parent = element?.closest(customElementSelector);\n if (element && parent) {\n const attributes = parent.attributes;\n for (let i = 0; i < attributes.length; i++) {\n const attr = attributes.item(i);\n if (\n attr &&\n (attr.name.startsWith(\"data-\") || attr.name.startsWith(\"aria-\"))\n ) {\n element.setAttribute(attr.name, attr.value);\n parent.removeAttribute(attr.name);\n }\n if (attr && attr.name === \"class\") {\n const isWebComponent = attr.value.includes(\"hydrated\");\n const value = attr.value.replace(\"hydrated\", \"\").trim();\n const currentClass = element.getAttribute(\"class\");\n element.setAttribute(\n attr.name,\n `${currentClass ? `${currentClass} ` : \"\"}${value}`\n );\n if (isWebComponent) {\n // Stencil is using this class for lazy loading component\n parent.setAttribute(\"class\", \"hydrated\");\n } else {\n parent.removeAttribute(attr.name);\n }\n }\n }\n }\n }\n\n componentDidLoad() {\n this.enableAttributePassing(this._ref, \"db-button\");\n }\n\n render() {\n return (\n <button\n class={cls(\"db-button\", this.className)}\n ref={(el: any) => {\n this._ref = el;\n }}\n id={this.id}\n type={this.type || \"button\"}\n disabled={getBoolean(this.disabled, \"disabled\")}\n aria-label={this.label}\n data-icon={this.icon}\n data-hide-icon={getHideProp(this.showIcon)}\n data-size={this.size}\n data-state={this.state}\n data-width={this.width}\n data-variant={this.variant}\n data-no-text={getBooleanAsString(this.noText)}\n name={this.name}\n form={this.form}\n value={this.value}\n aria-describedby={this.describedbyid}\n aria-expanded={this.ariaexpanded}\n aria-pressed={this.ariapressed}\n onClick={(event) => this.handleClick(event)}\n >\n {this.text ? this.text : <slot></slot>}\n </button>\n );\n }\n}\n"],"mappings":"iHAqBaA,EAAQ,M,oDAyBnB,WAAAC,CAAYC,GACV,GAAIC,KAAKC,MAAO,CACdD,KAAKC,MAAMC,KAAKH,E,EASZ,sBAAAI,CACNC,EACAC,GAEA,MAAMC,EAASF,IAAO,MAAPA,SAAO,SAAPA,EAASG,QAAQF,GAChC,GAAID,GAAWE,EAAQ,CACrB,MAAME,EAAaF,EAAOE,WAC1B,IAAK,IAAIC,EAAI,EAAGA,EAAID,EAAWE,OAAQD,IAAK,CAC1C,MAAME,EAAOH,EAAWI,KAAKH,GAC7B,GACEE,IACCA,EAAKE,KAAKC,WAAW,UAAYH,EAAKE,KAAKC,WAAW,UACvD,CACAV,EAAQW,aAAaJ,EAAKE,KAAMF,EAAKK,OACrCV,EAAOW,gBAAgBN,EAAKE,K,CAE9B,GAAIF,GAAQA,EAAKE,OAAS,QAAS,CACjC,MAAMK,EAAiBP,EAAKK,MAAMG,SAAS,YAC3C,MAAMH,EAAQL,EAAKK,MAAMI,QAAQ,WAAY,IAAIC,OACjD,MAAMC,EAAelB,EAAQmB,aAAa,SAC1CnB,EAAQW,aACNJ,EAAKE,KACL,GAAGS,EAAe,GAAGA,KAAkB,KAAKN,KAE9C,GAAIE,EAAgB,CAElBZ,EAAOS,aAAa,QAAS,W,KACxB,CACLT,EAAOW,gBAAgBN,EAAKE,K,KAOtC,gBAAAW,GACExB,KAAKG,uBAAuBH,KAAKyB,KAAM,Y,CAGzC,MAAAC,GACE,OACEC,EACE,UAAAC,IAAA,2CAAAC,MAAOC,EAAI,YAAa9B,KAAK+B,WAC7BC,IAAMC,IACJjC,KAAKyB,KAAOQ,CAAE,EAEhBC,GAAIlC,KAAKkC,GACTC,KAAMnC,KAAKmC,MAAQ,SACnBC,SAAUC,EAAWrC,KAAKoC,SAAU,YACxB,aAAApC,KAAKsC,MACN,YAAAtC,KAAKuC,KACA,iBAAAC,EAAYxC,KAAKyC,UAAS,YAC/BzC,KAAK0C,KAAI,aACR1C,KAAK2C,MAAK,aACV3C,KAAK4C,MAAK,eACR5C,KAAK6C,QAAO,eACZC,EAAmB9C,KAAK+C,QACtClC,KAAMb,KAAKa,KACXmC,KAAMhD,KAAKgD,KACXhC,MAAOhB,KAAKgB,MACM,mBAAAhB,KAAKiD,cACR,gBAAAjD,KAAKkD,aACN,eAAAlD,KAAKmD,YACnBC,QAAUrD,GAAUC,KAAKF,YAAYC,IAEpCC,KAAKqD,KAAOrD,KAAKqD,KAAO1B,EAAA,a","ignoreList":[]}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{r as i,c as t,h as s,F as h}from"./p-BrqIMKjE.js";import{e,f as a,s as l,u as d,j as n,l as c,c as o}from"./p-TU0pfK1i.js";import{l as u,g as r,h as f,f as v,i as b,k as p,a as m}from"./p-DC9V_oNU.js";const y=class{constructor(s){i(this,s);this.click=t(this,"click");this.input=t(this,"input");this.change=t(this,"change");this.blur=t(this,"blur");this.focus=t(this,"focus");this._id=undefined;this._messageId=undefined;this._validMessageId=undefined;this._invalidMessageId=undefined;this._invalidMessage=undefined;this._placeholderId="";this._descByIds="";this._value="";this.initialized=false;this._voiceOverFallback=""}hasValidState(){var i;return!!((i=this.validMessage)!==null&&i!==void 0?i:this.validation==="valid")}handleValidation(){var i,t,s,h;if(!((i=this._ref)===null||i===void 0?void 0:i.validity.valid)||this.validation==="invalid"){this._descByIds=this._invalidMessageId;this._invalidMessage=this.invalidMessage||((t=this._ref)===null||t===void 0?void 0:t.validationMessage)||u;if(e()){this._voiceOverFallback=this._invalidMessage;a((()=>this._voiceOverFallback=""),1e3)}}else if(this.hasValidState()&&((s=this._ref)===null||s===void 0?void 0:s.validity.valid)&&this.required){this._descByIds=this._validMessageId;if(e()){this._voiceOverFallback=(h=this.validMessage)!==null&&h!==void 0?h:p;a((()=>this._voiceOverFallback=""),1e3)}}else if(l(this.message,this.showMessage)){this._descByIds=this._messageId}else{this._descByIds=this._placeholderId}}handleClick(i){if(this.click){this.click.emit(i)}}handleInput(i){if(this.input){this.input.emit(i)}this.handleValidation()}handleChange(i){if(this.change){this.change.emit(i)}this.handleValidation()}handleBlur(i){if(this.blur){this.blur.emit(i)}}handleFocus(i){if(this.focus){this.focus.emit(i)}}getOptionLabel(i){var t,s;return(t=i.label)!==null&&t!==void 0?t:(s=i.value)===null||s===void 0?void 0:s.toString()}enableAttributePassing(i,t){const s=i===null||i===void 0?void 0:i.closest(t);if(i&&s){const t=s.attributes;for(let h=0;h<t.length;h++){const e=t.item(h);if(e&&(e.name.startsWith("data-")||e.name.startsWith("aria-"))){i.setAttribute(e.name,e.value);s.removeAttribute(e.name)}if(e&&e.name==="class"){const t=e.value.includes("hydrated");const h=e.value.replace("hydrated","").trim();const a=i.getAttribute("class");i.setAttribute(e.name,`${a?`${a} `:""}${h}`);if(t){s.setAttribute("class","hydrated")}else{s.removeAttribute(e.name)}}}}}watch0Fn(){var i;this._invalidMessage=this.invalidMessage||((i=this._ref)===null||i===void 0?void 0:i.validationMessage)||u}watch0(){this.watch0Fn()}watch1Fn(){if(this._id&&this.initialized){const i=this._id+v;const t=this._id+b;this._messageId=i;this._validMessageId=this._id+r;this._invalidMessageId=this._id+f;this._placeholderId=t;if(l(this.message,this.showMessage)){this._descByIds=i}else{this._descByIds=t}this.initialized=false}}watch1(){this.watch1Fn()}watch2Fn(){this._value=this.value}watch2(){this.watch2Fn()}componentDidLoad(){var i;this.enableAttributePassing(this._ref,"db-select");this.initialized=true;const t=(i=this.id)!==null&&i!==void 0?i:`select-${d()}`;this._id=t;this._messageId=t+v;this._validMessageId=t+r;this._invalidMessageId=t+f;this._placeholderId=t+b;this._invalidMessage=this.invalidMessage||u;this.watch0Fn();this.watch1Fn();this.watch2Fn()}render(){var i,t,e,a;return s("div",{key:"12c4c4b0b3631810eeb09363775c1e43baa72359",class:o("db-select",this.className),"data-variant":this.variant,"data-hide-label":c(this.showLabel),"data-icon":this.icon,"data-hide-icon":c(this.showIcon)},s("label",{key:"08a0a9a3c09c285287e60c4405ecbbcf3978ee14",htmlFor:this._id},(i=this.label)!==null&&i!==void 0?i:m),s("select",{key:"22968912b86ddb286f33f4f17305bc3c9d1a784b","aria-invalid":this.validation==="invalid","data-custom-validity":this.validation,ref:i=>{this._ref=i},required:n(this.required,"required"),disabled:n(this.disabled,"disabled"),id:this._id,name:this.name,size:this.size,value:(t=this.value)!==null&&t!==void 0?t:this._value,autocomplete:this.autocomplete,multiple:this.multiple,onInput:i=>this.handleInput(i),onClick:i=>this.handleClick(i),onChange:i=>this.handleChange(i),onBlur:i=>this.handleBlur(i),onFocus:i=>this.handleFocus(i),"aria-describedby":this._descByIds},s("option",{key:"65c5eb3e359672016745ddee6d76f54ac5a57abd",hidden:true}),this.options?(e=this.options)===null||e===void 0?void 0:e.map((i=>{var t;return s(h,null,i.options?s("optgroup",{label:this.getOptionLabel(i)},(t=i.options)===null||t===void 0?void 0:t.map((i=>s("option",{key:i.value.toString(),value:i.value,selected:i.selected,disabled:i.disabled},this.getOptionLabel(i))))):null,!i.options?s("option",{value:i.value,disabled:i.disabled,selected:i.selected},this.getOptionLabel(i)):null)})):s("slot",null)),s("span",{key:"a47248bcabcd7022605e3033e258dd3e722c0b0e",id:this._placeholderId},(a=this.placeholder)!==null&&a!==void 0?a:this.label),l(this.message,this.showMessage)?s("db-infotext",{size:"small",icon:this.messageIcon,id:this._messageId},this.message):null,this.hasValidState()?s("db-infotext",{size:"small",semantic:"successful",id:this._validMessageId},this.validMessage||p):null,s("db-infotext",{key:"3967431568981c39ebbed80175d3d0b6b020a031",size:"small",semantic:"critical",id:this._invalidMessageId},this._invalidMessage),s("span",{key:"db45821fd19f5f5458a1f130ea32c33d374bc2f4","data-visually-hidden":"true",role:"status"},this._voiceOverFallback))}static get watchers(){return{_ref:["watch0"],invalidMessage:["watch0"],_id:["watch1"],initialized:["watch1"],value:["watch2"]}}};export{y as db_select};
|
|
2
|
-
//# sourceMappingURL=p-ef59ed95.entry.js.map
|