bromcom-ui-next 0.1.29 → 0.1.31
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/bcm-accordion-group.entry.esm.js.map +1 -1
- 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-avatar.entry.esm.js.map +1 -1
- package/dist/bromcom-ui/bcm-badge.entry.esm.js.map +1 -1
- package/dist/bromcom-ui/bcm-basic-badge.entry.esm.js.map +1 -1
- package/dist/bromcom-ui/bcm-button-group.entry.esm.js.map +1 -1
- package/dist/bromcom-ui/bcm-button.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 -1
- package/dist/bromcom-ui/bcm-divider.entry.esm.js.map +1 -1
- package/dist/bromcom-ui/bcm-drawer.entry.esm.js.map +1 -0
- package/dist/bromcom-ui/bcm-dropdown-item.entry.esm.js.map +1 -1
- package/dist/bromcom-ui/bcm-dropdown.entry.esm.js.map +1 -1
- package/dist/bromcom-ui/bcm-file-upload.entry.esm.js.map +1 -0
- package/dist/bromcom-ui/bcm-input.entry.esm.js.map +1 -1
- package/dist/bromcom-ui/bcm-linked.entry.esm.js.map +1 -1
- package/dist/bromcom-ui/bcm-modal.entry.esm.js.map +1 -0
- package/dist/bromcom-ui/bcm-pop-confirm.entry.esm.js.map +1 -1
- package/dist/bromcom-ui/bcm-popover.entry.esm.js.map +1 -1
- package/dist/bromcom-ui/bcm-radio-group.entry.esm.js.map +1 -1
- package/dist/bromcom-ui/bcm-radio.entry.esm.js.map +1 -1
- package/dist/bromcom-ui/bcm-segment.bcm-segmented-picker.entry.esm.js.map +1 -0
- package/dist/bromcom-ui/bcm-shortcut.entry.esm.js.map +1 -1
- package/dist/bromcom-ui/bcm-switch.entry.esm.js.map +1 -1
- package/dist/bromcom-ui/bcm-tab.entry.esm.js.map +1 -0
- 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/bcm-textarea.entry.esm.js.map +1 -1
- package/dist/bromcom-ui/bcm-tooltip.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/global/global.js +33 -30
- package/dist/bromcom-ui/p-010219cf.entry.js +2 -0
- package/dist/bromcom-ui/p-010219cf.entry.js.map +1 -0
- package/dist/bromcom-ui/p-01a4e00b.entry.js +2 -0
- package/dist/bromcom-ui/p-01a4e00b.entry.js.map +1 -0
- package/dist/bromcom-ui/p-14c63d61.entry.js +2 -0
- package/dist/bromcom-ui/p-14c63d61.entry.js.map +1 -0
- package/dist/bromcom-ui/p-20a94dec.entry.js +2 -0
- package/dist/bromcom-ui/p-20a94dec.entry.js.map +1 -0
- package/dist/bromcom-ui/p-398620c2.entry.js +2 -0
- package/dist/bromcom-ui/p-398620c2.entry.js.map +1 -0
- package/dist/bromcom-ui/p-3b898f90.entry.js +2 -0
- package/dist/bromcom-ui/p-3b898f90.entry.js.map +1 -0
- package/dist/bromcom-ui/p-43c85c84.entry.js +2 -0
- package/dist/bromcom-ui/p-43c85c84.entry.js.map +1 -0
- package/dist/bromcom-ui/p-4e6661a5.entry.js +2 -0
- package/dist/bromcom-ui/p-4e6661a5.entry.js.map +1 -0
- package/dist/bromcom-ui/p-52bb0cdc.entry.js +2 -0
- package/dist/bromcom-ui/p-52bb0cdc.entry.js.map +1 -0
- package/dist/bromcom-ui/p-61c1c1c8.entry.js +2 -0
- package/dist/bromcom-ui/p-61c1c1c8.entry.js.map +1 -0
- package/dist/bromcom-ui/p-82e4c5f2.entry.js +2 -0
- package/dist/bromcom-ui/p-82e4c5f2.entry.js.map +1 -0
- package/dist/bromcom-ui/p-86f85963.entry.js +2 -0
- package/dist/bromcom-ui/p-86f85963.entry.js.map +1 -0
- package/dist/bromcom-ui/p-9249c1d1.entry.js +2 -0
- package/dist/bromcom-ui/p-9249c1d1.entry.js.map +1 -0
- package/dist/bromcom-ui/p-B6Ppbs5O.js +3 -0
- package/dist/bromcom-ui/p-B6Ppbs5O.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-DBDSgIvP.js +2 -0
- package/dist/bromcom-ui/p-DBDSgIvP.js.map +1 -0
- package/dist/bromcom-ui/p-DaE0ZLar.js +2 -0
- package/dist/bromcom-ui/p-DaE0ZLar.js.map +1 -0
- package/dist/bromcom-ui/p-IBjzkjef.js.map +1 -1
- package/dist/bromcom-ui/p-a25d1cef.entry.js +2 -0
- package/dist/bromcom-ui/p-a25d1cef.entry.js.map +1 -0
- package/dist/bromcom-ui/p-a4cb2e79.entry.js +2 -0
- package/dist/bromcom-ui/p-a4cb2e79.entry.js.map +1 -0
- package/dist/bromcom-ui/p-a68925b4.entry.js +2 -0
- package/dist/bromcom-ui/p-a68925b4.entry.js.map +1 -0
- package/dist/bromcom-ui/p-a750186c.entry.js +2 -0
- package/dist/bromcom-ui/p-a750186c.entry.js.map +1 -0
- package/dist/bromcom-ui/p-ac768b56.entry.js +2 -0
- package/dist/bromcom-ui/p-ac768b56.entry.js.map +1 -0
- package/dist/bromcom-ui/p-b0b193e6.entry.js +2 -0
- package/dist/bromcom-ui/p-b0b193e6.entry.js.map +1 -0
- package/dist/bromcom-ui/p-bf4409ca.entry.js +2 -0
- package/dist/bromcom-ui/p-bf4409ca.entry.js.map +1 -0
- package/dist/bromcom-ui/p-c57fb29b.entry.js +2 -0
- package/dist/bromcom-ui/p-c57fb29b.entry.js.map +1 -0
- package/dist/bromcom-ui/{p-2480e468.entry.js → p-ccc310aa.entry.js} +2 -2
- package/dist/bromcom-ui/p-ccc310aa.entry.js.map +1 -0
- package/dist/bromcom-ui/p-d4ee962d.entry.js +2 -0
- package/dist/bromcom-ui/p-d4ee962d.entry.js.map +1 -0
- package/dist/bromcom-ui/p-e25a2f7a.entry.js +2 -0
- package/dist/bromcom-ui/p-e25a2f7a.entry.js.map +1 -0
- package/dist/bromcom-ui/p-e5b0b2ad.entry.js +2 -0
- package/dist/bromcom-ui/p-e5b0b2ad.entry.js.map +1 -0
- package/dist/bromcom-ui/p-e70d784d.entry.js +2 -0
- package/dist/bromcom-ui/p-e70d784d.entry.js.map +1 -0
- package/dist/bromcom-ui/p-e9fa3a22.entry.js +2 -0
- package/dist/bromcom-ui/p-e9fa3a22.entry.js.map +1 -0
- package/dist/bromcom-ui/p-ef281184.entry.js +2 -0
- package/dist/bromcom-ui/p-ef281184.entry.js.map +1 -0
- package/dist/bromcom-ui/{p-089edfdc.entry.js → p-fb6f616c.entry.js} +2 -2
- package/dist/bromcom-ui/p-fb6f616c.entry.js.map +1 -0
- package/dist/bromcom-ui/p-fd31c70c.entry.js +2 -0
- package/dist/bromcom-ui/p-fd31c70c.entry.js.map +1 -0
- package/dist/bromcom-ui/p-nf_HKsGq.js +2 -0
- package/dist/bromcom-ui/{p-CUvT12BL.js.map → p-nf_HKsGq.js.map} +1 -1
- package/dist/cjs/base-choice-control-EmA4JRjR.js +54 -0
- package/dist/cjs/base-choice-control-EmA4JRjR.js.map +1 -0
- package/dist/cjs/bcm-accordion-group.cjs.entry.js +21 -21
- package/dist/cjs/bcm-accordion-group.entry.cjs.js.map +1 -1
- package/dist/cjs/bcm-accordion.cjs.entry.js +75 -60
- package/dist/cjs/bcm-accordion.entry.cjs.js.map +1 -1
- package/dist/cjs/bcm-alert.cjs.entry.js +21 -23
- package/dist/cjs/bcm-alert.entry.cjs.js.map +1 -1
- package/dist/cjs/bcm-avatar.cjs.entry.js +22 -14
- package/dist/cjs/bcm-avatar.entry.cjs.js.map +1 -1
- package/dist/cjs/bcm-badge.cjs.entry.js +114 -84
- package/dist/cjs/bcm-badge.entry.cjs.js.map +1 -1
- package/dist/cjs/bcm-basic-badge.cjs.entry.js +73 -61
- package/dist/cjs/bcm-basic-badge.entry.cjs.js.map +1 -1
- package/dist/cjs/bcm-button-group.cjs.entry.js +36 -26
- package/dist/cjs/bcm-button-group.entry.cjs.js.map +1 -1
- package/dist/cjs/bcm-button.cjs.entry.js +338 -0
- package/dist/cjs/bcm-button.entry.cjs.js.map +1 -0
- package/dist/cjs/bcm-checkbox.cjs.entry.js +284 -176
- package/dist/cjs/bcm-checkbox.entry.cjs.js.map +1 -1
- package/dist/cjs/bcm-chip.cjs.entry.js +38 -37
- package/dist/cjs/bcm-chip.entry.cjs.js.map +1 -1
- package/dist/cjs/bcm-divider.cjs.entry.js +56 -58
- package/dist/cjs/bcm-divider.entry.cjs.js.map +1 -1
- package/dist/cjs/bcm-drawer.cjs.entry.js +332 -0
- package/dist/cjs/bcm-drawer.entry.cjs.js.map +1 -0
- package/dist/cjs/bcm-dropdown-item.cjs.entry.js +36 -35
- package/dist/cjs/bcm-dropdown-item.entry.cjs.js.map +1 -1
- package/dist/cjs/bcm-dropdown.cjs.entry.js +17 -26
- package/dist/cjs/bcm-dropdown.entry.cjs.js.map +1 -1
- package/dist/cjs/bcm-file-upload.cjs.entry.js +552 -0
- package/dist/cjs/bcm-file-upload.entry.cjs.js.map +1 -0
- package/dist/cjs/bcm-input.cjs.entry.js +250 -160
- package/dist/cjs/bcm-input.entry.cjs.js.map +1 -1
- package/dist/cjs/bcm-linked.cjs.entry.js +373 -264
- package/dist/cjs/bcm-linked.entry.cjs.js.map +1 -1
- package/dist/cjs/bcm-modal.cjs.entry.js +360 -0
- package/dist/cjs/bcm-modal.entry.cjs.js.map +1 -0
- package/dist/cjs/bcm-pop-confirm.cjs.entry.js +337 -206
- package/dist/cjs/bcm-pop-confirm.entry.cjs.js.map +1 -1
- package/dist/cjs/bcm-popover.cjs.entry.js +416 -154
- package/dist/cjs/bcm-popover.entry.cjs.js.map +1 -1
- package/dist/cjs/bcm-radio-group.cjs.entry.js +103 -82
- package/dist/cjs/bcm-radio-group.entry.cjs.js.map +1 -1
- package/dist/cjs/bcm-radio.cjs.entry.js +239 -108
- package/dist/cjs/bcm-radio.entry.cjs.js.map +1 -1
- package/dist/cjs/bcm-segment.bcm-segmented-picker.entry.cjs.js.map +1 -0
- package/dist/cjs/bcm-segment_2.cjs.entry.js +335 -0
- package/dist/cjs/bcm-shortcut.cjs.entry.js +5 -6
- package/dist/cjs/bcm-shortcut.entry.cjs.js.map +1 -1
- package/dist/cjs/bcm-switch.cjs.entry.js +281 -150
- package/dist/cjs/bcm-switch.entry.cjs.js.map +1 -1
- package/dist/cjs/bcm-tab.cjs.entry.js +44 -0
- package/dist/cjs/bcm-tab.entry.cjs.js.map +1 -0
- package/dist/cjs/bcm-tabs.cjs.entry.js +191 -239
- package/dist/cjs/bcm-tabs.entry.cjs.js.map +1 -1
- package/dist/cjs/bcm-text.cjs.entry.js +86 -87
- package/dist/cjs/bcm-text.entry.cjs.js.map +1 -1
- package/dist/cjs/bcm-textarea.cjs.entry.js +224 -156
- package/dist/cjs/bcm-textarea.entry.cjs.js.map +1 -1
- package/dist/cjs/bcm-tooltip.cjs.entry.js +386 -152
- package/dist/cjs/bcm-tooltip.entry.cjs.js.map +1 -1
- package/dist/cjs/bromcom-ui.cjs.js +3 -5
- package/dist/cjs/bromcom-ui.cjs.js.map +1 -1
- package/dist/cjs/{floating-ui.dom-DyKmFgkP.js → floating-ui.dom-S9nP6zZt.js} +40 -23
- package/dist/cjs/floating-ui.dom-S9nP6zZt.js.map +1 -0
- package/dist/cjs/generate-id-CG_BkTJu.js.map +1 -1
- package/dist/cjs/{index-BtiU-G2W.js → index-1Qal-onT.js} +165 -398
- package/dist/cjs/index-1Qal-onT.js.map +1 -0
- package/dist/cjs/index-Bp6Dd2i1.js.map +1 -1
- 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/cjs/{validation-messages-BjfpSEWk.js → validation-messages-DieKlSG4.js} +6 -7
- package/dist/{esm/validation-messages-CUvT12BL.js.map → cjs/validation-messages-DieKlSG4.js.map} +1 -1
- package/dist/collection/collection-manifest.json +7 -8
- package/dist/collection/components/_shared/form/base-choice-control.js +90 -0
- package/dist/collection/components/_shared/form/base-choice-control.js.map +1 -0
- package/dist/collection/components/_shared/form/base-form-control.js +115 -0
- package/dist/collection/components/_shared/form/base-form-control.js.map +1 -0
- package/dist/collection/components/accordion/accordion.component.js +80 -63
- package/dist/collection/components/accordion/accordion.component.js.map +1 -1
- package/dist/collection/components/accordion/accordion.css +1 -1
- package/dist/collection/components/accordion-group/accordion-group.component.js +23 -21
- package/dist/collection/components/accordion-group/accordion-group.component.js.map +1 -1
- package/dist/collection/components/accordion-group/types.js.map +1 -1
- package/dist/collection/components/alert/alert.component.js +24 -26
- package/dist/collection/components/alert/alert.component.js.map +1 -1
- package/dist/collection/components/alert/alert.css +1 -1
- package/dist/collection/components/avatar/avatar.component.js +34 -26
- package/dist/collection/components/avatar/avatar.component.js.map +1 -1
- package/dist/collection/components/avatar/avatar.css +1 -1
- package/dist/collection/components/badge/badge.component.js +124 -94
- package/dist/collection/components/badge/badge.component.js.map +1 -1
- package/dist/collection/components/badge/badge.css +1 -1
- package/dist/collection/components/basic-badge/basic-badge.component.js +77 -65
- package/dist/collection/components/basic-badge/basic-badge.component.js.map +1 -1
- package/dist/collection/components/basic-badge/basic-badge.css +1 -1
- package/dist/collection/components/button/button.component.js +135 -114
- package/dist/collection/components/button/button.component.js.map +1 -1
- package/dist/collection/components/button/button.css +1 -1
- package/dist/collection/components/button-group/button-group.component.js +47 -36
- package/dist/collection/components/button-group/button-group.component.js.map +1 -1
- package/dist/collection/components/button-group/button-group.css +1 -1
- package/dist/collection/components/checkbox/checkbox.component.js +362 -243
- 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 +42 -41
- package/dist/collection/components/chip/chip.component.js.map +1 -1
- package/dist/collection/components/chip/chip.css +1 -1
- package/dist/collection/components/divider/divider.component.js +56 -58
- package/dist/collection/components/divider/divider.component.js.map +1 -1
- package/dist/collection/components/divider/divider.css +1 -1
- package/dist/collection/components/drawer/drawer.component.js +476 -155
- 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 +18 -27
- package/dist/collection/components/dropdown/dropdown.component.js.map +1 -1
- package/dist/collection/components/dropdown-item/dropdown-item.component.js +41 -40
- package/dist/collection/components/dropdown-item/dropdown-item.component.js.map +1 -1
- package/dist/collection/components/dropdown-item/dropdown-item.css +1 -1
- package/dist/collection/components/input/input.component.js +283 -198
- package/dist/collection/components/input/input.component.js.map +1 -1
- package/dist/collection/components/linked/linked.component.js +551 -355
- 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 +276 -149
- 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 +745 -340
- 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 +609 -196
- 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 +294 -118
- package/dist/collection/components/radio/radio.component.js.map +1 -1
- package/dist/collection/components/radio-group/radio-group.component.js +115 -93
- package/dist/collection/components/radio-group/radio-group.component.js.map +1 -1
- package/dist/collection/components/segmented-picker/segment.component.js +228 -0
- package/dist/collection/components/segmented-picker/segment.component.js.map +1 -0
- package/dist/collection/components/segmented-picker/segment.css +1 -0
- package/dist/collection/components/segmented-picker/segmented-picker.component.js +357 -142
- package/dist/collection/components/segmented-picker/segmented-picker.component.js.map +1 -1
- package/dist/collection/components/segmented-picker/segmented-picker.css +1 -1
- package/dist/collection/components/shortcut/shortcut.js +7 -8
- package/dist/collection/components/shortcut/shortcut.js.map +1 -1
- package/dist/collection/components/switch/switch.component.js +357 -287
- package/dist/collection/components/switch/switch.component.js.map +1 -1
- package/dist/collection/components/switch/switch.css +1 -1
- package/dist/collection/components/tabs/bcm-tab.css +1 -0
- package/dist/collection/components/tabs/bcm-tabs.css +1 -1
- package/dist/collection/components/tabs/tab.component.js +169 -0
- package/dist/collection/components/tabs/tab.component.js.map +1 -0
- package/dist/collection/components/tabs/tabs.component.js +224 -355
- package/dist/collection/components/tabs/tabs.component.js.map +1 -1
- package/dist/collection/components/text/text.component.js +90 -91
- package/dist/collection/components/text/text.component.js.map +1 -1
- package/dist/collection/components/textarea/textarea.component.js +252 -190
- package/dist/collection/components/textarea/textarea.component.js.map +1 -1
- package/dist/collection/components/tooltip/tooltip.component.js +605 -220
- package/dist/collection/components/tooltip/tooltip.component.js.map +1 -1
- package/dist/collection/components/tooltip/tooltip.css +1 -1
- package/dist/collection/components/upload/file-upload.component.js +905 -0
- package/dist/collection/components/upload/file-upload.component.js.map +1 -0
- package/dist/collection/components/upload/file-upload.css +1 -0
- package/dist/collection/global/global.js +33 -30
- package/dist/collection/utils/i18n.js +3 -4
- package/dist/collection/utils/i18n.js.map +1 -1
- package/dist/collection/utils/slot/check-slot-content.js +1 -2
- package/dist/collection/utils/slot/check-slot-content.js.map +1 -1
- package/dist/collection/utils/validation-messages.js +1 -1
- package/dist/collection/utils/validation-messages.js.map +1 -1
- package/dist/components/bcm-accordion-group.js +24 -20
- package/dist/components/bcm-accordion-group.js.map +1 -1
- package/dist/components/bcm-accordion.js +78 -59
- package/dist/components/bcm-accordion.js.map +1 -1
- package/dist/components/bcm-alert.js +1 -112
- package/dist/components/bcm-alert.js.map +1 -1
- package/dist/components/bcm-avatar.js +26 -14
- package/dist/components/bcm-avatar.js.map +1 -1
- package/dist/components/bcm-badge.js +1 -1
- package/dist/components/bcm-basic-badge.js +76 -60
- package/dist/components/bcm-basic-badge.js.map +1 -1
- package/dist/components/bcm-button-group.js +39 -25
- package/dist/components/bcm-button-group.js.map +1 -1
- package/dist/components/bcm-button.js +1 -1
- package/dist/components/bcm-checkbox.js +300 -186
- package/dist/components/bcm-checkbox.js.map +1 -1
- package/dist/components/bcm-chip.js +41 -36
- package/dist/components/bcm-chip.js.map +1 -1
- package/dist/components/bcm-divider.js +59 -57
- package/dist/components/bcm-divider.js.map +1 -1
- package/dist/components/bcm-drawer.js +276 -138
- package/dist/components/bcm-drawer.js.map +1 -1
- package/dist/components/bcm-dropdown-item.js +40 -35
- package/dist/components/bcm-dropdown-item.js.map +1 -1
- package/dist/components/bcm-dropdown.js +22 -28
- package/dist/components/bcm-dropdown.js.map +1 -1
- package/dist/components/{bcm-tabs-content.d.ts → bcm-file-upload.d.ts} +4 -4
- package/dist/components/bcm-file-upload.js +593 -0
- package/dist/components/bcm-file-upload.js.map +1 -0
- package/dist/components/bcm-input.js +248 -160
- package/dist/components/bcm-input.js.map +1 -1
- package/dist/components/bcm-linked.js +1 -1
- package/dist/components/bcm-modal.js +196 -119
- package/dist/components/bcm-modal.js.map +1 -1
- package/dist/components/bcm-pop-confirm.js +354 -215
- package/dist/components/bcm-pop-confirm.js.map +1 -1
- package/dist/components/bcm-popover.js +431 -157
- package/dist/components/bcm-popover.js.map +1 -1
- package/dist/components/bcm-radio-group.js +106 -81
- package/dist/components/bcm-radio-group.js.map +1 -1
- package/dist/components/bcm-radio.js +245 -110
- package/dist/components/bcm-radio.js.map +1 -1
- package/dist/components/{bcm-tabs-list.d.ts → bcm-segment.d.ts} +4 -4
- package/dist/components/bcm-segment.js +110 -0
- package/dist/components/bcm-segment.js.map +1 -0
- package/dist/components/bcm-segmented-picker.js +238 -117
- package/dist/components/bcm-segmented-picker.js.map +1 -1
- package/dist/components/bcm-shortcut.js +8 -5
- package/dist/components/bcm-shortcut.js.map +1 -1
- package/dist/components/bcm-switch.js +296 -158
- package/dist/components/bcm-switch.js.map +1 -1
- package/dist/components/{bcm-tabs-trigger.d.ts → bcm-tab.d.ts} +4 -4
- package/dist/components/bcm-tab.js +71 -0
- package/dist/components/bcm-tab.js.map +1 -0
- package/dist/components/bcm-tabs.js +200 -249
- package/dist/components/bcm-tabs.js.map +1 -1
- package/dist/components/bcm-text.js +89 -86
- package/dist/components/bcm-text.js.map +1 -1
- package/dist/components/bcm-textarea.js +222 -156
- package/dist/components/bcm-textarea.js.map +1 -1
- package/dist/components/bcm-tooltip.js +402 -154
- package/dist/components/bcm-tooltip.js.map +1 -1
- package/dist/components/index.js +140 -392
- package/dist/components/index.js.map +1 -1
- package/dist/components/p-5_TgtzQU.js +119 -0
- package/dist/components/p-5_TgtzQU.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-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/components/p-RlBWOSgL.js +179 -0
- package/dist/components/p-RlBWOSgL.js.map +1 -0
- package/dist/components/p-SERXqWcS.js +51 -0
- package/dist/components/p-SERXqWcS.js.map +1 -0
- package/dist/components/{p-CUvT12BL.js → p-nf_HKsGq.js} +6 -7
- package/dist/components/p-nf_HKsGq.js.map +1 -0
- package/dist/components/{p-DHONP_n4.js → p-xQIzBLsS.js} +112 -87
- package/dist/components/p-xQIzBLsS.js.map +1 -0
- package/dist/components/p-z9ESseGb.js +492 -0
- package/dist/components/p-z9ESseGb.js.map +1 -0
- package/dist/esm/base-choice-control-CKR8UdZ6.js +52 -0
- package/dist/esm/base-choice-control-CKR8UdZ6.js.map +1 -0
- package/dist/esm/bcm-accordion-group.entry.js +21 -21
- package/dist/esm/bcm-accordion-group.entry.js.map +1 -1
- package/dist/esm/bcm-accordion.entry.js +75 -60
- package/dist/esm/bcm-accordion.entry.js.map +1 -1
- package/dist/esm/bcm-alert.entry.js +21 -23
- package/dist/esm/bcm-alert.entry.js.map +1 -1
- package/dist/esm/bcm-avatar.entry.js +22 -14
- package/dist/esm/bcm-avatar.entry.js.map +1 -1
- package/dist/esm/bcm-badge.entry.js +114 -84
- package/dist/esm/bcm-badge.entry.js.map +1 -1
- package/dist/esm/bcm-basic-badge.entry.js +73 -61
- package/dist/esm/bcm-basic-badge.entry.js.map +1 -1
- package/dist/esm/bcm-button-group.entry.js +36 -26
- package/dist/esm/bcm-button-group.entry.js.map +1 -1
- package/dist/esm/bcm-button.entry.js +336 -0
- package/dist/esm/bcm-button.entry.js.map +1 -0
- package/dist/esm/bcm-checkbox.entry.js +284 -176
- package/dist/esm/bcm-checkbox.entry.js.map +1 -1
- package/dist/esm/bcm-chip.entry.js +38 -37
- package/dist/esm/bcm-chip.entry.js.map +1 -1
- package/dist/esm/bcm-divider.entry.js +56 -58
- package/dist/esm/bcm-divider.entry.js.map +1 -1
- package/dist/esm/bcm-drawer.entry.js +330 -0
- package/dist/esm/bcm-drawer.entry.js.map +1 -0
- package/dist/esm/bcm-dropdown-item.entry.js +36 -35
- package/dist/esm/bcm-dropdown-item.entry.js.map +1 -1
- package/dist/esm/bcm-dropdown.entry.js +17 -26
- package/dist/esm/bcm-dropdown.entry.js.map +1 -1
- package/dist/esm/bcm-file-upload.entry.js +550 -0
- package/dist/esm/bcm-file-upload.entry.js.map +1 -0
- package/dist/esm/bcm-input.entry.js +250 -160
- package/dist/esm/bcm-input.entry.js.map +1 -1
- package/dist/esm/bcm-linked.entry.js +373 -264
- package/dist/esm/bcm-linked.entry.js.map +1 -1
- package/dist/esm/bcm-modal.entry.js +358 -0
- package/dist/esm/bcm-modal.entry.js.map +1 -0
- package/dist/esm/bcm-pop-confirm.entry.js +337 -206
- package/dist/esm/bcm-pop-confirm.entry.js.map +1 -1
- package/dist/esm/bcm-popover.entry.js +416 -154
- package/dist/esm/bcm-popover.entry.js.map +1 -1
- package/dist/esm/bcm-radio-group.entry.js +103 -82
- package/dist/esm/bcm-radio-group.entry.js.map +1 -1
- package/dist/esm/bcm-radio.entry.js +239 -108
- package/dist/esm/bcm-radio.entry.js.map +1 -1
- package/dist/esm/bcm-segment.bcm-segmented-picker.entry.js.map +1 -0
- package/dist/esm/bcm-segment_2.entry.js +332 -0
- package/dist/esm/bcm-shortcut.entry.js +5 -6
- package/dist/esm/bcm-shortcut.entry.js.map +1 -1
- package/dist/esm/bcm-switch.entry.js +281 -150
- package/dist/esm/bcm-switch.entry.js.map +1 -1
- package/dist/esm/bcm-tab.entry.js +42 -0
- package/dist/esm/bcm-tab.entry.js.map +1 -0
- package/dist/esm/bcm-tabs.entry.js +191 -239
- package/dist/esm/bcm-tabs.entry.js.map +1 -1
- package/dist/esm/bcm-text.entry.js +86 -87
- package/dist/esm/bcm-text.entry.js.map +1 -1
- package/dist/esm/bcm-textarea.entry.js +224 -156
- package/dist/esm/bcm-textarea.entry.js.map +1 -1
- package/dist/esm/bcm-tooltip.entry.js +386 -152
- package/dist/esm/bcm-tooltip.entry.js.map +1 -1
- package/dist/esm/bromcom-ui.js +4 -6
- package/dist/esm/bromcom-ui.js.map +1 -1
- package/dist/esm/{floating-ui.dom-DxMLMJ3r.js → floating-ui.dom-DBDSgIvP.js} +41 -24
- package/dist/esm/floating-ui.dom-DBDSgIvP.js.map +1 -0
- package/dist/esm/generate-id-IBjzkjef.js.map +1 -1
- package/dist/esm/{index-BuuGCw0z.js → index-B6Ppbs5O.js} +165 -398
- package/dist/esm/index-B6Ppbs5O.js.map +1 -0
- package/dist/esm/index-BfTCfPZ1.js.map +1 -1
- 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/esm/{validation-messages-CUvT12BL.js → validation-messages-nf_HKsGq.js} +6 -7
- package/dist/{cjs/validation-messages-BjfpSEWk.js.map → esm/validation-messages-nf_HKsGq.js.map} +1 -1
- package/dist/types/components/_shared/form/base-choice-control.d.ts +15 -0
- package/dist/types/components/_shared/form/base-form-control.d.ts +11 -0
- package/dist/types/components/accordion-group/types.d.ts +2 -2
- package/dist/types/components/checkbox/checkbox.component.d.ts +89 -71
- 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/input/input.component.d.ts +5 -0
- 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/radio/radio.component.d.ts +21 -0
- package/dist/types/components/segmented-picker/segment.component.d.ts +42 -0
- package/dist/types/components/segmented-picker/segmented-picker.component.d.ts +91 -24
- package/dist/types/components/switch/switch.component.d.ts +83 -43
- package/dist/types/components/tabs/tab.component.d.ts +33 -0
- package/dist/types/components/tabs/tabs.component.d.ts +51 -64
- package/dist/types/components/textarea/textarea.component.d.ts +5 -0
- package/dist/types/components/tooltip/tooltip.component.d.ts +147 -56
- package/dist/types/components/upload/file-upload.component.d.ts +107 -0
- package/dist/types/components.d.ts +2400 -742
- package/dist/types/stencil-public-runtime.d.ts +50 -3
- package/package.json +2 -2
- package/dist/bromcom-ui/bcm-button.bcm-drawer.bcm-modal.entry.esm.js.map +0 -1
- package/dist/bromcom-ui/bcm-segmented-picker-option.entry.esm.js.map +0 -1
- package/dist/bromcom-ui/bcm-segmented-picker.entry.esm.js.map +0 -1
- package/dist/bromcom-ui/bcm-tabs-content.entry.esm.js.map +0 -1
- package/dist/bromcom-ui/bcm-tabs-list.entry.esm.js.map +0 -1
- package/dist/bromcom-ui/bcm-tabs-trigger.entry.esm.js.map +0 -1
- package/dist/bromcom-ui/p-0101b4f2.entry.js +0 -2
- 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-11851391.entry.js +0 -2
- package/dist/bromcom-ui/p-11851391.entry.js.map +0 -1
- package/dist/bromcom-ui/p-11f3e129.entry.js +0 -2
- package/dist/bromcom-ui/p-11f3e129.entry.js.map +0 -1
- package/dist/bromcom-ui/p-211ca6e0.entry.js +0 -2
- package/dist/bromcom-ui/p-211ca6e0.entry.js.map +0 -1
- package/dist/bromcom-ui/p-22edf049.entry.js +0 -2
- package/dist/bromcom-ui/p-22edf049.entry.js.map +0 -1
- package/dist/bromcom-ui/p-2480e468.entry.js.map +0 -1
- package/dist/bromcom-ui/p-26d2db9e.entry.js +0 -2
- 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 +0 -2
- package/dist/bromcom-ui/p-360bff8a.entry.js.map +0 -1
- package/dist/bromcom-ui/p-488d6ef4.entry.js +0 -2
- package/dist/bromcom-ui/p-488d6ef4.entry.js.map +0 -1
- package/dist/bromcom-ui/p-5e0702d1.entry.js +0 -2
- package/dist/bromcom-ui/p-5e0702d1.entry.js.map +0 -1
- package/dist/bromcom-ui/p-63228f7e.entry.js +0 -2
- package/dist/bromcom-ui/p-63228f7e.entry.js.map +0 -1
- package/dist/bromcom-ui/p-6b585adc.entry.js +0 -2
- 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 +0 -2
- package/dist/bromcom-ui/p-83f64814.entry.js.map +0 -1
- package/dist/bromcom-ui/p-8ace5a6a.entry.js +0 -2
- 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-CUvT12BL.js +0 -2
- 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 +0 -2
- 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 +0 -2
- package/dist/bromcom-ui/p-bdaf5653.entry.js.map +0 -1
- package/dist/bromcom-ui/p-c0e7f9d6.entry.js +0 -2
- package/dist/bromcom-ui/p-c0e7f9d6.entry.js.map +0 -1
- package/dist/bromcom-ui/p-c34f0a66.entry.js +0 -2
- package/dist/bromcom-ui/p-c34f0a66.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 +0 -2
- 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-drawer.bcm-modal.entry.cjs.js.map +0 -1
- package/dist/cjs/bcm-button_3.cjs.entry.js +0 -794
- package/dist/cjs/bcm-button_3.cjs.entry.js.map +0 -1
- package/dist/cjs/bcm-checkbox.cjs.entry.js.map +0 -1
- package/dist/cjs/bcm-chip.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.map +0 -1
- package/dist/cjs/bcm-pop-confirm.cjs.entry.js.map +0 -1
- package/dist/cjs/bcm-popover.cjs.entry.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 +0 -107
- package/dist/cjs/bcm-segmented-picker-option.cjs.entry.js.map +0 -1
- package/dist/cjs/bcm-segmented-picker-option.entry.cjs.js.map +0 -1
- package/dist/cjs/bcm-segmented-picker.cjs.entry.js +0 -144
- package/dist/cjs/bcm-segmented-picker.cjs.entry.js.map +0 -1
- package/dist/cjs/bcm-segmented-picker.entry.cjs.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 +0 -20
- package/dist/cjs/bcm-tabs-content.cjs.entry.js.map +0 -1
- package/dist/cjs/bcm-tabs-content.entry.cjs.js.map +0 -1
- package/dist/cjs/bcm-tabs-list.cjs.entry.js +0 -84
- package/dist/cjs/bcm-tabs-list.cjs.entry.js.map +0 -1
- package/dist/cjs/bcm-tabs-list.entry.cjs.js.map +0 -1
- package/dist/cjs/bcm-tabs-trigger.cjs.entry.js +0 -122
- package/dist/cjs/bcm-tabs-trigger.cjs.entry.js.map +0 -1
- package/dist/cjs/bcm-tabs-trigger.entry.cjs.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.map +0 -1
- package/dist/cjs/floating-ui.dom-DyKmFgkP.js.map +0 -1
- package/dist/cjs/index-BtiU-G2W.js.map +0 -1
- package/dist/collection/components/segmented-picker/segmented-picker-option.component.js +0 -253
- package/dist/collection/components/segmented-picker/segmented-picker-option.component.js.map +0 -1
- package/dist/collection/components/segmented-picker/segmented-picker-option.css +0 -1
- package/dist/collection/components/tabs/tabs-content.component.js +0 -46
- package/dist/collection/components/tabs/tabs-content.component.js.map +0 -1
- package/dist/collection/components/tabs/tabs-content.css +0 -1
- package/dist/collection/components/tabs/tabs-list.component.js +0 -133
- package/dist/collection/components/tabs/tabs-list.component.js.map +0 -1
- package/dist/collection/components/tabs/tabs-list.css +0 -1
- package/dist/collection/components/tabs/tabs-trigger.component.js +0 -267
- package/dist/collection/components/tabs/tabs-trigger.component.js.map +0 -1
- package/dist/collection/components/tabs/tabs-trigger.css +0 -1
- package/dist/components/bcm-segmented-picker-option.d.ts +0 -11
- package/dist/components/bcm-segmented-picker-option.js +0 -131
- package/dist/components/bcm-segmented-picker-option.js.map +0 -1
- package/dist/components/bcm-tabs-content.js +0 -39
- package/dist/components/bcm-tabs-content.js.map +0 -1
- package/dist/components/bcm-tabs-list.js +0 -104
- package/dist/components/bcm-tabs-list.js.map +0 -1
- package/dist/components/bcm-tabs-trigger.js +0 -146
- package/dist/components/bcm-tabs-trigger.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 +0 -145
- package/dist/components/p-CQF7wlXf.js.map +0 -1
- package/dist/components/p-CUvT12BL.js.map +0 -1
- package/dist/components/p-CzcTU1ty.js.map +0 -1
- package/dist/components/p-DHONP_n4.js.map +0 -1
- package/dist/esm/bcm-button.bcm-drawer.bcm-modal.entry.js.map +0 -1
- package/dist/esm/bcm-button_3.entry.js +0 -790
- package/dist/esm/bcm-button_3.entry.js.map +0 -1
- package/dist/esm/bcm-segmented-picker-option.entry.js +0 -105
- package/dist/esm/bcm-segmented-picker-option.entry.js.map +0 -1
- package/dist/esm/bcm-segmented-picker.entry.js +0 -142
- package/dist/esm/bcm-segmented-picker.entry.js.map +0 -1
- package/dist/esm/bcm-tabs-content.entry.js +0 -18
- package/dist/esm/bcm-tabs-content.entry.js.map +0 -1
- package/dist/esm/bcm-tabs-list.entry.js +0 -82
- package/dist/esm/bcm-tabs-list.entry.js.map +0 -1
- package/dist/esm/bcm-tabs-trigger.entry.js +0 -120
- package/dist/esm/bcm-tabs-trigger.entry.js.map +0 -1
- package/dist/esm/floating-ui.dom-DxMLMJ3r.js.map +0 -1
- package/dist/esm/index-BuuGCw0z.js.map +0 -1
- package/dist/types/components/segmented-picker/segmented-picker-option.component.d.ts +0 -30
- package/dist/types/components/tabs/tabs-content.component.d.ts +0 -13
- package/dist/types/components/tabs/tabs-list.component.d.ts +0 -20
- package/dist/types/components/tabs/tabs-trigger.component.d.ts +0 -49
|
@@ -1,297 +1,528 @@
|
|
|
1
|
-
import { h
|
|
2
|
-
import { computePosition, flip, shift, offset, arrow } from "@floating-ui/dom";
|
|
1
|
+
import { h } from "@stencil/core";
|
|
2
|
+
import { computePosition, flip, shift, offset, arrow, autoUpdate } from "@floating-ui/dom";
|
|
3
3
|
import { tv } from "../../utils/tv";
|
|
4
|
-
// Status icons for different states
|
|
5
4
|
const statusIcons = {
|
|
6
5
|
info: 'fa-solid fa-circle-info',
|
|
7
6
|
success: 'fa-solid fa-circle-check',
|
|
8
7
|
warning: 'fa-solid fa-triangle-exclamation',
|
|
9
|
-
error: 'fa-solid fa-circle-
|
|
8
|
+
error: 'fa-solid fa-circle-xmark',
|
|
10
9
|
};
|
|
11
10
|
/**
|
|
12
11
|
* @component BcmPopConfirm
|
|
13
|
-
* @description A
|
|
14
|
-
*
|
|
12
|
+
* @description A confirmation popover component that displays a confirmation dialog with customizable actions.
|
|
13
|
+
* Built on the native Popover API for top-layer rendering and Floating UI for intelligent positioning.
|
|
14
|
+
* Ideal for confirming destructive actions or important decisions inline.
|
|
15
15
|
*
|
|
16
|
-
* @
|
|
17
|
-
*
|
|
16
|
+
* @slot - Default slot for the trigger element that opens the confirmation popover
|
|
17
|
+
* @slot header - Custom header content (overrides headerText prop)
|
|
18
|
+
* @slot body - Custom body content (overrides description prop)
|
|
19
|
+
* @slot footer - Custom footer content with action buttons (overrides default confirm/cancel buttons)
|
|
18
20
|
*
|
|
19
|
-
* @
|
|
20
|
-
*
|
|
21
|
-
*
|
|
22
|
-
*
|
|
23
|
-
*
|
|
21
|
+
* @csspart container - The main popover container element
|
|
22
|
+
* @csspart arrow - The arrow pointer element
|
|
23
|
+
* @csspart body - The body/description section
|
|
24
|
+
* @csspart footer - The footer section with action buttons
|
|
25
|
+
*
|
|
26
|
+
* @example Basic Usage
|
|
27
|
+
* ```html
|
|
28
|
+
* <bcm-pop-confirm
|
|
29
|
+
* header-text="Delete Item?"
|
|
30
|
+
* description="Are you sure you want to delete this item? This action cannot be undone."
|
|
31
|
+
* status="error"
|
|
32
|
+
* >
|
|
33
|
+
* <bcm-button status="error">Delete</bcm-button>
|
|
34
|
+
* </bcm-pop-confirm>
|
|
35
|
+
* ```
|
|
36
|
+
*
|
|
37
|
+
* @example With Event Handlers
|
|
38
|
+
* ```html
|
|
39
|
+
* <bcm-pop-confirm
|
|
40
|
+
* id="deleteConfirm"
|
|
41
|
+
* header-text="Confirm Delete"
|
|
42
|
+
* description="This will permanently delete the item."
|
|
43
|
+
* status="warning"
|
|
44
|
+
* confirm-text="Yes, Delete"
|
|
45
|
+
* cancel-text="No, Keep It"
|
|
46
|
+
* >
|
|
47
|
+
* <bcm-button>Delete Item</bcm-button>
|
|
48
|
+
* </bcm-pop-confirm>
|
|
49
|
+
*
|
|
50
|
+
* <script>
|
|
51
|
+
* const popconfirm = document.getElementById('deleteConfirm');
|
|
52
|
+
* popconfirm.addEventListener('bcmConfirm', () => {
|
|
53
|
+
* console.log('User confirmed deletion');
|
|
54
|
+
* // Perform delete operation
|
|
55
|
+
* });
|
|
56
|
+
* popconfirm.addEventListener('bcmCancel', () => {
|
|
57
|
+
* console.log('User cancelled deletion');
|
|
58
|
+
* });
|
|
59
|
+
* </script>
|
|
60
|
+
* ```
|
|
61
|
+
*
|
|
62
|
+
* @example Different Status Types
|
|
63
|
+
* ```html
|
|
64
|
+
* <!-- Info (default) -->
|
|
65
|
+
* <bcm-pop-confirm header-text="Information" description="This is an info message">
|
|
66
|
+
* <bcm-button>Info</bcm-button>
|
|
67
|
+
* </bcm-pop-confirm>
|
|
68
|
+
*
|
|
69
|
+
* <!-- Success -->
|
|
70
|
+
* <bcm-pop-confirm status="success" header-text="Confirm Action" description="Proceed with this action?">
|
|
71
|
+
* <bcm-button status="success">Proceed</bcm-button>
|
|
72
|
+
* </bcm-pop-confirm>
|
|
73
|
+
*
|
|
74
|
+
* <!-- Warning -->
|
|
75
|
+
* <bcm-pop-confirm status="warning" header-text="Warning" description="This action may have consequences">
|
|
76
|
+
* <bcm-button status="warning">Continue</bcm-button>
|
|
77
|
+
* </bcm-pop-confirm>
|
|
78
|
+
*
|
|
79
|
+
* <!-- Error/Danger -->
|
|
80
|
+
* <bcm-pop-confirm status="error" header-text="Danger Zone" description="This is a destructive action">
|
|
81
|
+
* <bcm-button status="error">Delete</bcm-button>
|
|
24
82
|
* </bcm-pop-confirm>
|
|
83
|
+
* ```
|
|
84
|
+
*
|
|
85
|
+
* @example Custom Content with Slots
|
|
86
|
+
* ```html
|
|
87
|
+
* <bcm-pop-confirm status="warning">
|
|
88
|
+
* <bcm-button>Custom Confirm</bcm-button>
|
|
25
89
|
*
|
|
26
|
-
*
|
|
27
|
-
*
|
|
28
|
-
*
|
|
29
|
-
* popConfirm.addEventListener('bcmConfirm', () => {
|
|
30
|
-
* console.log('User confirmed the action!');
|
|
31
|
-
* });
|
|
32
|
-
* popConfirm.addEventListener('bcmCancel', () => {
|
|
33
|
-
* console.log('User canceled the action!');
|
|
34
|
-
* });
|
|
90
|
+
* <div slot="header">
|
|
91
|
+
* <strong>Custom Header</strong>
|
|
92
|
+
* </div>
|
|
35
93
|
*
|
|
36
|
-
*
|
|
37
|
-
*
|
|
38
|
-
*
|
|
94
|
+
* <div slot="body">
|
|
95
|
+
* <p>This is custom body content with <strong>HTML formatting</strong>.</p>
|
|
96
|
+
* <ul>
|
|
97
|
+
* <li>Point 1</li>
|
|
98
|
+
* <li>Point 2</li>
|
|
99
|
+
* </ul>
|
|
100
|
+
* </div>
|
|
39
101
|
*
|
|
40
|
-
*
|
|
41
|
-
*
|
|
42
|
-
*
|
|
43
|
-
*
|
|
44
|
-
*
|
|
45
|
-
*
|
|
46
|
-
* @prop {('small' | 'medium' | 'large')} size - The size of the pop-up, determining its dimensions (default: 'medium')
|
|
47
|
-
* @prop {('info' | 'error' | 'warning' | 'success' | 'default')} status - The status of the pop-up, affecting its icon and color (default: 'info')
|
|
48
|
-
* @prop {boolean} statusIcon - Whether to display a status icon based on the `status` prop (default: true)
|
|
49
|
-
* @prop {string} targetId - The ID of the trigger element (e.g., a button) that opens the pop-up
|
|
102
|
+
* <div slot="footer">
|
|
103
|
+
* <bcm-button kind="outline" size="small">Maybe Later</bcm-button>
|
|
104
|
+
* <bcm-button status="success" size="small">Confirm</bcm-button>
|
|
105
|
+
* </div>
|
|
106
|
+
* </bcm-pop-confirm>
|
|
107
|
+
* ```
|
|
50
108
|
*
|
|
51
|
-
* @
|
|
52
|
-
*
|
|
53
|
-
*
|
|
109
|
+
* @example Different Sizes
|
|
110
|
+
* ```html
|
|
111
|
+
* <!-- Small -->
|
|
112
|
+
* <bcm-pop-confirm size="small" header-text="Small" description="Compact confirmation">
|
|
113
|
+
* <bcm-button size="small">Small</bcm-button>
|
|
114
|
+
* </bcm-pop-confirm>
|
|
54
115
|
*
|
|
55
|
-
*
|
|
56
|
-
*
|
|
116
|
+
* <!-- Medium (default) -->
|
|
117
|
+
* <bcm-pop-confirm size="medium" header-text="Medium" description="Standard confirmation">
|
|
118
|
+
* <bcm-button size="medium">Medium</bcm-button>
|
|
119
|
+
* </bcm-pop-confirm>
|
|
57
120
|
*
|
|
58
|
-
*
|
|
59
|
-
*
|
|
60
|
-
*
|
|
61
|
-
*
|
|
62
|
-
*
|
|
121
|
+
* <!-- Large -->
|
|
122
|
+
* <bcm-pop-confirm size="large" header-text="Large" description="Spacious confirmation with more room for content">
|
|
123
|
+
* <bcm-button size="large">Large</bcm-button>
|
|
124
|
+
* </bcm-pop-confirm>
|
|
125
|
+
* ```
|
|
63
126
|
*
|
|
64
|
-
* @
|
|
65
|
-
*
|
|
66
|
-
*
|
|
127
|
+
* @example Programmatic Control
|
|
128
|
+
* ```html
|
|
129
|
+
* <bcm-pop-confirm id="myConfirm" header-text="Confirm" description="Are you sure?">
|
|
130
|
+
* <bcm-button>Trigger</bcm-button>
|
|
131
|
+
* </bcm-pop-confirm>
|
|
132
|
+
*
|
|
133
|
+
* <bcm-button id="showBtn">Show Programmatically</bcm-button>
|
|
134
|
+
* <bcm-button id="hideBtn">Hide Programmatically</bcm-button>
|
|
135
|
+
*
|
|
136
|
+
* <script>
|
|
137
|
+
* const popconfirm = document.getElementById('myConfirm');
|
|
138
|
+
* document.getElementById('showBtn').addEventListener('click', () => {
|
|
139
|
+
* popconfirm.show();
|
|
140
|
+
* });
|
|
141
|
+
* document.getElementById('hideBtn').addEventListener('click', () => {
|
|
142
|
+
* popconfirm.hide();
|
|
143
|
+
* });
|
|
144
|
+
* </script>
|
|
145
|
+
* ```
|
|
146
|
+
*
|
|
147
|
+
* @example Without Status Icon
|
|
148
|
+
* ```html
|
|
149
|
+
* <bcm-pop-confirm
|
|
150
|
+
* header-text="Simple Confirmation"
|
|
151
|
+
* description="No status icon shown"
|
|
152
|
+
* status-icon={false}
|
|
153
|
+
* >
|
|
154
|
+
* <bcm-button>Click Me</bcm-button>
|
|
155
|
+
* </bcm-pop-confirm>
|
|
156
|
+
* ```
|
|
67
157
|
*
|
|
68
|
-
* @
|
|
69
|
-
*
|
|
70
|
-
*
|
|
158
|
+
* @example Different Placements
|
|
159
|
+
* ```html
|
|
160
|
+
* <bcm-pop-confirm placement="top" header-text="Top" description="Opens above">
|
|
161
|
+
* <bcm-button>Top</bcm-button>
|
|
162
|
+
* </bcm-pop-confirm>
|
|
163
|
+
*
|
|
164
|
+
* <bcm-pop-confirm placement="right" header-text="Right" description="Opens to the right">
|
|
165
|
+
* <bcm-button>Right</bcm-button>
|
|
166
|
+
* </bcm-pop-confirm>
|
|
167
|
+
*
|
|
168
|
+
* <bcm-pop-confirm placement="bottom" header-text="Bottom" description="Opens below">
|
|
169
|
+
* <bcm-button>Bottom</bcm-button>
|
|
170
|
+
* </bcm-pop-confirm>
|
|
171
|
+
*
|
|
172
|
+
* <bcm-pop-confirm placement="left" header-text="Left" description="Opens to the left">
|
|
173
|
+
* <bcm-button>Left</bcm-button>
|
|
174
|
+
* </bcm-pop-confirm>
|
|
175
|
+
* ```
|
|
71
176
|
*/
|
|
72
|
-
export class
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
this.arrowColor = 'var(--bcm-ui-color-background-basic-panel)'; // Default color
|
|
80
|
-
/**
|
|
81
|
-
* The text displayed on the cancel button.
|
|
82
|
-
* @default 'Cancel'
|
|
83
|
-
*/
|
|
84
|
-
this.cancelText = 'Cancel';
|
|
85
|
-
/**
|
|
86
|
-
* The text displayed on the confirm button.
|
|
87
|
-
* @default 'Yes'
|
|
88
|
-
*/
|
|
89
|
-
this.confirmText = 'Yes';
|
|
90
|
-
/**
|
|
91
|
-
* The description or body content of the pop-up.
|
|
92
|
-
* @default ''
|
|
93
|
-
*/
|
|
94
|
-
this.description = '';
|
|
95
|
-
/**
|
|
96
|
-
* The header text displayed at the top of the pop-up.
|
|
97
|
-
* @default ''
|
|
98
|
-
*/
|
|
99
|
-
this.headerText = '';
|
|
100
|
-
/**
|
|
101
|
-
* The placement position of the pop-up relative to the trigger element.
|
|
102
|
-
* @default 'bottom'
|
|
103
|
-
*/
|
|
104
|
-
this.placement = 'bottom';
|
|
105
|
-
/**
|
|
106
|
-
* The size of the pop-up, determining its dimensions and padding.
|
|
107
|
-
* @default 'medium'
|
|
108
|
-
*/
|
|
109
|
-
this.size = 'medium';
|
|
110
|
-
/**
|
|
111
|
-
* The status of the pop-up, affecting its icon and color scheme.
|
|
112
|
-
* @default 'info'
|
|
113
|
-
*/
|
|
114
|
-
this.status = 'info';
|
|
115
|
-
/**
|
|
116
|
-
* Whether to display a status icon based on the `status` prop.
|
|
117
|
-
* @default true
|
|
118
|
-
*/
|
|
119
|
-
this.statusIcon = true;
|
|
120
|
-
// State variables
|
|
121
|
-
/**
|
|
122
|
-
* Indicates whether the pop-up is currently open or closed.
|
|
123
|
-
* @default false
|
|
124
|
-
*/
|
|
125
|
-
this.isOpen = false;
|
|
126
|
-
/**
|
|
127
|
-
* Handles the click event on the trigger element to open the pop-up.
|
|
128
|
-
* Prevents default behavior and propagation, then opens the pop-up if it's closed.
|
|
129
|
-
* @param event The mouse event triggering the action.
|
|
130
|
-
*/
|
|
131
|
-
this.handleTriggerClick = (event) => {
|
|
132
|
-
event.preventDefault();
|
|
133
|
-
event.stopPropagation();
|
|
134
|
-
if (!this.isOpen) {
|
|
135
|
-
this.isOpen = true;
|
|
136
|
-
requestAnimationFrame(() => {
|
|
137
|
-
this.updatePosition();
|
|
138
|
-
});
|
|
139
|
-
}
|
|
140
|
-
};
|
|
141
|
-
/**
|
|
142
|
-
* Handles the confirm button click, closing the pop-up and emitting the confirm event.
|
|
143
|
-
* Prevents default behavior and propagation.
|
|
144
|
-
* @param event The mouse event triggering the action.
|
|
145
|
-
*/
|
|
146
|
-
this.handleConfirm = (event) => {
|
|
147
|
-
event.preventDefault();
|
|
148
|
-
event.stopPropagation();
|
|
149
|
-
this.isOpen = false;
|
|
150
|
-
this.bcmConfirm.emit();
|
|
151
|
-
};
|
|
152
|
-
/**
|
|
153
|
-
* Handles the cancel button click, closing the pop-up and emitting the cancel event.
|
|
154
|
-
* Prevents default behavior and propagation.
|
|
155
|
-
* @param event The mouse event triggering the action.
|
|
156
|
-
*/
|
|
157
|
-
this.handleCancel = (event) => {
|
|
158
|
-
event.preventDefault();
|
|
159
|
-
event.stopPropagation();
|
|
160
|
-
this.isOpen = false;
|
|
161
|
-
this.bcmCancel.emit();
|
|
162
|
-
};
|
|
163
|
-
/**
|
|
164
|
-
* Updates the position of the pop-up relative to the trigger element using Floating UI.
|
|
165
|
-
* Ensures the pop-up stays within viewport bounds and positions the arrow correctly.
|
|
166
|
-
*/
|
|
167
|
-
this.updatePosition = async () => {
|
|
168
|
-
if (!this.triggerElement || !this.popoverElement || !this.arrowElement)
|
|
169
|
-
return;
|
|
170
|
-
const { x, y, placement, middlewareData } = await computePosition(this.triggerElement, this.popoverElement, {
|
|
171
|
-
placement: this.placement,
|
|
172
|
-
middleware: [offset(12), flip({ fallbackPlacements: ['top', 'left', 'bottom', 'right'] }), shift({ padding: 8 }), arrow({ element: this.arrowElement })],
|
|
173
|
-
});
|
|
174
|
-
this.currentPlacement = placement;
|
|
175
|
-
Object.assign(this.popoverElement.style, {
|
|
176
|
-
left: `${x}px`,
|
|
177
|
-
top: `${y}px`,
|
|
178
|
-
});
|
|
179
|
-
const { x: arrowX, y: arrowY } = middlewareData.arrow || { x: 0, y: 0 };
|
|
180
|
-
const basePlacement = placement.split('-')[0];
|
|
181
|
-
const staticSide = {
|
|
182
|
-
top: 'bottom',
|
|
183
|
-
right: 'left',
|
|
184
|
-
bottom: 'top',
|
|
185
|
-
left: 'right',
|
|
186
|
-
}[basePlacement];
|
|
187
|
-
Object.assign(this.arrowElement.style, {
|
|
188
|
-
left: arrowX != null ? `${arrowX}px` : '',
|
|
189
|
-
top: arrowY != null ? `${arrowY}px` : '',
|
|
190
|
-
[staticSide]: ['top', 'bottom'].includes(basePlacement) ? '-8px' : '-12px',
|
|
191
|
-
});
|
|
192
|
-
};
|
|
193
|
-
/**
|
|
194
|
-
* Defines Tailwind Variants classes for the pop-up's structure and styling.
|
|
195
|
-
* Supports different sizes and generates dynamic class names.
|
|
196
|
-
*/
|
|
197
|
-
this.classes = tv({
|
|
198
|
-
slots: {
|
|
199
|
-
container: 'absolute bcm-ui-element flex flex-col shadow-2 rounded-[--popover-radius] bg-[--popover-bg] z-[9999] w-full',
|
|
200
|
-
header: 'flex justify-between items-center',
|
|
201
|
-
headerLeftContent: 'flex items-center gap-2 text-size-inherit text-[--text-color]',
|
|
202
|
-
closeIconArea: 'flex flex-row gap-2 size-6 items-center justify-center hover:bg-gray-100 rounded-full cursor-pointer text-size-inherit',
|
|
203
|
-
titleContainer: '!text-color-header font-semibold',
|
|
204
|
-
footer: 'flex flex-row justify-end gap-2',
|
|
205
|
-
},
|
|
206
|
-
variants: {
|
|
207
|
-
size: {
|
|
208
|
-
small: {
|
|
209
|
-
container: 'text-size-4 max-w-64 p-4 gap-4',
|
|
210
|
-
header: 'text-size-4',
|
|
211
|
-
footer: 'text-size-4',
|
|
212
|
-
titleContainer: 'text-size-5',
|
|
213
|
-
headerLeftContent: 'gap-2',
|
|
214
|
-
},
|
|
215
|
-
medium: {
|
|
216
|
-
container: 'text-size-5 max-w-80 gap-6 p-6',
|
|
217
|
-
header: 'text-size-5',
|
|
218
|
-
footer: 'text-size-5',
|
|
219
|
-
titleContainer: 'text-size-6',
|
|
220
|
-
headerLeftContent: 'gap-2.5',
|
|
221
|
-
},
|
|
222
|
-
large: {
|
|
223
|
-
container: 'text-size-6 max-w-96 p-8 gap-8',
|
|
224
|
-
header: 'text-size-6',
|
|
225
|
-
footer: 'text-size-6',
|
|
226
|
-
titleContainer: 'text-size-7',
|
|
227
|
-
headerLeftContent: 'gap-3',
|
|
228
|
-
},
|
|
229
|
-
},
|
|
230
|
-
},
|
|
231
|
-
defaultVariants: {
|
|
232
|
-
size: 'medium',
|
|
233
|
-
},
|
|
234
|
-
});
|
|
235
|
-
}
|
|
177
|
+
export class BcmPopConfirm {
|
|
178
|
+
host;
|
|
179
|
+
popconfirmRef;
|
|
180
|
+
arrowRef;
|
|
181
|
+
triggerRef;
|
|
182
|
+
cleanupAutoUpdate;
|
|
183
|
+
popconfirmId;
|
|
236
184
|
/**
|
|
237
|
-
*
|
|
238
|
-
*
|
|
185
|
+
* @prop {PopConfirmPlacement} placement - Position of the popover relative to the trigger element.
|
|
186
|
+
* Automatically flips if there's not enough space.
|
|
187
|
+
* Default: 'top'
|
|
239
188
|
*/
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
189
|
+
placement = 'top';
|
|
190
|
+
/**
|
|
191
|
+
* @prop {PopConfirmSize} size - Size variant that controls padding and text size.
|
|
192
|
+
* - 'small': Compact size with minimal padding
|
|
193
|
+
* - 'medium': Standard size
|
|
194
|
+
* - 'large': Spacious size with more padding
|
|
195
|
+
* Default: 'medium'
|
|
196
|
+
*/
|
|
197
|
+
size = 'medium';
|
|
198
|
+
/**
|
|
199
|
+
* @prop {PopConfirmStatus} status - Status type that determines the color scheme and icon.
|
|
200
|
+
* - 'info': Informational (blue)
|
|
201
|
+
* - 'success': Success/positive action (green)
|
|
202
|
+
* - 'warning': Warning/caution (yellow)
|
|
203
|
+
* - 'error': Error/destructive action (red)
|
|
204
|
+
* Default: 'info'
|
|
205
|
+
*/
|
|
206
|
+
status = 'info';
|
|
207
|
+
/**
|
|
208
|
+
* @prop {string} headerText - Text displayed in the header section.
|
|
209
|
+
* Can be overridden by using the 'header' slot.
|
|
210
|
+
* Default: ''
|
|
211
|
+
*/
|
|
212
|
+
headerText = '';
|
|
213
|
+
/**
|
|
214
|
+
* @prop {string} description - Description text displayed in the body section.
|
|
215
|
+
* Can be overridden by using the 'body' slot.
|
|
216
|
+
* Default: ''
|
|
217
|
+
*/
|
|
218
|
+
description = '';
|
|
219
|
+
/**
|
|
220
|
+
* @prop {string} confirmText - Text for the confirm button.
|
|
221
|
+
* Default: 'Yes'
|
|
222
|
+
*/
|
|
223
|
+
confirmText = 'Yes';
|
|
224
|
+
/**
|
|
225
|
+
* @prop {string} cancelText - Text for the cancel button.
|
|
226
|
+
* Default: 'Cancel'
|
|
227
|
+
*/
|
|
228
|
+
cancelText = 'Cancel';
|
|
229
|
+
/**
|
|
230
|
+
* @prop {boolean} showArrow - Whether to show the arrow pointing to the trigger.
|
|
231
|
+
* Default: true
|
|
232
|
+
*/
|
|
233
|
+
showArrow = true;
|
|
234
|
+
/**
|
|
235
|
+
* @prop {boolean} statusIcon - Whether to show the status icon in the header.
|
|
236
|
+
* Icon only shows if headerText is also provided.
|
|
237
|
+
* Default: true
|
|
238
|
+
*/
|
|
239
|
+
statusIcon = true;
|
|
240
|
+
/**
|
|
241
|
+
* @prop {number} offsetDistance - Distance in pixels between the popover and trigger element.
|
|
242
|
+
* Default: 12
|
|
243
|
+
*/
|
|
244
|
+
offsetDistance = 12;
|
|
245
|
+
/**
|
|
246
|
+
* @prop {boolean} closeOnOutsideClick - Whether to close when clicking outside the popover.
|
|
247
|
+
* Default: true
|
|
248
|
+
*/
|
|
249
|
+
closeOnOutsideClick = true;
|
|
250
|
+
/**
|
|
251
|
+
* @prop {boolean} closeOnEscape - Whether to close when pressing the Escape key.
|
|
252
|
+
* Default: true
|
|
253
|
+
*/
|
|
254
|
+
closeOnEscape = true;
|
|
255
|
+
isOpen = false;
|
|
256
|
+
/**
|
|
257
|
+
* @event bcmBeforeOpen - Emitted before the popover opens.
|
|
258
|
+
* Useful for performing actions before the popover becomes visible.
|
|
259
|
+
*/
|
|
260
|
+
bcmBeforeOpen;
|
|
261
|
+
/**
|
|
262
|
+
* @event bcmOpen - Emitted when the popover is opened.
|
|
263
|
+
* Useful for tracking when the popover becomes visible.
|
|
264
|
+
*/
|
|
265
|
+
bcmOpen;
|
|
266
|
+
/**
|
|
267
|
+
* @event bcmBeforeClose - Emitted before the popover closes.
|
|
268
|
+
* Useful for performing cleanup actions before hiding.
|
|
269
|
+
*/
|
|
270
|
+
bcmBeforeClose;
|
|
271
|
+
/**
|
|
272
|
+
* @event bcmClose - Emitted when the popover is closed.
|
|
273
|
+
* Useful for tracking when the popover is hidden.
|
|
274
|
+
*/
|
|
275
|
+
bcmClose;
|
|
276
|
+
/**
|
|
277
|
+
* @event bcmConfirm - Emitted when the user clicks the confirm button.
|
|
278
|
+
* This is where you should handle the confirmed action.
|
|
279
|
+
*/
|
|
280
|
+
bcmConfirm;
|
|
281
|
+
/**
|
|
282
|
+
* @event bcmCancel - Emitted when the user clicks cancel, presses Escape, or clicks outside.
|
|
283
|
+
* Useful for tracking when the user dismisses the confirmation.
|
|
284
|
+
*/
|
|
285
|
+
bcmCancel;
|
|
286
|
+
async handleOpenChange(open) {
|
|
287
|
+
if (!this.popconfirmRef)
|
|
244
288
|
return;
|
|
289
|
+
if (open) {
|
|
290
|
+
this.popconfirmRef.showPopover();
|
|
291
|
+
await new Promise(resolve => requestAnimationFrame(() => resolve(undefined)));
|
|
292
|
+
await this.updatePosition();
|
|
293
|
+
this.startAutoUpdate();
|
|
294
|
+
this.bcmOpen.emit();
|
|
295
|
+
// Add outside click listener after a frame to avoid immediate close
|
|
296
|
+
if (this.closeOnOutsideClick) {
|
|
297
|
+
requestAnimationFrame(() => {
|
|
298
|
+
document.addEventListener('click', this.handleOutsideClick);
|
|
299
|
+
});
|
|
300
|
+
}
|
|
301
|
+
}
|
|
302
|
+
else {
|
|
303
|
+
this.popconfirmRef.hidePopover();
|
|
304
|
+
this.stopAutoUpdate();
|
|
305
|
+
this.bcmClose.emit();
|
|
306
|
+
document.removeEventListener('click', this.handleOutsideClick);
|
|
245
307
|
}
|
|
246
|
-
this.triggerElement.addEventListener('click', this.handleTriggerClick);
|
|
247
308
|
}
|
|
248
309
|
/**
|
|
249
|
-
* Programmatically shows the
|
|
250
|
-
* @returns
|
|
310
|
+
* Programmatically shows the popconfirm.
|
|
311
|
+
* @returns Promise that resolves when the show operation begins
|
|
251
312
|
*/
|
|
252
313
|
async show() {
|
|
314
|
+
if (this.isOpen)
|
|
315
|
+
return;
|
|
316
|
+
this.bcmBeforeOpen.emit();
|
|
253
317
|
this.isOpen = true;
|
|
254
|
-
requestAnimationFrame(() => {
|
|
255
|
-
this.updatePosition();
|
|
256
|
-
});
|
|
257
318
|
}
|
|
258
319
|
/**
|
|
259
|
-
* Programmatically hides the
|
|
260
|
-
* @returns
|
|
320
|
+
* Programmatically hides the popconfirm.
|
|
321
|
+
* @returns Promise that resolves when the hide operation begins
|
|
261
322
|
*/
|
|
262
323
|
async hide() {
|
|
324
|
+
if (!this.isOpen)
|
|
325
|
+
return;
|
|
326
|
+
this.bcmBeforeClose.emit();
|
|
263
327
|
this.isOpen = false;
|
|
264
328
|
}
|
|
265
329
|
/**
|
|
266
|
-
*
|
|
267
|
-
*
|
|
330
|
+
* Toggles the popconfirm visibility.
|
|
331
|
+
* If open, it will close. If closed, it will open.
|
|
332
|
+
* @returns Promise that resolves when the toggle operation completes
|
|
268
333
|
*/
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
334
|
+
async toggle() {
|
|
335
|
+
if (this.isOpen) {
|
|
336
|
+
await this.hide();
|
|
337
|
+
}
|
|
338
|
+
else {
|
|
339
|
+
await this.show();
|
|
340
|
+
}
|
|
341
|
+
}
|
|
342
|
+
startAutoUpdate() {
|
|
343
|
+
if (!this.triggerRef || !this.popconfirmRef)
|
|
344
|
+
return;
|
|
345
|
+
this.cleanupAutoUpdate = autoUpdate(this.triggerRef, this.popconfirmRef, () => this.updatePosition(), {
|
|
346
|
+
ancestorScroll: true,
|
|
347
|
+
ancestorResize: true,
|
|
348
|
+
elementResize: true,
|
|
349
|
+
layoutShift: true,
|
|
350
|
+
});
|
|
351
|
+
}
|
|
352
|
+
stopAutoUpdate() {
|
|
353
|
+
if (this.cleanupAutoUpdate) {
|
|
354
|
+
this.cleanupAutoUpdate();
|
|
355
|
+
this.cleanupAutoUpdate = undefined;
|
|
356
|
+
}
|
|
357
|
+
}
|
|
358
|
+
async updatePosition() {
|
|
359
|
+
if (!this.triggerRef || !this.popconfirmRef)
|
|
360
|
+
return;
|
|
361
|
+
const middleware = [offset(this.offsetDistance), flip(), shift({ padding: 8 })];
|
|
362
|
+
if (this.showArrow && this.arrowRef) {
|
|
363
|
+
middleware.push(arrow({ element: this.arrowRef }));
|
|
364
|
+
}
|
|
365
|
+
const virtualElement = {
|
|
366
|
+
getBoundingClientRect: () => this.triggerRef.getBoundingClientRect(),
|
|
273
367
|
};
|
|
368
|
+
const { x, y, placement, middlewareData } = await computePosition(virtualElement, this.popconfirmRef, {
|
|
369
|
+
placement: this.placement,
|
|
370
|
+
strategy: 'fixed',
|
|
371
|
+
middleware,
|
|
372
|
+
});
|
|
373
|
+
this.popconfirmRef.style.left = `${x}px`;
|
|
374
|
+
this.popconfirmRef.style.top = `${y}px`;
|
|
375
|
+
if (this.showArrow && this.arrowRef && middlewareData.arrow) {
|
|
376
|
+
const { x: arrowX, y: arrowY } = middlewareData.arrow;
|
|
377
|
+
const side = placement.split('-')[0];
|
|
378
|
+
const staticSide = {
|
|
379
|
+
top: 'bottom',
|
|
380
|
+
right: 'left',
|
|
381
|
+
bottom: 'top',
|
|
382
|
+
left: 'right',
|
|
383
|
+
}[side];
|
|
384
|
+
Object.assign(this.arrowRef.style, {
|
|
385
|
+
left: arrowX != null ? `${arrowX}px` : '',
|
|
386
|
+
top: arrowY != null ? `${arrowY}px` : '',
|
|
387
|
+
right: '',
|
|
388
|
+
bottom: '',
|
|
389
|
+
[staticSide]: '-4px',
|
|
390
|
+
});
|
|
391
|
+
}
|
|
392
|
+
}
|
|
393
|
+
handleSlotChange = () => {
|
|
394
|
+
const slot = this.host.shadowRoot?.querySelector('slot:not([name])');
|
|
395
|
+
if (!slot)
|
|
396
|
+
return;
|
|
397
|
+
const elements = slot.assignedElements();
|
|
398
|
+
const assignedElement = elements[0];
|
|
399
|
+
this.triggerRef = (assignedElement || this.host);
|
|
400
|
+
if (!this.triggerRef)
|
|
401
|
+
return;
|
|
402
|
+
if (this.popconfirmRef && this.popconfirmId) {
|
|
403
|
+
this.triggerRef.setAttribute('aria-describedby', this.popconfirmId);
|
|
404
|
+
}
|
|
405
|
+
this.removeTriggerListeners();
|
|
406
|
+
this.setupTriggerListeners();
|
|
407
|
+
};
|
|
408
|
+
setupTriggerListeners() {
|
|
409
|
+
if (!this.triggerRef)
|
|
410
|
+
return;
|
|
411
|
+
this.triggerRef.addEventListener('click', this.handleTriggerClick);
|
|
412
|
+
}
|
|
413
|
+
removeTriggerListeners() {
|
|
414
|
+
if (!this.triggerRef)
|
|
415
|
+
return;
|
|
416
|
+
this.triggerRef.removeEventListener('click', this.handleTriggerClick);
|
|
417
|
+
}
|
|
418
|
+
handleTriggerClick = () => {
|
|
419
|
+
this.toggle();
|
|
420
|
+
};
|
|
421
|
+
handleOutsideClick = (e) => {
|
|
422
|
+
if (!this.closeOnOutsideClick || !this.isOpen)
|
|
423
|
+
return;
|
|
424
|
+
const target = e.target;
|
|
425
|
+
if (!this.host.contains(target) && !this.popconfirmRef?.contains(target)) {
|
|
426
|
+
this.handleCancel();
|
|
427
|
+
}
|
|
428
|
+
};
|
|
429
|
+
handleKeyDown(e) {
|
|
430
|
+
if (!this.closeOnEscape || !this.isOpen)
|
|
431
|
+
return;
|
|
432
|
+
if (e.key === 'Escape') {
|
|
433
|
+
// Check if this is the topmost open popconfirm
|
|
434
|
+
const openPopconfirms = Array.from(document.querySelectorAll('bcm-pop-confirm')).filter(el => {
|
|
435
|
+
const popconfirmEl = el.shadowRoot?.querySelector('[popover]');
|
|
436
|
+
return popconfirmEl?.matches(':popover-open');
|
|
437
|
+
});
|
|
438
|
+
const topPopconfirm = openPopconfirms[openPopconfirms.length - 1];
|
|
439
|
+
if (topPopconfirm === this.host) {
|
|
440
|
+
e.preventDefault();
|
|
441
|
+
e.stopPropagation();
|
|
442
|
+
this.handleCancel();
|
|
443
|
+
}
|
|
444
|
+
}
|
|
445
|
+
}
|
|
446
|
+
handleToggle = (e) => {
|
|
447
|
+
const toggleEvent = e;
|
|
448
|
+
if (toggleEvent.newState === 'open' && !this.isOpen) {
|
|
449
|
+
this.isOpen = true;
|
|
450
|
+
}
|
|
451
|
+
else if (toggleEvent.newState === 'closed' && this.isOpen) {
|
|
452
|
+
this.isOpen = false;
|
|
453
|
+
}
|
|
454
|
+
};
|
|
455
|
+
handleConfirm = () => {
|
|
456
|
+
this.bcmConfirm.emit();
|
|
457
|
+
this.hide();
|
|
458
|
+
};
|
|
459
|
+
handleCancel = () => {
|
|
460
|
+
this.bcmCancel.emit();
|
|
461
|
+
this.hide();
|
|
462
|
+
};
|
|
463
|
+
componentWillLoad() {
|
|
464
|
+
this.popconfirmId = `popconfirm-${Math.random().toString(36).substring(2, 11)}`;
|
|
465
|
+
}
|
|
466
|
+
componentDidLoad() {
|
|
467
|
+
if (this.popconfirmRef) {
|
|
468
|
+
this.popconfirmRef.addEventListener('toggle', this.handleToggle);
|
|
469
|
+
}
|
|
274
470
|
}
|
|
275
|
-
/**
|
|
276
|
-
* Lifecycle method called when the component is removed from the DOM.
|
|
277
|
-
* Cleans up the event listener to prevent memory leaks.
|
|
278
|
-
*/
|
|
279
471
|
disconnectedCallback() {
|
|
280
|
-
|
|
281
|
-
|
|
472
|
+
this.stopAutoUpdate();
|
|
473
|
+
this.removeTriggerListeners();
|
|
474
|
+
document.removeEventListener('click', this.handleOutsideClick);
|
|
475
|
+
if (this.popconfirmRef) {
|
|
476
|
+
this.popconfirmRef.removeEventListener('toggle', this.handleToggle);
|
|
282
477
|
}
|
|
283
478
|
}
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
479
|
+
popconfirmClass = tv({
|
|
480
|
+
slots: {
|
|
481
|
+
container: 'bcm-ui-element fixed m-0 flex flex-col bg-[--popover-bg] rounded-lg shadow-3 z-[9999]',
|
|
482
|
+
arrow: 'absolute w-3 h-3 bg-[--popover-bg] rotate-45',
|
|
483
|
+
closeBtn: 'absolute flex size-6 items-center justify-center hover:bg-gray-100 rounded-full cursor-pointer text-color-muted',
|
|
484
|
+
header: 'flex items-center pr-8',
|
|
485
|
+
headerLeft: 'flex items-center gap-2',
|
|
486
|
+
title: '!text-color-header font-semibold',
|
|
487
|
+
body: 'flex-1 font-sans text-pretty',
|
|
488
|
+
footer: 'flex flex-row justify-end gap-2',
|
|
489
|
+
},
|
|
490
|
+
variants: {
|
|
491
|
+
size: {
|
|
492
|
+
small: {
|
|
493
|
+
container: 'text-size-4 max-w-64 p-4 gap-4',
|
|
494
|
+
title: 'text-size-5',
|
|
495
|
+
closeBtn: 'top-3 right-3',
|
|
496
|
+
},
|
|
497
|
+
medium: {
|
|
498
|
+
container: 'text-size-5 max-w-80 p-6 gap-6',
|
|
499
|
+
title: 'text-size-6',
|
|
500
|
+
closeBtn: 'top-4 right-4',
|
|
501
|
+
},
|
|
502
|
+
large: {
|
|
503
|
+
container: 'text-size-6 max-w-96 p-8 gap-8',
|
|
504
|
+
title: 'text-size-7',
|
|
505
|
+
closeBtn: 'top-6 right-6',
|
|
506
|
+
},
|
|
507
|
+
},
|
|
508
|
+
status: {
|
|
509
|
+
info: { headerLeft: 'text-[var(--bcm-ui-color-text-info)]' },
|
|
510
|
+
success: { headerLeft: 'text-[var(--bcm-ui-color-text-success)]' },
|
|
511
|
+
warning: { headerLeft: 'text-[var(--bcm-ui-color-text-warning)]' },
|
|
512
|
+
error: { headerLeft: 'text-[var(--bcm-ui-color-text-error)]' },
|
|
513
|
+
},
|
|
514
|
+
},
|
|
515
|
+
});
|
|
289
516
|
render() {
|
|
290
|
-
|
|
291
|
-
const { container, header, footer, headerLeftContent, closeIconArea, titleContainer } = this.classes({
|
|
517
|
+
const { container, arrow: arrowClass, header, headerLeft, title, closeBtn, body, footer } = this.popconfirmClass({
|
|
292
518
|
size: this.size,
|
|
519
|
+
status: this.status,
|
|
293
520
|
});
|
|
294
|
-
|
|
521
|
+
// Only show header if there's actual header content (headerText or custom header slot)
|
|
522
|
+
// Status icon only shows if explicitly enabled AND there's header text
|
|
523
|
+
const showStatusIcon = this.statusIcon && this.headerText;
|
|
524
|
+
const hasHeaderText = Boolean(this.headerText);
|
|
525
|
+
return (h("div", { key: '7329eb6db100b57368ca73b36a2a2ad66b218b8e', class: "inline-block" }, h("slot", { key: '0d775cf4a00b4ef97e8e75e2620ddf420caf43c6', onSlotchange: this.handleSlotChange }), h("div", { key: '19c4c001fbf51b895a45b271365b3a7cb22590bb', ref: el => (this.popconfirmRef = el), id: this.popconfirmId, part: "container", class: container(), popover: "manual", role: "alertdialog", "aria-labelledby": hasHeaderText ? `${this.popconfirmId}-header` : undefined, "aria-describedby": `${this.popconfirmId}-body` }, this.showArrow && h("div", { key: '91aaa976265c10537cea1d0d57d08df27c838645', ref: el => (this.arrowRef = el), part: "arrow", class: arrowClass() }), h("div", { key: '91a049dd52d47d267d11c8e8c628aa417fb40663', class: closeBtn(), onClick: this.handleCancel, role: "button", tabIndex: 0, "aria-label": "Close" }, h("bcm-icon", { key: 'd15fb5922185f246c15e9480c3a4652ef9e96ffa', "icon-name": "far fa-times" })), h("header", { key: 'b62f81fd72a05aa116ecad7614f20645aa85f060', class: header() }, h("div", { key: '226cbb6ac92d294b67eb0c33ed0faea52d56689a', class: headerLeft() }, showStatusIcon && h("bcm-icon", { key: '0e5cd64e8369876b9016af3c9607cdb406828651', "icon-name": statusIcons[this.status] }), hasHeaderText && (h("span", { key: '4a1cf44acf56bc46ad52fda1d1d29da0c838fded', id: `${this.popconfirmId}-header`, class: title() }, this.headerText)), h("slot", { key: '5e159545f0b12d97c9b632653955f636866c2a14', name: "header" }))), h("main", { key: '6e082c73048583a1447dc4fb7c9940a677e7d587', id: `${this.popconfirmId}-body`, part: "body", class: body() }, h("slot", { key: '6d0546a06ca77118d82074fffb9164c4b4f86a5c', name: "body" }, this.description)), h("footer", { key: '4f36400e44847e31d6ceed5fd7f47d35f68af458', part: "footer", class: footer() }, h("slot", { key: '97b85bb7dd3d39790b91e6bffef01f7eb077c2c3', name: "footer" }, h("bcm-button", { key: '8e8b7175a1dd9e069e9cbca7b430fdc1e9a7beab', kind: "outline", size: this.size, onClick: this.handleCancel }, this.cancelText), h("bcm-button", { key: 'ae9daeacaf77c8abfe92951eefe2e885d23eab79', size: this.size, status: this.status, kind: "primary", onClick: this.handleConfirm }, this.confirmText))))));
|
|
295
526
|
}
|
|
296
527
|
static get is() { return "bcm-pop-confirm"; }
|
|
297
528
|
static get encapsulation() { return "shadow"; }
|
|
@@ -307,78 +538,95 @@ export class PopConfirm {
|
|
|
307
538
|
}
|
|
308
539
|
static get properties() {
|
|
309
540
|
return {
|
|
310
|
-
"
|
|
541
|
+
"placement": {
|
|
311
542
|
"type": "string",
|
|
312
|
-
"attribute": "arrow-color",
|
|
313
543
|
"mutable": false,
|
|
314
544
|
"complexType": {
|
|
315
|
-
"original": "
|
|
316
|
-
"resolved": "
|
|
317
|
-
"references": {
|
|
545
|
+
"original": "PopConfirmPlacement",
|
|
546
|
+
"resolved": "\"bottom\" | \"left\" | \"right\" | \"top\"",
|
|
547
|
+
"references": {
|
|
548
|
+
"PopConfirmPlacement": {
|
|
549
|
+
"location": "local",
|
|
550
|
+
"path": "/Users/muratpolatozkan/works/bromcom/bromcom-ui-v2/src/components/pop-confirm/pop-confirm.component.tsx",
|
|
551
|
+
"id": "src/components/pop-confirm/pop-confirm.component.tsx::PopConfirmPlacement"
|
|
552
|
+
}
|
|
553
|
+
}
|
|
318
554
|
},
|
|
319
555
|
"required": false,
|
|
320
556
|
"optional": false,
|
|
321
557
|
"docs": {
|
|
322
558
|
"tags": [{
|
|
323
|
-
"name": "
|
|
324
|
-
"text": "
|
|
559
|
+
"name": "prop",
|
|
560
|
+
"text": "{PopConfirmPlacement} placement - Position of the popover relative to the trigger element.\nAutomatically flips if there's not enough space.\nDefault: 'top'"
|
|
325
561
|
}],
|
|
326
|
-
"text": "
|
|
562
|
+
"text": ""
|
|
327
563
|
},
|
|
328
564
|
"getter": false,
|
|
329
565
|
"setter": false,
|
|
330
566
|
"reflect": false,
|
|
331
|
-
"
|
|
567
|
+
"attribute": "placement",
|
|
568
|
+
"defaultValue": "'top'"
|
|
332
569
|
},
|
|
333
|
-
"
|
|
570
|
+
"size": {
|
|
334
571
|
"type": "string",
|
|
335
|
-
"attribute": "cancel-text",
|
|
336
572
|
"mutable": false,
|
|
337
573
|
"complexType": {
|
|
338
|
-
"original": "
|
|
339
|
-
"resolved": "
|
|
340
|
-
"references": {
|
|
574
|
+
"original": "PopConfirmSize",
|
|
575
|
+
"resolved": "\"large\" | \"medium\" | \"small\"",
|
|
576
|
+
"references": {
|
|
577
|
+
"PopConfirmSize": {
|
|
578
|
+
"location": "local",
|
|
579
|
+
"path": "/Users/muratpolatozkan/works/bromcom/bromcom-ui-v2/src/components/pop-confirm/pop-confirm.component.tsx",
|
|
580
|
+
"id": "src/components/pop-confirm/pop-confirm.component.tsx::PopConfirmSize"
|
|
581
|
+
}
|
|
582
|
+
}
|
|
341
583
|
},
|
|
342
584
|
"required": false,
|
|
343
585
|
"optional": false,
|
|
344
586
|
"docs": {
|
|
345
587
|
"tags": [{
|
|
346
|
-
"name": "
|
|
347
|
-
"text": "'
|
|
588
|
+
"name": "prop",
|
|
589
|
+
"text": "{PopConfirmSize} size - Size variant that controls padding and text size.\n- 'small': Compact size with minimal padding\n- 'medium': Standard size\n- 'large': Spacious size with more padding\nDefault: 'medium'"
|
|
348
590
|
}],
|
|
349
|
-
"text": "
|
|
591
|
+
"text": ""
|
|
350
592
|
},
|
|
351
593
|
"getter": false,
|
|
352
594
|
"setter": false,
|
|
353
595
|
"reflect": false,
|
|
354
|
-
"
|
|
596
|
+
"attribute": "size",
|
|
597
|
+
"defaultValue": "'medium'"
|
|
355
598
|
},
|
|
356
|
-
"
|
|
599
|
+
"status": {
|
|
357
600
|
"type": "string",
|
|
358
|
-
"attribute": "confirm-text",
|
|
359
601
|
"mutable": false,
|
|
360
602
|
"complexType": {
|
|
361
|
-
"original": "
|
|
362
|
-
"resolved": "
|
|
363
|
-
"references": {
|
|
603
|
+
"original": "PopConfirmStatus",
|
|
604
|
+
"resolved": "\"error\" | \"info\" | \"success\" | \"warning\"",
|
|
605
|
+
"references": {
|
|
606
|
+
"PopConfirmStatus": {
|
|
607
|
+
"location": "local",
|
|
608
|
+
"path": "/Users/muratpolatozkan/works/bromcom/bromcom-ui-v2/src/components/pop-confirm/pop-confirm.component.tsx",
|
|
609
|
+
"id": "src/components/pop-confirm/pop-confirm.component.tsx::PopConfirmStatus"
|
|
610
|
+
}
|
|
611
|
+
}
|
|
364
612
|
},
|
|
365
613
|
"required": false,
|
|
366
614
|
"optional": false,
|
|
367
615
|
"docs": {
|
|
368
616
|
"tags": [{
|
|
369
|
-
"name": "
|
|
370
|
-
"text": "'
|
|
617
|
+
"name": "prop",
|
|
618
|
+
"text": "{PopConfirmStatus} status - Status type that determines the color scheme and icon.\n- 'info': Informational (blue)\n- 'success': Success/positive action (green)\n- 'warning': Warning/caution (yellow)\n- 'error': Error/destructive action (red)\nDefault: 'info'"
|
|
371
619
|
}],
|
|
372
|
-
"text": "
|
|
620
|
+
"text": ""
|
|
373
621
|
},
|
|
374
622
|
"getter": false,
|
|
375
623
|
"setter": false,
|
|
376
624
|
"reflect": false,
|
|
377
|
-
"
|
|
625
|
+
"attribute": "status",
|
|
626
|
+
"defaultValue": "'info'"
|
|
378
627
|
},
|
|
379
|
-
"
|
|
628
|
+
"headerText": {
|
|
380
629
|
"type": "string",
|
|
381
|
-
"attribute": "description",
|
|
382
630
|
"mutable": false,
|
|
383
631
|
"complexType": {
|
|
384
632
|
"original": "string",
|
|
@@ -389,19 +637,19 @@ export class PopConfirm {
|
|
|
389
637
|
"optional": false,
|
|
390
638
|
"docs": {
|
|
391
639
|
"tags": [{
|
|
392
|
-
"name": "
|
|
393
|
-
"text": "''"
|
|
640
|
+
"name": "prop",
|
|
641
|
+
"text": "{string} headerText - Text displayed in the header section.\nCan be overridden by using the 'header' slot.\nDefault: ''"
|
|
394
642
|
}],
|
|
395
|
-
"text": "
|
|
643
|
+
"text": ""
|
|
396
644
|
},
|
|
397
645
|
"getter": false,
|
|
398
646
|
"setter": false,
|
|
399
647
|
"reflect": false,
|
|
648
|
+
"attribute": "header-text",
|
|
400
649
|
"defaultValue": "''"
|
|
401
650
|
},
|
|
402
|
-
"
|
|
651
|
+
"description": {
|
|
403
652
|
"type": "string",
|
|
404
|
-
"attribute": "header-text",
|
|
405
653
|
"mutable": false,
|
|
406
654
|
"complexType": {
|
|
407
655
|
"original": "string",
|
|
@@ -412,94 +660,134 @@ export class PopConfirm {
|
|
|
412
660
|
"optional": false,
|
|
413
661
|
"docs": {
|
|
414
662
|
"tags": [{
|
|
415
|
-
"name": "
|
|
416
|
-
"text": "''"
|
|
663
|
+
"name": "prop",
|
|
664
|
+
"text": "{string} description - Description text displayed in the body section.\nCan be overridden by using the 'body' slot.\nDefault: ''"
|
|
417
665
|
}],
|
|
418
|
-
"text": "
|
|
666
|
+
"text": ""
|
|
419
667
|
},
|
|
420
668
|
"getter": false,
|
|
421
669
|
"setter": false,
|
|
422
670
|
"reflect": false,
|
|
671
|
+
"attribute": "description",
|
|
423
672
|
"defaultValue": "''"
|
|
424
673
|
},
|
|
425
|
-
"
|
|
674
|
+
"confirmText": {
|
|
426
675
|
"type": "string",
|
|
427
|
-
"attribute": "placement",
|
|
428
676
|
"mutable": false,
|
|
429
677
|
"complexType": {
|
|
430
|
-
"original": "
|
|
431
|
-
"resolved": "
|
|
432
|
-
"references": {
|
|
433
|
-
"Placement": {
|
|
434
|
-
"location": "import",
|
|
435
|
-
"path": "@floating-ui/dom",
|
|
436
|
-
"id": "node_modules::Placement"
|
|
437
|
-
}
|
|
438
|
-
}
|
|
678
|
+
"original": "string",
|
|
679
|
+
"resolved": "string",
|
|
680
|
+
"references": {}
|
|
439
681
|
},
|
|
440
682
|
"required": false,
|
|
441
683
|
"optional": false,
|
|
442
684
|
"docs": {
|
|
443
685
|
"tags": [{
|
|
444
|
-
"name": "
|
|
445
|
-
"text": "'
|
|
686
|
+
"name": "prop",
|
|
687
|
+
"text": "{string} confirmText - Text for the confirm button.\nDefault: 'Yes'"
|
|
446
688
|
}],
|
|
447
|
-
"text": "
|
|
689
|
+
"text": ""
|
|
448
690
|
},
|
|
449
691
|
"getter": false,
|
|
450
692
|
"setter": false,
|
|
451
693
|
"reflect": false,
|
|
452
|
-
"
|
|
694
|
+
"attribute": "confirm-text",
|
|
695
|
+
"defaultValue": "'Yes'"
|
|
453
696
|
},
|
|
454
|
-
"
|
|
697
|
+
"cancelText": {
|
|
455
698
|
"type": "string",
|
|
456
|
-
"attribute": "size",
|
|
457
699
|
"mutable": false,
|
|
458
700
|
"complexType": {
|
|
459
|
-
"original": "
|
|
460
|
-
"resolved": "
|
|
701
|
+
"original": "string",
|
|
702
|
+
"resolved": "string",
|
|
461
703
|
"references": {}
|
|
462
704
|
},
|
|
463
705
|
"required": false,
|
|
464
706
|
"optional": false,
|
|
465
707
|
"docs": {
|
|
466
708
|
"tags": [{
|
|
467
|
-
"name": "
|
|
468
|
-
"text": "'
|
|
709
|
+
"name": "prop",
|
|
710
|
+
"text": "{string} cancelText - Text for the cancel button.\nDefault: 'Cancel'"
|
|
469
711
|
}],
|
|
470
|
-
"text": "
|
|
712
|
+
"text": ""
|
|
471
713
|
},
|
|
472
714
|
"getter": false,
|
|
473
715
|
"setter": false,
|
|
474
716
|
"reflect": false,
|
|
475
|
-
"
|
|
717
|
+
"attribute": "cancel-text",
|
|
718
|
+
"defaultValue": "'Cancel'"
|
|
476
719
|
},
|
|
477
|
-
"
|
|
478
|
-
"type": "
|
|
479
|
-
"attribute": "status",
|
|
720
|
+
"showArrow": {
|
|
721
|
+
"type": "boolean",
|
|
480
722
|
"mutable": false,
|
|
481
723
|
"complexType": {
|
|
482
|
-
"original": "
|
|
483
|
-
"resolved": "
|
|
724
|
+
"original": "boolean",
|
|
725
|
+
"resolved": "boolean",
|
|
484
726
|
"references": {}
|
|
485
727
|
},
|
|
486
728
|
"required": false,
|
|
487
729
|
"optional": false,
|
|
488
730
|
"docs": {
|
|
489
731
|
"tags": [{
|
|
490
|
-
"name": "
|
|
491
|
-
"text": "
|
|
732
|
+
"name": "prop",
|
|
733
|
+
"text": "{boolean} showArrow - Whether to show the arrow pointing to the trigger.\nDefault: true"
|
|
492
734
|
}],
|
|
493
|
-
"text": "
|
|
735
|
+
"text": ""
|
|
494
736
|
},
|
|
495
737
|
"getter": false,
|
|
496
738
|
"setter": false,
|
|
497
739
|
"reflect": false,
|
|
498
|
-
"
|
|
740
|
+
"attribute": "show-arrow",
|
|
741
|
+
"defaultValue": "true"
|
|
499
742
|
},
|
|
500
743
|
"statusIcon": {
|
|
501
744
|
"type": "boolean",
|
|
745
|
+
"mutable": false,
|
|
746
|
+
"complexType": {
|
|
747
|
+
"original": "boolean",
|
|
748
|
+
"resolved": "boolean",
|
|
749
|
+
"references": {}
|
|
750
|
+
},
|
|
751
|
+
"required": false,
|
|
752
|
+
"optional": false,
|
|
753
|
+
"docs": {
|
|
754
|
+
"tags": [{
|
|
755
|
+
"name": "prop",
|
|
756
|
+
"text": "{boolean} statusIcon - Whether to show the status icon in the header.\nIcon only shows if headerText is also provided.\nDefault: true"
|
|
757
|
+
}],
|
|
758
|
+
"text": ""
|
|
759
|
+
},
|
|
760
|
+
"getter": false,
|
|
761
|
+
"setter": false,
|
|
762
|
+
"reflect": false,
|
|
502
763
|
"attribute": "status-icon",
|
|
764
|
+
"defaultValue": "true"
|
|
765
|
+
},
|
|
766
|
+
"offsetDistance": {
|
|
767
|
+
"type": "number",
|
|
768
|
+
"mutable": false,
|
|
769
|
+
"complexType": {
|
|
770
|
+
"original": "number",
|
|
771
|
+
"resolved": "number",
|
|
772
|
+
"references": {}
|
|
773
|
+
},
|
|
774
|
+
"required": false,
|
|
775
|
+
"optional": false,
|
|
776
|
+
"docs": {
|
|
777
|
+
"tags": [{
|
|
778
|
+
"name": "prop",
|
|
779
|
+
"text": "{number} offsetDistance - Distance in pixels between the popover and trigger element.\nDefault: 12"
|
|
780
|
+
}],
|
|
781
|
+
"text": ""
|
|
782
|
+
},
|
|
783
|
+
"getter": false,
|
|
784
|
+
"setter": false,
|
|
785
|
+
"reflect": false,
|
|
786
|
+
"attribute": "offset-distance",
|
|
787
|
+
"defaultValue": "12"
|
|
788
|
+
},
|
|
789
|
+
"closeOnOutsideClick": {
|
|
790
|
+
"type": "boolean",
|
|
503
791
|
"mutable": false,
|
|
504
792
|
"complexType": {
|
|
505
793
|
"original": "boolean",
|
|
@@ -510,53 +798,132 @@ export class PopConfirm {
|
|
|
510
798
|
"optional": false,
|
|
511
799
|
"docs": {
|
|
512
800
|
"tags": [{
|
|
513
|
-
"name": "
|
|
514
|
-
"text": "true"
|
|
801
|
+
"name": "prop",
|
|
802
|
+
"text": "{boolean} closeOnOutsideClick - Whether to close when clicking outside the popover.\nDefault: true"
|
|
515
803
|
}],
|
|
516
|
-
"text": "
|
|
804
|
+
"text": ""
|
|
517
805
|
},
|
|
518
806
|
"getter": false,
|
|
519
807
|
"setter": false,
|
|
520
808
|
"reflect": false,
|
|
809
|
+
"attribute": "close-on-outside-click",
|
|
521
810
|
"defaultValue": "true"
|
|
522
811
|
},
|
|
523
|
-
"
|
|
524
|
-
"type": "
|
|
525
|
-
"attribute": "target-id",
|
|
812
|
+
"closeOnEscape": {
|
|
813
|
+
"type": "boolean",
|
|
526
814
|
"mutable": false,
|
|
527
815
|
"complexType": {
|
|
528
|
-
"original": "
|
|
529
|
-
"resolved": "
|
|
816
|
+
"original": "boolean",
|
|
817
|
+
"resolved": "boolean",
|
|
530
818
|
"references": {}
|
|
531
819
|
},
|
|
532
820
|
"required": false,
|
|
533
821
|
"optional": false,
|
|
534
822
|
"docs": {
|
|
535
|
-
"tags": [
|
|
536
|
-
|
|
823
|
+
"tags": [{
|
|
824
|
+
"name": "prop",
|
|
825
|
+
"text": "{boolean} closeOnEscape - Whether to close when pressing the Escape key.\nDefault: true"
|
|
826
|
+
}],
|
|
827
|
+
"text": ""
|
|
537
828
|
},
|
|
538
829
|
"getter": false,
|
|
539
830
|
"setter": false,
|
|
540
|
-
"reflect": false
|
|
831
|
+
"reflect": false,
|
|
832
|
+
"attribute": "close-on-escape",
|
|
833
|
+
"defaultValue": "true"
|
|
541
834
|
}
|
|
542
835
|
};
|
|
543
836
|
}
|
|
544
837
|
static get states() {
|
|
545
838
|
return {
|
|
546
|
-
"isOpen": {}
|
|
547
|
-
"currentPlacement": {}
|
|
839
|
+
"isOpen": {}
|
|
548
840
|
};
|
|
549
841
|
}
|
|
550
842
|
static get events() {
|
|
551
843
|
return [{
|
|
844
|
+
"method": "bcmBeforeOpen",
|
|
845
|
+
"name": "bcmBeforeOpen",
|
|
846
|
+
"bubbles": false,
|
|
847
|
+
"cancelable": true,
|
|
848
|
+
"composed": false,
|
|
849
|
+
"docs": {
|
|
850
|
+
"tags": [{
|
|
851
|
+
"name": "event",
|
|
852
|
+
"text": "bcmBeforeOpen - Emitted before the popover opens.\nUseful for performing actions before the popover becomes visible."
|
|
853
|
+
}],
|
|
854
|
+
"text": ""
|
|
855
|
+
},
|
|
856
|
+
"complexType": {
|
|
857
|
+
"original": "void",
|
|
858
|
+
"resolved": "void",
|
|
859
|
+
"references": {}
|
|
860
|
+
}
|
|
861
|
+
}, {
|
|
862
|
+
"method": "bcmOpen",
|
|
863
|
+
"name": "bcmOpen",
|
|
864
|
+
"bubbles": false,
|
|
865
|
+
"cancelable": true,
|
|
866
|
+
"composed": false,
|
|
867
|
+
"docs": {
|
|
868
|
+
"tags": [{
|
|
869
|
+
"name": "event",
|
|
870
|
+
"text": "bcmOpen - Emitted when the popover is opened.\nUseful for tracking when the popover becomes visible."
|
|
871
|
+
}],
|
|
872
|
+
"text": ""
|
|
873
|
+
},
|
|
874
|
+
"complexType": {
|
|
875
|
+
"original": "void",
|
|
876
|
+
"resolved": "void",
|
|
877
|
+
"references": {}
|
|
878
|
+
}
|
|
879
|
+
}, {
|
|
880
|
+
"method": "bcmBeforeClose",
|
|
881
|
+
"name": "bcmBeforeClose",
|
|
882
|
+
"bubbles": false,
|
|
883
|
+
"cancelable": true,
|
|
884
|
+
"composed": false,
|
|
885
|
+
"docs": {
|
|
886
|
+
"tags": [{
|
|
887
|
+
"name": "event",
|
|
888
|
+
"text": "bcmBeforeClose - Emitted before the popover closes.\nUseful for performing cleanup actions before hiding."
|
|
889
|
+
}],
|
|
890
|
+
"text": ""
|
|
891
|
+
},
|
|
892
|
+
"complexType": {
|
|
893
|
+
"original": "void",
|
|
894
|
+
"resolved": "void",
|
|
895
|
+
"references": {}
|
|
896
|
+
}
|
|
897
|
+
}, {
|
|
898
|
+
"method": "bcmClose",
|
|
899
|
+
"name": "bcmClose",
|
|
900
|
+
"bubbles": false,
|
|
901
|
+
"cancelable": true,
|
|
902
|
+
"composed": false,
|
|
903
|
+
"docs": {
|
|
904
|
+
"tags": [{
|
|
905
|
+
"name": "event",
|
|
906
|
+
"text": "bcmClose - Emitted when the popover is closed.\nUseful for tracking when the popover is hidden."
|
|
907
|
+
}],
|
|
908
|
+
"text": ""
|
|
909
|
+
},
|
|
910
|
+
"complexType": {
|
|
911
|
+
"original": "void",
|
|
912
|
+
"resolved": "void",
|
|
913
|
+
"references": {}
|
|
914
|
+
}
|
|
915
|
+
}, {
|
|
552
916
|
"method": "bcmConfirm",
|
|
553
917
|
"name": "bcmConfirm",
|
|
554
918
|
"bubbles": false,
|
|
555
919
|
"cancelable": true,
|
|
556
920
|
"composed": false,
|
|
557
921
|
"docs": {
|
|
558
|
-
"tags": [
|
|
559
|
-
|
|
922
|
+
"tags": [{
|
|
923
|
+
"name": "event",
|
|
924
|
+
"text": "bcmConfirm - Emitted when the user clicks the confirm button.\nThis is where you should handle the confirmed action."
|
|
925
|
+
}],
|
|
926
|
+
"text": ""
|
|
560
927
|
},
|
|
561
928
|
"complexType": {
|
|
562
929
|
"original": "void",
|
|
@@ -570,8 +937,11 @@ export class PopConfirm {
|
|
|
570
937
|
"cancelable": true,
|
|
571
938
|
"composed": false,
|
|
572
939
|
"docs": {
|
|
573
|
-
"tags": [
|
|
574
|
-
|
|
940
|
+
"tags": [{
|
|
941
|
+
"name": "event",
|
|
942
|
+
"text": "bcmCancel - Emitted when the user clicks cancel, presses Escape, or clicks outside.\nUseful for tracking when the user dismisses the confirmation."
|
|
943
|
+
}],
|
|
944
|
+
"text": ""
|
|
575
945
|
},
|
|
576
946
|
"complexType": {
|
|
577
947
|
"original": "void",
|
|
@@ -595,10 +965,10 @@ export class PopConfirm {
|
|
|
595
965
|
"return": "Promise<void>"
|
|
596
966
|
},
|
|
597
967
|
"docs": {
|
|
598
|
-
"text": "Programmatically shows the
|
|
968
|
+
"text": "Programmatically shows the popconfirm.",
|
|
599
969
|
"tags": [{
|
|
600
970
|
"name": "returns",
|
|
601
|
-
"text": "
|
|
971
|
+
"text": "Promise that resolves when the show operation begins"
|
|
602
972
|
}]
|
|
603
973
|
}
|
|
604
974
|
},
|
|
@@ -615,15 +985,50 @@ export class PopConfirm {
|
|
|
615
985
|
"return": "Promise<void>"
|
|
616
986
|
},
|
|
617
987
|
"docs": {
|
|
618
|
-
"text": "Programmatically hides the
|
|
988
|
+
"text": "Programmatically hides the popconfirm.",
|
|
989
|
+
"tags": [{
|
|
990
|
+
"name": "returns",
|
|
991
|
+
"text": "Promise that resolves when the hide operation begins"
|
|
992
|
+
}]
|
|
993
|
+
}
|
|
994
|
+
},
|
|
995
|
+
"toggle": {
|
|
996
|
+
"complexType": {
|
|
997
|
+
"signature": "() => Promise<void>",
|
|
998
|
+
"parameters": [],
|
|
999
|
+
"references": {
|
|
1000
|
+
"Promise": {
|
|
1001
|
+
"location": "global",
|
|
1002
|
+
"id": "global::Promise"
|
|
1003
|
+
}
|
|
1004
|
+
},
|
|
1005
|
+
"return": "Promise<void>"
|
|
1006
|
+
},
|
|
1007
|
+
"docs": {
|
|
1008
|
+
"text": "Toggles the popconfirm visibility.\nIf open, it will close. If closed, it will open.",
|
|
619
1009
|
"tags": [{
|
|
620
1010
|
"name": "returns",
|
|
621
|
-
"text": "
|
|
1011
|
+
"text": "Promise that resolves when the toggle operation completes"
|
|
622
1012
|
}]
|
|
623
1013
|
}
|
|
624
1014
|
}
|
|
625
1015
|
};
|
|
626
1016
|
}
|
|
627
|
-
static get elementRef() { return "
|
|
1017
|
+
static get elementRef() { return "host"; }
|
|
1018
|
+
static get watchers() {
|
|
1019
|
+
return [{
|
|
1020
|
+
"propName": "isOpen",
|
|
1021
|
+
"methodName": "handleOpenChange"
|
|
1022
|
+
}];
|
|
1023
|
+
}
|
|
1024
|
+
static get listeners() {
|
|
1025
|
+
return [{
|
|
1026
|
+
"name": "keydown",
|
|
1027
|
+
"method": "handleKeyDown",
|
|
1028
|
+
"target": "document",
|
|
1029
|
+
"capture": false,
|
|
1030
|
+
"passive": false
|
|
1031
|
+
}];
|
|
1032
|
+
}
|
|
628
1033
|
}
|
|
629
1034
|
//# sourceMappingURL=pop-confirm.component.js.map
|