@db-ux/wc-core-components 4.12.0 → 4.13.0-shell-f221975
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +14 -0
- package/agent/ControlPanelBrand.md +9 -0
- package/agent/ControlPanelDesktop.md +46 -0
- package/agent/ControlPanelMeta.md +13 -0
- package/agent/ControlPanelMobile.md +37 -0
- package/agent/ControlPanelNavigation.md +19 -0
- package/agent/ControlPanelNavigationItem.md +33 -0
- package/agent/ControlPanelPrimaryActions.md +13 -0
- package/agent/ControlPanelSecondaryActions.md +19 -0
- package/agent/Drawer.md +0 -8
- package/agent/Shell.md +24 -0
- package/agent/ShellSubNavigation.md +6 -0
- package/agent/_instructions.md +11 -6
- package/bundle/db-accordion-item.js +1 -1
- package/bundle/db-accordion.js +1 -1
- package/bundle/db-badge.js +1 -1
- package/bundle/db-button.js +1 -1
- package/bundle/db-card.js +1 -1
- package/bundle/db-checkbox.js +1 -1
- package/bundle/db-control-panel-brand.d.ts +11 -0
- package/bundle/db-control-panel-brand.js +1 -0
- package/bundle/db-control-panel-desktop.d.ts +11 -0
- package/bundle/db-control-panel-desktop.js +1 -0
- package/bundle/db-control-panel-flat-icon.d.ts +11 -0
- package/bundle/db-control-panel-flat-icon.js +1 -0
- package/bundle/{db-navigation-item.d.ts → db-control-panel-meta.d.ts} +4 -4
- package/bundle/db-control-panel-meta.js +1 -0
- package/bundle/db-control-panel-mobile.d.ts +11 -0
- package/bundle/db-control-panel-mobile.js +1 -0
- package/bundle/db-control-panel-navigation-item-group.d.ts +11 -0
- package/bundle/db-control-panel-navigation-item-group.js +1 -0
- package/bundle/db-control-panel-navigation-item.d.ts +11 -0
- package/bundle/db-control-panel-navigation-item.js +1 -0
- package/bundle/db-control-panel-navigation.d.ts +11 -0
- package/bundle/db-control-panel-navigation.js +1 -0
- package/bundle/db-control-panel-primary-actions.d.ts +11 -0
- package/bundle/db-control-panel-primary-actions.js +1 -0
- package/bundle/db-control-panel-secondary-actions.d.ts +11 -0
- package/bundle/db-control-panel-secondary-actions.js +1 -0
- package/bundle/db-control-panel-skip-navigation.d.ts +11 -0
- package/bundle/db-control-panel-skip-navigation.js +1 -0
- package/bundle/db-custom-button.js +1 -1
- package/bundle/db-custom-select-dropdown.js +1 -1
- package/bundle/db-custom-select-form-field.js +1 -1
- package/bundle/db-custom-select-list-item.js +1 -1
- package/bundle/db-custom-select-list.js +1 -1
- package/bundle/db-custom-select.js +1 -1
- package/bundle/db-divider.js +1 -1
- package/bundle/{db-navigation.d.ts → db-drawer-footer.d.ts} +4 -4
- package/bundle/db-drawer-footer.js +1 -0
- package/bundle/{db-page.d.ts → db-drawer-header.d.ts} +4 -4
- package/bundle/db-drawer-header.js +1 -0
- package/bundle/db-drawer.js +1 -1
- package/bundle/db-icon.js +1 -1
- package/bundle/db-infotext.js +1 -1
- package/bundle/db-input.js +1 -1
- package/bundle/db-link.js +1 -1
- package/bundle/db-notification.js +1 -1
- package/bundle/db-popover.js +1 -1
- package/bundle/db-radio.js +1 -1
- package/bundle/db-section.js +1 -1
- package/bundle/db-select.js +1 -1
- package/bundle/{db-header.d.ts → db-shell-content.d.ts} +4 -4
- package/bundle/db-shell-content.js +1 -0
- package/bundle/db-shell-sub-navigation.d.ts +11 -0
- package/bundle/db-shell-sub-navigation.js +1 -0
- package/bundle/{db-brand.d.ts → db-shell.d.ts} +4 -4
- package/bundle/db-shell.js +1 -0
- package/bundle/db-stack.js +1 -1
- package/bundle/db-switch.js +1 -1
- package/bundle/db-tab-item.js +1 -1
- package/bundle/db-tab-list.js +1 -1
- package/bundle/db-tab-panel.js +1 -1
- package/bundle/db-table-body.js +1 -1
- package/bundle/db-table-caption.js +1 -1
- package/bundle/db-table-data-cell.js +1 -1
- package/bundle/db-table-footer.js +1 -1
- package/bundle/db-table-head.js +1 -1
- package/bundle/db-table-header-cell.js +1 -1
- package/bundle/db-table-row.js +1 -1
- package/bundle/db-table.js +1 -1
- package/bundle/db-tabs.js +1 -1
- package/bundle/db-tag.js +1 -1
- package/bundle/db-textarea.js +1 -1
- package/bundle/db-tooltip.js +1 -1
- package/bundle/index.js +1 -1
- package/bundle/p-6eFmbk2q.js +1 -0
- package/bundle/p-9FBjLlz8.js +1 -0
- package/bundle/p-B2-mqMAV.js +1 -0
- package/bundle/{p-G57oLrr4.js → p-B3HO0pCt.js} +1 -1
- package/bundle/p-B5p2TBcA.js +1 -0
- package/bundle/{p-BQov9sQb.js → p-BSn68Z6b.js} +1 -1
- package/bundle/p-BT3wZY6f.js +1 -0
- package/bundle/p-BWWm2aVB.js +1 -0
- package/bundle/{p-Cc5hdI0x.js → p-B_cQ652T.js} +1 -1
- package/bundle/{p-DcgghWWs.js → p-BbEdAR4o.js} +1 -1
- package/bundle/{p-C0JLpZ9Q.js → p-BtQh3jbl.js} +1 -1
- package/bundle/p-C3NPZvho.js +1 -0
- package/bundle/p-CGLknNHl.js +1 -0
- package/bundle/p-COv1iCFP.js +1 -0
- package/bundle/p-C_xaJ8Kg.js +1 -0
- package/bundle/p-CjeAJfEo.js +1 -0
- package/bundle/{p-to845Mg2.js → p-Cr4l4OlK.js} +1 -1
- package/bundle/p-CtoC6vGL.js +1 -0
- package/bundle/p-D2lYeElK.js +1 -0
- package/bundle/{p-BvgvWjGH.js → p-D9qEmJkQ.js} +1 -1
- package/bundle/p-DAr8BCe0.js +1 -0
- package/bundle/{p-CYYSsu3p.js → p-DEicAzan.js} +1 -1
- package/bundle/{p-C9llbu6g.js → p-DKhSQnne.js} +1 -1
- package/bundle/{p-BpO8Ok-r.js → p-DTmum76Y.js} +1 -1
- package/bundle/p-DtqySxCV.js +1 -0
- package/bundle/p-Nyi3Ccqz.js +1 -0
- package/bundle/p-V6Dppnfj.js +1 -0
- package/bundle/p-WOdZHiUh.js +1 -0
- package/bundle/p-_kvIQ0Iy.js +1 -0
- package/bundle/{p-fu0VCCbW.js → p-mf371GRo.js} +1 -1
- package/dist/cjs/{constants-bMY2_d8A.js → constants-BM1EltPT.js} +12 -3
- package/dist/cjs/db-accordion-item.cjs.entry.js +3 -3
- package/dist/cjs/db-accordion.cjs.entry.js +2 -2
- package/dist/cjs/db-badge.cjs.entry.js +4 -4
- package/dist/cjs/db-button.cjs.entry.js +6 -3
- package/dist/cjs/db-card.cjs.entry.js +3 -3
- package/dist/cjs/db-checkbox.cjs.entry.js +5 -5
- package/dist/cjs/{db-brand.cjs.entry.js → db-control-panel-brand.cjs.entry.js} +9 -10
- package/dist/cjs/db-control-panel-desktop.cjs.entry.js +148 -0
- package/dist/cjs/db-control-panel-flat-icon.cjs.entry.js +134 -0
- package/dist/cjs/{db-navigation.cjs.entry.js → db-control-panel-meta.cjs.entry.js} +8 -8
- package/dist/cjs/db-control-panel-mobile.cjs.entry.js +124 -0
- package/dist/cjs/db-control-panel-navigation-item-group.cjs.entry.js +420 -0
- package/dist/cjs/db-control-panel-navigation-item.cjs.entry.js +235 -0
- package/dist/cjs/db-control-panel-navigation.cjs.entry.js +579 -0
- package/dist/cjs/db-control-panel-primary-actions.cjs.entry.js +95 -0
- package/dist/cjs/db-control-panel-secondary-actions.cjs.entry.js +95 -0
- package/dist/cjs/db-control-panel-skip-navigation.cjs.entry.js +96 -0
- package/dist/cjs/db-custom-button.cjs.entry.js +3 -3
- package/dist/cjs/db-custom-select-dropdown_5.cjs.entry.js +14 -14
- package/dist/cjs/db-custom-select-form-field.cjs.entry.js +3 -3
- package/dist/cjs/db-custom-select.cjs.entry.js +50 -26
- package/dist/cjs/db-divider.cjs.entry.js +2 -2
- package/dist/cjs/db-drawer_3.cjs.entry.js +457 -0
- package/dist/cjs/db-icon.cjs.entry.js +3 -3
- package/dist/cjs/db-infotext.cjs.entry.js +3 -3
- package/dist/cjs/db-link_4.cjs.entry.js +12 -10
- package/dist/cjs/db-notification.cjs.entry.js +4 -4
- package/dist/cjs/db-popover.cjs.entry.js +50 -22
- package/dist/cjs/db-radio.cjs.entry.js +4 -4
- package/dist/cjs/db-section.cjs.entry.js +3 -3
- package/dist/cjs/db-select.cjs.entry.js +5 -5
- package/dist/cjs/db-shell-content.cjs.entry.js +97 -0
- package/dist/cjs/db-shell-sub-navigation.cjs.entry.js +110 -0
- package/dist/cjs/{db-page.cjs.entry.js → db-shell.cjs.entry.js} +16 -17
- package/dist/cjs/db-stack.cjs.entry.js +3 -3
- package/dist/cjs/db-switch.cjs.entry.js +5 -5
- package/dist/cjs/db-tab-item_3.cjs.entry.js +8 -8
- package/dist/cjs/db-table-body_3.cjs.entry.js +10 -10
- package/dist/cjs/db-table-caption.cjs.entry.js +4 -3
- package/dist/cjs/db-table.cjs.entry.js +4 -4
- package/dist/cjs/db-tabs.cjs.entry.js +23 -18
- package/dist/cjs/db-textarea.cjs.entry.js +5 -5
- package/dist/cjs/db-tooltip.cjs.entry.js +39 -26
- package/dist/cjs/db-ux.cjs.js +1 -1
- package/dist/cjs/{document-click-listener-DdNXbErU.js → document-click-listener-D_0Q6lvb.js} +5 -9
- package/dist/cjs/{document-scroll-listener-CvAZ6uPr.js → document-scroll-listener-CgyYRmvZ.js} +29 -9
- package/dist/cjs/{floating-components-DlstoCKH.js → floating-components-B3bpFI90.js} +193 -115
- package/dist/cjs/{form-components-CmQlkARp.js → form-components-XNiwIGq8.js} +1 -1
- package/dist/cjs/{index-spuu3sXz.js → index-Df-6pBQf.js} +41 -2
- package/dist/cjs/index.cjs.js +34 -17
- package/dist/cjs/intersection-observer-listener-DlrHabJb.js +41 -0
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/navigation-CHCtasZv.js +178 -0
- package/dist/cjs/resize-observer-listener-CmPDfoZs.js +103 -0
- package/dist/collection/collection-manifest.json +18 -7
- package/dist/collection/components/accordion/accordion.js +1 -1
- package/dist/collection/components/accordion/model.js +0 -1
- package/dist/collection/components/accordion-item/accordion-item.js +2 -2
- package/dist/collection/components/badge/badge.js +2 -2
- package/dist/collection/components/button/button.js +57 -2
- package/dist/collection/components/card/card.js +2 -2
- package/dist/collection/components/checkbox/checkbox.js +2 -2
- package/dist/collection/components/control-panel-brand/control-panel-brand.js +179 -0
- package/dist/collection/components/control-panel-brand/index.js +2 -0
- package/dist/collection/components/control-panel-desktop/control-panel-desktop.js +343 -0
- package/dist/collection/components/control-panel-desktop/index.js +2 -0
- package/dist/collection/components/control-panel-flat-icon/control-panel-flat-icon.js +246 -0
- package/dist/collection/components/control-panel-flat-icon/index.js +2 -0
- package/dist/collection/components/control-panel-meta/control-panel-meta.js +179 -0
- package/dist/collection/components/control-panel-meta/index.js +2 -0
- package/dist/collection/components/control-panel-mobile/control-panel-mobile.js +307 -0
- package/dist/collection/components/control-panel-mobile/index.js +2 -0
- package/dist/collection/components/control-panel-mobile/model.js +1 -0
- package/dist/collection/components/control-panel-navigation/control-panel-navigation.js +829 -0
- package/dist/collection/components/control-panel-navigation/index.js +2 -0
- package/dist/collection/components/control-panel-navigation/model.js +1 -0
- package/dist/collection/components/control-panel-navigation-item/control-panel-navigation-item.js +484 -0
- package/dist/collection/components/control-panel-navigation-item/index.js +2 -0
- package/dist/collection/components/control-panel-navigation-item/model.js +1 -0
- package/dist/collection/components/control-panel-navigation-item-group/control-panel-navigation-item-group.js +772 -0
- package/dist/collection/components/control-panel-navigation-item-group/index.js +2 -0
- package/dist/collection/components/control-panel-navigation-item-group/model.js +1 -0
- package/dist/collection/components/control-panel-primary-actions/control-panel-primary-actions.js +179 -0
- package/dist/collection/components/control-panel-primary-actions/index.js +2 -0
- package/dist/collection/components/control-panel-primary-actions/model.js +1 -0
- package/dist/collection/components/control-panel-secondary-actions/control-panel-secondary-actions.js +179 -0
- package/dist/collection/components/control-panel-secondary-actions/index.js +2 -0
- package/dist/collection/components/control-panel-secondary-actions/model.js +1 -0
- package/dist/collection/components/control-panel-skip-navigation/control-panel-skip-navigation.js +232 -0
- package/dist/collection/components/control-panel-skip-navigation/index.js +2 -0
- package/dist/collection/components/control-panel-skip-navigation/model.js +1 -0
- package/dist/collection/components/custom-button/custom-button.js +2 -2
- package/dist/collection/components/custom-select/custom-select.js +46 -21
- package/dist/collection/components/custom-select-dropdown/custom-select-dropdown.js +2 -2
- package/dist/collection/components/custom-select-form-field/custom-select-form-field.js +2 -2
- package/dist/collection/components/custom-select-list/custom-select-list.js +2 -2
- package/dist/collection/components/custom-select-list-item/custom-select-list-item.js +2 -2
- package/dist/collection/components/divider/divider.js +1 -1
- package/dist/collection/components/drawer/drawer.js +71 -75
- package/dist/collection/components/drawer/model.js +1 -0
- package/dist/collection/components/{navigation/navigation.js → drawer-footer/drawer-footer.js} +19 -19
- package/dist/collection/components/drawer-footer/index.js +2 -0
- package/dist/collection/components/drawer-footer/model.js +1 -0
- package/dist/collection/components/{brand/brand.js → drawer-header/drawer-header.js} +83 -79
- package/dist/collection/components/drawer-header/index.js +2 -0
- package/dist/collection/components/drawer-header/model.js +1 -0
- package/dist/collection/components/icon/icon.js +2 -2
- package/dist/collection/components/infotext/infotext.js +2 -2
- package/dist/collection/components/input/input.js +3 -3
- package/dist/collection/components/link/link.js +2 -2
- package/dist/collection/components/notification/notification.js +2 -2
- package/dist/collection/components/popover/popover.js +75 -46
- package/dist/collection/components/radio/radio.js +2 -2
- package/dist/collection/components/section/section.js +2 -2
- package/dist/collection/components/select/select.js +2 -2
- package/dist/collection/components/shell/index.js +2 -0
- package/dist/collection/components/shell/model.js +1 -0
- package/dist/collection/components/{header/header.js → shell/shell.js} +92 -143
- package/dist/collection/components/shell-content/index.js +2 -0
- package/dist/collection/components/shell-content/model.js +1 -0
- package/dist/collection/components/{page/page.js → shell-content/shell-content.js} +67 -86
- package/dist/collection/components/shell-sub-navigation/index.js +2 -0
- package/dist/collection/components/shell-sub-navigation/model.js +1 -0
- package/dist/collection/components/shell-sub-navigation/shell-sub-navigation.js +248 -0
- package/dist/collection/components/stack/stack.js +2 -2
- package/dist/collection/components/switch/switch.js +2 -2
- package/dist/collection/components/tab-item/tab-item.js +3 -3
- package/dist/collection/components/tab-list/tab-list.js +2 -2
- package/dist/collection/components/tab-panel/tab-panel.js +2 -2
- package/dist/collection/components/table/table.js +27 -3
- package/dist/collection/components/table-body/table-body.js +27 -3
- package/dist/collection/components/table-caption/table-caption.js +27 -2
- package/dist/collection/components/table-data-cell/table-data-cell.js +27 -2
- package/dist/collection/components/table-footer/table-footer.js +27 -3
- package/dist/collection/components/table-head/table-head.js +27 -3
- package/dist/collection/components/table-header-cell/table-header-cell.js +27 -2
- package/dist/collection/components/table-row/table-row.js +27 -3
- package/dist/collection/components/tabs/tabs.js +75 -18
- package/dist/collection/components/tag/tag.js +2 -2
- package/dist/collection/components/textarea/textarea.js +2 -2
- package/dist/collection/components/tooltip/tooltip.js +63 -49
- package/dist/collection/index.js +32 -10
- package/dist/collection/shared/constants.js +7 -2
- package/dist/collection/shared/model.js +4 -0
- package/dist/collection/utils/abstract-document-listener.js +23 -0
- package/dist/collection/utils/abstract-observer-listener.js +61 -0
- package/dist/collection/utils/document-click-listener.js +5 -9
- package/dist/collection/utils/document-scroll-listener.js +5 -9
- package/dist/collection/utils/floating-components.js +193 -115
- package/dist/collection/utils/index.js +40 -2
- package/dist/collection/utils/intersection-observer-listener.js +36 -0
- package/dist/collection/utils/navigation.js +113 -74
- package/dist/collection/utils/resize-observer-listener.js +36 -0
- package/dist/custom-elements.json +11897 -8400
- package/dist/db-ux/db-ux.esm.js +1 -1
- package/dist/db-ux/index.esm.js +1 -1
- package/dist/db-ux/{p-d9d006e7.entry.js → p-158c64e0.entry.js} +1 -1
- package/dist/db-ux/p-1fa944fd.entry.js +1 -0
- package/dist/db-ux/{p-a176424b.entry.js → p-2012c72a.entry.js} +1 -1
- package/dist/db-ux/p-234fee81.entry.js +1 -0
- package/dist/db-ux/{p-6b8375e8.entry.js → p-3566a5b2.entry.js} +1 -1
- package/dist/db-ux/p-3b61c223.entry.js +1 -0
- package/dist/db-ux/p-3d5fc4b6.entry.js +1 -0
- package/dist/db-ux/p-3e113cfe.entry.js +1 -0
- package/dist/db-ux/p-42644385.entry.js +1 -0
- package/dist/db-ux/p-42fd6a5c.entry.js +1 -0
- package/dist/db-ux/p-441d444e.entry.js +1 -0
- package/dist/db-ux/{p-a8556349.entry.js → p-4ecd501a.entry.js} +1 -1
- package/dist/db-ux/{p-77a47225.entry.js → p-53f827e1.entry.js} +1 -1
- package/dist/db-ux/{p-eedf08e0.entry.js → p-5696a8d3.entry.js} +1 -1
- package/dist/db-ux/p-56b2a25d.entry.js +1 -0
- package/dist/db-ux/{p-68f00121.entry.js → p-5a1a7588.entry.js} +1 -1
- package/dist/db-ux/p-5c5dce95.entry.js +1 -0
- package/dist/db-ux/p-5ce9ac6d.entry.js +1 -0
- package/dist/db-ux/{p-57527cef.entry.js → p-636e6a6d.entry.js} +1 -1
- package/dist/db-ux/p-6aac51bf.entry.js +1 -0
- package/dist/db-ux/p-6fc31876.entry.js +1 -0
- package/dist/db-ux/p-7d3541c6.entry.js +1 -0
- package/dist/db-ux/p-8f288b5e.entry.js +1 -0
- package/dist/db-ux/{p-37bf8d87.entry.js → p-9174a1f8.entry.js} +1 -1
- package/dist/db-ux/p-92d1d118.entry.js +1 -0
- package/dist/db-ux/p-94806e39.entry.js +1 -0
- package/dist/db-ux/p-95afbd4b.entry.js +1 -0
- package/dist/db-ux/p-BNNa1bIH.js +1 -0
- package/dist/db-ux/p-BT3wZY6f.js +1 -0
- package/dist/db-ux/p-Bs6e6rEa.js +1 -0
- package/dist/db-ux/p-Bu2uTpuB.js +1 -0
- package/dist/db-ux/p-CHtd83tf.js +1 -0
- package/dist/db-ux/p-COv1iCFP.js +1 -0
- package/dist/db-ux/p-D-LMtTru.js +1 -0
- package/dist/db-ux/p-DB8jc8lh.js +1 -0
- package/dist/db-ux/p-a2fd6f02.entry.js +1 -0
- package/dist/db-ux/p-a526be72.entry.js +1 -0
- package/dist/db-ux/{p-db1b9f5d.entry.js → p-aa0d6af7.entry.js} +1 -1
- package/dist/db-ux/p-ab2ca4f9.entry.js +1 -0
- package/dist/db-ux/p-b124f5d7.entry.js +1 -0
- package/dist/db-ux/p-b4069c07.entry.js +1 -0
- package/dist/db-ux/p-b90adbf2.entry.js +1 -0
- package/dist/db-ux/p-bbqCwwgU.js +1 -0
- package/dist/db-ux/p-c36731c4.entry.js +1 -0
- package/dist/db-ux/p-c6e965b9.entry.js +1 -0
- package/dist/db-ux/p-d0340bf6.entry.js +1 -0
- package/dist/db-ux/p-d354d861.entry.js +1 -0
- package/dist/db-ux/{p-6d41baf1.entry.js → p-d7ffa767.entry.js} +1 -1
- package/dist/db-ux/{p-70b6ebcd.entry.js → p-da34c367.entry.js} +1 -1
- package/dist/db-ux/{p-81edb316.entry.js → p-eb18be29.entry.js} +1 -1
- package/dist/db-ux/p-eee0f32c.entry.js +1 -0
- package/dist/db-ux/p-f1f23724.entry.js +1 -0
- package/dist/esm/{constants-BdL-nI5y.js → constants-COv1iCFP.js} +8 -3
- package/dist/esm/db-accordion-item.entry.js +3 -3
- package/dist/esm/db-accordion.entry.js +2 -2
- package/dist/esm/db-badge.entry.js +4 -4
- package/dist/esm/db-button.entry.js +6 -3
- package/dist/esm/db-card.entry.js +3 -3
- package/dist/esm/db-checkbox.entry.js +5 -5
- package/dist/esm/db-control-panel-brand.entry.js +93 -0
- package/dist/esm/db-control-panel-desktop.entry.js +146 -0
- package/dist/esm/db-control-panel-flat-icon.entry.js +132 -0
- package/dist/esm/{db-navigation.entry.js → db-control-panel-meta.entry.js} +8 -8
- package/dist/esm/db-control-panel-mobile.entry.js +122 -0
- package/dist/esm/db-control-panel-navigation-item-group.entry.js +418 -0
- package/dist/esm/db-control-panel-navigation-item.entry.js +233 -0
- package/dist/esm/db-control-panel-navigation.entry.js +577 -0
- package/dist/esm/db-control-panel-primary-actions.entry.js +93 -0
- package/dist/esm/db-control-panel-secondary-actions.entry.js +93 -0
- package/dist/esm/{db-brand.entry.js → db-control-panel-skip-navigation.entry.js} +9 -9
- package/dist/esm/db-custom-button.entry.js +3 -3
- package/dist/esm/db-custom-select-dropdown_5.entry.js +14 -14
- package/dist/esm/db-custom-select-form-field.entry.js +3 -3
- package/dist/esm/db-custom-select.entry.js +50 -26
- package/dist/esm/db-divider.entry.js +2 -2
- package/dist/esm/db-drawer_3.entry.js +453 -0
- package/dist/esm/db-icon.entry.js +3 -3
- package/dist/esm/db-infotext.entry.js +3 -3
- package/dist/esm/db-link_4.entry.js +12 -10
- package/dist/esm/db-notification.entry.js +4 -4
- package/dist/esm/db-popover.entry.js +50 -22
- package/dist/esm/db-radio.entry.js +4 -4
- package/dist/esm/db-section.entry.js +3 -3
- package/dist/esm/db-select.entry.js +5 -5
- package/dist/esm/db-shell-content.entry.js +95 -0
- package/dist/esm/db-shell-sub-navigation.entry.js +108 -0
- package/dist/esm/{db-page.entry.js → db-shell.entry.js} +16 -17
- package/dist/esm/db-stack.entry.js +3 -3
- package/dist/esm/db-switch.entry.js +5 -5
- package/dist/esm/db-tab-item_3.entry.js +8 -8
- package/dist/esm/db-table-body_3.entry.js +10 -10
- package/dist/esm/db-table-caption.entry.js +4 -3
- package/dist/esm/db-table.entry.js +4 -4
- package/dist/esm/db-tabs.entry.js +23 -18
- package/dist/esm/db-textarea.entry.js +5 -5
- package/dist/esm/db-tooltip.entry.js +39 -26
- package/dist/esm/db-ux.js +1 -1
- package/dist/esm/{document-click-listener-9wJfRcvz.js → document-click-listener-BEYsNvC5.js} +5 -9
- package/dist/esm/{document-scroll-listener-4F0ZAg9p.js → document-scroll-listener-B8lkAL-m.js} +29 -10
- package/dist/esm/{floating-components-DOPXnIzL.js → floating-components-BT3wZY6f.js} +194 -116
- package/dist/esm/{form-components-ZV7IN0oG.js → form-components-zJeL8XMn.js} +1 -1
- package/dist/esm/{index-fumiz06Y.js → index-DB8jc8lh.js} +41 -3
- package/dist/esm/index.js +17 -10
- package/dist/esm/intersection-observer-listener-DQ4WWSLe.js +39 -0
- package/dist/esm/loader.js +1 -1
- package/dist/esm/navigation-Cc_Ln-dl.js +174 -0
- package/dist/esm/resize-observer-listener-z8XjzxC9.js +100 -0
- package/dist/types/components/accordion/model.d.ts +2 -8
- package/dist/types/components/button/button.d.ts +2 -0
- package/dist/types/components/button/model.d.ts +8 -0
- package/dist/types/components/{brand/brand.d.ts → control-panel-brand/control-panel-brand.d.ts} +5 -9
- package/dist/types/components/control-panel-brand/index.d.ts +2 -0
- package/dist/types/components/control-panel-brand/model.d.ts +5 -0
- package/dist/types/components/control-panel-desktop/control-panel-desktop.d.ts +41 -0
- package/dist/types/components/control-panel-desktop/index.d.ts +2 -0
- package/dist/types/components/control-panel-desktop/model.d.ts +5 -0
- package/dist/types/components/{page/page.d.ts → control-panel-flat-icon/control-panel-flat-icon.d.ts} +10 -12
- package/dist/types/components/control-panel-flat-icon/index.d.ts +2 -0
- package/dist/types/components/control-panel-flat-icon/model.d.ts +12 -0
- package/dist/types/components/control-panel-meta/control-panel-meta.d.ts +23 -0
- package/dist/types/components/control-panel-meta/index.d.ts +2 -0
- package/dist/types/components/control-panel-meta/model.d.ts +5 -0
- package/dist/types/components/control-panel-mobile/control-panel-mobile.d.ts +36 -0
- package/dist/types/components/control-panel-mobile/index.d.ts +2 -0
- package/dist/types/components/control-panel-mobile/model.d.ts +21 -0
- package/dist/types/components/control-panel-navigation/control-panel-navigation.d.ts +54 -0
- package/dist/types/components/control-panel-navigation/index.d.ts +2 -0
- package/dist/types/components/control-panel-navigation/model.d.ts +25 -0
- package/dist/types/components/control-panel-navigation-item/control-panel-navigation-item.d.ts +42 -0
- package/dist/types/components/control-panel-navigation-item/index.d.ts +2 -0
- package/dist/types/components/control-panel-navigation-item/model.d.ts +20 -0
- package/dist/types/components/control-panel-navigation-item-group/control-panel-navigation-item-group.d.ts +74 -0
- package/dist/types/components/control-panel-navigation-item-group/index.d.ts +2 -0
- package/dist/types/components/control-panel-navigation-item-group/model.d.ts +44 -0
- package/dist/types/components/control-panel-primary-actions/control-panel-primary-actions.d.ts +23 -0
- package/dist/types/components/control-panel-primary-actions/index.d.ts +2 -0
- package/dist/types/components/control-panel-primary-actions/model.d.ts +5 -0
- package/dist/types/components/control-panel-secondary-actions/control-panel-secondary-actions.d.ts +23 -0
- package/dist/types/components/control-panel-secondary-actions/index.d.ts +2 -0
- package/dist/types/components/control-panel-secondary-actions/model.d.ts +5 -0
- package/dist/types/components/control-panel-skip-navigation/control-panel-skip-navigation.d.ts +25 -0
- package/dist/types/components/control-panel-skip-navigation/index.d.ts +2 -0
- package/dist/types/components/control-panel-skip-navigation/model.d.ts +16 -0
- package/dist/types/components/custom-select/custom-select.d.ts +2 -1
- package/dist/types/components/custom-select/model.d.ts +5 -1
- package/dist/types/components/drawer/drawer.d.ts +9 -6
- package/dist/types/components/drawer/model.d.ts +21 -3
- package/dist/types/components/{navigation/navigation.d.ts → drawer-footer/drawer-footer.d.ts} +5 -5
- package/dist/types/components/drawer-footer/index.d.ts +2 -0
- package/dist/types/components/drawer-footer/model.d.ts +5 -0
- package/dist/types/components/drawer-header/drawer-header.d.ts +30 -0
- package/dist/types/components/drawer-header/index.d.ts +2 -0
- package/dist/types/components/drawer-header/model.d.ts +9 -0
- package/dist/types/components/popover/popover.d.ts +3 -2
- package/dist/types/components/shell/index.d.ts +2 -0
- package/dist/types/components/shell/model.d.ts +34 -0
- package/dist/types/components/shell/shell.d.ts +30 -0
- package/dist/types/components/shell-content/index.d.ts +2 -0
- package/dist/types/components/shell-content/model.d.ts +28 -0
- package/dist/types/components/shell-content/shell-content.d.ts +28 -0
- package/dist/types/components/shell-sub-navigation/index.d.ts +2 -0
- package/dist/types/components/shell-sub-navigation/model.d.ts +5 -0
- package/dist/types/components/shell-sub-navigation/shell-sub-navigation.d.ts +29 -0
- package/dist/types/components/table/table.d.ts +1 -0
- package/dist/types/components/table-body/table-body.d.ts +1 -0
- package/dist/types/components/table-caption/table-caption.d.ts +1 -0
- package/dist/types/components/table-data-cell/table-data-cell.d.ts +1 -0
- package/dist/types/components/table-footer/table-footer.d.ts +1 -0
- package/dist/types/components/table-head/table-head.d.ts +1 -0
- package/dist/types/components/table-header-cell/table-header-cell.d.ts +1 -0
- package/dist/types/components/table-row/table-row.d.ts +1 -0
- package/dist/types/components/tabs/model.d.ts +4 -12
- package/dist/types/components/tabs/tabs.d.ts +3 -1
- package/dist/types/components/tooltip/tooltip.d.ts +3 -2
- package/dist/types/components.d.ts +621 -243
- package/dist/types/index.d.ts +32 -10
- package/dist/types/shared/constants.d.ts +44 -39
- package/dist/types/shared/figma.d.ts +11 -4
- package/dist/types/shared/model.d.ts +109 -7
- package/dist/types/utils/abstract-document-listener.d.ts +18 -0
- package/dist/types/utils/abstract-observer-listener.d.ts +39 -0
- package/dist/types/utils/document-click-listener.d.ts +3 -3
- package/dist/types/utils/document-scroll-listener.d.ts +3 -3
- package/dist/types/utils/floating-components.d.ts +29 -6
- package/dist/types/utils/index.d.ts +11 -0
- package/dist/types/utils/intersection-observer-listener.d.ts +15 -0
- package/dist/types/utils/navigation.d.ts +12 -11
- package/dist/types/utils/resize-observer-listener.d.ts +15 -0
- package/dist/vscode.html-custom-data.json +998 -540
- package/dist/web-types.json +2176 -1176
- package/package.json +5 -5
- package/agent/Brand.md +0 -13
- package/agent/Header.md +0 -29
- package/agent/Navigation.md +0 -19
- package/agent/NavigationItem.md +0 -29
- package/agent/Page.md +0 -27
- package/bundle/db-brand.js +0 -1
- package/bundle/db-header.js +0 -1
- package/bundle/db-navigation-item.js +0 -1
- package/bundle/db-navigation.js +0 -1
- package/bundle/db-page.js +0 -1
- package/bundle/p-2eQDIPlF.js +0 -1
- package/bundle/p-BdL-nI5y.js +0 -1
- package/bundle/p-BuBrj57D.js +0 -1
- package/bundle/p-C2w7ILj8.js +0 -1
- package/bundle/p-C47AKJPy.js +0 -1
- package/bundle/p-Cn5NdjPW.js +0 -1
- package/bundle/p-D6L0n3gO.js +0 -1
- package/bundle/p-DFypNnh0.js +0 -1
- package/bundle/p-DJTpgiBy.js +0 -1
- package/bundle/p-DOPXnIzL.js +0 -1
- package/bundle/p-DTM6Wcbf.js +0 -1
- package/bundle/p-DVuZmW_J.js +0 -1
- package/bundle/p-DW47OZNu.js +0 -1
- package/bundle/p-DiEfz0o1.js +0 -1
- package/bundle/p-n2qePi9e.js +0 -1
- package/dist/cjs/db-drawer.cjs.entry.js +0 -204
- package/dist/cjs/db-header.cjs.entry.js +0 -145
- package/dist/cjs/db-navigation-item.cjs.entry.js +0 -182
- package/dist/cjs/navigation-Bah882nU.js +0 -138
- package/dist/collection/components/brand/index.js +0 -2
- package/dist/collection/components/header/index.js +0 -2
- package/dist/collection/components/navigation/index.js +0 -2
- package/dist/collection/components/navigation-item/index.js +0 -2
- package/dist/collection/components/navigation-item/navigation-item.js +0 -577
- package/dist/collection/components/page/index.js +0 -2
- package/dist/collection/components/page/model.js +0 -2
- package/dist/db-ux/p-0758418a.entry.js +0 -1
- package/dist/db-ux/p-1e70d93f.entry.js +0 -1
- package/dist/db-ux/p-2c23efe2.entry.js +0 -1
- package/dist/db-ux/p-38c55e9c.entry.js +0 -1
- package/dist/db-ux/p-4a94fbc9.entry.js +0 -1
- package/dist/db-ux/p-5706f20a.entry.js +0 -1
- package/dist/db-ux/p-6ce4a109.entry.js +0 -1
- package/dist/db-ux/p-6fd70ba4.entry.js +0 -1
- package/dist/db-ux/p-6fdc00bd.entry.js +0 -1
- package/dist/db-ux/p-71399ee3.entry.js +0 -1
- package/dist/db-ux/p-88dcff6a.entry.js +0 -1
- package/dist/db-ux/p-90e9ec2d.entry.js +0 -1
- package/dist/db-ux/p-96978a7f.entry.js +0 -1
- package/dist/db-ux/p-BdL-nI5y.js +0 -1
- package/dist/db-ux/p-BihrW11j.js +0 -1
- package/dist/db-ux/p-BtImZ8Nt.js +0 -1
- package/dist/db-ux/p-BuBrj57D.js +0 -1
- package/dist/db-ux/p-DOPXnIzL.js +0 -1
- package/dist/db-ux/p-OOIf-5XP.js +0 -1
- package/dist/db-ux/p-a07e33e7.entry.js +0 -1
- package/dist/db-ux/p-a4fb4782.entry.js +0 -1
- package/dist/db-ux/p-bb5149a9.entry.js +0 -1
- package/dist/db-ux/p-e58fbd4d.entry.js +0 -1
- package/dist/db-ux/p-e66aa9d8.entry.js +0 -1
- package/dist/db-ux/p-ef63c591.entry.js +0 -1
- package/dist/db-ux/p-f0b5c785.entry.js +0 -1
- package/dist/db-ux/p-f964d5f5.entry.js +0 -1
- package/dist/db-ux/p-fumiz06Y.js +0 -1
- package/dist/esm/db-drawer.entry.js +0 -202
- package/dist/esm/db-header.entry.js +0 -143
- package/dist/esm/db-navigation-item.entry.js +0 -180
- package/dist/esm/navigation-Jh6m0eMk.js +0 -135
- package/dist/types/components/brand/index.d.ts +0 -2
- package/dist/types/components/brand/model.d.ts +0 -10
- package/dist/types/components/header/header.d.ts +0 -40
- package/dist/types/components/header/index.d.ts +0 -2
- package/dist/types/components/header/model.d.ts +0 -44
- package/dist/types/components/navigation/index.d.ts +0 -2
- package/dist/types/components/navigation/model.d.ts +0 -5
- package/dist/types/components/navigation-item/index.d.ts +0 -2
- package/dist/types/components/navigation-item/model.d.ts +0 -39
- package/dist/types/components/navigation-item/navigation-item.d.ts +0 -52
- package/dist/types/components/page/index.d.ts +0 -2
- package/dist/types/components/page/model.d.ts +0 -36
- /package/dist/collection/components/{brand → control-panel-brand}/model.js +0 -0
- /package/dist/collection/components/{header → control-panel-desktop}/model.js +0 -0
- /package/dist/collection/components/{navigation-item → control-panel-flat-icon}/model.js +0 -0
- /package/dist/collection/components/{navigation → control-panel-meta}/model.js +0 -0
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
import { r as registerInstance, c as createEvent, h, g as getElement } from './index-BlbKvvUv.js';
|
|
2
|
+
import { t as DEFAULT_BURGER_MENU } from './constants-COv1iCFP.js';
|
|
3
|
+
import { c as cls } from './index-DB8jc8lh.js';
|
|
4
|
+
import { i as isEventTargetNavigationItem } from './navigation-Cc_Ln-dl.js';
|
|
5
|
+
import './floating-components-BT3wZY6f.js';
|
|
6
|
+
|
|
7
|
+
const DBControlPanelMobile = class {
|
|
8
|
+
constructor(hostRef) {
|
|
9
|
+
registerInstance(this, hostRef);
|
|
10
|
+
this.toggle = createEvent(this, "toggle");
|
|
11
|
+
this.open = false;
|
|
12
|
+
this.observer = undefined;
|
|
13
|
+
}
|
|
14
|
+
handleToggle(event) {
|
|
15
|
+
if (event.stopPropagation) {
|
|
16
|
+
event.stopPropagation();
|
|
17
|
+
}
|
|
18
|
+
const reverseOpen = !this.open;
|
|
19
|
+
this.open = reverseOpen;
|
|
20
|
+
if (this.toggle) {
|
|
21
|
+
this.toggle.emit(reverseOpen);
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
handleClose(event) {
|
|
25
|
+
if (event.stopPropagation) {
|
|
26
|
+
event.stopPropagation();
|
|
27
|
+
}
|
|
28
|
+
this.open = false;
|
|
29
|
+
if (this.toggle) {
|
|
30
|
+
this.toggle.emit(false);
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
handleNavigationItemClick(event) {
|
|
34
|
+
if (isEventTargetNavigationItem(event)) {
|
|
35
|
+
this.handleClose(event);
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
setupObserver(element) {
|
|
39
|
+
if (!element)
|
|
40
|
+
return;
|
|
41
|
+
const parent = element.closest("db-control-panel-mobile");
|
|
42
|
+
if (!parent || this.observer)
|
|
43
|
+
return;
|
|
44
|
+
this.observer = new MutationObserver((mutations) => {
|
|
45
|
+
if (mutations.some((mutation) => {
|
|
46
|
+
var _a;
|
|
47
|
+
const attr = mutation.target.attributes.getNamedItem((_a = mutation.attributeName) !== null && _a !== void 0 ? _a : "");
|
|
48
|
+
return (attr === null || attr === void 0 ? void 0 : attr.value) !== mutation.oldValue;
|
|
49
|
+
})) {
|
|
50
|
+
this.enableAttributePassing(element, "db-control-panel-mobile");
|
|
51
|
+
}
|
|
52
|
+
});
|
|
53
|
+
this.observer.observe(parent, {
|
|
54
|
+
attributes: true,
|
|
55
|
+
attributeOldValue: true,
|
|
56
|
+
});
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* Passes `aria-*`, `data-*` & `class` attributes to correct child. Used in angular and stencil.
|
|
60
|
+
* @param element the ref for the component
|
|
61
|
+
* @param customElementSelector the custom element like `my-component`
|
|
62
|
+
*/
|
|
63
|
+
enableAttributePassing(element, customElementSelector) {
|
|
64
|
+
const parent = element === null || element === void 0 ? void 0 : element.closest(customElementSelector);
|
|
65
|
+
if (element && parent) {
|
|
66
|
+
const attributes = parent.attributes;
|
|
67
|
+
for (let i = 0; i < attributes.length; i++) {
|
|
68
|
+
const attr = attributes.item(i);
|
|
69
|
+
if (attr && attr.name !== 'data-density' &&
|
|
70
|
+
(attr.name.startsWith("data-") || attr.name.startsWith("aria-"))) {
|
|
71
|
+
if (attr.value) {
|
|
72
|
+
element.setAttribute(attr.name, attr.value);
|
|
73
|
+
}
|
|
74
|
+
else {
|
|
75
|
+
element.removeAttribute(attr.name);
|
|
76
|
+
}
|
|
77
|
+
parent.removeAttribute(attr.name);
|
|
78
|
+
}
|
|
79
|
+
else if (attr && ["style"].includes(attr.name)) {
|
|
80
|
+
element.setAttribute(attr.name, attr.value);
|
|
81
|
+
parent.removeAttribute(attr.name);
|
|
82
|
+
}
|
|
83
|
+
else if (attr && attr.name === "class") {
|
|
84
|
+
const isWebComponent = attr.value.includes("hydrated");
|
|
85
|
+
const value = attr.value.replace("hydrated", "").trim();
|
|
86
|
+
const currentClass = element.getAttribute("class");
|
|
87
|
+
element.setAttribute(attr.name, `${currentClass ? currentClass : ""}${value ? ` ${value}` : ""}`);
|
|
88
|
+
if (isWebComponent) {
|
|
89
|
+
// Stencil is using this class for lazy loading component
|
|
90
|
+
parent.setAttribute("class", "hydrated");
|
|
91
|
+
}
|
|
92
|
+
else {
|
|
93
|
+
parent.removeAttribute(attr.name);
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
componentDidLoad() {
|
|
100
|
+
if (typeof document !== "undefined" && this.rootElement && this.rootElement.dataset.connect) {
|
|
101
|
+
const connectedElement = document.querySelector(`[data-connect-id="${this.rootElement.dataset.connect}"]`);
|
|
102
|
+
if (connectedElement) {
|
|
103
|
+
connectedElement.remove();
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
this.enableAttributePassing(this._ref, "db-control-panel-mobile");
|
|
107
|
+
this.setupObserver(this._ref);
|
|
108
|
+
}
|
|
109
|
+
disconnectedCallback() {
|
|
110
|
+
var _a;
|
|
111
|
+
(_a = this.observer) === null || _a === void 0 ? void 0 : _a.disconnect();
|
|
112
|
+
}
|
|
113
|
+
render() {
|
|
114
|
+
var _a, _b, _c;
|
|
115
|
+
return (h("header", { key: '25bf24bdb71c1c4f6f3c20f450969476b9de518b', class: cls("db-control-panel-mobile", this.className), "data-density": "regular", ref: (el) => {
|
|
116
|
+
this._ref = el;
|
|
117
|
+
}, id: (_a = this.id) !== null && _a !== void 0 ? _a : (_b = this.propOverrides) === null || _b === void 0 ? void 0 : _b.id, "data-position": this.position }, h("slot", { key: '225c01e9eab804a5fbb66614aed6fc55ec24955d', name: "skipNavigation" }), h("db-drawer", { key: 'e9e344091b10454d0e4b40cd709e9e5925008226', class: "db-control-panel-mobile-drawer", rounded: true, open: this.open, onClose: (event) => this.handleClose(event) }, h("div", { key: '4915275fceba63688f2d95ceb2016d928014dc17', class: "db-control-panel-mobile-drawer-scroll-container", onClick: (event) => this.handleNavigationItemClick(event) }, h("slot", { key: 'd0631fc92c2623c4fa894d2766911c1653c780c9' }), h("slot", { key: '5d989e8ece5fe37a3477c46cf2a8f15c76670c6b', name: "metaNavigation" })), h("db-drawer-header", { key: '882ad83031b3730a240e638bd286f5cc91199df1', slot: "header", text: this.drawerHeaderText }), h("db-drawer-footer", { key: 'be124b3f769f5fa7722d48d85ebd925c5e789bac', slot: "footer" }, h("slot", { key: '503e666e22a9a3e7046fb44a352800e7a301f5b3', name: "secondaryActions" }))), h("slot", { key: 'd401592fabf808f81f764546bdcd3b72e60b5018', name: "brand" }), h("slot", { key: 'ff5b83e96a1a42aa4f9bf19bb00c4f650c3b90db', name: "primaryActions" }), h("db-button", { key: '6ec807aa071e8f917ecab14ee8086a2eb07fa4fc', class: "db-control-panel-mobile-button", icon: "menu", type: "button", variant: "ghost", noText: true, onClick: (event) => this.handleToggle(event) }, (_c = this.burgerMenuLabel) !== null && _c !== void 0 ? _c : DEFAULT_BURGER_MENU)));
|
|
118
|
+
}
|
|
119
|
+
get rootElement() { return getElement(this); }
|
|
120
|
+
};
|
|
121
|
+
|
|
122
|
+
export { DBControlPanelMobile as db_control_panel_mobile };
|
|
@@ -0,0 +1,418 @@
|
|
|
1
|
+
import { r as registerInstance, c as createEvent, h, g as getElement } from './index-BlbKvvUv.js';
|
|
2
|
+
import { n as DEFAULT_BACK } from './constants-COv1iCFP.js';
|
|
3
|
+
import { u as uuid, d as delay, f as getBoolean, e as hasCssFlag, g as getBooleanAsString, c as cls } from './index-DB8jc8lh.js';
|
|
4
|
+
import { b as handleDataOutside } from './floating-components-BT3wZY6f.js';
|
|
5
|
+
import { I as IntersectionObserverListener } from './intersection-observer-listener-DQ4WWSLe.js';
|
|
6
|
+
import { h as handleSubNavigationPosition, N as NavigationItemSafeTriangle } from './navigation-Cc_Ln-dl.js';
|
|
7
|
+
import { R as ResizeObserverListener } from './resize-observer-listener-z8XjzxC9.js';
|
|
8
|
+
|
|
9
|
+
const DBControlPanelNavigationItemGroup = class {
|
|
10
|
+
constructor(hostRef) {
|
|
11
|
+
registerInstance(this, hostRef);
|
|
12
|
+
this.click = createEvent(this, "click");
|
|
13
|
+
this.hasSubNavigation = true;
|
|
14
|
+
this.isSubNavigationExpanded = false;
|
|
15
|
+
this.autoClose = false;
|
|
16
|
+
this.hasPopup = false;
|
|
17
|
+
this.initialized = false;
|
|
18
|
+
this._isMobile = false;
|
|
19
|
+
this._role = undefined;
|
|
20
|
+
this._attributeObserver = undefined;
|
|
21
|
+
this._itemGroupMenuId = "db-control-panel-navigation-item-group-menu-" + uuid();
|
|
22
|
+
this._intersectionObserverCallbackId = undefined;
|
|
23
|
+
this._resizeObserverCallbackId = undefined;
|
|
24
|
+
this._popoverListenersAttached = false;
|
|
25
|
+
this.navigationItemSafeTriangle = undefined;
|
|
26
|
+
this.observer = undefined;
|
|
27
|
+
}
|
|
28
|
+
_handleFocusIn() {
|
|
29
|
+
if (!this.hasPopup)
|
|
30
|
+
return;
|
|
31
|
+
this.isSubNavigationExpanded = true;
|
|
32
|
+
}
|
|
33
|
+
_handleFocusOut(event) {
|
|
34
|
+
if (!this.hasPopup)
|
|
35
|
+
return;
|
|
36
|
+
const relatedTarget = event.relatedTarget;
|
|
37
|
+
if (!relatedTarget || !this._ref.contains(relatedTarget)) {
|
|
38
|
+
this.isSubNavigationExpanded = false;
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
_handleMouseEnter() {
|
|
42
|
+
if (!this.hasPopup)
|
|
43
|
+
return;
|
|
44
|
+
if (this._menuRef) {
|
|
45
|
+
handleSubNavigationPosition(this._menuRef);
|
|
46
|
+
// Check if the menu overflows the viewport and set
|
|
47
|
+
// data-outside-vy / data-outside-vx for CSS flipping.
|
|
48
|
+
// visibility:hidden elements report correct layout via
|
|
49
|
+
// getBoundingClientRect, so we can measure immediately.
|
|
50
|
+
handleDataOutside(this._menuRef);
|
|
51
|
+
}
|
|
52
|
+
this.isSubNavigationExpanded = true;
|
|
53
|
+
}
|
|
54
|
+
_handleMouseLeave() {
|
|
55
|
+
if (!this.hasPopup)
|
|
56
|
+
return;
|
|
57
|
+
this.isSubNavigationExpanded = false;
|
|
58
|
+
}
|
|
59
|
+
_setSiblingsInert(inert) {
|
|
60
|
+
if (!this._ref || !this._menuRef)
|
|
61
|
+
return;
|
|
62
|
+
// 1. Mark sibling <li> elements within the parent <menu> as inert
|
|
63
|
+
const parentMenu = this._ref.parentElement;
|
|
64
|
+
if (parentMenu) {
|
|
65
|
+
const siblings = parentMenu.children;
|
|
66
|
+
for (let i = 0; i < siblings.length; i++) {
|
|
67
|
+
const sibling = siblings[i];
|
|
68
|
+
if (sibling !== this._ref) {
|
|
69
|
+
if (inert) {
|
|
70
|
+
sibling.setAttribute("inert", "");
|
|
71
|
+
}
|
|
72
|
+
else {
|
|
73
|
+
sibling.removeAttribute("inert");
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
// 2. Mark the expand button as inert when the sub-menu
|
|
79
|
+
// overlay is open, since it is visually behind the overlay.
|
|
80
|
+
if (this._buttonRef) {
|
|
81
|
+
if (inert) {
|
|
82
|
+
this._buttonRef.setAttribute("inert", "");
|
|
83
|
+
}
|
|
84
|
+
else {
|
|
85
|
+
this._buttonRef.removeAttribute("inert");
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
// 3. Mark other sections in the drawer scroll container as inert
|
|
89
|
+
// (e.g. meta navigation), but NOT the <nav> ancestor of this item.
|
|
90
|
+
const scrollContainer = this._ref.closest(".db-control-panel-mobile-drawer-scroll-container");
|
|
91
|
+
if (scrollContainer) {
|
|
92
|
+
const navAncestor = this._ref.closest(".db-control-panel-navigation");
|
|
93
|
+
const children = scrollContainer.children;
|
|
94
|
+
for (let i = 0; i < children.length; i++) {
|
|
95
|
+
const child = children[i];
|
|
96
|
+
if (child !== navAncestor) {
|
|
97
|
+
if (inert) {
|
|
98
|
+
child.setAttribute("inert", "");
|
|
99
|
+
}
|
|
100
|
+
else {
|
|
101
|
+
child.removeAttribute("inert");
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
_attachPopoverListeners() {
|
|
108
|
+
if (this._popoverListenersAttached || !this._ref)
|
|
109
|
+
return;
|
|
110
|
+
this._ref.addEventListener("mouseenter", this._handleMouseEnter);
|
|
111
|
+
this._ref.addEventListener("mouseleave", this._handleMouseLeave);
|
|
112
|
+
this._ref.addEventListener("focusin", this._handleFocusIn);
|
|
113
|
+
this._ref.addEventListener("focusout", this._handleFocusOut);
|
|
114
|
+
this._popoverListenersAttached = true;
|
|
115
|
+
}
|
|
116
|
+
_detachPopoverListeners() {
|
|
117
|
+
if (!this._popoverListenersAttached || !this._ref)
|
|
118
|
+
return;
|
|
119
|
+
this._ref.removeEventListener("mouseenter", this._handleMouseEnter);
|
|
120
|
+
this._ref.removeEventListener("mouseleave", this._handleMouseLeave);
|
|
121
|
+
this._ref.removeEventListener("focusin", this._handleFocusIn);
|
|
122
|
+
this._ref.removeEventListener("focusout", this._handleFocusOut);
|
|
123
|
+
this.isSubNavigationExpanded = false;
|
|
124
|
+
this._popoverListenersAttached = false;
|
|
125
|
+
}
|
|
126
|
+
_teardownPopover() {
|
|
127
|
+
this._detachPopoverListeners();
|
|
128
|
+
this.navigationItemSafeTriangle = undefined;
|
|
129
|
+
if (this._intersectionObserverCallbackId) {
|
|
130
|
+
new IntersectionObserverListener().unobserve(this._intersectionObserverCallbackId);
|
|
131
|
+
this._intersectionObserverCallbackId = undefined;
|
|
132
|
+
}
|
|
133
|
+
if (this._resizeObserverCallbackId) {
|
|
134
|
+
new ResizeObserverListener().unobserve(this._resizeObserverCallbackId);
|
|
135
|
+
this._resizeObserverCallbackId = undefined;
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
onScroll() {
|
|
139
|
+
if (this.hasPopup && this._menuRef) {
|
|
140
|
+
handleSubNavigationPosition(this._menuRef);
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
handleNavigationItemClick(event) {
|
|
144
|
+
var _a;
|
|
145
|
+
if (((_a = event === null || event === void 0 ? void 0 : event.target) === null || _a === void 0 ? void 0 : _a.nodeName) === "A") {
|
|
146
|
+
this.forceClose();
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
forceClose() {
|
|
150
|
+
this.autoClose = true;
|
|
151
|
+
void delay(() => {
|
|
152
|
+
this.autoClose = false;
|
|
153
|
+
}, 300);
|
|
154
|
+
}
|
|
155
|
+
handleClick(event) {
|
|
156
|
+
if (!this.hasPopup) {
|
|
157
|
+
this.isSubNavigationExpanded = !this.isSubNavigationExpanded;
|
|
158
|
+
}
|
|
159
|
+
if (this.click) {
|
|
160
|
+
// Prevent click from bubbling to the control-panel-mobile
|
|
161
|
+
// handleNavigationItemClick which would close the drawer.
|
|
162
|
+
event.stopPropagation();
|
|
163
|
+
this.click.emit(event);
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
handleBackClick(event) {
|
|
167
|
+
event.stopPropagation();
|
|
168
|
+
this.isSubNavigationExpanded = false;
|
|
169
|
+
// Return focus to the expand button after closing the sub-menu.
|
|
170
|
+
// Use a delay to ensure the inert attribute has been removed first.
|
|
171
|
+
void delay(() => {
|
|
172
|
+
if (this._buttonRef) {
|
|
173
|
+
this._buttonRef.focus();
|
|
174
|
+
}
|
|
175
|
+
}, 1);
|
|
176
|
+
}
|
|
177
|
+
handleEscape(event) {
|
|
178
|
+
if (!event || event.key === "Escape") {
|
|
179
|
+
this.forceClose();
|
|
180
|
+
this._buttonRef.blur();
|
|
181
|
+
}
|
|
182
|
+
}
|
|
183
|
+
setupObserver(element) {
|
|
184
|
+
if (!element)
|
|
185
|
+
return;
|
|
186
|
+
const parent = element.closest("db-control-panel-navigation-item-group");
|
|
187
|
+
if (!parent || this.observer)
|
|
188
|
+
return;
|
|
189
|
+
this.observer = new MutationObserver((mutations) => {
|
|
190
|
+
if (mutations.some((mutation) => {
|
|
191
|
+
var _a;
|
|
192
|
+
const attr = mutation.target.attributes.getNamedItem((_a = mutation.attributeName) !== null && _a !== void 0 ? _a : "");
|
|
193
|
+
return (attr === null || attr === void 0 ? void 0 : attr.value) !== mutation.oldValue;
|
|
194
|
+
})) {
|
|
195
|
+
this.enableAttributePassing(element, "db-control-panel-navigation-item-group");
|
|
196
|
+
}
|
|
197
|
+
});
|
|
198
|
+
this.observer.observe(parent, {
|
|
199
|
+
attributes: true,
|
|
200
|
+
attributeOldValue: true,
|
|
201
|
+
});
|
|
202
|
+
}
|
|
203
|
+
/**
|
|
204
|
+
* Passes `aria-*`, `data-*` & `class` attributes to correct child. Used in angular and stencil.
|
|
205
|
+
* @param element the ref for the component
|
|
206
|
+
* @param customElementSelector the custom element like `my-component`
|
|
207
|
+
*/
|
|
208
|
+
enableAttributePassing(element, customElementSelector) {
|
|
209
|
+
const parent = element === null || element === void 0 ? void 0 : element.closest(customElementSelector);
|
|
210
|
+
if (element && parent) {
|
|
211
|
+
const attributes = parent.attributes;
|
|
212
|
+
for (let i = 0; i < attributes.length; i++) {
|
|
213
|
+
const attr = attributes.item(i);
|
|
214
|
+
if (attr && attr.name !== 'data-density' &&
|
|
215
|
+
(attr.name.startsWith("data-") || attr.name.startsWith("aria-"))) {
|
|
216
|
+
if (attr.value) {
|
|
217
|
+
element.setAttribute(attr.name, attr.value);
|
|
218
|
+
}
|
|
219
|
+
else {
|
|
220
|
+
element.removeAttribute(attr.name);
|
|
221
|
+
}
|
|
222
|
+
parent.removeAttribute(attr.name);
|
|
223
|
+
}
|
|
224
|
+
else if (attr && ["style"].includes(attr.name)) {
|
|
225
|
+
element.setAttribute(attr.name, attr.value);
|
|
226
|
+
parent.removeAttribute(attr.name);
|
|
227
|
+
}
|
|
228
|
+
else if (attr && attr.name === "class") {
|
|
229
|
+
const isWebComponent = attr.value.includes("hydrated");
|
|
230
|
+
const value = attr.value.replace("hydrated", "").trim();
|
|
231
|
+
const currentClass = element.getAttribute("class");
|
|
232
|
+
element.setAttribute(attr.name, `${currentClass ? currentClass : ""}${value ? ` ${value}` : ""}`);
|
|
233
|
+
if (isWebComponent) {
|
|
234
|
+
// Stencil is using this class for lazy loading component
|
|
235
|
+
parent.setAttribute("class", "hydrated");
|
|
236
|
+
}
|
|
237
|
+
else {
|
|
238
|
+
parent.removeAttribute(attr.name);
|
|
239
|
+
}
|
|
240
|
+
}
|
|
241
|
+
}
|
|
242
|
+
}
|
|
243
|
+
}
|
|
244
|
+
watch0Fn() {
|
|
245
|
+
var _a;
|
|
246
|
+
if (!this.initialized || !this._ref || this._attributeObserver)
|
|
247
|
+
return;
|
|
248
|
+
// Read initial role value synchronously in case parent set it before mount
|
|
249
|
+
const initialRole = (_a = this._ref.getAttribute("role")) !== null && _a !== void 0 ? _a : undefined;
|
|
250
|
+
if (initialRole !== this._role) {
|
|
251
|
+
this._role = initialRole;
|
|
252
|
+
}
|
|
253
|
+
const observer = new MutationObserver((mutations) => {
|
|
254
|
+
var _a;
|
|
255
|
+
for (const mutation of mutations) {
|
|
256
|
+
if (mutation.attributeName === "role") {
|
|
257
|
+
const newRole = (_a = this._ref.getAttribute("role")) !== null && _a !== void 0 ? _a : undefined;
|
|
258
|
+
if (newRole !== this._role) {
|
|
259
|
+
this._role = newRole;
|
|
260
|
+
}
|
|
261
|
+
}
|
|
262
|
+
}
|
|
263
|
+
});
|
|
264
|
+
observer.observe(this._ref, {
|
|
265
|
+
attributes: true,
|
|
266
|
+
attributeFilter: ["role"],
|
|
267
|
+
});
|
|
268
|
+
this._attributeObserver = observer;
|
|
269
|
+
}
|
|
270
|
+
watch0() {
|
|
271
|
+
this.watch0Fn();
|
|
272
|
+
}
|
|
273
|
+
watch1Fn() {
|
|
274
|
+
if (this.expanded !== undefined) {
|
|
275
|
+
this.isSubNavigationExpanded = !!getBoolean(this.expanded, "expanded");
|
|
276
|
+
}
|
|
277
|
+
}
|
|
278
|
+
watch1() {
|
|
279
|
+
this.watch1Fn();
|
|
280
|
+
}
|
|
281
|
+
watch2Fn() {
|
|
282
|
+
if (this._ref && this.initialized) {
|
|
283
|
+
this.initialized = false;
|
|
284
|
+
this.hasPopup = hasCssFlag(this._ref, "--db-control-panel-navigation-item-group-menu-popover");
|
|
285
|
+
if (this._menuRef) {
|
|
286
|
+
this._isMobile = hasCssFlag(this._menuRef, "--db-control-panel-navigation-item-group-menu-mobile");
|
|
287
|
+
}
|
|
288
|
+
}
|
|
289
|
+
}
|
|
290
|
+
watch2() {
|
|
291
|
+
this.watch2Fn();
|
|
292
|
+
}
|
|
293
|
+
watch3Fn() {
|
|
294
|
+
if (this._isMobile && this.isSubNavigationExpanded) {
|
|
295
|
+
this._setSiblingsInert(true);
|
|
296
|
+
// Move focus to the first navigation item link inside the sub-menu
|
|
297
|
+
if (this._menuRef) {
|
|
298
|
+
const firstLink = this._menuRef.querySelector(".db-control-panel-navigation-item a");
|
|
299
|
+
if (firstLink) {
|
|
300
|
+
firstLink.focus();
|
|
301
|
+
}
|
|
302
|
+
}
|
|
303
|
+
}
|
|
304
|
+
else {
|
|
305
|
+
this._setSiblingsInert(false);
|
|
306
|
+
}
|
|
307
|
+
}
|
|
308
|
+
watch3() {
|
|
309
|
+
this.watch3Fn();
|
|
310
|
+
}
|
|
311
|
+
watch4Fn() {
|
|
312
|
+
if (this._ref && this._buttonRef && this._menuRef && this.hasPopup) {
|
|
313
|
+
if (!this.navigationItemSafeTriangle) {
|
|
314
|
+
this.navigationItemSafeTriangle = new NavigationItemSafeTriangle(this._ref, this._menuRef);
|
|
315
|
+
}
|
|
316
|
+
this._attachPopoverListeners();
|
|
317
|
+
if (!this._intersectionObserverCallbackId) {
|
|
318
|
+
this._intersectionObserverCallbackId =
|
|
319
|
+
new IntersectionObserverListener().observe(this._buttonRef, (entry) => {
|
|
320
|
+
if (!entry.isIntersecting) {
|
|
321
|
+
this.forceClose();
|
|
322
|
+
}
|
|
323
|
+
});
|
|
324
|
+
}
|
|
325
|
+
// Re-position the sub-navigation popover on viewport resize
|
|
326
|
+
// (e.g. orientation change), because placement depends on the
|
|
327
|
+
// viewport dimensions.
|
|
328
|
+
if (!this._resizeObserverCallbackId) {
|
|
329
|
+
this._resizeObserverCallbackId = new ResizeObserverListener().observe(document.documentElement, () => {
|
|
330
|
+
if (this._menuRef) {
|
|
331
|
+
handleSubNavigationPosition(this._menuRef);
|
|
332
|
+
}
|
|
333
|
+
});
|
|
334
|
+
}
|
|
335
|
+
}
|
|
336
|
+
if (!this.hasPopup) {
|
|
337
|
+
this._teardownPopover();
|
|
338
|
+
}
|
|
339
|
+
}
|
|
340
|
+
watch4() {
|
|
341
|
+
this.watch4Fn();
|
|
342
|
+
}
|
|
343
|
+
componentDidLoad() {
|
|
344
|
+
if (typeof document !== "undefined" && this.rootElement && this.rootElement.dataset.connect) {
|
|
345
|
+
const connectedElement = document.querySelector(`[data-connect-id="${this.rootElement.dataset.connect}"]`);
|
|
346
|
+
if (connectedElement) {
|
|
347
|
+
connectedElement.remove();
|
|
348
|
+
}
|
|
349
|
+
}
|
|
350
|
+
this.enableAttributePassing(this._ref, "db-control-panel-navigation-item-group");
|
|
351
|
+
const onMountHook_0 = () => {
|
|
352
|
+
this.initialized = true;
|
|
353
|
+
};
|
|
354
|
+
onMountHook_0();
|
|
355
|
+
const onMountHook_1 = () => {
|
|
356
|
+
this.setupObserver(this._ref);
|
|
357
|
+
};
|
|
358
|
+
onMountHook_1();
|
|
359
|
+
this.watch0Fn();
|
|
360
|
+
this.watch1Fn();
|
|
361
|
+
this.watch2Fn();
|
|
362
|
+
this.watch3Fn();
|
|
363
|
+
this.watch4Fn();
|
|
364
|
+
}
|
|
365
|
+
disconnectedCallback() {
|
|
366
|
+
var _a, _b;
|
|
367
|
+
this._teardownPopover();
|
|
368
|
+
this._setSiblingsInert(false);
|
|
369
|
+
(_a = this._attributeObserver) === null || _a === void 0 ? void 0 : _a.disconnect();
|
|
370
|
+
this._attributeObserver = undefined;
|
|
371
|
+
(_b = this.observer) === null || _b === void 0 ? void 0 : _b.disconnect();
|
|
372
|
+
}
|
|
373
|
+
render() {
|
|
374
|
+
var _a, _b, _c, _d, _e;
|
|
375
|
+
return (h("li", { key: 'e842f5d91531596bc1b4077b50a2aa4b7349b557', class: cls("db-control-panel-navigation-item-group", this.className), ref: (el) => {
|
|
376
|
+
this._ref = el;
|
|
377
|
+
}, id: (_a = this.id) !== null && _a !== void 0 ? _a : (_b = this.propOverrides) === null || _b === void 0 ? void 0 : _b.id, role: this._role, onMouseOver: () => { var _a; return (_a = this.navigationItemSafeTriangle) === null || _a === void 0 ? void 0 : _a.enableFollow(); }, onMouseLeave: () => { var _a; return (_a = this.navigationItemSafeTriangle) === null || _a === void 0 ? void 0 : _a.disableFollow(); }, onMouseMove: (event) => { var _a; return (_a = this.navigationItemSafeTriangle) === null || _a === void 0 ? void 0 : _a.followByMouseEvent(event); }, onKeyDown: (event) => this.handleEscape(event), "data-icon": this.icon, "data-show-icon": getBooleanAsString(this.showIcon, "showIcon"), "data-active": getBooleanAsString(this.active, "active"), "aria-disabled": getBooleanAsString(this.disabled, "disabled") }, h("button", { key: '58ba0cb92b2a10a880d8c9f59c11850085b2f9ec', class: "db-control-panel-navigation-item-group-expand-button", type: "button", ref: (el) => {
|
|
378
|
+
this._buttonRef = el;
|
|
379
|
+
}, "aria-haspopup": getBooleanAsString(this.hasPopup ? true : undefined), "aria-controls": (_c = this.menuId) !== null && _c !== void 0 ? _c : this._itemGroupMenuId, "aria-expanded": getBooleanAsString(this.isSubNavigationExpanded), disabled: getBoolean(this.disabled, "disabled"), onClick: (event) => this.handleClick(event) }, this.text, h("div", { key: '70f9d5553fc644f957fefc31a31350041aad2b83', class: "db-control-panel-navigation-item-group-expand-button-end-slot-container" }, h("slot", { key: '34ca08f31c839144194960294c35f9d4ef057e2a', name: "endSlot" }))), h("menu", { key: '877d344a558361d4bc6c4a7cbaa65325cf0d1d35', class: "db-control-panel-navigation-item-group-menu", ref: (el) => {
|
|
380
|
+
this._menuRef = el;
|
|
381
|
+
}, "data-force-close": getBooleanAsString(this.autoClose), id: (_d = this.menuId) !== null && _d !== void 0 ? _d : this._itemGroupMenuId, onScroll: () => this.onScroll(), onClick: (event) => this.handleNavigationItemClick(event) }, h("li", { key: '9a7c9be7cb8bbe5aac6dd2a4c8530ba1dbdb3f35', class: "db-control-panel-navigation-item-group-back-button" }, h("db-button", { key: '65808897bb081139d1c5a229f4c6e6fcf37f980d', icon: "arrow_left", variant: "ghost", id: this.backButtonId, onClick: (event) => this.handleBackClick(event) }, (_e = this.backButtonText) !== null && _e !== void 0 ? _e : DEFAULT_BACK)), h("slot", { key: 'fa8a9703ae21bb54349081935d42c5128f3cc8f9' }))));
|
|
382
|
+
}
|
|
383
|
+
get rootElement() { return getElement(this); }
|
|
384
|
+
static get watchers() { return {
|
|
385
|
+
"_ref": [{
|
|
386
|
+
"watch0": 0
|
|
387
|
+
}, {
|
|
388
|
+
"watch2": 0
|
|
389
|
+
}, {
|
|
390
|
+
"watch4": 0
|
|
391
|
+
}],
|
|
392
|
+
"initialized": [{
|
|
393
|
+
"watch0": 0
|
|
394
|
+
}, {
|
|
395
|
+
"watch2": 0
|
|
396
|
+
}],
|
|
397
|
+
"expanded": [{
|
|
398
|
+
"watch1": 0
|
|
399
|
+
}],
|
|
400
|
+
"_isMobile": [{
|
|
401
|
+
"watch3": 0
|
|
402
|
+
}],
|
|
403
|
+
"isSubNavigationExpanded": [{
|
|
404
|
+
"watch3": 0
|
|
405
|
+
}],
|
|
406
|
+
"_menuRef": [{
|
|
407
|
+
"watch4": 0
|
|
408
|
+
}],
|
|
409
|
+
"_buttonRef": [{
|
|
410
|
+
"watch4": 0
|
|
411
|
+
}],
|
|
412
|
+
"hasPopup": [{
|
|
413
|
+
"watch4": 0
|
|
414
|
+
}]
|
|
415
|
+
}; }
|
|
416
|
+
};
|
|
417
|
+
|
|
418
|
+
export { DBControlPanelNavigationItemGroup as db_control_panel_navigation_item_group };
|