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
|
@@ -17,9 +17,11 @@ import { Event } from "./stencil-public-runtime";
|
|
|
17
17
|
import { TriggerType } from "./components/linked/linked.component";
|
|
18
18
|
import { Placement } from "@floating-ui/dom";
|
|
19
19
|
import { ModalPlacement, ModalSize } from "./components/modal/modal.component";
|
|
20
|
+
import { PopConfirmPlacement, PopConfirmSize, PopConfirmStatus } from "./components/pop-confirm/pop-confirm.component";
|
|
20
21
|
import { SegmentedPickerSize } from "./components/segmented-picker/types";
|
|
21
22
|
import { TextSize, TextVariant } from "./components/text/text.types";
|
|
22
23
|
import { InputSize as InputSize1, InputStatus as InputStatus1, TextareaResize } from "./components/textarea/types";
|
|
24
|
+
import { TooltipPlacement, TooltipSize, TooltipTrigger } from "./components/tooltip/tooltip.component";
|
|
23
25
|
export { AccordionChangeEventType } from "./components/accordion/types";
|
|
24
26
|
export { AccordionGroupChangeEventType } from "./components/accordion-group/types";
|
|
25
27
|
export { AlertKind, AlertSize, AlertStatus } from "./components/alert/types";
|
|
@@ -32,9 +34,11 @@ export { Event } from "./stencil-public-runtime";
|
|
|
32
34
|
export { TriggerType } from "./components/linked/linked.component";
|
|
33
35
|
export { Placement } from "@floating-ui/dom";
|
|
34
36
|
export { ModalPlacement, ModalSize } from "./components/modal/modal.component";
|
|
37
|
+
export { PopConfirmPlacement, PopConfirmSize, PopConfirmStatus } from "./components/pop-confirm/pop-confirm.component";
|
|
35
38
|
export { SegmentedPickerSize } from "./components/segmented-picker/types";
|
|
36
39
|
export { TextSize, TextVariant } from "./components/text/text.types";
|
|
37
40
|
export { InputSize as InputSize1, InputStatus as InputStatus1, TextareaResize } from "./components/textarea/types";
|
|
41
|
+
export { TooltipPlacement, TooltipSize, TooltipTrigger } from "./components/tooltip/tooltip.component";
|
|
38
42
|
export namespace Components {
|
|
39
43
|
/**
|
|
40
44
|
* @component BcmAccordion
|
|
@@ -524,6 +528,11 @@ export namespace Components {
|
|
|
524
528
|
* @default false
|
|
525
529
|
*/
|
|
526
530
|
"error": boolean;
|
|
531
|
+
/**
|
|
532
|
+
* Full width checkbox
|
|
533
|
+
* @default false
|
|
534
|
+
*/
|
|
535
|
+
"fullWidth": boolean;
|
|
527
536
|
/**
|
|
528
537
|
* Determines if the checkbox is in an indeterminate state. This is useful when some items in a group of checkboxes are selected and others are not.
|
|
529
538
|
* @default false
|
|
@@ -630,30 +639,109 @@ export namespace Components {
|
|
|
630
639
|
*/
|
|
631
640
|
"variant": 'solid' | 'dashed' | 'dotted';
|
|
632
641
|
}
|
|
642
|
+
/**
|
|
643
|
+
* @component BcmDrawer
|
|
644
|
+
* @description A slide-in panel component built on the native HTML Dialog API.
|
|
645
|
+
* Ideal for navigation menus, forms, and contextual information that slides in from any edge of the screen.
|
|
646
|
+
* @example ```html
|
|
647
|
+
* <!-- Basic usage -->
|
|
648
|
+
* <bcm-drawer open header-text="Menu" position="left">
|
|
649
|
+
* <nav>
|
|
650
|
+
* <a href="/home">Home</a>
|
|
651
|
+
* <a href="/about">About</a>
|
|
652
|
+
* </nav>
|
|
653
|
+
* </bcm-drawer>
|
|
654
|
+
* <!-- Custom size and position -->
|
|
655
|
+
* <bcm-drawer size="large" position="right">
|
|
656
|
+
* <div slot="header">Settings</div>
|
|
657
|
+
* <form>...</form>
|
|
658
|
+
* <div slot="footer">
|
|
659
|
+
* <button data-dismiss>Cancel</button>
|
|
660
|
+
* <button>Save</button>
|
|
661
|
+
* </div>
|
|
662
|
+
* </bcm-drawer>
|
|
663
|
+
* <!-- Custom size with CSS units -->
|
|
664
|
+
* <bcm-drawer size="600px" position="bottom">
|
|
665
|
+
* <p>Custom height drawer</p>
|
|
666
|
+
* </bcm-drawer>
|
|
667
|
+
* <!-- Programmatic usage -->
|
|
668
|
+
* <bcm-drawer id="myDrawer">Content</bcm-drawer>
|
|
669
|
+
* <script>
|
|
670
|
+
* document.getElementById('myDrawer').show();
|
|
671
|
+
* </script>
|
|
672
|
+
* ```
|
|
673
|
+
*/
|
|
633
674
|
interface BcmDrawer {
|
|
634
675
|
/**
|
|
676
|
+
* Controls backdrop behavior - true: Shows backdrop, drawer can be closed by clicking outside - false: No backdrop - 'static': Shows backdrop but prevents closing by clicking outside (triggers shake animation)
|
|
677
|
+
* @default true
|
|
678
|
+
*/
|
|
679
|
+
"backdrop": boolean | 'static';
|
|
680
|
+
/**
|
|
681
|
+
* Allows closing the drawer by clicking on the backdrop
|
|
682
|
+
* @default true
|
|
683
|
+
*/
|
|
684
|
+
"closeOnBackdrop": boolean;
|
|
685
|
+
/**
|
|
686
|
+
* Allows closing the drawer by pressing the Escape key
|
|
687
|
+
* @default true
|
|
688
|
+
*/
|
|
689
|
+
"closeOnEscape": boolean;
|
|
690
|
+
/**
|
|
691
|
+
* Makes the drawer take the full screen (100vw x 100vh)
|
|
692
|
+
* @default false
|
|
693
|
+
*/
|
|
694
|
+
"fullScreen": boolean;
|
|
695
|
+
/**
|
|
696
|
+
* Makes the drawer take full width (for left/right) or full height (for top/bottom)
|
|
635
697
|
* @default false
|
|
636
698
|
*/
|
|
637
699
|
"fullWidth": boolean;
|
|
700
|
+
/**
|
|
701
|
+
* Text to display in the drawer header
|
|
702
|
+
*/
|
|
638
703
|
"headerText"?: string;
|
|
704
|
+
/**
|
|
705
|
+
* Helper text to display below the header title
|
|
706
|
+
*/
|
|
707
|
+
"helperText"?: string;
|
|
708
|
+
/**
|
|
709
|
+
* Programmatically closes the drawer
|
|
710
|
+
*/
|
|
639
711
|
"hide": () => Promise<void>;
|
|
640
712
|
/**
|
|
713
|
+
* Hides the footer section completely
|
|
714
|
+
* @default false
|
|
715
|
+
*/
|
|
716
|
+
"noFooter": boolean;
|
|
717
|
+
/**
|
|
718
|
+
* Hides the header section completely
|
|
641
719
|
* @default false
|
|
642
720
|
*/
|
|
643
721
|
"noHeader": boolean;
|
|
644
722
|
/**
|
|
723
|
+
* Controls whether the drawer is open or closed
|
|
645
724
|
* @default false
|
|
646
725
|
*/
|
|
647
726
|
"open": boolean;
|
|
648
727
|
/**
|
|
728
|
+
* The position where the drawer slides in from - 'left': Slides from the left edge - 'right': Slides from the right edge - 'top': Slides from the top edge - 'bottom': Slides from the bottom edge
|
|
649
729
|
* @default 'right'
|
|
650
730
|
*/
|
|
651
731
|
"position": DrawerPosition;
|
|
732
|
+
/**
|
|
733
|
+
* Programmatically opens the drawer
|
|
734
|
+
*/
|
|
652
735
|
"show": () => Promise<void>;
|
|
653
736
|
/**
|
|
737
|
+
* The size of the drawer. Can be a preset value or a custom CSS size - For left/right drawers: - 'small': 320px - 'medium': 480px - 'large': 1064px - For top/bottom drawers: - 'small': 40vh - 'medium': 60vh - 'large': 90vh - Custom values: Any valid CSS size (e.g., '600px', '50%', '30rem', '80vw')
|
|
654
738
|
* @default 'medium'
|
|
655
739
|
*/
|
|
656
740
|
"size": DrawerSize;
|
|
741
|
+
/**
|
|
742
|
+
* Toggles the drawer open/closed state
|
|
743
|
+
*/
|
|
744
|
+
"toggle": () => Promise<void>;
|
|
657
745
|
}
|
|
658
746
|
interface BcmDropdown {
|
|
659
747
|
"text"?: string;
|
|
@@ -802,221 +890,436 @@ export namespace Components {
|
|
|
802
890
|
*/
|
|
803
891
|
"value": string;
|
|
804
892
|
}
|
|
893
|
+
/**
|
|
894
|
+
* @component BcmLinked
|
|
895
|
+
* @description A flexible linked floating element component that displays contextual content relative to a trigger element.
|
|
896
|
+
* Built on the native Popover API for top-layer rendering and Floating UI for intelligent positioning.
|
|
897
|
+
* Supports different trigger types (click, hover, focus, manual) and comprehensive event system.
|
|
898
|
+
* @example Basic Click Trigger
|
|
899
|
+
* <bcm-linked trigger="click">
|
|
900
|
+
* <button slot="trigger">Click Me</button>
|
|
901
|
+
* <div>Floating content here</div>
|
|
902
|
+
* </bcm-linked>
|
|
903
|
+
* @example Hover Trigger with Delays
|
|
904
|
+
* <bcm-linked trigger="hover" show-delay="200" hide-delay="100">
|
|
905
|
+
* <span slot="trigger">Hover Me</span>
|
|
906
|
+
* <div>This appears on hover</div>
|
|
907
|
+
* </bcm-linked>
|
|
908
|
+
* @example Manual Control
|
|
909
|
+
* <bcm-linked id="my-linked" trigger="manual">
|
|
910
|
+
* <button slot="trigger">Trigger</button>
|
|
911
|
+
* <div>Controlled content</div>
|
|
912
|
+
* </bcm-linked>
|
|
913
|
+
* <script>
|
|
914
|
+
* const linked = document.querySelector('#my-linked');
|
|
915
|
+
* linked.show(); // Opens the floating element
|
|
916
|
+
* linked.hide(); // Closes the floating element
|
|
917
|
+
* </script>
|
|
918
|
+
* @csspart floating - The floating container element
|
|
919
|
+
* @csspart arrow - The arrow element pointing to the trigger
|
|
920
|
+
* @csspart content - The content wrapper element
|
|
921
|
+
*/
|
|
805
922
|
interface BcmLinked {
|
|
806
923
|
/**
|
|
807
|
-
* @
|
|
924
|
+
* @prop {boolean} closeOnEscape - Whether to close when pressing Escape key. Default: true
|
|
925
|
+
* @default true
|
|
808
926
|
*/
|
|
809
|
-
"
|
|
927
|
+
"closeOnEscape": boolean;
|
|
810
928
|
/**
|
|
811
|
-
* @
|
|
929
|
+
* @prop {boolean} closeOnOutsideClick - Whether to close when clicking outside. Default: true
|
|
930
|
+
* @default true
|
|
812
931
|
*/
|
|
813
|
-
"
|
|
932
|
+
"closeOnOutsideClick": boolean;
|
|
814
933
|
/**
|
|
934
|
+
* @prop {boolean} disabled - Disables the floating element, preventing it from showing. Default: false
|
|
815
935
|
* @default false
|
|
816
936
|
*/
|
|
817
|
-
"
|
|
937
|
+
"disabled": boolean;
|
|
818
938
|
/**
|
|
819
|
-
*
|
|
939
|
+
* Programmatically hides the floating element. Respects the hideDelay prop.
|
|
820
940
|
*/
|
|
821
|
-
"disabled": boolean;
|
|
822
941
|
"hide": () => Promise<void>;
|
|
823
942
|
/**
|
|
943
|
+
* @prop {number} hideDelay - Delay in milliseconds before hiding the floating element. Default: 0
|
|
824
944
|
* @default 0
|
|
825
945
|
*/
|
|
826
946
|
"hideDelay": number;
|
|
827
947
|
/**
|
|
948
|
+
* @prop {number} offsetDistance - Distance in pixels between the floating element and the trigger. Default: 8
|
|
828
949
|
* @default 8
|
|
829
950
|
*/
|
|
830
|
-
"
|
|
951
|
+
"offsetDistance": number;
|
|
831
952
|
/**
|
|
953
|
+
* @prop {Placement} placement - Defines the position of the floating element relative to the trigger. Default: 'bottom-start'
|
|
832
954
|
* @default 'bottom-start'
|
|
833
955
|
*/
|
|
834
956
|
"placement": Placement;
|
|
957
|
+
/**
|
|
958
|
+
* Programmatically shows the floating element. Respects the showDelay prop.
|
|
959
|
+
*/
|
|
835
960
|
"show": () => Promise<void>;
|
|
836
961
|
/**
|
|
962
|
+
* @prop {boolean} showArrow - Whether to show an arrow pointing to the trigger element. Default: true
|
|
963
|
+
* @default true
|
|
964
|
+
*/
|
|
965
|
+
"showArrow": boolean;
|
|
966
|
+
/**
|
|
967
|
+
* @prop {number} showDelay - Delay in milliseconds before showing the floating element. Default: 0
|
|
837
968
|
* @default 0
|
|
838
969
|
*/
|
|
839
970
|
"showDelay": number;
|
|
840
|
-
|
|
841
|
-
|
|
971
|
+
/**
|
|
972
|
+
* Toggles the floating element visibility.
|
|
973
|
+
*/
|
|
842
974
|
"toggle": () => Promise<void>;
|
|
843
975
|
/**
|
|
976
|
+
* @prop {TriggerType} trigger - Defines the interaction type to show/hide the floating element. 'click' toggles on click, 'hover' shows on mouse enter and hides on mouse leave, 'focus' shows on focus and hides on blur, 'manual' requires programmatic control. Default: 'click'
|
|
844
977
|
* @default 'click'
|
|
845
978
|
*/
|
|
846
979
|
"trigger": TriggerType;
|
|
847
|
-
"updatePositioning": () => Promise<void>;
|
|
848
980
|
/**
|
|
849
|
-
*
|
|
981
|
+
* Updates the position of the floating element. Useful when the trigger element moves or resizes.
|
|
982
|
+
*/
|
|
983
|
+
"updatePosition": () => Promise<void>;
|
|
984
|
+
/**
|
|
985
|
+
* @prop {boolean} visible - Controls the visibility state of the floating element. Can be set programmatically or toggled by user interaction. Default: false
|
|
986
|
+
* @default false
|
|
850
987
|
*/
|
|
851
|
-
"
|
|
988
|
+
"visible": boolean;
|
|
852
989
|
}
|
|
990
|
+
/**
|
|
991
|
+
* @component BcmModal
|
|
992
|
+
* @description A flexible modal dialog component built on the native HTML Dialog API.
|
|
993
|
+
* Provides a powerful way to display content in a layer above the page with full keyboard and focus management.
|
|
994
|
+
* @example ```html
|
|
995
|
+
* <!-- Basic usage -->
|
|
996
|
+
* <bcm-modal open header-text="Welcome" helper-text="Please read carefully">
|
|
997
|
+
* <p>Modal content goes here</p>
|
|
998
|
+
* <div slot="footer">
|
|
999
|
+
* <button data-dismiss>Close</button>
|
|
1000
|
+
* </div>
|
|
1001
|
+
* </bcm-modal>
|
|
1002
|
+
* <!-- Custom size and placement -->
|
|
1003
|
+
* <bcm-modal size="large" placement="top">
|
|
1004
|
+
* <div slot="header">Custom Header</div>
|
|
1005
|
+
* <p>Content here</p>
|
|
1006
|
+
* <div slot="footer">
|
|
1007
|
+
* <button>Cancel</button>
|
|
1008
|
+
* <button>Confirm</button>
|
|
1009
|
+
* </div>
|
|
1010
|
+
* </bcm-modal>
|
|
1011
|
+
* <!-- Full screen modal -->
|
|
1012
|
+
* <bcm-modal full-screen no-footer>
|
|
1013
|
+
* <p>Full screen content</p>
|
|
1014
|
+
* </bcm-modal>
|
|
1015
|
+
* <!-- Programmatic usage -->
|
|
1016
|
+
* <bcm-modal id="myModal">Content</bcm-modal>
|
|
1017
|
+
* <script>
|
|
1018
|
+
* document.getElementById('myModal').show();
|
|
1019
|
+
* </script>
|
|
1020
|
+
* ```
|
|
1021
|
+
*/
|
|
853
1022
|
interface BcmModal {
|
|
854
1023
|
/**
|
|
1024
|
+
* Controls backdrop behavior - true: Shows backdrop, modal can be closed by clicking outside - false: No backdrop - 'static': Shows backdrop but prevents closing by clicking outside (triggers shake animation)
|
|
855
1025
|
* @default true
|
|
856
1026
|
*/
|
|
857
1027
|
"backdrop": boolean | 'static';
|
|
858
1028
|
/**
|
|
1029
|
+
* Allows closing the modal by clicking on the backdrop
|
|
859
1030
|
* @default true
|
|
860
1031
|
*/
|
|
861
1032
|
"closeOnBackdrop": boolean;
|
|
862
1033
|
/**
|
|
1034
|
+
* Allows closing the modal by pressing the Escape key
|
|
863
1035
|
* @default true
|
|
864
1036
|
*/
|
|
865
1037
|
"closeOnEscape": boolean;
|
|
866
1038
|
/**
|
|
1039
|
+
* Makes the modal take the full screen (100vw x 100vh, no border radius)
|
|
867
1040
|
* @default false
|
|
868
1041
|
*/
|
|
869
1042
|
"fullScreen": boolean;
|
|
870
1043
|
/**
|
|
1044
|
+
* Makes the modal take full width of the viewport (max-width: 100%)
|
|
871
1045
|
* @default false
|
|
872
1046
|
*/
|
|
873
1047
|
"fullWidth": boolean;
|
|
1048
|
+
/**
|
|
1049
|
+
* Text to display in the modal header
|
|
1050
|
+
*/
|
|
874
1051
|
"headerText"?: string;
|
|
1052
|
+
/**
|
|
1053
|
+
* Helper text to display below the header title
|
|
1054
|
+
*/
|
|
875
1055
|
"helperText"?: string;
|
|
1056
|
+
/**
|
|
1057
|
+
* Programmatically closes the modal
|
|
1058
|
+
*/
|
|
876
1059
|
"hide": () => Promise<void>;
|
|
877
1060
|
/**
|
|
1061
|
+
* Hides the footer section completely
|
|
878
1062
|
* @default false
|
|
879
1063
|
*/
|
|
880
1064
|
"noFooter": boolean;
|
|
881
1065
|
/**
|
|
1066
|
+
* Hides the header section completely
|
|
882
1067
|
* @default false
|
|
883
1068
|
*/
|
|
884
1069
|
"noHeader": boolean;
|
|
885
1070
|
/**
|
|
1071
|
+
* Controls whether the modal is open or closed
|
|
886
1072
|
* @default false
|
|
887
1073
|
*/
|
|
888
1074
|
"open": boolean;
|
|
889
1075
|
/**
|
|
1076
|
+
* The placement of the modal on the screen - 'center': Centered vertically and horizontally - 'top': Aligned to the top with 80px padding
|
|
890
1077
|
* @default 'center'
|
|
891
1078
|
*/
|
|
892
1079
|
"placement": ModalPlacement;
|
|
1080
|
+
/**
|
|
1081
|
+
* Programmatically opens the modal
|
|
1082
|
+
*/
|
|
893
1083
|
"show": () => Promise<void>;
|
|
894
1084
|
/**
|
|
1085
|
+
* The size of the modal - 'small': 400px - 'medium': 600px - 'large': 800px - 'xlarge': 1024px - 'xxlarge': 1200px - 'full': 100% width
|
|
895
1086
|
* @default 'medium'
|
|
896
1087
|
*/
|
|
897
1088
|
"size": ModalSize;
|
|
1089
|
+
/**
|
|
1090
|
+
* Toggles the modal open/closed state
|
|
1091
|
+
*/
|
|
898
1092
|
"toggle": () => Promise<void>;
|
|
899
1093
|
}
|
|
900
1094
|
/**
|
|
901
1095
|
* @component BcmPopConfirm
|
|
902
|
-
* @description A
|
|
903
|
-
*
|
|
904
|
-
*
|
|
905
|
-
*
|
|
906
|
-
* @
|
|
907
|
-
*
|
|
908
|
-
*
|
|
909
|
-
*
|
|
910
|
-
*
|
|
1096
|
+
* @description A confirmation popover component that displays a confirmation dialog with customizable actions.
|
|
1097
|
+
* Built on the native Popover API for top-layer rendering and Floating UI for intelligent positioning.
|
|
1098
|
+
* Ideal for confirming destructive actions or important decisions inline.
|
|
1099
|
+
* @csspart container - The main popover container element
|
|
1100
|
+
* @csspart arrow - The arrow pointer element
|
|
1101
|
+
* @csspart body - The body/description section
|
|
1102
|
+
* @csspart footer - The footer section with action buttons
|
|
1103
|
+
* @example Basic Usage
|
|
1104
|
+
* ```html
|
|
1105
|
+
* <bcm-pop-confirm
|
|
1106
|
+
* header-text="Delete Item?"
|
|
1107
|
+
* description="Are you sure you want to delete this item? This action cannot be undone."
|
|
1108
|
+
* status="error"
|
|
1109
|
+
* >
|
|
1110
|
+
* <bcm-button status="error">Delete</bcm-button>
|
|
911
1111
|
* </bcm-pop-confirm>
|
|
912
|
-
*
|
|
913
|
-
*
|
|
914
|
-
*
|
|
915
|
-
*
|
|
916
|
-
*
|
|
1112
|
+
* ```
|
|
1113
|
+
* @example With Event Handlers
|
|
1114
|
+
* ```html
|
|
1115
|
+
* <bcm-pop-confirm
|
|
1116
|
+
* id="deleteConfirm"
|
|
1117
|
+
* header-text="Confirm Delete"
|
|
1118
|
+
* description="This will permanently delete the item."
|
|
1119
|
+
* status="warning"
|
|
1120
|
+
* confirm-text="Yes, Delete"
|
|
1121
|
+
* cancel-text="No, Keep It"
|
|
1122
|
+
* >
|
|
1123
|
+
* <bcm-button>Delete Item</bcm-button>
|
|
1124
|
+
* </bcm-pop-confirm>
|
|
1125
|
+
* <script>
|
|
1126
|
+
* const popconfirm = document.getElementById('deleteConfirm');
|
|
1127
|
+
* popconfirm.addEventListener('bcmConfirm', () => {
|
|
1128
|
+
* console.log('User confirmed deletion');
|
|
1129
|
+
* // Perform delete operation
|
|
917
1130
|
* });
|
|
918
|
-
*
|
|
919
|
-
* console.log('User
|
|
1131
|
+
* popconfirm.addEventListener('bcmCancel', () => {
|
|
1132
|
+
* console.log('User cancelled deletion');
|
|
920
1133
|
* });
|
|
921
|
-
*
|
|
922
|
-
*
|
|
923
|
-
*
|
|
924
|
-
*
|
|
925
|
-
*
|
|
926
|
-
*
|
|
927
|
-
*
|
|
928
|
-
*
|
|
929
|
-
*
|
|
930
|
-
*
|
|
931
|
-
*
|
|
932
|
-
*
|
|
933
|
-
*
|
|
934
|
-
*
|
|
935
|
-
*
|
|
936
|
-
*
|
|
937
|
-
*
|
|
938
|
-
*
|
|
939
|
-
*
|
|
940
|
-
*
|
|
941
|
-
*
|
|
942
|
-
* @
|
|
943
|
-
*
|
|
944
|
-
*
|
|
945
|
-
*
|
|
1134
|
+
* </script>
|
|
1135
|
+
* ```
|
|
1136
|
+
* @example Different Status Types
|
|
1137
|
+
* ```html
|
|
1138
|
+
* <!-- Info (default) -->
|
|
1139
|
+
* <bcm-pop-confirm header-text="Information" description="This is an info message">
|
|
1140
|
+
* <bcm-button>Info</bcm-button>
|
|
1141
|
+
* </bcm-pop-confirm>
|
|
1142
|
+
* <!-- Success -->
|
|
1143
|
+
* <bcm-pop-confirm status="success" header-text="Confirm Action" description="Proceed with this action?">
|
|
1144
|
+
* <bcm-button status="success">Proceed</bcm-button>
|
|
1145
|
+
* </bcm-pop-confirm>
|
|
1146
|
+
* <!-- Warning -->
|
|
1147
|
+
* <bcm-pop-confirm status="warning" header-text="Warning" description="This action may have consequences">
|
|
1148
|
+
* <bcm-button status="warning">Continue</bcm-button>
|
|
1149
|
+
* </bcm-pop-confirm>
|
|
1150
|
+
* <!-- Error/Danger -->
|
|
1151
|
+
* <bcm-pop-confirm status="error" header-text="Danger Zone" description="This is a destructive action">
|
|
1152
|
+
* <bcm-button status="error">Delete</bcm-button>
|
|
1153
|
+
* </bcm-pop-confirm>
|
|
1154
|
+
* ```
|
|
1155
|
+
* @example Custom Content with Slots
|
|
1156
|
+
* ```html
|
|
1157
|
+
* <bcm-pop-confirm status="warning">
|
|
1158
|
+
* <bcm-button>Custom Confirm</bcm-button>
|
|
1159
|
+
* <div slot="header">
|
|
1160
|
+
* <strong>Custom Header</strong>
|
|
1161
|
+
* </div>
|
|
1162
|
+
* <div slot="body">
|
|
1163
|
+
* <p>This is custom body content with <strong>HTML formatting</strong>.</p>
|
|
1164
|
+
* <ul>
|
|
1165
|
+
* <li>Point 1</li>
|
|
1166
|
+
* <li>Point 2</li>
|
|
1167
|
+
* </ul>
|
|
1168
|
+
* </div>
|
|
1169
|
+
* <div slot="footer">
|
|
1170
|
+
* <bcm-button kind="outline" size="small">Maybe Later</bcm-button>
|
|
1171
|
+
* <bcm-button status="success" size="small">Confirm</bcm-button>
|
|
1172
|
+
* </div>
|
|
1173
|
+
* </bcm-pop-confirm>
|
|
1174
|
+
* ```
|
|
1175
|
+
* @example Different Sizes
|
|
1176
|
+
* ```html
|
|
1177
|
+
* <!-- Small -->
|
|
1178
|
+
* <bcm-pop-confirm size="small" header-text="Small" description="Compact confirmation">
|
|
1179
|
+
* <bcm-button size="small">Small</bcm-button>
|
|
1180
|
+
* </bcm-pop-confirm>
|
|
1181
|
+
* <!-- Medium (default) -->
|
|
1182
|
+
* <bcm-pop-confirm size="medium" header-text="Medium" description="Standard confirmation">
|
|
1183
|
+
* <bcm-button size="medium">Medium</bcm-button>
|
|
1184
|
+
* </bcm-pop-confirm>
|
|
1185
|
+
* <!-- Large -->
|
|
1186
|
+
* <bcm-pop-confirm size="large" header-text="Large" description="Spacious confirmation with more room for content">
|
|
1187
|
+
* <bcm-button size="large">Large</bcm-button>
|
|
1188
|
+
* </bcm-pop-confirm>
|
|
1189
|
+
* ```
|
|
1190
|
+
* @example Programmatic Control
|
|
1191
|
+
* ```html
|
|
1192
|
+
* <bcm-pop-confirm id="myConfirm" header-text="Confirm" description="Are you sure?">
|
|
1193
|
+
* <bcm-button>Trigger</bcm-button>
|
|
1194
|
+
* </bcm-pop-confirm>
|
|
1195
|
+
* <bcm-button id="showBtn">Show Programmatically</bcm-button>
|
|
1196
|
+
* <bcm-button id="hideBtn">Hide Programmatically</bcm-button>
|
|
1197
|
+
* <script>
|
|
1198
|
+
* const popconfirm = document.getElementById('myConfirm');
|
|
1199
|
+
* document.getElementById('showBtn').addEventListener('click', () => {
|
|
1200
|
+
* popconfirm.show();
|
|
1201
|
+
* });
|
|
1202
|
+
* document.getElementById('hideBtn').addEventListener('click', () => {
|
|
1203
|
+
* popconfirm.hide();
|
|
1204
|
+
* });
|
|
1205
|
+
* </script>
|
|
1206
|
+
* ```
|
|
1207
|
+
* @example Without Status Icon
|
|
1208
|
+
* ```html
|
|
1209
|
+
* <bcm-pop-confirm
|
|
1210
|
+
* header-text="Simple Confirmation"
|
|
1211
|
+
* description="No status icon shown"
|
|
1212
|
+
* status-icon={false}
|
|
1213
|
+
* >
|
|
1214
|
+
* <bcm-button>Click Me</bcm-button>
|
|
1215
|
+
* </bcm-pop-confirm>
|
|
1216
|
+
* ```
|
|
1217
|
+
* @example Different Placements
|
|
1218
|
+
* ```html
|
|
1219
|
+
* <bcm-pop-confirm placement="top" header-text="Top" description="Opens above">
|
|
1220
|
+
* <bcm-button>Top</bcm-button>
|
|
1221
|
+
* </bcm-pop-confirm>
|
|
1222
|
+
* <bcm-pop-confirm placement="right" header-text="Right" description="Opens to the right">
|
|
1223
|
+
* <bcm-button>Right</bcm-button>
|
|
1224
|
+
* </bcm-pop-confirm>
|
|
1225
|
+
* <bcm-pop-confirm placement="bottom" header-text="Bottom" description="Opens below">
|
|
1226
|
+
* <bcm-button>Bottom</bcm-button>
|
|
1227
|
+
* </bcm-pop-confirm>
|
|
1228
|
+
* <bcm-pop-confirm placement="left" header-text="Left" description="Opens to the left">
|
|
1229
|
+
* <bcm-button>Left</bcm-button>
|
|
1230
|
+
* </bcm-pop-confirm>
|
|
1231
|
+
* ```
|
|
946
1232
|
*/
|
|
947
1233
|
interface BcmPopConfirm {
|
|
948
1234
|
/**
|
|
949
|
-
*
|
|
950
|
-
* @default 'var(--bcm-ui-color-background-basic-panel)'
|
|
951
|
-
*/
|
|
952
|
-
"arrowColor": string;
|
|
953
|
-
/**
|
|
954
|
-
* The text displayed on the cancel button.
|
|
1235
|
+
* @prop {string} cancelText - Text for the cancel button. Default: 'Cancel'
|
|
955
1236
|
* @default 'Cancel'
|
|
956
1237
|
*/
|
|
957
1238
|
"cancelText": string;
|
|
958
1239
|
/**
|
|
959
|
-
*
|
|
1240
|
+
* @prop {boolean} closeOnEscape - Whether to close when pressing the Escape key. Default: true
|
|
1241
|
+
* @default true
|
|
1242
|
+
*/
|
|
1243
|
+
"closeOnEscape": boolean;
|
|
1244
|
+
/**
|
|
1245
|
+
* @prop {boolean} closeOnOutsideClick - Whether to close when clicking outside the popover. Default: true
|
|
1246
|
+
* @default true
|
|
1247
|
+
*/
|
|
1248
|
+
"closeOnOutsideClick": boolean;
|
|
1249
|
+
/**
|
|
1250
|
+
* @prop {string} confirmText - Text for the confirm button. Default: 'Yes'
|
|
960
1251
|
* @default 'Yes'
|
|
961
1252
|
*/
|
|
962
1253
|
"confirmText": string;
|
|
963
1254
|
/**
|
|
964
|
-
*
|
|
1255
|
+
* @prop {string} description - Description text displayed in the body section. Can be overridden by using the 'body' slot. Default: ''
|
|
965
1256
|
* @default ''
|
|
966
1257
|
*/
|
|
967
1258
|
"description": string;
|
|
968
1259
|
/**
|
|
969
|
-
*
|
|
1260
|
+
* @prop {string} headerText - Text displayed in the header section. Can be overridden by using the 'header' slot. Default: ''
|
|
970
1261
|
* @default ''
|
|
971
1262
|
*/
|
|
972
1263
|
"headerText": string;
|
|
973
1264
|
/**
|
|
974
|
-
* Programmatically hides the
|
|
975
|
-
* @returns
|
|
1265
|
+
* Programmatically hides the popconfirm.
|
|
1266
|
+
* @returns Promise that resolves when the hide operation begins
|
|
976
1267
|
*/
|
|
977
1268
|
"hide": () => Promise<void>;
|
|
978
1269
|
/**
|
|
979
|
-
*
|
|
980
|
-
* @default
|
|
1270
|
+
* @prop {number} offsetDistance - Distance in pixels between the popover and trigger element. Default: 12
|
|
1271
|
+
* @default 12
|
|
981
1272
|
*/
|
|
982
|
-
"
|
|
1273
|
+
"offsetDistance": number;
|
|
983
1274
|
/**
|
|
984
|
-
*
|
|
985
|
-
* @
|
|
1275
|
+
* @prop {PopConfirmPlacement} placement - Position of the popover relative to the trigger element. Automatically flips if there's not enough space. Default: 'top'
|
|
1276
|
+
* @default 'top'
|
|
1277
|
+
*/
|
|
1278
|
+
"placement": PopConfirmPlacement;
|
|
1279
|
+
/**
|
|
1280
|
+
* Programmatically shows the popconfirm.
|
|
1281
|
+
* @returns Promise that resolves when the show operation begins
|
|
986
1282
|
*/
|
|
987
1283
|
"show": () => Promise<void>;
|
|
988
1284
|
/**
|
|
989
|
-
*
|
|
1285
|
+
* @prop {boolean} showArrow - Whether to show the arrow pointing to the trigger. Default: true
|
|
1286
|
+
* @default true
|
|
1287
|
+
*/
|
|
1288
|
+
"showArrow": boolean;
|
|
1289
|
+
/**
|
|
1290
|
+
* @prop {PopConfirmSize} size - Size variant that controls padding and text size. - 'small': Compact size with minimal padding - 'medium': Standard size - 'large': Spacious size with more padding Default: 'medium'
|
|
990
1291
|
* @default 'medium'
|
|
991
1292
|
*/
|
|
992
|
-
"size":
|
|
1293
|
+
"size": PopConfirmSize;
|
|
993
1294
|
/**
|
|
994
|
-
*
|
|
1295
|
+
* @prop {PopConfirmStatus} status - Status type that determines the color scheme and icon. - 'info': Informational (blue) - 'success': Success/positive action (green) - 'warning': Warning/caution (yellow) - 'error': Error/destructive action (red) Default: 'info'
|
|
995
1296
|
* @default 'info'
|
|
996
1297
|
*/
|
|
997
|
-
"status":
|
|
1298
|
+
"status": PopConfirmStatus;
|
|
998
1299
|
/**
|
|
999
|
-
* Whether to
|
|
1300
|
+
* @prop {boolean} statusIcon - Whether to show the status icon in the header. Icon only shows if headerText is also provided. Default: true
|
|
1000
1301
|
* @default true
|
|
1001
1302
|
*/
|
|
1002
1303
|
"statusIcon": boolean;
|
|
1003
1304
|
/**
|
|
1004
|
-
*
|
|
1305
|
+
* Toggles the popconfirm visibility. If open, it will close. If closed, it will open.
|
|
1306
|
+
* @returns Promise that resolves when the toggle operation completes
|
|
1005
1307
|
*/
|
|
1006
|
-
"
|
|
1308
|
+
"toggle": () => Promise<void>;
|
|
1007
1309
|
}
|
|
1008
1310
|
/**
|
|
1009
1311
|
* @component BcmPopover
|
|
1010
1312
|
* @description A flexible popover component that displays contextual information or content relative to a target element.
|
|
1011
|
-
*
|
|
1313
|
+
* Built on the native Popover API for top-layer rendering and Floating UI for intelligent positioning.
|
|
1314
|
+
* Supports different sizes, trigger types (click, hover, focus), placements, and comprehensive event system.
|
|
1012
1315
|
* @example Basic Click Popover
|
|
1013
1316
|
* <bcm-popover trigger="click" size="medium" placement="top">
|
|
1014
1317
|
* <bcm-button>Click Me</bcm-button>
|
|
1015
1318
|
* <span slot="header">Header</span>
|
|
1016
1319
|
* <span slot="content">This is a simple popover content.</span>
|
|
1017
1320
|
* </bcm-popover>
|
|
1018
|
-
* @example Hover Popover with
|
|
1019
|
-
* <bcm-popover trigger="hover"
|
|
1321
|
+
* @example Hover Popover with Delays
|
|
1322
|
+
* <bcm-popover trigger="hover" show-delay="200" hide-delay="100" size="large" placement="right" header-text="Prop Header" message="This is a hover popover with props.">
|
|
1020
1323
|
* <bcm-button>Hover Me</bcm-button>
|
|
1021
1324
|
* </bcm-popover>
|
|
1022
1325
|
* @example Programmatic Control
|
|
@@ -1026,8 +1329,9 @@ export namespace Components {
|
|
|
1026
1329
|
* </bcm-popover>
|
|
1027
1330
|
* <script>
|
|
1028
1331
|
* const popover = document.querySelector('#my-popover');
|
|
1029
|
-
* popover.
|
|
1030
|
-
* popover.
|
|
1332
|
+
* popover.show(); // Opens the popover
|
|
1333
|
+
* popover.hide(); // Closes the popover
|
|
1334
|
+
* popover.toggle(); // Toggles the popover
|
|
1031
1335
|
* </script>
|
|
1032
1336
|
* @csspart popover - The root popover container element, stylable for the entire popover
|
|
1033
1337
|
* @csspart header - The header section of the popover, stylable for the title area
|
|
@@ -1036,48 +1340,70 @@ export namespace Components {
|
|
|
1036
1340
|
*/
|
|
1037
1341
|
interface BcmPopover {
|
|
1038
1342
|
/**
|
|
1039
|
-
* @
|
|
1040
|
-
* @
|
|
1343
|
+
* @prop {boolean} arrow - Whether to show an arrow pointing to the trigger element. Default: true
|
|
1344
|
+
* @default true
|
|
1345
|
+
*/
|
|
1346
|
+
"arrow": boolean;
|
|
1347
|
+
/**
|
|
1348
|
+
* @prop {boolean} closeOnEscape - Whether to close the popover when pressing Escape key. Default: true
|
|
1349
|
+
* @default true
|
|
1350
|
+
*/
|
|
1351
|
+
"closeOnEscape": boolean;
|
|
1352
|
+
/**
|
|
1353
|
+
* @prop {boolean} closeOnOutsideClick - Whether to close the popover when clicking outside. Default: true
|
|
1354
|
+
* @default true
|
|
1041
1355
|
*/
|
|
1042
|
-
"
|
|
1356
|
+
"closeOnOutsideClick": boolean;
|
|
1043
1357
|
/**
|
|
1044
1358
|
* @prop {string} headerText - Custom text for the popover header. Used as fallback content if the 'header' slot is not provided.
|
|
1045
1359
|
*/
|
|
1046
|
-
"headerText"
|
|
1360
|
+
"headerText"?: string;
|
|
1047
1361
|
/**
|
|
1048
|
-
*
|
|
1049
|
-
|
|
1362
|
+
* Programmatically hides the popover. Respects the hideDelay prop.
|
|
1363
|
+
*/
|
|
1364
|
+
"hide": () => Promise<void>;
|
|
1365
|
+
/**
|
|
1366
|
+
* @prop {number} hideDelay - Delay in milliseconds before hiding the popover. Provides a grace period for mouse movements. Default: 0
|
|
1367
|
+
* @default 0
|
|
1050
1368
|
*/
|
|
1051
|
-
"
|
|
1369
|
+
"hideDelay": number;
|
|
1052
1370
|
/**
|
|
1053
1371
|
* @prop {string} message - Custom text for the popover content. Used as fallback content if the 'content' slot is not provided.
|
|
1054
1372
|
*/
|
|
1055
|
-
"message"
|
|
1373
|
+
"message"?: string;
|
|
1056
1374
|
/**
|
|
1057
|
-
* @prop {boolean} open -
|
|
1375
|
+
* @prop {boolean} open - Controls the open state of the popover. Can be set programmatically or toggled by user interaction. Default: false
|
|
1058
1376
|
* @default false
|
|
1059
1377
|
*/
|
|
1060
1378
|
"open": boolean;
|
|
1061
|
-
/**
|
|
1062
|
-
* @method {Promise<void>} openPopup - Programmatically opens the popover. Triggers the showPopover logic to display the popover with the specified hover delay (if applicable).
|
|
1063
|
-
* @returns A promise that resolves when the popover is opened.
|
|
1064
|
-
*/
|
|
1065
|
-
"openPopup": () => Promise<void>;
|
|
1066
1379
|
/**
|
|
1067
1380
|
* @prop {('top' | 'right' | 'bottom' | 'left')} placement - Defines the position of the popover relative to the target element. Determines where the popover appears around the trigger element. Default: 'top'
|
|
1068
1381
|
* @default 'top'
|
|
1069
1382
|
*/
|
|
1070
1383
|
"placement": 'top' | 'right' | 'bottom' | 'left';
|
|
1384
|
+
/**
|
|
1385
|
+
* Programmatically shows the popover. Respects the showDelay prop.
|
|
1386
|
+
*/
|
|
1387
|
+
"show": () => Promise<void>;
|
|
1388
|
+
/**
|
|
1389
|
+
* @prop {number} showDelay - Delay in milliseconds before showing the popover. Useful to prevent popovers from appearing on quick mouse movements. Default: 0
|
|
1390
|
+
* @default 0
|
|
1391
|
+
*/
|
|
1392
|
+
"showDelay": number;
|
|
1071
1393
|
/**
|
|
1072
1394
|
* @prop {('small' | 'medium' | 'large')} size - Defines the size of the popover. Controls the text size and padding of the popover content. Default: 'medium'
|
|
1073
1395
|
* @default 'medium'
|
|
1074
1396
|
*/
|
|
1075
1397
|
"size": 'small' | 'medium' | 'large';
|
|
1076
1398
|
/**
|
|
1077
|
-
*
|
|
1399
|
+
* Toggles the popover visibility.
|
|
1400
|
+
*/
|
|
1401
|
+
"toggle": () => Promise<void>;
|
|
1402
|
+
/**
|
|
1403
|
+
* @prop {('click' | 'hover' | 'hover focus')} trigger - Defines the interaction type to show/hide the popover. 'click' toggles on click, 'hover' shows on mouse enter and hides on mouse leave, 'hover focus' combines both. Default: 'click'
|
|
1078
1404
|
* @default 'click'
|
|
1079
1405
|
*/
|
|
1080
|
-
"trigger": 'click' | 'hover';
|
|
1406
|
+
"trigger": 'click' | 'hover' | 'hover focus';
|
|
1081
1407
|
}
|
|
1082
1408
|
interface BcmRadio {
|
|
1083
1409
|
/**
|
|
@@ -1571,59 +1897,113 @@ export namespace Components {
|
|
|
1571
1897
|
}
|
|
1572
1898
|
/**
|
|
1573
1899
|
* @component BcmTooltip
|
|
1574
|
-
* @description A
|
|
1575
|
-
*
|
|
1576
|
-
*
|
|
1577
|
-
*
|
|
1578
|
-
*
|
|
1900
|
+
* @description A flexible tooltip component that provides contextual information on hover or click.
|
|
1901
|
+
* Built on the native Popover API for top-layer rendering and Floating UI for intelligent positioning.
|
|
1902
|
+
* Automatically handles overflow, flipping, and complex shadow DOM scenarios.
|
|
1903
|
+
* @example ```html
|
|
1904
|
+
* <!-- Basic usage with text message -->
|
|
1905
|
+
* <bcm-tooltip message="This is a tooltip">
|
|
1906
|
+
* <button>Hover me</button>
|
|
1579
1907
|
* </bcm-tooltip>
|
|
1580
|
-
*
|
|
1581
|
-
* <bcm-tooltip
|
|
1582
|
-
*
|
|
1908
|
+
* <!-- With custom rich content -->
|
|
1909
|
+
* <bcm-tooltip placement="right" size="large">
|
|
1910
|
+
* <button>Click me</button>
|
|
1911
|
+
* <div slot="content">
|
|
1912
|
+
* <strong>Rich content</strong>
|
|
1913
|
+
* <p>You can add any HTML here</p>
|
|
1914
|
+
* </div>
|
|
1915
|
+
* </bcm-tooltip>
|
|
1916
|
+
* <!-- Click trigger with custom delays -->
|
|
1917
|
+
* <bcm-tooltip trigger="click" show-delay="0" hide-delay="0">
|
|
1918
|
+
* <span>Click me</span>
|
|
1919
|
+
* </bcm-tooltip>
|
|
1920
|
+
* <!-- Mouse following mode -->
|
|
1921
|
+
* <bcm-tooltip follow={true} message="I follow your cursor!">
|
|
1922
|
+
* <div>Move your mouse here</div>
|
|
1923
|
+
* </bcm-tooltip>
|
|
1924
|
+
* <!-- Programmatic control -->
|
|
1925
|
+
* <bcm-tooltip id="myTooltip" message="Programmatic tooltip">
|
|
1926
|
+
* <span>Trigger</span>
|
|
1583
1927
|
* </bcm-tooltip>
|
|
1584
1928
|
* <script>
|
|
1585
|
-
*
|
|
1586
|
-
*
|
|
1587
|
-
* tooltip.
|
|
1929
|
+
* const tooltip = document.getElementById('myTooltip');
|
|
1930
|
+
* tooltip.show();
|
|
1931
|
+
* setTimeout(() => tooltip.hide(), 2000);
|
|
1588
1932
|
* </script>
|
|
1589
|
-
*
|
|
1590
|
-
*
|
|
1933
|
+
* <!-- Custom styling with CSS parts -->
|
|
1934
|
+
* <style>
|
|
1935
|
+
* bcm-tooltip::part(tooltip) {
|
|
1936
|
+
* background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
|
|
1937
|
+
* border-radius: 12px;
|
|
1938
|
+
* }
|
|
1939
|
+
* bcm-tooltip::part(arrow) {
|
|
1940
|
+
* background: #667eea;
|
|
1941
|
+
* }
|
|
1942
|
+
* </style>
|
|
1943
|
+
* ```
|
|
1591
1944
|
*/
|
|
1592
1945
|
interface BcmTooltip {
|
|
1593
1946
|
/**
|
|
1594
|
-
*
|
|
1595
|
-
* @
|
|
1947
|
+
* Whether to show an arrow pointing to the trigger element Note: Arrow is automatically hidden in 'follow' mode
|
|
1948
|
+
* @default true
|
|
1596
1949
|
*/
|
|
1597
|
-
"
|
|
1950
|
+
"arrow": boolean;
|
|
1598
1951
|
/**
|
|
1599
|
-
*
|
|
1952
|
+
* Disables the tooltip, preventing it from showing Useful for conditional tooltips based on application state
|
|
1953
|
+
* @default false
|
|
1600
1954
|
*/
|
|
1601
|
-
"
|
|
1955
|
+
"disabled": boolean;
|
|
1602
1956
|
/**
|
|
1603
|
-
*
|
|
1604
|
-
* @
|
|
1957
|
+
* Makes the tooltip follow the mouse cursor When enabled: - Arrow is hidden - Tooltip position updates smoothly with cursor movement - Pointer events are disabled on tooltip to prevent interference
|
|
1958
|
+
* @default false
|
|
1959
|
+
*/
|
|
1960
|
+
"follow": boolean;
|
|
1961
|
+
/**
|
|
1962
|
+
* Programmatically hides the tooltip Respects the hideDelay prop
|
|
1963
|
+
*/
|
|
1964
|
+
"hide": () => Promise<void>;
|
|
1965
|
+
/**
|
|
1966
|
+
* Delay in milliseconds before hiding the tooltip Provides a grace period for mouse movements
|
|
1967
|
+
* @default 100
|
|
1968
|
+
*/
|
|
1969
|
+
"hideDelay": number;
|
|
1970
|
+
/**
|
|
1971
|
+
* Simple text message to display in the tooltip Can be overridden by slotting content into the 'content' slot
|
|
1605
1972
|
*/
|
|
1606
|
-
"
|
|
1973
|
+
"message"?: string;
|
|
1607
1974
|
/**
|
|
1608
|
-
*
|
|
1975
|
+
* Distance in pixels between the tooltip and the trigger element Also used as the offset in 'follow' mode
|
|
1976
|
+
* @default 12
|
|
1977
|
+
*/
|
|
1978
|
+
"offset": number;
|
|
1979
|
+
/**
|
|
1980
|
+
* Preferred placement of the tooltip relative to the trigger Note: Tooltip will automatically flip if there's not enough space - 'top': Above the trigger element - 'right': To the right of the trigger element - 'bottom': Below the trigger element - 'left': To the left of the trigger element
|
|
1609
1981
|
* @default 'top'
|
|
1610
1982
|
*/
|
|
1611
|
-
"placement":
|
|
1983
|
+
"placement": TooltipPlacement;
|
|
1612
1984
|
/**
|
|
1613
|
-
*
|
|
1985
|
+
* Programmatically shows the tooltip Respects the showDelay prop and disabled state
|
|
1986
|
+
*/
|
|
1987
|
+
"show": () => Promise<void>;
|
|
1988
|
+
/**
|
|
1989
|
+
* Delay in milliseconds before showing the tooltip Useful to prevent tooltips from appearing on quick mouse movements
|
|
1614
1990
|
* @default 150
|
|
1615
1991
|
*/
|
|
1616
1992
|
"showDelay": number;
|
|
1617
1993
|
/**
|
|
1618
|
-
*
|
|
1994
|
+
* Size variant of the tooltip - 'small': Compact tooltip with minimal padding (text-size-3, py-1 px-2) - 'medium': Standard tooltip size (text-size-4, py-1.5 px-3) - 'large': Larger tooltip for more content (text-size-5, py-2 px-4)
|
|
1619
1995
|
* @default 'medium'
|
|
1620
1996
|
*/
|
|
1621
|
-
"size":
|
|
1997
|
+
"size": TooltipSize;
|
|
1622
1998
|
/**
|
|
1623
|
-
*
|
|
1999
|
+
* Toggles the tooltip visibility If open, hides it; if closed, shows it
|
|
2000
|
+
*/
|
|
2001
|
+
"toggle": () => Promise<void>;
|
|
2002
|
+
/**
|
|
2003
|
+
* How the tooltip is triggered - 'hover': Shows on mouse enter, hides on mouse leave - 'click': Toggles on click, closes on outside click or Escape key
|
|
1624
2004
|
* @default 'hover'
|
|
1625
2005
|
*/
|
|
1626
|
-
"trigger":
|
|
2006
|
+
"trigger": TooltipTrigger;
|
|
1627
2007
|
}
|
|
1628
2008
|
}
|
|
1629
2009
|
export interface BcmAccordionCustomEvent<T> extends CustomEvent<T> {
|
|
@@ -2013,6 +2393,38 @@ declare global {
|
|
|
2013
2393
|
"bcmBeforeOpen": void;
|
|
2014
2394
|
"bcmBeforeClose": void;
|
|
2015
2395
|
}
|
|
2396
|
+
/**
|
|
2397
|
+
* @component BcmDrawer
|
|
2398
|
+
* @description A slide-in panel component built on the native HTML Dialog API.
|
|
2399
|
+
* Ideal for navigation menus, forms, and contextual information that slides in from any edge of the screen.
|
|
2400
|
+
* @example ```html
|
|
2401
|
+
* <!-- Basic usage -->
|
|
2402
|
+
* <bcm-drawer open header-text="Menu" position="left">
|
|
2403
|
+
* <nav>
|
|
2404
|
+
* <a href="/home">Home</a>
|
|
2405
|
+
* <a href="/about">About</a>
|
|
2406
|
+
* </nav>
|
|
2407
|
+
* </bcm-drawer>
|
|
2408
|
+
* <!-- Custom size and position -->
|
|
2409
|
+
* <bcm-drawer size="large" position="right">
|
|
2410
|
+
* <div slot="header">Settings</div>
|
|
2411
|
+
* <form>...</form>
|
|
2412
|
+
* <div slot="footer">
|
|
2413
|
+
* <button data-dismiss>Cancel</button>
|
|
2414
|
+
* <button>Save</button>
|
|
2415
|
+
* </div>
|
|
2416
|
+
* </bcm-drawer>
|
|
2417
|
+
* <!-- Custom size with CSS units -->
|
|
2418
|
+
* <bcm-drawer size="600px" position="bottom">
|
|
2419
|
+
* <p>Custom height drawer</p>
|
|
2420
|
+
* </bcm-drawer>
|
|
2421
|
+
* <!-- Programmatic usage -->
|
|
2422
|
+
* <bcm-drawer id="myDrawer">Content</bcm-drawer>
|
|
2423
|
+
* <script>
|
|
2424
|
+
* document.getElementById('myDrawer').show();
|
|
2425
|
+
* </script>
|
|
2426
|
+
* ```
|
|
2427
|
+
*/
|
|
2016
2428
|
interface HTMLBcmDrawerElement extends Components.BcmDrawer, HTMLStencilElement {
|
|
2017
2429
|
addEventListener<K extends keyof HTMLBcmDrawerElementEventMap>(type: K, listener: (this: HTMLBcmDrawerElement, ev: BcmDrawerCustomEvent<HTMLBcmDrawerElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
|
|
2018
2430
|
addEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
|
|
@@ -2084,11 +2496,42 @@ declare global {
|
|
|
2084
2496
|
new (): HTMLBcmInputElement;
|
|
2085
2497
|
};
|
|
2086
2498
|
interface HTMLBcmLinkedElementEventMap {
|
|
2499
|
+
"bcmBeforeShow": void;
|
|
2087
2500
|
"bcmShow": void;
|
|
2501
|
+
"bcmBeforeHide": void;
|
|
2088
2502
|
"bcmHide": void;
|
|
2089
2503
|
"bcmShown": void;
|
|
2090
2504
|
"bcmHidden": void;
|
|
2091
2505
|
}
|
|
2506
|
+
/**
|
|
2507
|
+
* @component BcmLinked
|
|
2508
|
+
* @description A flexible linked floating element component that displays contextual content relative to a trigger element.
|
|
2509
|
+
* Built on the native Popover API for top-layer rendering and Floating UI for intelligent positioning.
|
|
2510
|
+
* Supports different trigger types (click, hover, focus, manual) and comprehensive event system.
|
|
2511
|
+
* @example Basic Click Trigger
|
|
2512
|
+
* <bcm-linked trigger="click">
|
|
2513
|
+
* <button slot="trigger">Click Me</button>
|
|
2514
|
+
* <div>Floating content here</div>
|
|
2515
|
+
* </bcm-linked>
|
|
2516
|
+
* @example Hover Trigger with Delays
|
|
2517
|
+
* <bcm-linked trigger="hover" show-delay="200" hide-delay="100">
|
|
2518
|
+
* <span slot="trigger">Hover Me</span>
|
|
2519
|
+
* <div>This appears on hover</div>
|
|
2520
|
+
* </bcm-linked>
|
|
2521
|
+
* @example Manual Control
|
|
2522
|
+
* <bcm-linked id="my-linked" trigger="manual">
|
|
2523
|
+
* <button slot="trigger">Trigger</button>
|
|
2524
|
+
* <div>Controlled content</div>
|
|
2525
|
+
* </bcm-linked>
|
|
2526
|
+
* <script>
|
|
2527
|
+
* const linked = document.querySelector('#my-linked');
|
|
2528
|
+
* linked.show(); // Opens the floating element
|
|
2529
|
+
* linked.hide(); // Closes the floating element
|
|
2530
|
+
* </script>
|
|
2531
|
+
* @csspart floating - The floating container element
|
|
2532
|
+
* @csspart arrow - The arrow element pointing to the trigger
|
|
2533
|
+
* @csspart content - The content wrapper element
|
|
2534
|
+
*/
|
|
2092
2535
|
interface HTMLBcmLinkedElement extends Components.BcmLinked, HTMLStencilElement {
|
|
2093
2536
|
addEventListener<K extends keyof HTMLBcmLinkedElementEventMap>(type: K, listener: (this: HTMLBcmLinkedElement, ev: BcmLinkedCustomEvent<HTMLBcmLinkedElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
|
|
2094
2537
|
addEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
|
|
@@ -2109,6 +2552,38 @@ declare global {
|
|
|
2109
2552
|
"bcmBeforeOpen": void;
|
|
2110
2553
|
"bcmBeforeClose": void;
|
|
2111
2554
|
}
|
|
2555
|
+
/**
|
|
2556
|
+
* @component BcmModal
|
|
2557
|
+
* @description A flexible modal dialog component built on the native HTML Dialog API.
|
|
2558
|
+
* Provides a powerful way to display content in a layer above the page with full keyboard and focus management.
|
|
2559
|
+
* @example ```html
|
|
2560
|
+
* <!-- Basic usage -->
|
|
2561
|
+
* <bcm-modal open header-text="Welcome" helper-text="Please read carefully">
|
|
2562
|
+
* <p>Modal content goes here</p>
|
|
2563
|
+
* <div slot="footer">
|
|
2564
|
+
* <button data-dismiss>Close</button>
|
|
2565
|
+
* </div>
|
|
2566
|
+
* </bcm-modal>
|
|
2567
|
+
* <!-- Custom size and placement -->
|
|
2568
|
+
* <bcm-modal size="large" placement="top">
|
|
2569
|
+
* <div slot="header">Custom Header</div>
|
|
2570
|
+
* <p>Content here</p>
|
|
2571
|
+
* <div slot="footer">
|
|
2572
|
+
* <button>Cancel</button>
|
|
2573
|
+
* <button>Confirm</button>
|
|
2574
|
+
* </div>
|
|
2575
|
+
* </bcm-modal>
|
|
2576
|
+
* <!-- Full screen modal -->
|
|
2577
|
+
* <bcm-modal full-screen no-footer>
|
|
2578
|
+
* <p>Full screen content</p>
|
|
2579
|
+
* </bcm-modal>
|
|
2580
|
+
* <!-- Programmatic usage -->
|
|
2581
|
+
* <bcm-modal id="myModal">Content</bcm-modal>
|
|
2582
|
+
* <script>
|
|
2583
|
+
* document.getElementById('myModal').show();
|
|
2584
|
+
* </script>
|
|
2585
|
+
* ```
|
|
2586
|
+
*/
|
|
2112
2587
|
interface HTMLBcmModalElement extends Components.BcmModal, HTMLStencilElement {
|
|
2113
2588
|
addEventListener<K extends keyof HTMLBcmModalElementEventMap>(type: K, listener: (this: HTMLBcmModalElement, ev: BcmModalCustomEvent<HTMLBcmModalElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
|
|
2114
2589
|
addEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
|
|
@@ -2124,55 +2599,151 @@ declare global {
|
|
|
2124
2599
|
new (): HTMLBcmModalElement;
|
|
2125
2600
|
};
|
|
2126
2601
|
interface HTMLBcmPopConfirmElementEventMap {
|
|
2602
|
+
"bcmBeforeOpen": void;
|
|
2603
|
+
"bcmOpen": void;
|
|
2604
|
+
"bcmBeforeClose": void;
|
|
2605
|
+
"bcmClose": void;
|
|
2127
2606
|
"bcmConfirm": void;
|
|
2128
2607
|
"bcmCancel": void;
|
|
2129
2608
|
}
|
|
2130
2609
|
/**
|
|
2131
2610
|
* @component BcmPopConfirm
|
|
2132
|
-
* @description A
|
|
2133
|
-
*
|
|
2134
|
-
*
|
|
2135
|
-
*
|
|
2136
|
-
* @
|
|
2137
|
-
*
|
|
2138
|
-
*
|
|
2139
|
-
*
|
|
2140
|
-
*
|
|
2611
|
+
* @description A confirmation popover component that displays a confirmation dialog with customizable actions.
|
|
2612
|
+
* Built on the native Popover API for top-layer rendering and Floating UI for intelligent positioning.
|
|
2613
|
+
* Ideal for confirming destructive actions or important decisions inline.
|
|
2614
|
+
* @csspart container - The main popover container element
|
|
2615
|
+
* @csspart arrow - The arrow pointer element
|
|
2616
|
+
* @csspart body - The body/description section
|
|
2617
|
+
* @csspart footer - The footer section with action buttons
|
|
2618
|
+
* @example Basic Usage
|
|
2619
|
+
* ```html
|
|
2620
|
+
* <bcm-pop-confirm
|
|
2621
|
+
* header-text="Delete Item?"
|
|
2622
|
+
* description="Are you sure you want to delete this item? This action cannot be undone."
|
|
2623
|
+
* status="error"
|
|
2624
|
+
* >
|
|
2625
|
+
* <bcm-button status="error">Delete</bcm-button>
|
|
2141
2626
|
* </bcm-pop-confirm>
|
|
2142
|
-
*
|
|
2143
|
-
*
|
|
2144
|
-
*
|
|
2145
|
-
*
|
|
2146
|
-
*
|
|
2627
|
+
* ```
|
|
2628
|
+
* @example With Event Handlers
|
|
2629
|
+
* ```html
|
|
2630
|
+
* <bcm-pop-confirm
|
|
2631
|
+
* id="deleteConfirm"
|
|
2632
|
+
* header-text="Confirm Delete"
|
|
2633
|
+
* description="This will permanently delete the item."
|
|
2634
|
+
* status="warning"
|
|
2635
|
+
* confirm-text="Yes, Delete"
|
|
2636
|
+
* cancel-text="No, Keep It"
|
|
2637
|
+
* >
|
|
2638
|
+
* <bcm-button>Delete Item</bcm-button>
|
|
2639
|
+
* </bcm-pop-confirm>
|
|
2640
|
+
* <script>
|
|
2641
|
+
* const popconfirm = document.getElementById('deleteConfirm');
|
|
2642
|
+
* popconfirm.addEventListener('bcmConfirm', () => {
|
|
2643
|
+
* console.log('User confirmed deletion');
|
|
2644
|
+
* // Perform delete operation
|
|
2645
|
+
* });
|
|
2646
|
+
* popconfirm.addEventListener('bcmCancel', () => {
|
|
2647
|
+
* console.log('User cancelled deletion');
|
|
2648
|
+
* });
|
|
2649
|
+
* </script>
|
|
2650
|
+
* ```
|
|
2651
|
+
* @example Different Status Types
|
|
2652
|
+
* ```html
|
|
2653
|
+
* <!-- Info (default) -->
|
|
2654
|
+
* <bcm-pop-confirm header-text="Information" description="This is an info message">
|
|
2655
|
+
* <bcm-button>Info</bcm-button>
|
|
2656
|
+
* </bcm-pop-confirm>
|
|
2657
|
+
* <!-- Success -->
|
|
2658
|
+
* <bcm-pop-confirm status="success" header-text="Confirm Action" description="Proceed with this action?">
|
|
2659
|
+
* <bcm-button status="success">Proceed</bcm-button>
|
|
2660
|
+
* </bcm-pop-confirm>
|
|
2661
|
+
* <!-- Warning -->
|
|
2662
|
+
* <bcm-pop-confirm status="warning" header-text="Warning" description="This action may have consequences">
|
|
2663
|
+
* <bcm-button status="warning">Continue</bcm-button>
|
|
2664
|
+
* </bcm-pop-confirm>
|
|
2665
|
+
* <!-- Error/Danger -->
|
|
2666
|
+
* <bcm-pop-confirm status="error" header-text="Danger Zone" description="This is a destructive action">
|
|
2667
|
+
* <bcm-button status="error">Delete</bcm-button>
|
|
2668
|
+
* </bcm-pop-confirm>
|
|
2669
|
+
* ```
|
|
2670
|
+
* @example Custom Content with Slots
|
|
2671
|
+
* ```html
|
|
2672
|
+
* <bcm-pop-confirm status="warning">
|
|
2673
|
+
* <bcm-button>Custom Confirm</bcm-button>
|
|
2674
|
+
* <div slot="header">
|
|
2675
|
+
* <strong>Custom Header</strong>
|
|
2676
|
+
* </div>
|
|
2677
|
+
* <div slot="body">
|
|
2678
|
+
* <p>This is custom body content with <strong>HTML formatting</strong>.</p>
|
|
2679
|
+
* <ul>
|
|
2680
|
+
* <li>Point 1</li>
|
|
2681
|
+
* <li>Point 2</li>
|
|
2682
|
+
* </ul>
|
|
2683
|
+
* </div>
|
|
2684
|
+
* <div slot="footer">
|
|
2685
|
+
* <bcm-button kind="outline" size="small">Maybe Later</bcm-button>
|
|
2686
|
+
* <bcm-button status="success" size="small">Confirm</bcm-button>
|
|
2687
|
+
* </div>
|
|
2688
|
+
* </bcm-pop-confirm>
|
|
2689
|
+
* ```
|
|
2690
|
+
* @example Different Sizes
|
|
2691
|
+
* ```html
|
|
2692
|
+
* <!-- Small -->
|
|
2693
|
+
* <bcm-pop-confirm size="small" header-text="Small" description="Compact confirmation">
|
|
2694
|
+
* <bcm-button size="small">Small</bcm-button>
|
|
2695
|
+
* </bcm-pop-confirm>
|
|
2696
|
+
* <!-- Medium (default) -->
|
|
2697
|
+
* <bcm-pop-confirm size="medium" header-text="Medium" description="Standard confirmation">
|
|
2698
|
+
* <bcm-button size="medium">Medium</bcm-button>
|
|
2699
|
+
* </bcm-pop-confirm>
|
|
2700
|
+
* <!-- Large -->
|
|
2701
|
+
* <bcm-pop-confirm size="large" header-text="Large" description="Spacious confirmation with more room for content">
|
|
2702
|
+
* <bcm-button size="large">Large</bcm-button>
|
|
2703
|
+
* </bcm-pop-confirm>
|
|
2704
|
+
* ```
|
|
2705
|
+
* @example Programmatic Control
|
|
2706
|
+
* ```html
|
|
2707
|
+
* <bcm-pop-confirm id="myConfirm" header-text="Confirm" description="Are you sure?">
|
|
2708
|
+
* <bcm-button>Trigger</bcm-button>
|
|
2709
|
+
* </bcm-pop-confirm>
|
|
2710
|
+
* <bcm-button id="showBtn">Show Programmatically</bcm-button>
|
|
2711
|
+
* <bcm-button id="hideBtn">Hide Programmatically</bcm-button>
|
|
2712
|
+
* <script>
|
|
2713
|
+
* const popconfirm = document.getElementById('myConfirm');
|
|
2714
|
+
* document.getElementById('showBtn').addEventListener('click', () => {
|
|
2715
|
+
* popconfirm.show();
|
|
2147
2716
|
* });
|
|
2148
|
-
*
|
|
2149
|
-
*
|
|
2717
|
+
* document.getElementById('hideBtn').addEventListener('click', () => {
|
|
2718
|
+
* popconfirm.hide();
|
|
2150
2719
|
* });
|
|
2151
|
-
*
|
|
2152
|
-
*
|
|
2153
|
-
*
|
|
2154
|
-
*
|
|
2155
|
-
*
|
|
2156
|
-
*
|
|
2157
|
-
*
|
|
2158
|
-
*
|
|
2159
|
-
*
|
|
2160
|
-
*
|
|
2161
|
-
*
|
|
2162
|
-
*
|
|
2163
|
-
* @
|
|
2164
|
-
*
|
|
2165
|
-
*
|
|
2166
|
-
*
|
|
2167
|
-
*
|
|
2168
|
-
*
|
|
2169
|
-
*
|
|
2170
|
-
*
|
|
2171
|
-
*
|
|
2172
|
-
*
|
|
2173
|
-
*
|
|
2174
|
-
*
|
|
2175
|
-
*
|
|
2720
|
+
* </script>
|
|
2721
|
+
* ```
|
|
2722
|
+
* @example Without Status Icon
|
|
2723
|
+
* ```html
|
|
2724
|
+
* <bcm-pop-confirm
|
|
2725
|
+
* header-text="Simple Confirmation"
|
|
2726
|
+
* description="No status icon shown"
|
|
2727
|
+
* status-icon={false}
|
|
2728
|
+
* >
|
|
2729
|
+
* <bcm-button>Click Me</bcm-button>
|
|
2730
|
+
* </bcm-pop-confirm>
|
|
2731
|
+
* ```
|
|
2732
|
+
* @example Different Placements
|
|
2733
|
+
* ```html
|
|
2734
|
+
* <bcm-pop-confirm placement="top" header-text="Top" description="Opens above">
|
|
2735
|
+
* <bcm-button>Top</bcm-button>
|
|
2736
|
+
* </bcm-pop-confirm>
|
|
2737
|
+
* <bcm-pop-confirm placement="right" header-text="Right" description="Opens to the right">
|
|
2738
|
+
* <bcm-button>Right</bcm-button>
|
|
2739
|
+
* </bcm-pop-confirm>
|
|
2740
|
+
* <bcm-pop-confirm placement="bottom" header-text="Bottom" description="Opens below">
|
|
2741
|
+
* <bcm-button>Bottom</bcm-button>
|
|
2742
|
+
* </bcm-pop-confirm>
|
|
2743
|
+
* <bcm-pop-confirm placement="left" header-text="Left" description="Opens to the left">
|
|
2744
|
+
* <bcm-button>Left</bcm-button>
|
|
2745
|
+
* </bcm-pop-confirm>
|
|
2746
|
+
* ```
|
|
2176
2747
|
*/
|
|
2177
2748
|
interface HTMLBcmPopConfirmElement extends Components.BcmPopConfirm, HTMLStencilElement {
|
|
2178
2749
|
addEventListener<K extends keyof HTMLBcmPopConfirmElementEventMap>(type: K, listener: (this: HTMLBcmPopConfirmElement, ev: BcmPopConfirmCustomEvent<HTMLBcmPopConfirmElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
|
|
@@ -2189,21 +2760,24 @@ declare global {
|
|
|
2189
2760
|
new (): HTMLBcmPopConfirmElement;
|
|
2190
2761
|
};
|
|
2191
2762
|
interface HTMLBcmPopoverElementEventMap {
|
|
2192
|
-
"
|
|
2193
|
-
"
|
|
2763
|
+
"bcmBeforeOpen": void;
|
|
2764
|
+
"bcmOpen": void;
|
|
2765
|
+
"bcmBeforeClose": void;
|
|
2766
|
+
"bcmClose": void;
|
|
2194
2767
|
}
|
|
2195
2768
|
/**
|
|
2196
2769
|
* @component BcmPopover
|
|
2197
2770
|
* @description A flexible popover component that displays contextual information or content relative to a target element.
|
|
2198
|
-
*
|
|
2771
|
+
* Built on the native Popover API for top-layer rendering and Floating UI for intelligent positioning.
|
|
2772
|
+
* Supports different sizes, trigger types (click, hover, focus), placements, and comprehensive event system.
|
|
2199
2773
|
* @example Basic Click Popover
|
|
2200
2774
|
* <bcm-popover trigger="click" size="medium" placement="top">
|
|
2201
2775
|
* <bcm-button>Click Me</bcm-button>
|
|
2202
2776
|
* <span slot="header">Header</span>
|
|
2203
2777
|
* <span slot="content">This is a simple popover content.</span>
|
|
2204
2778
|
* </bcm-popover>
|
|
2205
|
-
* @example Hover Popover with
|
|
2206
|
-
* <bcm-popover trigger="hover"
|
|
2779
|
+
* @example Hover Popover with Delays
|
|
2780
|
+
* <bcm-popover trigger="hover" show-delay="200" hide-delay="100" size="large" placement="right" header-text="Prop Header" message="This is a hover popover with props.">
|
|
2207
2781
|
* <bcm-button>Hover Me</bcm-button>
|
|
2208
2782
|
* </bcm-popover>
|
|
2209
2783
|
* @example Programmatic Control
|
|
@@ -2213,8 +2787,9 @@ declare global {
|
|
|
2213
2787
|
* </bcm-popover>
|
|
2214
2788
|
* <script>
|
|
2215
2789
|
* const popover = document.querySelector('#my-popover');
|
|
2216
|
-
* popover.
|
|
2217
|
-
* popover.
|
|
2790
|
+
* popover.show(); // Opens the popover
|
|
2791
|
+
* popover.hide(); // Closes the popover
|
|
2792
|
+
* popover.toggle(); // Toggles the popover
|
|
2218
2793
|
* </script>
|
|
2219
2794
|
* @csspart popover - The root popover container element, stylable for the entire popover
|
|
2220
2795
|
* @csspart header - The header section of the popover, stylable for the title area
|
|
@@ -2444,23 +3019,50 @@ declare global {
|
|
|
2444
3019
|
};
|
|
2445
3020
|
/**
|
|
2446
3021
|
* @component BcmTooltip
|
|
2447
|
-
* @description A
|
|
2448
|
-
*
|
|
2449
|
-
*
|
|
2450
|
-
*
|
|
2451
|
-
*
|
|
3022
|
+
* @description A flexible tooltip component that provides contextual information on hover or click.
|
|
3023
|
+
* Built on the native Popover API for top-layer rendering and Floating UI for intelligent positioning.
|
|
3024
|
+
* Automatically handles overflow, flipping, and complex shadow DOM scenarios.
|
|
3025
|
+
* @example ```html
|
|
3026
|
+
* <!-- Basic usage with text message -->
|
|
3027
|
+
* <bcm-tooltip message="This is a tooltip">
|
|
3028
|
+
* <button>Hover me</button>
|
|
2452
3029
|
* </bcm-tooltip>
|
|
2453
|
-
*
|
|
2454
|
-
* <bcm-tooltip
|
|
2455
|
-
*
|
|
3030
|
+
* <!-- With custom rich content -->
|
|
3031
|
+
* <bcm-tooltip placement="right" size="large">
|
|
3032
|
+
* <button>Click me</button>
|
|
3033
|
+
* <div slot="content">
|
|
3034
|
+
* <strong>Rich content</strong>
|
|
3035
|
+
* <p>You can add any HTML here</p>
|
|
3036
|
+
* </div>
|
|
3037
|
+
* </bcm-tooltip>
|
|
3038
|
+
* <!-- Click trigger with custom delays -->
|
|
3039
|
+
* <bcm-tooltip trigger="click" show-delay="0" hide-delay="0">
|
|
3040
|
+
* <span>Click me</span>
|
|
3041
|
+
* </bcm-tooltip>
|
|
3042
|
+
* <!-- Mouse following mode -->
|
|
3043
|
+
* <bcm-tooltip follow={true} message="I follow your cursor!">
|
|
3044
|
+
* <div>Move your mouse here</div>
|
|
3045
|
+
* </bcm-tooltip>
|
|
3046
|
+
* <!-- Programmatic control -->
|
|
3047
|
+
* <bcm-tooltip id="myTooltip" message="Programmatic tooltip">
|
|
3048
|
+
* <span>Trigger</span>
|
|
2456
3049
|
* </bcm-tooltip>
|
|
2457
3050
|
* <script>
|
|
2458
|
-
*
|
|
2459
|
-
*
|
|
2460
|
-
* tooltip.
|
|
3051
|
+
* const tooltip = document.getElementById('myTooltip');
|
|
3052
|
+
* tooltip.show();
|
|
3053
|
+
* setTimeout(() => tooltip.hide(), 2000);
|
|
2461
3054
|
* </script>
|
|
2462
|
-
*
|
|
2463
|
-
*
|
|
3055
|
+
* <!-- Custom styling with CSS parts -->
|
|
3056
|
+
* <style>
|
|
3057
|
+
* bcm-tooltip::part(tooltip) {
|
|
3058
|
+
* background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
|
|
3059
|
+
* border-radius: 12px;
|
|
3060
|
+
* }
|
|
3061
|
+
* bcm-tooltip::part(arrow) {
|
|
3062
|
+
* background: #667eea;
|
|
3063
|
+
* }
|
|
3064
|
+
* </style>
|
|
3065
|
+
* ```
|
|
2464
3066
|
*/
|
|
2465
3067
|
interface HTMLBcmTooltipElement extends Components.BcmTooltip, HTMLStencilElement {
|
|
2466
3068
|
}
|
|
@@ -2975,6 +3577,11 @@ declare namespace LocalJSX {
|
|
|
2975
3577
|
* @default false
|
|
2976
3578
|
*/
|
|
2977
3579
|
"error"?: boolean;
|
|
3580
|
+
/**
|
|
3581
|
+
* Full width checkbox
|
|
3582
|
+
* @default false
|
|
3583
|
+
*/
|
|
3584
|
+
"fullWidth"?: boolean;
|
|
2978
3585
|
/**
|
|
2979
3586
|
* Determines if the checkbox is in an indeterminate state. This is useful when some items in a group of checkboxes are selected and others are not.
|
|
2980
3587
|
* @default false
|
|
@@ -3086,29 +3693,110 @@ declare namespace LocalJSX {
|
|
|
3086
3693
|
*/
|
|
3087
3694
|
"variant"?: 'solid' | 'dashed' | 'dotted';
|
|
3088
3695
|
}
|
|
3696
|
+
/**
|
|
3697
|
+
* @component BcmDrawer
|
|
3698
|
+
* @description A slide-in panel component built on the native HTML Dialog API.
|
|
3699
|
+
* Ideal for navigation menus, forms, and contextual information that slides in from any edge of the screen.
|
|
3700
|
+
* @example ```html
|
|
3701
|
+
* <!-- Basic usage -->
|
|
3702
|
+
* <bcm-drawer open header-text="Menu" position="left">
|
|
3703
|
+
* <nav>
|
|
3704
|
+
* <a href="/home">Home</a>
|
|
3705
|
+
* <a href="/about">About</a>
|
|
3706
|
+
* </nav>
|
|
3707
|
+
* </bcm-drawer>
|
|
3708
|
+
* <!-- Custom size and position -->
|
|
3709
|
+
* <bcm-drawer size="large" position="right">
|
|
3710
|
+
* <div slot="header">Settings</div>
|
|
3711
|
+
* <form>...</form>
|
|
3712
|
+
* <div slot="footer">
|
|
3713
|
+
* <button data-dismiss>Cancel</button>
|
|
3714
|
+
* <button>Save</button>
|
|
3715
|
+
* </div>
|
|
3716
|
+
* </bcm-drawer>
|
|
3717
|
+
* <!-- Custom size with CSS units -->
|
|
3718
|
+
* <bcm-drawer size="600px" position="bottom">
|
|
3719
|
+
* <p>Custom height drawer</p>
|
|
3720
|
+
* </bcm-drawer>
|
|
3721
|
+
* <!-- Programmatic usage -->
|
|
3722
|
+
* <bcm-drawer id="myDrawer">Content</bcm-drawer>
|
|
3723
|
+
* <script>
|
|
3724
|
+
* document.getElementById('myDrawer').show();
|
|
3725
|
+
* </script>
|
|
3726
|
+
* ```
|
|
3727
|
+
*/
|
|
3089
3728
|
interface BcmDrawer {
|
|
3090
3729
|
/**
|
|
3730
|
+
* Controls backdrop behavior - true: Shows backdrop, drawer can be closed by clicking outside - false: No backdrop - 'static': Shows backdrop but prevents closing by clicking outside (triggers shake animation)
|
|
3731
|
+
* @default true
|
|
3732
|
+
*/
|
|
3733
|
+
"backdrop"?: boolean | 'static';
|
|
3734
|
+
/**
|
|
3735
|
+
* Allows closing the drawer by clicking on the backdrop
|
|
3736
|
+
* @default true
|
|
3737
|
+
*/
|
|
3738
|
+
"closeOnBackdrop"?: boolean;
|
|
3739
|
+
/**
|
|
3740
|
+
* Allows closing the drawer by pressing the Escape key
|
|
3741
|
+
* @default true
|
|
3742
|
+
*/
|
|
3743
|
+
"closeOnEscape"?: boolean;
|
|
3744
|
+
/**
|
|
3745
|
+
* Makes the drawer take the full screen (100vw x 100vh)
|
|
3746
|
+
* @default false
|
|
3747
|
+
*/
|
|
3748
|
+
"fullScreen"?: boolean;
|
|
3749
|
+
/**
|
|
3750
|
+
* Makes the drawer take full width (for left/right) or full height (for top/bottom)
|
|
3091
3751
|
* @default false
|
|
3092
3752
|
*/
|
|
3093
3753
|
"fullWidth"?: boolean;
|
|
3754
|
+
/**
|
|
3755
|
+
* Text to display in the drawer header
|
|
3756
|
+
*/
|
|
3094
3757
|
"headerText"?: string;
|
|
3095
3758
|
/**
|
|
3759
|
+
* Helper text to display below the header title
|
|
3760
|
+
*/
|
|
3761
|
+
"helperText"?: string;
|
|
3762
|
+
/**
|
|
3763
|
+
* Hides the footer section completely
|
|
3764
|
+
* @default false
|
|
3765
|
+
*/
|
|
3766
|
+
"noFooter"?: boolean;
|
|
3767
|
+
/**
|
|
3768
|
+
* Hides the header section completely
|
|
3096
3769
|
* @default false
|
|
3097
3770
|
*/
|
|
3098
3771
|
"noHeader"?: boolean;
|
|
3772
|
+
/**
|
|
3773
|
+
* Emitted before the drawer closes. Can be cancelled by calling event.preventDefault()
|
|
3774
|
+
*/
|
|
3099
3775
|
"onBcmBeforeClose"?: (event: BcmDrawerCustomEvent<void>) => void;
|
|
3776
|
+
/**
|
|
3777
|
+
* Emitted before the drawer opens. Can be cancelled by calling event.preventDefault()
|
|
3778
|
+
*/
|
|
3100
3779
|
"onBcmBeforeOpen"?: (event: BcmDrawerCustomEvent<void>) => void;
|
|
3780
|
+
/**
|
|
3781
|
+
* Emitted after the drawer has closed
|
|
3782
|
+
*/
|
|
3101
3783
|
"onBcmClose"?: (event: BcmDrawerCustomEvent<void>) => void;
|
|
3784
|
+
/**
|
|
3785
|
+
* Emitted after the drawer has opened
|
|
3786
|
+
*/
|
|
3102
3787
|
"onBcmOpen"?: (event: BcmDrawerCustomEvent<void>) => void;
|
|
3103
3788
|
/**
|
|
3789
|
+
* Controls whether the drawer is open or closed
|
|
3104
3790
|
* @default false
|
|
3105
3791
|
*/
|
|
3106
3792
|
"open"?: boolean;
|
|
3107
3793
|
/**
|
|
3794
|
+
* The position where the drawer slides in from - 'left': Slides from the left edge - 'right': Slides from the right edge - 'top': Slides from the top edge - 'bottom': Slides from the bottom edge
|
|
3108
3795
|
* @default 'right'
|
|
3109
3796
|
*/
|
|
3110
3797
|
"position"?: DrawerPosition;
|
|
3111
3798
|
/**
|
|
3799
|
+
* The size of the drawer. Can be a preset value or a custom CSS size - For left/right drawers: - 'small': 320px - 'medium': 480px - 'large': 1064px - For top/bottom drawers: - 'small': 40vh - 'medium': 60vh - 'large': 90vh - Custom values: Any valid CSS size (e.g., '600px', '50%', '30rem', '80vw')
|
|
3112
3800
|
* @default 'medium'
|
|
3113
3801
|
*/
|
|
3114
3802
|
"size"?: DrawerSize;
|
|
@@ -3261,220 +3949,457 @@ declare namespace LocalJSX {
|
|
|
3261
3949
|
*/
|
|
3262
3950
|
"value"?: string;
|
|
3263
3951
|
}
|
|
3952
|
+
/**
|
|
3953
|
+
* @component BcmLinked
|
|
3954
|
+
* @description A flexible linked floating element component that displays contextual content relative to a trigger element.
|
|
3955
|
+
* Built on the native Popover API for top-layer rendering and Floating UI for intelligent positioning.
|
|
3956
|
+
* Supports different trigger types (click, hover, focus, manual) and comprehensive event system.
|
|
3957
|
+
* @example Basic Click Trigger
|
|
3958
|
+
* <bcm-linked trigger="click">
|
|
3959
|
+
* <button slot="trigger">Click Me</button>
|
|
3960
|
+
* <div>Floating content here</div>
|
|
3961
|
+
* </bcm-linked>
|
|
3962
|
+
* @example Hover Trigger with Delays
|
|
3963
|
+
* <bcm-linked trigger="hover" show-delay="200" hide-delay="100">
|
|
3964
|
+
* <span slot="trigger">Hover Me</span>
|
|
3965
|
+
* <div>This appears on hover</div>
|
|
3966
|
+
* </bcm-linked>
|
|
3967
|
+
* @example Manual Control
|
|
3968
|
+
* <bcm-linked id="my-linked" trigger="manual">
|
|
3969
|
+
* <button slot="trigger">Trigger</button>
|
|
3970
|
+
* <div>Controlled content</div>
|
|
3971
|
+
* </bcm-linked>
|
|
3972
|
+
* <script>
|
|
3973
|
+
* const linked = document.querySelector('#my-linked');
|
|
3974
|
+
* linked.show(); // Opens the floating element
|
|
3975
|
+
* linked.hide(); // Closes the floating element
|
|
3976
|
+
* </script>
|
|
3977
|
+
* @csspart floating - The floating container element
|
|
3978
|
+
* @csspart arrow - The arrow element pointing to the trigger
|
|
3979
|
+
* @csspart content - The content wrapper element
|
|
3980
|
+
*/
|
|
3264
3981
|
interface BcmLinked {
|
|
3265
3982
|
/**
|
|
3266
|
-
* @
|
|
3267
|
-
|
|
3268
|
-
"appendToBody"?: boolean;
|
|
3269
|
-
/**
|
|
3270
|
-
* @default false
|
|
3983
|
+
* @prop {boolean} closeOnEscape - Whether to close when pressing Escape key. Default: true
|
|
3984
|
+
* @default true
|
|
3271
3985
|
*/
|
|
3272
|
-
"
|
|
3986
|
+
"closeOnEscape"?: boolean;
|
|
3273
3987
|
/**
|
|
3274
|
-
* @
|
|
3988
|
+
* @prop {boolean} closeOnOutsideClick - Whether to close when clicking outside. Default: true
|
|
3989
|
+
* @default true
|
|
3275
3990
|
*/
|
|
3276
|
-
"
|
|
3991
|
+
"closeOnOutsideClick"?: boolean;
|
|
3277
3992
|
/**
|
|
3993
|
+
* @prop {boolean} disabled - Disables the floating element, preventing it from showing. Default: false
|
|
3278
3994
|
* @default false
|
|
3279
3995
|
*/
|
|
3280
3996
|
"disabled"?: boolean;
|
|
3281
3997
|
/**
|
|
3998
|
+
* @prop {number} hideDelay - Delay in milliseconds before hiding the floating element. Default: 0
|
|
3282
3999
|
* @default 0
|
|
3283
4000
|
*/
|
|
3284
4001
|
"hideDelay"?: number;
|
|
3285
4002
|
/**
|
|
4003
|
+
* @prop {number} offsetDistance - Distance in pixels between the floating element and the trigger. Default: 8
|
|
3286
4004
|
* @default 8
|
|
3287
4005
|
*/
|
|
3288
|
-
"
|
|
4006
|
+
"offsetDistance"?: number;
|
|
4007
|
+
/**
|
|
4008
|
+
* @event bcmBeforeHide - Emitted before the floating element hides.
|
|
4009
|
+
*/
|
|
4010
|
+
"onBcmBeforeHide"?: (event: BcmLinkedCustomEvent<void>) => void;
|
|
4011
|
+
/**
|
|
4012
|
+
* @event bcmBeforeShow - Emitted before the floating element shows.
|
|
4013
|
+
*/
|
|
4014
|
+
"onBcmBeforeShow"?: (event: BcmLinkedCustomEvent<void>) => void;
|
|
4015
|
+
/**
|
|
4016
|
+
* @event bcmHidden - Emitted after the floating element is fully hidden (after animation).
|
|
4017
|
+
*/
|
|
3289
4018
|
"onBcmHidden"?: (event: BcmLinkedCustomEvent<void>) => void;
|
|
4019
|
+
/**
|
|
4020
|
+
* @event bcmHide - Emitted when the floating element is hidden.
|
|
4021
|
+
*/
|
|
3290
4022
|
"onBcmHide"?: (event: BcmLinkedCustomEvent<void>) => void;
|
|
4023
|
+
/**
|
|
4024
|
+
* @event bcmShow - Emitted when the floating element is shown.
|
|
4025
|
+
*/
|
|
3291
4026
|
"onBcmShow"?: (event: BcmLinkedCustomEvent<void>) => void;
|
|
4027
|
+
/**
|
|
4028
|
+
* @event bcmShown - Emitted after the floating element is fully shown (after animation).
|
|
4029
|
+
*/
|
|
3292
4030
|
"onBcmShown"?: (event: BcmLinkedCustomEvent<void>) => void;
|
|
3293
4031
|
/**
|
|
4032
|
+
* @prop {Placement} placement - Defines the position of the floating element relative to the trigger. Default: 'bottom-start'
|
|
3294
4033
|
* @default 'bottom-start'
|
|
3295
4034
|
*/
|
|
3296
4035
|
"placement"?: Placement;
|
|
3297
4036
|
/**
|
|
4037
|
+
* @prop {boolean} showArrow - Whether to show an arrow pointing to the trigger element. Default: true
|
|
4038
|
+
* @default true
|
|
4039
|
+
*/
|
|
4040
|
+
"showArrow"?: boolean;
|
|
4041
|
+
/**
|
|
4042
|
+
* @prop {number} showDelay - Delay in milliseconds before showing the floating element. Default: 0
|
|
3298
4043
|
* @default 0
|
|
3299
4044
|
*/
|
|
3300
4045
|
"showDelay"?: number;
|
|
3301
|
-
"targetElement"?: HTMLElement;
|
|
3302
|
-
"targetId"?: string;
|
|
3303
4046
|
/**
|
|
4047
|
+
* @prop {TriggerType} trigger - Defines the interaction type to show/hide the floating element. 'click' toggles on click, 'hover' shows on mouse enter and hides on mouse leave, 'focus' shows on focus and hides on blur, 'manual' requires programmatic control. Default: 'click'
|
|
3304
4048
|
* @default 'click'
|
|
3305
4049
|
*/
|
|
3306
4050
|
"trigger"?: TriggerType;
|
|
3307
4051
|
/**
|
|
3308
|
-
* @
|
|
4052
|
+
* @prop {boolean} visible - Controls the visibility state of the floating element. Can be set programmatically or toggled by user interaction. Default: false
|
|
4053
|
+
* @default false
|
|
3309
4054
|
*/
|
|
3310
|
-
"
|
|
4055
|
+
"visible"?: boolean;
|
|
3311
4056
|
}
|
|
4057
|
+
/**
|
|
4058
|
+
* @component BcmModal
|
|
4059
|
+
* @description A flexible modal dialog component built on the native HTML Dialog API.
|
|
4060
|
+
* Provides a powerful way to display content in a layer above the page with full keyboard and focus management.
|
|
4061
|
+
* @example ```html
|
|
4062
|
+
* <!-- Basic usage -->
|
|
4063
|
+
* <bcm-modal open header-text="Welcome" helper-text="Please read carefully">
|
|
4064
|
+
* <p>Modal content goes here</p>
|
|
4065
|
+
* <div slot="footer">
|
|
4066
|
+
* <button data-dismiss>Close</button>
|
|
4067
|
+
* </div>
|
|
4068
|
+
* </bcm-modal>
|
|
4069
|
+
* <!-- Custom size and placement -->
|
|
4070
|
+
* <bcm-modal size="large" placement="top">
|
|
4071
|
+
* <div slot="header">Custom Header</div>
|
|
4072
|
+
* <p>Content here</p>
|
|
4073
|
+
* <div slot="footer">
|
|
4074
|
+
* <button>Cancel</button>
|
|
4075
|
+
* <button>Confirm</button>
|
|
4076
|
+
* </div>
|
|
4077
|
+
* </bcm-modal>
|
|
4078
|
+
* <!-- Full screen modal -->
|
|
4079
|
+
* <bcm-modal full-screen no-footer>
|
|
4080
|
+
* <p>Full screen content</p>
|
|
4081
|
+
* </bcm-modal>
|
|
4082
|
+
* <!-- Programmatic usage -->
|
|
4083
|
+
* <bcm-modal id="myModal">Content</bcm-modal>
|
|
4084
|
+
* <script>
|
|
4085
|
+
* document.getElementById('myModal').show();
|
|
4086
|
+
* </script>
|
|
4087
|
+
* ```
|
|
4088
|
+
*/
|
|
3312
4089
|
interface BcmModal {
|
|
3313
4090
|
/**
|
|
4091
|
+
* Controls backdrop behavior - true: Shows backdrop, modal can be closed by clicking outside - false: No backdrop - 'static': Shows backdrop but prevents closing by clicking outside (triggers shake animation)
|
|
3314
4092
|
* @default true
|
|
3315
4093
|
*/
|
|
3316
4094
|
"backdrop"?: boolean | 'static';
|
|
3317
4095
|
/**
|
|
4096
|
+
* Allows closing the modal by clicking on the backdrop
|
|
3318
4097
|
* @default true
|
|
3319
4098
|
*/
|
|
3320
4099
|
"closeOnBackdrop"?: boolean;
|
|
3321
4100
|
/**
|
|
4101
|
+
* Allows closing the modal by pressing the Escape key
|
|
3322
4102
|
* @default true
|
|
3323
4103
|
*/
|
|
3324
4104
|
"closeOnEscape"?: boolean;
|
|
3325
4105
|
/**
|
|
4106
|
+
* Makes the modal take the full screen (100vw x 100vh, no border radius)
|
|
3326
4107
|
* @default false
|
|
3327
4108
|
*/
|
|
3328
4109
|
"fullScreen"?: boolean;
|
|
3329
4110
|
/**
|
|
4111
|
+
* Makes the modal take full width of the viewport (max-width: 100%)
|
|
3330
4112
|
* @default false
|
|
3331
4113
|
*/
|
|
3332
4114
|
"fullWidth"?: boolean;
|
|
4115
|
+
/**
|
|
4116
|
+
* Text to display in the modal header
|
|
4117
|
+
*/
|
|
3333
4118
|
"headerText"?: string;
|
|
4119
|
+
/**
|
|
4120
|
+
* Helper text to display below the header title
|
|
4121
|
+
*/
|
|
3334
4122
|
"helperText"?: string;
|
|
3335
4123
|
/**
|
|
4124
|
+
* Hides the footer section completely
|
|
3336
4125
|
* @default false
|
|
3337
4126
|
*/
|
|
3338
4127
|
"noFooter"?: boolean;
|
|
3339
4128
|
/**
|
|
4129
|
+
* Hides the header section completely
|
|
3340
4130
|
* @default false
|
|
3341
4131
|
*/
|
|
3342
4132
|
"noHeader"?: boolean;
|
|
4133
|
+
/**
|
|
4134
|
+
* Emitted before the modal closes. Can be cancelled by calling event.preventDefault()
|
|
4135
|
+
*/
|
|
3343
4136
|
"onBcmBeforeClose"?: (event: BcmModalCustomEvent<void>) => void;
|
|
4137
|
+
/**
|
|
4138
|
+
* Emitted before the modal opens. Can be cancelled by calling event.preventDefault()
|
|
4139
|
+
*/
|
|
3344
4140
|
"onBcmBeforeOpen"?: (event: BcmModalCustomEvent<void>) => void;
|
|
4141
|
+
/**
|
|
4142
|
+
* Emitted after the modal has closed
|
|
4143
|
+
*/
|
|
3345
4144
|
"onBcmClose"?: (event: BcmModalCustomEvent<void>) => void;
|
|
4145
|
+
/**
|
|
4146
|
+
* Emitted after the modal has opened
|
|
4147
|
+
*/
|
|
3346
4148
|
"onBcmOpen"?: (event: BcmModalCustomEvent<void>) => void;
|
|
3347
4149
|
/**
|
|
4150
|
+
* Controls whether the modal is open or closed
|
|
3348
4151
|
* @default false
|
|
3349
4152
|
*/
|
|
3350
4153
|
"open"?: boolean;
|
|
3351
4154
|
/**
|
|
4155
|
+
* The placement of the modal on the screen - 'center': Centered vertically and horizontally - 'top': Aligned to the top with 80px padding
|
|
3352
4156
|
* @default 'center'
|
|
3353
4157
|
*/
|
|
3354
4158
|
"placement"?: ModalPlacement;
|
|
3355
4159
|
/**
|
|
4160
|
+
* The size of the modal - 'small': 400px - 'medium': 600px - 'large': 800px - 'xlarge': 1024px - 'xxlarge': 1200px - 'full': 100% width
|
|
3356
4161
|
* @default 'medium'
|
|
3357
4162
|
*/
|
|
3358
4163
|
"size"?: ModalSize;
|
|
3359
4164
|
}
|
|
3360
4165
|
/**
|
|
3361
4166
|
* @component BcmPopConfirm
|
|
3362
|
-
* @description A
|
|
3363
|
-
*
|
|
3364
|
-
*
|
|
3365
|
-
*
|
|
3366
|
-
* @
|
|
3367
|
-
*
|
|
3368
|
-
*
|
|
3369
|
-
*
|
|
3370
|
-
*
|
|
4167
|
+
* @description A confirmation popover component that displays a confirmation dialog with customizable actions.
|
|
4168
|
+
* Built on the native Popover API for top-layer rendering and Floating UI for intelligent positioning.
|
|
4169
|
+
* Ideal for confirming destructive actions or important decisions inline.
|
|
4170
|
+
* @csspart container - The main popover container element
|
|
4171
|
+
* @csspart arrow - The arrow pointer element
|
|
4172
|
+
* @csspart body - The body/description section
|
|
4173
|
+
* @csspart footer - The footer section with action buttons
|
|
4174
|
+
* @example Basic Usage
|
|
4175
|
+
* ```html
|
|
4176
|
+
* <bcm-pop-confirm
|
|
4177
|
+
* header-text="Delete Item?"
|
|
4178
|
+
* description="Are you sure you want to delete this item? This action cannot be undone."
|
|
4179
|
+
* status="error"
|
|
4180
|
+
* >
|
|
4181
|
+
* <bcm-button status="error">Delete</bcm-button>
|
|
3371
4182
|
* </bcm-pop-confirm>
|
|
3372
|
-
*
|
|
3373
|
-
*
|
|
3374
|
-
*
|
|
3375
|
-
*
|
|
3376
|
-
*
|
|
4183
|
+
* ```
|
|
4184
|
+
* @example With Event Handlers
|
|
4185
|
+
* ```html
|
|
4186
|
+
* <bcm-pop-confirm
|
|
4187
|
+
* id="deleteConfirm"
|
|
4188
|
+
* header-text="Confirm Delete"
|
|
4189
|
+
* description="This will permanently delete the item."
|
|
4190
|
+
* status="warning"
|
|
4191
|
+
* confirm-text="Yes, Delete"
|
|
4192
|
+
* cancel-text="No, Keep It"
|
|
4193
|
+
* >
|
|
4194
|
+
* <bcm-button>Delete Item</bcm-button>
|
|
4195
|
+
* </bcm-pop-confirm>
|
|
4196
|
+
* <script>
|
|
4197
|
+
* const popconfirm = document.getElementById('deleteConfirm');
|
|
4198
|
+
* popconfirm.addEventListener('bcmConfirm', () => {
|
|
4199
|
+
* console.log('User confirmed deletion');
|
|
4200
|
+
* // Perform delete operation
|
|
3377
4201
|
* });
|
|
3378
|
-
*
|
|
3379
|
-
* console.log('User
|
|
4202
|
+
* popconfirm.addEventListener('bcmCancel', () => {
|
|
4203
|
+
* console.log('User cancelled deletion');
|
|
3380
4204
|
* });
|
|
3381
|
-
*
|
|
3382
|
-
*
|
|
3383
|
-
*
|
|
3384
|
-
*
|
|
3385
|
-
*
|
|
3386
|
-
*
|
|
3387
|
-
*
|
|
3388
|
-
*
|
|
3389
|
-
*
|
|
3390
|
-
*
|
|
3391
|
-
*
|
|
3392
|
-
*
|
|
3393
|
-
*
|
|
3394
|
-
*
|
|
3395
|
-
*
|
|
3396
|
-
*
|
|
3397
|
-
*
|
|
3398
|
-
*
|
|
3399
|
-
*
|
|
3400
|
-
*
|
|
3401
|
-
*
|
|
3402
|
-
* @
|
|
3403
|
-
*
|
|
3404
|
-
*
|
|
3405
|
-
*
|
|
4205
|
+
* </script>
|
|
4206
|
+
* ```
|
|
4207
|
+
* @example Different Status Types
|
|
4208
|
+
* ```html
|
|
4209
|
+
* <!-- Info (default) -->
|
|
4210
|
+
* <bcm-pop-confirm header-text="Information" description="This is an info message">
|
|
4211
|
+
* <bcm-button>Info</bcm-button>
|
|
4212
|
+
* </bcm-pop-confirm>
|
|
4213
|
+
* <!-- Success -->
|
|
4214
|
+
* <bcm-pop-confirm status="success" header-text="Confirm Action" description="Proceed with this action?">
|
|
4215
|
+
* <bcm-button status="success">Proceed</bcm-button>
|
|
4216
|
+
* </bcm-pop-confirm>
|
|
4217
|
+
* <!-- Warning -->
|
|
4218
|
+
* <bcm-pop-confirm status="warning" header-text="Warning" description="This action may have consequences">
|
|
4219
|
+
* <bcm-button status="warning">Continue</bcm-button>
|
|
4220
|
+
* </bcm-pop-confirm>
|
|
4221
|
+
* <!-- Error/Danger -->
|
|
4222
|
+
* <bcm-pop-confirm status="error" header-text="Danger Zone" description="This is a destructive action">
|
|
4223
|
+
* <bcm-button status="error">Delete</bcm-button>
|
|
4224
|
+
* </bcm-pop-confirm>
|
|
4225
|
+
* ```
|
|
4226
|
+
* @example Custom Content with Slots
|
|
4227
|
+
* ```html
|
|
4228
|
+
* <bcm-pop-confirm status="warning">
|
|
4229
|
+
* <bcm-button>Custom Confirm</bcm-button>
|
|
4230
|
+
* <div slot="header">
|
|
4231
|
+
* <strong>Custom Header</strong>
|
|
4232
|
+
* </div>
|
|
4233
|
+
* <div slot="body">
|
|
4234
|
+
* <p>This is custom body content with <strong>HTML formatting</strong>.</p>
|
|
4235
|
+
* <ul>
|
|
4236
|
+
* <li>Point 1</li>
|
|
4237
|
+
* <li>Point 2</li>
|
|
4238
|
+
* </ul>
|
|
4239
|
+
* </div>
|
|
4240
|
+
* <div slot="footer">
|
|
4241
|
+
* <bcm-button kind="outline" size="small">Maybe Later</bcm-button>
|
|
4242
|
+
* <bcm-button status="success" size="small">Confirm</bcm-button>
|
|
4243
|
+
* </div>
|
|
4244
|
+
* </bcm-pop-confirm>
|
|
4245
|
+
* ```
|
|
4246
|
+
* @example Different Sizes
|
|
4247
|
+
* ```html
|
|
4248
|
+
* <!-- Small -->
|
|
4249
|
+
* <bcm-pop-confirm size="small" header-text="Small" description="Compact confirmation">
|
|
4250
|
+
* <bcm-button size="small">Small</bcm-button>
|
|
4251
|
+
* </bcm-pop-confirm>
|
|
4252
|
+
* <!-- Medium (default) -->
|
|
4253
|
+
* <bcm-pop-confirm size="medium" header-text="Medium" description="Standard confirmation">
|
|
4254
|
+
* <bcm-button size="medium">Medium</bcm-button>
|
|
4255
|
+
* </bcm-pop-confirm>
|
|
4256
|
+
* <!-- Large -->
|
|
4257
|
+
* <bcm-pop-confirm size="large" header-text="Large" description="Spacious confirmation with more room for content">
|
|
4258
|
+
* <bcm-button size="large">Large</bcm-button>
|
|
4259
|
+
* </bcm-pop-confirm>
|
|
4260
|
+
* ```
|
|
4261
|
+
* @example Programmatic Control
|
|
4262
|
+
* ```html
|
|
4263
|
+
* <bcm-pop-confirm id="myConfirm" header-text="Confirm" description="Are you sure?">
|
|
4264
|
+
* <bcm-button>Trigger</bcm-button>
|
|
4265
|
+
* </bcm-pop-confirm>
|
|
4266
|
+
* <bcm-button id="showBtn">Show Programmatically</bcm-button>
|
|
4267
|
+
* <bcm-button id="hideBtn">Hide Programmatically</bcm-button>
|
|
4268
|
+
* <script>
|
|
4269
|
+
* const popconfirm = document.getElementById('myConfirm');
|
|
4270
|
+
* document.getElementById('showBtn').addEventListener('click', () => {
|
|
4271
|
+
* popconfirm.show();
|
|
4272
|
+
* });
|
|
4273
|
+
* document.getElementById('hideBtn').addEventListener('click', () => {
|
|
4274
|
+
* popconfirm.hide();
|
|
4275
|
+
* });
|
|
4276
|
+
* </script>
|
|
4277
|
+
* ```
|
|
4278
|
+
* @example Without Status Icon
|
|
4279
|
+
* ```html
|
|
4280
|
+
* <bcm-pop-confirm
|
|
4281
|
+
* header-text="Simple Confirmation"
|
|
4282
|
+
* description="No status icon shown"
|
|
4283
|
+
* status-icon={false}
|
|
4284
|
+
* >
|
|
4285
|
+
* <bcm-button>Click Me</bcm-button>
|
|
4286
|
+
* </bcm-pop-confirm>
|
|
4287
|
+
* ```
|
|
4288
|
+
* @example Different Placements
|
|
4289
|
+
* ```html
|
|
4290
|
+
* <bcm-pop-confirm placement="top" header-text="Top" description="Opens above">
|
|
4291
|
+
* <bcm-button>Top</bcm-button>
|
|
4292
|
+
* </bcm-pop-confirm>
|
|
4293
|
+
* <bcm-pop-confirm placement="right" header-text="Right" description="Opens to the right">
|
|
4294
|
+
* <bcm-button>Right</bcm-button>
|
|
4295
|
+
* </bcm-pop-confirm>
|
|
4296
|
+
* <bcm-pop-confirm placement="bottom" header-text="Bottom" description="Opens below">
|
|
4297
|
+
* <bcm-button>Bottom</bcm-button>
|
|
4298
|
+
* </bcm-pop-confirm>
|
|
4299
|
+
* <bcm-pop-confirm placement="left" header-text="Left" description="Opens to the left">
|
|
4300
|
+
* <bcm-button>Left</bcm-button>
|
|
4301
|
+
* </bcm-pop-confirm>
|
|
4302
|
+
* ```
|
|
3406
4303
|
*/
|
|
3407
4304
|
interface BcmPopConfirm {
|
|
3408
4305
|
/**
|
|
3409
|
-
*
|
|
3410
|
-
* @default 'var(--bcm-ui-color-background-basic-panel)'
|
|
3411
|
-
*/
|
|
3412
|
-
"arrowColor"?: string;
|
|
3413
|
-
/**
|
|
3414
|
-
* The text displayed on the cancel button.
|
|
4306
|
+
* @prop {string} cancelText - Text for the cancel button. Default: 'Cancel'
|
|
3415
4307
|
* @default 'Cancel'
|
|
3416
4308
|
*/
|
|
3417
4309
|
"cancelText"?: string;
|
|
3418
4310
|
/**
|
|
3419
|
-
*
|
|
4311
|
+
* @prop {boolean} closeOnEscape - Whether to close when pressing the Escape key. Default: true
|
|
4312
|
+
* @default true
|
|
4313
|
+
*/
|
|
4314
|
+
"closeOnEscape"?: boolean;
|
|
4315
|
+
/**
|
|
4316
|
+
* @prop {boolean} closeOnOutsideClick - Whether to close when clicking outside the popover. Default: true
|
|
4317
|
+
* @default true
|
|
4318
|
+
*/
|
|
4319
|
+
"closeOnOutsideClick"?: boolean;
|
|
4320
|
+
/**
|
|
4321
|
+
* @prop {string} confirmText - Text for the confirm button. Default: 'Yes'
|
|
3420
4322
|
* @default 'Yes'
|
|
3421
4323
|
*/
|
|
3422
4324
|
"confirmText"?: string;
|
|
3423
4325
|
/**
|
|
3424
|
-
*
|
|
4326
|
+
* @prop {string} description - Description text displayed in the body section. Can be overridden by using the 'body' slot. Default: ''
|
|
3425
4327
|
* @default ''
|
|
3426
4328
|
*/
|
|
3427
4329
|
"description"?: string;
|
|
3428
4330
|
/**
|
|
3429
|
-
*
|
|
4331
|
+
* @prop {string} headerText - Text displayed in the header section. Can be overridden by using the 'header' slot. Default: ''
|
|
3430
4332
|
* @default ''
|
|
3431
4333
|
*/
|
|
3432
4334
|
"headerText"?: string;
|
|
3433
4335
|
/**
|
|
3434
|
-
*
|
|
4336
|
+
* @prop {number} offsetDistance - Distance in pixels between the popover and trigger element. Default: 12
|
|
4337
|
+
* @default 12
|
|
4338
|
+
*/
|
|
4339
|
+
"offsetDistance"?: number;
|
|
4340
|
+
/**
|
|
4341
|
+
* @event bcmBeforeClose - Emitted before the popover closes. Useful for performing cleanup actions before hiding.
|
|
4342
|
+
*/
|
|
4343
|
+
"onBcmBeforeClose"?: (event: BcmPopConfirmCustomEvent<void>) => void;
|
|
4344
|
+
/**
|
|
4345
|
+
* @event bcmBeforeOpen - Emitted before the popover opens. Useful for performing actions before the popover becomes visible.
|
|
4346
|
+
*/
|
|
4347
|
+
"onBcmBeforeOpen"?: (event: BcmPopConfirmCustomEvent<void>) => void;
|
|
4348
|
+
/**
|
|
4349
|
+
* @event bcmCancel - Emitted when the user clicks cancel, presses Escape, or clicks outside. Useful for tracking when the user dismisses the confirmation.
|
|
3435
4350
|
*/
|
|
3436
4351
|
"onBcmCancel"?: (event: BcmPopConfirmCustomEvent<void>) => void;
|
|
3437
4352
|
/**
|
|
3438
|
-
*
|
|
4353
|
+
* @event bcmClose - Emitted when the popover is closed. Useful for tracking when the popover is hidden.
|
|
4354
|
+
*/
|
|
4355
|
+
"onBcmClose"?: (event: BcmPopConfirmCustomEvent<void>) => void;
|
|
4356
|
+
/**
|
|
4357
|
+
* @event bcmConfirm - Emitted when the user clicks the confirm button. This is where you should handle the confirmed action.
|
|
3439
4358
|
*/
|
|
3440
4359
|
"onBcmConfirm"?: (event: BcmPopConfirmCustomEvent<void>) => void;
|
|
3441
4360
|
/**
|
|
3442
|
-
*
|
|
3443
|
-
* @default 'bottom'
|
|
4361
|
+
* @event bcmOpen - Emitted when the popover is opened. Useful for tracking when the popover becomes visible.
|
|
3444
4362
|
*/
|
|
3445
|
-
"
|
|
4363
|
+
"onBcmOpen"?: (event: BcmPopConfirmCustomEvent<void>) => void;
|
|
4364
|
+
/**
|
|
4365
|
+
* @prop {PopConfirmPlacement} placement - Position of the popover relative to the trigger element. Automatically flips if there's not enough space. Default: 'top'
|
|
4366
|
+
* @default 'top'
|
|
4367
|
+
*/
|
|
4368
|
+
"placement"?: PopConfirmPlacement;
|
|
4369
|
+
/**
|
|
4370
|
+
* @prop {boolean} showArrow - Whether to show the arrow pointing to the trigger. Default: true
|
|
4371
|
+
* @default true
|
|
4372
|
+
*/
|
|
4373
|
+
"showArrow"?: boolean;
|
|
3446
4374
|
/**
|
|
3447
|
-
*
|
|
4375
|
+
* @prop {PopConfirmSize} size - Size variant that controls padding and text size. - 'small': Compact size with minimal padding - 'medium': Standard size - 'large': Spacious size with more padding Default: 'medium'
|
|
3448
4376
|
* @default 'medium'
|
|
3449
4377
|
*/
|
|
3450
|
-
"size"?:
|
|
4378
|
+
"size"?: PopConfirmSize;
|
|
3451
4379
|
/**
|
|
3452
|
-
*
|
|
4380
|
+
* @prop {PopConfirmStatus} status - Status type that determines the color scheme and icon. - 'info': Informational (blue) - 'success': Success/positive action (green) - 'warning': Warning/caution (yellow) - 'error': Error/destructive action (red) Default: 'info'
|
|
3453
4381
|
* @default 'info'
|
|
3454
4382
|
*/
|
|
3455
|
-
"status"?:
|
|
4383
|
+
"status"?: PopConfirmStatus;
|
|
3456
4384
|
/**
|
|
3457
|
-
* Whether to
|
|
4385
|
+
* @prop {boolean} statusIcon - Whether to show the status icon in the header. Icon only shows if headerText is also provided. Default: true
|
|
3458
4386
|
* @default true
|
|
3459
4387
|
*/
|
|
3460
4388
|
"statusIcon"?: boolean;
|
|
3461
|
-
/**
|
|
3462
|
-
* The ID of the trigger element (e.g., a button) that opens the pop-up.
|
|
3463
|
-
*/
|
|
3464
|
-
"targetId"?: string;
|
|
3465
4389
|
}
|
|
3466
4390
|
/**
|
|
3467
4391
|
* @component BcmPopover
|
|
3468
4392
|
* @description A flexible popover component that displays contextual information or content relative to a target element.
|
|
3469
|
-
*
|
|
4393
|
+
* Built on the native Popover API for top-layer rendering and Floating UI for intelligent positioning.
|
|
4394
|
+
* Supports different sizes, trigger types (click, hover, focus), placements, and comprehensive event system.
|
|
3470
4395
|
* @example Basic Click Popover
|
|
3471
4396
|
* <bcm-popover trigger="click" size="medium" placement="top">
|
|
3472
4397
|
* <bcm-button>Click Me</bcm-button>
|
|
3473
4398
|
* <span slot="header">Header</span>
|
|
3474
4399
|
* <span slot="content">This is a simple popover content.</span>
|
|
3475
4400
|
* </bcm-popover>
|
|
3476
|
-
* @example Hover Popover with
|
|
3477
|
-
* <bcm-popover trigger="hover"
|
|
4401
|
+
* @example Hover Popover with Delays
|
|
4402
|
+
* <bcm-popover trigger="hover" show-delay="200" hide-delay="100" size="large" placement="right" header-text="Prop Header" message="This is a hover popover with props.">
|
|
3478
4403
|
* <bcm-button>Hover Me</bcm-button>
|
|
3479
4404
|
* </bcm-popover>
|
|
3480
4405
|
* @example Programmatic Control
|
|
@@ -3484,8 +4409,9 @@ declare namespace LocalJSX {
|
|
|
3484
4409
|
* </bcm-popover>
|
|
3485
4410
|
* <script>
|
|
3486
4411
|
* const popover = document.querySelector('#my-popover');
|
|
3487
|
-
* popover.
|
|
3488
|
-
* popover.
|
|
4412
|
+
* popover.show(); // Opens the popover
|
|
4413
|
+
* popover.hide(); // Closes the popover
|
|
4414
|
+
* popover.toggle(); // Toggles the popover
|
|
3489
4415
|
* </script>
|
|
3490
4416
|
* @csspart popover - The root popover container element, stylable for the entire popover
|
|
3491
4417
|
* @csspart header - The header section of the popover, stylable for the title area
|
|
@@ -3493,29 +4419,52 @@ declare namespace LocalJSX {
|
|
|
3493
4419
|
* @csspart arrow - The arrow element of the popover, stylable for the positioning arrow
|
|
3494
4420
|
*/
|
|
3495
4421
|
interface BcmPopover {
|
|
4422
|
+
/**
|
|
4423
|
+
* @prop {boolean} arrow - Whether to show an arrow pointing to the trigger element. Default: true
|
|
4424
|
+
* @default true
|
|
4425
|
+
*/
|
|
4426
|
+
"arrow"?: boolean;
|
|
4427
|
+
/**
|
|
4428
|
+
* @prop {boolean} closeOnEscape - Whether to close the popover when pressing Escape key. Default: true
|
|
4429
|
+
* @default true
|
|
4430
|
+
*/
|
|
4431
|
+
"closeOnEscape"?: boolean;
|
|
4432
|
+
/**
|
|
4433
|
+
* @prop {boolean} closeOnOutsideClick - Whether to close the popover when clicking outside. Default: true
|
|
4434
|
+
* @default true
|
|
4435
|
+
*/
|
|
4436
|
+
"closeOnOutsideClick"?: boolean;
|
|
3496
4437
|
/**
|
|
3497
4438
|
* @prop {string} headerText - Custom text for the popover header. Used as fallback content if the 'header' slot is not provided.
|
|
3498
4439
|
*/
|
|
3499
4440
|
"headerText"?: string;
|
|
3500
4441
|
/**
|
|
3501
|
-
* @prop {number}
|
|
3502
|
-
* @default
|
|
4442
|
+
* @prop {number} hideDelay - Delay in milliseconds before hiding the popover. Provides a grace period for mouse movements. Default: 0
|
|
4443
|
+
* @default 0
|
|
3503
4444
|
*/
|
|
3504
|
-
"
|
|
4445
|
+
"hideDelay"?: number;
|
|
3505
4446
|
/**
|
|
3506
4447
|
* @prop {string} message - Custom text for the popover content. Used as fallback content if the 'content' slot is not provided.
|
|
3507
4448
|
*/
|
|
3508
4449
|
"message"?: string;
|
|
3509
4450
|
/**
|
|
3510
|
-
* @event
|
|
4451
|
+
* @event bcmBeforeClose - Emitted before the popover closes. Useful for performing actions before the popover is hidden.
|
|
4452
|
+
*/
|
|
4453
|
+
"onBcmBeforeClose"?: (event: BcmPopoverCustomEvent<void>) => void;
|
|
4454
|
+
/**
|
|
4455
|
+
* @event bcmBeforeOpen - Emitted before the popover opens. Useful for performing actions before the popover becomes visible.
|
|
3511
4456
|
*/
|
|
3512
|
-
"
|
|
4457
|
+
"onBcmBeforeOpen"?: (event: BcmPopoverCustomEvent<void>) => void;
|
|
3513
4458
|
/**
|
|
3514
|
-
* @event
|
|
4459
|
+
* @event bcmClose - Emitted when the popover is closed. Useful for tracking when the popover is hidden.
|
|
3515
4460
|
*/
|
|
3516
|
-
"
|
|
4461
|
+
"onBcmClose"?: (event: BcmPopoverCustomEvent<void>) => void;
|
|
3517
4462
|
/**
|
|
3518
|
-
* @
|
|
4463
|
+
* @event bcmOpen - Emitted when the popover is opened. Useful for tracking when the popover becomes visible.
|
|
4464
|
+
*/
|
|
4465
|
+
"onBcmOpen"?: (event: BcmPopoverCustomEvent<void>) => void;
|
|
4466
|
+
/**
|
|
4467
|
+
* @prop {boolean} open - Controls the open state of the popover. Can be set programmatically or toggled by user interaction. Default: false
|
|
3519
4468
|
* @default false
|
|
3520
4469
|
*/
|
|
3521
4470
|
"open"?: boolean;
|
|
@@ -3524,16 +4473,21 @@ declare namespace LocalJSX {
|
|
|
3524
4473
|
* @default 'top'
|
|
3525
4474
|
*/
|
|
3526
4475
|
"placement"?: 'top' | 'right' | 'bottom' | 'left';
|
|
4476
|
+
/**
|
|
4477
|
+
* @prop {number} showDelay - Delay in milliseconds before showing the popover. Useful to prevent popovers from appearing on quick mouse movements. Default: 0
|
|
4478
|
+
* @default 0
|
|
4479
|
+
*/
|
|
4480
|
+
"showDelay"?: number;
|
|
3527
4481
|
/**
|
|
3528
4482
|
* @prop {('small' | 'medium' | 'large')} size - Defines the size of the popover. Controls the text size and padding of the popover content. Default: 'medium'
|
|
3529
4483
|
* @default 'medium'
|
|
3530
4484
|
*/
|
|
3531
4485
|
"size"?: 'small' | 'medium' | 'large';
|
|
3532
4486
|
/**
|
|
3533
|
-
* @prop {('click' | 'hover')} trigger - Defines the interaction type to show/hide the popover. 'click' toggles on click, 'hover' shows on mouse enter and hides on mouse leave. Default: 'click'
|
|
4487
|
+
* @prop {('click' | 'hover' | 'hover focus')} trigger - Defines the interaction type to show/hide the popover. 'click' toggles on click, 'hover' shows on mouse enter and hides on mouse leave, 'hover focus' combines both. Default: 'click'
|
|
3534
4488
|
* @default 'click'
|
|
3535
4489
|
*/
|
|
3536
|
-
"trigger"?: 'click' | 'hover';
|
|
4490
|
+
"trigger"?: 'click' | 'hover' | 'hover focus';
|
|
3537
4491
|
}
|
|
3538
4492
|
interface BcmRadio {
|
|
3539
4493
|
/**
|
|
@@ -4029,49 +4983,101 @@ declare namespace LocalJSX {
|
|
|
4029
4983
|
}
|
|
4030
4984
|
/**
|
|
4031
4985
|
* @component BcmTooltip
|
|
4032
|
-
* @description A
|
|
4033
|
-
*
|
|
4034
|
-
*
|
|
4035
|
-
*
|
|
4036
|
-
*
|
|
4986
|
+
* @description A flexible tooltip component that provides contextual information on hover or click.
|
|
4987
|
+
* Built on the native Popover API for top-layer rendering and Floating UI for intelligent positioning.
|
|
4988
|
+
* Automatically handles overflow, flipping, and complex shadow DOM scenarios.
|
|
4989
|
+
* @example ```html
|
|
4990
|
+
* <!-- Basic usage with text message -->
|
|
4991
|
+
* <bcm-tooltip message="This is a tooltip">
|
|
4992
|
+
* <button>Hover me</button>
|
|
4037
4993
|
* </bcm-tooltip>
|
|
4038
|
-
*
|
|
4039
|
-
* <bcm-tooltip
|
|
4040
|
-
*
|
|
4994
|
+
* <!-- With custom rich content -->
|
|
4995
|
+
* <bcm-tooltip placement="right" size="large">
|
|
4996
|
+
* <button>Click me</button>
|
|
4997
|
+
* <div slot="content">
|
|
4998
|
+
* <strong>Rich content</strong>
|
|
4999
|
+
* <p>You can add any HTML here</p>
|
|
5000
|
+
* </div>
|
|
5001
|
+
* </bcm-tooltip>
|
|
5002
|
+
* <!-- Click trigger with custom delays -->
|
|
5003
|
+
* <bcm-tooltip trigger="click" show-delay="0" hide-delay="0">
|
|
5004
|
+
* <span>Click me</span>
|
|
5005
|
+
* </bcm-tooltip>
|
|
5006
|
+
* <!-- Mouse following mode -->
|
|
5007
|
+
* <bcm-tooltip follow={true} message="I follow your cursor!">
|
|
5008
|
+
* <div>Move your mouse here</div>
|
|
5009
|
+
* </bcm-tooltip>
|
|
5010
|
+
* <!-- Programmatic control -->
|
|
5011
|
+
* <bcm-tooltip id="myTooltip" message="Programmatic tooltip">
|
|
5012
|
+
* <span>Trigger</span>
|
|
4041
5013
|
* </bcm-tooltip>
|
|
4042
5014
|
* <script>
|
|
4043
|
-
*
|
|
4044
|
-
*
|
|
4045
|
-
* tooltip.
|
|
5015
|
+
* const tooltip = document.getElementById('myTooltip');
|
|
5016
|
+
* tooltip.show();
|
|
5017
|
+
* setTimeout(() => tooltip.hide(), 2000);
|
|
4046
5018
|
* </script>
|
|
4047
|
-
*
|
|
4048
|
-
*
|
|
5019
|
+
* <!-- Custom styling with CSS parts -->
|
|
5020
|
+
* <style>
|
|
5021
|
+
* bcm-tooltip::part(tooltip) {
|
|
5022
|
+
* background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
|
|
5023
|
+
* border-radius: 12px;
|
|
5024
|
+
* }
|
|
5025
|
+
* bcm-tooltip::part(arrow) {
|
|
5026
|
+
* background: #667eea;
|
|
5027
|
+
* }
|
|
5028
|
+
* </style>
|
|
5029
|
+
* ```
|
|
4049
5030
|
*/
|
|
4050
5031
|
interface BcmTooltip {
|
|
4051
5032
|
/**
|
|
4052
|
-
*
|
|
5033
|
+
* Whether to show an arrow pointing to the trigger element Note: Arrow is automatically hidden in 'follow' mode
|
|
5034
|
+
* @default true
|
|
5035
|
+
*/
|
|
5036
|
+
"arrow"?: boolean;
|
|
5037
|
+
/**
|
|
5038
|
+
* Disables the tooltip, preventing it from showing Useful for conditional tooltips based on application state
|
|
5039
|
+
* @default false
|
|
5040
|
+
*/
|
|
5041
|
+
"disabled"?: boolean;
|
|
5042
|
+
/**
|
|
5043
|
+
* Makes the tooltip follow the mouse cursor When enabled: - Arrow is hidden - Tooltip position updates smoothly with cursor movement - Pointer events are disabled on tooltip to prevent interference
|
|
5044
|
+
* @default false
|
|
5045
|
+
*/
|
|
5046
|
+
"follow"?: boolean;
|
|
5047
|
+
/**
|
|
5048
|
+
* Delay in milliseconds before hiding the tooltip Provides a grace period for mouse movements
|
|
5049
|
+
* @default 100
|
|
5050
|
+
*/
|
|
5051
|
+
"hideDelay"?: number;
|
|
5052
|
+
/**
|
|
5053
|
+
* Simple text message to display in the tooltip Can be overridden by slotting content into the 'content' slot
|
|
4053
5054
|
*/
|
|
4054
5055
|
"message"?: string;
|
|
4055
5056
|
/**
|
|
4056
|
-
*
|
|
5057
|
+
* Distance in pixels between the tooltip and the trigger element Also used as the offset in 'follow' mode
|
|
5058
|
+
* @default 12
|
|
5059
|
+
*/
|
|
5060
|
+
"offset"?: number;
|
|
5061
|
+
/**
|
|
5062
|
+
* Preferred placement of the tooltip relative to the trigger Note: Tooltip will automatically flip if there's not enough space - 'top': Above the trigger element - 'right': To the right of the trigger element - 'bottom': Below the trigger element - 'left': To the left of the trigger element
|
|
4057
5063
|
* @default 'top'
|
|
4058
5064
|
*/
|
|
4059
|
-
"placement"?:
|
|
5065
|
+
"placement"?: TooltipPlacement;
|
|
4060
5066
|
/**
|
|
4061
|
-
*
|
|
5067
|
+
* Delay in milliseconds before showing the tooltip Useful to prevent tooltips from appearing on quick mouse movements
|
|
4062
5068
|
* @default 150
|
|
4063
5069
|
*/
|
|
4064
5070
|
"showDelay"?: number;
|
|
4065
5071
|
/**
|
|
4066
|
-
*
|
|
5072
|
+
* Size variant of the tooltip - 'small': Compact tooltip with minimal padding (text-size-3, py-1 px-2) - 'medium': Standard tooltip size (text-size-4, py-1.5 px-3) - 'large': Larger tooltip for more content (text-size-5, py-2 px-4)
|
|
4067
5073
|
* @default 'medium'
|
|
4068
5074
|
*/
|
|
4069
|
-
"size"?:
|
|
5075
|
+
"size"?: TooltipSize;
|
|
4070
5076
|
/**
|
|
4071
|
-
*
|
|
5077
|
+
* How the tooltip is triggered - 'hover': Shows on mouse enter, hides on mouse leave - 'click': Toggles on click, closes on outside click or Escape key
|
|
4072
5078
|
* @default 'hover'
|
|
4073
5079
|
*/
|
|
4074
|
-
"trigger"?:
|
|
5080
|
+
"trigger"?: TooltipTrigger;
|
|
4075
5081
|
}
|
|
4076
5082
|
interface IntrinsicElements {
|
|
4077
5083
|
"bcm-accordion": BcmAccordion;
|
|
@@ -4281,72 +5287,258 @@ declare module "@stencil/core" {
|
|
|
4281
5287
|
* The component uses CSS variables for theming and Tailwind for styling.
|
|
4282
5288
|
*/
|
|
4283
5289
|
"bcm-divider": LocalJSX.BcmDivider & JSXBase.HTMLAttributes<HTMLBcmDividerElement>;
|
|
5290
|
+
/**
|
|
5291
|
+
* @component BcmDrawer
|
|
5292
|
+
* @description A slide-in panel component built on the native HTML Dialog API.
|
|
5293
|
+
* Ideal for navigation menus, forms, and contextual information that slides in from any edge of the screen.
|
|
5294
|
+
* @example ```html
|
|
5295
|
+
* <!-- Basic usage -->
|
|
5296
|
+
* <bcm-drawer open header-text="Menu" position="left">
|
|
5297
|
+
* <nav>
|
|
5298
|
+
* <a href="/home">Home</a>
|
|
5299
|
+
* <a href="/about">About</a>
|
|
5300
|
+
* </nav>
|
|
5301
|
+
* </bcm-drawer>
|
|
5302
|
+
* <!-- Custom size and position -->
|
|
5303
|
+
* <bcm-drawer size="large" position="right">
|
|
5304
|
+
* <div slot="header">Settings</div>
|
|
5305
|
+
* <form>...</form>
|
|
5306
|
+
* <div slot="footer">
|
|
5307
|
+
* <button data-dismiss>Cancel</button>
|
|
5308
|
+
* <button>Save</button>
|
|
5309
|
+
* </div>
|
|
5310
|
+
* </bcm-drawer>
|
|
5311
|
+
* <!-- Custom size with CSS units -->
|
|
5312
|
+
* <bcm-drawer size="600px" position="bottom">
|
|
5313
|
+
* <p>Custom height drawer</p>
|
|
5314
|
+
* </bcm-drawer>
|
|
5315
|
+
* <!-- Programmatic usage -->
|
|
5316
|
+
* <bcm-drawer id="myDrawer">Content</bcm-drawer>
|
|
5317
|
+
* <script>
|
|
5318
|
+
* document.getElementById('myDrawer').show();
|
|
5319
|
+
* </script>
|
|
5320
|
+
* ```
|
|
5321
|
+
*/
|
|
4284
5322
|
"bcm-drawer": LocalJSX.BcmDrawer & JSXBase.HTMLAttributes<HTMLBcmDrawerElement>;
|
|
4285
5323
|
"bcm-dropdown": LocalJSX.BcmDropdown & JSXBase.HTMLAttributes<HTMLBcmDropdownElement>;
|
|
4286
5324
|
"bcm-dropdown-item": LocalJSX.BcmDropdownItem & JSXBase.HTMLAttributes<HTMLBcmDropdownItemElement>;
|
|
4287
5325
|
"bcm-input": LocalJSX.BcmInput & JSXBase.HTMLAttributes<HTMLBcmInputElement>;
|
|
5326
|
+
/**
|
|
5327
|
+
* @component BcmLinked
|
|
5328
|
+
* @description A flexible linked floating element component that displays contextual content relative to a trigger element.
|
|
5329
|
+
* Built on the native Popover API for top-layer rendering and Floating UI for intelligent positioning.
|
|
5330
|
+
* Supports different trigger types (click, hover, focus, manual) and comprehensive event system.
|
|
5331
|
+
* @example Basic Click Trigger
|
|
5332
|
+
* <bcm-linked trigger="click">
|
|
5333
|
+
* <button slot="trigger">Click Me</button>
|
|
5334
|
+
* <div>Floating content here</div>
|
|
5335
|
+
* </bcm-linked>
|
|
5336
|
+
* @example Hover Trigger with Delays
|
|
5337
|
+
* <bcm-linked trigger="hover" show-delay="200" hide-delay="100">
|
|
5338
|
+
* <span slot="trigger">Hover Me</span>
|
|
5339
|
+
* <div>This appears on hover</div>
|
|
5340
|
+
* </bcm-linked>
|
|
5341
|
+
* @example Manual Control
|
|
5342
|
+
* <bcm-linked id="my-linked" trigger="manual">
|
|
5343
|
+
* <button slot="trigger">Trigger</button>
|
|
5344
|
+
* <div>Controlled content</div>
|
|
5345
|
+
* </bcm-linked>
|
|
5346
|
+
* <script>
|
|
5347
|
+
* const linked = document.querySelector('#my-linked');
|
|
5348
|
+
* linked.show(); // Opens the floating element
|
|
5349
|
+
* linked.hide(); // Closes the floating element
|
|
5350
|
+
* </script>
|
|
5351
|
+
* @csspart floating - The floating container element
|
|
5352
|
+
* @csspart arrow - The arrow element pointing to the trigger
|
|
5353
|
+
* @csspart content - The content wrapper element
|
|
5354
|
+
*/
|
|
4288
5355
|
"bcm-linked": LocalJSX.BcmLinked & JSXBase.HTMLAttributes<HTMLBcmLinkedElement>;
|
|
5356
|
+
/**
|
|
5357
|
+
* @component BcmModal
|
|
5358
|
+
* @description A flexible modal dialog component built on the native HTML Dialog API.
|
|
5359
|
+
* Provides a powerful way to display content in a layer above the page with full keyboard and focus management.
|
|
5360
|
+
* @example ```html
|
|
5361
|
+
* <!-- Basic usage -->
|
|
5362
|
+
* <bcm-modal open header-text="Welcome" helper-text="Please read carefully">
|
|
5363
|
+
* <p>Modal content goes here</p>
|
|
5364
|
+
* <div slot="footer">
|
|
5365
|
+
* <button data-dismiss>Close</button>
|
|
5366
|
+
* </div>
|
|
5367
|
+
* </bcm-modal>
|
|
5368
|
+
* <!-- Custom size and placement -->
|
|
5369
|
+
* <bcm-modal size="large" placement="top">
|
|
5370
|
+
* <div slot="header">Custom Header</div>
|
|
5371
|
+
* <p>Content here</p>
|
|
5372
|
+
* <div slot="footer">
|
|
5373
|
+
* <button>Cancel</button>
|
|
5374
|
+
* <button>Confirm</button>
|
|
5375
|
+
* </div>
|
|
5376
|
+
* </bcm-modal>
|
|
5377
|
+
* <!-- Full screen modal -->
|
|
5378
|
+
* <bcm-modal full-screen no-footer>
|
|
5379
|
+
* <p>Full screen content</p>
|
|
5380
|
+
* </bcm-modal>
|
|
5381
|
+
* <!-- Programmatic usage -->
|
|
5382
|
+
* <bcm-modal id="myModal">Content</bcm-modal>
|
|
5383
|
+
* <script>
|
|
5384
|
+
* document.getElementById('myModal').show();
|
|
5385
|
+
* </script>
|
|
5386
|
+
* ```
|
|
5387
|
+
*/
|
|
4289
5388
|
"bcm-modal": LocalJSX.BcmModal & JSXBase.HTMLAttributes<HTMLBcmModalElement>;
|
|
4290
5389
|
/**
|
|
4291
5390
|
* @component BcmPopConfirm
|
|
4292
|
-
* @description A
|
|
4293
|
-
*
|
|
4294
|
-
*
|
|
4295
|
-
*
|
|
4296
|
-
* @
|
|
4297
|
-
*
|
|
4298
|
-
*
|
|
4299
|
-
*
|
|
4300
|
-
*
|
|
5391
|
+
* @description A confirmation popover component that displays a confirmation dialog with customizable actions.
|
|
5392
|
+
* Built on the native Popover API for top-layer rendering and Floating UI for intelligent positioning.
|
|
5393
|
+
* Ideal for confirming destructive actions or important decisions inline.
|
|
5394
|
+
* @csspart container - The main popover container element
|
|
5395
|
+
* @csspart arrow - The arrow pointer element
|
|
5396
|
+
* @csspart body - The body/description section
|
|
5397
|
+
* @csspart footer - The footer section with action buttons
|
|
5398
|
+
* @example Basic Usage
|
|
5399
|
+
* ```html
|
|
5400
|
+
* <bcm-pop-confirm
|
|
5401
|
+
* header-text="Delete Item?"
|
|
5402
|
+
* description="Are you sure you want to delete this item? This action cannot be undone."
|
|
5403
|
+
* status="error"
|
|
5404
|
+
* >
|
|
5405
|
+
* <bcm-button status="error">Delete</bcm-button>
|
|
4301
5406
|
* </bcm-pop-confirm>
|
|
4302
|
-
*
|
|
4303
|
-
*
|
|
4304
|
-
*
|
|
4305
|
-
*
|
|
4306
|
-
*
|
|
5407
|
+
* ```
|
|
5408
|
+
* @example With Event Handlers
|
|
5409
|
+
* ```html
|
|
5410
|
+
* <bcm-pop-confirm
|
|
5411
|
+
* id="deleteConfirm"
|
|
5412
|
+
* header-text="Confirm Delete"
|
|
5413
|
+
* description="This will permanently delete the item."
|
|
5414
|
+
* status="warning"
|
|
5415
|
+
* confirm-text="Yes, Delete"
|
|
5416
|
+
* cancel-text="No, Keep It"
|
|
5417
|
+
* >
|
|
5418
|
+
* <bcm-button>Delete Item</bcm-button>
|
|
5419
|
+
* </bcm-pop-confirm>
|
|
5420
|
+
* <script>
|
|
5421
|
+
* const popconfirm = document.getElementById('deleteConfirm');
|
|
5422
|
+
* popconfirm.addEventListener('bcmConfirm', () => {
|
|
5423
|
+
* console.log('User confirmed deletion');
|
|
5424
|
+
* // Perform delete operation
|
|
4307
5425
|
* });
|
|
4308
|
-
*
|
|
4309
|
-
* console.log('User
|
|
5426
|
+
* popconfirm.addEventListener('bcmCancel', () => {
|
|
5427
|
+
* console.log('User cancelled deletion');
|
|
4310
5428
|
* });
|
|
4311
|
-
*
|
|
4312
|
-
*
|
|
4313
|
-
*
|
|
4314
|
-
*
|
|
4315
|
-
*
|
|
4316
|
-
*
|
|
4317
|
-
*
|
|
4318
|
-
*
|
|
4319
|
-
*
|
|
4320
|
-
*
|
|
4321
|
-
*
|
|
4322
|
-
*
|
|
4323
|
-
*
|
|
4324
|
-
*
|
|
4325
|
-
*
|
|
4326
|
-
*
|
|
4327
|
-
*
|
|
4328
|
-
*
|
|
4329
|
-
*
|
|
4330
|
-
*
|
|
4331
|
-
*
|
|
4332
|
-
* @
|
|
4333
|
-
*
|
|
4334
|
-
*
|
|
4335
|
-
*
|
|
5429
|
+
* </script>
|
|
5430
|
+
* ```
|
|
5431
|
+
* @example Different Status Types
|
|
5432
|
+
* ```html
|
|
5433
|
+
* <!-- Info (default) -->
|
|
5434
|
+
* <bcm-pop-confirm header-text="Information" description="This is an info message">
|
|
5435
|
+
* <bcm-button>Info</bcm-button>
|
|
5436
|
+
* </bcm-pop-confirm>
|
|
5437
|
+
* <!-- Success -->
|
|
5438
|
+
* <bcm-pop-confirm status="success" header-text="Confirm Action" description="Proceed with this action?">
|
|
5439
|
+
* <bcm-button status="success">Proceed</bcm-button>
|
|
5440
|
+
* </bcm-pop-confirm>
|
|
5441
|
+
* <!-- Warning -->
|
|
5442
|
+
* <bcm-pop-confirm status="warning" header-text="Warning" description="This action may have consequences">
|
|
5443
|
+
* <bcm-button status="warning">Continue</bcm-button>
|
|
5444
|
+
* </bcm-pop-confirm>
|
|
5445
|
+
* <!-- Error/Danger -->
|
|
5446
|
+
* <bcm-pop-confirm status="error" header-text="Danger Zone" description="This is a destructive action">
|
|
5447
|
+
* <bcm-button status="error">Delete</bcm-button>
|
|
5448
|
+
* </bcm-pop-confirm>
|
|
5449
|
+
* ```
|
|
5450
|
+
* @example Custom Content with Slots
|
|
5451
|
+
* ```html
|
|
5452
|
+
* <bcm-pop-confirm status="warning">
|
|
5453
|
+
* <bcm-button>Custom Confirm</bcm-button>
|
|
5454
|
+
* <div slot="header">
|
|
5455
|
+
* <strong>Custom Header</strong>
|
|
5456
|
+
* </div>
|
|
5457
|
+
* <div slot="body">
|
|
5458
|
+
* <p>This is custom body content with <strong>HTML formatting</strong>.</p>
|
|
5459
|
+
* <ul>
|
|
5460
|
+
* <li>Point 1</li>
|
|
5461
|
+
* <li>Point 2</li>
|
|
5462
|
+
* </ul>
|
|
5463
|
+
* </div>
|
|
5464
|
+
* <div slot="footer">
|
|
5465
|
+
* <bcm-button kind="outline" size="small">Maybe Later</bcm-button>
|
|
5466
|
+
* <bcm-button status="success" size="small">Confirm</bcm-button>
|
|
5467
|
+
* </div>
|
|
5468
|
+
* </bcm-pop-confirm>
|
|
5469
|
+
* ```
|
|
5470
|
+
* @example Different Sizes
|
|
5471
|
+
* ```html
|
|
5472
|
+
* <!-- Small -->
|
|
5473
|
+
* <bcm-pop-confirm size="small" header-text="Small" description="Compact confirmation">
|
|
5474
|
+
* <bcm-button size="small">Small</bcm-button>
|
|
5475
|
+
* </bcm-pop-confirm>
|
|
5476
|
+
* <!-- Medium (default) -->
|
|
5477
|
+
* <bcm-pop-confirm size="medium" header-text="Medium" description="Standard confirmation">
|
|
5478
|
+
* <bcm-button size="medium">Medium</bcm-button>
|
|
5479
|
+
* </bcm-pop-confirm>
|
|
5480
|
+
* <!-- Large -->
|
|
5481
|
+
* <bcm-pop-confirm size="large" header-text="Large" description="Spacious confirmation with more room for content">
|
|
5482
|
+
* <bcm-button size="large">Large</bcm-button>
|
|
5483
|
+
* </bcm-pop-confirm>
|
|
5484
|
+
* ```
|
|
5485
|
+
* @example Programmatic Control
|
|
5486
|
+
* ```html
|
|
5487
|
+
* <bcm-pop-confirm id="myConfirm" header-text="Confirm" description="Are you sure?">
|
|
5488
|
+
* <bcm-button>Trigger</bcm-button>
|
|
5489
|
+
* </bcm-pop-confirm>
|
|
5490
|
+
* <bcm-button id="showBtn">Show Programmatically</bcm-button>
|
|
5491
|
+
* <bcm-button id="hideBtn">Hide Programmatically</bcm-button>
|
|
5492
|
+
* <script>
|
|
5493
|
+
* const popconfirm = document.getElementById('myConfirm');
|
|
5494
|
+
* document.getElementById('showBtn').addEventListener('click', () => {
|
|
5495
|
+
* popconfirm.show();
|
|
5496
|
+
* });
|
|
5497
|
+
* document.getElementById('hideBtn').addEventListener('click', () => {
|
|
5498
|
+
* popconfirm.hide();
|
|
5499
|
+
* });
|
|
5500
|
+
* </script>
|
|
5501
|
+
* ```
|
|
5502
|
+
* @example Without Status Icon
|
|
5503
|
+
* ```html
|
|
5504
|
+
* <bcm-pop-confirm
|
|
5505
|
+
* header-text="Simple Confirmation"
|
|
5506
|
+
* description="No status icon shown"
|
|
5507
|
+
* status-icon={false}
|
|
5508
|
+
* >
|
|
5509
|
+
* <bcm-button>Click Me</bcm-button>
|
|
5510
|
+
* </bcm-pop-confirm>
|
|
5511
|
+
* ```
|
|
5512
|
+
* @example Different Placements
|
|
5513
|
+
* ```html
|
|
5514
|
+
* <bcm-pop-confirm placement="top" header-text="Top" description="Opens above">
|
|
5515
|
+
* <bcm-button>Top</bcm-button>
|
|
5516
|
+
* </bcm-pop-confirm>
|
|
5517
|
+
* <bcm-pop-confirm placement="right" header-text="Right" description="Opens to the right">
|
|
5518
|
+
* <bcm-button>Right</bcm-button>
|
|
5519
|
+
* </bcm-pop-confirm>
|
|
5520
|
+
* <bcm-pop-confirm placement="bottom" header-text="Bottom" description="Opens below">
|
|
5521
|
+
* <bcm-button>Bottom</bcm-button>
|
|
5522
|
+
* </bcm-pop-confirm>
|
|
5523
|
+
* <bcm-pop-confirm placement="left" header-text="Left" description="Opens to the left">
|
|
5524
|
+
* <bcm-button>Left</bcm-button>
|
|
5525
|
+
* </bcm-pop-confirm>
|
|
5526
|
+
* ```
|
|
4336
5527
|
*/
|
|
4337
5528
|
"bcm-pop-confirm": LocalJSX.BcmPopConfirm & JSXBase.HTMLAttributes<HTMLBcmPopConfirmElement>;
|
|
4338
5529
|
/**
|
|
4339
5530
|
* @component BcmPopover
|
|
4340
5531
|
* @description A flexible popover component that displays contextual information or content relative to a target element.
|
|
4341
|
-
*
|
|
5532
|
+
* Built on the native Popover API for top-layer rendering and Floating UI for intelligent positioning.
|
|
5533
|
+
* Supports different sizes, trigger types (click, hover, focus), placements, and comprehensive event system.
|
|
4342
5534
|
* @example Basic Click Popover
|
|
4343
5535
|
* <bcm-popover trigger="click" size="medium" placement="top">
|
|
4344
5536
|
* <bcm-button>Click Me</bcm-button>
|
|
4345
5537
|
* <span slot="header">Header</span>
|
|
4346
5538
|
* <span slot="content">This is a simple popover content.</span>
|
|
4347
5539
|
* </bcm-popover>
|
|
4348
|
-
* @example Hover Popover with
|
|
4349
|
-
* <bcm-popover trigger="hover"
|
|
5540
|
+
* @example Hover Popover with Delays
|
|
5541
|
+
* <bcm-popover trigger="hover" show-delay="200" hide-delay="100" size="large" placement="right" header-text="Prop Header" message="This is a hover popover with props.">
|
|
4350
5542
|
* <bcm-button>Hover Me</bcm-button>
|
|
4351
5543
|
* </bcm-popover>
|
|
4352
5544
|
* @example Programmatic Control
|
|
@@ -4356,8 +5548,9 @@ declare module "@stencil/core" {
|
|
|
4356
5548
|
* </bcm-popover>
|
|
4357
5549
|
* <script>
|
|
4358
5550
|
* const popover = document.querySelector('#my-popover');
|
|
4359
|
-
* popover.
|
|
4360
|
-
* popover.
|
|
5551
|
+
* popover.show(); // Opens the popover
|
|
5552
|
+
* popover.hide(); // Closes the popover
|
|
5553
|
+
* popover.toggle(); // Toggles the popover
|
|
4361
5554
|
* </script>
|
|
4362
5555
|
* @csspart popover - The root popover container element, stylable for the entire popover
|
|
4363
5556
|
* @csspart header - The header section of the popover, stylable for the title area
|
|
@@ -4415,23 +5608,50 @@ declare module "@stencil/core" {
|
|
|
4415
5608
|
"bcm-textarea": LocalJSX.BcmTextarea & JSXBase.HTMLAttributes<HTMLBcmTextareaElement>;
|
|
4416
5609
|
/**
|
|
4417
5610
|
* @component BcmTooltip
|
|
4418
|
-
* @description A
|
|
4419
|
-
*
|
|
4420
|
-
*
|
|
4421
|
-
*
|
|
4422
|
-
*
|
|
5611
|
+
* @description A flexible tooltip component that provides contextual information on hover or click.
|
|
5612
|
+
* Built on the native Popover API for top-layer rendering and Floating UI for intelligent positioning.
|
|
5613
|
+
* Automatically handles overflow, flipping, and complex shadow DOM scenarios.
|
|
5614
|
+
* @example ```html
|
|
5615
|
+
* <!-- Basic usage with text message -->
|
|
5616
|
+
* <bcm-tooltip message="This is a tooltip">
|
|
5617
|
+
* <button>Hover me</button>
|
|
4423
5618
|
* </bcm-tooltip>
|
|
4424
|
-
*
|
|
4425
|
-
* <bcm-tooltip
|
|
4426
|
-
*
|
|
5619
|
+
* <!-- With custom rich content -->
|
|
5620
|
+
* <bcm-tooltip placement="right" size="large">
|
|
5621
|
+
* <button>Click me</button>
|
|
5622
|
+
* <div slot="content">
|
|
5623
|
+
* <strong>Rich content</strong>
|
|
5624
|
+
* <p>You can add any HTML here</p>
|
|
5625
|
+
* </div>
|
|
5626
|
+
* </bcm-tooltip>
|
|
5627
|
+
* <!-- Click trigger with custom delays -->
|
|
5628
|
+
* <bcm-tooltip trigger="click" show-delay="0" hide-delay="0">
|
|
5629
|
+
* <span>Click me</span>
|
|
5630
|
+
* </bcm-tooltip>
|
|
5631
|
+
* <!-- Mouse following mode -->
|
|
5632
|
+
* <bcm-tooltip follow={true} message="I follow your cursor!">
|
|
5633
|
+
* <div>Move your mouse here</div>
|
|
5634
|
+
* </bcm-tooltip>
|
|
5635
|
+
* <!-- Programmatic control -->
|
|
5636
|
+
* <bcm-tooltip id="myTooltip" message="Programmatic tooltip">
|
|
5637
|
+
* <span>Trigger</span>
|
|
4427
5638
|
* </bcm-tooltip>
|
|
4428
5639
|
* <script>
|
|
4429
|
-
*
|
|
4430
|
-
*
|
|
4431
|
-
* tooltip.
|
|
5640
|
+
* const tooltip = document.getElementById('myTooltip');
|
|
5641
|
+
* tooltip.show();
|
|
5642
|
+
* setTimeout(() => tooltip.hide(), 2000);
|
|
4432
5643
|
* </script>
|
|
4433
|
-
*
|
|
4434
|
-
*
|
|
5644
|
+
* <!-- Custom styling with CSS parts -->
|
|
5645
|
+
* <style>
|
|
5646
|
+
* bcm-tooltip::part(tooltip) {
|
|
5647
|
+
* background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
|
|
5648
|
+
* border-radius: 12px;
|
|
5649
|
+
* }
|
|
5650
|
+
* bcm-tooltip::part(arrow) {
|
|
5651
|
+
* background: #667eea;
|
|
5652
|
+
* }
|
|
5653
|
+
* </style>
|
|
5654
|
+
* ```
|
|
4435
5655
|
*/
|
|
4436
5656
|
"bcm-tooltip": LocalJSX.BcmTooltip & JSXBase.HTMLAttributes<HTMLBcmTooltipElement>;
|
|
4437
5657
|
}
|