@db-ux/wc-core-components 2.0.8 → 2.0.10-popover-d7e8b9a
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/db-accordion-item.cjs.entry.js +1 -1
- package/dist/cjs/db-accordion.cjs.entry.js +1 -1
- package/dist/cjs/db-badge.cjs.entry.js +1 -1
- package/dist/cjs/db-brand.cjs.entry.js +1 -1
- package/dist/cjs/db-button.cjs.entry.js +3 -3
- package/dist/cjs/db-button.cjs.entry.js.map +1 -1
- package/dist/cjs/db-button.entry.cjs.js.map +1 -1
- package/dist/cjs/db-card.cjs.entry.js +4 -4
- package/dist/cjs/db-card.cjs.entry.js.map +1 -1
- package/dist/cjs/db-card.entry.cjs.js.map +1 -1
- package/dist/cjs/db-checkbox.cjs.entry.js +4 -3
- package/dist/cjs/db-checkbox.cjs.entry.js.map +1 -1
- package/dist/cjs/db-checkbox.entry.cjs.js.map +1 -1
- package/dist/cjs/db-custom-select-dropdown.db-custom-select-list.db-custom-select-list-item.db-input.db-tag.db-tooltip.entry.cjs.js.map +1 -1
- package/dist/cjs/db-custom-select-dropdown_6.cjs.entry.js +65 -13
- package/dist/cjs/db-custom-select-dropdown_6.cjs.entry.js.map +1 -1
- package/dist/cjs/db-custom-select-form-field.cjs.entry.js +1 -1
- package/dist/cjs/db-custom-select.cjs.entry.js +104 -67
- package/dist/cjs/db-custom-select.cjs.entry.js.map +1 -1
- package/dist/cjs/db-custom-select.entry.cjs.js.map +1 -1
- package/dist/cjs/db-divider.cjs.entry.js +1 -1
- package/dist/cjs/db-drawer.cjs.entry.js +1 -1
- package/dist/cjs/db-header.cjs.entry.js +3 -2
- package/dist/cjs/db-header.cjs.entry.js.map +1 -1
- package/dist/cjs/db-header.entry.cjs.js.map +1 -1
- package/dist/cjs/db-icon.cjs.entry.js +1 -1
- package/dist/cjs/db-infotext.cjs.entry.js +1 -1
- package/dist/cjs/db-link.cjs.entry.js +3 -3
- package/dist/cjs/db-link.cjs.entry.js.map +1 -1
- package/dist/cjs/db-link.entry.cjs.js.map +1 -1
- package/dist/cjs/db-navigation-item.cjs.entry.js +5 -4
- package/dist/cjs/db-navigation-item.cjs.entry.js.map +1 -1
- package/dist/cjs/db-navigation-item.entry.cjs.js.map +1 -1
- package/dist/cjs/db-navigation.cjs.entry.js +1 -1
- package/dist/cjs/db-notification.cjs.entry.js +1 -1
- package/dist/cjs/db-page.cjs.entry.js +1 -1
- package/dist/cjs/db-popover.cjs.entry.js +64 -10
- package/dist/cjs/db-popover.cjs.entry.js.map +1 -1
- package/dist/cjs/db-popover.entry.cjs.js.map +1 -1
- package/dist/cjs/db-radio.cjs.entry.js +4 -3
- package/dist/cjs/db-radio.cjs.entry.js.map +1 -1
- package/dist/cjs/db-radio.entry.cjs.js.map +1 -1
- package/dist/cjs/db-section.cjs.entry.js +1 -1
- package/dist/cjs/db-select.cjs.entry.js +6 -6
- package/dist/cjs/db-select.cjs.entry.js.map +1 -1
- package/dist/cjs/db-select.entry.cjs.js.map +1 -1
- package/dist/cjs/db-stack.cjs.entry.js +1 -1
- package/dist/cjs/db-switch.cjs.entry.js +4 -3
- package/dist/cjs/db-switch.cjs.entry.js.map +1 -1
- package/dist/cjs/db-switch.entry.cjs.js.map +1 -1
- package/dist/cjs/db-tab-item_3.cjs.entry.js +1 -1
- package/dist/cjs/db-tabs.cjs.entry.js +1 -1
- package/dist/cjs/db-textarea.cjs.entry.js +4 -4
- package/dist/cjs/db-textarea.cjs.entry.js.map +1 -1
- package/dist/cjs/db-textarea.entry.cjs.js.map +1 -1
- package/dist/cjs/db-ux.cjs.js +1 -1
- package/dist/cjs/{document-click-listener-BbGE8WyV.js → document-click-listener-BqewuQFB.js} +7 -7
- package/dist/cjs/document-click-listener-BqewuQFB.js.map +1 -0
- package/dist/cjs/document-scroll-listener-DsZwE3e9.js +46 -0
- package/dist/cjs/document-scroll-listener-DsZwE3e9.js.map +1 -0
- package/dist/cjs/floating-components-BNCfdqZJ.js +299 -0
- package/dist/cjs/floating-components-BNCfdqZJ.js.map +1 -0
- package/dist/cjs/{index-7lbP4BU6.js → index-4GRgVEnx.js} +2 -76
- package/dist/cjs/index-4GRgVEnx.js.map +1 -0
- package/dist/cjs/index.cjs.js +5 -7
- package/dist/cjs/index.cjs.js.map +1 -1
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/{navigation-BLjJ1vaO.js → navigation-U4SBgT7D.js} +4 -4
- package/dist/cjs/navigation-U4SBgT7D.js.map +1 -0
- package/dist/collection/components/button/button.js +2 -2
- package/dist/collection/components/button/button.js.map +1 -1
- package/dist/collection/components/card/card.js +3 -3
- package/dist/collection/components/card/card.js.map +1 -1
- package/dist/collection/components/checkbox/checkbox.js +28 -2
- package/dist/collection/components/checkbox/checkbox.js.map +1 -1
- package/dist/collection/components/custom-select/custom-select.js +144 -80
- 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/icon/icon.js +1 -1
- package/dist/collection/components/icon/model.js +0 -1
- package/dist/collection/components/icon/model.js.map +1 -1
- package/dist/collection/components/link/link.js +2 -2
- package/dist/collection/components/link/link.js.map +1 -1
- package/dist/collection/components/navigation-item/navigation-item.js +2 -2
- package/dist/collection/components/navigation-item/navigation-item.js.map +1 -1
- package/dist/collection/components/popover/model.js.map +1 -1
- package/dist/collection/components/popover/popover.js +92 -36
- package/dist/collection/components/popover/popover.js.map +1 -1
- package/dist/collection/components/radio/model.js.map +1 -1
- package/dist/collection/components/radio/radio.js +28 -2
- package/dist/collection/components/radio/radio.js.map +1 -1
- package/dist/collection/components/select/model.js.map +1 -1
- package/dist/collection/components/select/select.js +30 -5
- package/dist/collection/components/select/select.js.map +1 -1
- package/dist/collection/components/switch/switch.js +28 -2
- package/dist/collection/components/switch/switch.js.map +1 -1
- package/dist/collection/components/textarea/textarea.js +28 -3
- package/dist/collection/components/textarea/textarea.js.map +1 -1
- package/dist/collection/components/tooltip/model.js.map +1 -1
- package/dist/collection/components/tooltip/tooltip.js +93 -39
- package/dist/collection/components/tooltip/tooltip.js.map +1 -1
- package/dist/collection/shared/model.js.map +1 -1
- package/dist/collection/utils/document-click-listener.js +4 -4
- package/dist/collection/utils/document-click-listener.js.map +1 -1
- package/dist/collection/utils/document-scroll-listener.js +39 -0
- package/dist/collection/utils/document-scroll-listener.js.map +1 -0
- package/dist/collection/utils/floating-components.js +291 -0
- package/dist/collection/utils/floating-components.js.map +1 -0
- package/dist/collection/utils/index.js +0 -70
- package/dist/collection/utils/index.js.map +1 -1
- package/dist/collection/utils/navigation.js +1 -1
- package/dist/collection/utils/navigation.js.map +1 -1
- package/dist/custom-elements.json +425 -114
- package/dist/db-ux/db-button.entry.esm.js.map +1 -1
- package/dist/db-ux/db-card.entry.esm.js.map +1 -1
- package/dist/db-ux/db-checkbox.entry.esm.js.map +1 -1
- package/dist/db-ux/db-custom-select-dropdown.db-custom-select-list.db-custom-select-list-item.db-input.db-tag.db-tooltip.entry.esm.js.map +1 -1
- package/dist/db-ux/db-custom-select.entry.esm.js.map +1 -1
- package/dist/db-ux/db-header.entry.esm.js.map +1 -1
- package/dist/db-ux/db-link.entry.esm.js.map +1 -1
- package/dist/db-ux/db-navigation-item.entry.esm.js.map +1 -1
- package/dist/db-ux/db-popover.entry.esm.js.map +1 -1
- package/dist/db-ux/db-radio.entry.esm.js.map +1 -1
- package/dist/db-ux/db-select.entry.esm.js.map +1 -1
- package/dist/db-ux/db-switch.entry.esm.js.map +1 -1
- package/dist/db-ux/db-textarea.entry.esm.js.map +1 -1
- package/dist/db-ux/db-ux.esm.js +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-8b7d868b.entry.js → p-00ae6c1c.entry.js} +2 -2
- package/dist/db-ux/{p-50c9112b.entry.js → p-0bf63ec2.entry.js} +2 -2
- package/dist/db-ux/p-0bf63ec2.entry.js.map +1 -0
- package/dist/db-ux/p-166b337e.entry.js +2 -0
- package/dist/db-ux/{p-39d957bb.entry.js.map → p-166b337e.entry.js.map} +1 -1
- package/dist/db-ux/p-16f8a2d5.entry.js +2 -0
- package/dist/db-ux/p-16f8a2d5.entry.js.map +1 -0
- package/dist/db-ux/p-199c8a0f.entry.js +2 -0
- package/dist/db-ux/p-199c8a0f.entry.js.map +1 -0
- package/dist/db-ux/{p-55b02c80.entry.js → p-240497d9.entry.js} +2 -2
- package/dist/db-ux/p-2e0f291f.entry.js +2 -0
- package/dist/db-ux/p-2e0f291f.entry.js.map +1 -0
- package/dist/db-ux/p-3df47dd9.entry.js +2 -0
- package/dist/db-ux/p-3df47dd9.entry.js.map +1 -0
- package/dist/db-ux/p-423bf8f8.entry.js +2 -0
- package/dist/db-ux/p-423bf8f8.entry.js.map +1 -0
- package/dist/db-ux/p-4aa47b47.entry.js +2 -0
- package/dist/db-ux/p-4aa47b47.entry.js.map +1 -0
- package/dist/db-ux/{p-b3148401.entry.js → p-4b52b854.entry.js} +2 -2
- package/dist/db-ux/{p-63f30576.entry.js → p-57c4486c.entry.js} +2 -2
- package/dist/db-ux/p-5fdc8db6.entry.js +2 -0
- package/dist/db-ux/p-5fdc8db6.entry.js.map +1 -0
- package/dist/db-ux/{p-49cc4a11.entry.js → p-63f1d771.entry.js} +2 -2
- package/dist/db-ux/p-75a55c2c.entry.js +2 -0
- package/dist/db-ux/{p-5c2e9373.entry.js.map → p-75a55c2c.entry.js.map} +1 -1
- package/dist/db-ux/{p-d7ccd983.entry.js → p-7636be02.entry.js} +2 -2
- package/dist/db-ux/{p-52e736c3.entry.js → p-769c530c.entry.js} +2 -2
- package/dist/db-ux/p-80f23995.entry.js +2 -0
- package/dist/db-ux/p-80f23995.entry.js.map +1 -0
- package/dist/db-ux/{p-6wgV8aKO.js → p-BDA9dlfd.js} +2 -2
- package/dist/db-ux/p-BDA9dlfd.js.map +1 -0
- package/dist/db-ux/p-C8WY_RwJ.js +2 -0
- package/dist/db-ux/p-C8WY_RwJ.js.map +1 -0
- package/dist/db-ux/p-CQCQcuvr.js +2 -0
- package/dist/db-ux/p-CQCQcuvr.js.map +1 -0
- package/dist/db-ux/p-CqteyeC3.js +2 -0
- package/dist/db-ux/p-CqteyeC3.js.map +1 -0
- package/dist/db-ux/p-DYeQU2bY.js +2 -0
- package/dist/db-ux/p-DYeQU2bY.js.map +1 -0
- package/dist/db-ux/{p-c151750e.entry.js → p-a4d62218.entry.js} +2 -2
- package/dist/db-ux/{p-6b6dbd54.entry.js → p-aae2a35a.entry.js} +2 -2
- package/dist/db-ux/{p-61410d87.entry.js → p-ab7f29be.entry.js} +2 -2
- package/dist/db-ux/p-ab7f29be.entry.js.map +1 -0
- package/dist/db-ux/{p-c5909b40.entry.js → p-b5e12faa.entry.js} +2 -2
- package/dist/db-ux/{p-33aaf986.entry.js → p-c615e5e6.entry.js} +2 -2
- package/dist/db-ux/p-c615e5e6.entry.js.map +1 -0
- package/dist/db-ux/{p-b4bc8f26.entry.js → p-cc6df17e.entry.js} +2 -2
- package/dist/db-ux/{p-4400f077.entry.js → p-d28395c3.entry.js} +2 -2
- package/dist/db-ux/p-d45c03e4.entry.js +2 -0
- package/dist/db-ux/p-d45c03e4.entry.js.map +1 -0
- package/dist/db-ux/{p-5c4d25b8.entry.js → p-d64ea737.entry.js} +2 -2
- package/dist/db-ux/{p-14c44b94.entry.js → p-da2d2518.entry.js} +2 -2
- package/dist/db-ux/p-f17426ab.entry.js +2 -0
- package/dist/db-ux/{p-01112955.entry.js.map → p-f17426ab.entry.js.map} +1 -1
- package/dist/esm/db-accordion-item.entry.js +1 -1
- package/dist/esm/db-accordion.entry.js +1 -1
- package/dist/esm/db-badge.entry.js +1 -1
- package/dist/esm/db-brand.entry.js +1 -1
- package/dist/esm/db-button.entry.js +3 -3
- package/dist/esm/db-button.entry.js.map +1 -1
- package/dist/esm/db-card.entry.js +4 -4
- package/dist/esm/db-card.entry.js.map +1 -1
- package/dist/esm/db-checkbox.entry.js +4 -3
- package/dist/esm/db-checkbox.entry.js.map +1 -1
- package/dist/esm/db-custom-select-dropdown.db-custom-select-list.db-custom-select-list-item.db-input.db-tag.db-tooltip.entry.js.map +1 -1
- package/dist/esm/db-custom-select-dropdown_6.entry.js +65 -13
- package/dist/esm/db-custom-select-dropdown_6.entry.js.map +1 -1
- package/dist/esm/db-custom-select-form-field.entry.js +1 -1
- package/dist/esm/db-custom-select.entry.js +104 -67
- package/dist/esm/db-custom-select.entry.js.map +1 -1
- package/dist/esm/db-divider.entry.js +1 -1
- package/dist/esm/db-drawer.entry.js +1 -1
- package/dist/esm/db-header.entry.js +3 -2
- package/dist/esm/db-header.entry.js.map +1 -1
- package/dist/esm/db-icon.entry.js +1 -1
- package/dist/esm/db-infotext.entry.js +1 -1
- package/dist/esm/db-link.entry.js +3 -3
- package/dist/esm/db-link.entry.js.map +1 -1
- package/dist/esm/db-navigation-item.entry.js +5 -4
- package/dist/esm/db-navigation-item.entry.js.map +1 -1
- package/dist/esm/db-navigation.entry.js +1 -1
- package/dist/esm/db-notification.entry.js +1 -1
- package/dist/esm/db-page.entry.js +1 -1
- package/dist/esm/db-popover.entry.js +64 -10
- package/dist/esm/db-popover.entry.js.map +1 -1
- package/dist/esm/db-radio.entry.js +4 -3
- package/dist/esm/db-radio.entry.js.map +1 -1
- package/dist/esm/db-section.entry.js +1 -1
- package/dist/esm/db-select.entry.js +6 -6
- package/dist/esm/db-select.entry.js.map +1 -1
- package/dist/esm/db-stack.entry.js +1 -1
- package/dist/esm/db-switch.entry.js +4 -3
- package/dist/esm/db-switch.entry.js.map +1 -1
- package/dist/esm/db-tab-item_3.entry.js +1 -1
- package/dist/esm/db-tabs.entry.js +1 -1
- package/dist/esm/db-textarea.entry.js +4 -4
- package/dist/esm/db-textarea.entry.js.map +1 -1
- package/dist/esm/db-ux.js +1 -1
- package/dist/esm/{document-click-listener-Bn3nIGhA.js → document-click-listener-CsfOzbMG.js} +7 -7
- package/dist/esm/document-click-listener-CsfOzbMG.js.map +1 -0
- package/dist/esm/document-scroll-listener-QnsLRkL2.js +44 -0
- package/dist/esm/document-scroll-listener-QnsLRkL2.js.map +1 -0
- package/dist/esm/floating-components-DYeQU2bY.js +295 -0
- package/dist/esm/floating-components-DYeQU2bY.js.map +1 -0
- package/dist/esm/{index-pglUTSkG.js → index-CQCQcuvr.js} +3 -73
- package/dist/esm/index-CQCQcuvr.js.map +1 -0
- package/dist/esm/index.js +5 -3
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/loader.js +1 -1
- package/dist/esm/{navigation-C1ssnmpm.js → navigation-CE_2IUA4.js} +3 -3
- package/dist/esm/navigation-CE_2IUA4.js.map +1 -0
- package/dist/types/components/checkbox/checkbox.d.ts +1 -0
- package/dist/types/components/custom-select/custom-select.d.ts +10 -6
- package/dist/types/components/custom-select/model.d.ts +6 -5
- package/dist/types/components/icon/model.d.ts +1 -3
- package/dist/types/components/popover/model.d.ts +0 -1
- package/dist/types/components/popover/popover.d.ts +7 -2
- package/dist/types/components/radio/model.d.ts +1 -3
- package/dist/types/components/radio/radio.d.ts +1 -0
- package/dist/types/components/select/model.d.ts +2 -1
- package/dist/types/components/select/select.d.ts +1 -0
- package/dist/types/components/switch/switch.d.ts +1 -0
- package/dist/types/components/textarea/textarea.d.ts +1 -0
- package/dist/types/components/tooltip/model.d.ts +5 -3
- package/dist/types/components/tooltip/tooltip.d.ts +9 -2
- package/dist/types/components.d.ts +12 -0
- package/dist/types/shared/model.d.ts +12 -3
- package/dist/types/utils/document-scroll-listener.d.ts +9 -0
- package/dist/types/utils/floating-components.d.ts +7 -0
- package/dist/types/utils/index.d.ts +0 -13
- package/dist/types/utils/navigation.d.ts +1 -1
- package/dist/vscode.html-custom-data.json +52 -41
- package/dist/web-types.json +110 -58
- package/package.json +3 -3
- package/dist/cjs/document-click-listener-BbGE8WyV.js.map +0 -1
- package/dist/cjs/index-7lbP4BU6.js.map +0 -1
- package/dist/cjs/navigation-BLjJ1vaO.js.map +0 -1
- package/dist/db-ux/p-01112955.entry.js +0 -2
- package/dist/db-ux/p-049844c6.entry.js +0 -2
- package/dist/db-ux/p-049844c6.entry.js.map +0 -1
- package/dist/db-ux/p-1d40e8cd.entry.js +0 -2
- package/dist/db-ux/p-1d40e8cd.entry.js.map +0 -1
- package/dist/db-ux/p-33aaf986.entry.js.map +0 -1
- package/dist/db-ux/p-39d957bb.entry.js +0 -2
- package/dist/db-ux/p-44f6404b.entry.js +0 -2
- package/dist/db-ux/p-44f6404b.entry.js.map +0 -1
- package/dist/db-ux/p-50c9112b.entry.js.map +0 -1
- package/dist/db-ux/p-5c2e9373.entry.js +0 -2
- package/dist/db-ux/p-61410d87.entry.js.map +0 -1
- package/dist/db-ux/p-623a9409.entry.js +0 -2
- package/dist/db-ux/p-623a9409.entry.js.map +0 -1
- package/dist/db-ux/p-6wgV8aKO.js.map +0 -1
- package/dist/db-ux/p-DszXleuv.js +0 -2
- package/dist/db-ux/p-DszXleuv.js.map +0 -1
- package/dist/db-ux/p-a1ee66b3.entry.js +0 -2
- package/dist/db-ux/p-a1ee66b3.entry.js.map +0 -1
- package/dist/db-ux/p-b5a8e9c3.entry.js +0 -2
- package/dist/db-ux/p-b5a8e9c3.entry.js.map +0 -1
- package/dist/db-ux/p-c989b5d8.entry.js +0 -2
- package/dist/db-ux/p-c989b5d8.entry.js.map +0 -1
- package/dist/db-ux/p-d9ff0c75.entry.js +0 -2
- package/dist/db-ux/p-d9ff0c75.entry.js.map +0 -1
- package/dist/db-ux/p-f2ef5e71.entry.js +0 -2
- package/dist/db-ux/p-f2ef5e71.entry.js.map +0 -1
- package/dist/db-ux/p-pglUTSkG.js +0 -2
- package/dist/db-ux/p-pglUTSkG.js.map +0 -1
- package/dist/esm/document-click-listener-Bn3nIGhA.js.map +0 -1
- package/dist/esm/index-pglUTSkG.js.map +0 -1
- package/dist/esm/navigation-C1ssnmpm.js.map +0 -1
- /package/dist/db-ux/{p-8b7d868b.entry.js.map → p-00ae6c1c.entry.js.map} +0 -0
- /package/dist/db-ux/{p-55b02c80.entry.js.map → p-240497d9.entry.js.map} +0 -0
- /package/dist/db-ux/{p-b3148401.entry.js.map → p-4b52b854.entry.js.map} +0 -0
- /package/dist/db-ux/{p-63f30576.entry.js.map → p-57c4486c.entry.js.map} +0 -0
- /package/dist/db-ux/{p-49cc4a11.entry.js.map → p-63f1d771.entry.js.map} +0 -0
- /package/dist/db-ux/{p-d7ccd983.entry.js.map → p-7636be02.entry.js.map} +0 -0
- /package/dist/db-ux/{p-52e736c3.entry.js.map → p-769c530c.entry.js.map} +0 -0
- /package/dist/db-ux/{p-c151750e.entry.js.map → p-a4d62218.entry.js.map} +0 -0
- /package/dist/db-ux/{p-6b6dbd54.entry.js.map → p-aae2a35a.entry.js.map} +0 -0
- /package/dist/db-ux/{p-c5909b40.entry.js.map → p-b5e12faa.entry.js.map} +0 -0
- /package/dist/db-ux/{p-b4bc8f26.entry.js.map → p-cc6df17e.entry.js.map} +0 -0
- /package/dist/db-ux/{p-4400f077.entry.js.map → p-d28395c3.entry.js.map} +0 -0
- /package/dist/db-ux/{p-5c4d25b8.entry.js.map → p-d64ea737.entry.js.map} +0 -0
- /package/dist/db-ux/{p-14c44b94.entry.js.map → p-da2d2518.entry.js.map} +0 -0
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["DBInput","constructor","hostRef","this","_id","undefined","_messageId","_validMessageId","_invalidMessageId","_invalidMessage","_dataListId","_descByIds","_value","_voiceOverFallback","hasValidState","_a","validMessage","validation","handleValidation","_ref","validity","valid","invalidMessage","_b","validationMessage","DEFAULT_INVALID_MESSAGE","hasVoiceOver","delay","_c","required","minLength","maxLength","pattern","_d","DEFAULT_VALID_MESSAGE","stringPropVisible","message","showMessage","handleInput","event","stopPropagation","input","emit","handleChange","change","handleBlur","blur","handleFocus","focus","getDataList","_list","dataList","Array","from","isArrayOfStrings","map","val","value","label","enableAttributePassing","element","customElementSelector","parent","closest","attributes","i","length","attr","item","name","startsWith","setAttribute","removeAttribute","isWebComponent","includes","replace","trim","currentClass","getAttribute","watch0Fn","watch0","watch1Fn","messageId","DEFAULT_MESSAGE_ID_SUFFIX","DEFAULT_VALID_MESSAGE_ID_SUFFIX","DEFAULT_INVALID_MESSAGE_ID_SUFFIX","dataListId","DEFAULT_DATALIST_ID_SUFFIX","watch1","watch2Fn","watch2","componentDidLoad","mId","id","uuid","render","h","key","class","cls","className","variant","getHideProp","showLabel","showIcon","icon","iconAfter","htmlFor","DEFAULT_LABEL","ref","el","type","placeholder","DEFAULT_PLACEHOLDER","disabled","getBoolean","step","getNumber","maxlength","minlength","max","getInputValue","min","readOnly","readonly","form","size","autoComplete","autocomplete","autoFocus","autofocus","onInput","onChange","onBlur","onFocus","list","ariaDescribedBy","_e","option","messageIcon","semantic","role","DBTag","initialized","handleRemove","remove","getRemoveButtonText","removeButton","DEFAULT_REMOVE","button","querySelector","Boolean","getBooleanAsString","emphasis","showCheckState","noText","overflow","text","behavior","onClick","title","DBTooltip","DEFAULT_ID","handleClick","handleAutoPlacement","handleDataOutside","parentElement","localName","forEach","addEventListener","animation","width","showArrow","placement","DBCustomSelectDropdown","DBCustomSelectList","multiple","DBCustomSelectListItem","hasDivider","getIconAfter","isGroupTitle","checked","showDivider","groupTitle"],"sources":["src/components/input/input.tsx","src/components/tag/tag.tsx","src/components/tooltip/tooltip.tsx","src/components/custom-select-dropdown/custom-select-dropdown.tsx","src/components/custom-select-list/custom-select-list.tsx","src/components/custom-select-list-item/custom-select-list-item.tsx"],"sourcesContent":["import {\n cls,\n delay,\n getBoolean,\n getHideProp,\n getNumber,\n hasVoiceOver,\n isArrayOfStrings,\n stringPropVisible,\n uuid,\n getInputValue,\n} from \"../../utils\";\nimport { DBInputProps, DBInputState } from \"./model\";\nimport {\n DEFAULT_DATALIST_ID_SUFFIX,\n DEFAULT_INVALID_MESSAGE,\n DEFAULT_INVALID_MESSAGE_ID_SUFFIX,\n DEFAULT_LABEL,\n DEFAULT_MESSAGE_ID_SUFFIX,\n DEFAULT_PLACEHOLDER,\n DEFAULT_VALID_MESSAGE,\n DEFAULT_VALID_MESSAGE_ID_SUFFIX,\n} from \"../../shared/constants\";\nimport {\n ChangeEvent,\n InputEvent,\n InteractionEvent,\n ValueLabelType,\n} from \"../../shared/model\";\nimport { DBInfotext } from \"../infotext/infotext\";\nimport {\n handleFrameworkEventAngular,\n handleFrameworkEventVue,\n} from \"../../utils/form-components\";\n\nimport {\n Component,\n h,\n Fragment,\n Watch,\n Event,\n EventEmitter,\n Prop,\n State,\n} from \"@stencil/core\";\n\n\n/**\n * @slot children - This is a default/unnamed slot\n\n */\n @Component({\n tag: \"db-input\",\n})\nexport class DBInput {\n private _ref!: HTMLInputElement | any;\n @Prop() id: DBInputProps[\"id\"];\n @Prop() invalidMessage: DBInputProps[\"invalidMessage\"];\n @Prop() dataListId: DBInputProps[\"dataListId\"];\n @Prop() message: DBInputProps[\"message\"];\n @Prop() showMessage: DBInputProps[\"showMessage\"];\n @Prop() value: DBInputProps[\"value\"];\n @Prop() validMessage: DBInputProps[\"validMessage\"];\n @Prop() validation: DBInputProps[\"validation\"];\n @Prop() required: DBInputProps[\"required\"];\n @Prop() minLength: DBInputProps[\"minLength\"];\n @Prop() maxLength: DBInputProps[\"maxLength\"];\n @Prop() pattern: DBInputProps[\"pattern\"];\n @Event() input: EventEmitter<\n Parameters<Required<DBInputProps>[\"onInput\"]>[number]\n > | void;\n @Event() change: EventEmitter<\n Parameters<Required<DBInputProps>[\"onChange\"]>[number]\n > | void;\n @Event() blur: EventEmitter<\n Parameters<Required<DBInputProps>[\"onBlur\"]>[number]\n > | void;\n @Event() focus: EventEmitter<\n Parameters<Required<DBInputProps>[\"onFocus\"]>[number]\n > | void;\n @Prop() dataList: DBInputProps[\"dataList\"];\n @Prop({attribute: \"classname\"}) className: DBInputProps[\"className\"];\n @Prop() variant: DBInputProps[\"variant\"];\n @Prop() showLabel: DBInputProps[\"showLabel\"];\n @Prop() showIcon: DBInputProps[\"showIcon\"];\n @Prop() icon: DBInputProps[\"icon\"];\n @Prop() iconAfter: DBInputProps[\"iconAfter\"];\n @Prop() label: DBInputProps[\"label\"];\n @Prop() name: DBInputProps[\"name\"];\n @Prop() type: DBInputProps[\"type\"];\n @Prop() placeholder: DBInputProps[\"placeholder\"];\n @Prop() disabled: DBInputProps[\"disabled\"];\n @Prop() step: DBInputProps[\"step\"];\n @Prop() maxlength: DBInputProps[\"maxlength\"];\n @Prop() minlength: DBInputProps[\"minlength\"];\n @Prop() max: DBInputProps[\"max\"];\n @Prop() min: DBInputProps[\"min\"];\n @Prop() readOnly: DBInputProps[\"readOnly\"];\n @Prop() readonly: DBInputProps[\"readonly\"];\n @Prop() form: DBInputProps[\"form\"];\n @Prop() size: DBInputProps[\"size\"];\n @Prop() autocomplete: DBInputProps[\"autocomplete\"];\n @Prop() autofocus: DBInputProps[\"autofocus\"];\n @Prop() ariaDescribedBy: DBInputProps[\"ariaDescribedBy\"];\n @Prop() messageIcon: DBInputProps[\"messageIcon\"];\n @State() _id = undefined;\n @State() _messageId = undefined;\n @State() _validMessageId = undefined;\n @State() _invalidMessageId = undefined;\n @State() _invalidMessage = undefined;\n @State() _dataListId = undefined;\n @State() _descByIds = \"\";\n @State() _value = \"\";\n @State() _voiceOverFallback = \"\";\n\n hasValidState() {\n return !!(this.validMessage ?? this.validation === \"valid\");\n }\n handleValidation() {\n /* For a11y reasons we need to map the correct message with the input */\n if (!this._ref?.validity.valid || this.validation === \"invalid\") {\n this._descByIds = this._invalidMessageId;\n this._invalidMessage =\n this.invalidMessage ||\n this._ref?.validationMessage ||\n DEFAULT_INVALID_MESSAGE;\n if (hasVoiceOver()) {\n this._voiceOverFallback = this._invalidMessage;\n delay(() => (this._voiceOverFallback = \"\"), 1000);\n }\n } else if (\n this.hasValidState() &&\n this._ref?.validity.valid &&\n (this.required || this.minLength || this.maxLength || this.pattern)\n ) {\n this._descByIds = this._validMessageId;\n if (hasVoiceOver()) {\n this._voiceOverFallback = this.validMessage ?? DEFAULT_VALID_MESSAGE;\n delay(() => (this._voiceOverFallback = \"\"), 1000);\n }\n } else if (stringPropVisible(this.message, this.showMessage)) {\n this._descByIds = this._messageId;\n } else {\n this._descByIds = \"\";\n }\n }\n handleInput(event: InputEvent<HTMLInputElement>) {\n event.stopPropagation();\n if (this.input) {\n this.input.emit(event);\n }\n this.handleValidation();\n }\n handleChange(event: ChangeEvent<HTMLInputElement>) {\n event.stopPropagation();\n if (this.change) {\n this.change.emit(event);\n }\n this.handleValidation();\n }\n handleBlur(event: InteractionEvent<HTMLInputElement> | any) {\n event.stopPropagation();\n if (this.blur) {\n this.blur.emit(event);\n }\n }\n handleFocus(event: InteractionEvent<HTMLInputElement> | any) {\n event.stopPropagation();\n if (this.focus) {\n this.focus.emit(event);\n }\n }\n getDataList() {\n const _list = this.dataList;\n return Array.from(\n (isArrayOfStrings(_list)\n ? _list?.map((val: string) => ({\n value: val,\n label: undefined,\n }))\n : _list) || []\n );\n }\n\n /**\n * Passes `aria-*`, `data-*` & `class` attributes to correct child. Used in angular and stencil.\n * @param element the ref for the component\n * @param customElementSelector the custom element like `my-component`\n */\n private enableAttributePassing(\n element: HTMLInputElement | null,\n customElementSelector: string\n ) {\n const parent = element?.closest(customElementSelector);\n if (element && parent) {\n const attributes = parent.attributes;\n for (let i = 0; i < attributes.length; i++) {\n const attr = attributes.item(i);\n if (\n attr &&\n (attr.name.startsWith(\"data-\") || attr.name.startsWith(\"aria-\"))\n ) {\n element.setAttribute(attr.name, attr.value);\n parent.removeAttribute(attr.name);\n }\n if (attr && attr.name === \"class\") {\n const isWebComponent = attr.value.includes(\"hydrated\");\n const value = attr.value.replace(\"hydrated\", \"\").trim();\n const currentClass = element.getAttribute(\"class\");\n element.setAttribute(\n attr.name,\n `${currentClass ? `${currentClass} ` : \"\"}${value}`\n );\n if (isWebComponent) {\n // Stencil is using this class for lazy loading component\n parent.setAttribute(\"class\", \"hydrated\");\n } else {\n parent.removeAttribute(attr.name);\n }\n }\n }\n }\n }\n\n watch0Fn() {\n this._invalidMessage =\n this.invalidMessage ||\n this._ref?.validationMessage ||\n DEFAULT_INVALID_MESSAGE;\n }\n\n @Watch(\"_ref\")\n @Watch(\"invalidMessage\")\n watch0() {\n this.watch0Fn();\n }\n\n watch1Fn() {\n if (this._id) {\n const messageId = this._id + DEFAULT_MESSAGE_ID_SUFFIX;\n this._messageId = messageId;\n this._validMessageId = this._id + DEFAULT_VALID_MESSAGE_ID_SUFFIX;\n this._invalidMessageId = this._id + DEFAULT_INVALID_MESSAGE_ID_SUFFIX;\n this._dataListId =\n this.dataListId ?? this._id + DEFAULT_DATALIST_ID_SUFFIX;\n if (stringPropVisible(this.message, this.showMessage)) {\n this._descByIds = messageId;\n }\n }\n }\n\n @Watch(\"_id\")\n watch1() {\n this.watch1Fn();\n }\n\n watch2Fn() {\n this._value = this.value;\n }\n\n @Watch(\"value\")\n watch2() {\n this.watch2Fn();\n }\n\n componentDidLoad() {\n this.enableAttributePassing(this._ref, \"db-input\");\n const mId = this.id ?? `input-${uuid()}`;\n this._id = mId;\n this._messageId = mId + DEFAULT_MESSAGE_ID_SUFFIX;\n this._validMessageId = mId + DEFAULT_VALID_MESSAGE_ID_SUFFIX;\n this._invalidMessageId = mId + DEFAULT_INVALID_MESSAGE_ID_SUFFIX;\n this._dataListId = mId + DEFAULT_DATALIST_ID_SUFFIX;\n this._invalidMessage = this.invalidMessage || DEFAULT_INVALID_MESSAGE;\n this.watch0Fn();\n this.watch1Fn();\n this.watch2Fn();\n }\n\n render() {\n return (\n <div\n class={cls(\"db-input\", this.className)}\n data-variant={this.variant}\n data-hide-label={getHideProp(this.showLabel)}\n data-hide-icon={getHideProp(this.showIcon)}\n data-icon={this.icon}\n data-icon-after={this.iconAfter}\n data-hide-icon-after={getHideProp(this.showIcon)}\n >\n <label htmlFor={this._id}>{this.label ?? DEFAULT_LABEL}</label>\n <input\n aria-invalid={this.validation === \"invalid\"}\n data-custom-validity={this.validation}\n ref={(el: any) => {\n this._ref = el;\n }}\n id={this._id}\n name={this.name}\n type={this.type || \"text\"}\n placeholder={this.placeholder ?? DEFAULT_PLACEHOLDER}\n disabled={getBoolean(this.disabled, \"disabled\")}\n required={getBoolean(this.required, \"required\")}\n step={getNumber(this.step)}\n value={this.value ?? this._value}\n maxLength={getNumber(this.maxLength, this.maxlength)}\n minLength={getNumber(this.minLength, this.minlength)}\n max={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 onInput={(event) => this.handleInput(event)}\n onChange={(event) => this.handleChange(event)}\n onBlur={(event) => this.handleBlur(event)}\n onFocus={(event) => this.handleFocus(event)}\n list={this.dataList && this._dataListId}\n aria-describedby={this.ariaDescribedBy ?? this._descByIds}\n />\n {this.dataList ? (\n <datalist id={this._dataListId}>\n {this.getDataList()?.map((option) => (\n <option\n key={this._dataListId + \"-option-\" + option.value}\n value={option.value}\n >\n {option.label}\n </option>\n ))}\n </datalist>\n ) : null}\n <slot></slot>\n {stringPropVisible(this.message, this.showMessage) ? (\n <db-infotext\n size=\"small\"\n icon={this.messageIcon}\n id={this._messageId}\n >\n {this.message}\n </db-infotext>\n ) : null}\n {this.hasValidState() ? (\n <db-infotext\n size=\"small\"\n semantic=\"successful\"\n id={this._validMessageId}\n >\n {this.validMessage || DEFAULT_VALID_MESSAGE}\n </db-infotext>\n ) : null}\n <db-infotext\n size=\"small\"\n semantic=\"critical\"\n id={this._invalidMessageId}\n >\n {this._invalidMessage}\n </db-infotext>\n <span data-visually-hidden=\"true\" role=\"status\">\n {this._voiceOverFallback}\n </span>\n </div>\n );\n }\n}\n","import { DBTagProps, DBTagState } from \"./model\";\nimport { cls, getBooleanAsString, getHideProp } from \"../../utils\";\nimport { DEFAULT_REMOVE } from \"../../shared/constants\";\nimport { ClickEvent } from \"../../shared/model\";\n\nimport {\n Component,\n h,\n Fragment,\n Watch,\n Event,\n EventEmitter,\n Prop,\n State,\n} from \"@stencil/core\";\n\n\n/**\n * @slot children - This is a default/unnamed slot\n * @slot content - TODO: Add description for slotContent\n */\n @Component({\n tag: \"db-tag\",\n})\nexport class DBTag {\n private _ref!: HTMLDivElement | any;\n @Prop() disabled: DBTagProps[\"disabled\"];\n @Event() remove: EventEmitter<\n Parameters<Required<DBTagProps>[\"remove\"]>[number]\n > | void;\n @Prop() removeButton: DBTagProps[\"removeButton\"];\n @Prop() id: DBTagProps[\"id\"];\n @Prop({attribute: \"classname\"}) className: DBTagProps[\"className\"];\n @Prop() semantic: DBTagProps[\"semantic\"];\n @Prop() emphasis: DBTagProps[\"emphasis\"];\n @Prop() icon: DBTagProps[\"icon\"];\n @Prop() showCheckState: DBTagProps[\"showCheckState\"];\n @Prop() showIcon: DBTagProps[\"showIcon\"];\n @Prop() noText: DBTagProps[\"noText\"];\n @Prop() overflow: DBTagProps[\"overflow\"];\n @Prop() text: DBTagProps[\"text\"];\n @Prop() behavior: DBTagProps[\"behavior\"];\n @State() initialized = false;\n\n handleRemove(event?: ClickEvent<HTMLButtonElement>) {\n 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 watch0Fn() {\n if (this.initialized && this._ref && this.disabled !== undefined) {\n const button: HTMLButtonElement | null = this._ref?.querySelector(\n \"button:not(.db-tab-remove-button)\"\n );\n const input: HTMLInputElement | null = this._ref?.querySelector(\"input\");\n for (const element of [button, input]) {\n if (element) {\n element.disabled = Boolean(this.disabled);\n }\n }\n }\n }\n\n @Watch(\"initialized\")\n @Watch(\"disabled\")\n @Watch(\"_ref\")\n watch0() {\n this.watch0Fn();\n }\n\n componentDidLoad() {\n this.enableAttributePassing(this._ref, \"db-tag\");\n\n this.watch0Fn();\n }\n\n render() {\n return (\n <div\n class={cls(\"db-tag\", this.className)}\n ref={(el: any) => {\n this._ref = el;\n }}\n id={this.id}\n data-disabled={getBooleanAsString(this.disabled)}\n data-semantic={this.semantic}\n data-emphasis={this.emphasis}\n data-icon={this.icon}\n data-show-check-state={getBooleanAsString(this.showCheckState ?? true)}\n data-hide-icon={getHideProp(this.showIcon)}\n data-no-text={getBooleanAsString(this.noText)}\n data-overflow={getBooleanAsString(this.overflow)}\n >\n <slot name=\"content\"></slot>\n <slot></slot>\n {this.text ? this.text : null}\n {this.behavior === \"removable\" ? (\n <button\n class=\"db-button db-tab-remove-button\"\n data-icon=\"cross\"\n data-size=\"small\"\n data-no-text=\"true\"\n data-variant=\"ghost\"\n onClick={(event) => this.handleRemove(event)}\n title={this.getRemoveButtonText()}\n >\n {this.getRemoveButtonText()}\n </button>\n ) : null}\n </div>\n );\n }\n}\n","import { DBTooltipProps, DBTooltipState } from \"./model\";\nimport { cls, getBooleanAsString, handleDataOutside, uuid } from \"../../utils\";\nimport { ClickEvent } from \"../../shared/model\";\nimport { DEFAULT_ID } from \"../../shared/constants\";\n\nimport { Component, h, Fragment, Watch, Prop, State } from \"@stencil/core\";\n\n\n/**\n * @slot children - This is a default/unnamed slot\n\n */\n @Component({\n tag: \"db-tooltip\",\n})\nexport class DBTooltip {\n private _ref!: HTMLDivElement | any;\n @Prop() id: DBTooltipProps[\"id\"];\n @Prop({attribute: \"classname\"}) className: DBTooltipProps[\"className\"];\n @Prop() emphasis: DBTooltipProps[\"emphasis\"];\n @Prop() animation: DBTooltipProps[\"animation\"];\n @Prop() delay: DBTooltipProps[\"delay\"];\n @Prop() width: DBTooltipProps[\"width\"];\n @Prop() showArrow: DBTooltipProps[\"showArrow\"];\n @Prop() placement: DBTooltipProps[\"placement\"];\n @State() _id = DEFAULT_ID;\n @State() initialized = false;\n\n handleClick(event: ClickEvent<HTMLElement>) {\n event.stopPropagation();\n }\n handleAutoPlacement() {\n if (this._ref) handleDataOutside(this._ref);\n }\n\n /**\n * Passes `aria-*`, `data-*` & `class` attributes to correct child. Used in angular and stencil.\n * @param element the ref for the component\n * @param customElementSelector the custom element like `my-component`\n */\n private enableAttributePassing(\n element: HTMLElement | null,\n customElementSelector: string\n ) {\n const parent = element?.closest(customElementSelector);\n if (element && parent) {\n const attributes = parent.attributes;\n for (let i = 0; i < attributes.length; i++) {\n const attr = attributes.item(i);\n if (\n attr &&\n (attr.name.startsWith(\"data-\") || attr.name.startsWith(\"aria-\"))\n ) {\n element.setAttribute(attr.name, attr.value);\n parent.removeAttribute(attr.name);\n }\n if (attr && attr.name === \"class\") {\n const isWebComponent = attr.value.includes(\"hydrated\");\n const value = attr.value.replace(\"hydrated\", \"\").trim();\n const currentClass = element.getAttribute(\"class\");\n element.setAttribute(\n attr.name,\n `${currentClass ? `${currentClass} ` : \"\"}${value}`\n );\n if (isWebComponent) {\n // Stencil is using this class for lazy loading component\n parent.setAttribute(\"class\", \"hydrated\");\n } else {\n parent.removeAttribute(attr.name);\n }\n }\n }\n }\n }\n\n watch0Fn() {\n if (this._ref && this.initialized && this._id) {\n let parent = this._ref.parentElement;\n if (parent && parent.localName.includes(\"tooltip\")) {\n // Angular workaround\n parent = parent.parentElement;\n }\n if (parent) {\n [\"mouseenter\", \"focus\"].forEach((event) => {\n parent.addEventListener(event, () => this.handleAutoPlacement());\n });\n parent.setAttribute(\"data-has-tooltip\", \"true\");\n parent.setAttribute(\"aria-describedby\", this._id);\n }\n this.initialized = false;\n }\n }\n\n @Watch(\"_ref\")\n @Watch(\"initialized\")\n watch0() {\n this.watch0Fn();\n }\n\n componentDidLoad() {\n this.enableAttributePassing(this._ref, \"db-tooltip\");\n this._id = this.id || \"tooltip-\" + uuid();\n this.initialized = true;\n this.watch0Fn();\n }\n\n render() {\n return (\n <i\n class={cls(\"db-tooltip\", this.className)}\n role=\"tooltip\"\n aria-hidden=\"true\"\n data-gap=\"true\"\n ref={(el: any) => {\n this._ref = el;\n }}\n id={this._id}\n data-emphasis={this.emphasis}\n data-animation={getBooleanAsString(this.animation ?? true)}\n data-delay={this.delay}\n data-width={this.width}\n data-show-arrow={getBooleanAsString(this.showArrow ?? true)}\n data-placement={this.placement}\n onClick={(event) => this.handleClick(event)}\n >\n <slot></slot>\n </i>\n );\n }\n}\n","import { DBCustomSelectDropdownProps } from \"./model\";\nimport { cls } from \"../../utils\";\n\nimport { Component, h, Fragment, Prop } from \"@stencil/core\";\n\n\n/**\n * @slot children - This is a default/unnamed slot\n\n */\n @Component({\n tag: \"db-custom-select-dropdown\",\n})\nexport class DBCustomSelectDropdown {\n private _ref!: HTMLDivElement | any;\n @Prop() id: DBCustomSelectDropdownProps[\"id\"];\n @Prop({attribute: \"classname\"}) className: DBCustomSelectDropdownProps[\"className\"];\n @Prop() width: DBCustomSelectDropdownProps[\"width\"] = \"fixed\";\n\n /**\n * Passes `aria-*`, `data-*` & `class` attributes to correct child. Used in angular and stencil.\n * @param element the ref for the component\n * @param customElementSelector the custom element like `my-component`\n */\n private enableAttributePassing(\n element: HTMLElement | null,\n customElementSelector: string\n ) {\n const parent = element?.closest(customElementSelector);\n if (element && parent) {\n const attributes = parent.attributes;\n for (let i = 0; i < attributes.length; i++) {\n const attr = attributes.item(i);\n if (\n attr &&\n (attr.name.startsWith(\"data-\") || attr.name.startsWith(\"aria-\"))\n ) {\n element.setAttribute(attr.name, attr.value);\n parent.removeAttribute(attr.name);\n }\n if (attr && attr.name === \"class\") {\n const isWebComponent = attr.value.includes(\"hydrated\");\n const value = attr.value.replace(\"hydrated\", \"\").trim();\n const currentClass = element.getAttribute(\"class\");\n element.setAttribute(\n attr.name,\n `${currentClass ? `${currentClass} ` : \"\"}${value}`\n );\n if (isWebComponent) {\n // Stencil is using this class for lazy loading component\n parent.setAttribute(\"class\", \"hydrated\");\n } else {\n parent.removeAttribute(attr.name);\n }\n }\n }\n }\n }\n\n componentDidLoad() {\n this.enableAttributePassing(this._ref, \"db-custom-select-dropdown\");\n }\n\n render() {\n return (\n <article\n class={cls(\"db-custom-select-dropdown db-card\", this.className)}\n data-spacing=\"none\"\n ref={(el: any) => {\n this._ref = el;\n }}\n id={this.id}\n data-width={this.width}\n >\n <slot></slot>\n </article>\n );\n }\n}\n","import { DBCustomSelectListProps } from \"./model\";\nimport { cls } from \"../../utils\";\n\nimport { Component, h, Fragment, Prop } from \"@stencil/core\";\n\n\n/**\n * @slot children - This is a default/unnamed slot\n\n */\n @Component({\n tag: \"db-custom-select-list\",\n})\nexport class DBCustomSelectList {\n private _ref!: HTMLDivElement | any;\n @Prop() multiple: DBCustomSelectListProps[\"multiple\"];\n @Prop() label: DBCustomSelectListProps[\"label\"];\n @Prop() id: DBCustomSelectListProps[\"id\"];\n @Prop({attribute: \"classname\"}) className: DBCustomSelectListProps[\"className\"];\n\n /**\n * Passes `aria-*`, `data-*` & `class` attributes to correct child. Used in angular and stencil.\n * @param element the ref for the component\n * @param customElementSelector the custom element like `my-component`\n */\n private enableAttributePassing(\n element: HTMLElement | null,\n customElementSelector: string\n ) {\n const parent = element?.closest(customElementSelector);\n if (element && parent) {\n const attributes = parent.attributes;\n for (let i = 0; i < attributes.length; i++) {\n const attr = attributes.item(i);\n if (\n attr &&\n (attr.name.startsWith(\"data-\") || attr.name.startsWith(\"aria-\"))\n ) {\n element.setAttribute(attr.name, attr.value);\n parent.removeAttribute(attr.name);\n }\n if (attr && attr.name === \"class\") {\n const isWebComponent = attr.value.includes(\"hydrated\");\n const value = attr.value.replace(\"hydrated\", \"\").trim();\n const currentClass = element.getAttribute(\"class\");\n element.setAttribute(\n attr.name,\n `${currentClass ? `${currentClass} ` : \"\"}${value}`\n );\n if (isWebComponent) {\n // Stencil is using this class for lazy loading component\n parent.setAttribute(\"class\", \"hydrated\");\n } else {\n parent.removeAttribute(attr.name);\n }\n }\n }\n }\n }\n\n componentDidLoad() {\n this.enableAttributePassing(this._ref, \"db-custom-select-list\");\n }\n\n render() {\n return (\n <div\n class={cls(\"db-custom-select-list\", this.className)}\n role={this.multiple ? \"group\" : \"radiogroup\"}\n aria-label={this.label}\n ref={(el: any) => {\n this._ref = el;\n }}\n id={this.id}\n >\n <ul>\n <slot></slot>\n </ul>\n </div>\n );\n }\n}\n","import {\n DBCustomSelectListItemProps,\n DBCustomSelectListItemState,\n} from \"./model\";\nimport {\n cls,\n getBoolean,\n getBooleanAsString,\n getHideProp,\n uuid,\n} from \"../../utils\";\nimport { ChangeEvent } from \"../../shared/model\";\nimport {\n handleFrameworkEventAngular,\n handleFrameworkEventVue,\n} from \"../../utils/form-components\";\n\nimport {\n Component,\n h,\n Fragment,\n Watch,\n Event,\n EventEmitter,\n Prop,\n State,\n} from \"@stencil/core\";\n\n\n/**\n * @slot children - This is a default/unnamed slot\n\n */\n @Component({\n tag: \"db-custom-select-list-item\",\n})\nexport class DBCustomSelectListItem {\n private _ref!: HTMLLIElement | any;\n @Prop() id: DBCustomSelectListItemProps[\"id\"];\n @Prop() isGroupTitle: DBCustomSelectListItemProps[\"isGroupTitle\"];\n @Prop() showDivider: DBCustomSelectListItemProps[\"showDivider\"];\n @Event() change: EventEmitter<\n Parameters<Required<DBCustomSelectListItemProps>[\"onChange\"]>[number]\n > | void;\n @Prop() type: DBCustomSelectListItemProps[\"type\"];\n @Prop() checked: DBCustomSelectListItemProps[\"checked\"];\n @Prop({attribute: \"classname\"}) className: DBCustomSelectListItemProps[\"className\"];\n @Prop() groupTitle: DBCustomSelectListItemProps[\"groupTitle\"];\n @Prop() icon: DBCustomSelectListItemProps[\"icon\"];\n @Prop() showIcon: DBCustomSelectListItemProps[\"showIcon\"];\n @Prop() name: DBCustomSelectListItemProps[\"name\"];\n @Prop() disabled: DBCustomSelectListItemProps[\"disabled\"];\n @Prop() value: DBCustomSelectListItemProps[\"value\"];\n @Prop() label: DBCustomSelectListItemProps[\"label\"];\n @State() _id = undefined;\n @State() hasDivider = false;\n\n handleChange(event: ChangeEvent<HTMLInputElement>) {\n event.stopPropagation();\n if (this.change) {\n this.change.emit(event);\n }\n }\n getIconAfter() {\n if (this.isGroupTitle || this.type === \"checkbox\") {\n return;\n }\n return getBoolean(this.checked, \"checked\") ? \"check\" : \"x_placeholder\";\n }\n\n /**\n * Passes `aria-*`, `data-*` & `class` attributes to correct child. Used in angular and stencil.\n * @param element the ref for the component\n * @param customElementSelector the custom element like `my-component`\n */\n private enableAttributePassing(\n element: HTMLElement | null,\n customElementSelector: string\n ) {\n const parent = element?.closest(customElementSelector);\n if (element && parent) {\n const attributes = parent.attributes;\n for (let i = 0; i < attributes.length; i++) {\n const attr = attributes.item(i);\n if (\n attr &&\n (attr.name.startsWith(\"data-\") || attr.name.startsWith(\"aria-\"))\n ) {\n element.setAttribute(attr.name, attr.value);\n parent.removeAttribute(attr.name);\n }\n if (attr && attr.name === \"class\") {\n const isWebComponent = attr.value.includes(\"hydrated\");\n const value = attr.value.replace(\"hydrated\", \"\").trim();\n const currentClass = element.getAttribute(\"class\");\n element.setAttribute(\n attr.name,\n `${currentClass ? `${currentClass} ` : \"\"}${value}`\n );\n if (isWebComponent) {\n // Stencil is using this class for lazy loading component\n parent.setAttribute(\"class\", \"hydrated\");\n } else {\n parent.removeAttribute(attr.name);\n }\n }\n }\n }\n }\n\n watch0Fn() {\n this.hasDivider = Boolean(this.isGroupTitle || this.showDivider);\n }\n\n @Watch(\"isGroupTitle\")\n @Watch(\"showDivider\")\n watch0() {\n this.watch0Fn();\n }\n\n componentDidLoad() {\n this.enableAttributePassing(this._ref, \"db-custom-select-list-item\");\n this._id = this.id ?? `custom-select-list-item-${uuid()}`;\n this.watch0Fn();\n }\n\n render() {\n return (\n <li\n class={cls(\"db-custom-select-list-item\", this.className, {\n \"db-checkbox\": this.type === \"checkbox\" && !this.isGroupTitle,\n \"db-radio\": this.type !== \"checkbox\" && !this.isGroupTitle,\n })}\n ref={(el: any) => {\n this._ref = el;\n }}\n id={this._id}\n data-divider={getBooleanAsString(this.hasDivider)}\n >\n {!this.isGroupTitle ? (\n <label\n data-icon={\n this.type !== \"checkbox\" && this.icon ? this.icon : undefined\n }\n data-hide-icon={getHideProp(this.showIcon)}\n data-icon-after={this.getIconAfter()}\n >\n <input\n class=\"db-custom-select-list-item-checkbox\"\n data-disable-focus=\"true\"\n type={this.type}\n name={this.name}\n form={this.name}\n checked={getBoolean(this.checked, \"checked\")}\n disabled={getBoolean(this.disabled, \"disabled\")}\n value={this.value}\n onChange={(event) => this.handleChange(event)}\n />\n {this.label ? this.label : <slot></slot>}\n </label>\n ) : (\n <span>{this.groupTitle}</span>\n )}\n </li>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{r as t,h as s}from"./p-bH2PZLSq.js";import{h as a,g as i,c as e}from"./p-pglUTSkG.js";const o=class{constructor(s){t(this,s);this.initialized=false;this.isExpanded=false}handleAutoPlacement(){this.isExpanded=true;if(!this._ref)return;const t=this._ref.querySelector("article");if(!t)return;a(t)}handleLeave(t){const s=t.target;const a=s.parentNode;if(!a||s.parentNode.querySelector(":focus")!==s&&s.parentNode.querySelector(":focus-within")!==s&&s.parentNode.querySelector(":hover")!==s){this.isExpanded=false}}getTrigger(){var t;if(this._ref){const s=Array.from(this._ref.children);if(s.length>=2){const a=s[0];if(a.tagName.includes("-")){return((t=a.children)===null||t===void 0?void 0:t.length)>0?a.children[0]:null}else{return a}}}return null}enableAttributePassing(t,s){const a=t===null||t===void 0?void 0:t.closest(s);if(t&&a){const s=a.attributes;for(let i=0;i<s.length;i++){const e=s.item(i);if(e&&(e.name.startsWith("data-")||e.name.startsWith("aria-"))){t.setAttribute(e.name,e.value);a.removeAttribute(e.name)}if(e&&e.name==="class"){const s=e.value.includes("hydrated");const i=e.value.replace("hydrated","").trim();const o=t.getAttribute("class");t.setAttribute(e.name,`${o?`${o} `:""}${i}`);if(s){a.setAttribute("class","hydrated")}else{a.removeAttribute(e.name)}}}}}watch0Fn(){if(this._ref&&this.initialized){const t=this.getTrigger();if(t){t.ariaHasPopup="true"}this.initialized=false}}watch0(){this.watch0Fn()}watch1Fn(){if(this._ref){const t=this.getTrigger();if(t){t.ariaExpanded=Boolean(this.isExpanded).toString()}}}watch1(){this.watch1Fn()}componentDidLoad(){this.enableAttributePassing(this._ref,"db-popover");this.initialized=true;this.watch0Fn();this.watch1Fn()}render(){var t;return s("div",{key:"dd9a109cf9822c400063e906005cb7e4a0d77246",class:e("db-popover",this.className),ref:t=>{this._ref=t},id:this.id,onFocus:()=>this.handleAutoPlacement(),onBlur:t=>this.handleLeave(t),onMouseEnter:()=>this.handleAutoPlacement(),onMouseLeave:t=>this.handleLeave(t)},s("slot",{key:"464ed37c74a82835b651477c0037755787d5a589",name:"trigger"}),s("article",{key:"6aaa12138b4a48fa29778beb48394ed32f95b0bf",class:"db-popover-content","data-spacing":this.spacing,"data-gap":i(this.gap),"data-animation":i((t=this.animation)!==null&&t!==void 0?t:true),"data-open":i(this.open),"data-delay":this.delay,"data-width":this.width,"data-placement":this.placement},s("slot",{key:"c0e8fdce2d08f6f7614a6fefc9372d3b506fe2a4"})))}static get watchers(){return{_ref:["watch0","watch1"],initialized:["watch0"],isExpanded:["watch1"]}}};export{o as db_popover};
|
|
2
|
-
//# sourceMappingURL=p-f2ef5e71.entry.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["DBPopover","constructor","hostRef","this","initialized","isExpanded","handleAutoPlacement","_ref","article","querySelector","handleDataOutside","handleLeave","event","element","target","parent","parentNode","getTrigger","children","Array","from","length","firstChild","tagName","includes","_a","enableAttributePassing","customElementSelector","closest","attributes","i","attr","item","name","startsWith","setAttribute","value","removeAttribute","isWebComponent","replace","trim","currentClass","getAttribute","watch0Fn","child","ariaHasPopup","watch0","watch1Fn","ariaExpanded","Boolean","toString","watch1","componentDidLoad","render","h","key","class","cls","className","ref","el","id","onFocus","onBlur","onMouseEnter","onMouseLeave","spacing","getBooleanAsString","gap","animation","open","delay","width","placement"],"sources":["src/components/popover/popover.tsx"],"sourcesContent":["import { DBPopoverProps, DBPopoverState } from \"./model\";\nimport { cls, getBooleanAsString, handleDataOutside } from \"../../utils\";\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() 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 @Prop() placement: DBPopoverProps[\"placement\"];\n @State() initialized = false;\n @State() isExpanded = false;\n\n handleAutoPlacement() {\n this.isExpanded = true;\n if (!this._ref) return;\n const article = this._ref.querySelector(\"article\");\n if (!article) return;\n handleDataOutside(article);\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 }\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 const child = this.getTrigger();\n if (child) {\n child.ariaHasPopup = \"true\";\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._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 onFocus={() => this.handleAutoPlacement()}\n onBlur={(event) => this.handleLeave(event)}\n onMouseEnter={() => this.handleAutoPlacement()}\n onMouseLeave={(event) => this.handleLeave(event)}\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":[]}
|
package/dist/db-ux/p-pglUTSkG.js
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
const t=()=>{var t,n;if(typeof window!=="undefined"){if((t=window.crypto)===null||t===void 0?void 0:t.randomUUID){return window.crypto.randomUUID()}else if((n=window.crypto)===null||n===void 0?void 0:n.getRandomValues){return window.crypto.getRandomValues(new Uint32Array(3)).join("-")}}return Math.random().toString().substring(2)};const n=(t,o)=>{const e=t.children;Object.values(e).forEach((t=>{t.setAttribute(o.key,o.value);if(t.children.length>0){n(t,o)}}))};const o=(...t)=>{let n="";for(const o of t){if(o){if(typeof o==="string"){n+=`${o} `}else{for(const t in o){if(o[t]){n+=`${t} `}}}}}return n.trim()};const e=t=>{const{left:n,right:o}=t.getBoundingClientRect();const{innerWidth:e}=window;return n>=0&&o<=e};const i=t=>{const{top:n,bottom:o}=t.getBoundingClientRect();const{innerHeight:e}=window;return n>=0&&o<=e};const s=t=>{var n;const{top:o,bottom:e,left:i,right:s}=t.getBoundingClientRect();const{innerHeight:r,innerWidth:u}=window;let d=o<0;let a=e>r;let f=i<0;let l=s>u;const c=t.hasAttribute("data-outside-vy");const v=t.hasAttribute("data-outside-vx");const w=(n=t===null||t===void 0?void 0:t.parentElement)===null||n===void 0?void 0:n.getBoundingClientRect();if(w){if(c){const n=t.getAttribute("data-outside-vy");if(n==="top"){d=w.top-(e-w.bottom)<0}else{a=w.bottom+(w.top-o)>r}}if(v){const n=t.getAttribute("data-outside-vx");if(n==="left"){f=w.left-(s-w.right)<0}else{l=w.right+(w.left-i)>u}}}return{outTop:d,outBottom:a,outLeft:f,outRight:l}};const r=t=>{const{outTop:n,outBottom:o,outLeft:e,outRight:i}=s(t);let r={};if(n||o){r={vy:n?"top":"bottom"};t.setAttribute("data-outside-vy",r.vy)}else{t.removeAttribute("data-outside-vy")}if(e||i){r=Object.assign(Object.assign({},r),{vx:i?"right":"left"});t.setAttribute("data-outside-vx",r.vx)}else{t.removeAttribute("data-outside-vx")}return r};const u=t=>Array.isArray(t)&&t.every((t=>typeof t==="string"));const d=["Mac","iPhone","iPad","iPod"];const a=()=>typeof window!=="undefined"&&d.some((t=>window.navigator.userAgent.includes(t)));const f=(t,n)=>new Promise((()=>setTimeout(t,n)));const l=t=>{if(t===undefined||t===null)return;if(typeof t==="string"){return String(Boolean(t))}return String(t)};const c=(t,n)=>{if(t===undefined||t===null)return;if(typeof t==="string"&&n){return Boolean(n===t||t)}return Boolean(t)};const v=(t,n)=>{if((t===undefined||t===null)&&(n===undefined||n===null)){return}return Number(t!==null&&t!==void 0?t:n)};const w=(t,n)=>n&&["number","range"].includes(n)?v(t):t;const g=t=>{if(t===undefined||t===null){return undefined}return l(!Boolean(t))};const p=(t,n)=>{if(n===undefined){return!!t}else{return Boolean(n)&&Boolean(t)}};const y=t=>t.querySelector(`input[type="search"]`);export{n as a,i as b,o as c,u as d,a as e,f,l as g,r as h,s as i,c as j,v as k,w as l,g as m,y as n,p as s,t as u,e as v};
|
|
2
|
-
//# sourceMappingURL=p-pglUTSkG.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"p-pglUTSkG.js","sources":["src/utils/index.ts"],"sourcesContent":["export const uuid = () => {\n if (typeof window !== 'undefined') {\n if (window.crypto?.randomUUID) {\n return window.crypto.randomUUID();\n } else if (window.crypto?.getRandomValues) {\n return window.crypto.getRandomValues(new Uint32Array(3)).join('-');\n }\n }\n return Math.random().toString().substring(2);\n};\nexport const addAttributeToChildren = (element: Element, attribute: {\n key: string;\n value: string;\n}) => {\n const children = element.children;\n Object.values(children).forEach((child: Element) => {\n child.setAttribute(attribute.key, attribute.value);\n if (child.children.length > 0) {\n addAttributeToChildren(child, attribute);\n }\n });\n};\nexport type ClassNameArg = string | {\n [key: string]: boolean | undefined;\n} | undefined;\nexport const cls = (...args: ClassNameArg[]) => {\n let result = '';\n for (const arg of args) {\n if (arg) {\n if (typeof arg === 'string') {\n result += `${arg} `;\n } else {\n for (const key in arg) {\n if (arg[key]) {\n result += `${key} `;\n }\n }\n }\n }\n }\n return result.trim();\n};\nexport const visibleInVX = (el: Element) => {\n const {\n left,\n right\n } = el.getBoundingClientRect();\n const {\n innerWidth\n } = window;\n return left >= 0 && right <= innerWidth;\n};\nexport const visibleInVY = (el: Element) => {\n const {\n top,\n bottom\n } = el.getBoundingClientRect();\n const {\n innerHeight\n } = window;\n return top >= 0 && bottom <= innerHeight;\n};\nexport const isInView = (el: Element) => {\n const {\n top,\n bottom,\n left,\n right\n } = el.getBoundingClientRect();\n const {\n innerHeight,\n innerWidth\n } = window;\n let outTop = top < 0;\n let outBottom = bottom > innerHeight;\n let outLeft = left < 0;\n let outRight = right > innerWidth;\n\n // We need to check if it was already outside\n const outsideY = el.hasAttribute('data-outside-vy');\n const outsideX = el.hasAttribute('data-outside-vx');\n const parentRect = el?.parentElement?.getBoundingClientRect();\n if (parentRect) {\n if (outsideY) {\n const position = el.getAttribute('data-outside-vy');\n if (position === 'top') {\n outTop = parentRect.top - (bottom - parentRect.bottom) < 0;\n } else {\n outBottom = parentRect.bottom + (parentRect.top - top) > innerHeight;\n }\n }\n if (outsideX) {\n const position = el.getAttribute('data-outside-vx');\n if (position === 'left') {\n outLeft = parentRect.left - (right - parentRect.right) < 0;\n } else {\n outRight = parentRect.right + (parentRect.left - left) > innerWidth;\n }\n }\n }\n return {\n outTop,\n outBottom,\n outLeft,\n outRight\n };\n};\nexport interface DBDataOutsidePair {\n vx?: 'left' | 'right';\n vy?: 'top' | 'bottom';\n}\nexport const handleDataOutside = (el: Element): DBDataOutsidePair => {\n const {\n outTop,\n outBottom,\n outLeft,\n outRight\n } = isInView(el);\n let dataOutsidePair: DBDataOutsidePair = {};\n if (outTop || outBottom) {\n dataOutsidePair = {\n vy: outTop ? 'top' : 'bottom'\n };\n el.setAttribute('data-outside-vy', dataOutsidePair.vy!);\n } else {\n el.removeAttribute('data-outside-vy');\n }\n if (outLeft || outRight) {\n dataOutsidePair = {\n ...dataOutsidePair,\n vx: outRight ? 'right' : 'left'\n };\n el.setAttribute('data-outside-vx', dataOutsidePair.vx!);\n } else {\n el.removeAttribute('data-outside-vx');\n }\n return dataOutsidePair;\n};\nexport const isArrayOfStrings = (value: unknown): value is string[] => Array.isArray(value) && value.every(item => typeof item === 'string');\nconst appleOs = ['Mac', 'iPhone', 'iPad', 'iPod'];\nexport const hasVoiceOver = (): boolean => typeof window !== 'undefined' && appleOs.some(os => window.navigator.userAgent.includes(os));\nexport const delay = (fn: () => void, ms: number) => new Promise(() => setTimeout(fn, ms));\n\n/**\n * Some frameworks like stencil would not add \"true\" as value for a prop\n * if it is used in a framework like angular e.g.: [disabled]=\"myDisabledProp\"\n * @param originBool Some boolean to convert to string\n */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport const getBooleanAsString = (originBool?: boolean | string): any => {\n if (originBool === undefined || originBool === null) return;\n if (typeof originBool === 'string') {\n return String(Boolean(originBool));\n }\n return String(originBool);\n};\nexport const getBoolean = (originBool?: boolean | string, propertyName?: string): boolean | undefined => {\n if (originBool === undefined || originBool === null) return;\n if (typeof originBool === 'string' && propertyName) {\n return Boolean(propertyName === originBool || originBool);\n }\n return Boolean(originBool);\n};\nexport const getNumber = (originNumber?: number | string, alternativeNumber?: number | string): number | undefined => {\n if ((originNumber === undefined || originNumber === null) && (alternativeNumber === undefined || alternativeNumber === null)) {\n return;\n }\n return Number(originNumber ?? alternativeNumber);\n};\n\n/**\n * Retrieves the input value based on the provided value and input type.\n *\n * If the input type is \"number\" or \"range\", the value is processed as a number.\n * Otherwise, the value is returned as-is.\n *\n * @param value - The input value, which can be a number, string, or undefined.\n * @param inputType - The type of the input, such as \"number\", \"range\", or other string types.\n * @returns The processed input value as a string, number, or undefined.\n */\nexport const getInputValue = (value?: number | string, inputType?: string): string | number | undefined => {\n return inputType && ['number', 'range'].includes(inputType) ? getNumber(value) : value;\n};\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport const getHideProp = (show?: boolean | string): any => {\n if (show === undefined || show === null) {\n return undefined;\n }\n return getBooleanAsString(!Boolean(show));\n};\nexport const stringPropVisible = (givenString?: string, showString?: boolean | string) => {\n if (showString === undefined) {\n return !!givenString;\n } else {\n return Boolean(showString) && Boolean(givenString);\n }\n};\nexport const getSearchInput = (element: HTMLElement): HTMLInputElement | null => element.querySelector<HTMLInputElement>(`input[type=\"search\"]`)"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"document-click-listener-Bn3nIGhA.js","sources":["src/utils/document-click-listener.ts"],"sourcesContent":["import { uuid } from './index';\nexport class DocumentClickListener {\n private static callbacks: Record<string, (event: any) => void> = {};\n private static _instance: DocumentClickListener | null = null;\n private static runCallbacks(event: any) {\n Object.values(DocumentClickListener.callbacks).forEach(callback => {\n if (typeof callback === 'function') {\n callback(event);\n }\n });\n }\n constructor() {\n if (DocumentClickListener._instance) {\n return DocumentClickListener._instance;\n }\n DocumentClickListener._instance = this;\n if (document) {\n document.addEventListener('click', event => DocumentClickListener.runCallbacks(event));\n }\n }\n public addCallback(callback: (event: any) => void) {\n const callbackID = uuid();\n DocumentClickListener.callbacks[callbackID] = callback;\n return callbackID;\n }\n public removeCallback(id: string) {\n delete DocumentClickListener.callbacks[id];\n }\n}"],"names":[],"mappings":";;MACa,qBAAqB,CAAA;IAGxB,OAAO,YAAY,CAAC,KAAU,EAAA;AACpC,QAAA,MAAM,CAAC,MAAM,CAAC,qBAAqB,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,QAAQ,IAAG;AAChE,YAAA,IAAI,OAAO,QAAQ,KAAK,UAAU,EAAE;gBAClC,QAAQ,CAAC,KAAK,CAAC;;AAEnB,SAAC,CAAC;;AAEJ,IAAA,WAAA,GAAA;AACE,QAAA,IAAI,qBAAqB,CAAC,SAAS,EAAE;YACnC,OAAO,qBAAqB,CAAC,SAAS;;AAExC,QAAA,qBAAqB,CAAC,SAAS,GAAG,IAAI;QACtC,IAAI,QAAQ,EAAE;AACZ,YAAA,QAAQ,CAAC,gBAAgB,CAAC,OAAO,EAAE,KAAK,IAAI,qBAAqB,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;;;AAGnF,IAAA,WAAW,CAAC,QAA8B,EAAA;AAC/C,QAAA,MAAM,UAAU,GAAG,IAAI,EAAE;AACzB,QAAA,qBAAqB,CAAC,SAAS,CAAC,UAAU,CAAC,GAAG,QAAQ;AACtD,QAAA,OAAO,UAAU;;AAEZ,IAAA,cAAc,CAAC,EAAU,EAAA;AAC9B,QAAA,OAAO,qBAAqB,CAAC,SAAS,CAAC,EAAE,CAAC;;;AAxB7B,qBAAS,CAAA,SAAA,GAAyC,EAAE;AACpD,qBAAS,CAAA,SAAA,GAAiC,IAAI;;;;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index-pglUTSkG.js","sources":["src/utils/index.ts"],"sourcesContent":["export const uuid = () => {\n if (typeof window !== 'undefined') {\n if (window.crypto?.randomUUID) {\n return window.crypto.randomUUID();\n } else if (window.crypto?.getRandomValues) {\n return window.crypto.getRandomValues(new Uint32Array(3)).join('-');\n }\n }\n return Math.random().toString().substring(2);\n};\nexport const addAttributeToChildren = (element: Element, attribute: {\n key: string;\n value: string;\n}) => {\n const children = element.children;\n Object.values(children).forEach((child: Element) => {\n child.setAttribute(attribute.key, attribute.value);\n if (child.children.length > 0) {\n addAttributeToChildren(child, attribute);\n }\n });\n};\nexport type ClassNameArg = string | {\n [key: string]: boolean | undefined;\n} | undefined;\nexport const cls = (...args: ClassNameArg[]) => {\n let result = '';\n for (const arg of args) {\n if (arg) {\n if (typeof arg === 'string') {\n result += `${arg} `;\n } else {\n for (const key in arg) {\n if (arg[key]) {\n result += `${key} `;\n }\n }\n }\n }\n }\n return result.trim();\n};\nexport const visibleInVX = (el: Element) => {\n const {\n left,\n right\n } = el.getBoundingClientRect();\n const {\n innerWidth\n } = window;\n return left >= 0 && right <= innerWidth;\n};\nexport const visibleInVY = (el: Element) => {\n const {\n top,\n bottom\n } = el.getBoundingClientRect();\n const {\n innerHeight\n } = window;\n return top >= 0 && bottom <= innerHeight;\n};\nexport const isInView = (el: Element) => {\n const {\n top,\n bottom,\n left,\n right\n } = el.getBoundingClientRect();\n const {\n innerHeight,\n innerWidth\n } = window;\n let outTop = top < 0;\n let outBottom = bottom > innerHeight;\n let outLeft = left < 0;\n let outRight = right > innerWidth;\n\n // We need to check if it was already outside\n const outsideY = el.hasAttribute('data-outside-vy');\n const outsideX = el.hasAttribute('data-outside-vx');\n const parentRect = el?.parentElement?.getBoundingClientRect();\n if (parentRect) {\n if (outsideY) {\n const position = el.getAttribute('data-outside-vy');\n if (position === 'top') {\n outTop = parentRect.top - (bottom - parentRect.bottom) < 0;\n } else {\n outBottom = parentRect.bottom + (parentRect.top - top) > innerHeight;\n }\n }\n if (outsideX) {\n const position = el.getAttribute('data-outside-vx');\n if (position === 'left') {\n outLeft = parentRect.left - (right - parentRect.right) < 0;\n } else {\n outRight = parentRect.right + (parentRect.left - left) > innerWidth;\n }\n }\n }\n return {\n outTop,\n outBottom,\n outLeft,\n outRight\n };\n};\nexport interface DBDataOutsidePair {\n vx?: 'left' | 'right';\n vy?: 'top' | 'bottom';\n}\nexport const handleDataOutside = (el: Element): DBDataOutsidePair => {\n const {\n outTop,\n outBottom,\n outLeft,\n outRight\n } = isInView(el);\n let dataOutsidePair: DBDataOutsidePair = {};\n if (outTop || outBottom) {\n dataOutsidePair = {\n vy: outTop ? 'top' : 'bottom'\n };\n el.setAttribute('data-outside-vy', dataOutsidePair.vy!);\n } else {\n el.removeAttribute('data-outside-vy');\n }\n if (outLeft || outRight) {\n dataOutsidePair = {\n ...dataOutsidePair,\n vx: outRight ? 'right' : 'left'\n };\n el.setAttribute('data-outside-vx', dataOutsidePair.vx!);\n } else {\n el.removeAttribute('data-outside-vx');\n }\n return dataOutsidePair;\n};\nexport const isArrayOfStrings = (value: unknown): value is string[] => Array.isArray(value) && value.every(item => typeof item === 'string');\nconst appleOs = ['Mac', 'iPhone', 'iPad', 'iPod'];\nexport const hasVoiceOver = (): boolean => typeof window !== 'undefined' && appleOs.some(os => window.navigator.userAgent.includes(os));\nexport const delay = (fn: () => void, ms: number) => new Promise(() => setTimeout(fn, ms));\n\n/**\n * Some frameworks like stencil would not add \"true\" as value for a prop\n * if it is used in a framework like angular e.g.: [disabled]=\"myDisabledProp\"\n * @param originBool Some boolean to convert to string\n */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport const getBooleanAsString = (originBool?: boolean | string): any => {\n if (originBool === undefined || originBool === null) return;\n if (typeof originBool === 'string') {\n return String(Boolean(originBool));\n }\n return String(originBool);\n};\nexport const getBoolean = (originBool?: boolean | string, propertyName?: string): boolean | undefined => {\n if (originBool === undefined || originBool === null) return;\n if (typeof originBool === 'string' && propertyName) {\n return Boolean(propertyName === originBool || originBool);\n }\n return Boolean(originBool);\n};\nexport const getNumber = (originNumber?: number | string, alternativeNumber?: number | string): number | undefined => {\n if ((originNumber === undefined || originNumber === null) && (alternativeNumber === undefined || alternativeNumber === null)) {\n return;\n }\n return Number(originNumber ?? alternativeNumber);\n};\n\n/**\n * Retrieves the input value based on the provided value and input type.\n *\n * If the input type is \"number\" or \"range\", the value is processed as a number.\n * Otherwise, the value is returned as-is.\n *\n * @param value - The input value, which can be a number, string, or undefined.\n * @param inputType - The type of the input, such as \"number\", \"range\", or other string types.\n * @returns The processed input value as a string, number, or undefined.\n */\nexport const getInputValue = (value?: number | string, inputType?: string): string | number | undefined => {\n return inputType && ['number', 'range'].includes(inputType) ? getNumber(value) : value;\n};\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport const getHideProp = (show?: boolean | string): any => {\n if (show === undefined || show === null) {\n return undefined;\n }\n return getBooleanAsString(!Boolean(show));\n};\nexport const stringPropVisible = (givenString?: string, showString?: boolean | string) => {\n if (showString === undefined) {\n return !!givenString;\n } else {\n return Boolean(showString) && Boolean(givenString);\n }\n};\nexport const getSearchInput = (element: HTMLElement): HTMLInputElement | null => element.querySelector<HTMLInputElement>(`input[type=\"search\"]`)"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"navigation-C1ssnmpm.js","sources":["src/utils/navigation.ts"],"sourcesContent":["import { handleDataOutside } from './index';\nexport type TriangleData = {\n itemRect: DOMRect;\n parentElementWidth: number;\n subNavigationHeight: number;\n padding: number;\n outsideVX: 'left' | 'right' | undefined;\n outsideVY: 'top' | 'bottom' | undefined;\n};\nexport const isEventTargetNavigationItem = (event: unknown): boolean => {\n const {\n target\n } = event as {\n target: HTMLElement;\n };\n return Boolean(!target?.classList?.contains('db-navigation-item-expand-button') && target?.parentElement?.classList.contains('db-navigation-item'));\n};\nexport class NavigationItemSafeTriangle {\n private readonly element: HTMLElement | null;\n private readonly subNavigation: Element | null;\n private readonly parentSubNavigation: Element | null = null;\n private triangleData?: TriangleData;\n private initialized: boolean = false;\n private mouseX: number = 0;\n private mouseY: number = 0;\n constructor(element: HTMLElement | null, subNavigation: Element | null) {\n this.element = element;\n this.subNavigation = subNavigation;\n if (!this.element || !this.subNavigation) {\n return;\n }\n this.parentSubNavigation = this.element?.closest('.db-sub-navigation');\n\n /*\n * only initiate if:\n * 1. item is not at root navigation level\n * 2. item is not in the mobile navigation / within db-drawer\n */\n if (this.parentSubNavigation && !this.element.closest('.db-drawer')) {\n this.init();\n }\n }\n private init() {\n const parentElementWidth = this.parentSubNavigation?.getBoundingClientRect().width ?? 0;\n\n // the triangle has the width of the sub-navigation, current nav-item can be wider.\n // so the width of the triangle must be adapted to a possibly wider nav-item.\n this.element?.style.setProperty('--db-navigation-item-inline-size', `${parentElementWidth}px`);\n this.initialized = true;\n }\n public enableFollow() {\n if (!this.initialized || this.triangleData || !this.element || !this.subNavigation) {\n return;\n }\n const dataOutsidePair = handleDataOutside(this.subNavigation);\n const itemRect = this.element.getBoundingClientRect();\n const parentElementWidth = this.parentSubNavigation?.getBoundingClientRect().width ?? 0;\n this.triangleData = {\n itemRect,\n parentElementWidth,\n subNavigationHeight: this.subNavigation.getBoundingClientRect().height,\n padding: (parentElementWidth - itemRect.width) / 2,\n outsideVX: dataOutsidePair.vx,\n outsideVY: dataOutsidePair.vy\n };\n }\n public disableFollow() {\n this.triangleData = undefined;\n }\n private getTriangleTipX(): number {\n if (!this.triangleData) return 0;\n if (this.triangleData.outsideVX === 'right') {\n // vertical flipped triangle needs an inverted x pos\n return this.triangleData.itemRect.width - this.mouseX;\n }\n\n // triangle stops shrinking from 75% x pos\n return Math.min(this.mouseX, this.triangleData.itemRect.width * 0.75);\n }\n private getTriangleTipY(): number {\n if (!this.triangleData) return 0;\n\n // padding must be added to the y pos of the tip so that the y pos matches the cursor\n const mouseYLimited = Math.max(Math.min(this.mouseY, this.triangleData.itemRect.height), 0) + this.triangleData.padding;\n if (this.triangleData.outsideVY === 'bottom') {\n // add offset to tip y pos to match corrected sub-navigation y pos\n return mouseYLimited + (this.triangleData.subNavigationHeight - this.triangleData.padding * 2 - this.triangleData.itemRect.height);\n }\n return mouseYLimited;\n }\n private hasMouseEnteredSubNavigation(): boolean {\n if (!this.triangleData) {\n return false;\n }\n const isSubNavigationOnLeftSide = this.triangleData.outsideVX === 'right';\n if (isSubNavigationOnLeftSide && this.mouseX < -1 * this.triangleData.padding) {\n return true;\n }\n if (!isSubNavigationOnLeftSide && this.mouseX > this.triangleData.parentElementWidth - this.triangleData.padding) {\n return true;\n }\n return false;\n }\n private getTriangleCoordinates(variant: 'safe-triangle' | 'fill-gap'): undefined | {\n lb: string;\n lt: string;\n rt: string;\n rb: string;\n } {\n if (!this.triangleData) {\n return;\n }\n if (variant === 'fill-gap') {\n const itemHeight = `${this.triangleData.itemRect.height + 2 * this.triangleData.padding}px`;\n const xStart = `${this.triangleData.parentElementWidth - this.triangleData.padding}px`;\n return {\n lb: `${xStart} ${itemHeight}`,\n lt: `${xStart} 0`,\n rt: '100% 0',\n rb: `100% ${itemHeight}`\n };\n }\n const tipX = this.getTriangleTipX();\n const tipY = this.getTriangleTipY();\n const lb = `${tipX}px ${tipY}px`;\n const lt = `${tipX}px ${tipY}px`;\n return {\n lb,\n lt,\n rt: '100% 0',\n rb: '100% 100%'\n };\n }\n public followByMouseEvent(event: MouseEvent) {\n if (!this.initialized || !this.triangleData || !this.element || !this.subNavigation) {\n return;\n }\n this.mouseX = event.clientX - this.triangleData.itemRect.left;\n this.mouseY = event.clientY - this.triangleData.itemRect.top;\n const isOverSubNavigation = this.hasMouseEnteredSubNavigation();\n const coordinates = this.getTriangleCoordinates(isOverSubNavigation ? 'fill-gap' : 'safe-triangle');\n if (!coordinates) {\n return;\n }\n this.element.style.setProperty('--db-navigation-item-clip-path', `polygon(${coordinates.lb}, ${coordinates.lt}, ${coordinates.rt}, ${coordinates.rb})`);\n if (isOverSubNavigation) {\n this.triangleData = undefined;\n }\n }\n}\nexport default {\n isEventTargetNavigationItem,\n NavigationItemSafeTriangle\n}"],"names":[],"mappings":"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"}
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|