@db-ux/wc-core-components 3.1.3 → 3.1.15
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 -3
- package/dist/cjs/db-accordion.cjs.entry.js +1 -3
- package/dist/cjs/db-badge.cjs.entry.js +1 -3
- package/dist/cjs/db-brand.cjs.entry.js +1 -3
- package/dist/cjs/db-button.cjs.entry.js +1 -3
- package/dist/cjs/db-card.cjs.entry.js +1 -3
- package/dist/cjs/db-checkbox.cjs.entry.js +1 -3
- package/dist/cjs/db-custom-select-dropdown_5.cjs.entry.js +1 -3
- package/dist/cjs/db-custom-select-form-field.cjs.entry.js +1 -3
- package/dist/cjs/db-custom-select.cjs.entry.js +25 -20
- package/dist/cjs/db-custom-select.entry.cjs.js.map +1 -1
- package/dist/cjs/db-divider.cjs.entry.js +1 -3
- package/dist/cjs/db-drawer.cjs.entry.js +1 -3
- package/dist/cjs/db-header.cjs.entry.js +1 -3
- package/dist/cjs/db-icon.cjs.entry.js +1 -3
- package/dist/cjs/db-infotext.cjs.entry.js +1 -3
- package/dist/cjs/db-link.cjs.entry.js +1 -3
- package/dist/cjs/db-navigation-item.cjs.entry.js +1 -3
- package/dist/cjs/db-navigation.cjs.entry.js +1 -3
- package/dist/cjs/db-notification.cjs.entry.js +1 -3
- package/dist/cjs/db-page.cjs.entry.js +1 -3
- package/dist/cjs/db-popover.cjs.entry.js +1 -3
- package/dist/cjs/db-radio.cjs.entry.js +1 -3
- package/dist/cjs/db-section.cjs.entry.js +1 -3
- package/dist/cjs/db-select.cjs.entry.js +2 -4
- package/dist/cjs/db-select.entry.cjs.js.map +1 -1
- package/dist/cjs/db-stack.cjs.entry.js +1 -3
- package/dist/cjs/db-switch.cjs.entry.js +1 -3
- package/dist/cjs/db-tab-item_3.cjs.entry.js +1 -3
- package/dist/cjs/db-tabs.cjs.entry.js +1 -3
- package/dist/cjs/db-textarea.cjs.entry.js +1 -3
- package/dist/cjs/db-tooltip.cjs.entry.js +7 -6
- package/dist/cjs/db-tooltip.entry.cjs.js.map +1 -1
- package/dist/cjs/db-ux.cjs.js +2 -4
- package/dist/cjs/db-ux.cjs.js.map +1 -1
- package/dist/cjs/document-scroll-listener-BlwNKh0i.js.map +1 -1
- package/dist/cjs/floating-components-ogUqz72V.js.map +1 -1
- package/dist/cjs/{index-DUp8nuvw.js → index-C9Rhca83.js} +4 -9
- package/dist/cjs/index-C9Rhca83.js.map +1 -0
- package/dist/cjs/index-DjV59BYq.js.map +1 -1
- package/dist/cjs/index.cjs.js +1 -3
- package/dist/cjs/index.cjs.js.map +1 -1
- package/dist/cjs/loader.cjs.js +1 -3
- package/dist/cjs/navigation-DauGE-qj.js.map +1 -1
- package/dist/collection/collection-manifest.json +1 -1
- package/dist/collection/components/custom-select/custom-select.js +24 -17
- package/dist/collection/components/custom-select/custom-select.js.map +1 -1
- package/dist/collection/components/custom-select/model.js.map +1 -1
- package/dist/collection/components/select/select.js +1 -1
- package/dist/collection/components/select/select.js.map +1 -1
- package/dist/collection/components/tooltip/tooltip.js +6 -3
- package/dist/collection/components/tooltip/tooltip.js.map +1 -1
- package/dist/collection/utils/form-components.js +0 -2
- package/dist/collection/utils/form-components.js.map +1 -1
- package/dist/custom-elements.json +2 -2
- package/dist/db-ux/db-custom-select.entry.esm.js.map +1 -1
- package/dist/db-ux/db-select.entry.esm.js.map +1 -1
- package/dist/db-ux/db-tooltip.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/index.esm.js.map +1 -1
- package/dist/db-ux/{p-22d04305.entry.js → p-0cea77e9.entry.js} +2 -2
- package/dist/db-ux/p-0cea77e9.entry.js.map +1 -0
- package/dist/db-ux/p-0f032718.entry.js +2 -0
- package/dist/db-ux/p-0f032718.entry.js.map +1 -0
- package/dist/db-ux/{p-03320f58.entry.js → p-15203628.entry.js} +2 -2
- package/dist/db-ux/p-15203628.entry.js.map +1 -0
- package/dist/db-ux/{p-f2c00c11.entry.js → p-31d8532f.entry.js} +2 -2
- package/dist/db-ux/p-31d8532f.entry.js.map +1 -0
- package/dist/db-ux/{p-689299ff.entry.js → p-5138e073.entry.js} +2 -2
- package/dist/db-ux/p-5138e073.entry.js.map +1 -0
- package/dist/db-ux/p-53b175ef.entry.js +2 -0
- package/dist/db-ux/p-53b175ef.entry.js.map +1 -0
- package/dist/db-ux/{p-4fd7a789.entry.js → p-5a727411.entry.js} +2 -2
- package/dist/db-ux/p-5a727411.entry.js.map +1 -0
- package/dist/db-ux/{p-d0d4b568.entry.js → p-6839aee1.entry.js} +2 -2
- package/dist/db-ux/p-6839aee1.entry.js.map +1 -0
- package/dist/db-ux/{p-95cd5423.entry.js → p-7781b021.entry.js} +2 -2
- package/dist/db-ux/p-7781b021.entry.js.map +1 -0
- package/dist/db-ux/{p-94b9cf45.entry.js → p-7a6af508.entry.js} +2 -2
- package/dist/db-ux/p-7a6af508.entry.js.map +1 -0
- package/dist/db-ux/{p-c706cc13.entry.js → p-8aee262b.entry.js} +2 -2
- package/dist/db-ux/p-8aee262b.entry.js.map +1 -0
- package/dist/db-ux/{p-6c155f36.entry.js → p-8d5578c8.entry.js} +2 -2
- package/dist/db-ux/p-8d5578c8.entry.js.map +1 -0
- package/dist/db-ux/{p-9046500e.entry.js → p-97114cd9.entry.js} +2 -2
- package/dist/db-ux/p-97114cd9.entry.js.map +1 -0
- package/dist/db-ux/{p-7c11b1d2.entry.js → p-97249510.entry.js} +2 -2
- package/dist/db-ux/p-97249510.entry.js.map +1 -0
- package/dist/db-ux/{p-f54b8f59.entry.js → p-97d43713.entry.js} +2 -2
- package/dist/db-ux/p-97d43713.entry.js.map +1 -0
- package/dist/db-ux/{p-cf095d6e.entry.js → p-9b3c4d53.entry.js} +2 -2
- package/dist/db-ux/p-9b3c4d53.entry.js.map +1 -0
- package/dist/db-ux/p-9d416e4d.entry.js +2 -0
- package/dist/db-ux/p-9d416e4d.entry.js.map +1 -0
- package/dist/db-ux/{p-290fc783.entry.js → p-9d814d7a.entry.js} +2 -2
- package/dist/db-ux/p-9d814d7a.entry.js.map +1 -0
- package/dist/db-ux/p-BwSmFFdU.js.map +1 -1
- package/dist/db-ux/p-DC9V_oNU.js.map +1 -1
- package/dist/db-ux/p-DOqgruSb.js +3 -0
- package/dist/db-ux/p-DOqgruSb.js.map +1 -0
- package/dist/db-ux/p-G-TursYV.js.map +1 -1
- package/dist/db-ux/p-YECpAE3G.js.map +1 -1
- package/dist/db-ux/{p-d06aba74.entry.js → p-ba53d150.entry.js} +2 -2
- package/dist/db-ux/p-ba53d150.entry.js.map +1 -0
- package/dist/db-ux/{p-93546310.entry.js → p-c3673bb2.entry.js} +2 -2
- package/dist/db-ux/p-c3673bb2.entry.js.map +1 -0
- package/dist/db-ux/{p-ea0bdeb1.entry.js → p-cad3a6ca.entry.js} +2 -2
- package/dist/db-ux/p-cad3a6ca.entry.js.map +1 -0
- package/dist/db-ux/{p-c5fd891e.entry.js → p-cfd1fc80.entry.js} +2 -2
- package/dist/db-ux/p-cfd1fc80.entry.js.map +1 -0
- package/dist/db-ux/{p-1e42a6f1.entry.js → p-d93d61bf.entry.js} +2 -2
- package/dist/db-ux/p-d93d61bf.entry.js.map +1 -0
- package/dist/db-ux/{p-66b8f789.entry.js → p-dab91ef7.entry.js} +2 -2
- package/dist/db-ux/p-dab91ef7.entry.js.map +1 -0
- package/dist/db-ux/{p-aef7d063.entry.js → p-daf5421b.entry.js} +2 -2
- package/dist/db-ux/p-daf5421b.entry.js.map +1 -0
- package/dist/db-ux/{p-bc1bd16f.entry.js → p-dc14db0e.entry.js} +2 -2
- package/dist/db-ux/p-dc14db0e.entry.js.map +1 -0
- package/dist/db-ux/p-e80a85c6.entry.js +2 -0
- package/dist/db-ux/p-e80a85c6.entry.js.map +1 -0
- package/dist/db-ux/{p-1e2fa5bc.entry.js → p-ec96cc5c.entry.js} +2 -2
- package/dist/db-ux/p-ec96cc5c.entry.js.map +1 -0
- package/dist/db-ux/{p-0d0eee33.entry.js → p-f1d86976.entry.js} +2 -2
- package/dist/db-ux/p-f1d86976.entry.js.map +1 -0
- package/dist/db-ux/{p-b3a908e1.entry.js → p-f2455023.entry.js} +2 -2
- package/dist/db-ux/p-f2455023.entry.js.map +1 -0
- package/dist/db-ux/p-sP2NlPcu.js.map +1 -1
- package/dist/esm/constants-DC9V_oNU.js.map +1 -1
- package/dist/esm/db-accordion-item.entry.js +1 -3
- package/dist/esm/db-accordion.entry.js +1 -3
- package/dist/esm/db-badge.entry.js +1 -3
- package/dist/esm/db-brand.entry.js +1 -3
- package/dist/esm/db-button.entry.js +1 -3
- package/dist/esm/db-card.entry.js +1 -3
- package/dist/esm/db-checkbox.entry.js +1 -3
- package/dist/esm/db-custom-select-dropdown_5.entry.js +1 -3
- package/dist/esm/db-custom-select-form-field.entry.js +1 -3
- package/dist/esm/db-custom-select.entry.js +25 -20
- package/dist/esm/db-custom-select.entry.js.map +1 -1
- package/dist/esm/db-divider.entry.js +1 -3
- package/dist/esm/db-drawer.entry.js +1 -3
- package/dist/esm/db-header.entry.js +1 -3
- package/dist/esm/db-icon.entry.js +1 -3
- package/dist/esm/db-infotext.entry.js +1 -3
- package/dist/esm/db-link.entry.js +1 -3
- package/dist/esm/db-navigation-item.entry.js +1 -3
- package/dist/esm/db-navigation.entry.js +1 -3
- package/dist/esm/db-notification.entry.js +1 -3
- package/dist/esm/db-page.entry.js +1 -3
- package/dist/esm/db-popover.entry.js +1 -3
- package/dist/esm/db-radio.entry.js +1 -3
- package/dist/esm/db-section.entry.js +1 -3
- package/dist/esm/db-select.entry.js +2 -4
- package/dist/esm/db-select.entry.js.map +1 -1
- package/dist/esm/db-stack.entry.js +1 -3
- package/dist/esm/db-switch.entry.js +1 -3
- package/dist/esm/db-tab-item_3.entry.js +1 -3
- package/dist/esm/db-tabs.entry.js +1 -3
- package/dist/esm/db-textarea.entry.js +1 -3
- package/dist/esm/db-tooltip.entry.js +7 -6
- package/dist/esm/db-tooltip.entry.js.map +1 -1
- package/dist/esm/db-ux.js +3 -5
- package/dist/esm/db-ux.js.map +1 -1
- package/dist/esm/document-scroll-listener-DC7DAxof.js.map +1 -1
- package/dist/esm/floating-components-G-TursYV.js.map +1 -1
- package/dist/esm/{index-5au6zD9r.js → index-DOqgruSb.js} +4 -9
- package/dist/esm/index-DOqgruSb.js.map +1 -0
- package/dist/esm/index-YECpAE3G.js.map +1 -1
- package/dist/esm/index.js +1 -3
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/loader.js +2 -4
- package/dist/esm/navigation--UdC9CzO.js.map +1 -1
- package/dist/types/components/custom-select/custom-select.d.ts +1 -1
- package/dist/types/components/custom-select/model.d.ts +1 -1
- package/dist/types/stencil-public-runtime.d.ts +23 -0
- package/dist/web-types.json +1 -1
- package/package.json +5 -9
- package/dist/cjs/db-accordion-item.cjs.entry.js.map +0 -1
- package/dist/cjs/db-accordion.cjs.entry.js.map +0 -1
- package/dist/cjs/db-badge.cjs.entry.js.map +0 -1
- package/dist/cjs/db-brand.cjs.entry.js.map +0 -1
- package/dist/cjs/db-button.cjs.entry.js.map +0 -1
- package/dist/cjs/db-card.cjs.entry.js.map +0 -1
- package/dist/cjs/db-checkbox.cjs.entry.js.map +0 -1
- package/dist/cjs/db-custom-select-dropdown_5.cjs.entry.js.map +0 -1
- package/dist/cjs/db-custom-select-form-field.cjs.entry.js.map +0 -1
- package/dist/cjs/db-custom-select.cjs.entry.js.map +0 -1
- package/dist/cjs/db-divider.cjs.entry.js.map +0 -1
- package/dist/cjs/db-drawer.cjs.entry.js.map +0 -1
- package/dist/cjs/db-header.cjs.entry.js.map +0 -1
- package/dist/cjs/db-icon.cjs.entry.js.map +0 -1
- package/dist/cjs/db-infotext.cjs.entry.js.map +0 -1
- package/dist/cjs/db-link.cjs.entry.js.map +0 -1
- package/dist/cjs/db-navigation-item.cjs.entry.js.map +0 -1
- package/dist/cjs/db-navigation.cjs.entry.js.map +0 -1
- package/dist/cjs/db-notification.cjs.entry.js.map +0 -1
- package/dist/cjs/db-page.cjs.entry.js.map +0 -1
- package/dist/cjs/db-popover.cjs.entry.js.map +0 -1
- package/dist/cjs/db-radio.cjs.entry.js.map +0 -1
- package/dist/cjs/db-section.cjs.entry.js.map +0 -1
- package/dist/cjs/db-select.cjs.entry.js.map +0 -1
- package/dist/cjs/db-stack.cjs.entry.js.map +0 -1
- package/dist/cjs/db-switch.cjs.entry.js.map +0 -1
- package/dist/cjs/db-tab-item_3.cjs.entry.js.map +0 -1
- package/dist/cjs/db-tabs.cjs.entry.js.map +0 -1
- package/dist/cjs/db-textarea.cjs.entry.js.map +0 -1
- package/dist/cjs/db-tooltip.cjs.entry.js.map +0 -1
- package/dist/cjs/index-DUp8nuvw.js.map +0 -1
- package/dist/db-ux/p-00ae55d5.entry.js +0 -2
- package/dist/db-ux/p-00ae55d5.entry.js.map +0 -1
- package/dist/db-ux/p-03320f58.entry.js.map +0 -1
- package/dist/db-ux/p-0d0eee33.entry.js.map +0 -1
- package/dist/db-ux/p-17f076c8.entry.js +0 -2
- package/dist/db-ux/p-17f076c8.entry.js.map +0 -1
- package/dist/db-ux/p-1e2fa5bc.entry.js.map +0 -1
- package/dist/db-ux/p-1e42a6f1.entry.js.map +0 -1
- package/dist/db-ux/p-22d04305.entry.js.map +0 -1
- package/dist/db-ux/p-290fc783.entry.js.map +0 -1
- package/dist/db-ux/p-4fd7a789.entry.js.map +0 -1
- package/dist/db-ux/p-5au6zD9r.js +0 -3
- package/dist/db-ux/p-5au6zD9r.js.map +0 -1
- package/dist/db-ux/p-66b8f789.entry.js.map +0 -1
- package/dist/db-ux/p-689299ff.entry.js.map +0 -1
- package/dist/db-ux/p-6c155f36.entry.js.map +0 -1
- package/dist/db-ux/p-7c11b1d2.entry.js.map +0 -1
- package/dist/db-ux/p-9046500e.entry.js.map +0 -1
- package/dist/db-ux/p-93546310.entry.js.map +0 -1
- package/dist/db-ux/p-94b9cf45.entry.js.map +0 -1
- package/dist/db-ux/p-95cd5423.entry.js.map +0 -1
- package/dist/db-ux/p-98d3666a.entry.js +0 -2
- package/dist/db-ux/p-98d3666a.entry.js.map +0 -1
- package/dist/db-ux/p-aef7d063.entry.js.map +0 -1
- package/dist/db-ux/p-b3a908e1.entry.js.map +0 -1
- package/dist/db-ux/p-bc1bd16f.entry.js.map +0 -1
- package/dist/db-ux/p-c5fd891e.entry.js.map +0 -1
- package/dist/db-ux/p-c706cc13.entry.js.map +0 -1
- package/dist/db-ux/p-cf095d6e.entry.js.map +0 -1
- package/dist/db-ux/p-d06aba74.entry.js.map +0 -1
- package/dist/db-ux/p-d0d4b568.entry.js.map +0 -1
- package/dist/db-ux/p-de70042e.entry.js +0 -2
- package/dist/db-ux/p-de70042e.entry.js.map +0 -1
- package/dist/db-ux/p-ea0bdeb1.entry.js.map +0 -1
- package/dist/db-ux/p-f2c00c11.entry.js.map +0 -1
- package/dist/db-ux/p-f54b8f59.entry.js.map +0 -1
- package/dist/esm/db-custom-select-dropdown_5.entry.js.map +0 -1
- package/dist/esm/db-tab-item_3.entry.js.map +0 -1
- package/dist/esm/index-5au6zD9r.js.map +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["DBHeader","constructor","hostRef","this","initialized","forcedToMobile","handleToggle","event","stopPropagation","open","getBoolean","drawerOpen","toggle","emit","handleNavigationItemClick","isEventTargetNavigationItem","enableAttributePassing","element","customElementSelector","parent","closest","attributes","i","length","attr","item","name","startsWith","setAttribute","value","removeAttribute","isWebComponent","includes","replace","trim","currentClass","getAttribute","watch0Fn","_ref","forceMobile","addAttributeToChildren","key","watch0","componentDidLoad","render","h","class","cls","className","ref","el","id","width","spacing","rounded","onClose","onClick","icon","variant","noText","_a","burgerMenuLabel","DEFAULT_BURGER_MENU"],"sources":["src/components/header/header.tsx"],"sourcesContent":["import { DEFAULT_BURGER_MENU } from \"../../shared/constants\";\nimport { addAttributeToChildren, cls, getBoolean } from \"../../utils\";\nimport { isEventTargetNavigationItem } from \"../../utils/navigation\";\nimport { DBButton } from \"../button/button\";\nimport { DBDrawer } from \"../drawer/drawer\";\nimport { DBHeaderProps, DBHeaderState } from \"./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 metaNavigation - TODO: Add description for slotMetaNavigation\n * @slot secondaryAction - TODO: Add description for slotSecondaryAction\n * @slot brand - TODO: Add description for slotBrand\n * @slot primaryAction - TODO: Add description for slotPrimaryAction\n */\n @Component({\n tag: \"db-header\",\n})\nexport class DBHeader {\n private _ref!: HTMLDivElement | any;\n @Prop() forceMobile: DBHeaderProps[\"forceMobile\"];\n @Prop() drawerOpen: DBHeaderProps[\"drawerOpen\"];\n @Event() toggle: EventEmitter<\n Parameters<Required<DBHeaderProps>[\"onToggle\"]>[number]\n > | void;\n @Prop({attribute: \"classname\"}) className: DBHeaderProps[\"className\"];\n @Prop() id: DBHeaderProps[\"id\"];\n @Prop() width: DBHeaderProps[\"width\"];\n @Prop() burgerMenuLabel: DBHeaderProps[\"burgerMenuLabel\"];\n @State() initialized = false;\n @State() forcedToMobile = false;\n\n handleToggle(event?: any) {\n if (event && event.stopPropagation) {\n event.stopPropagation();\n }\n const open = !getBoolean(this.drawerOpen, \"drawerOpen\");\n if (this.toggle) {\n this.toggle.emit(open);\n }\n }\n handleNavigationItemClick(event: unknown) {\n if (isEventTargetNavigationItem(event)) {\n this.handleToggle();\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.initialized && this._ref && this.forceMobile) {\n // Adds this attribute to the header to enable all styling which would have\n // @media screen and (min-width: $db-screens-m) to show mobile navigation on a desktop device\n addAttributeToChildren(this._ref, {\n key: \"data-force-mobile\",\n value: \"true\",\n });\n this.forcedToMobile = true;\n }\n }\n\n @Watch(\"initialized\")\n @Watch(\"_ref\")\n watch0() {\n this.watch0Fn();\n }\n\n componentDidLoad() {\n this.enableAttributePassing(this._ref, \"db-header\");\n this.initialized = true;\n this.watch0Fn();\n }\n\n render() {\n return (\n <header\n class={cls(\"db-header\", this.className)}\n ref={(el: any) => {\n this._ref = el;\n }}\n id={this.id}\n data-width={this.width}\n data-on-forcing-mobile={this.forceMobile && !this.forcedToMobile}\n >\n <db-drawer\n class=\"db-header-drawer\"\n spacing=\"small\"\n rounded={true}\n open={getBoolean(this.drawerOpen)}\n onClose={() => this.handleToggle()}\n >\n <div class=\"db-header-drawer-navigation\">\n <div\n class=\"db-header-navigation\"\n onClick={(event) => this.handleNavigationItemClick(event)}\n >\n <slot></slot>\n </div>\n <div class=\"db-header-meta-navigation\">\n <slot name=\"metaNavigation\"></slot>\n </div>\n </div>\n <div class=\"db-header-secondary-action\">\n <slot name=\"secondaryAction\"></slot>\n </div>\n </db-drawer>\n <div class=\"db-header-meta-navigation\">\n <slot name=\"metaNavigation\"></slot>\n </div>\n <div class=\"db-header-navigation-bar\">\n <div class=\"db-header-brand-container\">\n <slot name=\"brand\"></slot>\n </div>\n <div class=\"db-header-navigation-container\">\n <div class=\"db-header-navigation\">\n <slot></slot>\n </div>\n <div class=\"db-header-primary-action\">\n <slot name=\"primaryAction\"></slot>\n </div>\n </div>\n <div class=\"db-header-action-container\">\n <div class=\"db-header-burger-menu-container\">\n <db-button\n icon=\"menu\"\n variant=\"ghost\"\n noText={true}\n onClick={() => this.handleToggle()}\n >\n {this.burgerMenuLabel ?? DEFAULT_BURGER_MENU}\n </db-button>\n </div>\n <div class=\"db-header-secondary-action\">\n <slot name=\"secondaryAction\"></slot>\n </div>\n </div>\n </div>\n </header>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["DBSection","constructor","hostRef","this","_id","DEFAULT_ID","enableAttributePassing","element","customElementSelector","parent","closest","attributes","i","length","attr","item","name","startsWith","setAttribute","value","removeAttribute","isWebComponent","includes","replace","trim","currentClass","getAttribute","componentDidLoad","_ref","id","uuid","render","h","key","class","cls","className","ref","el","spacing","width"],"sources":["src/components/section/section.tsx"],"sourcesContent":["import { DEFAULT_ID } from \"../../shared/constants\";\nimport { cls, uuid } from \"../../utils\";\nimport { DBSectionProps, DBSectionState } from \"./model\";\n\nimport { Component, h, Fragment, Prop, State } from \"@stencil/core\";\n\n\n/**\n * @slot children - This is a default/unnamed slot\n\n */\n @Component({\n tag: \"db-section\",\n})\nexport class DBSection {\n private _ref!: HTMLDivElement | any;\n @Prop() id: DBSectionProps[\"id\"];\n @Prop({attribute: \"classname\"}) className: DBSectionProps[\"className\"];\n @Prop() spacing: DBSectionProps[\"spacing\"];\n @Prop() width: DBSectionProps[\"width\"];\n @State() _id = DEFAULT_ID;\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-section\");\n this._id = this.id || \"section-\" + uuid();\n }\n\n render() {\n return (\n <section\n class={cls(\"db-section\", this.className)}\n ref={(el: any) => {\n this._ref = el;\n }}\n id={this._id}\n data-spacing={this.spacing || \"medium\"}\n data-width={this.width}\n >\n <slot></slot>\n </section>\n );\n }\n}\n"],"mappings":"gIAcaA,EAAS,MAHrB,WAAAC,CAAAC,G,UASUC,KAAGC,IAAGC,CA8DhB,CAvDS,sBAAAC,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,cACvCzB,KAAKC,IAAMD,KAAK0B,IAAM,WAAaC,G,CAGrC,MAAAC,GACE,OACEC,EACE,WAAAC,IAAA,2CAAAC,MAAOC,EAAI,aAAchC,KAAKiC,WAC9BC,IAAMC,IACJnC,KAAKyB,KAAOU,CAAE,EAEhBT,GAAI1B,KAAKC,IAAG,eACED,KAAKoC,SAAW,SAClB,aAAApC,KAAKqC,OAEjBR,EAAa,QAAAC,IAAA,6C","ignoreList":[]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["DBTabItem","constructor","hostRef","this","_selected","_name","undefined","initialized","handleNameAttribute","_ref","setAttribute","attribute","value","call","handleChange","event","stopPropagation","change","emit","selected","_a","target","getBooleanAsString","enableAttributePassing","element","customElementSelector","parent","closest","attributes","i","length","attr","item","name","startsWith","removeAttribute","isWebComponent","includes","replace","trim","currentClass","getAttribute","watch0Fn","active","click","watch0","watch1Fn","watch1","componentDidLoad","render","h","key","class","cls","className","role","htmlFor","id","iconLeading","icon","iconTrailing","_b","showIconLeading","showIcon","showIconTrailing","noText","type","disabled","getBoolean","checked","ref","el","onInput","label","DBTabList","_id","DEFAULT_ID","uuid","DBTabPanel","content"],"sources":["src/components/tab-item/tab-item.tsx","src/components/tab-list/tab-list.tsx","src/components/tab-panel/tab-panel.tsx"],"sourcesContent":["import { cls, getBoolean, getBooleanAsString } from \"../../utils\";\nimport {\n handleFrameworkEventAngular,\n handleFrameworkEventVue,\n} from \"../../utils/form-components\";\nimport type { DBTabItemProps, DBTabItemState } from \"./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\n */\n @Component({\n tag: \"db-tab-item\",\n})\nexport class DBTabItem {\n private _ref!: HTMLInputElement | any;\n @Prop() active: DBTabItemProps[\"active\"];\n @Prop() name: DBTabItemProps[\"name\"];\n @Event() change: EventEmitter<\n Parameters<Required<DBTabItemProps>[\"onChange\"]>[number]\n > | void;\n @Prop({attribute: \"classname\"}) className: DBTabItemProps[\"className\"];\n @Prop() id: DBTabItemProps[\"id\"];\n @Prop() iconLeading: DBTabItemProps[\"iconLeading\"];\n @Prop() icon: DBTabItemProps[\"icon\"];\n @Prop() iconTrailing: DBTabItemProps[\"iconTrailing\"];\n @Prop() showIconLeading: DBTabItemProps[\"showIconLeading\"];\n @Prop() showIcon: DBTabItemProps[\"showIcon\"];\n @Prop() showIconTrailing: DBTabItemProps[\"showIconTrailing\"];\n @Prop() noText: DBTabItemProps[\"noText\"];\n @Prop() disabled: DBTabItemProps[\"disabled\"];\n @Prop() checked: DBTabItemProps[\"checked\"];\n @Prop() label: DBTabItemProps[\"label\"];\n @State() _selected = false;\n @State() _name = undefined;\n @State() initialized = false;\n\n handleNameAttribute() {\n if (this._ref) {\n const setAttribute = this._ref.setAttribute;\n this._ref.setAttribute = (attribute: string, value: string) => {\n setAttribute.call(this._ref, attribute, value);\n if (attribute === \"name\") {\n this._name = value;\n }\n };\n }\n }\n handleChange(event: any) {\n event.stopPropagation();\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\n const selected = (event.target as any)?.[\"checked\"];\n this._selected = getBooleanAsString(selected);\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) {\n if (this.active) {\n this._ref.click();\n }\n this.initialized = false;\n }\n }\n\n @Watch(\"_ref\")\n @Watch(\"initialized\")\n watch0() {\n this.watch0Fn();\n }\n\n watch1Fn() {\n if (this.name) {\n this._name = this.name;\n }\n }\n\n @Watch(\"name\")\n watch1() {\n this.watch1Fn();\n }\n\n componentDidLoad() {\n this.enableAttributePassing(this._ref, \"db-tab-item\");\n this.initialized = true;\n this.watch0Fn();\n this.watch1Fn();\n }\n\n render() {\n return (\n <li class={cls(\"db-tab-item\", this.className)} role=\"none\">\n <label\n htmlFor={this.id}\n data-icon={this.iconLeading ?? this.icon}\n data-icon-trailing={this.iconTrailing}\n data-show-icon={getBooleanAsString(\n this.showIconLeading ?? this.showIcon\n )}\n data-show-icon-trailing={getBooleanAsString(this.showIconTrailing)}\n data-no-text={getBooleanAsString(this.noText)}\n >\n <input\n type=\"radio\"\n role=\"tab\"\n disabled={getBoolean(this.disabled, \"disabled\")}\n aria-selected={this._selected}\n checked={getBoolean(this.checked, \"checked\")}\n ref={(el: any) => {\n this._ref = el;\n }}\n name={this._name}\n id={this.id}\n onInput={(event) => this.handleChange(event)}\n />\n {this.label ? this.label : null}\n <slot></slot>\n </label>\n </li>\n );\n }\n}\n","import { DEFAULT_ID } from \"../../shared/constants\";\nimport { cls, uuid } from \"../../utils\";\nimport { DBTabListProps, DBTabListState } from \"./model\";\n\nimport { Component, h, Fragment, Prop, State } from \"@stencil/core\";\n\n\n/**\n * @slot children - This is a default/unnamed slot\n\n */\n @Component({\n tag: \"db-tab-list\",\n})\nexport class DBTabList {\n private _ref!: HTMLDivElement | any;\n @Prop() id: DBTabListProps[\"id\"];\n @Prop({attribute: \"classname\"}) className: DBTabListProps[\"className\"];\n @State() _id = DEFAULT_ID;\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-tab-list\");\n this._id = this.id || \"tab-list-\" + uuid();\n }\n\n render() {\n return (\n <div\n class={cls(\"db-tab-list\", this.className)}\n ref={(el: any) => {\n this._ref = el;\n }}\n id={this._id}\n >\n <ul role=\"tablist\">\n <slot></slot>\n </ul>\n </div>\n );\n }\n}\n","import { cls } from \"../../utils\";\nimport { DBTabPanelProps, DBTabPanelState } from \"./model\";\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-tab-panel\",\n})\nexport class DBTabPanel {\n private _ref!: HTMLDivElement | any;\n @Prop({attribute: \"classname\"}) className: DBTabPanelProps[\"className\"];\n @Prop() id: DBTabPanelProps[\"id\"];\n @Prop() content: DBTabPanelProps[\"content\"];\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-tab-panel\");\n }\n\n render() {\n return (\n <section\n class={cls(\"db-tab-panel\", this.className)}\n role=\"tabpanel\"\n ref={(el: any) => {\n this._ref = el;\n }}\n id={this.id}\n >\n {this.content ? this.content : null}\n <slot></slot>\n </section>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["DBAccordion","constructor","hostRef","this","_id","DEFAULT_ID","_name","initialized","_initOpenIndexDone","convertItems","items","JSON","parse","error","console","enableAttributePassing","element","customElementSelector","parent","closest","attributes","i","length","attr","item","name","startsWith","setAttribute","value","removeAttribute","isWebComponent","includes","replace","trim","currentClass","getAttribute","watch0Fn","behavior","watch0","watch1Fn","_ref","childDetails","getElementsByTagName","details","Array","from","_a","watch1","watch2Fn","initOpenIndex","forEach","index","open","watch2","componentDidLoad","id","uuid","render","h","key","class","cls","className","ref","el","variant","map","headlinePlain","disabled","text"],"sources":["src/components/accordion/accordion.tsx"],"sourcesContent":["import { DEFAULT_ID } from \"../../shared/constants\";\nimport { cls, uuid } from \"../../utils\";\nimport { DBAccordionItem } from \"../accordion-item/accordion-item\";\nimport { DBAccordionItemDefaultProps } from \"../accordion-item/model\";\nimport { DBAccordionProps, DBAccordionState } from \"./model\";\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-accordion\",\n})\nexport class DBAccordion {\n private _ref!: HTMLUListElement | any;\n @Prop() id: DBAccordionProps[\"id\"];\n @Prop() name: DBAccordionProps[\"name\"];\n @Prop() behavior: DBAccordionProps[\"behavior\"];\n @Prop() initOpenIndex: DBAccordionProps[\"initOpenIndex\"];\n @Prop() items: DBAccordionProps[\"items\"];\n @Prop({attribute: \"classname\"}) className: DBAccordionProps[\"className\"];\n @Prop() variant: DBAccordionProps[\"variant\"];\n @State() _id = DEFAULT_ID;\n @State() _name = \"\";\n @State() initialized = false;\n @State() _initOpenIndexDone = false;\n\n convertItems() {\n try {\n if (typeof this.items === \"string\") {\n return JSON.parse(this.items as string);\n }\n return this.items as DBAccordionItemDefaultProps[];\n } catch (error) {\n console.error(error);\n }\n return [];\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 we have a single behavior we first check for\n // props.name otherwise for state_id\n if (this.initialized) {\n if (this.behavior === \"single\") {\n if (this.name) {\n if (this._name !== this.name) {\n this._name = this.name;\n }\n } else {\n if (this._name !== this._id && this._id) {\n this._name = this._id;\n }\n }\n } else {\n this._name = \"\";\n }\n }\n }\n\n @Watch(\"initialized\")\n @Watch(\"name\")\n @Watch(\"behavior\")\n @Watch(\"_id\")\n watch0() {\n this.watch0Fn();\n }\n\n watch1Fn() {\n if (this._ref) {\n const childDetails = this._ref.getElementsByTagName(\"details\");\n if (childDetails) {\n for (const details of Array.from<HTMLDetailsElement>(childDetails)) {\n if (this._name === \"\") {\n details.removeAttribute(\"name\");\n } else {\n details.name = this._name ?? \"\";\n }\n }\n }\n }\n }\n\n @Watch(\"_ref\")\n @Watch(\"_name\")\n watch1() {\n this.watch1Fn();\n }\n\n watch2Fn() {\n if (this._ref && this._initOpenIndexDone) {\n if (this.initOpenIndex && this.initOpenIndex!.length > 0) {\n const childDetails = this._ref.getElementsByTagName(\"details\");\n if (childDetails) {\n const initOpenIndex =\n this.behavior === \"single\" && this.initOpenIndex!.length > 1\n ? [this.initOpenIndex![0]] // use only one index for behavior=single\n : this.initOpenIndex;\n Array.from<HTMLDetailsElement>(childDetails).forEach(\n (details: HTMLDetailsElement, index: number) => {\n if (initOpenIndex?.includes(index)) {\n details.open = true;\n }\n }\n );\n }\n }\n this._initOpenIndexDone = false;\n }\n }\n\n @Watch(\"_ref\")\n @Watch(\"_initOpenIndexDone\")\n @Watch(\"initOpenIndex\")\n watch2() {\n this.watch2Fn();\n }\n\n componentDidLoad() {\n this.enableAttributePassing(this._ref, \"db-accordion\");\n this._id = this.id || \"accordion-\" + uuid();\n this.initialized = true;\n this._initOpenIndexDone = true;\n this.watch0Fn();\n this.watch1Fn();\n this.watch2Fn();\n }\n\n render() {\n return (\n <ul\n class={cls(\"db-accordion\", this.className)}\n ref={(el: any) => {\n this._ref = el;\n }}\n id={this._id}\n data-variant={this.variant}\n >\n {!this.items ? <slot></slot> : null}\n {this.items\n ? this.convertItems()?.map((item, index) => (\n <db-accordion-item\n key={`accordion-item-${index}`}\n headlinePlain={item.headlinePlain}\n disabled={item.disabled}\n text={item.text}\n ></db-accordion-item>\n ))\n : null}\n </ul>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -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","showRequiredAsterisk","showLabel","htmlFor","type","ref","el","disabled","onChange","onBlur","onFocus","ariaDescribedBy","label","icon","messageIcon","semantic","role"],"sources":["src/components/checkbox/checkbox.tsx"],"sourcesContent":["import {\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 cls,\n delay,\n getBoolean,\n getHideProp,\n hasVoiceOver,\n stringPropVisible,\n uuid,\n} from \"../../utils\";\nimport {\n handleFrameworkEventAngular,\n handleFrameworkEventVue,\n} from \"../../utils/form-components\";\nimport { DBInfotext } from \"../infotext/infotext\";\nimport { DBCheckboxProps, DBCheckboxState } from \"./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\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() showRequiredAsterisk: DBCheckboxProps[\"showRequiredAsterisk\"];\n @Prop() showLabel: DBCheckboxProps[\"showLabel\"];\n @Prop() name: DBCheckboxProps[\"name\"];\n @Prop() disabled: DBCheckboxProps[\"disabled\"];\n @Prop() value: DBCheckboxProps[\"value\"];\n @Prop() ariaDescribedBy: DBCheckboxProps[\"ariaDescribedBy\"];\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 = undefined;\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 = undefined;\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 this.handleValidation();\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-asterisk={getHideProp(this.showRequiredAsterisk)}\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.ariaDescribedBy ?? 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":"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","ignoreList":[]}
|
|
@@ -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","tabPanels","querySelectorAll","tabItem","index","indexOf","label","input","id","tabId","length","autoSelect","initialSelectedMode","shouldAutoSelect","initialSelectedIndex","click","panel","handleChange","event","stopPropagation","target","parent","parentElement","nodeName","list","indices","childNodes","indexChange","emit","tabSelect","enableAttributePassing","element","customElementSelector","closest","attributes","i","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","_b","width","onInput","onChange","variant","icon","type","noText","onClick","Fragment","_c","map","tab","active","iconTrailing","_d","content","children"],"sources":["src/components/tabs/tabs.tsx"],"sourcesContent":["import { InputEvent } from \"../../shared/model\";\nimport { cls, uuid } from \"../../utils\";\nimport { DBButton } from \"../button/button\";\nimport { DBTabItem } from \"../tab-item/tab-item\";\nimport { DBTabList } from \"../tab-list/tab-list\";\nimport { DBTabPanel } from \"../tab-panel/tab-panel\";\nimport { DBSimpleTabProps, DBTabsProps, DBTabsState } from \"./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\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 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 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.id = tabId;\n input.setAttribute(\"name\", this._name);\n if (tabPanels.length > index) {\n input.setAttribute(\n \"aria-controls\",\n `${this._name}-tab-panel-${index}`\n );\n }\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 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: InputEvent<HTMLElement>) {\n event.stopPropagation();\n if (event.target) {\n const target = event.target as HTMLElement;\n const parent = target.parentElement;\n if (\n parent &&\n parent.parentElement &&\n parent.parentElement?.nodeName === \"LI\"\n ) {\n const tabItem = parent.parentElement.parentElement;\n if (tabItem) {\n const list = tabItem.parentElement;\n if (list) {\n const indices = Array.from(list.childNodes).indexOf(tabItem);\n if (this.indexChange) {\n this.indexChange.emit(indices);\n }\n if (this.tabSelect) {\n this.tabSelect.emit(event);\n }\n }\n }\n }\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 onChange={(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 iconTrailing={tab.iconTrailing}\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 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["DBSelect","constructor","hostRef","this","_id","undefined","_messageId","_validMessageId","_invalidMessageId","_invalidMessage","_placeholderId","_descByIds","_value","initialized","_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","placeholder","handleClick","event","click","emit","handleInput","input","handleChange","change","handleBlur","blur","handleFocus","focus","getOptionLabel","option","label","value","toString","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","placeholderId","DEFAULT_PLACEHOLDER_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","showRequiredAsterisk","icon","getBooleanAsString","showIcon","htmlFor","DEFAULT_LABEL","ref","el","getBoolean","disabled","size","autocomplete","multiple","onInput","onClick","onChange","onBlur","onFocus","ariaDescribedBy","options","_e","map","Fragment","optgroupOption","selected","messageIcon","semantic","role"],"sources":["src/components/select/select.tsx"],"sourcesContent":["import {\n DEFAULT_INVALID_MESSAGE,\n DEFAULT_INVALID_MESSAGE_ID_SUFFIX,\n DEFAULT_LABEL,\n DEFAULT_MESSAGE_ID_SUFFIX,\n DEFAULT_PLACEHOLDER_ID_SUFFIX,\n DEFAULT_VALID_MESSAGE,\n DEFAULT_VALID_MESSAGE_ID_SUFFIX,\n} from \"../../shared/constants\";\nimport {\n ChangeEvent,\n ClickEvent,\n InputEvent,\n InteractionEvent,\n} from \"../../shared/model\";\nimport {\n cls,\n delay,\n getBoolean,\n getBooleanAsString,\n getHideProp,\n getOptionKey,\n hasVoiceOver,\n stringPropVisible,\n uuid,\n} from \"../../utils\";\nimport {\n handleFrameworkEventAngular,\n handleFrameworkEventVue,\n} from \"../../utils/form-components\";\nimport { DBInfotext } from \"../infotext/infotext\";\nimport { DBSelectOptionType, DBSelectProps, DBSelectState } from \"./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\n */\n @Component({\n tag: \"db-select\",\n})\nexport class DBSelect {\n private _ref!: HTMLSelectElement | any;\n @Prop() id: DBSelectProps[\"id\"];\n @Prop() invalidMessage: DBSelectProps[\"invalidMessage\"];\n @Prop() message: DBSelectProps[\"message\"];\n @Prop() showMessage: DBSelectProps[\"showMessage\"];\n @Prop() placeholder: DBSelectProps[\"placeholder\"];\n @Prop() value: DBSelectProps[\"value\"];\n @Prop() validMessage: DBSelectProps[\"validMessage\"];\n @Prop() validation: DBSelectProps[\"validation\"];\n @Prop() required: DBSelectProps[\"required\"];\n @Event() click: EventEmitter<\n Parameters<Required<DBSelectProps>[\"onClick\"]>[number]\n > | void;\n @Event() input: EventEmitter<\n Parameters<Required<DBSelectProps>[\"onInput\"]>[number]\n > | void;\n @Event() change: EventEmitter<\n Parameters<Required<DBSelectProps>[\"onChange\"]>[number]\n > | void;\n @Event() blur: EventEmitter<\n Parameters<Required<DBSelectProps>[\"onBlur\"]>[number]\n > | void;\n @Event() focus: EventEmitter<\n Parameters<Required<DBSelectProps>[\"onFocus\"]>[number]\n > | void;\n @Prop({attribute: \"classname\"}) className: DBSelectProps[\"className\"];\n @Prop() variant: DBSelectProps[\"variant\"];\n @Prop() showLabel: DBSelectProps[\"showLabel\"];\n @Prop() showRequiredAsterisk: DBSelectProps[\"showRequiredAsterisk\"];\n @Prop() icon: DBSelectProps[\"icon\"];\n @Prop() showIcon: DBSelectProps[\"showIcon\"];\n @Prop() label: DBSelectProps[\"label\"];\n @Prop() disabled: DBSelectProps[\"disabled\"];\n @Prop() name: DBSelectProps[\"name\"];\n @Prop() size: DBSelectProps[\"size\"];\n @Prop() autocomplete: DBSelectProps[\"autocomplete\"];\n @Prop() multiple: DBSelectProps[\"multiple\"];\n @Prop() ariaDescribedBy: DBSelectProps[\"ariaDescribedBy\"];\n @Prop() options: DBSelectProps[\"options\"];\n @Prop() messageIcon: DBSelectProps[\"messageIcon\"];\n @State() _id = undefined;\n @State() _messageId = undefined;\n @State() _validMessageId = undefined;\n @State() _invalidMessageId = undefined;\n @State() _invalidMessage = undefined;\n @State() _placeholderId = \"\";\n @State() _descByIds = undefined;\n @State() _value = \"\";\n @State() initialized = false;\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 select */\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 if (this.placeholder) {\n this._descByIds = this._placeholderId;\n } else {\n this._descByIds = undefined;\n }\n }\n handleClick(event: ClickEvent<HTMLSelectElement> | any) {\n if (this.click) {\n this.click.emit(event);\n }\n }\n handleInput(event: InputEvent<HTMLSelectElement> | any) {\n if (this.input) {\n this.input.emit(event);\n }\n this.handleValidation();\n }\n handleChange(event: ChangeEvent<HTMLSelectElement> | any) {\n if (this.change) {\n this.change.emit(event);\n }\n this.handleValidation();\n }\n handleBlur(event: InteractionEvent<HTMLSelectElement> | any) {\n if (this.blur) {\n this.blur.emit(event);\n }\n }\n handleFocus(event: InteractionEvent<HTMLSelectElement> | any) {\n if (this.focus) {\n this.focus.emit(event);\n }\n }\n getOptionLabel(option: DBSelectOptionType) {\n return option.label ?? option.value?.toString();\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: HTMLSelectElement | 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 && this.initialized) {\n const messageId = this._id + DEFAULT_MESSAGE_ID_SUFFIX;\n const placeholderId = this._id + DEFAULT_PLACEHOLDER_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._placeholderId = placeholderId;\n if (stringPropVisible(this.message, this.showMessage)) {\n this._descByIds = messageId;\n } else if (this.placeholder) {\n this._descByIds = placeholderId;\n } else {\n this._descByIds = undefined;\n }\n this.handleValidation();\n this.initialized = false;\n }\n }\n\n @Watch(\"_id\")\n @Watch(\"initialized\")\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-select\");\n this.initialized = true;\n const mId = this.id ?? `select-${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._placeholderId = mId + DEFAULT_PLACEHOLDER_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-select\", this.className)}\n data-variant={this.variant}\n data-hide-label={getHideProp(this.showLabel)}\n data-hide-asterisk={getHideProp(this.showRequiredAsterisk)}\n data-icon={this.icon}\n data-show-icon={getBooleanAsString(this.showIcon)}\n >\n <label htmlFor={this._id}>{this.label ?? DEFAULT_LABEL}</label>\n <select\n aria-invalid={this.validation === \"invalid\"}\n data-custom-validity={this.validation}\n ref={(el: any) => {\n this._ref = el;\n }}\n required={getBoolean(this.required, \"required\")}\n disabled={getBoolean(this.disabled, \"disabled\")}\n id={this._id}\n name={this.name}\n size={this.size}\n /* @ts-ignore */\nvalue={this.value ?? this._value}\n autocomplete={this.autocomplete}\n multiple={this.multiple}\n onInput={(event) => this.handleInput(event)}\n onClick={(event) => this.handleClick(event)}\n onChange={(event) => this.handleChange(event)}\n onBlur={(event) => this.handleBlur(event)}\n onFocus={(event) => this.handleFocus(event)}\n aria-describedby={this.ariaDescribedBy ?? this._descByIds}\n >\n {this.variant === \"floating\" || this.placeholder ? (\n <option class=\"placeholder\" value=\"\"></option>\n ) : null}\n {this.options?.length ? (\n this.options?.map((option) => (\n <Fragment>\n {option.options ? (\n <optgroup label={this.getOptionLabel(option)} key={undefined}>\n {option.options?.map((optgroupOption) => (\n <option\n value={optgroupOption.value}\n selected={optgroupOption.selected}\n disabled={optgroupOption.disabled}\n key={undefined}\n >\n {this.getOptionLabel(optgroupOption)}\n </option>\n ))}\n </optgroup>\n ) : (\n <option\n value={option.value}\n disabled={option.disabled}\n selected={option.selected}\n key={undefined}\n >\n {this.getOptionLabel(option)}\n </option>\n )}\n </Fragment>\n ))\n ) : (\n <slot></slot>\n )}\n </select>\n {this.placeholder ? (\n <span id={this._placeholderId}>{this.placeholder}</span>\n ) : null}\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 t,h as i}from"./p-5au6zD9r.js";import{D as s}from"./p-DC9V_oNU.js";import{d as e,u as a,g as o,c as h}from"./p-YECpAE3G.js";import{D as d}from"./p-BwSmFFdU.js";import{b as n}from"./p-G-TursYV.js";const r=class{constructor(i){t(this,i);this._id=s;this.initialized=false;this._documentScrollListenerCallbackId=undefined;this._observer=undefined}handleClick(t){t.stopPropagation()}handleEscape(t){if((!t||t.key==="Escape")&&this._ref&&getComputedStyle(this._ref).visibility==="visible"){this.getParent().blur()}}getParent(){let t=this._ref.parentElement;if(t&&t.localName.includes("tooltip")){t=t.parentElement}return t}handleAutoPlacement(t){if(!t)return;if(this._ref){e((()=>{var i;n(this._ref,t,(i=this.placement)!==null&&i!==void 0?i:"bottom")}),1)}}handleDocumentScroll(t,i){var s,e;if(((s=t===null||t===void 0?void 0:t.target)===null||s===void 0?void 0:s.contains)&&((e=t===null||t===void 0?void 0:t.target)===null||e===void 0?void 0:e.contains(this._ref))){this.handleAutoPlacement(i)}}handleLeave(){var t;if(this._documentScrollListenerCallbackId){(new d).removeCallback(this._documentScrollListenerCallbackId)}(t=this._observer)===null||t===void 0?void 0:t.unobserve(this.getParent())}handleEnter(t){var i;this._documentScrollListenerCallbackId=(new d).addCallback((i=>this.handleDocumentScroll(i,t)));this.handleAutoPlacement(t);(i=this._observer)===null||i===void 0?void 0:i.observe(this.getParent())}enableAttributePassing(t,i){const s=t===null||t===void 0?void 0:t.closest(i);if(t&&s){const i=s.attributes;for(let e=0;e<i.length;e++){const a=i.item(e);if(a&&(a.name.startsWith("data-")||a.name.startsWith("aria-"))){t.setAttribute(a.name,a.value);s.removeAttribute(a.name)}if(a&&a.name==="class"){const i=a.value.includes("hydrated");const e=a.value.replace("hydrated","").trim();const o=t.getAttribute("class");t.setAttribute(a.name,`${o?`${o} `:""}${e}`);if(i){s.setAttribute("class","hydrated")}else{s.removeAttribute(a.name)}}}}}watch0Fn(){if(this._ref&&this.initialized&&this._id){const t=this.getParent();if(t){["mouseenter","focusin"].forEach((i=>{t.addEventListener(i,(()=>this.handleEnter(t)))}));t.addEventListener("keydown",(t=>this.handleEscape(t)));["mouseleave","focusout"].forEach((i=>{t.addEventListener(i,(()=>this.handleLeave()))}));t.dataset["hasTooltip"]="true";if(this.variant==="label"){t.setAttribute("aria-labelledby",this._id)}else{t.setAttribute("aria-describedby",this._id)}}if(typeof window!=="undefined"&&"IntersectionObserver"in window){this._observer=new IntersectionObserver((t=>{const i=t.find((({target:t})=>t===this.getParent()));if(i&&!i.isIntersecting){this.handleEscape(false)}}))}this.initialized=false}}watch0(){this.watch0Fn()}componentDidLoad(){this.enableAttributePassing(this._ref,"db-tooltip");this._id=this.id||"tooltip-"+a();this.initialized=true;this.watch0Fn()}render(){var t,s;return i("i",{key:"52251be6619b67fd037abcd6f3c0e6ad273e4e2d",class:h("db-tooltip",this.className),role:"tooltip","aria-hidden":"true","data-gap":"true",ref:t=>{this._ref=t},id:this._id,"data-emphasis":this.emphasis,"data-animation":o((t=this.animation)!==null&&t!==void 0?t:true),"data-delay":this.delay,"data-width":this.width,"data-show-arrow":o((s=this.showArrow)!==null&&s!==void 0?s:true),"data-placement":this.placement,onClick:t=>this.handleClick(t)},i("slot",{key:"3b71f1756c1fd865bf5e116e50c51dd095a9cec0"}))}static get watchers(){return{_ref:["watch0"],initialized:["watch0"]}}};export{r as db_tooltip};
|
|
2
|
-
//# sourceMappingURL=p-98d3666a.entry.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["DBTooltip","constructor","hostRef","this","_id","DEFAULT_ID","initialized","_documentScrollListenerCallbackId","undefined","_observer","handleClick","event","stopPropagation","handleEscape","key","_ref","getComputedStyle","visibility","getParent","blur","parent","parentElement","localName","includes","handleAutoPlacement","utilsDelay","handleFixedPopover","_a","placement","handleDocumentScroll","target","contains","_b","handleLeave","DocumentScrollListener","removeCallback","unobserve","handleEnter","addCallback","observe","enableAttributePassing","element","customElementSelector","closest","attributes","i","length","attr","item","name","startsWith","setAttribute","value","removeAttribute","isWebComponent","replace","trim","currentClass","getAttribute","watch0Fn","forEach","addEventListener","dataset","variant","window","IntersectionObserver","payload","entry","find","isIntersecting","watch0","componentDidLoad","id","uuid","render","h","class","cls","className","role","ref","el","emphasis","getBooleanAsString","animation","delay","width","showArrow","onClick"],"sources":["src/components/tooltip/tooltip.tsx"],"sourcesContent":["import { DEFAULT_ID } from \"../../shared/constants\";\nimport { ClickEvent } from \"../../shared/model\";\nimport {\n cls,\n getBooleanAsString,\n delay as utilsDelay,\n uuid,\n} from \"../../utils\";\nimport { DocumentScrollListener } from \"../../utils/document-scroll-listener\";\nimport { handleFixedPopover } from \"../../utils/floating-components\";\nimport { DBTooltipProps, DBTooltipState } from \"./model\";\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() variant: DBTooltipProps[\"variant\"];\n @Prop() placement: DBTooltipProps[\"placement\"];\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 @State() _id = DEFAULT_ID;\n @State() initialized = false;\n @State() _documentScrollListenerCallbackId = undefined;\n @State() _observer = undefined;\n\n handleClick(event: ClickEvent<HTMLElement>) {\n event.stopPropagation();\n }\n handleEscape(event: any) {\n if (\n (!event || event.key === \"Escape\") &&\n this._ref &&\n getComputedStyle(this._ref).visibility === \"visible\"\n ) {\n this.getParent().blur();\n }\n }\n getParent() {\n let parent = this._ref.parentElement;\n if (parent && parent.localName.includes(\"tooltip\")) {\n // Angular workaround\n parent = parent.parentElement;\n }\n return parent;\n }\n handleAutoPlacement(parent?: HTMLElement) {\n if (!parent) return;\n if (this._ref) {\n // This is a workaround for angular\n utilsDelay(() => {\n handleFixedPopover(\n this._ref,\n parent,\n (this.placement as unknown as string) ?? \"bottom\"\n );\n }, 1);\n }\n }\n handleDocumentScroll(event: any, parent?: HTMLElement) {\n if (event?.target?.contains && event?.target?.contains(this._ref)) {\n this.handleAutoPlacement(parent);\n }\n }\n handleLeave() {\n if (this._documentScrollListenerCallbackId) {\n new DocumentScrollListener().removeCallback(\n this._documentScrollListenerCallbackId!\n );\n }\n this._observer?.unobserve(this.getParent());\n }\n handleEnter(parent?: HTMLElement) {\n this._documentScrollListenerCallbackId =\n new DocumentScrollListener().addCallback((event) =>\n this.handleDocumentScroll(event, parent)\n );\n this.handleAutoPlacement(parent);\n this._observer?.observe(this.getParent());\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 const parent = this.getParent();\n if (parent) {\n [\"mouseenter\", \"focusin\"].forEach((event) => {\n parent.addEventListener(event, () => this.handleEnter(parent));\n });\n parent.addEventListener(\"keydown\", (event) => this.handleEscape(event));\n [\"mouseleave\", \"focusout\"].forEach((event) => {\n parent.addEventListener(event, () => this.handleLeave());\n });\n parent.dataset[\"hasTooltip\"] = \"true\";\n if (this.variant === \"label\") {\n parent.setAttribute(\"aria-labelledby\", this._id);\n } else {\n parent.setAttribute(\"aria-describedby\", this._id);\n }\n }\n if (typeof window !== \"undefined\" && \"IntersectionObserver\" in window) {\n this._observer = new IntersectionObserver((payload) => {\n const entry = payload.find(\n ({ target }) => target === this.getParent()\n );\n if (entry && !entry.isIntersecting) {\n this.handleEscape(false);\n }\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-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"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["DBNavigationItem","constructor","hostRef","this","initialized","hasAreaPopup","hasSubNavigation","isSubNavigationExpanded","autoClose","subNavigationId","uuid","navigationItemSafeTriangle","undefined","handleNavigationItemClick","event","_a","target","nodeName","delay","handleClick","click","stopPropagation","emit","handleBackClick","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","children","NavigationItemSafeTriangle","watch1","componentDidLoad","render","h","key","class","cls","className","ref","el","id","onMouseOver","enableFollow","onMouseLeave","disableFollow","onMouseMove","followByMouseEvent","width","icon","getBooleanAsString","showIcon","active","wrap","disabled","text","Fragment","onClick","variant","backButtonId","backButtonText","DEFAULT_BACK"],"sources":["src/components/navigation-item/navigation-item.tsx"],"sourcesContent":["import { DEFAULT_BACK } from \"../../shared/constants\";\nimport { ClickEvent } from \"../../shared/model\";\nimport { cls, delay, getBoolean, getBooleanAsString, uuid } from \"../../utils\";\nimport { NavigationItemSafeTriangle } from \"../../utils/navigation\";\nimport { DBButton } from \"../button/button\";\nimport { DBNavigationItemProps, DBNavigationItemState } from \"./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: any) {\n if (event?.target?.nodeName === \"A\") {\n this.autoClose = true;\n void delay(() => {\n this.autoClose = false;\n }, 1000);\n }\n }\n handleClick(event: ClickEvent<HTMLButtonElement> | any) {\n if (this.click) {\n event.stopPropagation();\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-show-icon={getBooleanAsString(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-force-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":["DBPage","constructor","hostRef","this","fontsLoaded","enableAttributePassing","element","customElementSelector","parent","closest","attributes","i","length","attr","item","name","startsWith","setAttribute","value","removeAttribute","isWebComponent","includes","replace","trim","currentClass","getAttribute","componentDidLoad","_ref","fadeIn","document","fonts","ready","then","disconnectedCallback","window","documentElement","classList","contains","remove","render","h","key","class","cls","className","ref","el","id","variant","getBooleanAsString","mainClass"],"sources":["src/components/page/page.tsx"],"sourcesContent":["import { cls, getBooleanAsString } from \"../../utils\";\nimport { DBPageProps, DBPageState } from \"./model\";\n\nimport { Component, h, Fragment, Prop, State } from \"@stencil/core\";\n\n\n/**\n * @slot children - This is a default/unnamed slot\n * @slot header - TODO: Add description for slotHeader\n * @slot footer - TODO: Add description for slotFooter\n */\n @Component({\n tag: \"db-page\",\n})\nexport class DBPage {\n private _ref!: HTMLDivElement | any;\n @Prop() fadeIn: DBPageProps[\"fadeIn\"];\n @Prop() documentOverflow: DBPageProps[\"documentOverflow\"];\n @Prop() variant: DBPageProps[\"variant\"];\n @Prop() id: DBPageProps[\"id\"];\n @Prop({attribute: \"classname\"}) className: DBPageProps[\"className\"];\n @Prop() mainClass: DBPageProps[\"mainClass\"];\n @State() fontsLoaded = false;\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-page\");\n this.fontsLoaded = !this.fadeIn;\n if (document && this.fadeIn) {\n document.fonts.ready.then(() => {\n this.fontsLoaded = true;\n });\n } else {\n this.fontsLoaded = true;\n }\n }\n disconnectedCallback() {\n if (\n typeof window !== \"undefined\" &&\n document.documentElement.classList.contains(\"db-page-document\")\n ) {\n // remove document styles set by this\n document.documentElement.classList.remove(\"db-page-document\");\n }\n }\n\n render() {\n return (\n <div\n class={cls(\"db-page\", this.className)}\n ref={(el: any) => {\n this._ref = el;\n }}\n id={this.id}\n data-variant={this.variant}\n data-fade-in={getBooleanAsString(this.fadeIn)}\n data-fonts-loaded={getBooleanAsString(this.fontsLoaded)}\n >\n <slot name=\"header\"></slot>\n <main class={cls(\"db-main\", this.mainClass)}>\n <slot></slot>\n </main>\n <slot name=\"footer\"></slot>\n </div>\n );\n }\n}\n"],"mappings":"4FAcaA,EAAM,MAHlB,WAAAC,CAAAC,G,UAWUC,KAAWC,YAAG,KAmFxB,CA5ES,sBAAAC,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,GACEvB,KAAKE,uBAAuBF,KAAKwB,KAAM,WACvCxB,KAAKC,aAAeD,KAAKyB,OACzB,GAAIC,UAAY1B,KAAKyB,OAAQ,CAC3BC,SAASC,MAAMC,MAAMC,MAAK,KACxB7B,KAAKC,YAAc,IAAI,G,KAEpB,CACLD,KAAKC,YAAc,I,EAGvB,oBAAA6B,GACE,UACSC,SAAW,aAClBL,SAASM,gBAAgBC,UAAUC,SAAS,oBAC5C,CAEAR,SAASM,gBAAgBC,UAAUE,OAAO,mB,EAI9C,MAAAC,GACE,OACEC,EACE,OAAAC,IAAA,2CAAAC,MAAOC,EAAI,UAAWxC,KAAKyC,WAC3BC,IAAMC,IACJ3C,KAAKwB,KAAOmB,CAAE,EAEhBC,GAAI5C,KAAK4C,GAAE,eACG5C,KAAK6C,QAAO,eACZC,EAAmB9C,KAAKyB,QAAO,oBAC1BqB,EAAmB9C,KAAKC,cAE3CoC,EAAM,QAAAC,IAAA,2CAAA1B,KAAK,WACXyB,EAAM,QAAAC,IAAA,2CAAAC,MAAOC,EAAI,UAAWxC,KAAK+C,YAC/BV,EAAA,QAAAC,IAAA,8CAEFD,EAAA,QAAAC,IAAA,2CAAM1B,KAAK,W","ignoreList":[]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["DBDrawer","constructor","hostRef","this","initialized","handleClose","event","forceClose","isKeyboardEvent","key","preventDefault","close","emit","stopPropagation","_a","target","nodeName","type","backdrop","handleDialogOpen","_ref","open","Boolean","dialogContainerRef","hidden","position","variant","show","showModal","delay","enableAttributePassing","element","customElementSelector","parent","closest","attributes","i","length","attr","item","name","startsWith","setAttribute","value","removeAttribute","isWebComponent","includes","replace","trim","currentClass","getAttribute","watch0Fn","watch0","watch1Fn","refElement","parentElement","style","watch1","componentDidLoad","render","h","class","id","ref","el","onClick","onKeyDown","direction","cls","className","spacing","width","getBooleanAsString","rounded","icon","closeButtonId","noText","closeButtonText","DEFAULT_CLOSE_BUTTON"],"sources":["src/components/drawer/drawer.tsx"],"sourcesContent":["import { DEFAULT_CLOSE_BUTTON } from \"../../shared/constants\";\nimport { ClickEvent, GeneralKeyboardEvent } from \"../../shared/model\";\nimport { cls, delay, getBooleanAsString, isKeyboardEvent } from \"../../utils\";\nimport { DBButton } from \"../button/button\";\nimport { DBDrawerProps, DBDrawerState } from \"./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 drawerHeader - TODO: Add description for slotDrawerHeader\n */\n @Component({\n tag: \"db-drawer\",\n})\nexport class DBDrawer {\n private _ref!: HTMLDialogElement | any;\n private dialogContainerRef!: HTMLDivElement | any;\n @Prop() open: DBDrawerProps[\"open\"];\n @Prop() position: DBDrawerProps[\"position\"];\n @Event() close: EventEmitter<\n Parameters<Required<DBDrawerProps>[\"onClose\"]>[number]\n > | void;\n @Prop() backdrop: DBDrawerProps[\"backdrop\"];\n @Prop() variant: DBDrawerProps[\"variant\"];\n @Prop() id: DBDrawerProps[\"id\"];\n @Prop() direction: DBDrawerProps[\"direction\"];\n @Prop({attribute: \"classname\"}) className: DBDrawerProps[\"className\"];\n @Prop() spacing: DBDrawerProps[\"spacing\"];\n @Prop() width: DBDrawerProps[\"width\"];\n @Prop() rounded: DBDrawerProps[\"rounded\"];\n @Prop() closeButtonId: DBDrawerProps[\"closeButtonId\"];\n @Prop() closeButtonText: DBDrawerProps[\"closeButtonText\"];\n @State() initialized = false;\n\n handleClose(\n event?:\n | ClickEvent<HTMLButtonElement | HTMLDialogElement>\n | GeneralKeyboardEvent<HTMLDialogElement>\n | void,\n forceClose?: boolean\n ) {\n if (!event) return;\n if (isKeyboardEvent<HTMLButtonElement | HTMLDialogElement>(event)) {\n if (event.key === \"Escape\") {\n event.preventDefault();\n if (this.close) {\n this.close.emit(event);\n }\n }\n } else {\n if (forceClose) {\n event.stopPropagation();\n if (this.close) {\n this.close.emit(event);\n }\n }\n if (\n (event.target as any)?.nodeName === \"DIALOG\" &&\n event.type === \"click\" &&\n this.backdrop !== \"none\"\n ) {\n if (this.close) {\n this.close.emit(event);\n }\n }\n }\n }\n handleDialogOpen() {\n if (this._ref) {\n const open = Boolean(this.open);\n if (open && !this._ref.open) {\n if (this.dialogContainerRef) {\n this.dialogContainerRef.hidden = false;\n }\n if (\n this.position === \"absolute\" ||\n this.backdrop === \"none\" ||\n this.variant === \"inside\"\n ) {\n this._ref.show();\n } else {\n this._ref.showModal();\n }\n }\n if (!open && this._ref.open) {\n if (this.dialogContainerRef) {\n this.dialogContainerRef.hidden = true;\n }\n delay(() => {\n if (this.dialogContainerRef) {\n this.dialogContainerRef.hidden = false;\n }\n this._ref?.close();\n }, 401);\n }\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 this.handleDialogOpen();\n }\n\n @Watch(\"open\")\n watch0() {\n this.watch0Fn();\n }\n\n watch1Fn() {\n if (this._ref && this.initialized && this.position === \"absolute\") {\n const refElement = this._ref as HTMLDialogElement;\n const parent = refElement.parentElement;\n if (parent) {\n parent.style.position = \"relative\";\n }\n }\n }\n\n @Watch(\"_ref\")\n @Watch(\"initialized\")\n @Watch(\"position\")\n watch1() {\n this.watch1Fn();\n }\n\n componentDidLoad() {\n this.enableAttributePassing(this._ref, \"db-drawer\");\n this.handleDialogOpen();\n this.initialized = true;\n this.watch0Fn();\n this.watch1Fn();\n }\n\n render() {\n return (\n <dialog\n class=\"db-drawer\"\n id={this.id}\n ref={(el: any) => {\n this._ref = el;\n }}\n onClick={(event) => this.handleClose(event)}\n onKeyDown={(event) => this.handleClose(event)}\n data-position={this.position}\n data-backdrop={this.backdrop}\n data-direction={this.direction}\n data-variant={this.variant}\n >\n <article\n class={cls(\"db-drawer-container\", this.className)}\n ref={(el: any) => {\n this.dialogContainerRef = el;\n }}\n data-spacing={this.spacing}\n data-width={this.width}\n data-direction={this.direction}\n data-rounded={getBooleanAsString(this.rounded)}\n >\n <header class=\"db-drawer-header\">\n <div class=\"db-drawer-header-text\">\n <slot name=\"drawerHeader\"></slot>\n </div>\n <db-button\n class=\"button-close-drawer\"\n icon=\"cross\"\n variant=\"ghost\"\n id={this.closeButtonId}\n noText={true}\n onClick={(event) => this.handleClose(event, true)}\n >\n {this.closeButtonText ?? DEFAULT_CLOSE_BUTTON}\n </db-button>\n </header>\n <div class=\"db-drawer-content\">\n <slot></slot>\n </div>\n </article>\n </dialog>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["DBInfotext","enableAttributePassing","element","customElementSelector","parent","closest","attributes","i","length","attr","item","name","startsWith","setAttribute","value","removeAttribute","isWebComponent","includes","replace","trim","currentClass","getAttribute","componentDidLoad","this","_ref","render","h","key","class","cls","className","ref","el","id","icon","semantic","size","getBooleanAsString","_a","showIcon","text"],"sources":["src/components/infotext/infotext.tsx"],"sourcesContent":["import { cls, getBooleanAsString } from \"../../utils\";\nimport { DBInfotextProps, DBInfotextState } from \"./model\";\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-infotext\",\n})\nexport class DBInfotext {\n private _ref!: HTMLSpanElement | any;\n @Prop() id: DBInfotextProps[\"id\"];\n @Prop({attribute: \"classname\"}) className: DBInfotextProps[\"className\"];\n @Prop() icon: DBInfotextProps[\"icon\"];\n @Prop() semantic: DBInfotextProps[\"semantic\"];\n @Prop() size: DBInfotextProps[\"size\"];\n @Prop() showIcon: DBInfotextProps[\"showIcon\"];\n @Prop() text: DBInfotextProps[\"text\"];\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-infotext\");\n }\n\n render() {\n return (\n <span\n class={cls(\"db-infotext\", this.className)}\n ref={(el: any) => {\n this._ref = el;\n }}\n id={this.id}\n data-icon={this.icon}\n data-semantic={this.semantic}\n data-size={this.size}\n data-show-icon-leading={getBooleanAsString(this.showIcon ?? true)}\n >\n {this.text ? this.text : <slot></slot>}\n </span>\n );\n }\n}\n"],"mappings":"4FAaaA,EAAU,M,yBAeb,sBAAAC,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,GACEC,KAAKtB,uBAAuBsB,KAAKC,KAAM,c,CAGzC,MAAAC,G,MACE,OACEC,EACE,QAAAC,IAAA,2CAAAC,MAAOC,EAAI,cAAeN,KAAKO,WAC/BC,IAAMC,IACJT,KAAKC,KAAOQ,CAAE,EAEhBC,GAAIV,KAAKU,GAAE,YACAV,KAAKW,KAAI,gBACLX,KAAKY,SACT,YAAAZ,KAAKa,KAAI,yBACIC,GAAmBC,EAAAf,KAAKgB,YAAQ,MAAAD,SAAA,EAAAA,EAAI,OAE3Df,KAAKiB,KAAOjB,KAAKiB,KAAOd,EAAa,a","ignoreList":[]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["DBCustomSelectDropdown","constructor","hostRef","this","width","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","DBCustomSelectList","role","multiple","label","DBCustomSelectListItem","_id","undefined","hasDivider","handleChange","event","stopPropagation","change","emit","getIconTrailing","isGroupTitle","type","getBoolean","checked","watch0Fn","Boolean","showDivider","watch0","_a","uuid","getBooleanAsString","icon","showIcon","form","disabled","onChange","groupTitle","DBInput","_messageId","_validMessageId","_invalidMessageId","_invalidMessage","_dataListId","_descByIds","_value","_voiceOverFallback","hasValidState","validMessage","validation","handleValidation","validity","valid","invalidMessage","_b","validationMessage","DEFAULT_INVALID_MESSAGE","hasVoiceOver","delay","_c","required","minLength","maxLength","pattern","_d","DEFAULT_VALID_MESSAGE","stringPropVisible","message","showMessage","handleInput","input","handleBlur","blur","handleFocus","focus","getDataList","_list","dataList","Array","from","isArrayOfStrings","map","val","watch1Fn","messageId","DEFAULT_MESSAGE_ID_SUFFIX","DEFAULT_VALID_MESSAGE_ID_SUFFIX","DEFAULT_INVALID_MESSAGE_ID_SUFFIX","dataListId","DEFAULT_DATALIST_ID_SUFFIX","watch1","watch2Fn","watch2","mId","variant","getHideProp","showLabel","showIconLeading","iconLeading","iconTrailing","showRequiredAsterisk","showIconTrailing","htmlFor","DEFAULT_LABEL","fieldSizing","placeholder","DEFAULT_PLACEHOLDER","step","getNumber","_e","maxlength","minlength","max","getInputValue","min","readOnly","readonly","size","autoComplete","autocomplete","autoFocus","autofocus","enterKeyHint","enterkeyhint","inputMode","inputmode","onInput","onBlur","onFocus","list","_f","ariaDescribedBy","_g","option","messageSize","messageIcon","semantic","validMessageSize","invalidMessageSize","DBTag","handleRemove","remove","getRemoveButtonText","removeButton","DEFAULT_REMOVE","emphasis","showCheckState","noText","overflow","text","behavior","onClick"],"sources":["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","src/components/input/input.tsx","src/components/tag/tag.tsx"],"sourcesContent":["import { cls } from \"../../utils\";\nimport { DBCustomSelectDropdownProps } from \"./model\";\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 { cls } from \"../../utils\";\nimport { DBCustomSelectListProps } from \"./model\";\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 { ChangeEvent } from \"../../shared/model\";\nimport { cls, getBoolean, getBooleanAsString, uuid } from \"../../utils\";\nimport {\n handleFrameworkEventAngular,\n handleFrameworkEventVue,\n} from \"../../utils/form-components\";\nimport {\n DBCustomSelectListItemProps,\n DBCustomSelectListItemState,\n} from \"./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\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 getIconTrailing() {\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-show-icon={getBooleanAsString(this.showIcon)}\n data-icon-trailing={this.getIconTrailing()}\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","import {\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 {\n cls,\n delay,\n getBoolean,\n getBooleanAsString,\n getHideProp,\n getInputValue,\n getNumber,\n hasVoiceOver,\n isArrayOfStrings,\n stringPropVisible,\n uuid,\n} from \"../../utils\";\nimport {\n handleFrameworkEventAngular,\n handleFrameworkEventVue,\n} from \"../../utils/form-components\";\nimport { DBInfotext } from \"../infotext/infotext\";\nimport { DBInputProps, DBInputState } from \"./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\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() showIconLeading: DBInputProps[\"showIconLeading\"];\n @Prop() showIcon: DBInputProps[\"showIcon\"];\n @Prop() iconLeading: DBInputProps[\"iconLeading\"];\n @Prop() icon: DBInputProps[\"icon\"];\n @Prop() iconTrailing: DBInputProps[\"iconTrailing\"];\n @Prop() showRequiredAsterisk: DBInputProps[\"showRequiredAsterisk\"];\n @Prop() showIconTrailing: DBInputProps[\"showIconTrailing\"];\n @Prop() label: DBInputProps[\"label\"];\n @Prop() fieldSizing: DBInputProps[\"fieldSizing\"];\n @Prop() name: DBInputProps[\"name\"];\n @Prop() type: DBInputProps[\"type\"];\n @Prop() multiple: DBInputProps[\"multiple\"];\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() enterkeyhint: DBInputProps[\"enterkeyhint\"];\n @Prop() inputmode: DBInputProps[\"inputmode\"];\n @Prop() ariaDescribedBy: DBInputProps[\"ariaDescribedBy\"];\n @Prop() messageSize: DBInputProps[\"messageSize\"];\n @Prop() messageIcon: DBInputProps[\"messageIcon\"];\n @Prop() validMessageSize: DBInputProps[\"validMessageSize\"];\n @Prop() invalidMessageSize: DBInputProps[\"invalidMessageSize\"];\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 = undefined;\n @State() _value = undefined;\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 = undefined;\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 this.handleValidation();\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-show-icon={getBooleanAsString(\n this.showIconLeading ?? this.showIcon\n )}\n data-icon={this.iconLeading ?? this.icon}\n data-icon-trailing={this.iconTrailing}\n data-hide-asterisk={getHideProp(this.showRequiredAsterisk)}\n data-show-icon-trailing={getBooleanAsString(this.showIconTrailing)}\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 data-field-sizing={this.fieldSizing}\n ref={(el: any) => {\n this._ref = el;\n }}\n id={this._id}\n name={this.name}\n type={this.type || \"text\"}\n multiple={getBoolean(this.multiple, \"multiple\")}\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={getInputValue(this.max, this.type)}\n min={getInputValue(this.min, this.type)}\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 enterKeyHint={this.enterkeyhint}\n inputMode={this.inputmode}\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={this.messageSize || \"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 semantic=\"successful\"\n id={this._validMessageId}\n size={this.validMessageSize || \"small\"}\n >\n {this.validMessage || DEFAULT_VALID_MESSAGE}\n </db-infotext>\n ) : null}\n <db-infotext\n semantic=\"critical\"\n id={this._invalidMessageId}\n size={this.invalidMessageSize || \"small\"}\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 { DEFAULT_REMOVE } from \"../../shared/constants\";\nimport { ClickEvent } from \"../../shared/model\";\nimport { cls, getBooleanAsString } from \"../../utils\";\nimport { DBTooltip } from \"../tooltip/tooltip\";\nimport { DBTagProps, DBTagState } from \"./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 * @slot content - TODO: Add description for slotContent\n */\n @Component({\n tag: \"db-tag\",\n})\nexport class DBTag {\n private _ref!: HTMLDivElement | any;\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\n handleRemove(event?: ClickEvent<HTMLButtonElement> | void) {\n if (!event) return;\n event.stopPropagation();\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 componentDidLoad() {\n this.enableAttributePassing(this._ref, \"db-tag\");\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-semantic={this.semantic}\n data-emphasis={this.emphasis}\n data-icon={this.icon}\n data-show-check-state={getBooleanAsString(this.showCheckState ?? true)}\n data-show-icon={getBooleanAsString(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 type=\"button\"\n onClick={(event) => this.handleRemove(event)}\n >\n <db-tooltip variant=\"label\">\n {this.getRemoveButtonText()}\n </db-tooltip>\n </button>\n ) : null}\n </div>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["DBNavigation","constructor","hostRef","this","_id","DEFAULT_ID","enableAttributePassing","element","customElementSelector","parent","closest","attributes","i","length","attr","item","name","startsWith","setAttribute","value","removeAttribute","isWebComponent","includes","replace","trim","currentClass","getAttribute","componentDidLoad","_ref","id","uuid","render","h","key","class","cls","className","ref","el"],"sources":["src/components/navigation/navigation.tsx"],"sourcesContent":["import { DEFAULT_ID } from \"../../shared/constants\";\nimport { cls, uuid } from \"../../utils\";\nimport { DBNavigationProps, DBNavigationState } from \"./model\";\n\nimport { Component, h, Fragment, Prop, State } from \"@stencil/core\";\n\n\n/**\n * @slot children - This is a default/unnamed slot\n\n */\n @Component({\n tag: \"db-navigation\",\n})\nexport class DBNavigation {\n private _ref!: HTMLDivElement | any;\n @Prop() id: DBNavigationProps[\"id\"];\n @Prop({attribute: \"classname\"}) className: DBNavigationProps[\"className\"];\n @State() _id = DEFAULT_ID;\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-navigation\");\n this._id = this.id || \"navigation-\" + uuid();\n }\n\n render() {\n return (\n <nav\n class={cls(\"db-navigation\", this.className)}\n ref={(el: any) => {\n this._ref = el;\n }}\n id={this._id}\n >\n <menu>\n <slot></slot>\n </menu>\n </nav>\n );\n }\n}\n"],"mappings":"gIAcaA,EAAY,MAHxB,WAAAC,CAAAC,G,UAOUC,KAAGC,IAAGC,CA8DhB,CAvDS,sBAAAC,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,iBACvCzB,KAAKC,IAAMD,KAAK0B,IAAM,cAAgBC,G,CAGxC,MAAAC,GACE,OACEC,EACE,OAAAC,IAAA,2CAAAC,MAAOC,EAAI,gBAAiBhC,KAAKiC,WACjCC,IAAMC,IACJnC,KAAKyB,KAAOU,CAAE,EAEhBT,GAAI1B,KAAKC,KAET4B,EAAA,QAAAC,IAAA,4CACED,EAAa,QAAAC,IAAA,8C","ignoreList":[]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["DBPopover","constructor","hostRef","this","initialized","isExpanded","_documentScrollListenerCallbackId","undefined","_observer","handleEscape","event","key","child","Array","from","_ref","children","blur","handleAutoPlacement","article","querySelector","utilsDelay","handleFixedPopover","_a","placement","handleDocumentScroll","target","contains","_b","handleEnter","DocumentScrollListener","addCallback","getTrigger","observe","handleLeave","element","parent","parentNode","removeCallback","unobserve","length","firstChild","tagName","includes","enableAttributePassing","customElementSelector","closest","attributes","i","attr","item","name","startsWith","setAttribute","value","removeAttribute","isWebComponent","replace","trim","currentClass","getAttribute","watch0Fn","ariaHasPopup","addEventListener","forEach","window","IntersectionObserver","payload","entry","find","isIntersecting","watch0","watch1Fn","ariaExpanded","Boolean","toString","watch1","componentDidLoad","render","h","class","cls","className","ref","el","id","spacing","getBooleanAsString","gap","animation","open","delay","width"],"sources":["src/components/popover/popover.tsx"],"sourcesContent":["import { cls, getBooleanAsString, delay as utilsDelay } from \"../../utils\";\nimport { DocumentScrollListener } from \"../../utils/document-scroll-listener\";\nimport { handleFixedPopover } from \"../../utils/floating-components\";\nimport { DBPopoverProps, DBPopoverState } from \"./model\";\n\nimport { Component, h, Fragment, Watch, Prop, State } from \"@stencil/core\";\n\n\n/**\n * @slot children - This is a default/unnamed slot\n * @slot trigger - TODO: Add description for slotTrigger\n */\n @Component({\n tag: \"db-popover\",\n})\nexport class DBPopover {\n private _ref!: HTMLDivElement | any;\n @Prop() placement: DBPopoverProps[\"placement\"];\n @Prop() id: DBPopoverProps[\"id\"];\n @Prop({attribute: \"classname\"}) className: DBPopoverProps[\"className\"];\n @Prop() spacing: DBPopoverProps[\"spacing\"];\n @Prop() gap: DBPopoverProps[\"gap\"];\n @Prop() animation: DBPopoverProps[\"animation\"];\n @Prop() open: DBPopoverProps[\"open\"];\n @Prop() delay: DBPopoverProps[\"delay\"];\n @Prop() width: DBPopoverProps[\"width\"];\n @State() initialized = false;\n @State() isExpanded = false;\n @State() _documentScrollListenerCallbackId = undefined;\n @State() _observer = undefined;\n\n handleEscape(event: any) {\n if (!event || event.key === \"Escape\") {\n // TODO: Recursive for any child\n for (const child of Array.from(this._ref.children)) {\n (child as HTMLElement).blur();\n }\n }\n }\n handleAutoPlacement() {\n if (!this._ref) return;\n const article = this._ref.querySelector(\"article\");\n if (article) {\n // This is a workaround for angular\n utilsDelay(() => {\n handleFixedPopover(\n article,\n this._ref,\n (this.placement as unknown as string) ?? \"bottom\"\n );\n }, 1);\n }\n }\n handleDocumentScroll(event: any) {\n if (event?.target?.contains && event?.target?.contains(this._ref)) {\n this.handleAutoPlacement();\n }\n }\n handleEnter() {\n this.isExpanded = true;\n this._documentScrollListenerCallbackId =\n new DocumentScrollListener().addCallback((event) =>\n this.handleDocumentScroll(event)\n );\n this.handleAutoPlacement();\n const child = this.getTrigger();\n if (child) {\n this._observer?.observe(child);\n }\n }\n handleLeave(event?: any) {\n const element = event?.target as HTMLElement;\n const parent = element?.parentNode;\n if (\n !parent ||\n (element.parentNode.querySelector(\":focus\") !== element &&\n element.parentNode.querySelector(\":focus-within\") !== element &&\n element.parentNode.querySelector(\":hover\") !== element)\n ) {\n this.isExpanded = false;\n if (this._documentScrollListenerCallbackId) {\n new DocumentScrollListener().removeCallback(\n this._documentScrollListenerCallbackId!\n );\n }\n const child = this.getTrigger();\n if (child) {\n this._observer?.unobserve(child);\n }\n }\n }\n getTrigger() {\n if (this._ref) {\n const children: Element[] = Array.from(this._ref.children);\n if (children.length >= 2) {\n const firstChild = children[0];\n if (firstChild.tagName.includes(\"-\")) {\n // this is a workaround for custom angular components\n return firstChild.children?.length > 0\n ? firstChild.children[0]\n : null;\n } else {\n return firstChild;\n }\n }\n }\n return null;\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.initialized = false;\n const child = this.getTrigger();\n if (child) {\n child.ariaHasPopup = \"true\";\n }\n this.handleAutoPlacement();\n this._ref.addEventListener(\"keydown\", (event: any) =>\n this.handleEscape(event)\n );\n [\"mouseenter\", \"focusin\"].forEach((event) => {\n this._ref.addEventListener(event, () => this.handleEnter());\n });\n [\"mouseleave\", \"focusout\"].forEach((event) => {\n this._ref.addEventListener(event, () => this.handleLeave());\n });\n if (typeof window !== \"undefined\" && \"IntersectionObserver\" in window) {\n this._observer = new IntersectionObserver((payload) => {\n const entry = payload.find(\n ({ target }) => target === this.getTrigger()\n );\n if (entry && !entry.isIntersecting) {\n this.handleEscape(false);\n }\n });\n }\n }\n }\n\n @Watch(\"_ref\")\n @Watch(\"initialized\")\n watch0() {\n this.watch0Fn();\n }\n\n watch1Fn() {\n if (this._ref) {\n const child = this.getTrigger();\n if (child) {\n child.ariaExpanded = Boolean(this.isExpanded).toString();\n }\n }\n }\n\n @Watch(\"_ref\")\n @Watch(\"isExpanded\")\n watch1() {\n this.watch1Fn();\n }\n\n componentDidLoad() {\n this.enableAttributePassing(this._ref, \"db-popover\");\n this.initialized = true;\n this.watch0Fn();\n this.watch1Fn();\n }\n\n render() {\n return (\n <div\n class={cls(\"db-popover\", this.className)}\n ref={(el: any) => {\n this._ref = el;\n }}\n id={this.id}\n >\n <slot name=\"trigger\"></slot>\n <article\n class=\"db-popover-content\"\n data-spacing={this.spacing}\n data-gap={getBooleanAsString(this.gap)}\n data-animation={getBooleanAsString(this.animation ?? true)}\n data-open={getBooleanAsString(this.open)}\n data-delay={this.delay}\n data-width={this.width}\n data-placement={this.placement}\n >\n <slot></slot>\n </article>\n </div>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["DBIcon","enableAttributePassing","element","customElementSelector","parent","closest","attributes","i","length","attr","item","name","startsWith","setAttribute","value","removeAttribute","isWebComponent","includes","replace","trim","currentClass","getAttribute","componentDidLoad","this","_ref","render","h","key","class","cls","className","ref","el","id","icon","weight","variant","text"],"sources":["src/components/icon/icon.tsx"],"sourcesContent":["import { cls } from \"../../utils\";\nimport type { DBIconProps, DBIconState } from \"./model\";\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-icon\",\n})\nexport class DBIcon {\n private _ref!: HTMLSpanElement | any;\n @Prop() id: DBIconProps[\"id\"];\n @Prop({attribute: \"classname\"}) className: DBIconProps[\"className\"];\n @Prop() icon: DBIconProps[\"icon\"];\n @Prop() weight: DBIconProps[\"weight\"];\n @Prop() variant: DBIconProps[\"variant\"];\n @Prop() text: DBIconProps[\"text\"];\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-icon\");\n }\n\n render() {\n return (\n <span\n class={cls(\"db-icon\", this.className)}\n aria-hidden=\"true\"\n ref={(el: any) => {\n this._ref = el;\n }}\n id={this.id}\n data-icon={this.icon}\n data-icon-weight={this.weight}\n data-icon-variant={this.variant}\n >\n {this.text ? this.text : <slot></slot>}\n </span>\n );\n }\n}\n"],"mappings":"qFAaaA,EAAM,M,yBAcT,sBAAAC,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,GACEC,KAAKtB,uBAAuBsB,KAAKC,KAAM,U,CAGzC,MAAAC,GACE,OACEC,EAAA,QAAAC,IAAA,2CACEC,MAAOC,EAAI,UAAWN,KAAKO,WAAU,cACzB,OACZC,IAAMC,IACJT,KAAKC,KAAOQ,CAAE,EAEhBC,GAAIV,KAAKU,GAAE,YACAV,KAAKW,KACE,mBAAAX,KAAKY,OAAM,oBACVZ,KAAKa,SAEvBb,KAAKc,KAAOd,KAAKc,KAAOX,EAAa,a","ignoreList":[]}
|