bromcom-ui-next 0.1.28 → 0.1.30
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/bromcom-ui/_commonjsHelpers-CvGrISen.js.map +1 -0
- package/dist/bromcom-ui/bcm-accordion.entry.esm.js.map +1 -1
- package/dist/bromcom-ui/bcm-alert.entry.esm.js.map +1 -1
- package/dist/bromcom-ui/bcm-button.bcm-drawer.bcm-linked.bcm-modal.bcm-pop-confirm.bcm-popover.bcm-tooltip.entry.esm.js.map +1 -0
- package/dist/bromcom-ui/bcm-checkbox.entry.esm.js.map +1 -1
- package/dist/bromcom-ui/bcm-chip.entry.esm.js.map +1 -0
- package/dist/bromcom-ui/bcm-divider.entry.esm.js.map +1 -1
- package/dist/bromcom-ui/bcm-dropdown.entry.esm.js.map +1 -1
- package/dist/bromcom-ui/bcm-input.entry.esm.js.map +1 -1
- package/dist/bromcom-ui/bcm-segmented-picker-option.entry.esm.js.map +1 -1
- package/dist/bromcom-ui/bcm-segmented-picker.entry.esm.js.map +1 -1
- package/dist/bromcom-ui/bcm-switch.entry.esm.js.map +1 -1
- package/dist/bromcom-ui/bcm-tabs.entry.esm.js.map +1 -1
- package/dist/bromcom-ui/bcm-text.entry.esm.js.map +1 -1
- package/dist/bromcom-ui/bromcom-ui.esm.js +1 -1
- package/dist/bromcom-ui/bromcom-ui.esm.js.map +1 -1
- package/dist/bromcom-ui/floating-ui.dom-ltNPqX34.js.map +1 -0
- package/dist/bromcom-ui/generate-id-Crb5QsB-.js.map +1 -0
- package/dist/bromcom-ui/index-40rmUZjU.js.map +1 -0
- package/dist/bromcom-ui/index-BCaJmHBB.js.map +1 -0
- package/dist/bromcom-ui/{p-8ace5a6a.entry.js → p-0c7c6896.entry.js} +2 -2
- package/dist/bromcom-ui/p-0c7c6896.entry.js.map +1 -0
- package/dist/bromcom-ui/p-11d0e649.entry.js +2 -0
- package/dist/bromcom-ui/p-11d0e649.entry.js.map +1 -0
- package/dist/bromcom-ui/{p-6b585adc.entry.js → p-12f38632.entry.js} +2 -2
- package/dist/bromcom-ui/p-12f38632.entry.js.map +1 -0
- package/dist/bromcom-ui/{p-5e0702d1.entry.js → p-13cbd1f5.entry.js} +2 -2
- package/dist/bromcom-ui/p-13cbd1f5.entry.js.map +1 -0
- package/dist/bromcom-ui/{p-2480e468.entry.js → p-1507908f.entry.js} +2 -2
- package/dist/bromcom-ui/p-1507908f.entry.js.map +1 -0
- package/dist/bromcom-ui/p-1ce9913f.entry.js +2 -0
- package/dist/bromcom-ui/p-1ce9913f.entry.js.map +1 -0
- package/dist/bromcom-ui/p-206d767e.entry.js +2 -0
- package/dist/bromcom-ui/p-206d767e.entry.js.map +1 -0
- package/dist/bromcom-ui/{p-ee5f877f.entry.js → p-3cf7a7f4.entry.js} +2 -2
- package/dist/bromcom-ui/p-3cf7a7f4.entry.js.map +1 -0
- package/dist/bromcom-ui/p-4505feba.entry.js +2 -0
- package/dist/bromcom-ui/p-4505feba.entry.js.map +1 -0
- package/dist/bromcom-ui/{p-089edfdc.entry.js → p-496014ca.entry.js} +2 -2
- package/dist/bromcom-ui/p-496014ca.entry.js.map +1 -0
- package/dist/bromcom-ui/{p-26d2db9e.entry.js → p-4a932cd3.entry.js} +2 -2
- package/dist/bromcom-ui/p-4a932cd3.entry.js.map +1 -0
- package/dist/bromcom-ui/p-4e554b8d.entry.js +2 -0
- package/dist/bromcom-ui/p-4e554b8d.entry.js.map +1 -0
- package/dist/bromcom-ui/{p-360bff8a.entry.js → p-57c4c4c4.entry.js} +2 -2
- package/dist/bromcom-ui/p-57c4c4c4.entry.js.map +1 -0
- package/dist/bromcom-ui/{p-211ca6e0.entry.js → p-61293ab2.entry.js} +2 -2
- package/dist/bromcom-ui/p-61293ab2.entry.js.map +1 -0
- package/dist/bromcom-ui/{p-83f64814.entry.js → p-61789456.entry.js} +2 -2
- package/dist/bromcom-ui/p-61789456.entry.js.map +1 -0
- package/dist/bromcom-ui/{p-488d6ef4.entry.js → p-65d0f188.entry.js} +2 -2
- package/dist/bromcom-ui/p-65d0f188.entry.js.map +1 -0
- package/dist/bromcom-ui/p-83f707dc.entry.js +2 -0
- package/dist/bromcom-ui/p-83f707dc.entry.js.map +1 -0
- package/dist/bromcom-ui/p-8ba02e7e.entry.js +2 -0
- package/dist/bromcom-ui/p-8ba02e7e.entry.js.map +1 -0
- package/dist/bromcom-ui/p-9e9bf32e.entry.js +2 -0
- package/dist/bromcom-ui/p-9e9bf32e.entry.js.map +1 -0
- package/dist/bromcom-ui/p-BfTCfPZ1.js.map +1 -1
- package/dist/bromcom-ui/p-CEcVC0yX.js.map +1 -1
- package/dist/bromcom-ui/p-CRwAh9Np.js +3 -0
- package/dist/bromcom-ui/p-CRwAh9Np.js.map +1 -0
- package/dist/bromcom-ui/p-IBjzkjef.js.map +1 -1
- package/dist/bromcom-ui/{p-a88f20e0.entry.js → p-c87a6acf.entry.js} +2 -2
- package/dist/bromcom-ui/p-c87a6acf.entry.js.map +1 -0
- package/dist/bromcom-ui/{p-c34f0a66.entry.js → p-e0e235a8.entry.js} +2 -2
- package/dist/bromcom-ui/p-e0e235a8.entry.js.map +1 -0
- package/dist/bromcom-ui/{p-0101b4f2.entry.js → p-e1ce8b55.entry.js} +2 -2
- package/dist/bromcom-ui/p-e1ce8b55.entry.js.map +1 -0
- package/dist/bromcom-ui/p-e4dddb0b.entry.js +2 -0
- package/dist/bromcom-ui/p-e4dddb0b.entry.js.map +1 -0
- package/dist/bromcom-ui/p-f9426924.entry.js +2 -0
- package/dist/bromcom-ui/p-f9426924.entry.js.map +1 -0
- package/dist/bromcom-ui/{p-c0e7f9d6.entry.js → p-faa0e62c.entry.js} +2 -2
- package/dist/bromcom-ui/p-faa0e62c.entry.js.map +1 -0
- package/dist/bromcom-ui/{p-bdaf5653.entry.js → p-fcb4399f.entry.js} +2 -2
- package/dist/bromcom-ui/p-fcb4399f.entry.js.map +1 -0
- package/dist/bromcom-ui/tv-SlGJ5EfR.js.map +1 -0
- package/dist/bromcom-ui/validation-messages-CUvT12BL.js.map +1 -0
- package/dist/cjs/bcm-accordion-group.cjs.entry.js +2 -4
- package/dist/cjs/bcm-accordion.cjs.entry.js +3 -5
- package/dist/cjs/bcm-accordion.entry.cjs.js.map +1 -1
- package/dist/cjs/bcm-alert.cjs.entry.js +3 -5
- package/dist/cjs/bcm-alert.entry.cjs.js.map +1 -1
- package/dist/cjs/bcm-avatar.cjs.entry.js +1 -3
- package/dist/cjs/bcm-badge.cjs.entry.js +3 -5
- package/dist/cjs/bcm-basic-badge.cjs.entry.js +3 -5
- package/dist/cjs/bcm-button-group.cjs.entry.js +3 -5
- package/dist/cjs/bcm-button.bcm-drawer.bcm-linked.bcm-modal.bcm-pop-confirm.bcm-popover.bcm-tooltip.entry.cjs.js.map +1 -0
- package/dist/cjs/bcm-button_7.cjs.entry.js +4131 -0
- package/dist/cjs/bcm-checkbox.cjs.entry.js +7 -5
- package/dist/cjs/bcm-checkbox.entry.cjs.js.map +1 -1
- package/dist/cjs/bcm-chip.cjs.entry.js +127 -0
- package/dist/cjs/bcm-chip.entry.cjs.js.map +1 -0
- package/dist/cjs/bcm-divider.cjs.entry.js +3 -5
- package/dist/cjs/bcm-divider.entry.cjs.js.map +1 -1
- package/dist/cjs/bcm-dropdown-item.cjs.entry.js +3 -5
- package/dist/cjs/bcm-dropdown.cjs.entry.js +3 -13
- package/dist/cjs/bcm-dropdown.entry.cjs.js.map +1 -1
- package/dist/cjs/bcm-input.cjs.entry.js +4 -6
- package/dist/cjs/bcm-input.entry.cjs.js.map +1 -1
- package/dist/cjs/bcm-radio-group.cjs.entry.js +3 -5
- package/dist/cjs/bcm-radio.cjs.entry.js +2 -4
- package/dist/cjs/bcm-segmented-picker-option.cjs.entry.js +3 -5
- package/dist/cjs/bcm-segmented-picker-option.entry.cjs.js.map +1 -1
- package/dist/cjs/bcm-segmented-picker.cjs.entry.js +3 -5
- package/dist/cjs/bcm-segmented-picker.entry.cjs.js.map +1 -1
- package/dist/cjs/bcm-shortcut.cjs.entry.js +2 -4
- package/dist/cjs/bcm-switch.cjs.entry.js +4 -6
- package/dist/cjs/bcm-switch.entry.cjs.js.map +1 -1
- package/dist/cjs/bcm-tabs-content.cjs.entry.js +2 -4
- package/dist/cjs/bcm-tabs-list.cjs.entry.js +2 -4
- package/dist/cjs/bcm-tabs-trigger.cjs.entry.js +2 -4
- package/dist/cjs/bcm-tabs.cjs.entry.js +2 -4
- package/dist/cjs/bcm-tabs.entry.cjs.js.map +1 -1
- package/dist/cjs/bcm-text.cjs.entry.js +3 -5
- package/dist/cjs/bcm-text.entry.cjs.js.map +1 -1
- package/dist/cjs/bcm-textarea.cjs.entry.js +4 -6
- package/dist/cjs/bromcom-ui.cjs.js +3 -5
- package/dist/cjs/bromcom-ui.cjs.js.map +1 -1
- package/dist/cjs/generate-id-CG_BkTJu.js.map +1 -1
- package/dist/cjs/index-Bp6Dd2i1.js.map +1 -1
- package/dist/cjs/{index-BtiU-G2W.js → index-CmYzUr-k.js} +61 -372
- package/dist/cjs/index-CmYzUr-k.js.map +1 -0
- package/dist/cjs/index.cjs.js +0 -2
- package/dist/cjs/loader.cjs.js +2 -4
- package/dist/cjs/tv-ngpIbGlG.js.map +1 -1
- package/dist/collection/collection-manifest.json +5 -5
- package/dist/collection/components/accordion/accordion.component.js +8 -8
- package/dist/collection/components/accordion/accordion.component.js.map +1 -1
- package/dist/collection/components/accordion-group/accordion-group.component.js +3 -3
- package/dist/collection/components/accordion-group/types.js.map +1 -1
- package/dist/collection/components/alert/alert.component.js +6 -6
- package/dist/collection/components/alert/alert.css +1 -1
- package/dist/collection/components/avatar/avatar.component.js +14 -14
- package/dist/collection/components/badge/badge.component.js +15 -15
- package/dist/collection/components/basic-badge/basic-badge.component.js +9 -9
- package/dist/collection/components/button/button.component.js +32 -32
- package/dist/collection/components/button/button.css +1 -1
- package/dist/collection/components/button-group/button-group.component.js +15 -15
- package/dist/collection/components/checkbox/checkbox.component.js +36 -12
- package/dist/collection/components/checkbox/checkbox.component.js.map +1 -1
- package/dist/collection/components/checkbox/checkbox.css +1 -1
- package/dist/collection/components/chip/chip.component.js +8 -8
- package/dist/collection/components/divider/divider.component.js +4 -4
- package/dist/collection/components/divider/divider.css +1 -1
- package/dist/collection/components/drawer/drawer.component.js +429 -132
- package/dist/collection/components/drawer/drawer.component.js.map +1 -1
- package/dist/collection/components/drawer/drawer.css +1 -1
- package/dist/collection/components/drawer/types.js.map +1 -1
- package/dist/collection/components/dropdown/dropdown.component.js +3 -12
- package/dist/collection/components/dropdown/dropdown.component.js.map +1 -1
- package/dist/collection/components/dropdown/dropdown.css +1 -1
- package/dist/collection/components/dropdown-item/dropdown-item.component.js +9 -10
- package/dist/collection/components/dropdown-item/dropdown-item.component.js.map +1 -1
- package/dist/collection/components/input/input.component.js +44 -45
- package/dist/collection/components/input/input.component.js.map +1 -1
- package/dist/collection/components/input/input.css +1 -1
- package/dist/collection/components/linked/linked.component.js +507 -333
- package/dist/collection/components/linked/linked.component.js.map +1 -1
- package/dist/collection/components/linked/linked.css +1 -1
- package/dist/collection/components/modal/modal.component.js +137 -34
- package/dist/collection/components/modal/modal.component.js.map +1 -1
- package/dist/collection/components/modal/modal.css +1 -1
- package/dist/collection/components/pop-confirm/pop-confirm.component.js +668 -294
- package/dist/collection/components/pop-confirm/pop-confirm.component.js.map +1 -1
- package/dist/collection/components/pop-confirm/pop-confirm.css +1 -1
- package/dist/collection/components/popover/popover.component.js +533 -148
- package/dist/collection/components/popover/popover.component.js.map +1 -1
- package/dist/collection/components/popover/popover.css +1 -1
- package/dist/collection/components/radio/radio.component.js +13 -13
- package/dist/collection/components/radio-group/radio-group.component.js +15 -15
- package/dist/collection/components/segmented-picker/segmented-picker-option.component.js +10 -10
- package/dist/collection/components/segmented-picker/segmented-picker-option.component.js.map +1 -1
- package/dist/collection/components/segmented-picker/segmented-picker.component.js +7 -7
- package/dist/collection/components/segmented-picker/segmented-picker.component.js.map +1 -1
- package/dist/collection/components/shortcut/shortcut.js +4 -4
- package/dist/collection/components/switch/switch.component.js +17 -17
- package/dist/collection/components/switch/switch.css +1 -1
- package/dist/collection/components/tabs/tabs-content.component.js +3 -3
- package/dist/collection/components/tabs/tabs-list.component.js +3 -3
- package/dist/collection/components/tabs/tabs-trigger.component.js +8 -8
- package/dist/collection/components/tabs/tabs.component.js +6 -6
- package/dist/collection/components/tabs/tabs.component.js.map +1 -1
- package/dist/collection/components/text/text.component.js +6 -6
- package/dist/collection/components/text/text.css +1 -1
- package/dist/collection/components/textarea/textarea.component.js +39 -40
- package/dist/collection/components/textarea/textarea.component.js.map +1 -1
- package/dist/collection/components/tooltip/tooltip.component.js +567 -192
- package/dist/collection/components/tooltip/tooltip.component.js.map +1 -1
- package/dist/collection/components/tooltip/tooltip.css +1 -1
- package/dist/components/bcm-accordion-group.js +5 -3
- package/dist/components/bcm-accordion-group.js.map +1 -1
- package/dist/components/bcm-accordion.js +6 -4
- package/dist/components/bcm-accordion.js.map +1 -1
- package/dist/components/bcm-alert.js +6 -4
- package/dist/components/bcm-alert.js.map +1 -1
- package/dist/components/bcm-avatar.js +5 -3
- package/dist/components/bcm-avatar.js.map +1 -1
- package/dist/components/bcm-badge.js +1 -1
- package/dist/components/bcm-basic-badge.js +6 -4
- package/dist/components/bcm-basic-badge.js.map +1 -1
- package/dist/components/bcm-button-group.js +6 -4
- package/dist/components/bcm-button-group.js.map +1 -1
- package/dist/components/bcm-button.js +1 -1
- package/dist/components/bcm-checkbox.js +11 -4
- package/dist/components/bcm-checkbox.js.map +1 -1
- package/dist/components/bcm-chip.js +5 -3
- package/dist/components/bcm-chip.js.map +1 -1
- package/dist/components/bcm-divider.js +6 -4
- package/dist/components/bcm-divider.js.map +1 -1
- package/dist/components/bcm-drawer.js +228 -115
- package/dist/components/bcm-drawer.js.map +1 -1
- package/dist/components/bcm-dropdown-item.js +7 -5
- package/dist/components/bcm-dropdown-item.js.map +1 -1
- package/dist/components/bcm-dropdown.js +8 -15
- package/dist/components/bcm-dropdown.js.map +1 -1
- package/dist/components/bcm-input.js +7 -5
- package/dist/components/bcm-input.js.map +1 -1
- package/dist/components/bcm-linked.js +1 -1
- package/dist/components/bcm-modal.js +56 -4
- package/dist/components/bcm-modal.js.map +1 -1
- package/dist/components/bcm-pop-confirm.js +278 -171
- package/dist/components/bcm-pop-confirm.js.map +1 -1
- package/dist/components/bcm-popover.js +355 -110
- package/dist/components/bcm-popover.js.map +1 -1
- package/dist/components/bcm-radio-group.js +6 -4
- package/dist/components/bcm-radio-group.js.map +1 -1
- package/dist/components/bcm-radio.js +5 -3
- package/dist/components/bcm-radio.js.map +1 -1
- package/dist/components/bcm-segmented-picker-option.js +6 -4
- package/dist/components/bcm-segmented-picker-option.js.map +1 -1
- package/dist/components/bcm-segmented-picker.js +6 -4
- package/dist/components/bcm-segmented-picker.js.map +1 -1
- package/dist/components/bcm-shortcut.js +5 -3
- package/dist/components/bcm-shortcut.js.map +1 -1
- package/dist/components/bcm-switch.js +7 -5
- package/dist/components/bcm-switch.js.map +1 -1
- package/dist/components/bcm-tabs-content.js +5 -3
- package/dist/components/bcm-tabs-content.js.map +1 -1
- package/dist/components/bcm-tabs-list.js +5 -3
- package/dist/components/bcm-tabs-list.js.map +1 -1
- package/dist/components/bcm-tabs-trigger.js +5 -3
- package/dist/components/bcm-tabs-trigger.js.map +1 -1
- package/dist/components/bcm-tabs.js +5 -3
- package/dist/components/bcm-tabs.js.map +1 -1
- package/dist/components/bcm-text.js +6 -4
- package/dist/components/bcm-text.js.map +1 -1
- package/dist/components/bcm-textarea.js +7 -5
- package/dist/components/bcm-textarea.js.map +1 -1
- package/dist/components/bcm-tooltip.js +364 -127
- package/dist/components/bcm-tooltip.js.map +1 -1
- package/dist/components/index.js +41 -366
- package/dist/components/index.js.map +1 -1
- package/dist/components/p-6VLsKZvR.js +469 -0
- package/dist/components/p-6VLsKZvR.js.map +1 -0
- package/dist/components/p-BfTCfPZ1.js.map +1 -1
- package/dist/components/p-CEcVC0yX.js.map +1 -1
- package/dist/components/{p-CQF7wlXf.js → p-CaemikSK.js} +8 -6
- package/dist/components/p-CaemikSK.js.map +1 -0
- package/dist/components/{p-DGlecSBr.js → p-CsIBm0J5.js} +9 -7
- package/dist/components/p-CsIBm0J5.js.map +1 -0
- package/dist/components/{p-CzcTU1ty.js → p-DBDSgIvP.js} +40 -23
- package/dist/components/p-DBDSgIvP.js.map +1 -0
- package/dist/components/p-IBjzkjef.js.map +1 -1
- package/dist/esm/bcm-accordion-group.entry.js +2 -4
- package/dist/esm/bcm-accordion.entry.js +3 -5
- package/dist/esm/bcm-accordion.entry.js.map +1 -1
- package/dist/esm/bcm-alert.entry.js +3 -5
- package/dist/esm/bcm-alert.entry.js.map +1 -1
- package/dist/esm/bcm-avatar.entry.js +1 -3
- package/dist/esm/bcm-badge.entry.js +3 -5
- package/dist/esm/bcm-basic-badge.entry.js +3 -5
- package/dist/esm/bcm-button-group.entry.js +3 -5
- package/dist/esm/bcm-button.bcm-drawer.bcm-linked.bcm-modal.bcm-pop-confirm.bcm-popover.bcm-tooltip.entry.js.map +1 -0
- package/dist/esm/bcm-button_7.entry.js +4123 -0
- package/dist/esm/bcm-checkbox.entry.js +7 -5
- package/dist/esm/bcm-checkbox.entry.js.map +1 -1
- package/dist/esm/bcm-chip.entry.js +125 -0
- package/dist/esm/bcm-chip.entry.js.map +1 -0
- package/dist/esm/bcm-divider.entry.js +3 -5
- package/dist/esm/bcm-divider.entry.js.map +1 -1
- package/dist/esm/bcm-dropdown-item.entry.js +3 -5
- package/dist/esm/bcm-dropdown.entry.js +3 -13
- package/dist/esm/bcm-dropdown.entry.js.map +1 -1
- package/dist/esm/bcm-input.entry.js +4 -6
- package/dist/esm/bcm-input.entry.js.map +1 -1
- package/dist/esm/bcm-radio-group.entry.js +3 -5
- package/dist/esm/bcm-radio.entry.js +2 -4
- package/dist/esm/bcm-segmented-picker-option.entry.js +3 -5
- package/dist/esm/bcm-segmented-picker-option.entry.js.map +1 -1
- package/dist/esm/bcm-segmented-picker.entry.js +3 -5
- package/dist/esm/bcm-segmented-picker.entry.js.map +1 -1
- package/dist/esm/bcm-shortcut.entry.js +2 -4
- package/dist/esm/bcm-switch.entry.js +4 -6
- package/dist/esm/bcm-switch.entry.js.map +1 -1
- package/dist/esm/bcm-tabs-content.entry.js +2 -4
- package/dist/esm/bcm-tabs-list.entry.js +2 -4
- package/dist/esm/bcm-tabs-trigger.entry.js +2 -4
- package/dist/esm/bcm-tabs.entry.js +2 -4
- package/dist/esm/bcm-tabs.entry.js.map +1 -1
- package/dist/esm/bcm-text.entry.js +3 -5
- package/dist/esm/bcm-text.entry.js.map +1 -1
- package/dist/esm/bcm-textarea.entry.js +4 -6
- package/dist/esm/bromcom-ui.js +4 -6
- package/dist/esm/bromcom-ui.js.map +1 -1
- package/dist/esm/generate-id-IBjzkjef.js.map +1 -1
- package/dist/esm/index-BfTCfPZ1.js.map +1 -1
- package/dist/esm/{index-BuuGCw0z.js → index-CRwAh9Np.js} +62 -372
- package/dist/esm/index-CRwAh9Np.js.map +1 -0
- package/dist/esm/index.js +0 -2
- package/dist/esm/loader.js +3 -5
- package/dist/esm/tv-CEcVC0yX.js.map +1 -1
- package/dist/types/components/accordion-group/types.d.ts +2 -2
- package/dist/types/components/checkbox/checkbox.component.d.ts +4 -0
- package/dist/types/components/drawer/drawer.component.d.ts +143 -3
- package/dist/types/components/drawer/types.d.ts +1 -1
- package/dist/types/components/dropdown/dropdown.component.d.ts +0 -3
- package/dist/types/components/linked/linked.component.d.ts +152 -36
- package/dist/types/components/modal/modal.component.d.ts +121 -0
- package/dist/types/components/pop-confirm/pop-confirm.component.d.ts +263 -143
- package/dist/types/components/popover/popover.component.d.ts +94 -39
- package/dist/types/components/tooltip/tooltip.component.d.ts +147 -56
- package/dist/types/components.d.ts +1579 -359
- package/dist/types/stencil-public-runtime.d.ts +50 -3
- package/package.json +1 -1
- package/dist/bromcom-ui/bcm-button.bcm-chip.bcm-drawer.bcm-modal.entry.esm.js.map +0 -1
- package/dist/bromcom-ui/bcm-linked.entry.esm.js.map +0 -1
- package/dist/bromcom-ui/bcm-pop-confirm.entry.esm.js.map +0 -1
- package/dist/bromcom-ui/bcm-popover.entry.esm.js.map +0 -1
- package/dist/bromcom-ui/bcm-tooltip.entry.esm.js.map +0 -1
- package/dist/bromcom-ui/p-0101b4f2.entry.js.map +0 -1
- package/dist/bromcom-ui/p-089edfdc.entry.js.map +0 -1
- package/dist/bromcom-ui/p-08bc93c5.entry.js +0 -2
- package/dist/bromcom-ui/p-08bc93c5.entry.js.map +0 -1
- package/dist/bromcom-ui/p-09be61c3.entry.js +0 -2
- package/dist/bromcom-ui/p-09be61c3.entry.js.map +0 -1
- package/dist/bromcom-ui/p-211ca6e0.entry.js.map +0 -1
- package/dist/bromcom-ui/p-2480e468.entry.js.map +0 -1
- package/dist/bromcom-ui/p-26d2db9e.entry.js.map +0 -1
- package/dist/bromcom-ui/p-2d0a6472.entry.js +0 -2
- package/dist/bromcom-ui/p-2d0a6472.entry.js.map +0 -1
- package/dist/bromcom-ui/p-360bff8a.entry.js.map +0 -1
- package/dist/bromcom-ui/p-488d6ef4.entry.js.map +0 -1
- package/dist/bromcom-ui/p-5e0702d1.entry.js.map +0 -1
- package/dist/bromcom-ui/p-6169490c.entry.js +0 -2
- package/dist/bromcom-ui/p-6169490c.entry.js.map +0 -1
- package/dist/bromcom-ui/p-6b585adc.entry.js.map +0 -1
- package/dist/bromcom-ui/p-6d7d73d5.entry.js +0 -2
- package/dist/bromcom-ui/p-6d7d73d5.entry.js.map +0 -1
- package/dist/bromcom-ui/p-7234af90.entry.js +0 -2
- package/dist/bromcom-ui/p-7234af90.entry.js.map +0 -1
- package/dist/bromcom-ui/p-83f64814.entry.js.map +0 -1
- package/dist/bromcom-ui/p-84677827.entry.js +0 -2
- package/dist/bromcom-ui/p-84677827.entry.js.map +0 -1
- package/dist/bromcom-ui/p-8ace5a6a.entry.js.map +0 -1
- package/dist/bromcom-ui/p-8d74249a.entry.js +0 -2
- package/dist/bromcom-ui/p-8d74249a.entry.js.map +0 -1
- package/dist/bromcom-ui/p-BuuGCw0z.js +0 -3
- package/dist/bromcom-ui/p-BuuGCw0z.js.map +0 -1
- package/dist/bromcom-ui/p-DxMLMJ3r.js +0 -2
- package/dist/bromcom-ui/p-DxMLMJ3r.js.map +0 -1
- package/dist/bromcom-ui/p-a88f20e0.entry.js.map +0 -1
- package/dist/bromcom-ui/p-bad299f2.entry.js +0 -2
- package/dist/bromcom-ui/p-bad299f2.entry.js.map +0 -1
- package/dist/bromcom-ui/p-bdaf5653.entry.js.map +0 -1
- package/dist/bromcom-ui/p-c0e7f9d6.entry.js.map +0 -1
- package/dist/bromcom-ui/p-c34f0a66.entry.js.map +0 -1
- package/dist/bromcom-ui/p-c9cf3f14.entry.js +0 -2
- package/dist/bromcom-ui/p-c9cf3f14.entry.js.map +0 -1
- package/dist/bromcom-ui/p-d7cea19f.entry.js +0 -2
- package/dist/bromcom-ui/p-d7cea19f.entry.js.map +0 -1
- package/dist/bromcom-ui/p-e5e0ac07.entry.js +0 -2
- package/dist/bromcom-ui/p-e5e0ac07.entry.js.map +0 -1
- package/dist/bromcom-ui/p-ee5f877f.entry.js.map +0 -1
- package/dist/bromcom-ui/p-fbccbffc.entry.js +0 -2
- package/dist/bromcom-ui/p-fbccbffc.entry.js.map +0 -1
- package/dist/cjs/bcm-accordion-group.cjs.entry.js.map +0 -1
- package/dist/cjs/bcm-accordion.cjs.entry.js.map +0 -1
- package/dist/cjs/bcm-alert.cjs.entry.js.map +0 -1
- package/dist/cjs/bcm-avatar.cjs.entry.js.map +0 -1
- package/dist/cjs/bcm-badge.cjs.entry.js.map +0 -1
- package/dist/cjs/bcm-basic-badge.cjs.entry.js.map +0 -1
- package/dist/cjs/bcm-button-group.cjs.entry.js.map +0 -1
- package/dist/cjs/bcm-button.bcm-chip.bcm-drawer.bcm-modal.entry.cjs.js.map +0 -1
- package/dist/cjs/bcm-button_4.cjs.entry.js +0 -915
- package/dist/cjs/bcm-button_4.cjs.entry.js.map +0 -1
- package/dist/cjs/bcm-checkbox.cjs.entry.js.map +0 -1
- package/dist/cjs/bcm-divider.cjs.entry.js.map +0 -1
- package/dist/cjs/bcm-dropdown-item.cjs.entry.js.map +0 -1
- package/dist/cjs/bcm-dropdown.cjs.entry.js.map +0 -1
- package/dist/cjs/bcm-input.cjs.entry.js.map +0 -1
- package/dist/cjs/bcm-linked.cjs.entry.js +0 -343
- package/dist/cjs/bcm-linked.cjs.entry.js.map +0 -1
- package/dist/cjs/bcm-linked.entry.cjs.js.map +0 -1
- package/dist/cjs/bcm-pop-confirm.cjs.entry.js +0 -250
- package/dist/cjs/bcm-pop-confirm.cjs.entry.js.map +0 -1
- package/dist/cjs/bcm-pop-confirm.entry.cjs.js.map +0 -1
- package/dist/cjs/bcm-popover.cjs.entry.js +0 -189
- package/dist/cjs/bcm-popover.cjs.entry.js.map +0 -1
- package/dist/cjs/bcm-popover.entry.cjs.js.map +0 -1
- package/dist/cjs/bcm-radio-group.cjs.entry.js.map +0 -1
- package/dist/cjs/bcm-radio.cjs.entry.js.map +0 -1
- package/dist/cjs/bcm-segmented-picker-option.cjs.entry.js.map +0 -1
- package/dist/cjs/bcm-segmented-picker.cjs.entry.js.map +0 -1
- package/dist/cjs/bcm-shortcut.cjs.entry.js.map +0 -1
- package/dist/cjs/bcm-switch.cjs.entry.js.map +0 -1
- package/dist/cjs/bcm-tabs-content.cjs.entry.js.map +0 -1
- package/dist/cjs/bcm-tabs-list.cjs.entry.js.map +0 -1
- package/dist/cjs/bcm-tabs-trigger.cjs.entry.js.map +0 -1
- package/dist/cjs/bcm-tabs.cjs.entry.js.map +0 -1
- package/dist/cjs/bcm-text.cjs.entry.js.map +0 -1
- package/dist/cjs/bcm-textarea.cjs.entry.js.map +0 -1
- package/dist/cjs/bcm-tooltip.cjs.entry.js +0 -180
- package/dist/cjs/bcm-tooltip.cjs.entry.js.map +0 -1
- package/dist/cjs/bcm-tooltip.entry.cjs.js.map +0 -1
- package/dist/cjs/floating-ui.dom-DyKmFgkP.js +0 -1605
- package/dist/cjs/floating-ui.dom-DyKmFgkP.js.map +0 -1
- package/dist/cjs/index-BtiU-G2W.js.map +0 -1
- package/dist/components/p-BHwftRkk.js +0 -379
- package/dist/components/p-BHwftRkk.js.map +0 -1
- package/dist/components/p-CQF7wlXf.js.map +0 -1
- package/dist/components/p-CzcTU1ty.js.map +0 -1
- package/dist/components/p-DGlecSBr.js.map +0 -1
- package/dist/esm/bcm-button.bcm-chip.bcm-drawer.bcm-modal.entry.js.map +0 -1
- package/dist/esm/bcm-button_4.entry.js +0 -910
- package/dist/esm/bcm-button_4.entry.js.map +0 -1
- package/dist/esm/bcm-linked.entry.js +0 -341
- package/dist/esm/bcm-linked.entry.js.map +0 -1
- package/dist/esm/bcm-pop-confirm.entry.js +0 -248
- package/dist/esm/bcm-pop-confirm.entry.js.map +0 -1
- package/dist/esm/bcm-popover.entry.js +0 -187
- package/dist/esm/bcm-popover.entry.js.map +0 -1
- package/dist/esm/bcm-tooltip.entry.js +0 -178
- package/dist/esm/bcm-tooltip.entry.js.map +0 -1
- package/dist/esm/floating-ui.dom-DxMLMJ3r.js +0 -1598
- package/dist/esm/floating-ui.dom-DxMLMJ3r.js.map +0 -1
- package/dist/esm/index-BuuGCw0z.js.map +0 -1
|
@@ -1,56 +1,128 @@
|
|
|
1
1
|
import { h, Host } from "@stencil/core";
|
|
2
|
-
import { computePosition, shift, offset, autoUpdate, flip } from "@floating-ui/dom";
|
|
2
|
+
import { computePosition, shift, offset, autoUpdate, flip, arrow } from "@floating-ui/dom";
|
|
3
|
+
import { tv } from "../../utils/tv";
|
|
4
|
+
/**
|
|
5
|
+
* @component BcmLinked
|
|
6
|
+
* @description A flexible linked floating element component that displays contextual content relative to a trigger element.
|
|
7
|
+
* Built on the native Popover API for top-layer rendering and Floating UI for intelligent positioning.
|
|
8
|
+
* Supports different trigger types (click, hover, focus, manual) and comprehensive event system.
|
|
9
|
+
*
|
|
10
|
+
* @example Basic Click Trigger
|
|
11
|
+
* <bcm-linked trigger="click">
|
|
12
|
+
* <button slot="trigger">Click Me</button>
|
|
13
|
+
* <div>Floating content here</div>
|
|
14
|
+
* </bcm-linked>
|
|
15
|
+
*
|
|
16
|
+
* @example Hover Trigger with Delays
|
|
17
|
+
* <bcm-linked trigger="hover" show-delay="200" hide-delay="100">
|
|
18
|
+
* <span slot="trigger">Hover Me</span>
|
|
19
|
+
* <div>This appears on hover</div>
|
|
20
|
+
* </bcm-linked>
|
|
21
|
+
*
|
|
22
|
+
* @example Manual Control
|
|
23
|
+
* <bcm-linked id="my-linked" trigger="manual">
|
|
24
|
+
* <button slot="trigger">Trigger</button>
|
|
25
|
+
* <div>Controlled content</div>
|
|
26
|
+
* </bcm-linked>
|
|
27
|
+
* <script>
|
|
28
|
+
* const linked = document.querySelector('#my-linked');
|
|
29
|
+
* linked.show(); // Opens the floating element
|
|
30
|
+
* linked.hide(); // Closes the floating element
|
|
31
|
+
* </script>
|
|
32
|
+
*
|
|
33
|
+
* @slot trigger - The trigger element that controls the floating element visibility
|
|
34
|
+
* @slot - Default slot for the floating content
|
|
35
|
+
*
|
|
36
|
+
* @csspart floating - The floating container element
|
|
37
|
+
* @csspart arrow - The arrow element pointing to the trigger
|
|
38
|
+
* @csspart content - The content wrapper element
|
|
39
|
+
*/
|
|
3
40
|
export class BcmLinked {
|
|
4
41
|
constructor() {
|
|
5
|
-
//
|
|
42
|
+
// Unique ID for ARIA
|
|
43
|
+
this.componentId = `linked-${Math.random().toString(36).substring(2, 11)}`;
|
|
44
|
+
/**
|
|
45
|
+
* @prop {boolean} visible - Controls the visibility state of the floating element.
|
|
46
|
+
* Can be set programmatically or toggled by user interaction.
|
|
47
|
+
* Default: false
|
|
48
|
+
*/
|
|
49
|
+
this.visible = false;
|
|
50
|
+
/**
|
|
51
|
+
* @prop {TriggerType} trigger - Defines the interaction type to show/hide the floating element.
|
|
52
|
+
* 'click' toggles on click, 'hover' shows on mouse enter and hides on mouse leave,
|
|
53
|
+
* 'focus' shows on focus and hides on blur, 'manual' requires programmatic control.
|
|
54
|
+
* Default: 'click'
|
|
55
|
+
*/
|
|
6
56
|
this.trigger = 'click';
|
|
57
|
+
/**
|
|
58
|
+
* @prop {Placement} placement - Defines the position of the floating element relative to the trigger.
|
|
59
|
+
* Default: 'bottom-start'
|
|
60
|
+
*/
|
|
7
61
|
this.placement = 'bottom-start';
|
|
8
|
-
|
|
62
|
+
/**
|
|
63
|
+
* @prop {number} showDelay - Delay in milliseconds before showing the floating element.
|
|
64
|
+
* Default: 0
|
|
65
|
+
*/
|
|
9
66
|
this.showDelay = 0;
|
|
67
|
+
/**
|
|
68
|
+
* @prop {number} hideDelay - Delay in milliseconds before hiding the floating element.
|
|
69
|
+
* Default: 0
|
|
70
|
+
*/
|
|
10
71
|
this.hideDelay = 0;
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
72
|
+
/**
|
|
73
|
+
* @prop {number} offsetDistance - Distance in pixels between the floating element and the trigger.
|
|
74
|
+
* Default: 8
|
|
75
|
+
*/
|
|
76
|
+
this.offsetDistance = 8;
|
|
77
|
+
/**
|
|
78
|
+
* @prop {boolean} showArrow - Whether to show an arrow pointing to the trigger element.
|
|
79
|
+
* Default: true
|
|
80
|
+
*/
|
|
81
|
+
this.showArrow = true;
|
|
82
|
+
/**
|
|
83
|
+
* @prop {boolean} disabled - Disables the floating element, preventing it from showing.
|
|
84
|
+
* Default: false
|
|
85
|
+
*/
|
|
14
86
|
this.disabled = false;
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
87
|
+
/**
|
|
88
|
+
* @prop {boolean} closeOnOutsideClick - Whether to close when clicking outside.
|
|
89
|
+
* Default: true
|
|
90
|
+
*/
|
|
91
|
+
this.closeOnOutsideClick = true;
|
|
92
|
+
/**
|
|
93
|
+
* @prop {boolean} closeOnEscape - Whether to close when pressing Escape key.
|
|
94
|
+
* Default: true
|
|
95
|
+
*/
|
|
96
|
+
this.closeOnEscape = true;
|
|
97
|
+
// Internal state
|
|
20
98
|
this.isVisible = false;
|
|
21
|
-
this.
|
|
22
|
-
|
|
23
|
-
this.
|
|
24
|
-
if (
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
this.
|
|
99
|
+
this.handleTriggerSlotChange = () => {
|
|
100
|
+
var _a;
|
|
101
|
+
const slot = (_a = this.host.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('slot[name="trigger"]');
|
|
102
|
+
if (!slot)
|
|
103
|
+
return;
|
|
104
|
+
const elements = slot.assignedElements();
|
|
105
|
+
if (elements.length > 0) {
|
|
106
|
+
this.removeTriggerListeners();
|
|
107
|
+
this.triggerRef = elements[0];
|
|
108
|
+
this.setupTriggerListeners();
|
|
109
|
+
this.setupAriaAttributes();
|
|
29
110
|
}
|
|
30
111
|
};
|
|
112
|
+
this.handleMouseEnter = () => {
|
|
113
|
+
this.show();
|
|
114
|
+
};
|
|
31
115
|
this.handleMouseLeave = () => {
|
|
32
|
-
this.
|
|
33
|
-
if (this.hideDelay > 0) {
|
|
34
|
-
this.hideTimeout = setTimeout(() => this.hide(), this.hideDelay);
|
|
35
|
-
}
|
|
36
|
-
else {
|
|
37
|
-
this.hide();
|
|
38
|
-
}
|
|
116
|
+
this.hide();
|
|
39
117
|
};
|
|
40
118
|
this.handleFloatingMouseEnter = () => {
|
|
41
119
|
this.clearTimeouts();
|
|
42
120
|
};
|
|
43
121
|
this.handleFloatingMouseLeave = () => {
|
|
44
|
-
this.
|
|
45
|
-
if (this.hideDelay > 0) {
|
|
46
|
-
this.hideTimeout = setTimeout(() => this.hide(), this.hideDelay);
|
|
47
|
-
}
|
|
48
|
-
else {
|
|
49
|
-
this.hide();
|
|
50
|
-
}
|
|
122
|
+
this.hide();
|
|
51
123
|
};
|
|
52
|
-
this.
|
|
53
|
-
|
|
124
|
+
this.handleTriggerClick = (event) => {
|
|
125
|
+
event.stopPropagation();
|
|
54
126
|
this.toggle();
|
|
55
127
|
};
|
|
56
128
|
this.handleFocus = () => {
|
|
@@ -59,156 +131,229 @@ export class BcmLinked {
|
|
|
59
131
|
this.handleBlur = () => {
|
|
60
132
|
this.hide();
|
|
61
133
|
};
|
|
134
|
+
this.handleOutsideClick = (event) => {
|
|
135
|
+
var _a;
|
|
136
|
+
if (!this.closeOnOutsideClick || !this.visible)
|
|
137
|
+
return;
|
|
138
|
+
const target = event.target;
|
|
139
|
+
const path = event.composedPath();
|
|
140
|
+
const isInsideHost = this.host.contains(target) || path.includes(this.host);
|
|
141
|
+
const isInsideFloating = ((_a = this.floatingRef) === null || _a === void 0 ? void 0 : _a.contains(target)) || (this.floatingRef && path.includes(this.floatingRef));
|
|
142
|
+
if (!isInsideHost && !isInsideFloating) {
|
|
143
|
+
this.hide();
|
|
144
|
+
}
|
|
145
|
+
};
|
|
146
|
+
this.handleToggle = (event) => {
|
|
147
|
+
if (event.newState === 'open' && !this.isVisible) {
|
|
148
|
+
this.isVisible = true;
|
|
149
|
+
}
|
|
150
|
+
else if (event.newState === 'closed' && this.isVisible) {
|
|
151
|
+
this.isVisible = false;
|
|
152
|
+
}
|
|
153
|
+
};
|
|
154
|
+
this.linkedClass = tv({
|
|
155
|
+
slots: {
|
|
156
|
+
wrapper: 'inline-block',
|
|
157
|
+
floating: ['bcm-ui-element', 'fixed', 'bg-color-basic-base', 'rounded-md', 'shadow-lg', 'border', 'border-color-basic-subtle'],
|
|
158
|
+
arrow: ['absolute', 'w-2', 'h-2', 'bg-color-basic-base', 'border', 'border-color-basic-subtle', 'rotate-45'],
|
|
159
|
+
content: 'bg-color-basic-base',
|
|
160
|
+
},
|
|
161
|
+
});
|
|
62
162
|
}
|
|
63
|
-
// Watch for changes
|
|
64
|
-
|
|
65
|
-
this.
|
|
66
|
-
|
|
67
|
-
}
|
|
68
|
-
onVisibilityChange(newValue) {
|
|
163
|
+
// Watch for visibility prop changes
|
|
164
|
+
handleVisibleChange(newValue) {
|
|
165
|
+
if (this.disabled)
|
|
166
|
+
return;
|
|
69
167
|
if (newValue) {
|
|
70
|
-
this.
|
|
71
|
-
this.bcmShown.emit();
|
|
168
|
+
this.showInternal();
|
|
72
169
|
}
|
|
73
170
|
else {
|
|
74
|
-
this.
|
|
171
|
+
this.hideInternal();
|
|
75
172
|
}
|
|
76
173
|
}
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
this.floatingEl = this.host.querySelector('.floating-content');
|
|
81
|
-
if (this.floatingEl) {
|
|
82
|
-
this.isReady = true;
|
|
83
|
-
this.connectTarget();
|
|
84
|
-
this.setupFloatingObserver();
|
|
85
|
-
console.log('✅ bcm-linked initialized successfully');
|
|
174
|
+
handleDisabledChange(isDisabled) {
|
|
175
|
+
if (isDisabled && this.visible) {
|
|
176
|
+
this.hide();
|
|
86
177
|
}
|
|
87
|
-
|
|
88
|
-
|
|
178
|
+
}
|
|
179
|
+
handlePositionPropsChange() {
|
|
180
|
+
if (this.visible) {
|
|
181
|
+
this.updatePosition();
|
|
89
182
|
}
|
|
90
183
|
}
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
this.
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
184
|
+
// Internal show logic
|
|
185
|
+
showInternal() {
|
|
186
|
+
var _a;
|
|
187
|
+
if (!this.floatingRef || this.disabled)
|
|
188
|
+
return;
|
|
189
|
+
this.bcmShow.emit();
|
|
190
|
+
this.isVisible = true;
|
|
191
|
+
this.floatingRef.showPopover();
|
|
192
|
+
this.startAutoUpdate();
|
|
193
|
+
this.updatePosition();
|
|
194
|
+
(_a = this.triggerRef) === null || _a === void 0 ? void 0 : _a.setAttribute('aria-expanded', 'true');
|
|
195
|
+
if (this.closeOnOutsideClick && this.trigger !== 'manual') {
|
|
196
|
+
this.addOutsideClickListener();
|
|
100
197
|
}
|
|
198
|
+
// Emit bcmShown after animation
|
|
199
|
+
requestAnimationFrame(() => {
|
|
200
|
+
this.bcmShown.emit();
|
|
201
|
+
});
|
|
101
202
|
}
|
|
102
|
-
|
|
103
|
-
|
|
203
|
+
// Internal hide logic
|
|
204
|
+
hideInternal() {
|
|
205
|
+
var _a;
|
|
206
|
+
if (!this.floatingRef)
|
|
104
207
|
return;
|
|
105
|
-
|
|
106
|
-
this.
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
208
|
+
this.bcmHide.emit();
|
|
209
|
+
this.isVisible = false;
|
|
210
|
+
this.floatingRef.hidePopover();
|
|
211
|
+
this.stopAutoUpdate();
|
|
212
|
+
(_a = this.triggerRef) === null || _a === void 0 ? void 0 : _a.setAttribute('aria-expanded', 'false');
|
|
213
|
+
this.removeOutsideClickListener();
|
|
214
|
+
// Emit bcmHidden after animation
|
|
215
|
+
setTimeout(() => {
|
|
216
|
+
this.bcmHidden.emit();
|
|
217
|
+
}, 150);
|
|
218
|
+
}
|
|
219
|
+
/**
|
|
220
|
+
* Programmatically shows the floating element.
|
|
221
|
+
* Respects the showDelay prop.
|
|
222
|
+
*/
|
|
223
|
+
async show() {
|
|
224
|
+
if (this.visible || this.disabled)
|
|
110
225
|
return;
|
|
226
|
+
this.clearTimeouts();
|
|
227
|
+
if (this.showDelay > 0) {
|
|
228
|
+
this.showTimeout = window.setTimeout(() => {
|
|
229
|
+
this.bcmBeforeShow.emit();
|
|
230
|
+
this.visible = true;
|
|
231
|
+
}, this.showDelay);
|
|
111
232
|
}
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
if (this.targetEl && this.floatingEl) {
|
|
116
|
-
this.cleanup = autoUpdate(this.targetEl, this.floatingEl, () => {
|
|
117
|
-
if (this.isVisible) {
|
|
118
|
-
this.updatePosition();
|
|
119
|
-
}
|
|
120
|
-
});
|
|
233
|
+
else {
|
|
234
|
+
this.bcmBeforeShow.emit();
|
|
235
|
+
this.visible = true;
|
|
121
236
|
}
|
|
122
|
-
// Setup resize observer for responsive positioning
|
|
123
|
-
this.resizeObserver = new ResizeObserver(() => {
|
|
124
|
-
if (this.isVisible) {
|
|
125
|
-
this.updatePosition();
|
|
126
|
-
}
|
|
127
|
-
});
|
|
128
|
-
this.resizeObserver.observe(this.floatingEl);
|
|
129
237
|
}
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
238
|
+
/**
|
|
239
|
+
* Programmatically hides the floating element.
|
|
240
|
+
* Respects the hideDelay prop.
|
|
241
|
+
*/
|
|
242
|
+
async hide() {
|
|
243
|
+
if (!this.visible)
|
|
244
|
+
return;
|
|
245
|
+
this.clearTimeouts();
|
|
246
|
+
if (this.hideDelay > 0) {
|
|
247
|
+
this.hideTimeout = window.setTimeout(() => {
|
|
248
|
+
this.bcmBeforeHide.emit();
|
|
249
|
+
this.visible = false;
|
|
250
|
+
}, this.hideDelay);
|
|
251
|
+
}
|
|
252
|
+
else {
|
|
253
|
+
this.bcmBeforeHide.emit();
|
|
254
|
+
this.visible = false;
|
|
255
|
+
}
|
|
256
|
+
}
|
|
257
|
+
/**
|
|
258
|
+
* Toggles the floating element visibility.
|
|
259
|
+
*/
|
|
260
|
+
async toggle() {
|
|
261
|
+
if (this.visible) {
|
|
262
|
+
await this.hide();
|
|
263
|
+
}
|
|
264
|
+
else {
|
|
265
|
+
await this.show();
|
|
266
|
+
}
|
|
267
|
+
}
|
|
268
|
+
/**
|
|
269
|
+
* Updates the position of the floating element.
|
|
270
|
+
* Useful when the trigger element moves or resizes.
|
|
271
|
+
*/
|
|
272
|
+
async updatePosition() {
|
|
273
|
+
await this.calculatePosition();
|
|
274
|
+
}
|
|
275
|
+
clearTimeouts() {
|
|
276
|
+
if (this.showTimeout) {
|
|
277
|
+
clearTimeout(this.showTimeout);
|
|
278
|
+
this.showTimeout = undefined;
|
|
279
|
+
}
|
|
280
|
+
if (this.hideTimeout) {
|
|
281
|
+
clearTimeout(this.hideTimeout);
|
|
282
|
+
this.hideTimeout = undefined;
|
|
134
283
|
}
|
|
135
|
-
(_a = this.cleanup) === null || _a === void 0 ? void 0 : _a.call(this);
|
|
136
|
-
(_b = this.resizeObserver) === null || _b === void 0 ? void 0 : _b.disconnect();
|
|
137
284
|
}
|
|
138
|
-
|
|
285
|
+
setupAriaAttributes() {
|
|
286
|
+
if (!this.triggerRef)
|
|
287
|
+
return;
|
|
288
|
+
this.triggerRef.setAttribute('aria-describedby', this.componentId);
|
|
289
|
+
this.triggerRef.setAttribute('aria-expanded', String(this.visible));
|
|
290
|
+
this.triggerRef.setAttribute('aria-haspopup', 'true');
|
|
291
|
+
}
|
|
292
|
+
setupTriggerListeners() {
|
|
139
293
|
var _a, _b;
|
|
140
|
-
if (!this.
|
|
294
|
+
if (!this.triggerRef || this.disabled)
|
|
141
295
|
return;
|
|
142
296
|
switch (this.trigger) {
|
|
143
297
|
case 'hover':
|
|
144
|
-
this.
|
|
145
|
-
this.
|
|
146
|
-
(_a = this.
|
|
147
|
-
(_b = this.
|
|
298
|
+
this.triggerRef.addEventListener('mouseenter', this.handleMouseEnter);
|
|
299
|
+
this.triggerRef.addEventListener('mouseleave', this.handleMouseLeave);
|
|
300
|
+
(_a = this.floatingRef) === null || _a === void 0 ? void 0 : _a.addEventListener('mouseenter', this.handleFloatingMouseEnter);
|
|
301
|
+
(_b = this.floatingRef) === null || _b === void 0 ? void 0 : _b.addEventListener('mouseleave', this.handleFloatingMouseLeave);
|
|
148
302
|
break;
|
|
149
303
|
case 'click':
|
|
150
|
-
this.
|
|
151
|
-
this.setupClickOutside();
|
|
304
|
+
this.triggerRef.addEventListener('click', this.handleTriggerClick);
|
|
152
305
|
break;
|
|
153
306
|
case 'focus':
|
|
154
|
-
this.
|
|
155
|
-
this.
|
|
307
|
+
this.triggerRef.addEventListener('focus', this.handleFocus);
|
|
308
|
+
this.triggerRef.addEventListener('blur', this.handleBlur);
|
|
309
|
+
break;
|
|
310
|
+
case 'manual':
|
|
311
|
+
// No automatic listeners
|
|
156
312
|
break;
|
|
157
313
|
}
|
|
158
314
|
}
|
|
159
|
-
|
|
315
|
+
removeTriggerListeners() {
|
|
160
316
|
var _a, _b;
|
|
161
|
-
if (!this.
|
|
317
|
+
if (!this.triggerRef)
|
|
162
318
|
return;
|
|
163
|
-
this.
|
|
164
|
-
this.
|
|
165
|
-
this.
|
|
166
|
-
this.
|
|
167
|
-
this.
|
|
168
|
-
(_a = this.
|
|
169
|
-
(_b = this.
|
|
170
|
-
this.removeClickOutside();
|
|
319
|
+
this.triggerRef.removeEventListener('mouseenter', this.handleMouseEnter);
|
|
320
|
+
this.triggerRef.removeEventListener('mouseleave', this.handleMouseLeave);
|
|
321
|
+
this.triggerRef.removeEventListener('click', this.handleTriggerClick);
|
|
322
|
+
this.triggerRef.removeEventListener('focus', this.handleFocus);
|
|
323
|
+
this.triggerRef.removeEventListener('blur', this.handleBlur);
|
|
324
|
+
(_a = this.floatingRef) === null || _a === void 0 ? void 0 : _a.removeEventListener('mouseenter', this.handleFloatingMouseEnter);
|
|
325
|
+
(_b = this.floatingRef) === null || _b === void 0 ? void 0 : _b.removeEventListener('mouseleave', this.handleFloatingMouseLeave);
|
|
171
326
|
}
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
327
|
+
handleKeyDown(event) {
|
|
328
|
+
var _a;
|
|
329
|
+
if (!this.closeOnEscape || !this.visible)
|
|
330
|
+
return;
|
|
331
|
+
if (event.key === 'Escape') {
|
|
332
|
+
const openLinked = Array.from(document.querySelectorAll('bcm-linked[visible]'));
|
|
333
|
+
const topLinked = openLinked[openLinked.length - 1];
|
|
334
|
+
if (topLinked === this.host) {
|
|
335
|
+
event.preventDefault();
|
|
177
336
|
this.hide();
|
|
337
|
+
(_a = this.triggerRef) === null || _a === void 0 ? void 0 : _a.focus();
|
|
178
338
|
}
|
|
179
|
-
};
|
|
180
|
-
document.addEventListener('click', this.clickOutsideHandler, true);
|
|
181
|
-
}
|
|
182
|
-
removeClickOutside() {
|
|
183
|
-
if (this.clickOutsideHandler) {
|
|
184
|
-
document.removeEventListener('click', this.clickOutsideHandler, true);
|
|
185
|
-
this.clickOutsideHandler = undefined;
|
|
186
339
|
}
|
|
187
340
|
}
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
}
|
|
193
|
-
if (this.hideTimeout) {
|
|
194
|
-
clearTimeout(this.hideTimeout);
|
|
195
|
-
this.hideTimeout = undefined;
|
|
196
|
-
}
|
|
341
|
+
addOutsideClickListener() {
|
|
342
|
+
setTimeout(() => {
|
|
343
|
+
document.addEventListener('click', this.handleOutsideClick, true);
|
|
344
|
+
}, 0);
|
|
197
345
|
}
|
|
198
|
-
|
|
199
|
-
|
|
346
|
+
removeOutsideClickListener() {
|
|
347
|
+
document.removeEventListener('click', this.handleOutsideClick, true);
|
|
348
|
+
}
|
|
349
|
+
async calculatePosition() {
|
|
350
|
+
if (!this.triggerRef || !this.floatingRef || !this.isVisible)
|
|
200
351
|
return;
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
const
|
|
205
|
-
offset(this.
|
|
206
|
-
// useAutoPlacement
|
|
207
|
-
// ? autoPlacement({
|
|
208
|
-
// allowedPlacements: ['bottom-start', 'bottom-end', 'bottom', 'top-start', 'top-end', 'top', 'right-start', 'right-end', 'right', 'left-start', 'left-end', 'left'],
|
|
209
|
-
// boundary: document.body,
|
|
210
|
-
// })
|
|
211
|
-
// :
|
|
352
|
+
const virtualElement = {
|
|
353
|
+
getBoundingClientRect: () => this.triggerRef.getBoundingClientRect(),
|
|
354
|
+
};
|
|
355
|
+
const middlewareList = [
|
|
356
|
+
offset(this.offsetDistance),
|
|
212
357
|
flip({
|
|
213
358
|
fallbackPlacements: ['top', 'bottom', 'left', 'right', 'top-start', 'top-end', 'bottom-start', 'bottom-end', 'left-start', 'left-end', 'right-start', 'right-end'],
|
|
214
359
|
}),
|
|
@@ -216,109 +361,88 @@ export class BcmLinked {
|
|
|
216
361
|
padding: 8,
|
|
217
362
|
}),
|
|
218
363
|
];
|
|
219
|
-
|
|
364
|
+
if (this.showArrow && this.arrowRef) {
|
|
365
|
+
middlewareList.push(arrow({ element: this.arrowRef }));
|
|
366
|
+
}
|
|
367
|
+
const { x, y, placement, middlewareData } = await computePosition(virtualElement, this.floatingRef, {
|
|
220
368
|
placement: this.placement,
|
|
221
|
-
middleware,
|
|
369
|
+
middleware: middlewareList,
|
|
222
370
|
strategy: 'fixed',
|
|
223
371
|
});
|
|
224
|
-
Object.assign(this.
|
|
372
|
+
Object.assign(this.floatingRef.style, {
|
|
225
373
|
left: `${x}px`,
|
|
226
374
|
top: `${y}px`,
|
|
227
|
-
zIndex: this.zIndex.toString(),
|
|
228
375
|
});
|
|
229
|
-
//
|
|
230
|
-
if (this.arrow) {
|
|
231
|
-
|
|
376
|
+
// Arrow positioning
|
|
377
|
+
if (this.showArrow && this.arrowRef && middlewareData.arrow) {
|
|
378
|
+
const { x: arrowX, y: arrowY } = middlewareData.arrow;
|
|
379
|
+
const staticSide = {
|
|
380
|
+
top: 'bottom',
|
|
381
|
+
right: 'left',
|
|
382
|
+
bottom: 'top',
|
|
383
|
+
left: 'right',
|
|
384
|
+
}[placement.split('-')[0]];
|
|
385
|
+
Object.assign(this.arrowRef.style, {
|
|
386
|
+
left: arrowX != null ? `${arrowX}px` : '',
|
|
387
|
+
top: arrowY != null ? `${arrowY}px` : '',
|
|
388
|
+
right: '',
|
|
389
|
+
bottom: '',
|
|
390
|
+
[staticSide]: '-4px',
|
|
391
|
+
});
|
|
232
392
|
}
|
|
393
|
+
this.floatingRef.setAttribute('data-placement', placement);
|
|
233
394
|
}
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
const arrow = (_a = this.floatingEl) === null || _a === void 0 ? void 0 : _a.querySelector('.floating-arrow');
|
|
237
|
-
if (!arrow)
|
|
395
|
+
startAutoUpdate() {
|
|
396
|
+
if (!this.triggerRef || !this.floatingRef)
|
|
238
397
|
return;
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
async show() {
|
|
246
|
-
if (this.disabled || this.isVisible)
|
|
247
|
-
return;
|
|
248
|
-
this.bcmShow.emit();
|
|
249
|
-
// Portalling: Move the floating element to the body
|
|
250
|
-
if (this.appendToBody && this.floatingEl) {
|
|
251
|
-
this.originalParent = this.floatingEl.parentNode;
|
|
252
|
-
this.originalNextSibling = this.floatingEl.nextSibling;
|
|
253
|
-
document.body.appendChild(this.floatingEl);
|
|
254
|
-
}
|
|
255
|
-
this.isVisible = true;
|
|
256
|
-
// Use requestAnimationFrame to ensure the element is visible before positioning
|
|
257
|
-
await new Promise(resolve => requestAnimationFrame(resolve));
|
|
258
|
-
await this.updatePosition();
|
|
398
|
+
this.cleanupAutoUpdate = autoUpdate(this.triggerRef, this.floatingRef, () => this.calculatePosition(), {
|
|
399
|
+
ancestorScroll: true,
|
|
400
|
+
ancestorResize: true,
|
|
401
|
+
elementResize: true,
|
|
402
|
+
layoutShift: true,
|
|
403
|
+
});
|
|
259
404
|
}
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
this.
|
|
264
|
-
this.isVisible = false;
|
|
265
|
-
// Portalling: Restore the floating element to its original position
|
|
266
|
-
if (this.appendToBody && this.floatingEl && this.originalParent) {
|
|
267
|
-
if (this.originalNextSibling) {
|
|
268
|
-
this.originalParent.insertBefore(this.floatingEl, this.originalNextSibling);
|
|
269
|
-
}
|
|
270
|
-
else {
|
|
271
|
-
this.originalParent.appendChild(this.floatingEl);
|
|
272
|
-
}
|
|
273
|
-
this.originalParent = undefined;
|
|
274
|
-
this.originalNextSibling = undefined;
|
|
275
|
-
}
|
|
276
|
-
if (this.destroyOnHide && this.floatingEl && this.floatingEl.parentNode) {
|
|
277
|
-
this.floatingEl.parentNode.removeChild(this.floatingEl);
|
|
278
|
-
}
|
|
405
|
+
stopAutoUpdate() {
|
|
406
|
+
var _a;
|
|
407
|
+
(_a = this.cleanupAutoUpdate) === null || _a === void 0 ? void 0 : _a.call(this);
|
|
408
|
+
this.cleanupAutoUpdate = undefined;
|
|
279
409
|
}
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
410
|
+
componentDidLoad() {
|
|
411
|
+
var _a;
|
|
412
|
+
// Toggle event listener (Popover API)
|
|
413
|
+
(_a = this.floatingRef) === null || _a === void 0 ? void 0 : _a.addEventListener('toggle', this.handleToggle);
|
|
414
|
+
// Initial trigger setup - manually trigger slot change handler
|
|
415
|
+
this.handleTriggerSlotChange();
|
|
416
|
+
// Initial state sync
|
|
417
|
+
if (this.visible) {
|
|
418
|
+
this.showInternal();
|
|
286
419
|
}
|
|
287
420
|
}
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
this.resizeObserver = new ResizeObserver(() => {
|
|
421
|
+
disconnectedCallback() {
|
|
422
|
+
this.clearTimeouts();
|
|
423
|
+
this.stopAutoUpdate();
|
|
424
|
+
this.removeTriggerListeners();
|
|
425
|
+
this.removeOutsideClickListener();
|
|
426
|
+
if (this.floatingRef) {
|
|
427
|
+
this.floatingRef.removeEventListener('toggle', this.handleToggle);
|
|
296
428
|
if (this.isVisible) {
|
|
297
|
-
|
|
429
|
+
try {
|
|
430
|
+
this.floatingRef.hidePopover();
|
|
431
|
+
}
|
|
432
|
+
catch (e) {
|
|
433
|
+
// Element might already be removed
|
|
434
|
+
}
|
|
298
435
|
}
|
|
299
|
-
}
|
|
300
|
-
this.resizeObserver.observe(this.floatingEl);
|
|
436
|
+
}
|
|
301
437
|
}
|
|
302
438
|
render() {
|
|
303
|
-
const
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
'
|
|
307
|
-
'floating-with-arrow': this.arrow,
|
|
308
|
-
'floating-destroy-on-hide': this.destroyOnHide,
|
|
309
|
-
};
|
|
310
|
-
return (h(Host, { key: 'f5835cc1b6044476e66402d23a3becf18d3f2049' }, h("div", { key: '2c7f92bbe85bc938a767734ef4b27702247fb390', class: floatingClasses, style: {
|
|
311
|
-
position: 'fixed',
|
|
312
|
-
top: '0px',
|
|
313
|
-
left: '0px',
|
|
314
|
-
zIndex: this.zIndex.toString(),
|
|
315
|
-
display: this.isVisible ? 'block' : 'none',
|
|
316
|
-
visibility: this.isVisible ? 'visible' : 'hidden',
|
|
317
|
-
opacity: this.isVisible ? '1' : '0',
|
|
318
|
-
pointerEvents: this.isVisible ? 'auto' : 'none',
|
|
319
|
-
} }, this.arrow && h("div", { key: 'f6eedac02b29b3ca00a9a84eea940ac89089f30c', class: "floating-arrow" }), h("div", { key: '7cb19f085de1d77a41fd9897be90999e78a0a54d', class: "floating-wrapper" }, h("slot", { key: 'a4b4289642850e3c2f7f27771b3d28bc41c8248a' }))), h("div", { key: '61cd7af9a4a47c87c308e1e67f96efb987c97312', style: { display: 'none' } }, h("slot", { key: '7160df275f5c7c66733158f95266598d0d207a17', name: "fallback" }))));
|
|
439
|
+
const { wrapper, floating, arrow, content } = this.linkedClass();
|
|
440
|
+
return (h(Host, { key: 'f58760b6589329f9eabc42f39b6503fad10cf330' }, h("div", { key: 'adb9003eec4ca786bdddc657ba28cbc0a80baf57', class: wrapper() }, h("slot", { key: '61323463e76c395668d02288e5bdcb44826a31ea', name: "trigger", onSlotchange: this.handleTriggerSlotChange }), h("div", { key: '3b395b18152cd302b4511ef89928374f33012594', ref: el => (this.floatingRef = el), id: this.componentId, part: "floating", class: floating(),
|
|
441
|
+
// @ts-ignore - popover is a valid HTML attribute
|
|
442
|
+
popover: "manual", role: "dialog" }, this.showArrow && h("div", { key: '3f5311d21f7fce74c94ac0435a8d2fc076036b10', ref: el => (this.arrowRef = el), part: "arrow", class: arrow() }), h("div", { key: 'ee41f30c7f73c113f129f938fd721476658b5744', part: "content", class: content() }, h("slot", { key: '106502e2f8db8fdc90412fcf59da40d2de377988' }))))));
|
|
320
443
|
}
|
|
321
444
|
static get is() { return "bcm-linked"; }
|
|
445
|
+
static get encapsulation() { return "shadow"; }
|
|
322
446
|
static get originalStyleUrls() {
|
|
323
447
|
return {
|
|
324
448
|
"$": ["linked.css"]
|
|
@@ -331,51 +455,31 @@ export class BcmLinked {
|
|
|
331
455
|
}
|
|
332
456
|
static get properties() {
|
|
333
457
|
return {
|
|
334
|
-
"
|
|
335
|
-
"type": "
|
|
336
|
-
"
|
|
337
|
-
"mutable": false,
|
|
458
|
+
"visible": {
|
|
459
|
+
"type": "boolean",
|
|
460
|
+
"mutable": true,
|
|
338
461
|
"complexType": {
|
|
339
|
-
"original": "
|
|
340
|
-
"resolved": "
|
|
462
|
+
"original": "boolean",
|
|
463
|
+
"resolved": "boolean",
|
|
341
464
|
"references": {}
|
|
342
465
|
},
|
|
343
466
|
"required": false,
|
|
344
|
-
"optional":
|
|
467
|
+
"optional": false,
|
|
345
468
|
"docs": {
|
|
346
|
-
"tags": [
|
|
469
|
+
"tags": [{
|
|
470
|
+
"name": "prop",
|
|
471
|
+
"text": "{boolean} visible - Controls the visibility state of the floating element.\nCan be set programmatically or toggled by user interaction.\nDefault: false"
|
|
472
|
+
}],
|
|
347
473
|
"text": ""
|
|
348
474
|
},
|
|
349
475
|
"getter": false,
|
|
350
476
|
"setter": false,
|
|
351
|
-
"reflect": true
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
"type": "unknown",
|
|
355
|
-
"attribute": "target-element",
|
|
356
|
-
"mutable": false,
|
|
357
|
-
"complexType": {
|
|
358
|
-
"original": "HTMLElement",
|
|
359
|
-
"resolved": "HTMLElement",
|
|
360
|
-
"references": {
|
|
361
|
-
"HTMLElement": {
|
|
362
|
-
"location": "global",
|
|
363
|
-
"id": "global::HTMLElement"
|
|
364
|
-
}
|
|
365
|
-
}
|
|
366
|
-
},
|
|
367
|
-
"required": false,
|
|
368
|
-
"optional": true,
|
|
369
|
-
"docs": {
|
|
370
|
-
"tags": [],
|
|
371
|
-
"text": ""
|
|
372
|
-
},
|
|
373
|
-
"getter": false,
|
|
374
|
-
"setter": false
|
|
477
|
+
"reflect": true,
|
|
478
|
+
"attribute": "visible",
|
|
479
|
+
"defaultValue": "false"
|
|
375
480
|
},
|
|
376
481
|
"trigger": {
|
|
377
482
|
"type": "string",
|
|
378
|
-
"attribute": "trigger",
|
|
379
483
|
"mutable": false,
|
|
380
484
|
"complexType": {
|
|
381
485
|
"original": "TriggerType",
|
|
@@ -391,17 +495,20 @@ export class BcmLinked {
|
|
|
391
495
|
"required": false,
|
|
392
496
|
"optional": false,
|
|
393
497
|
"docs": {
|
|
394
|
-
"tags": [
|
|
498
|
+
"tags": [{
|
|
499
|
+
"name": "prop",
|
|
500
|
+
"text": "{TriggerType} trigger - Defines the interaction type to show/hide the floating element.\n'click' toggles on click, 'hover' shows on mouse enter and hides on mouse leave,\n'focus' shows on focus and hides on blur, 'manual' requires programmatic control.\nDefault: 'click'"
|
|
501
|
+
}],
|
|
395
502
|
"text": ""
|
|
396
503
|
},
|
|
397
504
|
"getter": false,
|
|
398
505
|
"setter": false,
|
|
399
506
|
"reflect": false,
|
|
507
|
+
"attribute": "trigger",
|
|
400
508
|
"defaultValue": "'click'"
|
|
401
509
|
},
|
|
402
510
|
"placement": {
|
|
403
511
|
"type": "string",
|
|
404
|
-
"attribute": "placement",
|
|
405
512
|
"mutable": false,
|
|
406
513
|
"complexType": {
|
|
407
514
|
"original": "Placement",
|
|
@@ -417,17 +524,20 @@ export class BcmLinked {
|
|
|
417
524
|
"required": false,
|
|
418
525
|
"optional": false,
|
|
419
526
|
"docs": {
|
|
420
|
-
"tags": [
|
|
527
|
+
"tags": [{
|
|
528
|
+
"name": "prop",
|
|
529
|
+
"text": "{Placement} placement - Defines the position of the floating element relative to the trigger.\nDefault: 'bottom-start'"
|
|
530
|
+
}],
|
|
421
531
|
"text": ""
|
|
422
532
|
},
|
|
423
533
|
"getter": false,
|
|
424
534
|
"setter": false,
|
|
425
535
|
"reflect": false,
|
|
536
|
+
"attribute": "placement",
|
|
426
537
|
"defaultValue": "'bottom-start'"
|
|
427
538
|
},
|
|
428
539
|
"showDelay": {
|
|
429
540
|
"type": "number",
|
|
430
|
-
"attribute": "show-delay",
|
|
431
541
|
"mutable": false,
|
|
432
542
|
"complexType": {
|
|
433
543
|
"original": "number",
|
|
@@ -437,17 +547,20 @@ export class BcmLinked {
|
|
|
437
547
|
"required": false,
|
|
438
548
|
"optional": false,
|
|
439
549
|
"docs": {
|
|
440
|
-
"tags": [
|
|
550
|
+
"tags": [{
|
|
551
|
+
"name": "prop",
|
|
552
|
+
"text": "{number} showDelay - Delay in milliseconds before showing the floating element.\nDefault: 0"
|
|
553
|
+
}],
|
|
441
554
|
"text": ""
|
|
442
555
|
},
|
|
443
556
|
"getter": false,
|
|
444
557
|
"setter": false,
|
|
445
558
|
"reflect": false,
|
|
559
|
+
"attribute": "show-delay",
|
|
446
560
|
"defaultValue": "0"
|
|
447
561
|
},
|
|
448
562
|
"hideDelay": {
|
|
449
563
|
"type": "number",
|
|
450
|
-
"attribute": "hide-delay",
|
|
451
564
|
"mutable": false,
|
|
452
565
|
"complexType": {
|
|
453
566
|
"original": "number",
|
|
@@ -457,17 +570,20 @@ export class BcmLinked {
|
|
|
457
570
|
"required": false,
|
|
458
571
|
"optional": false,
|
|
459
572
|
"docs": {
|
|
460
|
-
"tags": [
|
|
573
|
+
"tags": [{
|
|
574
|
+
"name": "prop",
|
|
575
|
+
"text": "{number} hideDelay - Delay in milliseconds before hiding the floating element.\nDefault: 0"
|
|
576
|
+
}],
|
|
461
577
|
"text": ""
|
|
462
578
|
},
|
|
463
579
|
"getter": false,
|
|
464
580
|
"setter": false,
|
|
465
581
|
"reflect": false,
|
|
582
|
+
"attribute": "hide-delay",
|
|
466
583
|
"defaultValue": "0"
|
|
467
584
|
},
|
|
468
|
-
"
|
|
585
|
+
"offsetDistance": {
|
|
469
586
|
"type": "number",
|
|
470
|
-
"attribute": "offset",
|
|
471
587
|
"mutable": false,
|
|
472
588
|
"complexType": {
|
|
473
589
|
"original": "number",
|
|
@@ -477,17 +593,20 @@ export class BcmLinked {
|
|
|
477
593
|
"required": false,
|
|
478
594
|
"optional": false,
|
|
479
595
|
"docs": {
|
|
480
|
-
"tags": [
|
|
596
|
+
"tags": [{
|
|
597
|
+
"name": "prop",
|
|
598
|
+
"text": "{number} offsetDistance - Distance in pixels between the floating element and the trigger.\nDefault: 8"
|
|
599
|
+
}],
|
|
481
600
|
"text": ""
|
|
482
601
|
},
|
|
483
602
|
"getter": false,
|
|
484
603
|
"setter": false,
|
|
485
604
|
"reflect": false,
|
|
605
|
+
"attribute": "offset-distance",
|
|
486
606
|
"defaultValue": "8"
|
|
487
607
|
},
|
|
488
|
-
"
|
|
608
|
+
"showArrow": {
|
|
489
609
|
"type": "boolean",
|
|
490
|
-
"attribute": "arrow",
|
|
491
610
|
"mutable": false,
|
|
492
611
|
"complexType": {
|
|
493
612
|
"original": "boolean",
|
|
@@ -497,17 +616,20 @@ export class BcmLinked {
|
|
|
497
616
|
"required": false,
|
|
498
617
|
"optional": false,
|
|
499
618
|
"docs": {
|
|
500
|
-
"tags": [
|
|
619
|
+
"tags": [{
|
|
620
|
+
"name": "prop",
|
|
621
|
+
"text": "{boolean} showArrow - Whether to show an arrow pointing to the trigger element.\nDefault: true"
|
|
622
|
+
}],
|
|
501
623
|
"text": ""
|
|
502
624
|
},
|
|
503
625
|
"getter": false,
|
|
504
626
|
"setter": false,
|
|
505
627
|
"reflect": false,
|
|
506
|
-
"
|
|
628
|
+
"attribute": "show-arrow",
|
|
629
|
+
"defaultValue": "true"
|
|
507
630
|
},
|
|
508
631
|
"disabled": {
|
|
509
632
|
"type": "boolean",
|
|
510
|
-
"attribute": "disabled",
|
|
511
633
|
"mutable": false,
|
|
512
634
|
"complexType": {
|
|
513
635
|
"original": "boolean",
|
|
@@ -517,37 +639,20 @@ export class BcmLinked {
|
|
|
517
639
|
"required": false,
|
|
518
640
|
"optional": false,
|
|
519
641
|
"docs": {
|
|
520
|
-
"tags": [
|
|
642
|
+
"tags": [{
|
|
643
|
+
"name": "prop",
|
|
644
|
+
"text": "{boolean} disabled - Disables the floating element, preventing it from showing.\nDefault: false"
|
|
645
|
+
}],
|
|
521
646
|
"text": ""
|
|
522
647
|
},
|
|
523
648
|
"getter": false,
|
|
524
649
|
"setter": false,
|
|
525
650
|
"reflect": false,
|
|
651
|
+
"attribute": "disabled",
|
|
526
652
|
"defaultValue": "false"
|
|
527
653
|
},
|
|
528
|
-
"
|
|
529
|
-
"type": "number",
|
|
530
|
-
"attribute": "z-index",
|
|
531
|
-
"mutable": false,
|
|
532
|
-
"complexType": {
|
|
533
|
-
"original": "number",
|
|
534
|
-
"resolved": "number",
|
|
535
|
-
"references": {}
|
|
536
|
-
},
|
|
537
|
-
"required": false,
|
|
538
|
-
"optional": false,
|
|
539
|
-
"docs": {
|
|
540
|
-
"tags": [],
|
|
541
|
-
"text": ""
|
|
542
|
-
},
|
|
543
|
-
"getter": false,
|
|
544
|
-
"setter": false,
|
|
545
|
-
"reflect": false,
|
|
546
|
-
"defaultValue": "1000"
|
|
547
|
-
},
|
|
548
|
-
"appendToBody": {
|
|
654
|
+
"closeOnOutsideClick": {
|
|
549
655
|
"type": "boolean",
|
|
550
|
-
"attribute": "append-to-body",
|
|
551
656
|
"mutable": false,
|
|
552
657
|
"complexType": {
|
|
553
658
|
"original": "boolean",
|
|
@@ -557,17 +662,20 @@ export class BcmLinked {
|
|
|
557
662
|
"required": false,
|
|
558
663
|
"optional": false,
|
|
559
664
|
"docs": {
|
|
560
|
-
"tags": [
|
|
665
|
+
"tags": [{
|
|
666
|
+
"name": "prop",
|
|
667
|
+
"text": "{boolean} closeOnOutsideClick - Whether to close when clicking outside.\nDefault: true"
|
|
668
|
+
}],
|
|
561
669
|
"text": ""
|
|
562
670
|
},
|
|
563
671
|
"getter": false,
|
|
564
672
|
"setter": false,
|
|
565
673
|
"reflect": false,
|
|
566
|
-
"
|
|
674
|
+
"attribute": "close-on-outside-click",
|
|
675
|
+
"defaultValue": "true"
|
|
567
676
|
},
|
|
568
|
-
"
|
|
677
|
+
"closeOnEscape": {
|
|
569
678
|
"type": "boolean",
|
|
570
|
-
"attribute": "destroy-on-hide",
|
|
571
679
|
"mutable": false,
|
|
572
680
|
"complexType": {
|
|
573
681
|
"original": "boolean",
|
|
@@ -577,31 +685,73 @@ export class BcmLinked {
|
|
|
577
685
|
"required": false,
|
|
578
686
|
"optional": false,
|
|
579
687
|
"docs": {
|
|
580
|
-
"tags": [
|
|
688
|
+
"tags": [{
|
|
689
|
+
"name": "prop",
|
|
690
|
+
"text": "{boolean} closeOnEscape - Whether to close when pressing Escape key.\nDefault: true"
|
|
691
|
+
}],
|
|
581
692
|
"text": ""
|
|
582
693
|
},
|
|
583
694
|
"getter": false,
|
|
584
695
|
"setter": false,
|
|
585
696
|
"reflect": false,
|
|
586
|
-
"
|
|
697
|
+
"attribute": "close-on-escape",
|
|
698
|
+
"defaultValue": "true"
|
|
587
699
|
}
|
|
588
700
|
};
|
|
589
701
|
}
|
|
590
702
|
static get states() {
|
|
591
703
|
return {
|
|
592
|
-
"isVisible": {}
|
|
593
|
-
"isReady": {}
|
|
704
|
+
"isVisible": {}
|
|
594
705
|
};
|
|
595
706
|
}
|
|
596
707
|
static get events() {
|
|
597
708
|
return [{
|
|
709
|
+
"method": "bcmBeforeShow",
|
|
710
|
+
"name": "bcmBeforeShow",
|
|
711
|
+
"bubbles": false,
|
|
712
|
+
"cancelable": true,
|
|
713
|
+
"composed": false,
|
|
714
|
+
"docs": {
|
|
715
|
+
"tags": [{
|
|
716
|
+
"name": "event",
|
|
717
|
+
"text": "bcmBeforeShow - Emitted before the floating element shows."
|
|
718
|
+
}],
|
|
719
|
+
"text": ""
|
|
720
|
+
},
|
|
721
|
+
"complexType": {
|
|
722
|
+
"original": "void",
|
|
723
|
+
"resolved": "void",
|
|
724
|
+
"references": {}
|
|
725
|
+
}
|
|
726
|
+
}, {
|
|
598
727
|
"method": "bcmShow",
|
|
599
728
|
"name": "bcmShow",
|
|
600
|
-
"bubbles":
|
|
729
|
+
"bubbles": false,
|
|
601
730
|
"cancelable": true,
|
|
602
|
-
"composed":
|
|
731
|
+
"composed": false,
|
|
603
732
|
"docs": {
|
|
604
|
-
"tags": [
|
|
733
|
+
"tags": [{
|
|
734
|
+
"name": "event",
|
|
735
|
+
"text": "bcmShow - Emitted when the floating element is shown."
|
|
736
|
+
}],
|
|
737
|
+
"text": ""
|
|
738
|
+
},
|
|
739
|
+
"complexType": {
|
|
740
|
+
"original": "void",
|
|
741
|
+
"resolved": "void",
|
|
742
|
+
"references": {}
|
|
743
|
+
}
|
|
744
|
+
}, {
|
|
745
|
+
"method": "bcmBeforeHide",
|
|
746
|
+
"name": "bcmBeforeHide",
|
|
747
|
+
"bubbles": false,
|
|
748
|
+
"cancelable": true,
|
|
749
|
+
"composed": false,
|
|
750
|
+
"docs": {
|
|
751
|
+
"tags": [{
|
|
752
|
+
"name": "event",
|
|
753
|
+
"text": "bcmBeforeHide - Emitted before the floating element hides."
|
|
754
|
+
}],
|
|
605
755
|
"text": ""
|
|
606
756
|
},
|
|
607
757
|
"complexType": {
|
|
@@ -612,11 +762,14 @@ export class BcmLinked {
|
|
|
612
762
|
}, {
|
|
613
763
|
"method": "bcmHide",
|
|
614
764
|
"name": "bcmHide",
|
|
615
|
-
"bubbles":
|
|
765
|
+
"bubbles": false,
|
|
616
766
|
"cancelable": true,
|
|
617
|
-
"composed":
|
|
767
|
+
"composed": false,
|
|
618
768
|
"docs": {
|
|
619
|
-
"tags": [
|
|
769
|
+
"tags": [{
|
|
770
|
+
"name": "event",
|
|
771
|
+
"text": "bcmHide - Emitted when the floating element is hidden."
|
|
772
|
+
}],
|
|
620
773
|
"text": ""
|
|
621
774
|
},
|
|
622
775
|
"complexType": {
|
|
@@ -627,11 +780,14 @@ export class BcmLinked {
|
|
|
627
780
|
}, {
|
|
628
781
|
"method": "bcmShown",
|
|
629
782
|
"name": "bcmShown",
|
|
630
|
-
"bubbles":
|
|
783
|
+
"bubbles": false,
|
|
631
784
|
"cancelable": true,
|
|
632
|
-
"composed":
|
|
785
|
+
"composed": false,
|
|
633
786
|
"docs": {
|
|
634
|
-
"tags": [
|
|
787
|
+
"tags": [{
|
|
788
|
+
"name": "event",
|
|
789
|
+
"text": "bcmShown - Emitted after the floating element is fully shown (after animation)."
|
|
790
|
+
}],
|
|
635
791
|
"text": ""
|
|
636
792
|
},
|
|
637
793
|
"complexType": {
|
|
@@ -642,11 +798,14 @@ export class BcmLinked {
|
|
|
642
798
|
}, {
|
|
643
799
|
"method": "bcmHidden",
|
|
644
800
|
"name": "bcmHidden",
|
|
645
|
-
"bubbles":
|
|
801
|
+
"bubbles": false,
|
|
646
802
|
"cancelable": true,
|
|
647
|
-
"composed":
|
|
803
|
+
"composed": false,
|
|
648
804
|
"docs": {
|
|
649
|
-
"tags": [
|
|
805
|
+
"tags": [{
|
|
806
|
+
"name": "event",
|
|
807
|
+
"text": "bcmHidden - Emitted after the floating element is fully hidden (after animation)."
|
|
808
|
+
}],
|
|
650
809
|
"text": ""
|
|
651
810
|
},
|
|
652
811
|
"complexType": {
|
|
@@ -671,7 +830,7 @@ export class BcmLinked {
|
|
|
671
830
|
"return": "Promise<void>"
|
|
672
831
|
},
|
|
673
832
|
"docs": {
|
|
674
|
-
"text": "",
|
|
833
|
+
"text": "Programmatically shows the floating element.\nRespects the showDelay prop.",
|
|
675
834
|
"tags": []
|
|
676
835
|
}
|
|
677
836
|
},
|
|
@@ -688,7 +847,7 @@ export class BcmLinked {
|
|
|
688
847
|
"return": "Promise<void>"
|
|
689
848
|
},
|
|
690
849
|
"docs": {
|
|
691
|
-
"text": "",
|
|
850
|
+
"text": "Programmatically hides the floating element.\nRespects the hideDelay prop.",
|
|
692
851
|
"tags": []
|
|
693
852
|
}
|
|
694
853
|
},
|
|
@@ -705,11 +864,11 @@ export class BcmLinked {
|
|
|
705
864
|
"return": "Promise<void>"
|
|
706
865
|
},
|
|
707
866
|
"docs": {
|
|
708
|
-
"text": "",
|
|
867
|
+
"text": "Toggles the floating element visibility.",
|
|
709
868
|
"tags": []
|
|
710
869
|
}
|
|
711
870
|
},
|
|
712
|
-
"
|
|
871
|
+
"updatePosition": {
|
|
713
872
|
"complexType": {
|
|
714
873
|
"signature": "() => Promise<void>",
|
|
715
874
|
"parameters": [],
|
|
@@ -722,7 +881,7 @@ export class BcmLinked {
|
|
|
722
881
|
"return": "Promise<void>"
|
|
723
882
|
},
|
|
724
883
|
"docs": {
|
|
725
|
-
"text": "",
|
|
884
|
+
"text": "Updates the position of the floating element.\nUseful when the trigger element moves or resizes.",
|
|
726
885
|
"tags": []
|
|
727
886
|
}
|
|
728
887
|
}
|
|
@@ -731,14 +890,29 @@ export class BcmLinked {
|
|
|
731
890
|
static get elementRef() { return "host"; }
|
|
732
891
|
static get watchers() {
|
|
733
892
|
return [{
|
|
734
|
-
"propName": "
|
|
735
|
-
"methodName": "
|
|
893
|
+
"propName": "visible",
|
|
894
|
+
"methodName": "handleVisibleChange"
|
|
895
|
+
}, {
|
|
896
|
+
"propName": "disabled",
|
|
897
|
+
"methodName": "handleDisabledChange"
|
|
898
|
+
}, {
|
|
899
|
+
"propName": "placement",
|
|
900
|
+
"methodName": "handlePositionPropsChange"
|
|
736
901
|
}, {
|
|
737
|
-
"propName": "
|
|
738
|
-
"methodName": "
|
|
902
|
+
"propName": "offsetDistance",
|
|
903
|
+
"methodName": "handlePositionPropsChange"
|
|
739
904
|
}, {
|
|
740
|
-
"propName": "
|
|
741
|
-
"methodName": "
|
|
905
|
+
"propName": "showArrow",
|
|
906
|
+
"methodName": "handlePositionPropsChange"
|
|
907
|
+
}];
|
|
908
|
+
}
|
|
909
|
+
static get listeners() {
|
|
910
|
+
return [{
|
|
911
|
+
"name": "keydown",
|
|
912
|
+
"method": "handleKeyDown",
|
|
913
|
+
"target": "document",
|
|
914
|
+
"capture": false,
|
|
915
|
+
"passive": false
|
|
742
916
|
}];
|
|
743
917
|
}
|
|
744
918
|
}
|