bromcom-ui-next 0.1.28 → 0.1.30
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/bromcom-ui/_commonjsHelpers-CvGrISen.js.map +1 -0
- package/dist/bromcom-ui/bcm-accordion.entry.esm.js.map +1 -1
- package/dist/bromcom-ui/bcm-alert.entry.esm.js.map +1 -1
- package/dist/bromcom-ui/bcm-button.bcm-drawer.bcm-linked.bcm-modal.bcm-pop-confirm.bcm-popover.bcm-tooltip.entry.esm.js.map +1 -0
- package/dist/bromcom-ui/bcm-checkbox.entry.esm.js.map +1 -1
- package/dist/bromcom-ui/bcm-chip.entry.esm.js.map +1 -0
- package/dist/bromcom-ui/bcm-divider.entry.esm.js.map +1 -1
- package/dist/bromcom-ui/bcm-dropdown.entry.esm.js.map +1 -1
- package/dist/bromcom-ui/bcm-input.entry.esm.js.map +1 -1
- package/dist/bromcom-ui/bcm-segmented-picker-option.entry.esm.js.map +1 -1
- package/dist/bromcom-ui/bcm-segmented-picker.entry.esm.js.map +1 -1
- package/dist/bromcom-ui/bcm-switch.entry.esm.js.map +1 -1
- package/dist/bromcom-ui/bcm-tabs.entry.esm.js.map +1 -1
- package/dist/bromcom-ui/bcm-text.entry.esm.js.map +1 -1
- package/dist/bromcom-ui/bromcom-ui.esm.js +1 -1
- package/dist/bromcom-ui/bromcom-ui.esm.js.map +1 -1
- package/dist/bromcom-ui/floating-ui.dom-ltNPqX34.js.map +1 -0
- package/dist/bromcom-ui/generate-id-Crb5QsB-.js.map +1 -0
- package/dist/bromcom-ui/index-40rmUZjU.js.map +1 -0
- package/dist/bromcom-ui/index-BCaJmHBB.js.map +1 -0
- package/dist/bromcom-ui/{p-8ace5a6a.entry.js → p-0c7c6896.entry.js} +2 -2
- package/dist/bromcom-ui/p-0c7c6896.entry.js.map +1 -0
- package/dist/bromcom-ui/p-11d0e649.entry.js +2 -0
- package/dist/bromcom-ui/p-11d0e649.entry.js.map +1 -0
- package/dist/bromcom-ui/{p-6b585adc.entry.js → p-12f38632.entry.js} +2 -2
- package/dist/bromcom-ui/p-12f38632.entry.js.map +1 -0
- package/dist/bromcom-ui/{p-5e0702d1.entry.js → p-13cbd1f5.entry.js} +2 -2
- package/dist/bromcom-ui/p-13cbd1f5.entry.js.map +1 -0
- package/dist/bromcom-ui/{p-2480e468.entry.js → p-1507908f.entry.js} +2 -2
- package/dist/bromcom-ui/p-1507908f.entry.js.map +1 -0
- package/dist/bromcom-ui/p-1ce9913f.entry.js +2 -0
- package/dist/bromcom-ui/p-1ce9913f.entry.js.map +1 -0
- package/dist/bromcom-ui/p-206d767e.entry.js +2 -0
- package/dist/bromcom-ui/p-206d767e.entry.js.map +1 -0
- package/dist/bromcom-ui/{p-ee5f877f.entry.js → p-3cf7a7f4.entry.js} +2 -2
- package/dist/bromcom-ui/p-3cf7a7f4.entry.js.map +1 -0
- package/dist/bromcom-ui/p-4505feba.entry.js +2 -0
- package/dist/bromcom-ui/p-4505feba.entry.js.map +1 -0
- package/dist/bromcom-ui/{p-089edfdc.entry.js → p-496014ca.entry.js} +2 -2
- package/dist/bromcom-ui/p-496014ca.entry.js.map +1 -0
- package/dist/bromcom-ui/{p-26d2db9e.entry.js → p-4a932cd3.entry.js} +2 -2
- package/dist/bromcom-ui/p-4a932cd3.entry.js.map +1 -0
- package/dist/bromcom-ui/p-4e554b8d.entry.js +2 -0
- package/dist/bromcom-ui/p-4e554b8d.entry.js.map +1 -0
- package/dist/bromcom-ui/{p-360bff8a.entry.js → p-57c4c4c4.entry.js} +2 -2
- package/dist/bromcom-ui/p-57c4c4c4.entry.js.map +1 -0
- package/dist/bromcom-ui/{p-211ca6e0.entry.js → p-61293ab2.entry.js} +2 -2
- package/dist/bromcom-ui/p-61293ab2.entry.js.map +1 -0
- package/dist/bromcom-ui/{p-83f64814.entry.js → p-61789456.entry.js} +2 -2
- package/dist/bromcom-ui/p-61789456.entry.js.map +1 -0
- package/dist/bromcom-ui/{p-488d6ef4.entry.js → p-65d0f188.entry.js} +2 -2
- package/dist/bromcom-ui/p-65d0f188.entry.js.map +1 -0
- package/dist/bromcom-ui/p-83f707dc.entry.js +2 -0
- package/dist/bromcom-ui/p-83f707dc.entry.js.map +1 -0
- package/dist/bromcom-ui/p-8ba02e7e.entry.js +2 -0
- package/dist/bromcom-ui/p-8ba02e7e.entry.js.map +1 -0
- package/dist/bromcom-ui/p-9e9bf32e.entry.js +2 -0
- package/dist/bromcom-ui/p-9e9bf32e.entry.js.map +1 -0
- package/dist/bromcom-ui/p-BfTCfPZ1.js.map +1 -1
- package/dist/bromcom-ui/p-CEcVC0yX.js.map +1 -1
- package/dist/bromcom-ui/p-CRwAh9Np.js +3 -0
- package/dist/bromcom-ui/p-CRwAh9Np.js.map +1 -0
- package/dist/bromcom-ui/p-IBjzkjef.js.map +1 -1
- package/dist/bromcom-ui/{p-a88f20e0.entry.js → p-c87a6acf.entry.js} +2 -2
- package/dist/bromcom-ui/p-c87a6acf.entry.js.map +1 -0
- package/dist/bromcom-ui/{p-c34f0a66.entry.js → p-e0e235a8.entry.js} +2 -2
- package/dist/bromcom-ui/p-e0e235a8.entry.js.map +1 -0
- package/dist/bromcom-ui/{p-0101b4f2.entry.js → p-e1ce8b55.entry.js} +2 -2
- package/dist/bromcom-ui/p-e1ce8b55.entry.js.map +1 -0
- package/dist/bromcom-ui/p-e4dddb0b.entry.js +2 -0
- package/dist/bromcom-ui/p-e4dddb0b.entry.js.map +1 -0
- package/dist/bromcom-ui/p-f9426924.entry.js +2 -0
- package/dist/bromcom-ui/p-f9426924.entry.js.map +1 -0
- package/dist/bromcom-ui/{p-c0e7f9d6.entry.js → p-faa0e62c.entry.js} +2 -2
- package/dist/bromcom-ui/p-faa0e62c.entry.js.map +1 -0
- package/dist/bromcom-ui/{p-bdaf5653.entry.js → p-fcb4399f.entry.js} +2 -2
- package/dist/bromcom-ui/p-fcb4399f.entry.js.map +1 -0
- package/dist/bromcom-ui/tv-SlGJ5EfR.js.map +1 -0
- package/dist/bromcom-ui/validation-messages-CUvT12BL.js.map +1 -0
- package/dist/cjs/bcm-accordion-group.cjs.entry.js +2 -4
- package/dist/cjs/bcm-accordion.cjs.entry.js +3 -5
- package/dist/cjs/bcm-accordion.entry.cjs.js.map +1 -1
- package/dist/cjs/bcm-alert.cjs.entry.js +3 -5
- package/dist/cjs/bcm-alert.entry.cjs.js.map +1 -1
- package/dist/cjs/bcm-avatar.cjs.entry.js +1 -3
- package/dist/cjs/bcm-badge.cjs.entry.js +3 -5
- package/dist/cjs/bcm-basic-badge.cjs.entry.js +3 -5
- package/dist/cjs/bcm-button-group.cjs.entry.js +3 -5
- package/dist/cjs/bcm-button.bcm-drawer.bcm-linked.bcm-modal.bcm-pop-confirm.bcm-popover.bcm-tooltip.entry.cjs.js.map +1 -0
- package/dist/cjs/bcm-button_7.cjs.entry.js +4131 -0
- package/dist/cjs/bcm-checkbox.cjs.entry.js +7 -5
- package/dist/cjs/bcm-checkbox.entry.cjs.js.map +1 -1
- package/dist/cjs/bcm-chip.cjs.entry.js +127 -0
- package/dist/cjs/bcm-chip.entry.cjs.js.map +1 -0
- package/dist/cjs/bcm-divider.cjs.entry.js +3 -5
- package/dist/cjs/bcm-divider.entry.cjs.js.map +1 -1
- package/dist/cjs/bcm-dropdown-item.cjs.entry.js +3 -5
- package/dist/cjs/bcm-dropdown.cjs.entry.js +3 -13
- package/dist/cjs/bcm-dropdown.entry.cjs.js.map +1 -1
- package/dist/cjs/bcm-input.cjs.entry.js +4 -6
- package/dist/cjs/bcm-input.entry.cjs.js.map +1 -1
- package/dist/cjs/bcm-radio-group.cjs.entry.js +3 -5
- package/dist/cjs/bcm-radio.cjs.entry.js +2 -4
- package/dist/cjs/bcm-segmented-picker-option.cjs.entry.js +3 -5
- package/dist/cjs/bcm-segmented-picker-option.entry.cjs.js.map +1 -1
- package/dist/cjs/bcm-segmented-picker.cjs.entry.js +3 -5
- package/dist/cjs/bcm-segmented-picker.entry.cjs.js.map +1 -1
- package/dist/cjs/bcm-shortcut.cjs.entry.js +2 -4
- package/dist/cjs/bcm-switch.cjs.entry.js +4 -6
- package/dist/cjs/bcm-switch.entry.cjs.js.map +1 -1
- package/dist/cjs/bcm-tabs-content.cjs.entry.js +2 -4
- package/dist/cjs/bcm-tabs-list.cjs.entry.js +2 -4
- package/dist/cjs/bcm-tabs-trigger.cjs.entry.js +2 -4
- package/dist/cjs/bcm-tabs.cjs.entry.js +2 -4
- package/dist/cjs/bcm-tabs.entry.cjs.js.map +1 -1
- package/dist/cjs/bcm-text.cjs.entry.js +3 -5
- package/dist/cjs/bcm-text.entry.cjs.js.map +1 -1
- package/dist/cjs/bcm-textarea.cjs.entry.js +4 -6
- package/dist/cjs/bromcom-ui.cjs.js +3 -5
- package/dist/cjs/bromcom-ui.cjs.js.map +1 -1
- package/dist/cjs/generate-id-CG_BkTJu.js.map +1 -1
- package/dist/cjs/index-Bp6Dd2i1.js.map +1 -1
- package/dist/cjs/{index-BtiU-G2W.js → index-CmYzUr-k.js} +61 -372
- package/dist/cjs/index-CmYzUr-k.js.map +1 -0
- package/dist/cjs/index.cjs.js +0 -2
- package/dist/cjs/loader.cjs.js +2 -4
- package/dist/cjs/tv-ngpIbGlG.js.map +1 -1
- package/dist/collection/collection-manifest.json +5 -5
- package/dist/collection/components/accordion/accordion.component.js +8 -8
- package/dist/collection/components/accordion/accordion.component.js.map +1 -1
- package/dist/collection/components/accordion-group/accordion-group.component.js +3 -3
- package/dist/collection/components/accordion-group/types.js.map +1 -1
- package/dist/collection/components/alert/alert.component.js +6 -6
- package/dist/collection/components/alert/alert.css +1 -1
- package/dist/collection/components/avatar/avatar.component.js +14 -14
- package/dist/collection/components/badge/badge.component.js +15 -15
- package/dist/collection/components/basic-badge/basic-badge.component.js +9 -9
- package/dist/collection/components/button/button.component.js +32 -32
- package/dist/collection/components/button/button.css +1 -1
- package/dist/collection/components/button-group/button-group.component.js +15 -15
- package/dist/collection/components/checkbox/checkbox.component.js +36 -12
- package/dist/collection/components/checkbox/checkbox.component.js.map +1 -1
- package/dist/collection/components/checkbox/checkbox.css +1 -1
- package/dist/collection/components/chip/chip.component.js +8 -8
- package/dist/collection/components/divider/divider.component.js +4 -4
- package/dist/collection/components/divider/divider.css +1 -1
- package/dist/collection/components/drawer/drawer.component.js +429 -132
- package/dist/collection/components/drawer/drawer.component.js.map +1 -1
- package/dist/collection/components/drawer/drawer.css +1 -1
- package/dist/collection/components/drawer/types.js.map +1 -1
- package/dist/collection/components/dropdown/dropdown.component.js +3 -12
- package/dist/collection/components/dropdown/dropdown.component.js.map +1 -1
- package/dist/collection/components/dropdown/dropdown.css +1 -1
- package/dist/collection/components/dropdown-item/dropdown-item.component.js +9 -10
- package/dist/collection/components/dropdown-item/dropdown-item.component.js.map +1 -1
- package/dist/collection/components/input/input.component.js +44 -45
- package/dist/collection/components/input/input.component.js.map +1 -1
- package/dist/collection/components/input/input.css +1 -1
- package/dist/collection/components/linked/linked.component.js +507 -333
- package/dist/collection/components/linked/linked.component.js.map +1 -1
- package/dist/collection/components/linked/linked.css +1 -1
- package/dist/collection/components/modal/modal.component.js +137 -34
- package/dist/collection/components/modal/modal.component.js.map +1 -1
- package/dist/collection/components/modal/modal.css +1 -1
- package/dist/collection/components/pop-confirm/pop-confirm.component.js +668 -294
- package/dist/collection/components/pop-confirm/pop-confirm.component.js.map +1 -1
- package/dist/collection/components/pop-confirm/pop-confirm.css +1 -1
- package/dist/collection/components/popover/popover.component.js +533 -148
- package/dist/collection/components/popover/popover.component.js.map +1 -1
- package/dist/collection/components/popover/popover.css +1 -1
- package/dist/collection/components/radio/radio.component.js +13 -13
- package/dist/collection/components/radio-group/radio-group.component.js +15 -15
- package/dist/collection/components/segmented-picker/segmented-picker-option.component.js +10 -10
- package/dist/collection/components/segmented-picker/segmented-picker-option.component.js.map +1 -1
- package/dist/collection/components/segmented-picker/segmented-picker.component.js +7 -7
- package/dist/collection/components/segmented-picker/segmented-picker.component.js.map +1 -1
- package/dist/collection/components/shortcut/shortcut.js +4 -4
- package/dist/collection/components/switch/switch.component.js +17 -17
- package/dist/collection/components/switch/switch.css +1 -1
- package/dist/collection/components/tabs/tabs-content.component.js +3 -3
- package/dist/collection/components/tabs/tabs-list.component.js +3 -3
- package/dist/collection/components/tabs/tabs-trigger.component.js +8 -8
- package/dist/collection/components/tabs/tabs.component.js +6 -6
- package/dist/collection/components/tabs/tabs.component.js.map +1 -1
- package/dist/collection/components/text/text.component.js +6 -6
- package/dist/collection/components/text/text.css +1 -1
- package/dist/collection/components/textarea/textarea.component.js +39 -40
- package/dist/collection/components/textarea/textarea.component.js.map +1 -1
- package/dist/collection/components/tooltip/tooltip.component.js +567 -192
- package/dist/collection/components/tooltip/tooltip.component.js.map +1 -1
- package/dist/collection/components/tooltip/tooltip.css +1 -1
- package/dist/components/bcm-accordion-group.js +5 -3
- package/dist/components/bcm-accordion-group.js.map +1 -1
- package/dist/components/bcm-accordion.js +6 -4
- package/dist/components/bcm-accordion.js.map +1 -1
- package/dist/components/bcm-alert.js +6 -4
- package/dist/components/bcm-alert.js.map +1 -1
- package/dist/components/bcm-avatar.js +5 -3
- package/dist/components/bcm-avatar.js.map +1 -1
- package/dist/components/bcm-badge.js +1 -1
- package/dist/components/bcm-basic-badge.js +6 -4
- package/dist/components/bcm-basic-badge.js.map +1 -1
- package/dist/components/bcm-button-group.js +6 -4
- package/dist/components/bcm-button-group.js.map +1 -1
- package/dist/components/bcm-button.js +1 -1
- package/dist/components/bcm-checkbox.js +11 -4
- package/dist/components/bcm-checkbox.js.map +1 -1
- package/dist/components/bcm-chip.js +5 -3
- package/dist/components/bcm-chip.js.map +1 -1
- package/dist/components/bcm-divider.js +6 -4
- package/dist/components/bcm-divider.js.map +1 -1
- package/dist/components/bcm-drawer.js +228 -115
- package/dist/components/bcm-drawer.js.map +1 -1
- package/dist/components/bcm-dropdown-item.js +7 -5
- package/dist/components/bcm-dropdown-item.js.map +1 -1
- package/dist/components/bcm-dropdown.js +8 -15
- package/dist/components/bcm-dropdown.js.map +1 -1
- package/dist/components/bcm-input.js +7 -5
- package/dist/components/bcm-input.js.map +1 -1
- package/dist/components/bcm-linked.js +1 -1
- package/dist/components/bcm-modal.js +56 -4
- package/dist/components/bcm-modal.js.map +1 -1
- package/dist/components/bcm-pop-confirm.js +278 -171
- package/dist/components/bcm-pop-confirm.js.map +1 -1
- package/dist/components/bcm-popover.js +355 -110
- package/dist/components/bcm-popover.js.map +1 -1
- package/dist/components/bcm-radio-group.js +6 -4
- package/dist/components/bcm-radio-group.js.map +1 -1
- package/dist/components/bcm-radio.js +5 -3
- package/dist/components/bcm-radio.js.map +1 -1
- package/dist/components/bcm-segmented-picker-option.js +6 -4
- package/dist/components/bcm-segmented-picker-option.js.map +1 -1
- package/dist/components/bcm-segmented-picker.js +6 -4
- package/dist/components/bcm-segmented-picker.js.map +1 -1
- package/dist/components/bcm-shortcut.js +5 -3
- package/dist/components/bcm-shortcut.js.map +1 -1
- package/dist/components/bcm-switch.js +7 -5
- package/dist/components/bcm-switch.js.map +1 -1
- package/dist/components/bcm-tabs-content.js +5 -3
- package/dist/components/bcm-tabs-content.js.map +1 -1
- package/dist/components/bcm-tabs-list.js +5 -3
- package/dist/components/bcm-tabs-list.js.map +1 -1
- package/dist/components/bcm-tabs-trigger.js +5 -3
- package/dist/components/bcm-tabs-trigger.js.map +1 -1
- package/dist/components/bcm-tabs.js +5 -3
- package/dist/components/bcm-tabs.js.map +1 -1
- package/dist/components/bcm-text.js +6 -4
- package/dist/components/bcm-text.js.map +1 -1
- package/dist/components/bcm-textarea.js +7 -5
- package/dist/components/bcm-textarea.js.map +1 -1
- package/dist/components/bcm-tooltip.js +364 -127
- package/dist/components/bcm-tooltip.js.map +1 -1
- package/dist/components/index.js +41 -366
- package/dist/components/index.js.map +1 -1
- package/dist/components/p-6VLsKZvR.js +469 -0
- package/dist/components/p-6VLsKZvR.js.map +1 -0
- package/dist/components/p-BfTCfPZ1.js.map +1 -1
- package/dist/components/p-CEcVC0yX.js.map +1 -1
- package/dist/components/{p-CQF7wlXf.js → p-CaemikSK.js} +8 -6
- package/dist/components/p-CaemikSK.js.map +1 -0
- package/dist/components/{p-DGlecSBr.js → p-CsIBm0J5.js} +9 -7
- package/dist/components/p-CsIBm0J5.js.map +1 -0
- package/dist/components/{p-CzcTU1ty.js → p-DBDSgIvP.js} +40 -23
- package/dist/components/p-DBDSgIvP.js.map +1 -0
- package/dist/components/p-IBjzkjef.js.map +1 -1
- package/dist/esm/bcm-accordion-group.entry.js +2 -4
- package/dist/esm/bcm-accordion.entry.js +3 -5
- package/dist/esm/bcm-accordion.entry.js.map +1 -1
- package/dist/esm/bcm-alert.entry.js +3 -5
- package/dist/esm/bcm-alert.entry.js.map +1 -1
- package/dist/esm/bcm-avatar.entry.js +1 -3
- package/dist/esm/bcm-badge.entry.js +3 -5
- package/dist/esm/bcm-basic-badge.entry.js +3 -5
- package/dist/esm/bcm-button-group.entry.js +3 -5
- package/dist/esm/bcm-button.bcm-drawer.bcm-linked.bcm-modal.bcm-pop-confirm.bcm-popover.bcm-tooltip.entry.js.map +1 -0
- package/dist/esm/bcm-button_7.entry.js +4123 -0
- package/dist/esm/bcm-checkbox.entry.js +7 -5
- package/dist/esm/bcm-checkbox.entry.js.map +1 -1
- package/dist/esm/bcm-chip.entry.js +125 -0
- package/dist/esm/bcm-chip.entry.js.map +1 -0
- package/dist/esm/bcm-divider.entry.js +3 -5
- package/dist/esm/bcm-divider.entry.js.map +1 -1
- package/dist/esm/bcm-dropdown-item.entry.js +3 -5
- package/dist/esm/bcm-dropdown.entry.js +3 -13
- package/dist/esm/bcm-dropdown.entry.js.map +1 -1
- package/dist/esm/bcm-input.entry.js +4 -6
- package/dist/esm/bcm-input.entry.js.map +1 -1
- package/dist/esm/bcm-radio-group.entry.js +3 -5
- package/dist/esm/bcm-radio.entry.js +2 -4
- package/dist/esm/bcm-segmented-picker-option.entry.js +3 -5
- package/dist/esm/bcm-segmented-picker-option.entry.js.map +1 -1
- package/dist/esm/bcm-segmented-picker.entry.js +3 -5
- package/dist/esm/bcm-segmented-picker.entry.js.map +1 -1
- package/dist/esm/bcm-shortcut.entry.js +2 -4
- package/dist/esm/bcm-switch.entry.js +4 -6
- package/dist/esm/bcm-switch.entry.js.map +1 -1
- package/dist/esm/bcm-tabs-content.entry.js +2 -4
- package/dist/esm/bcm-tabs-list.entry.js +2 -4
- package/dist/esm/bcm-tabs-trigger.entry.js +2 -4
- package/dist/esm/bcm-tabs.entry.js +2 -4
- package/dist/esm/bcm-tabs.entry.js.map +1 -1
- package/dist/esm/bcm-text.entry.js +3 -5
- package/dist/esm/bcm-text.entry.js.map +1 -1
- package/dist/esm/bcm-textarea.entry.js +4 -6
- package/dist/esm/bromcom-ui.js +4 -6
- package/dist/esm/bromcom-ui.js.map +1 -1
- package/dist/esm/generate-id-IBjzkjef.js.map +1 -1
- package/dist/esm/index-BfTCfPZ1.js.map +1 -1
- package/dist/esm/{index-BuuGCw0z.js → index-CRwAh9Np.js} +62 -372
- package/dist/esm/index-CRwAh9Np.js.map +1 -0
- package/dist/esm/index.js +0 -2
- package/dist/esm/loader.js +3 -5
- package/dist/esm/tv-CEcVC0yX.js.map +1 -1
- package/dist/types/components/accordion-group/types.d.ts +2 -2
- package/dist/types/components/checkbox/checkbox.component.d.ts +4 -0
- package/dist/types/components/drawer/drawer.component.d.ts +143 -3
- package/dist/types/components/drawer/types.d.ts +1 -1
- package/dist/types/components/dropdown/dropdown.component.d.ts +0 -3
- package/dist/types/components/linked/linked.component.d.ts +152 -36
- package/dist/types/components/modal/modal.component.d.ts +121 -0
- package/dist/types/components/pop-confirm/pop-confirm.component.d.ts +263 -143
- package/dist/types/components/popover/popover.component.d.ts +94 -39
- package/dist/types/components/tooltip/tooltip.component.d.ts +147 -56
- package/dist/types/components.d.ts +1579 -359
- package/dist/types/stencil-public-runtime.d.ts +50 -3
- package/package.json +1 -1
- package/dist/bromcom-ui/bcm-button.bcm-chip.bcm-drawer.bcm-modal.entry.esm.js.map +0 -1
- package/dist/bromcom-ui/bcm-linked.entry.esm.js.map +0 -1
- package/dist/bromcom-ui/bcm-pop-confirm.entry.esm.js.map +0 -1
- package/dist/bromcom-ui/bcm-popover.entry.esm.js.map +0 -1
- package/dist/bromcom-ui/bcm-tooltip.entry.esm.js.map +0 -1
- package/dist/bromcom-ui/p-0101b4f2.entry.js.map +0 -1
- package/dist/bromcom-ui/p-089edfdc.entry.js.map +0 -1
- package/dist/bromcom-ui/p-08bc93c5.entry.js +0 -2
- package/dist/bromcom-ui/p-08bc93c5.entry.js.map +0 -1
- package/dist/bromcom-ui/p-09be61c3.entry.js +0 -2
- package/dist/bromcom-ui/p-09be61c3.entry.js.map +0 -1
- package/dist/bromcom-ui/p-211ca6e0.entry.js.map +0 -1
- package/dist/bromcom-ui/p-2480e468.entry.js.map +0 -1
- package/dist/bromcom-ui/p-26d2db9e.entry.js.map +0 -1
- package/dist/bromcom-ui/p-2d0a6472.entry.js +0 -2
- package/dist/bromcom-ui/p-2d0a6472.entry.js.map +0 -1
- package/dist/bromcom-ui/p-360bff8a.entry.js.map +0 -1
- package/dist/bromcom-ui/p-488d6ef4.entry.js.map +0 -1
- package/dist/bromcom-ui/p-5e0702d1.entry.js.map +0 -1
- package/dist/bromcom-ui/p-6169490c.entry.js +0 -2
- package/dist/bromcom-ui/p-6169490c.entry.js.map +0 -1
- package/dist/bromcom-ui/p-6b585adc.entry.js.map +0 -1
- package/dist/bromcom-ui/p-6d7d73d5.entry.js +0 -2
- package/dist/bromcom-ui/p-6d7d73d5.entry.js.map +0 -1
- package/dist/bromcom-ui/p-7234af90.entry.js +0 -2
- package/dist/bromcom-ui/p-7234af90.entry.js.map +0 -1
- package/dist/bromcom-ui/p-83f64814.entry.js.map +0 -1
- package/dist/bromcom-ui/p-84677827.entry.js +0 -2
- package/dist/bromcom-ui/p-84677827.entry.js.map +0 -1
- package/dist/bromcom-ui/p-8ace5a6a.entry.js.map +0 -1
- package/dist/bromcom-ui/p-8d74249a.entry.js +0 -2
- package/dist/bromcom-ui/p-8d74249a.entry.js.map +0 -1
- package/dist/bromcom-ui/p-BuuGCw0z.js +0 -3
- package/dist/bromcom-ui/p-BuuGCw0z.js.map +0 -1
- package/dist/bromcom-ui/p-DxMLMJ3r.js +0 -2
- package/dist/bromcom-ui/p-DxMLMJ3r.js.map +0 -1
- package/dist/bromcom-ui/p-a88f20e0.entry.js.map +0 -1
- package/dist/bromcom-ui/p-bad299f2.entry.js +0 -2
- package/dist/bromcom-ui/p-bad299f2.entry.js.map +0 -1
- package/dist/bromcom-ui/p-bdaf5653.entry.js.map +0 -1
- package/dist/bromcom-ui/p-c0e7f9d6.entry.js.map +0 -1
- package/dist/bromcom-ui/p-c34f0a66.entry.js.map +0 -1
- package/dist/bromcom-ui/p-c9cf3f14.entry.js +0 -2
- package/dist/bromcom-ui/p-c9cf3f14.entry.js.map +0 -1
- package/dist/bromcom-ui/p-d7cea19f.entry.js +0 -2
- package/dist/bromcom-ui/p-d7cea19f.entry.js.map +0 -1
- package/dist/bromcom-ui/p-e5e0ac07.entry.js +0 -2
- package/dist/bromcom-ui/p-e5e0ac07.entry.js.map +0 -1
- package/dist/bromcom-ui/p-ee5f877f.entry.js.map +0 -1
- package/dist/bromcom-ui/p-fbccbffc.entry.js +0 -2
- package/dist/bromcom-ui/p-fbccbffc.entry.js.map +0 -1
- package/dist/cjs/bcm-accordion-group.cjs.entry.js.map +0 -1
- package/dist/cjs/bcm-accordion.cjs.entry.js.map +0 -1
- package/dist/cjs/bcm-alert.cjs.entry.js.map +0 -1
- package/dist/cjs/bcm-avatar.cjs.entry.js.map +0 -1
- package/dist/cjs/bcm-badge.cjs.entry.js.map +0 -1
- package/dist/cjs/bcm-basic-badge.cjs.entry.js.map +0 -1
- package/dist/cjs/bcm-button-group.cjs.entry.js.map +0 -1
- package/dist/cjs/bcm-button.bcm-chip.bcm-drawer.bcm-modal.entry.cjs.js.map +0 -1
- package/dist/cjs/bcm-button_4.cjs.entry.js +0 -915
- package/dist/cjs/bcm-button_4.cjs.entry.js.map +0 -1
- package/dist/cjs/bcm-checkbox.cjs.entry.js.map +0 -1
- package/dist/cjs/bcm-divider.cjs.entry.js.map +0 -1
- package/dist/cjs/bcm-dropdown-item.cjs.entry.js.map +0 -1
- package/dist/cjs/bcm-dropdown.cjs.entry.js.map +0 -1
- package/dist/cjs/bcm-input.cjs.entry.js.map +0 -1
- package/dist/cjs/bcm-linked.cjs.entry.js +0 -343
- package/dist/cjs/bcm-linked.cjs.entry.js.map +0 -1
- package/dist/cjs/bcm-linked.entry.cjs.js.map +0 -1
- package/dist/cjs/bcm-pop-confirm.cjs.entry.js +0 -250
- package/dist/cjs/bcm-pop-confirm.cjs.entry.js.map +0 -1
- package/dist/cjs/bcm-pop-confirm.entry.cjs.js.map +0 -1
- package/dist/cjs/bcm-popover.cjs.entry.js +0 -189
- package/dist/cjs/bcm-popover.cjs.entry.js.map +0 -1
- package/dist/cjs/bcm-popover.entry.cjs.js.map +0 -1
- package/dist/cjs/bcm-radio-group.cjs.entry.js.map +0 -1
- package/dist/cjs/bcm-radio.cjs.entry.js.map +0 -1
- package/dist/cjs/bcm-segmented-picker-option.cjs.entry.js.map +0 -1
- package/dist/cjs/bcm-segmented-picker.cjs.entry.js.map +0 -1
- package/dist/cjs/bcm-shortcut.cjs.entry.js.map +0 -1
- package/dist/cjs/bcm-switch.cjs.entry.js.map +0 -1
- package/dist/cjs/bcm-tabs-content.cjs.entry.js.map +0 -1
- package/dist/cjs/bcm-tabs-list.cjs.entry.js.map +0 -1
- package/dist/cjs/bcm-tabs-trigger.cjs.entry.js.map +0 -1
- package/dist/cjs/bcm-tabs.cjs.entry.js.map +0 -1
- package/dist/cjs/bcm-text.cjs.entry.js.map +0 -1
- package/dist/cjs/bcm-textarea.cjs.entry.js.map +0 -1
- package/dist/cjs/bcm-tooltip.cjs.entry.js +0 -180
- package/dist/cjs/bcm-tooltip.cjs.entry.js.map +0 -1
- package/dist/cjs/bcm-tooltip.entry.cjs.js.map +0 -1
- package/dist/cjs/floating-ui.dom-DyKmFgkP.js +0 -1605
- package/dist/cjs/floating-ui.dom-DyKmFgkP.js.map +0 -1
- package/dist/cjs/index-BtiU-G2W.js.map +0 -1
- package/dist/components/p-BHwftRkk.js +0 -379
- package/dist/components/p-BHwftRkk.js.map +0 -1
- package/dist/components/p-CQF7wlXf.js.map +0 -1
- package/dist/components/p-CzcTU1ty.js.map +0 -1
- package/dist/components/p-DGlecSBr.js.map +0 -1
- package/dist/esm/bcm-button.bcm-chip.bcm-drawer.bcm-modal.entry.js.map +0 -1
- package/dist/esm/bcm-button_4.entry.js +0 -910
- package/dist/esm/bcm-button_4.entry.js.map +0 -1
- package/dist/esm/bcm-linked.entry.js +0 -341
- package/dist/esm/bcm-linked.entry.js.map +0 -1
- package/dist/esm/bcm-pop-confirm.entry.js +0 -248
- package/dist/esm/bcm-pop-confirm.entry.js.map +0 -1
- package/dist/esm/bcm-popover.entry.js +0 -187
- package/dist/esm/bcm-popover.entry.js.map +0 -1
- package/dist/esm/bcm-tooltip.entry.js +0 -178
- package/dist/esm/bcm-tooltip.entry.js.map +0 -1
- package/dist/esm/floating-ui.dom-DxMLMJ3r.js +0 -1598
- package/dist/esm/floating-ui.dom-DxMLMJ3r.js.map +0 -1
- package/dist/esm/index-BuuGCw0z.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"popover.component.js","sourceRoot":"","sources":["../../../src/components/popover/popover.component.tsx"],"names":[],"mappings":"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","sourcesContent":["import { arrow, computePosition, flip, offset, shift, autoUpdate } from '@floating-ui/dom';\nimport { Component, ComponentInterface, Element, Prop, Event, EventEmitter, h, Method } from '@stencil/core';\nimport { tv } from '@utils/tv';\n\n/**\n * @component BcmPopover\n * @description A flexible popover component that displays contextual information or content relative to a target element.\n * Supports different sizes, trigger types (click or hover), placements (top, right, bottom, left), and can be controlled via slots or props.\n *\n * @example Basic Click Popover\n * <bcm-popover trigger=\"click\" size=\"medium\" placement=\"top\">\n * <bcm-button>Click Me</bcm-button>\n * <span slot=\"header\">Header</span>\n * <span slot=\"content\">This is a simple popover content.</span>\n * </bcm-popover>\n *\n * @example Hover Popover with Props\n * <bcm-popover trigger=\"hover\" hover-delay=\"200\" size=\"large\" placement=\"right\" header-text=\"Prop Header\" message=\"This is a hover popover with props.\">\n * <bcm-button>Hover Me</bcm-button>\n * </bcm-popover>\n *\n * @example Programmatic Control\n * <bcm-popover id=\"my-popover\" trigger=\"click\">\n * <bcm-button>Toggle Me</bcm-button>\n * <span slot=\"content\">Controlled popover</span>\n * </bcm-popover>\n * <script>\n * const popover = document.querySelector('#my-popover');\n * popover.openPopup(); // Opens the popover\n * popover.closePopup(); // Closes the popover\n * </script>\n *\n * @slot - Default slot for the target element that triggers the popover\n * @slot header - Slot for custom header content\n * @slot content - Slot for custom popover content\n *\n * @csspart popover - The root popover container element, stylable for the entire popover\n * @csspart header - The header section of the popover, stylable for the title area\n * @csspart content - The content section of the popover, stylable for the main content area\n * @csspart arrow - The arrow element of the popover, stylable for the positioning arrow\n */\n\n@Component({\n tag: 'bcm-popover',\n styleUrl: 'popover.css',\n shadow: true,\n})\nexport class Popover implements ComponentInterface {\n @Element() el: HTMLElement;\n private targetElement: HTMLElement;\n private popoverElement: HTMLElement;\n private arrowElement: HTMLElement;\n private hoverTimeout: any;\n private cleanupAutoUpdate: () => void;\n /**\n * @prop {('small' | 'medium' | 'large')} size - Defines the size of the popover.\n * Controls the text size and padding of the popover content.\n * Default: 'medium'\n */\n @Prop()\n size: 'small' | 'medium' | 'large' = 'medium';\n /**\n * @prop {('top' | 'right' | 'bottom' | 'left')} placement - Defines the position of the popover relative to the target element.\n * Determines where the popover appears around the trigger element.\n * Default: 'top'\n */\n @Prop()\n placement: 'top' | 'right' | 'bottom' | 'left' = 'top';\n /**\n * @prop {('click' | 'hover')} trigger - Defines the interaction type to show/hide the popover.\n * 'click' toggles on click, 'hover' shows on mouse enter and hides on mouse leave.\n * Default: 'click'\n */\n @Prop()\n trigger: 'click' | 'hover' = 'click';\n /**\n * @prop {number} hoverDelay - Delay in milliseconds before showing or hiding the popover when trigger is 'hover'.\n * Adds a delay to prevent flickering on quick mouse movements.\n * Default: 150\n */\n @Prop()\n hoverDelay: number = 150;\n /**\n * @prop {boolean} open - Indicates whether the popover is currently open.\n * Can be set programmatically or toggled by user interaction. Mutable.\n * Default: false\n */\n @Prop({ mutable: true })\n open: boolean = false;\n /**\n * @prop {string} headerText - Custom text for the popover header.\n * Used as fallback content if the 'header' slot is not provided.\n */\n @Prop()\n headerText: string;\n /**\n * @prop {string} message - Custom text for the popover content.\n * Used as fallback content if the 'content' slot is not provided.\n */\n @Prop()\n message: string;\n /**\n * @event {EventEmitter<void>} bcmPopoverOpen - Emitted when the popover is opened.\n * Useful for tracking when the popover becomes visible.\n */\n @Event({ composed: false, bubbles: false, cancelable: true })\n bcmPopoverOpen: EventEmitter<void>;\n\n /**\n * @event {EventEmitter<void>} bcmPopoverClose - Emitted when the popover is closed.\n * Useful for tracking when the popover is hidden.\n */\n @Event({ composed: false, bubbles: false, cancelable: true })\n bcmPopoverClose: EventEmitter<void>;\n\n connectedCallback() {\n document.addEventListener('click', this.handleOutsideClick);\n }\n\n disconnectedCallback() {\n document.removeEventListener('click', this.handleOutsideClick);\n if (this.targetElement) {\n this.targetElement.removeEventListener('click', this.togglePopover);\n this.targetElement.removeEventListener('mouseenter', this.showPopover);\n this.targetElement.removeEventListener('mouseleave', this.hidePopover);\n }\n this.cleanupAutoUpdate?.();\n this.cleanupAutoUpdate = null;\n clearTimeout(this.hoverTimeout);\n }\n\n private togglePopover = () => {\n this.open = !this.open;\n if (this.open) {\n this.bcmPopoverOpen.emit();\n } else {\n this.bcmPopoverClose.emit();\n }\n this.updatePosition();\n };\n\n private showPopover = () => {\n clearTimeout(this.hoverTimeout);\n this.hoverTimeout = setTimeout(() => {\n this.open = true;\n this.bcmPopoverOpen.emit();\n this.updatePosition();\n }, this.hoverDelay);\n };\n\n private hidePopover = () => {\n clearTimeout(this.hoverTimeout);\n this.hoverTimeout = setTimeout(() => {\n this.open = false;\n this.bcmPopoverClose.emit();\n }, this.hoverDelay);\n };\n\n /**\n * @method {Promise<void>} openPopup - Programmatically opens the popover.\n * Triggers the showPopover logic to display the popover with the specified hover delay (if applicable).\n * @returns {Promise<void>} A promise that resolves when the popover is opened.\n */\n @Method()\n async openPopup() {\n this.showPopover();\n }\n\n /**\n * @method {Promise<void>} closePopup - Programmatically closes the popover.\n * Triggers the hidePopover logic to hide the popover with the specified hover delay (if applicable).\n * @returns {Promise<void>} A promise that resolves when the popover is closed.\n */\n @Method()\n async closePopup() {\n this.hidePopover();\n }\n\n private handleSlotChange = () => {\n const slot = this.el.shadowRoot.querySelector('slot');\n const elements = slot.assignedElements();\n this.targetElement = elements[0] as HTMLElement;\n\n if (this.targetElement) {\n this.targetElement.removeEventListener('click', this.togglePopover);\n this.targetElement.removeEventListener('mouseenter', this.showPopover);\n this.targetElement.removeEventListener('mouseleave', this.hidePopover);\n\n if (this.trigger === 'click') {\n this.targetElement.addEventListener('click', this.togglePopover);\n this.targetElement.setAttribute('aria-expanded', this.open.toString());\n }\n\n if (this.trigger === 'hover') {\n this.targetElement.addEventListener('mouseenter', this.showPopover);\n this.targetElement.addEventListener('mouseleave', this.hidePopover);\n }\n\n if (this.popoverElement && !this.cleanupAutoUpdate) {\n this.cleanupAutoUpdate = autoUpdate(this.targetElement, this.popoverElement, () => this.updatePosition());\n }\n }\n };\n\n private handleOutsideClick = (event: Event) => {\n if (!this.el.contains(event.target as Node) && this.open) {\n this.open = false;\n }\n };\n\n private updatePosition = async () => {\n if (!this.targetElement || !this.popoverElement || !this.arrowElement) return;\n\n const { x, y, placement, middlewareData } = await computePosition(this.targetElement, this.popoverElement, {\n placement: this.placement,\n middleware: [offset(12), flip({ fallbackPlacements: ['top', 'left', 'bottom', 'right'] }), shift({ padding: 8 }), arrow({ element: this.arrowElement })],\n });\n\n Object.assign(this.popoverElement.style, {\n left: `${x}px`,\n top: `${y}px`,\n });\n\n const { x: arrowX, y: arrowY } = middlewareData.arrow || { x: 0, y: 0 };\n const basePlacement = placement.split('-')[0] as 'top' | 'right' | 'bottom' | 'left';\n const staticSide = {\n top: 'bottom',\n right: 'left',\n bottom: 'top',\n left: 'right',\n }[basePlacement];\n\n Object.assign(this.arrowElement.style, {\n left: arrowX != null ? `${arrowX}px` : '',\n top: arrowY != null ? `${arrowY}px` : '',\n [staticSide]: '-4px',\n });\n };\n\n private popoverClass = tv({\n slots: {\n box: 'bcm-ui-element bcm-popover absolute flex flex-col bg-[--popover-bg] rounded-md shadow-3 p-3 gap-1.5 min-w-max z-[9999]',\n header: 'font-semibold text-color',\n content: 'font-normal text-color',\n arrow: 'absolute w-4 h-4 bg-[--popover-bg] transform rotate-45',\n },\n variants: {\n size: {\n small: { box: 'text-size-3' },\n medium: { box: 'text-size-4' },\n large: { box: 'text-size-5' },\n },\n isOpen: {\n true: { box: 'flex' },\n false: { box: 'hidden' },\n },\n },\n defaultVariants: {\n size: 'medium',\n isOpen: false,\n },\n });\n\n render() {\n const { box, header, content, arrow } = this.popoverClass({\n isOpen: this.open,\n size: this.size,\n });\n\n return (\n <div class=\"relative\">\n <slot onSlotchange={() => this.handleSlotChange()}></slot>\n <div part=\"popover\" class={box()} role=\"dialog\" aria-hidden={!this.open ? 'true' : 'false'} ref={el => (this.popoverElement = el)}>\n <div class={arrow()} ref={el => (this.arrowElement = el)} part=\"arrow\"></div>\n <div class={header()} part=\"header\">\n <slot name=\"header\">{this.headerText}</slot>\n </div>\n <div class={content()} part=\"content\">\n <slot name=\"content\">{this.message}</slot>\n </div>\n </div>\n </div>\n );\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"popover.component.js","sourceRoot":"","sources":["../../../src/components/popover/popover.component.tsx"],"names":[],"mappings":"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","sourcesContent":["import { arrow, computePosition, flip, offset, shift, autoUpdate } from '@floating-ui/dom';\nimport { Component, ComponentInterface, Element, Prop, Event, EventEmitter, h, Method, State, Watch, Listen } from '@stencil/core';\nimport { tv } from '@utils/tv';\n\n/**\n * @component BcmPopover\n * @description A flexible popover component that displays contextual information or content relative to a target element.\n * Built on the native Popover API for top-layer rendering and Floating UI for intelligent positioning.\n * Supports different sizes, trigger types (click, hover, focus), placements, and comprehensive event system.\n *\n * @example Basic Click Popover\n * <bcm-popover trigger=\"click\" size=\"medium\" placement=\"top\">\n * <bcm-button>Click Me</bcm-button>\n * <span slot=\"header\">Header</span>\n * <span slot=\"content\">This is a simple popover content.</span>\n * </bcm-popover>\n *\n * @example Hover Popover with Delays\n * <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.\">\n * <bcm-button>Hover Me</bcm-button>\n * </bcm-popover>\n *\n * @example Programmatic Control\n * <bcm-popover id=\"my-popover\" trigger=\"click\">\n * <bcm-button>Toggle Me</bcm-button>\n * <span slot=\"content\">Controlled popover</span>\n * </bcm-popover>\n * <script>\n * const popover = document.querySelector('#my-popover');\n * popover.show(); // Opens the popover\n * popover.hide(); // Closes the popover\n * popover.toggle(); // Toggles the popover\n * </script>\n *\n * @slot - Default slot for the target element that triggers the popover\n * @slot header - Slot for custom header content\n * @slot content - Slot for custom popover content\n *\n * @csspart popover - The root popover container element, stylable for the entire popover\n * @csspart header - The header section of the popover, stylable for the title area\n * @csspart content - The content section of the popover, stylable for the main content area\n * @csspart arrow - The arrow element of the popover, stylable for the positioning arrow\n */\n\n@Component({\n tag: 'bcm-popover',\n styleUrl: 'popover.css',\n shadow: true,\n})\nexport class Popover implements ComponentInterface {\n @Element() host: HTMLElement;\n\n // Element references\n private triggerRef?: HTMLElement;\n private popoverRef?: HTMLElement;\n private arrowRef?: HTMLElement;\n\n // Cleanup references\n private cleanupAutoUpdate?: () => void;\n private showTimeout?: number;\n private hideTimeout?: number;\n\n // Unique ID for ARIA\n private popoverId = `popover-${Math.random().toString(36).substring(2, 11)}`;\n /**\n * @prop {('small' | 'medium' | 'large')} size - Defines the size of the popover.\n * Controls the text size and padding of the popover content.\n * Default: 'medium'\n */\n @Prop() size: 'small' | 'medium' | 'large' = 'medium';\n\n /**\n * @prop {('top' | 'right' | 'bottom' | 'left')} placement - Defines the position of the popover relative to the target element.\n * Determines where the popover appears around the trigger element.\n * Default: 'top'\n */\n @Prop() placement: 'top' | 'right' | 'bottom' | 'left' = 'top';\n\n /**\n * @prop {('click' | 'hover' | 'hover focus')} trigger - Defines the interaction type to show/hide the popover.\n * 'click' toggles on click, 'hover' shows on mouse enter and hides on mouse leave, 'hover focus' combines both.\n * Default: 'click'\n */\n @Prop() trigger: 'click' | 'hover' | 'hover focus' = 'click';\n\n /**\n * @prop {number} showDelay - Delay in milliseconds before showing the popover.\n * Useful to prevent popovers from appearing on quick mouse movements.\n * Default: 0\n */\n @Prop({ attribute: 'show-delay' }) showDelay: number = 0;\n\n /**\n * @prop {number} hideDelay - Delay in milliseconds before hiding the popover.\n * Provides a grace period for mouse movements.\n * Default: 0\n */\n @Prop({ attribute: 'hide-delay' }) hideDelay: number = 0;\n\n /**\n * @prop {boolean} open - Controls the open state of the popover.\n * Can be set programmatically or toggled by user interaction.\n * Default: false\n */\n @Prop({ mutable: true, reflect: true }) open: boolean = false;\n\n /**\n * @prop {boolean} closeOnOutsideClick - Whether to close the popover when clicking outside.\n * Default: true\n */\n @Prop() closeOnOutsideClick: boolean = true;\n\n /**\n * @prop {boolean} closeOnEscape - Whether to close the popover when pressing Escape key.\n * Default: true\n */\n @Prop() closeOnEscape: boolean = true;\n\n /**\n * @prop {string} headerText - Custom text for the popover header.\n * Used as fallback content if the 'header' slot is not provided.\n */\n @Prop() headerText?: string;\n\n /**\n * @prop {string} message - Custom text for the popover content.\n * Used as fallback content if the 'content' slot is not provided.\n */\n @Prop() message?: string;\n\n /**\n * @prop {boolean} arrow - Whether to show an arrow pointing to the trigger element.\n * Default: true\n */\n @Prop() arrow: boolean = true;\n\n // Internal state\n @State() isOpen: boolean = false;\n\n /**\n * @event bcmBeforeOpen - Emitted before the popover opens.\n * Useful for performing actions before the popover becomes visible.\n */\n @Event({ composed: false, bubbles: false }) bcmBeforeOpen: EventEmitter<void>;\n\n /**\n * @event bcmOpen - Emitted when the popover is opened.\n * Useful for tracking when the popover becomes visible.\n */\n @Event({ composed: false, bubbles: false }) bcmOpen: EventEmitter<void>;\n\n /**\n * @event bcmBeforeClose - Emitted before the popover closes.\n * Useful for performing actions before the popover is hidden.\n */\n @Event({ composed: false, bubbles: false }) bcmBeforeClose: EventEmitter<void>;\n\n /**\n * @event bcmClose - Emitted when the popover is closed.\n * Useful for tracking when the popover is hidden.\n */\n @Event({ composed: false, bubbles: false }) bcmClose: EventEmitter<void>;\n\n // Watch for open prop changes\n @Watch('open')\n handleOpenChange(newValue: boolean) {\n if (newValue) {\n this.showInternal();\n } else {\n this.hideInternal();\n }\n }\n\n // Internal show logic\n private showInternal() {\n if (!this.popoverRef) return;\n\n this.isOpen = true;\n this.popoverRef.showPopover();\n this.startAutoUpdate();\n this.updatePosition();\n this.triggerRef?.setAttribute('aria-expanded', 'true');\n this.bcmOpen.emit();\n\n if (this.closeOnOutsideClick) {\n this.addOutsideClickListener();\n }\n }\n\n // Internal hide logic\n private hideInternal() {\n if (!this.popoverRef) return;\n\n this.isOpen = false;\n this.popoverRef.hidePopover();\n this.stopAutoUpdate();\n this.triggerRef?.setAttribute('aria-expanded', 'false');\n this.bcmClose.emit();\n this.removeOutsideClickListener();\n }\n\n /**\n * Programmatically shows the popover.\n * Respects the showDelay prop.\n */\n @Method()\n async show(): Promise<void> {\n if (this.open) return;\n\n this.clearTimeouts();\n\n if (this.showDelay > 0) {\n this.showTimeout = window.setTimeout(() => {\n this.bcmBeforeOpen.emit();\n this.open = true;\n }, this.showDelay);\n } else {\n this.bcmBeforeOpen.emit();\n this.open = true;\n }\n }\n\n /**\n * Programmatically hides the popover.\n * Respects the hideDelay prop.\n */\n @Method()\n async hide(): Promise<void> {\n if (!this.open) return;\n\n this.clearTimeouts();\n\n if (this.hideDelay > 0) {\n this.hideTimeout = window.setTimeout(() => {\n this.bcmBeforeClose.emit();\n this.open = false;\n }, this.hideDelay);\n } else {\n this.bcmBeforeClose.emit();\n this.open = false;\n }\n }\n\n /**\n * Toggles the popover visibility.\n */\n @Method()\n async toggle(): Promise<void> {\n if (this.open) {\n await this.hide();\n } else {\n await this.show();\n }\n }\n\n private clearTimeouts() {\n if (this.showTimeout) {\n clearTimeout(this.showTimeout);\n this.showTimeout = undefined;\n }\n if (this.hideTimeout) {\n clearTimeout(this.hideTimeout);\n this.hideTimeout = undefined;\n }\n }\n\n private startAutoUpdate() {\n if (!this.triggerRef || !this.popoverRef) return;\n\n this.cleanupAutoUpdate = autoUpdate(this.triggerRef, this.popoverRef, () => this.updatePosition(), {\n ancestorScroll: true,\n ancestorResize: true,\n elementResize: true,\n layoutShift: true,\n });\n }\n\n private stopAutoUpdate() {\n this.cleanupAutoUpdate?.();\n this.cleanupAutoUpdate = undefined;\n }\n\n private handleSlotChange = () => {\n const slot = this.host.shadowRoot?.querySelector('slot:not([name])') as HTMLSlotElement;\n if (!slot) return;\n\n const elements = slot.assignedElements();\n if (elements.length > 0) {\n // Remove old listeners\n this.removeTriggerListeners();\n\n this.triggerRef = elements[0] as HTMLElement;\n this.setupTriggerListeners();\n this.setupAriaAttributes();\n }\n };\n\n private setupTriggerListeners() {\n if (!this.triggerRef) return;\n\n if (this.trigger === 'hover' || this.trigger === 'hover focus') {\n this.triggerRef.addEventListener('mouseenter', this.handleMouseEnter);\n this.triggerRef.addEventListener('mouseleave', this.handleMouseLeave);\n this.popoverRef?.addEventListener('mouseenter', this.handlePopoverMouseEnter);\n this.popoverRef?.addEventListener('mouseleave', this.handlePopoverMouseLeave);\n }\n\n if (this.trigger === 'click') {\n this.triggerRef.addEventListener('click', this.handleTriggerClick);\n }\n\n if (this.trigger === 'hover focus') {\n this.triggerRef.addEventListener('focus', this.handleFocus);\n this.triggerRef.addEventListener('blur', this.handleBlur);\n }\n }\n\n private removeTriggerListeners() {\n if (!this.triggerRef) return;\n\n this.triggerRef.removeEventListener('mouseenter', this.handleMouseEnter);\n this.triggerRef.removeEventListener('mouseleave', this.handleMouseLeave);\n this.triggerRef.removeEventListener('click', this.handleTriggerClick);\n this.triggerRef.removeEventListener('focus', this.handleFocus);\n this.triggerRef.removeEventListener('blur', this.handleBlur);\n\n this.popoverRef?.removeEventListener('mouseenter', this.handlePopoverMouseEnter);\n this.popoverRef?.removeEventListener('mouseleave', this.handlePopoverMouseLeave);\n }\n\n private handleMouseEnter = () => {\n this.show();\n };\n\n private handleMouseLeave = () => {\n this.hide();\n };\n\n private handlePopoverMouseEnter = () => {\n this.clearTimeouts();\n };\n\n private handlePopoverMouseLeave = () => {\n this.hide();\n };\n\n private handleTriggerClick = (event: MouseEvent) => {\n event.stopPropagation();\n this.toggle();\n };\n\n private handleFocus = () => {\n this.show();\n };\n\n private handleBlur = () => {\n this.hide();\n };\n\n private setupAriaAttributes() {\n if (!this.triggerRef) return;\n\n this.triggerRef.setAttribute('aria-describedby', this.popoverId);\n this.triggerRef.setAttribute('aria-expanded', String(this.open));\n this.triggerRef.setAttribute('aria-haspopup', 'dialog');\n }\n\n @Listen('keydown', { target: 'document' })\n handleKeyDown(event: KeyboardEvent) {\n if (!this.closeOnEscape || !this.open) return;\n\n if (event.key === 'Escape') {\n // Topmost popover check\n const openPopovers = Array.from(document.querySelectorAll('bcm-popover[open]'));\n const topPopover = openPopovers[openPopovers.length - 1];\n\n if (topPopover === this.host) {\n event.preventDefault();\n this.hide();\n this.triggerRef?.focus();\n }\n }\n }\n\n private handleOutsideClick = (event: Event) => {\n if (!this.closeOnOutsideClick || !this.open) return;\n\n const target = event.target as Node;\n const path = event.composedPath();\n\n const isInsideHost = this.host.contains(target) || path.includes(this.host);\n const isInsidePopover = this.popoverRef?.contains(target) || (this.popoverRef && path.includes(this.popoverRef));\n\n if (!isInsideHost && !isInsidePopover) {\n this.hide();\n }\n };\n\n private addOutsideClickListener() {\n // Add on next tick to avoid catching current click\n setTimeout(() => {\n document.addEventListener('click', this.handleOutsideClick, true);\n }, 0);\n }\n\n private removeOutsideClickListener() {\n document.removeEventListener('click', this.handleOutsideClick, true);\n }\n\n private handleToggle = (event: ToggleEvent) => {\n // Sync internal state with native popover state\n if (event.newState === 'open' && !this.isOpen) {\n this.isOpen = true;\n } else if (event.newState === 'closed' && this.isOpen) {\n this.isOpen = false;\n }\n };\n\n componentDidLoad() {\n // Toggle event listener (Popover API)\n this.popoverRef?.addEventListener('toggle', this.handleToggle as EventListener);\n\n // Initial state sync\n if (this.open) {\n this.showInternal();\n }\n }\n\n disconnectedCallback() {\n this.clearTimeouts();\n this.stopAutoUpdate();\n this.removeTriggerListeners();\n this.removeOutsideClickListener();\n\n if (this.popoverRef) {\n this.popoverRef.removeEventListener('toggle', this.handleToggle as EventListener);\n\n if (this.isOpen) {\n try {\n this.popoverRef.hidePopover();\n } catch (e) {\n // Element might already be removed\n }\n }\n }\n }\n\n private updatePosition = async () => {\n if (!this.triggerRef || !this.popoverRef) return;\n\n // Check if trigger element is still in viewport\n const triggerRect = this.triggerRef.getBoundingClientRect();\n const isInViewport =\n triggerRect.bottom > 0 && triggerRect.top < window.innerHeight && triggerRect.right > 0 && triggerRect.left < window.innerWidth;\n\n // Hide popover if trigger is out of viewport\n if (!isInViewport && this.open) {\n this.hide();\n return;\n }\n\n // Virtual element for shadow DOM boundary\n const virtualElement = {\n getBoundingClientRect: () => this.triggerRef!.getBoundingClientRect(),\n };\n\n const middleware = [offset(12), flip({ fallbackPlacements: ['top', 'left', 'bottom', 'right'] }), shift({ padding: 8 })];\n\n if (this.arrow && this.arrowRef) {\n middleware.push(arrow({ element: this.arrowRef }));\n }\n\n const { x, y, placement, middlewareData } = await computePosition(virtualElement, this.popoverRef, {\n placement: this.placement,\n strategy: 'fixed',\n middleware,\n });\n\n Object.assign(this.popoverRef.style, {\n left: `${x}px`,\n top: `${y}px`,\n });\n\n // Update placement attribute for CSS\n this.popoverRef.setAttribute('data-placement', placement);\n\n // Arrow positioning\n if (this.arrow && this.arrowRef && middlewareData.arrow) {\n const { x: arrowX, y: arrowY } = middlewareData.arrow;\n const basePlacement = placement.split('-')[0] as 'top' | 'right' | 'bottom' | 'left';\n const staticSide = {\n top: 'bottom',\n right: 'left',\n bottom: 'top',\n left: 'right',\n }[basePlacement];\n\n Object.assign(this.arrowRef.style, {\n left: arrowX != null ? `${arrowX}px` : '',\n top: arrowY != null ? `${arrowY}px` : '',\n right: '',\n bottom: '',\n [staticSide]: '-4px',\n });\n }\n };\n\n private popoverClass = tv({\n slots: {\n box: [\n 'bcm-ui-element',\n 'bcm-popover',\n 'fixed',\n 'm-0',\n 'flex',\n 'flex-col',\n 'bg-[--popover-bg]',\n 'rounded-md',\n 'shadow-3',\n 'p-3',\n 'gap-1.5',\n 'min-w-max',\n ],\n header: 'font-semibold text-color',\n content: 'font-normal text-color',\n arrow: 'absolute w-3 h-3 bg-[--popover-bg] transform rotate-45',\n },\n variants: {\n size: {\n small: { box: 'text-size-3' },\n medium: { box: 'text-size-4' },\n large: { box: 'text-size-5' },\n },\n },\n defaultVariants: {\n size: 'medium',\n },\n });\n\n render() {\n const { box, header, content, arrow: arrowClass } = this.popoverClass({\n size: this.size,\n });\n\n return (\n <div class=\"inline-block\">\n <slot onSlotchange={this.handleSlotChange}></slot>\n\n <div\n ref={el => (this.popoverRef = el as HTMLElement)}\n id={this.popoverId}\n part=\"popover\"\n class={box()}\n // @ts-ignore - popover is a valid HTML attribute\n popover=\"manual\"\n role=\"dialog\"\n aria-labelledby={this.headerText ? `${this.popoverId}-header` : undefined}\n >\n {this.arrow && <div ref={el => (this.arrowRef = el as HTMLElement)} part=\"arrow\" class={arrowClass()} />}\n\n <div id={`${this.popoverId}-header`} part=\"header\" class={header()}>\n <slot name=\"header\">{this.headerText}</slot>\n </div>\n\n <div part=\"content\" class={content()}>\n <slot name=\"content\">{this.message}</slot>\n </div>\n </div>\n </div>\n );\n }\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
:host{--popover-bg:var(--bcm-ui-color-background-base-default);display:inline-block}.bcm-ui-element{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Inter,sans-serif}.static{position:static}.absolute{position:absolute}.relative{position:relative}.
|
|
1
|
+
.visible{visibility:visible}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.border{border-width:1px}.transition{transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1)}:host{--popover-bg:var(--bcm-ui-color-background-base-default);display:inline-block}[popover]{border:none;overflow:visible;padding:0}[popover]:not(:popover-open){display:none}[popover]:popover-open{opacity:1;transform:scale(1);transition:opacity .15s ease-out,transform .15s ease-out}@starting-style{[popover]:popover-open{opacity:0;transform:scale(.95)}}[data-placement^=top] [part=arrow]{border-left:none;border-top:none}[data-placement^=bottom] [part=arrow]{border-bottom:none;border-right:none}[data-placement^=left] [part=arrow]{border-bottom:none;border-left:none}[data-placement^=right] [part=arrow]{border-right:none;border-top:none}.bcm-ui-element{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Inter,sans-serif}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.m-0{margin:0}.inline-block{display:inline-block}.flex{display:flex}.h-3{height:.75rem}.w-3{width:.75rem}.min-w-max{min-width:max-content}.rotate-45{--tw-rotate:45deg}.rotate-45,.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.flex-col{flex-direction:column}.gap-1\.5{gap:.375rem}.rounded-md{border-radius:var(--bcm-ui-border-radius-md,6px)}.bg-\[--popover-bg\]{background-color:var(--popover-bg)}.p-3{padding:.75rem}.text-size-3{font-size:var(--bcm-ui-font-size-3,12px);line-height:var(--bcm-ui-line-height-3,16px)}.text-size-4{font-size:var(--bcm-ui-font-size-4,14px);line-height:var(--bcm-ui-line-height-4,20px)}.text-size-5{font-size:var(--bcm-ui-font-size-5,16px);line-height:var(--bcm-ui-line-height-5,24px)}.font-normal{font-weight:400}.font-semibold{font-weight:600}.shadow{--tw-shadow:var(--bcm-ui-box-shadow-default);--tw-shadow-colored:var(--bcm-ui-box-shadow-default)}.shadow,.shadow-3{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-3{--tw-shadow:var(--bcm-ui-box-shadow-3);--tw-shadow-colored:var(--bcm-ui-box-shadow-3)}.blur{--tw-blur:blur(8px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}
|
|
@@ -190,7 +190,7 @@ export class BcmRadio {
|
|
|
190
190
|
readonly: this.readonly,
|
|
191
191
|
labelPosition: this.labelPosition,
|
|
192
192
|
});
|
|
193
|
-
return (h("label", { key: '
|
|
193
|
+
return (h("label", { key: '08ec0c4fc58c644ea64f5a555a28d85e3a461d20', class: container(), style: this.getRadioStyle() }, h("input", { key: 'e9e151e8bd0d85636a571e3df0da740da9b882ba', "aria-label": this.label, role: "radio", "aria-checked": this.checked.toString(), type: "radio", name: this.name, value: this.value, disabled: this.disabled, readOnly: this.readonly, checked: this.checked, class: "appearance-none sr-only", onClick: () => this.handleClick(), onFocus: e => this.bcmFocus.emit(e), onBlur: e => this.bcmBlur.emit(e) }), h("div", { key: '59822922a1e3c29f3e91b18c06d52d0a21ac981d', class: dotContainer() }, h("div", { key: '0bf638ed15145e2359d54fb1fb013dbcf19cdbb6', class: dot() })), h("span", { key: '86b95c35426abd26f800f4509f3a996f58865263', class: labelClass() }, h("slot", { key: 'e55448e4009dfaee59d056237e67e5a548013db0' }, this.label))));
|
|
194
194
|
}
|
|
195
195
|
static get is() { return "bcm-radio"; }
|
|
196
196
|
static get encapsulation() { return "shadow"; }
|
|
@@ -208,7 +208,6 @@ export class BcmRadio {
|
|
|
208
208
|
return {
|
|
209
209
|
"label": {
|
|
210
210
|
"type": "string",
|
|
211
|
-
"attribute": "label",
|
|
212
211
|
"mutable": false,
|
|
213
212
|
"complexType": {
|
|
214
213
|
"original": "string",
|
|
@@ -229,11 +228,11 @@ export class BcmRadio {
|
|
|
229
228
|
},
|
|
230
229
|
"getter": false,
|
|
231
230
|
"setter": false,
|
|
232
|
-
"reflect": false
|
|
231
|
+
"reflect": false,
|
|
232
|
+
"attribute": "label"
|
|
233
233
|
},
|
|
234
234
|
"name": {
|
|
235
235
|
"type": "string",
|
|
236
|
-
"attribute": "name",
|
|
237
236
|
"mutable": false,
|
|
238
237
|
"complexType": {
|
|
239
238
|
"original": "string",
|
|
@@ -254,11 +253,11 @@ export class BcmRadio {
|
|
|
254
253
|
},
|
|
255
254
|
"getter": false,
|
|
256
255
|
"setter": false,
|
|
257
|
-
"reflect": false
|
|
256
|
+
"reflect": false,
|
|
257
|
+
"attribute": "name"
|
|
258
258
|
},
|
|
259
259
|
"value": {
|
|
260
260
|
"type": "string",
|
|
261
|
-
"attribute": "value",
|
|
262
261
|
"mutable": false,
|
|
263
262
|
"complexType": {
|
|
264
263
|
"original": "string",
|
|
@@ -279,11 +278,11 @@ export class BcmRadio {
|
|
|
279
278
|
},
|
|
280
279
|
"getter": false,
|
|
281
280
|
"setter": false,
|
|
282
|
-
"reflect": false
|
|
281
|
+
"reflect": false,
|
|
282
|
+
"attribute": "value"
|
|
283
283
|
},
|
|
284
284
|
"checked": {
|
|
285
285
|
"type": "boolean",
|
|
286
|
-
"attribute": "checked",
|
|
287
286
|
"mutable": false,
|
|
288
287
|
"complexType": {
|
|
289
288
|
"original": "boolean",
|
|
@@ -305,11 +304,11 @@ export class BcmRadio {
|
|
|
305
304
|
"getter": false,
|
|
306
305
|
"setter": false,
|
|
307
306
|
"reflect": true,
|
|
307
|
+
"attribute": "checked",
|
|
308
308
|
"defaultValue": "false"
|
|
309
309
|
},
|
|
310
310
|
"size": {
|
|
311
311
|
"type": "string",
|
|
312
|
-
"attribute": "size",
|
|
313
312
|
"mutable": false,
|
|
314
313
|
"complexType": {
|
|
315
314
|
"original": "'small' | 'medium' | 'large'",
|
|
@@ -331,11 +330,11 @@ export class BcmRadio {
|
|
|
331
330
|
"getter": false,
|
|
332
331
|
"setter": false,
|
|
333
332
|
"reflect": false,
|
|
333
|
+
"attribute": "size",
|
|
334
334
|
"defaultValue": "'medium'"
|
|
335
335
|
},
|
|
336
336
|
"disabled": {
|
|
337
337
|
"type": "boolean",
|
|
338
|
-
"attribute": "disabled",
|
|
339
338
|
"mutable": false,
|
|
340
339
|
"complexType": {
|
|
341
340
|
"original": "boolean",
|
|
@@ -357,11 +356,11 @@ export class BcmRadio {
|
|
|
357
356
|
"getter": false,
|
|
358
357
|
"setter": false,
|
|
359
358
|
"reflect": false,
|
|
359
|
+
"attribute": "disabled",
|
|
360
360
|
"defaultValue": "false"
|
|
361
361
|
},
|
|
362
362
|
"readonly": {
|
|
363
363
|
"type": "boolean",
|
|
364
|
-
"attribute": "readonly",
|
|
365
364
|
"mutable": false,
|
|
366
365
|
"complexType": {
|
|
367
366
|
"original": "boolean",
|
|
@@ -383,11 +382,11 @@ export class BcmRadio {
|
|
|
383
382
|
"getter": false,
|
|
384
383
|
"setter": false,
|
|
385
384
|
"reflect": false,
|
|
385
|
+
"attribute": "readonly",
|
|
386
386
|
"defaultValue": "false"
|
|
387
387
|
},
|
|
388
388
|
"labelPosition": {
|
|
389
389
|
"type": "string",
|
|
390
|
-
"attribute": "label-position",
|
|
391
390
|
"mutable": false,
|
|
392
391
|
"complexType": {
|
|
393
392
|
"original": "'right' | 'left'",
|
|
@@ -409,11 +408,11 @@ export class BcmRadio {
|
|
|
409
408
|
"getter": false,
|
|
410
409
|
"setter": false,
|
|
411
410
|
"reflect": false,
|
|
411
|
+
"attribute": "label-position",
|
|
412
412
|
"defaultValue": "'right'"
|
|
413
413
|
},
|
|
414
414
|
"error": {
|
|
415
415
|
"type": "boolean",
|
|
416
|
-
"attribute": "error",
|
|
417
416
|
"mutable": false,
|
|
418
417
|
"complexType": {
|
|
419
418
|
"original": "boolean",
|
|
@@ -435,6 +434,7 @@ export class BcmRadio {
|
|
|
435
434
|
"getter": false,
|
|
436
435
|
"setter": false,
|
|
437
436
|
"reflect": false,
|
|
437
|
+
"attribute": "error",
|
|
438
438
|
"defaultValue": "false"
|
|
439
439
|
}
|
|
440
440
|
};
|
|
@@ -178,14 +178,14 @@ export class BcmRadioGroup {
|
|
|
178
178
|
size: this.size,
|
|
179
179
|
direction: this.direction,
|
|
180
180
|
});
|
|
181
|
-
return (h("div", { key: '
|
|
181
|
+
return (h("div", { key: 'e66470b52aa2bbc8fbf7f60fc2fb692668898821', class: host() }, this.label && (h("label", { key: '59e800f0dbbe17f141449bd51e088dfb297981ec', class: classNames('input-label font-medium', {
|
|
182
182
|
'text-color-label': !this.disabled,
|
|
183
183
|
'text-color-disabled': this.disabled,
|
|
184
184
|
}, {
|
|
185
185
|
'text-size-3': this.size === 'small',
|
|
186
186
|
'text-size-4': this.size === 'medium',
|
|
187
187
|
'text-size-5': this.size === 'large',
|
|
188
|
-
}) }, h("slot", { key: '
|
|
188
|
+
}) }, h("slot", { key: 'eb51a2a3a26c69dc0d2b94b9d889507fa40fe60a', name: "label" }, this.label), this.required && h("span", { key: 'aee0b50eb6a89526f660e64d2a8a97e7e752aa7b' }, "*"))), h("div", { key: 'a6c9802df856b445b0d161dbea9ccec292420fdf', class: container() }, h("slot", { key: 'a8511a8598a8bbfefe29be2ce359f82dac4a3284', onSlotchange: this.handleSlotChange })), this.captionText && (h("div", { key: 'b6d7730c3ae07c8595a819dacf8f119058b256f0', class: classNames('input-caption-text font-regular mt-1', {
|
|
189
189
|
'text-[--bcm-ui-color-text-caption]': !this.disabled,
|
|
190
190
|
'text-[--bcm-ui-color-text-error]': !this.disabled && this.error,
|
|
191
191
|
'text-[--bcm-ui-color-text-disabled]': this.disabled,
|
|
@@ -211,7 +211,6 @@ export class BcmRadioGroup {
|
|
|
211
211
|
return {
|
|
212
212
|
"name": {
|
|
213
213
|
"type": "string",
|
|
214
|
-
"attribute": "name",
|
|
215
214
|
"mutable": false,
|
|
216
215
|
"complexType": {
|
|
217
216
|
"original": "string",
|
|
@@ -232,11 +231,11 @@ export class BcmRadioGroup {
|
|
|
232
231
|
},
|
|
233
232
|
"getter": false,
|
|
234
233
|
"setter": false,
|
|
235
|
-
"reflect": false
|
|
234
|
+
"reflect": false,
|
|
235
|
+
"attribute": "name"
|
|
236
236
|
},
|
|
237
237
|
"value": {
|
|
238
238
|
"type": "string",
|
|
239
|
-
"attribute": "value",
|
|
240
239
|
"mutable": false,
|
|
241
240
|
"complexType": {
|
|
242
241
|
"original": "string",
|
|
@@ -257,11 +256,11 @@ export class BcmRadioGroup {
|
|
|
257
256
|
},
|
|
258
257
|
"getter": false,
|
|
259
258
|
"setter": false,
|
|
260
|
-
"reflect": false
|
|
259
|
+
"reflect": false,
|
|
260
|
+
"attribute": "value"
|
|
261
261
|
},
|
|
262
262
|
"disabled": {
|
|
263
263
|
"type": "boolean",
|
|
264
|
-
"attribute": "disabled",
|
|
265
264
|
"mutable": false,
|
|
266
265
|
"complexType": {
|
|
267
266
|
"original": "boolean",
|
|
@@ -283,11 +282,11 @@ export class BcmRadioGroup {
|
|
|
283
282
|
"getter": false,
|
|
284
283
|
"setter": false,
|
|
285
284
|
"reflect": false,
|
|
285
|
+
"attribute": "disabled",
|
|
286
286
|
"defaultValue": "false"
|
|
287
287
|
},
|
|
288
288
|
"required": {
|
|
289
289
|
"type": "boolean",
|
|
290
|
-
"attribute": "required",
|
|
291
290
|
"mutable": false,
|
|
292
291
|
"complexType": {
|
|
293
292
|
"original": "boolean",
|
|
@@ -309,11 +308,11 @@ export class BcmRadioGroup {
|
|
|
309
308
|
"getter": false,
|
|
310
309
|
"setter": false,
|
|
311
310
|
"reflect": false,
|
|
311
|
+
"attribute": "required",
|
|
312
312
|
"defaultValue": "false"
|
|
313
313
|
},
|
|
314
314
|
"error": {
|
|
315
315
|
"type": "boolean",
|
|
316
|
-
"attribute": "error",
|
|
317
316
|
"mutable": false,
|
|
318
317
|
"complexType": {
|
|
319
318
|
"original": "boolean",
|
|
@@ -335,11 +334,11 @@ export class BcmRadioGroup {
|
|
|
335
334
|
"getter": false,
|
|
336
335
|
"setter": false,
|
|
337
336
|
"reflect": false,
|
|
337
|
+
"attribute": "error",
|
|
338
338
|
"defaultValue": "false"
|
|
339
339
|
},
|
|
340
340
|
"label": {
|
|
341
341
|
"type": "string",
|
|
342
|
-
"attribute": "label",
|
|
343
342
|
"mutable": false,
|
|
344
343
|
"complexType": {
|
|
345
344
|
"original": "string",
|
|
@@ -360,11 +359,11 @@ export class BcmRadioGroup {
|
|
|
360
359
|
},
|
|
361
360
|
"getter": false,
|
|
362
361
|
"setter": false,
|
|
363
|
-
"reflect": false
|
|
362
|
+
"reflect": false,
|
|
363
|
+
"attribute": "label"
|
|
364
364
|
},
|
|
365
365
|
"size": {
|
|
366
366
|
"type": "string",
|
|
367
|
-
"attribute": "size",
|
|
368
367
|
"mutable": false,
|
|
369
368
|
"complexType": {
|
|
370
369
|
"original": "'small' | 'medium' | 'large'",
|
|
@@ -386,11 +385,11 @@ export class BcmRadioGroup {
|
|
|
386
385
|
"getter": false,
|
|
387
386
|
"setter": false,
|
|
388
387
|
"reflect": false,
|
|
388
|
+
"attribute": "size",
|
|
389
389
|
"defaultValue": "'medium'"
|
|
390
390
|
},
|
|
391
391
|
"direction": {
|
|
392
392
|
"type": "string",
|
|
393
|
-
"attribute": "direction",
|
|
394
393
|
"mutable": false,
|
|
395
394
|
"complexType": {
|
|
396
395
|
"original": "'horizontal' | 'vertical'",
|
|
@@ -412,11 +411,11 @@ export class BcmRadioGroup {
|
|
|
412
411
|
"getter": false,
|
|
413
412
|
"setter": false,
|
|
414
413
|
"reflect": false,
|
|
414
|
+
"attribute": "direction",
|
|
415
415
|
"defaultValue": "'vertical'"
|
|
416
416
|
},
|
|
417
417
|
"captionText": {
|
|
418
418
|
"type": "string",
|
|
419
|
-
"attribute": "caption-text",
|
|
420
419
|
"mutable": false,
|
|
421
420
|
"complexType": {
|
|
422
421
|
"original": "string",
|
|
@@ -437,7 +436,8 @@ export class BcmRadioGroup {
|
|
|
437
436
|
},
|
|
438
437
|
"getter": false,
|
|
439
438
|
"setter": false,
|
|
440
|
-
"reflect": false
|
|
439
|
+
"reflect": false,
|
|
440
|
+
"attribute": "caption-text"
|
|
441
441
|
}
|
|
442
442
|
};
|
|
443
443
|
}
|
|
@@ -84,11 +84,11 @@ export class BcmSegmentedPickerOption {
|
|
|
84
84
|
render() {
|
|
85
85
|
const size = this.size || this.getSizeFromParent();
|
|
86
86
|
const disabled = this.isDisabled();
|
|
87
|
-
return (h(Host, { key: '
|
|
87
|
+
return (h(Host, { key: '506fe6742a69ac3431b34a85cde71f7833e9f950' }, h("button", { key: '0097b3c811b31c53db4f210039197d955b5d59c2', class: this.optionClass({
|
|
88
88
|
size,
|
|
89
89
|
selected: this.selected,
|
|
90
90
|
disabled,
|
|
91
|
-
}), onClick: this.handleClick, disabled: disabled, type: "button" }, h("slot", { key: '
|
|
91
|
+
}), onClick: this.handleClick, disabled: disabled, type: "button" }, h("slot", { key: '65c247db90e8ee53572c62bf2c4ddf88bac407cf' }, this.label))));
|
|
92
92
|
}
|
|
93
93
|
static get is() { return "bcm-segmented-picker-option"; }
|
|
94
94
|
static get encapsulation() { return "shadow"; }
|
|
@@ -106,7 +106,6 @@ export class BcmSegmentedPickerOption {
|
|
|
106
106
|
return {
|
|
107
107
|
"value": {
|
|
108
108
|
"type": "string",
|
|
109
|
-
"attribute": "value",
|
|
110
109
|
"mutable": false,
|
|
111
110
|
"complexType": {
|
|
112
111
|
"original": "string",
|
|
@@ -121,11 +120,11 @@ export class BcmSegmentedPickerOption {
|
|
|
121
120
|
},
|
|
122
121
|
"getter": false,
|
|
123
122
|
"setter": false,
|
|
124
|
-
"reflect": false
|
|
123
|
+
"reflect": false,
|
|
124
|
+
"attribute": "value"
|
|
125
125
|
},
|
|
126
126
|
"label": {
|
|
127
127
|
"type": "string",
|
|
128
|
-
"attribute": "label",
|
|
129
128
|
"mutable": false,
|
|
130
129
|
"complexType": {
|
|
131
130
|
"original": "string",
|
|
@@ -140,11 +139,11 @@ export class BcmSegmentedPickerOption {
|
|
|
140
139
|
},
|
|
141
140
|
"getter": false,
|
|
142
141
|
"setter": false,
|
|
143
|
-
"reflect": false
|
|
142
|
+
"reflect": false,
|
|
143
|
+
"attribute": "label"
|
|
144
144
|
},
|
|
145
145
|
"size": {
|
|
146
146
|
"type": "string",
|
|
147
|
-
"attribute": "size",
|
|
148
147
|
"mutable": false,
|
|
149
148
|
"complexType": {
|
|
150
149
|
"original": "SegmentedPickerSize",
|
|
@@ -165,11 +164,11 @@ export class BcmSegmentedPickerOption {
|
|
|
165
164
|
},
|
|
166
165
|
"getter": false,
|
|
167
166
|
"setter": false,
|
|
168
|
-
"reflect": false
|
|
167
|
+
"reflect": false,
|
|
168
|
+
"attribute": "size"
|
|
169
169
|
},
|
|
170
170
|
"selected": {
|
|
171
171
|
"type": "boolean",
|
|
172
|
-
"attribute": "selected",
|
|
173
172
|
"mutable": true,
|
|
174
173
|
"complexType": {
|
|
175
174
|
"original": "boolean",
|
|
@@ -185,11 +184,11 @@ export class BcmSegmentedPickerOption {
|
|
|
185
184
|
"getter": false,
|
|
186
185
|
"setter": false,
|
|
187
186
|
"reflect": false,
|
|
187
|
+
"attribute": "selected",
|
|
188
188
|
"defaultValue": "false"
|
|
189
189
|
},
|
|
190
190
|
"disabled": {
|
|
191
191
|
"type": "boolean",
|
|
192
|
-
"attribute": "disabled",
|
|
193
192
|
"mutable": false,
|
|
194
193
|
"complexType": {
|
|
195
194
|
"original": "boolean",
|
|
@@ -205,6 +204,7 @@ export class BcmSegmentedPickerOption {
|
|
|
205
204
|
"getter": false,
|
|
206
205
|
"setter": false,
|
|
207
206
|
"reflect": false,
|
|
207
|
+
"attribute": "disabled",
|
|
208
208
|
"defaultValue": "false"
|
|
209
209
|
}
|
|
210
210
|
};
|
package/dist/collection/components/segmented-picker/segmented-picker-option.component.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"segmented-picker-option.component.js","sourceRoot":"","sources":["../../../src/components/segmented-picker/segmented-picker-option.component.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAgB,MAAM,EAAE,MAAM,eAAe,CAAC;AAE/F,OAAO,EAAE,EAAE,EAAE,MAAM,WAAW,CAAC;AAO/B,MAAM,OAAO,wBAAwB;IALrC;QAoBE,sCAAsC;QAEtC,aAAQ,GAAG,KAAK,CAAC;QAEjB,sCAAsC;QAEtC,aAAQ,GAAG,KAAK,CAAC;QAWT,cAAS,GAAuB,IAAI,CAAC;QA6CrC,gBAAW,GAAG,GAAG,EAAE;YACzB,IAAI,IAAI,CAAC,UAAU,EAAE;gBAAE,OAAO;YAC9B,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACvC,CAAC,CAAC;QAQM,gBAAW,GAAG,EAAE,CACtB;YACE,IAAI,EAAE,yHAAyH;YAC/H,QAAQ,EAAE;gBACR,IAAI,EAAE;oBACJ,KAAK,EAAE,2BAA2B;oBAClC,MAAM,EAAE,2BAA2B;oBACnC,KAAK,EAAE,2BAA2B;iBACnC;gBACD,QAAQ,EAAE;oBACR,IAAI,EAAE,mCAAmC;oBACzC,KAAK,EAAE,mCAAmC;iBAC3C;gBACD,QAAQ,EAAE;oBACR,IAAI,EAAE,+BAA+B;oBACrC,KAAK,EAAE,EAAE;iBACV;aACF;YACD,eAAe,EAAE;gBACf,IAAI,EAAE,QAAQ;gBACd,QAAQ,EAAE,KAAK;gBACf,QAAQ,EAAE,KAAK;aAChB;SACF,EACD;YACE,OAAO,EAAE,KAAK;SACf,CACF,CAAC;KAuBH;IAxGC,iBAAiB;QACf,wBAAwB;QACxB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,sBAAsB,
|
|
1
|
+
{"version":3,"file":"segmented-picker-option.component.js","sourceRoot":"","sources":["../../../src/components/segmented-picker/segmented-picker-option.component.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAgB,MAAM,EAAE,MAAM,eAAe,CAAC;AAE/F,OAAO,EAAE,EAAE,EAAE,MAAM,WAAW,CAAC;AAO/B,MAAM,OAAO,wBAAwB;IALrC;QAoBE,sCAAsC;QAEtC,aAAQ,GAAG,KAAK,CAAC;QAEjB,sCAAsC;QAEtC,aAAQ,GAAG,KAAK,CAAC;QAWT,cAAS,GAAuB,IAAI,CAAC;QA6CrC,gBAAW,GAAG,GAAG,EAAE;YACzB,IAAI,IAAI,CAAC,UAAU,EAAE;gBAAE,OAAO;YAC9B,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACvC,CAAC,CAAC;QAQM,gBAAW,GAAG,EAAE,CACtB;YACE,IAAI,EAAE,yHAAyH;YAC/H,QAAQ,EAAE;gBACR,IAAI,EAAE;oBACJ,KAAK,EAAE,2BAA2B;oBAClC,MAAM,EAAE,2BAA2B;oBACnC,KAAK,EAAE,2BAA2B;iBACnC;gBACD,QAAQ,EAAE;oBACR,IAAI,EAAE,mCAAmC;oBACzC,KAAK,EAAE,mCAAmC;iBAC3C;gBACD,QAAQ,EAAE;oBACR,IAAI,EAAE,+BAA+B;oBACrC,KAAK,EAAE,EAAE;iBACV;aACF;YACD,eAAe,EAAE;gBACf,IAAI,EAAE,QAAQ;gBACd,QAAQ,EAAE,KAAK;gBACf,QAAQ,EAAE,KAAK;aAChB;SACF,EACD;YACE,OAAO,EAAE,KAAK;SACf,CACF,CAAC;KAuBH;IAxGC,iBAAiB;QACf,wBAAwB;QACxB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,sBAAsB,CAAQ,CAAC;QAElE,gCAAgC;QAChC,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACnB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,OAAO,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC;QACtE,CAAC;IACH,CAAC;IAED,gBAAgB;QACd,8EAA8E;QAC9E,oCAAoC;QACpC,IAAI,CAAC,kBAAkB,EAAE,CAAC;IAC5B,CAAC;IAED,oBAAoB;QAClB,IAAI,IAAI,CAAC,mBAAmB,EAAE,CAAC;YAC7B,IAAI,CAAC,mBAAmB,CAAC,UAAU,EAAE,CAAC;QACxC,CAAC;IACH,CAAC;IAEO,kBAAkB;QACxB,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACnB,IAAI,CAAC,mBAAmB,GAAG,IAAI,gBAAgB,CAAC,GAAG,EAAE;gBACnD,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;YACzC,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,eAAe,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QACrG,CAAC;IACH,CAAC;IAEO,eAAe;;QACrB,OAAO,CAAA,MAAA,IAAI,CAAC,SAAS,0CAAE,YAAY,CAAC,OAAO,CAAC,MAAK,IAAI,CAAC,KAAK,CAAC;IAC9D,CAAC;IAEO,iBAAiB;;QACvB,OAAO,CAAC,MAAA,IAAI,CAAC,SAAS,0CAAE,YAAY,CAAC,MAAM,CAAyB,KAAI,QAAQ,CAAC;IACnF,CAAC;IAEO,UAAU;;QAChB,OAAO,IAAI,CAAC,QAAQ,KAAI,MAAA,IAAI,CAAC,SAAS,0CAAE,YAAY,CAAC,UAAU,CAAC,CAAA,IAAI,KAAK,CAAC;IAC5E,CAAC;IAQD,KAAK,CAAC,QAAQ;;QACZ,MAAM,OAAO,GAAG,MAAA,IAAI,CAAC,IAAI,CAAC,UAAU,0CAAE,aAAa,CAAC,mBAAmB,CAAC,CAAC;QACzE,OAAO,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,qBAAqB,GAAG,KAAK,KAAI,CAAC,CAAC;IACrD,CAAC;IA+BD,MAAM;QACJ,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACnD,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;QAEnC,OAAO,CACL,EAAC,IAAI;YACH,+DACE,KAAK,EAAE,IAAI,CAAC,WAAW,CAAC;oBACtB,IAAI;oBACJ,QAAQ,EAAE,IAAI,CAAC,QAAQ;oBACvB,QAAQ;iBACT,CAAC,EACF,OAAO,EAAE,IAAI,CAAC,WAAW,EACzB,QAAQ,EAAE,QAAQ,EAClB,IAAI,EAAC,QAAQ;gBAEb,+DAAO,IAAI,CAAC,KAAK,CAAQ,CAClB,CACJ,CACR,CAAC;IACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["import { Component, Prop, h, Host, Element, Event, EventEmitter, Method } from '@stencil/core';\nimport { SegmentedPickerSize } from './types';\nimport { tv } from '@utils/tv';\n\n@Component({\n tag: 'bcm-segmented-picker-option',\n styleUrl: 'segmented-picker-option.css',\n shadow: true,\n})\nexport class BcmSegmentedPickerOption {\n @Element() host: HTMLElement;\n\n /** Option value */\n @Prop()\n value!: string;\n\n /** Option display label */\n @Prop()\n label?: string;\n\n /** Controls the option size */\n @Prop()\n size?: SegmentedPickerSize;\n\n /** Whether this option is selected */\n @Prop({ mutable: true })\n selected = false;\n\n /** Whether this option is disabled */\n @Prop()\n disabled = false;\n\n /** Click event */\n @Event({\n composed: false,\n bubbles: true,\n cancelable: true,\n })\n bcmOptionClick: EventEmitter<string>;\n\n private parentValueObserver: MutationObserver;\n private parentRef: HTMLElement | null = null;\n\n componentWillLoad() {\n // Parent referansını al\n this.parentRef = this.host.closest('bcm-segmented-picker') as any;\n\n // İlk yüklemede selected durumu\n if (this.parentRef) {\n this.selected = this.parentRef.getAttribute('value') === this.value;\n }\n }\n\n componentDidLoad() {\n // DOM yüklendikten sonra sadece parent değer değişikliklerini gözlemeye başla\n // Burada artık prop değişikliği yok\n this.setupValueObserver();\n }\n\n disconnectedCallback() {\n if (this.parentValueObserver) {\n this.parentValueObserver.disconnect();\n }\n }\n\n private setupValueObserver() {\n if (this.parentRef) {\n this.parentValueObserver = new MutationObserver(() => {\n this.selected = this.isValueSelected();\n });\n this.parentValueObserver.observe(this.parentRef, { attributes: true, attributeFilter: ['value'] });\n }\n }\n\n private isValueSelected(): boolean {\n return this.parentRef?.getAttribute('value') === this.value;\n }\n\n private getSizeFromParent(): SegmentedPickerSize {\n return (this.parentRef?.getAttribute('size') as SegmentedPickerSize) || 'medium';\n }\n\n private isDisabled(): boolean {\n return this.disabled || this.parentRef?.hasAttribute('disabled') || false;\n }\n\n private handleClick = () => {\n if (this.isDisabled()) return;\n this.bcmOptionClick.emit(this.value);\n };\n\n @Method()\n async getWidth(): Promise<number> {\n const element = this.host.shadowRoot?.querySelector('.segmented-option');\n return element?.getBoundingClientRect().width || 0;\n }\n\n private optionClass = tv(\n {\n base: 'segmented-option bcm-ui-element inline-flex items-center justify-center text-center border-0 cursor-pointer select-none',\n variants: {\n size: {\n small: 'py-[1px] px-3 text-size-4',\n medium: 'py-[3px] px-3 text-size-5',\n large: 'py-[6px] px-3 text-size-6',\n },\n selected: {\n true: 'text-[--bcm-ui-color-text-header]',\n false: 'text-[--bcm-ui-color-text-helper]',\n },\n disabled: {\n true: 'cursor-not-allowed opacity-50',\n false: '',\n },\n },\n defaultVariants: {\n size: 'medium',\n selected: false,\n disabled: false,\n },\n },\n {\n twMerge: false,\n },\n );\n\n render() {\n const size = this.size || this.getSizeFromParent();\n const disabled = this.isDisabled();\n\n return (\n <Host>\n <button\n class={this.optionClass({\n size,\n selected: this.selected,\n disabled,\n })}\n onClick={this.handleClick}\n disabled={disabled}\n type=\"button\"\n >\n <slot>{this.label}</slot>\n </button>\n </Host>\n );\n }\n}\n"]}
|
|
@@ -118,11 +118,11 @@ export class BcmSegmentedPicker {
|
|
|
118
118
|
}, 10);
|
|
119
119
|
}
|
|
120
120
|
render() {
|
|
121
|
-
return (h(Host, { key: '
|
|
121
|
+
return (h(Host, { key: '919210881f989a740779027be91449c84e73905a' }, h("div", { key: '62831904cc3044cf4cb18a5ae887a59326efd9ad', class: this.segmentedClass({
|
|
122
122
|
size: this.size,
|
|
123
123
|
fullWidth: this.fullWidth,
|
|
124
124
|
disabled: this.disabled,
|
|
125
|
-
}) }, h("div", { key: '
|
|
125
|
+
}) }, h("div", { key: '65e01922e281a7f19379e094fc804c152fa35aa7', class: "segmented-indicator absolute bg-[--bcm-ui-color-background-base-default] z-0 rounded", style: this.indicatorStyles }), h("div", { key: 'c31e6df3de16c64bff1439b580b709d21510ab1c', class: "segmented-options flex relative z-10 w-full" }, h("slot", { key: 'c26e63804c35e773e59b3da53a2e60dffa96c850' })))));
|
|
126
126
|
}
|
|
127
127
|
static get is() { return "bcm-segmented-picker"; }
|
|
128
128
|
static get encapsulation() { return "shadow"; }
|
|
@@ -140,7 +140,6 @@ export class BcmSegmentedPicker {
|
|
|
140
140
|
return {
|
|
141
141
|
"size": {
|
|
142
142
|
"type": "string",
|
|
143
|
-
"attribute": "size",
|
|
144
143
|
"mutable": false,
|
|
145
144
|
"complexType": {
|
|
146
145
|
"original": "SegmentedPickerSize",
|
|
@@ -162,11 +161,11 @@ export class BcmSegmentedPicker {
|
|
|
162
161
|
"getter": false,
|
|
163
162
|
"setter": false,
|
|
164
163
|
"reflect": false,
|
|
164
|
+
"attribute": "size",
|
|
165
165
|
"defaultValue": "'medium'"
|
|
166
166
|
},
|
|
167
167
|
"value": {
|
|
168
168
|
"type": "string",
|
|
169
|
-
"attribute": "value",
|
|
170
169
|
"mutable": true,
|
|
171
170
|
"complexType": {
|
|
172
171
|
"original": "string",
|
|
@@ -181,11 +180,11 @@ export class BcmSegmentedPicker {
|
|
|
181
180
|
},
|
|
182
181
|
"getter": false,
|
|
183
182
|
"setter": false,
|
|
184
|
-
"reflect": true
|
|
183
|
+
"reflect": true,
|
|
184
|
+
"attribute": "value"
|
|
185
185
|
},
|
|
186
186
|
"disabled": {
|
|
187
187
|
"type": "boolean",
|
|
188
|
-
"attribute": "disabled",
|
|
189
188
|
"mutable": false,
|
|
190
189
|
"complexType": {
|
|
191
190
|
"original": "boolean",
|
|
@@ -201,11 +200,11 @@ export class BcmSegmentedPicker {
|
|
|
201
200
|
"getter": false,
|
|
202
201
|
"setter": false,
|
|
203
202
|
"reflect": false,
|
|
203
|
+
"attribute": "disabled",
|
|
204
204
|
"defaultValue": "false"
|
|
205
205
|
},
|
|
206
206
|
"fullWidth": {
|
|
207
207
|
"type": "boolean",
|
|
208
|
-
"attribute": "full-width",
|
|
209
208
|
"mutable": false,
|
|
210
209
|
"complexType": {
|
|
211
210
|
"original": "boolean",
|
|
@@ -221,6 +220,7 @@ export class BcmSegmentedPicker {
|
|
|
221
220
|
"getter": false,
|
|
222
221
|
"setter": false,
|
|
223
222
|
"reflect": true,
|
|
223
|
+
"attribute": "full-width",
|
|
224
224
|
"defaultValue": "false"
|
|
225
225
|
}
|
|
226
226
|
};
|