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,194 +1,449 @@
|
|
|
1
|
-
import { arrow, autoUpdate, computePosition, flip, offset, shift } from "@floating-ui/dom";
|
|
2
1
|
import { h } from "@stencil/core";
|
|
2
|
+
import { computePosition, flip, shift, offset, arrow, autoUpdate } from "@floating-ui/dom";
|
|
3
3
|
import { tv } from "../../utils/tv";
|
|
4
4
|
/**
|
|
5
5
|
* @component BcmTooltip
|
|
6
|
-
* @description A
|
|
7
|
-
*
|
|
6
|
+
* @description A flexible tooltip component that provides contextual information on hover or click.
|
|
7
|
+
* Built on the native Popover API for top-layer rendering and Floating UI for intelligent positioning.
|
|
8
|
+
* Automatically handles overflow, flipping, and complex shadow DOM scenarios.
|
|
8
9
|
*
|
|
9
|
-
* @
|
|
10
|
-
*
|
|
11
|
-
*
|
|
10
|
+
* @slot - The trigger element that will show the tooltip
|
|
11
|
+
* @slot content - Custom rich content for the tooltip (overrides message prop)
|
|
12
|
+
*
|
|
13
|
+
* @part tooltip - The tooltip container element (for custom styling)
|
|
14
|
+
* @part arrow - The arrow pointer element
|
|
15
|
+
* @part content - The content wrapper element
|
|
16
|
+
*
|
|
17
|
+
* @example
|
|
18
|
+
* ```html
|
|
19
|
+
* <!-- Basic usage with text message -->
|
|
20
|
+
* <bcm-tooltip message="This is a tooltip">
|
|
21
|
+
* <button>Hover me</button>
|
|
22
|
+
* </bcm-tooltip>
|
|
23
|
+
*
|
|
24
|
+
* <!-- With custom rich content -->
|
|
25
|
+
* <bcm-tooltip placement="right" size="large">
|
|
26
|
+
* <button>Click me</button>
|
|
27
|
+
* <div slot="content">
|
|
28
|
+
* <strong>Rich content</strong>
|
|
29
|
+
* <p>You can add any HTML here</p>
|
|
30
|
+
* </div>
|
|
12
31
|
* </bcm-tooltip>
|
|
13
32
|
*
|
|
14
|
-
*
|
|
15
|
-
* <bcm-tooltip
|
|
16
|
-
* <
|
|
33
|
+
* <!-- Click trigger with custom delays -->
|
|
34
|
+
* <bcm-tooltip trigger="click" show-delay="0" hide-delay="0">
|
|
35
|
+
* <span>Click me</span>
|
|
36
|
+
* </bcm-tooltip>
|
|
37
|
+
*
|
|
38
|
+
* <!-- Mouse following mode -->
|
|
39
|
+
* <bcm-tooltip follow={true} message="I follow your cursor!">
|
|
40
|
+
* <div>Move your mouse here</div>
|
|
41
|
+
* </bcm-tooltip>
|
|
42
|
+
*
|
|
43
|
+
* <!-- Programmatic control -->
|
|
44
|
+
* <bcm-tooltip id="myTooltip" message="Programmatic tooltip">
|
|
45
|
+
* <span>Trigger</span>
|
|
17
46
|
* </bcm-tooltip>
|
|
18
47
|
* <script>
|
|
19
|
-
* const tooltip = document.
|
|
20
|
-
* tooltip.
|
|
21
|
-
* tooltip.
|
|
48
|
+
* const tooltip = document.getElementById('myTooltip');
|
|
49
|
+
* tooltip.show();
|
|
50
|
+
* setTimeout(() => tooltip.hide(), 2000);
|
|
22
51
|
* </script>
|
|
23
52
|
*
|
|
24
|
-
*
|
|
25
|
-
*
|
|
26
|
-
*
|
|
27
|
-
*
|
|
28
|
-
*
|
|
53
|
+
* <!-- Custom styling with CSS parts -->
|
|
54
|
+
* <style>
|
|
55
|
+
* bcm-tooltip::part(tooltip) {
|
|
56
|
+
* background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
|
|
57
|
+
* border-radius: 12px;
|
|
58
|
+
* }
|
|
59
|
+
* bcm-tooltip::part(arrow) {
|
|
60
|
+
* background: #667eea;
|
|
61
|
+
* }
|
|
62
|
+
* </style>
|
|
63
|
+
* ```
|
|
29
64
|
*/
|
|
30
|
-
export class
|
|
65
|
+
export class BcmTooltip {
|
|
31
66
|
constructor() {
|
|
67
|
+
this.mouseX = 0;
|
|
68
|
+
this.mouseY = 0;
|
|
32
69
|
/**
|
|
33
|
-
*
|
|
34
|
-
*
|
|
35
|
-
*
|
|
70
|
+
* How the tooltip is triggered
|
|
71
|
+
* - 'hover': Shows on mouse enter, hides on mouse leave
|
|
72
|
+
* - 'click': Toggles on click, closes on outside click or Escape key
|
|
36
73
|
*/
|
|
37
74
|
this.trigger = 'hover';
|
|
38
75
|
/**
|
|
39
|
-
*
|
|
40
|
-
*
|
|
76
|
+
* Preferred placement of the tooltip relative to the trigger
|
|
77
|
+
* Note: Tooltip will automatically flip if there's not enough space
|
|
78
|
+
* - 'top': Above the trigger element
|
|
79
|
+
* - 'right': To the right of the trigger element
|
|
80
|
+
* - 'bottom': Below the trigger element
|
|
81
|
+
* - 'left': To the left of the trigger element
|
|
41
82
|
*/
|
|
42
83
|
this.placement = 'top';
|
|
43
84
|
/**
|
|
44
|
-
*
|
|
45
|
-
*
|
|
46
|
-
*
|
|
85
|
+
* Size variant of the tooltip
|
|
86
|
+
* - 'small': Compact tooltip with minimal padding (text-size-3, py-1 px-2)
|
|
87
|
+
* - 'medium': Standard tooltip size (text-size-4, py-1.5 px-3)
|
|
88
|
+
* - 'large': Larger tooltip for more content (text-size-5, py-2 px-4)
|
|
47
89
|
*/
|
|
48
90
|
this.size = 'medium';
|
|
49
91
|
/**
|
|
50
|
-
*
|
|
51
|
-
*
|
|
52
|
-
* Default: 150
|
|
92
|
+
* Delay in milliseconds before showing the tooltip
|
|
93
|
+
* Useful to prevent tooltips from appearing on quick mouse movements
|
|
53
94
|
*/
|
|
54
95
|
this.showDelay = 150;
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
96
|
+
/**
|
|
97
|
+
* Delay in milliseconds before hiding the tooltip
|
|
98
|
+
* Provides a grace period for mouse movements
|
|
99
|
+
*/
|
|
100
|
+
this.hideDelay = 100;
|
|
101
|
+
/**
|
|
102
|
+
* Whether to show an arrow pointing to the trigger element
|
|
103
|
+
* Note: Arrow is automatically hidden in 'follow' mode
|
|
104
|
+
*/
|
|
105
|
+
this.arrow = true;
|
|
106
|
+
/**
|
|
107
|
+
* Disables the tooltip, preventing it from showing
|
|
108
|
+
* Useful for conditional tooltips based on application state
|
|
109
|
+
*/
|
|
110
|
+
this.disabled = false;
|
|
111
|
+
/**
|
|
112
|
+
* Distance in pixels between the tooltip and the trigger element
|
|
113
|
+
* Also used as the offset in 'follow' mode
|
|
114
|
+
*/
|
|
115
|
+
this.offset = 12;
|
|
116
|
+
/**
|
|
117
|
+
* Makes the tooltip follow the mouse cursor
|
|
118
|
+
* When enabled:
|
|
119
|
+
* - Arrow is hidden
|
|
120
|
+
* - Tooltip position updates smoothly with cursor movement
|
|
121
|
+
* - Pointer events are disabled on tooltip to prevent interference
|
|
122
|
+
*/
|
|
123
|
+
this.follow = false;
|
|
124
|
+
this.isOpen = false;
|
|
125
|
+
this.handleSlotChange = () => {
|
|
126
|
+
var _a;
|
|
127
|
+
const slot = (_a = this.host.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('slot:not([name])');
|
|
128
|
+
if (!slot)
|
|
129
|
+
return;
|
|
130
|
+
const elements = slot.assignedElements();
|
|
131
|
+
const assignedElement = elements[0];
|
|
132
|
+
// Get the actual element position from the host, not shadow DOM
|
|
133
|
+
// This ensures proper positioning across shadow boundaries
|
|
134
|
+
this.triggerRef = (assignedElement || this.host);
|
|
135
|
+
if (!this.triggerRef)
|
|
136
|
+
return;
|
|
137
|
+
// Setup ARIA relationship
|
|
138
|
+
if (this.tooltipRef && this.tooltipId) {
|
|
139
|
+
this.triggerRef.setAttribute('aria-describedby', this.tooltipId);
|
|
140
|
+
}
|
|
141
|
+
// Remove old listeners
|
|
142
|
+
this.removeTriggerListeners();
|
|
143
|
+
// Add new listeners
|
|
144
|
+
this.setupTriggerListeners();
|
|
145
|
+
};
|
|
146
|
+
this.handleMouseEnter = () => {
|
|
147
|
+
if (!this.disabled) {
|
|
148
|
+
this.show();
|
|
149
|
+
}
|
|
59
150
|
};
|
|
60
|
-
this.
|
|
61
|
-
|
|
62
|
-
this.hoverTimeout = setTimeout(() => {
|
|
63
|
-
this.open = true;
|
|
64
|
-
this.updateOutsideClickListener();
|
|
65
|
-
}, this.showDelay);
|
|
151
|
+
this.handleMouseLeave = () => {
|
|
152
|
+
this.hide();
|
|
66
153
|
};
|
|
67
|
-
this.
|
|
68
|
-
|
|
69
|
-
this.
|
|
70
|
-
this.open = false;
|
|
71
|
-
this.updateOutsideClickListener();
|
|
72
|
-
}, this.showDelay);
|
|
154
|
+
this.handleMouseMove = (e) => {
|
|
155
|
+
this.mouseX = e.clientX;
|
|
156
|
+
this.mouseY = e.clientY;
|
|
73
157
|
};
|
|
74
|
-
this.
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
this.targetElement = elements[0];
|
|
78
|
-
if (this.targetElement) {
|
|
79
|
-
this.targetElement.removeEventListener('click', this.toggleTooltip);
|
|
80
|
-
this.targetElement.removeEventListener('mouseenter', this.showTooltip);
|
|
81
|
-
this.targetElement.removeEventListener('mouseleave', this.hideTooltip);
|
|
82
|
-
if (this.trigger === 'click') {
|
|
83
|
-
this.targetElement.addEventListener('click', this.toggleTooltip);
|
|
84
|
-
this.targetElement.setAttribute('aria-expanded', this.open.toString());
|
|
85
|
-
this.targetElement.setAttribute('aria-describedby', 'tooltip');
|
|
86
|
-
}
|
|
87
|
-
if (this.trigger === 'hover') {
|
|
88
|
-
this.targetElement.addEventListener('mouseenter', this.showTooltip);
|
|
89
|
-
this.targetElement.addEventListener('mouseleave', this.hideTooltip);
|
|
90
|
-
this.targetElement.setAttribute('aria-describedby', 'tooltip');
|
|
91
|
-
}
|
|
92
|
-
if (this.tooltipElement && !this.cleanupAutoUpdate) {
|
|
93
|
-
this.cleanupAutoUpdate = autoUpdate(this.targetElement, this.tooltipElement, () => this.updatePosition(), { animationFrame: false });
|
|
94
|
-
}
|
|
158
|
+
this.handleClick = () => {
|
|
159
|
+
if (!this.disabled) {
|
|
160
|
+
this.toggle();
|
|
95
161
|
}
|
|
96
162
|
};
|
|
97
|
-
this.handleOutsideClick = (
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
163
|
+
this.handleOutsideClick = (e) => {
|
|
164
|
+
var _a;
|
|
165
|
+
const target = e.target;
|
|
166
|
+
if (!this.host.contains(target) && !((_a = this.tooltipRef) === null || _a === void 0 ? void 0 : _a.contains(target))) {
|
|
167
|
+
this.hide();
|
|
101
168
|
}
|
|
102
169
|
};
|
|
103
|
-
this.
|
|
104
|
-
if (
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
});
|
|
170
|
+
this.handleKeyDown = (e) => {
|
|
171
|
+
if (e.key === 'Escape' && this.isOpen) {
|
|
172
|
+
// Only close if this tooltip's popover element is the topmost
|
|
173
|
+
const topmostPopover = document.querySelector('[popover]:popover-open:last-of-type');
|
|
174
|
+
if (topmostPopover === this.tooltipRef) {
|
|
175
|
+
e.stopPropagation(); // Prevent event from reaching parent popovers
|
|
176
|
+
this.hide();
|
|
177
|
+
// Return focus to trigger element
|
|
178
|
+
if (this.triggerRef && 'focus' in this.triggerRef) {
|
|
179
|
+
this.triggerRef.focus();
|
|
180
|
+
}
|
|
181
|
+
}
|
|
182
|
+
}
|
|
183
|
+
};
|
|
184
|
+
this.handleToggle = (e) => {
|
|
185
|
+
const toggleEvent = e;
|
|
186
|
+
// Sync our internal state with popover state
|
|
187
|
+
if (toggleEvent.newState === 'open' && !this.isOpen) {
|
|
188
|
+
this.isOpen = true;
|
|
189
|
+
}
|
|
190
|
+
else if (toggleEvent.newState === 'closed' && this.isOpen) {
|
|
191
|
+
this.isOpen = false;
|
|
192
|
+
}
|
|
127
193
|
};
|
|
128
194
|
this.tooltipClass = tv({
|
|
129
195
|
slots: {
|
|
130
|
-
tooltip: 'bcm-ui-element
|
|
131
|
-
arrow: 'absolute w-
|
|
196
|
+
tooltip: 'bcm-ui-element fixed m-0 bg-color-default-dark text-color-base rounded-md shadow-3 font-medium z-[9999]',
|
|
197
|
+
arrow: 'absolute w-2 h-2 bg-color-default-dark rotate-45',
|
|
198
|
+
content: '',
|
|
132
199
|
},
|
|
133
200
|
variants: {
|
|
134
201
|
size: {
|
|
135
|
-
small: {
|
|
136
|
-
|
|
137
|
-
|
|
202
|
+
small: {
|
|
203
|
+
tooltip: 'text-size-3 py-1 px-2',
|
|
204
|
+
},
|
|
205
|
+
medium: {
|
|
206
|
+
tooltip: 'text-size-4 py-1.5 px-3',
|
|
207
|
+
},
|
|
208
|
+
large: {
|
|
209
|
+
tooltip: 'text-size-5 py-2 px-4',
|
|
210
|
+
},
|
|
138
211
|
},
|
|
139
|
-
|
|
140
|
-
true: {
|
|
141
|
-
|
|
212
|
+
follow: {
|
|
213
|
+
true: {
|
|
214
|
+
tooltip: 'pointer-events-none',
|
|
215
|
+
},
|
|
142
216
|
},
|
|
143
217
|
},
|
|
144
|
-
|
|
145
|
-
size: 'medium',
|
|
146
|
-
isOpen: false,
|
|
147
|
-
},
|
|
148
|
-
}, { twMerge: false });
|
|
218
|
+
});
|
|
149
219
|
}
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
if (this.targetElement) {
|
|
154
|
-
this.targetElement.removeEventListener('click', this.toggleTooltip);
|
|
155
|
-
this.targetElement.removeEventListener('mouseenter', this.showTooltip);
|
|
156
|
-
this.targetElement.removeEventListener('mouseleave', this.hideTooltip);
|
|
220
|
+
handleDisabledChange(disabled) {
|
|
221
|
+
if (disabled && this.isOpen) {
|
|
222
|
+
this.hide();
|
|
157
223
|
}
|
|
158
|
-
(_a = this.cleanupAutoUpdate) === null || _a === void 0 ? void 0 : _a.call(this);
|
|
159
|
-
this.cleanupAutoUpdate = null;
|
|
160
|
-
clearTimeout(this.hoverTimeout);
|
|
161
224
|
}
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
225
|
+
handleTriggerChange() {
|
|
226
|
+
this.removeTriggerListeners();
|
|
227
|
+
this.setupOutsideClickListener();
|
|
228
|
+
if (this.triggerRef) {
|
|
229
|
+
this.setupTriggerListeners();
|
|
230
|
+
}
|
|
231
|
+
}
|
|
232
|
+
async handleOpenChange(open) {
|
|
233
|
+
if (!this.tooltipRef)
|
|
234
|
+
return;
|
|
235
|
+
if (open) {
|
|
236
|
+
this.tooltipRef.showPopover();
|
|
237
|
+
// Wait for next frame to ensure popover is rendered
|
|
238
|
+
await new Promise(resolve => requestAnimationFrame(() => resolve(undefined)));
|
|
239
|
+
if (this.follow) {
|
|
240
|
+
this.startFollowing();
|
|
241
|
+
}
|
|
242
|
+
else {
|
|
243
|
+
await this.updatePosition();
|
|
244
|
+
this.startAutoUpdate();
|
|
245
|
+
}
|
|
165
246
|
}
|
|
166
247
|
else {
|
|
167
|
-
|
|
248
|
+
this.tooltipRef.hidePopover();
|
|
249
|
+
this.stopFollowing();
|
|
250
|
+
this.stopAutoUpdate();
|
|
168
251
|
}
|
|
169
252
|
}
|
|
170
253
|
/**
|
|
171
|
-
*
|
|
172
|
-
*
|
|
173
|
-
|
|
254
|
+
* Programmatically shows the tooltip
|
|
255
|
+
* Respects the showDelay prop and disabled state
|
|
256
|
+
*/
|
|
257
|
+
async show() {
|
|
258
|
+
if (this.disabled)
|
|
259
|
+
return;
|
|
260
|
+
this.clearTimeouts();
|
|
261
|
+
this.showTimeout = window.setTimeout(() => {
|
|
262
|
+
this.isOpen = true;
|
|
263
|
+
}, this.showDelay);
|
|
264
|
+
}
|
|
265
|
+
/**
|
|
266
|
+
* Programmatically hides the tooltip
|
|
267
|
+
* Respects the hideDelay prop
|
|
174
268
|
*/
|
|
175
|
-
async
|
|
176
|
-
this.
|
|
269
|
+
async hide() {
|
|
270
|
+
this.clearTimeouts();
|
|
271
|
+
this.hideTimeout = window.setTimeout(() => {
|
|
272
|
+
this.isOpen = false;
|
|
273
|
+
}, this.hideDelay);
|
|
177
274
|
}
|
|
178
275
|
/**
|
|
179
|
-
*
|
|
180
|
-
*
|
|
181
|
-
* @returns {Promise<void>} A promise that resolves when the tooltip is closed.
|
|
276
|
+
* Toggles the tooltip visibility
|
|
277
|
+
* If open, hides it; if closed, shows it
|
|
182
278
|
*/
|
|
183
|
-
async
|
|
184
|
-
this.
|
|
279
|
+
async toggle() {
|
|
280
|
+
if (this.isOpen) {
|
|
281
|
+
await this.hide();
|
|
282
|
+
}
|
|
283
|
+
else {
|
|
284
|
+
await this.show();
|
|
285
|
+
}
|
|
286
|
+
}
|
|
287
|
+
clearTimeouts() {
|
|
288
|
+
if (this.showTimeout) {
|
|
289
|
+
clearTimeout(this.showTimeout);
|
|
290
|
+
this.showTimeout = undefined;
|
|
291
|
+
}
|
|
292
|
+
if (this.hideTimeout) {
|
|
293
|
+
clearTimeout(this.hideTimeout);
|
|
294
|
+
this.hideTimeout = undefined;
|
|
295
|
+
}
|
|
296
|
+
}
|
|
297
|
+
startAutoUpdate() {
|
|
298
|
+
if (!this.triggerRef || !this.tooltipRef || this.follow)
|
|
299
|
+
return;
|
|
300
|
+
this.cleanupAutoUpdate = autoUpdate(this.triggerRef, this.tooltipRef, () => this.updatePosition(), {
|
|
301
|
+
ancestorScroll: true,
|
|
302
|
+
ancestorResize: true,
|
|
303
|
+
elementResize: true,
|
|
304
|
+
layoutShift: true,
|
|
305
|
+
});
|
|
306
|
+
}
|
|
307
|
+
stopAutoUpdate() {
|
|
308
|
+
if (this.cleanupAutoUpdate) {
|
|
309
|
+
this.cleanupAutoUpdate();
|
|
310
|
+
this.cleanupAutoUpdate = undefined;
|
|
311
|
+
}
|
|
312
|
+
}
|
|
313
|
+
startFollowing() {
|
|
314
|
+
if (!this.follow)
|
|
315
|
+
return;
|
|
316
|
+
const updateFollowPosition = () => {
|
|
317
|
+
if (!this.isOpen || !this.tooltipRef) {
|
|
318
|
+
this.rafId = undefined;
|
|
319
|
+
return;
|
|
320
|
+
}
|
|
321
|
+
const offsetX = this.offset;
|
|
322
|
+
const offsetY = this.offset;
|
|
323
|
+
this.tooltipRef.style.left = `${this.mouseX + offsetX}px`;
|
|
324
|
+
this.tooltipRef.style.top = `${this.mouseY + offsetY}px`;
|
|
325
|
+
this.rafId = requestAnimationFrame(updateFollowPosition);
|
|
326
|
+
};
|
|
327
|
+
this.rafId = requestAnimationFrame(updateFollowPosition);
|
|
328
|
+
}
|
|
329
|
+
stopFollowing() {
|
|
330
|
+
if (this.rafId) {
|
|
331
|
+
cancelAnimationFrame(this.rafId);
|
|
332
|
+
this.rafId = undefined;
|
|
333
|
+
}
|
|
334
|
+
}
|
|
335
|
+
async updatePosition() {
|
|
336
|
+
if (!this.triggerRef || !this.tooltipRef || this.follow)
|
|
337
|
+
return;
|
|
338
|
+
try {
|
|
339
|
+
// Check if trigger element is still in viewport
|
|
340
|
+
const triggerRect = this.triggerRef.getBoundingClientRect();
|
|
341
|
+
const isInViewport = triggerRect.bottom > 0 && triggerRect.top < window.innerHeight && triggerRect.right > 0 && triggerRect.left < window.innerWidth;
|
|
342
|
+
// Hide tooltip if trigger is out of viewport
|
|
343
|
+
if (!isInViewport && this.isOpen) {
|
|
344
|
+
this.hide();
|
|
345
|
+
return;
|
|
346
|
+
}
|
|
347
|
+
const middleware = [offset(this.offset), flip(), shift({ padding: 8 })];
|
|
348
|
+
if (this.arrow && this.arrowRef) {
|
|
349
|
+
middleware.push(arrow({ element: this.arrowRef }));
|
|
350
|
+
}
|
|
351
|
+
// Use virtual element to properly handle shadow DOM boundaries
|
|
352
|
+
const virtualElement = {
|
|
353
|
+
getBoundingClientRect: () => this.triggerRef.getBoundingClientRect(),
|
|
354
|
+
};
|
|
355
|
+
const { x, y, placement, middlewareData } = await computePosition(virtualElement, this.tooltipRef, {
|
|
356
|
+
placement: this.placement,
|
|
357
|
+
strategy: 'fixed',
|
|
358
|
+
middleware,
|
|
359
|
+
});
|
|
360
|
+
this.tooltipRef.style.left = `${x}px`;
|
|
361
|
+
this.tooltipRef.style.top = `${y}px`;
|
|
362
|
+
// Arrow positioning
|
|
363
|
+
if (this.arrow && this.arrowRef && middlewareData.arrow) {
|
|
364
|
+
const { x: arrowX, y: arrowY } = middlewareData.arrow;
|
|
365
|
+
const side = placement.split('-')[0];
|
|
366
|
+
const staticSide = {
|
|
367
|
+
top: 'bottom',
|
|
368
|
+
right: 'left',
|
|
369
|
+
bottom: 'top',
|
|
370
|
+
left: 'right',
|
|
371
|
+
}[side];
|
|
372
|
+
Object.assign(this.arrowRef.style, {
|
|
373
|
+
left: arrowX != null ? `${arrowX}px` : '',
|
|
374
|
+
top: arrowY != null ? `${arrowY}px` : '',
|
|
375
|
+
right: '',
|
|
376
|
+
bottom: '',
|
|
377
|
+
[staticSide]: '-4px',
|
|
378
|
+
});
|
|
379
|
+
}
|
|
380
|
+
}
|
|
381
|
+
catch (error) {
|
|
382
|
+
console.error('Failed to compute tooltip position:', error);
|
|
383
|
+
}
|
|
384
|
+
}
|
|
385
|
+
setupTriggerListeners() {
|
|
386
|
+
if (!this.triggerRef)
|
|
387
|
+
return;
|
|
388
|
+
// Add new listeners based on trigger type
|
|
389
|
+
if (this.trigger === 'hover') {
|
|
390
|
+
this.triggerRef.addEventListener('mouseenter', this.handleMouseEnter);
|
|
391
|
+
this.triggerRef.addEventListener('mouseleave', this.handleMouseLeave);
|
|
392
|
+
if (this.follow) {
|
|
393
|
+
this.triggerRef.addEventListener('mousemove', this.handleMouseMove);
|
|
394
|
+
}
|
|
395
|
+
}
|
|
396
|
+
else if (this.trigger === 'click') {
|
|
397
|
+
this.triggerRef.addEventListener('click', this.handleClick);
|
|
398
|
+
}
|
|
399
|
+
}
|
|
400
|
+
removeTriggerListeners() {
|
|
401
|
+
if (!this.triggerRef)
|
|
402
|
+
return;
|
|
403
|
+
this.triggerRef.removeEventListener('mouseenter', this.handleMouseEnter);
|
|
404
|
+
this.triggerRef.removeEventListener('mouseleave', this.handleMouseLeave);
|
|
405
|
+
this.triggerRef.removeEventListener('mousemove', this.handleMouseMove);
|
|
406
|
+
this.triggerRef.removeEventListener('click', this.handleClick);
|
|
407
|
+
}
|
|
408
|
+
setupOutsideClickListener() {
|
|
409
|
+
// Remove existing listener first
|
|
410
|
+
document.removeEventListener('click', this.handleOutsideClick);
|
|
411
|
+
// Add listener only for click trigger
|
|
412
|
+
if (this.trigger === 'click') {
|
|
413
|
+
document.addEventListener('click', this.handleOutsideClick);
|
|
414
|
+
}
|
|
415
|
+
}
|
|
416
|
+
componentDidLoad() {
|
|
417
|
+
// Generate unique ID for ARIA relationship
|
|
418
|
+
this.tooltipId = `tooltip-${Math.random().toString(36).substring(2, 11)}`;
|
|
419
|
+
// Setup outside click listener for click trigger
|
|
420
|
+
this.setupOutsideClickListener();
|
|
421
|
+
// Listen to popover toggle event to sync state
|
|
422
|
+
if (this.tooltipRef) {
|
|
423
|
+
this.tooltipRef.addEventListener('toggle', this.handleToggle);
|
|
424
|
+
}
|
|
425
|
+
// Setup keyboard listener for manual popover escape handling
|
|
426
|
+
document.addEventListener('keydown', this.handleKeyDown);
|
|
427
|
+
}
|
|
428
|
+
disconnectedCallback() {
|
|
429
|
+
this.clearTimeouts();
|
|
430
|
+
this.stopAutoUpdate();
|
|
431
|
+
this.stopFollowing();
|
|
432
|
+
this.removeTriggerListeners();
|
|
433
|
+
document.removeEventListener('click', this.handleOutsideClick);
|
|
434
|
+
document.removeEventListener('keydown', this.handleKeyDown);
|
|
435
|
+
if (this.tooltipRef) {
|
|
436
|
+
this.tooltipRef.removeEventListener('toggle', this.handleToggle);
|
|
437
|
+
}
|
|
185
438
|
}
|
|
186
439
|
render() {
|
|
187
|
-
const { tooltip, arrow } = this.tooltipClass({
|
|
440
|
+
const { tooltip, arrow: arrowClass } = this.tooltipClass({
|
|
188
441
|
size: this.size,
|
|
189
|
-
|
|
442
|
+
follow: this.follow,
|
|
190
443
|
});
|
|
191
|
-
return (h("div", { key: '
|
|
444
|
+
return (h("div", { key: 'a539406275e1443e4446ec559cb3388ed2456328', class: "inline-block" }, h("slot", { key: 'b144f258b14a04369ff75ed90b7607ea05e23e67', onSlotchange: this.handleSlotChange }), h("div", { key: 'bbd08333a311e09e50bb2f1b3646892546f57164', ref: el => (this.tooltipRef = el), id: this.tooltipId, part: "tooltip", class: tooltip(),
|
|
445
|
+
// @ts-ignore - popover is a valid attribute
|
|
446
|
+
popover: "manual", role: "tooltip" }, this.arrow && !this.follow && h("div", { key: '7170aba70efdf413f4823cf2eff5618271b2fa70', ref: el => (this.arrowRef = el), part: "arrow", class: arrowClass() }), h("div", { key: '4fd9b56ce036663caaf1a75874e95ea566e214ef', part: "content" }, h("slot", { key: 'd5ab1ab3ef54e1c827ed1d009e226258a099378b', name: "content" }, this.message)))));
|
|
192
447
|
}
|
|
193
448
|
static get is() { return "bcm-tooltip"; }
|
|
194
449
|
static get encapsulation() { return "shadow"; }
|
|
@@ -206,76 +461,84 @@ export class Tooltip {
|
|
|
206
461
|
return {
|
|
207
462
|
"trigger": {
|
|
208
463
|
"type": "string",
|
|
209
|
-
"attribute": "trigger",
|
|
210
464
|
"mutable": false,
|
|
211
465
|
"complexType": {
|
|
212
|
-
"original": "
|
|
466
|
+
"original": "TooltipTrigger",
|
|
213
467
|
"resolved": "\"click\" | \"hover\"",
|
|
214
|
-
"references": {
|
|
468
|
+
"references": {
|
|
469
|
+
"TooltipTrigger": {
|
|
470
|
+
"location": "local",
|
|
471
|
+
"path": "/Users/muratpolatozkan/works/bromcom/bromcom-ui-v2/src/components/tooltip/tooltip.component.tsx",
|
|
472
|
+
"id": "src/components/tooltip/tooltip.component.tsx::TooltipTrigger"
|
|
473
|
+
}
|
|
474
|
+
}
|
|
215
475
|
},
|
|
216
476
|
"required": false,
|
|
217
477
|
"optional": false,
|
|
218
478
|
"docs": {
|
|
219
|
-
"tags": [
|
|
220
|
-
|
|
221
|
-
"text": "{('click' | 'hover')} trigger - Defines the interaction type to show/hide the tooltip.\n'click' toggles on click, 'hover' shows on mouse enter and hides on mouse leave.\nDefault: 'hover'"
|
|
222
|
-
}],
|
|
223
|
-
"text": ""
|
|
479
|
+
"tags": [],
|
|
480
|
+
"text": "How the tooltip is triggered\n- 'hover': Shows on mouse enter, hides on mouse leave\n- 'click': Toggles on click, closes on outside click or Escape key"
|
|
224
481
|
},
|
|
225
482
|
"getter": false,
|
|
226
483
|
"setter": false,
|
|
227
484
|
"reflect": false,
|
|
485
|
+
"attribute": "trigger",
|
|
228
486
|
"defaultValue": "'hover'"
|
|
229
487
|
},
|
|
230
488
|
"placement": {
|
|
231
489
|
"type": "string",
|
|
232
|
-
"attribute": "placement",
|
|
233
490
|
"mutable": false,
|
|
234
491
|
"complexType": {
|
|
235
|
-
"original": "
|
|
492
|
+
"original": "TooltipPlacement",
|
|
236
493
|
"resolved": "\"bottom\" | \"left\" | \"right\" | \"top\"",
|
|
237
|
-
"references": {
|
|
494
|
+
"references": {
|
|
495
|
+
"TooltipPlacement": {
|
|
496
|
+
"location": "local",
|
|
497
|
+
"path": "/Users/muratpolatozkan/works/bromcom/bromcom-ui-v2/src/components/tooltip/tooltip.component.tsx",
|
|
498
|
+
"id": "src/components/tooltip/tooltip.component.tsx::TooltipPlacement"
|
|
499
|
+
}
|
|
500
|
+
}
|
|
238
501
|
},
|
|
239
502
|
"required": false,
|
|
240
503
|
"optional": false,
|
|
241
504
|
"docs": {
|
|
242
|
-
"tags": [
|
|
243
|
-
|
|
244
|
-
"text": "{('top' | 'right' | 'bottom' | 'left')} placement - Defines the position of the tooltip relative to the target element.\nDefault: 'top'"
|
|
245
|
-
}],
|
|
246
|
-
"text": ""
|
|
505
|
+
"tags": [],
|
|
506
|
+
"text": "Preferred placement of the tooltip relative to the trigger\nNote: Tooltip will automatically flip if there's not enough space\n- 'top': Above the trigger element\n- 'right': To the right of the trigger element\n- 'bottom': Below the trigger element\n- 'left': To the left of the trigger element"
|
|
247
507
|
},
|
|
248
508
|
"getter": false,
|
|
249
509
|
"setter": false,
|
|
250
510
|
"reflect": false,
|
|
511
|
+
"attribute": "placement",
|
|
251
512
|
"defaultValue": "'top'"
|
|
252
513
|
},
|
|
253
514
|
"size": {
|
|
254
515
|
"type": "string",
|
|
255
|
-
"attribute": "size",
|
|
256
516
|
"mutable": false,
|
|
257
517
|
"complexType": {
|
|
258
|
-
"original": "
|
|
518
|
+
"original": "TooltipSize",
|
|
259
519
|
"resolved": "\"large\" | \"medium\" | \"small\"",
|
|
260
|
-
"references": {
|
|
520
|
+
"references": {
|
|
521
|
+
"TooltipSize": {
|
|
522
|
+
"location": "local",
|
|
523
|
+
"path": "/Users/muratpolatozkan/works/bromcom/bromcom-ui-v2/src/components/tooltip/tooltip.component.tsx",
|
|
524
|
+
"id": "src/components/tooltip/tooltip.component.tsx::TooltipSize"
|
|
525
|
+
}
|
|
526
|
+
}
|
|
261
527
|
},
|
|
262
528
|
"required": false,
|
|
263
529
|
"optional": false,
|
|
264
530
|
"docs": {
|
|
265
|
-
"tags": [
|
|
266
|
-
|
|
267
|
-
"text": "{('small' | 'medium' | 'large')} size - Defines the size of the tooltip.\nControls the text size and padding of the tooltip content.\nDefault: 'medium'"
|
|
268
|
-
}],
|
|
269
|
-
"text": ""
|
|
531
|
+
"tags": [],
|
|
532
|
+
"text": "Size variant of the tooltip\n- 'small': Compact tooltip with minimal padding (text-size-3, py-1 px-2)\n- 'medium': Standard tooltip size (text-size-4, py-1.5 px-3)\n- 'large': Larger tooltip for more content (text-size-5, py-2 px-4)"
|
|
270
533
|
},
|
|
271
534
|
"getter": false,
|
|
272
535
|
"setter": false,
|
|
273
536
|
"reflect": false,
|
|
537
|
+
"attribute": "size",
|
|
274
538
|
"defaultValue": "'medium'"
|
|
275
539
|
},
|
|
276
540
|
"message": {
|
|
277
541
|
"type": "string",
|
|
278
|
-
"attribute": "message",
|
|
279
542
|
"mutable": false,
|
|
280
543
|
"complexType": {
|
|
281
544
|
"original": "string",
|
|
@@ -283,21 +546,18 @@ export class Tooltip {
|
|
|
283
546
|
"references": {}
|
|
284
547
|
},
|
|
285
548
|
"required": false,
|
|
286
|
-
"optional":
|
|
549
|
+
"optional": true,
|
|
287
550
|
"docs": {
|
|
288
|
-
"tags": [
|
|
289
|
-
|
|
290
|
-
"text": "{string} message - Custom text for the tooltip content.\nUsed as fallback content if the 'tooltip' slot is not provided."
|
|
291
|
-
}],
|
|
292
|
-
"text": ""
|
|
551
|
+
"tags": [],
|
|
552
|
+
"text": "Simple text message to display in the tooltip\nCan be overridden by slotting content into the 'content' slot"
|
|
293
553
|
},
|
|
294
554
|
"getter": false,
|
|
295
555
|
"setter": false,
|
|
296
|
-
"reflect": false
|
|
556
|
+
"reflect": false,
|
|
557
|
+
"attribute": "message"
|
|
297
558
|
},
|
|
298
559
|
"showDelay": {
|
|
299
560
|
"type": "number",
|
|
300
|
-
"attribute": "show-delay",
|
|
301
561
|
"mutable": false,
|
|
302
562
|
"complexType": {
|
|
303
563
|
"original": "number",
|
|
@@ -307,27 +567,142 @@ export class Tooltip {
|
|
|
307
567
|
"required": false,
|
|
308
568
|
"optional": false,
|
|
309
569
|
"docs": {
|
|
310
|
-
"tags": [
|
|
311
|
-
|
|
312
|
-
"text": "{number} showDelay - Delay in milliseconds before showing or hiding the tooltip.\nHelps prevent flickering on quick mouse movements.\nDefault: 150"
|
|
313
|
-
}],
|
|
314
|
-
"text": ""
|
|
570
|
+
"tags": [],
|
|
571
|
+
"text": "Delay in milliseconds before showing the tooltip\nUseful to prevent tooltips from appearing on quick mouse movements"
|
|
315
572
|
},
|
|
316
573
|
"getter": false,
|
|
317
574
|
"setter": false,
|
|
318
575
|
"reflect": false,
|
|
576
|
+
"attribute": "show-delay",
|
|
319
577
|
"defaultValue": "150"
|
|
578
|
+
},
|
|
579
|
+
"hideDelay": {
|
|
580
|
+
"type": "number",
|
|
581
|
+
"mutable": false,
|
|
582
|
+
"complexType": {
|
|
583
|
+
"original": "number",
|
|
584
|
+
"resolved": "number",
|
|
585
|
+
"references": {}
|
|
586
|
+
},
|
|
587
|
+
"required": false,
|
|
588
|
+
"optional": false,
|
|
589
|
+
"docs": {
|
|
590
|
+
"tags": [],
|
|
591
|
+
"text": "Delay in milliseconds before hiding the tooltip\nProvides a grace period for mouse movements"
|
|
592
|
+
},
|
|
593
|
+
"getter": false,
|
|
594
|
+
"setter": false,
|
|
595
|
+
"reflect": false,
|
|
596
|
+
"attribute": "hide-delay",
|
|
597
|
+
"defaultValue": "100"
|
|
598
|
+
},
|
|
599
|
+
"arrow": {
|
|
600
|
+
"type": "boolean",
|
|
601
|
+
"mutable": false,
|
|
602
|
+
"complexType": {
|
|
603
|
+
"original": "boolean",
|
|
604
|
+
"resolved": "boolean",
|
|
605
|
+
"references": {}
|
|
606
|
+
},
|
|
607
|
+
"required": false,
|
|
608
|
+
"optional": false,
|
|
609
|
+
"docs": {
|
|
610
|
+
"tags": [],
|
|
611
|
+
"text": "Whether to show an arrow pointing to the trigger element\nNote: Arrow is automatically hidden in 'follow' mode"
|
|
612
|
+
},
|
|
613
|
+
"getter": false,
|
|
614
|
+
"setter": false,
|
|
615
|
+
"reflect": false,
|
|
616
|
+
"attribute": "arrow",
|
|
617
|
+
"defaultValue": "true"
|
|
618
|
+
},
|
|
619
|
+
"disabled": {
|
|
620
|
+
"type": "boolean",
|
|
621
|
+
"mutable": false,
|
|
622
|
+
"complexType": {
|
|
623
|
+
"original": "boolean",
|
|
624
|
+
"resolved": "boolean",
|
|
625
|
+
"references": {}
|
|
626
|
+
},
|
|
627
|
+
"required": false,
|
|
628
|
+
"optional": false,
|
|
629
|
+
"docs": {
|
|
630
|
+
"tags": [],
|
|
631
|
+
"text": "Disables the tooltip, preventing it from showing\nUseful for conditional tooltips based on application state"
|
|
632
|
+
},
|
|
633
|
+
"getter": false,
|
|
634
|
+
"setter": false,
|
|
635
|
+
"reflect": false,
|
|
636
|
+
"attribute": "disabled",
|
|
637
|
+
"defaultValue": "false"
|
|
638
|
+
},
|
|
639
|
+
"offset": {
|
|
640
|
+
"type": "number",
|
|
641
|
+
"mutable": false,
|
|
642
|
+
"complexType": {
|
|
643
|
+
"original": "number",
|
|
644
|
+
"resolved": "number",
|
|
645
|
+
"references": {}
|
|
646
|
+
},
|
|
647
|
+
"required": false,
|
|
648
|
+
"optional": false,
|
|
649
|
+
"docs": {
|
|
650
|
+
"tags": [],
|
|
651
|
+
"text": "Distance in pixels between the tooltip and the trigger element\nAlso used as the offset in 'follow' mode"
|
|
652
|
+
},
|
|
653
|
+
"getter": false,
|
|
654
|
+
"setter": false,
|
|
655
|
+
"reflect": false,
|
|
656
|
+
"attribute": "offset",
|
|
657
|
+
"defaultValue": "12"
|
|
658
|
+
},
|
|
659
|
+
"follow": {
|
|
660
|
+
"type": "boolean",
|
|
661
|
+
"mutable": false,
|
|
662
|
+
"complexType": {
|
|
663
|
+
"original": "boolean",
|
|
664
|
+
"resolved": "boolean",
|
|
665
|
+
"references": {}
|
|
666
|
+
},
|
|
667
|
+
"required": false,
|
|
668
|
+
"optional": false,
|
|
669
|
+
"docs": {
|
|
670
|
+
"tags": [],
|
|
671
|
+
"text": "Makes the tooltip follow the mouse cursor\nWhen enabled:\n- Arrow is hidden\n- Tooltip position updates smoothly with cursor movement\n- Pointer events are disabled on tooltip to prevent interference"
|
|
672
|
+
},
|
|
673
|
+
"getter": false,
|
|
674
|
+
"setter": false,
|
|
675
|
+
"reflect": false,
|
|
676
|
+
"attribute": "follow",
|
|
677
|
+
"defaultValue": "false"
|
|
320
678
|
}
|
|
321
679
|
};
|
|
322
680
|
}
|
|
323
681
|
static get states() {
|
|
324
682
|
return {
|
|
325
|
-
"
|
|
683
|
+
"isOpen": {}
|
|
326
684
|
};
|
|
327
685
|
}
|
|
328
686
|
static get methods() {
|
|
329
687
|
return {
|
|
330
|
-
"
|
|
688
|
+
"show": {
|
|
689
|
+
"complexType": {
|
|
690
|
+
"signature": "() => Promise<void>",
|
|
691
|
+
"parameters": [],
|
|
692
|
+
"references": {
|
|
693
|
+
"Promise": {
|
|
694
|
+
"location": "global",
|
|
695
|
+
"id": "global::Promise"
|
|
696
|
+
}
|
|
697
|
+
},
|
|
698
|
+
"return": "Promise<void>"
|
|
699
|
+
},
|
|
700
|
+
"docs": {
|
|
701
|
+
"text": "Programmatically shows the tooltip\nRespects the showDelay prop and disabled state",
|
|
702
|
+
"tags": []
|
|
703
|
+
}
|
|
704
|
+
},
|
|
705
|
+
"hide": {
|
|
331
706
|
"complexType": {
|
|
332
707
|
"signature": "() => Promise<void>",
|
|
333
708
|
"parameters": [],
|
|
@@ -340,17 +715,11 @@ export class Tooltip {
|
|
|
340
715
|
"return": "Promise<void>"
|
|
341
716
|
},
|
|
342
717
|
"docs": {
|
|
343
|
-
"text": "",
|
|
344
|
-
"tags": [
|
|
345
|
-
"name": "method",
|
|
346
|
-
"text": "{Promise<void>} openTooltip - Programmatically opens the tooltip.\nTriggers the showTooltip logic with the specified delay."
|
|
347
|
-
}, {
|
|
348
|
-
"name": "returns",
|
|
349
|
-
"text": "A promise that resolves when the tooltip is opened."
|
|
350
|
-
}]
|
|
718
|
+
"text": "Programmatically hides the tooltip\nRespects the hideDelay prop",
|
|
719
|
+
"tags": []
|
|
351
720
|
}
|
|
352
721
|
},
|
|
353
|
-
"
|
|
722
|
+
"toggle": {
|
|
354
723
|
"complexType": {
|
|
355
724
|
"signature": "() => Promise<void>",
|
|
356
725
|
"parameters": [],
|
|
@@ -363,18 +732,24 @@ export class Tooltip {
|
|
|
363
732
|
"return": "Promise<void>"
|
|
364
733
|
},
|
|
365
734
|
"docs": {
|
|
366
|
-
"text": "",
|
|
367
|
-
"tags": [
|
|
368
|
-
"name": "method",
|
|
369
|
-
"text": "{Promise<void>} closeTooltip - Programmatically closes the tooltip.\nTriggers the hideTooltip logic with the specified delay."
|
|
370
|
-
}, {
|
|
371
|
-
"name": "returns",
|
|
372
|
-
"text": "A promise that resolves when the tooltip is closed."
|
|
373
|
-
}]
|
|
735
|
+
"text": "Toggles the tooltip visibility\nIf open, hides it; if closed, shows it",
|
|
736
|
+
"tags": []
|
|
374
737
|
}
|
|
375
738
|
}
|
|
376
739
|
};
|
|
377
740
|
}
|
|
378
|
-
static get elementRef() { return "
|
|
741
|
+
static get elementRef() { return "host"; }
|
|
742
|
+
static get watchers() {
|
|
743
|
+
return [{
|
|
744
|
+
"propName": "disabled",
|
|
745
|
+
"methodName": "handleDisabledChange"
|
|
746
|
+
}, {
|
|
747
|
+
"propName": "trigger",
|
|
748
|
+
"methodName": "handleTriggerChange"
|
|
749
|
+
}, {
|
|
750
|
+
"propName": "isOpen",
|
|
751
|
+
"methodName": "handleOpenChange"
|
|
752
|
+
}];
|
|
753
|
+
}
|
|
379
754
|
}
|
|
380
755
|
//# sourceMappingURL=tooltip.component.js.map
|