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 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["alertCss","BcmAlert","constructor","hostRef","this","status","size","kind","dismissible","showStatusIcon","onDismiss","bcmDismiss","emit","getStatusIcon","statusIcon","info","error","warning","success","alertClass","tv","slots","base","section","variants","small","medium","large","twMerge","alertStyles","colorStatus","default","textStatusColor","filleStyle","textStyle","render","h","key","role","class","style","part","name","onClick"],"sources":["src/components/alert/alert.css?tag=bcm-alert&encapsulation=shadow","src/components/alert/alert.component.tsx"],"sourcesContent":[":host {\n display: inline-block;\n width: 100%;\n --bcm-alert-bg: var(--bcm-ui-color-background-default-default);\n --bcm-alert-text: var(--bcm-ui-color-text-default);\n --bcm-alert-radius: 6px;\n}\n","import { Component, ComponentInterface, h, Prop, Event, EventEmitter } from '@stencil/core';\nimport { AlertKind, AlertSize, AlertStatus } from './types';\nimport { tv } from '@utils/tv';\n\n/**\n * Alert component that displays messages with different statuses and styles\n * @class BcmAlert\n */\n@Component({\n tag: 'bcm-alert',\n styleUrl: 'alert.css',\n shadow: true,\n})\nexport class BcmAlert implements ComponentInterface {\n /** Alert status type */\n @Prop()\n status?: AlertStatus = 'default';\n\n /** Alert size variant */\n @Prop()\n size?: AlertSize = 'medium';\n\n /** Alert style variant */\n @Prop()\n kind?: AlertKind = 'filled';\n\n /** Whether alert can be dismissed */\n @Prop()\n dismissible?: boolean = true;\n\n /** Whether to show status icon */\n @Prop()\n showStatusIcon?: boolean = true;\n\n @Event() bcmDismiss: EventEmitter<void>;\n\n /**\n * Handles alert dismissal\n * @private\n */\n private onDismiss() {\n this.bcmDismiss.emit();\n }\n\n private getStatusIcon() {\n const statusIcon = {\n info: 'fa-regular fa-info-circle',\n error: 'fa-regular fa-exclamation-circle',\n warning: 'fa-regular fa-exclamation-triangle',\n success: 'fa-regular fa-check-circle',\n };\n return statusIcon[this.status];\n }\n\n private get alertClass() {\n return tv(\n {\n slots: {\n base: 'alert bcm-ui-element font-medium flex items-center justify-between bg-[--bcm-alert-bg] text-[--bcm-alert-text] rounded-[--bcm-alert-radius] px-3 gap-3 w-full',\n section: 'flex items-center gap-2',\n },\n variants: {\n size: {\n small: {\n base: 'py-1.5 text-size-4',\n },\n medium: {\n base: 'py-2 text-size-5',\n },\n large: {\n base: 'py-2.5 text-size-6',\n },\n },\n },\n },\n {\n twMerge: false,\n },\n );\n }\n\n private get alertStyles() {\n let colorStatus = {\n info: 'var(--bcm-ui-color-background-palette-blue-default)',\n error: 'var(--bcm-ui-color-background-palette-red-default)',\n warning: 'var(--bcm-ui-color-background-palette-yellow-default)',\n success: 'var(--bcm-ui-color-background-palette-green-default)',\n default: 'var(--bcm-ui-color-background-palette-gray-default)',\n };\n\n let textStatusColor = {\n info: 'var(--bcm-ui-color-text-info)',\n error: 'var(--bcm-ui-color-text-error)',\n warning: 'var(--bcm-ui-color-text-warning)',\n success: 'var(--bcm-ui-color-text-success)',\n default: 'var(--bcm-ui-color-text-default)',\n };\n\n let filleStyle = {\n '--bcm-alert-bg': colorStatus[this.status],\n '--bcm-alert-text': textStatusColor[this.status],\n };\n\n let textStyle = {\n '--bcm-alert-bg': 'transparent',\n '--bcm-alert-text': textStatusColor[this.status],\n };\n\n return this.kind === 'filled' ? filleStyle : textStyle;\n }\n\n render() {\n const { base, section } = this.alertClass({ size: this.size });\n return (\n <div role=\"alert\" aria-live=\"assertive\" aria-atomic=\"true\" class={base()} style={this.alertStyles}>\n <div class={section()}>\n {this.showStatusIcon && <bcm-icon icon-name={this.getStatusIcon()}></bcm-icon>}\n <slot></slot>\n </div>\n <div class={section()}>\n <div part=\"action\">\n <slot name=\"action\"></slot>\n </div>\n <span part=\"icon\">{this.dismissible && <bcm-icon onClick={() => this.onDismiss()} class=\"cursor-pointer\" icon-name=\"fa-regular fa-xmark\"></bcm-icon>}</span>\n </div>\n </div>\n );\n }\n}\n"],"mappings":"sFAAA,MAAMA,EAAW,04C,MCaJC,EAAQ,MALrB,WAAAC,CAAAC,G,iDAQEC,KAAMC,OAAiB,UAIvBD,KAAIE,KAAe,SAInBF,KAAIG,KAAe,SAInBH,KAAWI,YAAa,KAIxBJ,KAAcK,eAAa,IAgG5B,CAxFS,SAAAC,GACNN,KAAKO,WAAWC,M,CAGV,aAAAC,GACN,MAAMC,EAAa,CACjBC,KAAM,4BACNC,MAAO,mCACPC,QAAS,qCACTC,QAAS,8BAEX,OAAOJ,EAAWV,KAAKC,O,CAGzB,cAAYc,GACV,OAAOC,EACL,CACEC,MAAO,CACLC,KAAM,gKACNC,QAAS,2BAEXC,SAAU,CACRlB,KAAM,CACJmB,MAAO,CACLH,KAAM,sBAERI,OAAQ,CACNJ,KAAM,oBAERK,MAAO,CACLL,KAAM,yBAKd,CACEM,QAAS,O,CAKf,eAAYC,GACV,IAAIC,EAAc,CAChBf,KAAM,sDACNC,MAAO,qDACPC,QAAS,wDACTC,QAAS,uDACTa,QAAS,uDAGX,IAAIC,EAAkB,CACpBjB,KAAM,gCACNC,MAAO,iCACPC,QAAS,mCACTC,QAAS,mCACTa,QAAS,oCAGX,IAAIE,EAAa,CACf,iBAAkBH,EAAY1B,KAAKC,QACnC,mBAAoB2B,EAAgB5B,KAAKC,SAG3C,IAAI6B,EAAY,CACd,iBAAkB,cAClB,mBAAoBF,EAAgB5B,KAAKC,SAG3C,OAAOD,KAAKG,OAAS,SAAW0B,EAAaC,C,CAG/C,MAAAC,GACE,MAAMb,KAAEA,EAAIC,QAAEA,GAAYnB,KAAKe,WAAW,CAAEb,KAAMF,KAAKE,OACvD,OACE8B,EAAK,OAAAC,IAAA,2CAAAC,KAAK,QAAO,YAAW,YAAwB,qBAAOC,MAAOjB,IAAQkB,MAAOpC,KAAKyB,aACpFO,EAAK,OAAAC,IAAA,2CAAAE,MAAOhB,KACTnB,KAAKK,gBAAkB2B,EAAA,YAAAC,IAAA,uDAAqBjC,KAAKS,kBAClDuB,EAAA,QAAAC,IAAA,8CAEFD,EAAK,OAAAC,IAAA,2CAAAE,MAAOhB,KACVa,EAAK,OAAAC,IAAA,2CAAAI,KAAK,UACRL,EAAA,QAAAC,IAAA,2CAAMK,KAAK,YAEbN,EAAA,QAAAC,IAAA,2CAAMI,KAAK,QAAQrC,KAAKI,aAAe4B,EAAU,YAAAC,IAAA,2CAAAM,QAAS,IAAMvC,KAAKM,YAAa6B,MAAM,iBAA2B,sC","ignoreList":[]}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{r as e,h as t}from"./p-BuuGCw0z.js";import{c as o}from"./p-BfTCfPZ1.js";const l={display:"h1",heading1:"h2",heading2:"h3",title1:"h4",title2:"h5",title3:"h6",body:"p",bodyAccent:"p",helper:"p",caption:"p",label:"label",placeholder:"p",link:"a",info:"p",infoAccent:"p"};const i=".static{position:static}.m-0{margin:0}.appearance-none{appearance:none}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.p-0{padding:0}.text-size-12{font-size:var(--bcm-ui-font-size-12,60px);line-height:var(--bcm-ui-line-height-12,72px)}.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)}.text-size-6{font-size:var(--bcm-ui-font-size-6,18px);line-height:var(--bcm-ui-line-height-6,24px)}.text-size-7{font-size:var(--bcm-ui-font-size-7,20px);line-height:var(--bcm-ui-line-height-7,28px)}.font-medium{font-weight:500}.font-semibold{font-weight:600}.text-color-caption{color:var(--bcm-ui-color-text-caption)}.text-color-default{color:var(--bcm-ui-color-text-default)}.text-color-disabled{color:var(--bcm-ui-color-text-disabled)}.text-color-header{color:var(--bcm-ui-color-text-header)}.text-color-helper{color:var(--bcm-ui-color-text-helper)}.text-color-label{color:var(--bcm-ui-color-text-label)}.text-color-placeholder{color:var(--bcm-ui-color-text-placeholder)}.text-color-primary{color:var(--bcm-ui-color-text-primary)}.underline{text-decoration-line:underline}.shadow{--tw-shadow:var(--bcm-ui-box-shadow-default);--tw-shadow-colored:var(--bcm-ui-box-shadow-default);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}";const r=class{constructor(t){e(this,t);this.variant="body";this.size="medium";this.overflow=false;this.variantClassMap={display:"font-semibold text-size-12 text-color-header",heading1:"font-semibold text-size-7 text-color-header",heading2:"font-semibold text-size-6 text-color-header",title1:{small:"font-semibold text-size-5 text-color-header",medium:"font-semibold text-size-6 text-color-header",large:"font-semibold text-size-7 text-color-header"},title2:{small:"font-semibold text-size-4 text-color-default",medium:"font-semibold text-size-5 text-color-default",large:"font-semibold text-size-6 text-color-default"},title3:{small:"font-semibold text-size-3 text-color-disabled",medium:"font-semibold text-size-4 text-color-disabled",large:"font-semibold text-size-5 text-color-disabled"},body:{small:"font-regular text-size-4 text-color-default",medium:"font-regular text-size-5 text-color-default",large:"font-regular text-size-6 text-color-default"},bodyAccent:{small:"font-medium text-size-4 text-color-default",medium:"font-medium text-size-5 text-color-default",large:"font-medium text-size-6 text-color-default"},helper:{small:"font-regular text-size-4 text-color-helper",medium:"font-regular text-size-5 text-color-helper",large:"font-regular text-size-6 text-color-helper"},caption:{small:"font-regular text-size-3 text-color-caption",medium:"font-regular text-size-4 text-color-caption",large:"font-regular text-size-5 text-color-caption"},link:{small:"font-medium text-size-4 underline text-color-primary",medium:"font-medium text-size-5 underline text-color-primary",large:"font-medium text-size-6 underline text-color-primary"},label:{small:"font-medium text-size-3 text-color-label",medium:"font-medium text-size-4 text-color-label",large:"font-medium text-size-5 text-color-label"},placeholder:{small:"font-regular text-size-4 text-color-placeholder",medium:"font-regular text-size-5 text-color-placeholder",large:"font-regular text-size-6 text-color-placeholder"},info:{small:"font-regular text-size-3 text-color-default",medium:"font-regular text-size-4 text-color-default",large:"font-regular text-size-5 text-color-default"},infoAccent:{small:"font-medium text-size-3 text-color-header",medium:"font-medium text-size-4 text-color-header",large:"font-medium text-size-5 text-color-header"}};this.getTextClass=(e,t)=>{const o=this.variantClassMap[e];if(typeof o==="string"){return o}return o[t]};this.getOverflowClass=e=>e?"truncate":""}render(){var e;const i=l[this.variant];const r=this.getTextClass(this.variant,this.size);const a=this.getOverflowClass((e=this.overflow)!==null&&e!==void 0?e:false);return t(i,{key:"764bafeee7a1afa0b0087b4c3ae6ba1099a0ad99",class:o("bcm-text appearance-none m-0 p-0",r,a),part:"text"},t("slot",{key:"2ce41da65f4abb2ea5f926c6f5b6959488245ead"},this.text))}};r.style=i;export{r as bcm_text};
|
|
2
|
-
//# sourceMappingURL=p-e5e0ac07.entry.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["variantTagMap","display","heading1","heading2","title1","title2","title3","body","bodyAccent","helper","caption","label","placeholder","link","info","infoAccent","textCss","BcmText","constructor","hostRef","this","variant","size","overflow","variantClassMap","small","medium","large","getTextClass","variantClasses","getOverflowClass","render","Tag","variantClass","overflowClass","_a","h","key","class","cs","part","text"],"sources":["src/components/text/text.utils.ts","src/components/text/text.scss?tag=bcm-text&encapsulation=shadow","src/components/text/text.component.tsx"],"sourcesContent":["import { TextVariant, TextTag } from './text.types';\n\nexport const variantTagMap: Record<TextVariant, TextTag> = {\n display: 'h1',\n heading1: 'h2',\n heading2: 'h3',\n title1: 'h4',\n title2: 'h5',\n title3: 'h6',\n body: 'p',\n bodyAccent: 'p',\n helper: 'p',\n caption: 'p',\n label: 'label',\n placeholder: 'p',\n link: 'a',\n info: 'p',\n infoAccent: 'p',\n};\n",null,"import { Component, h, Prop } from '@stencil/core';\nimport cs from 'classnames';\nimport { TextVariant, TextSize } from './text.types';\nimport { variantTagMap } from './text.utils';\n\n@Component({\n tag: 'bcm-text',\n styleUrl: 'text.scss',\n shadow: true,\n})\nexport class BcmText {\n /** Text content */\n @Prop()\n text: string;\n\n /** Text variant */\n @Prop()\n variant: TextVariant = 'body';\n\n /** Text size */\n @Prop()\n size: TextSize = 'medium';\n\n /** Text overflow behavior */\n @Prop()\n overflow: boolean = false;\n\n private readonly variantClassMap = {\n display: 'font-semibold text-size-12 text-color-header',\n heading1: 'font-semibold text-size-7 text-color-header',\n heading2: 'font-semibold text-size-6 text-color-header',\n title1: {\n small: 'font-semibold text-size-5 text-color-header',\n medium: 'font-semibold text-size-6 text-color-header',\n large: 'font-semibold text-size-7 text-color-header',\n },\n title2: {\n small: 'font-semibold text-size-4 text-color-default',\n medium: 'font-semibold text-size-5 text-color-default',\n large: 'font-semibold text-size-6 text-color-default',\n },\n title3: {\n small: 'font-semibold text-size-3 text-color-disabled',\n medium: 'font-semibold text-size-4 text-color-disabled',\n large: 'font-semibold text-size-5 text-color-disabled',\n },\n body: {\n small: 'font-regular text-size-4 text-color-default',\n medium: 'font-regular text-size-5 text-color-default',\n large: 'font-regular text-size-6 text-color-default',\n },\n bodyAccent: {\n small: 'font-medium text-size-4 text-color-default',\n medium: 'font-medium text-size-5 text-color-default',\n large: 'font-medium text-size-6 text-color-default',\n },\n helper: {\n small: 'font-regular text-size-4 text-color-helper',\n medium: 'font-regular text-size-5 text-color-helper',\n large: 'font-regular text-size-6 text-color-helper',\n },\n caption: {\n small: 'font-regular text-size-3 text-color-caption',\n medium: 'font-regular text-size-4 text-color-caption',\n large: 'font-regular text-size-5 text-color-caption',\n },\n link: {\n small: 'font-medium text-size-4 underline text-color-primary',\n medium: 'font-medium text-size-5 underline text-color-primary',\n large: 'font-medium text-size-6 underline text-color-primary',\n },\n label: {\n small: 'font-medium text-size-3 text-color-label',\n medium: 'font-medium text-size-4 text-color-label',\n large: 'font-medium text-size-5 text-color-label',\n },\n placeholder: {\n small: 'font-regular text-size-4 text-color-placeholder',\n medium: 'font-regular text-size-5 text-color-placeholder',\n large: 'font-regular text-size-6 text-color-placeholder',\n },\n info: {\n small: 'font-regular text-size-3 text-color-default',\n medium: 'font-regular text-size-4 text-color-default',\n large: 'font-regular text-size-5 text-color-default',\n },\n infoAccent: {\n small: 'font-medium text-size-3 text-color-header',\n medium: 'font-medium text-size-4 text-color-header',\n large: 'font-medium text-size-5 text-color-header',\n },\n } as const;\n\n private getTextClass = (variant: TextVariant, size: TextSize): string => {\n const variantClasses = this.variantClassMap[variant];\n\n if (typeof variantClasses === 'string') {\n return variantClasses;\n }\n\n return variantClasses[size];\n };\n\n private getOverflowClass = (overflow: boolean): string => {\n return overflow ? 'truncate' : '';\n };\n\n render() {\n const Tag = variantTagMap[this.variant];\n const variantClass = this.getTextClass(this.variant, this.size);\n const overflowClass = this.getOverflowClass(this.overflow ?? false);\n\n return (\n <Tag class={cs('bcm-text appearance-none m-0 p-0', variantClass, overflowClass)} part=\"text\">\n <slot>{this.text}</slot>\n </Tag>\n );\n }\n}\n"],"mappings":"+EAEO,MAAMA,EAA8C,CACzDC,QAAS,KACTC,SAAU,KACVC,SAAU,KACVC,OAAQ,KACRC,OAAQ,KACRC,OAAQ,KACRC,KAAM,IACNC,WAAY,IACZC,OAAQ,IACRC,QAAS,IACTC,MAAO,QACPC,YAAa,IACbC,KAAM,IACNC,KAAM,IACNC,WAAY,KCjBd,MAAMC,EAAU,+/C,MCUHC,EAAO,MALpB,WAAAC,CAAAC,G,UAYEC,KAAOC,QAAgB,OAIvBD,KAAIE,KAAa,SAIjBF,KAAQG,SAAY,MAEHH,KAAAI,gBAAkB,CACjCvB,QAAS,+CACTC,SAAU,8CACVC,SAAU,8CACVC,OAAQ,CACNqB,MAAO,8CACPC,OAAQ,8CACRC,MAAO,+CAETtB,OAAQ,CACNoB,MAAO,+CACPC,OAAQ,+CACRC,MAAO,gDAETrB,OAAQ,CACNmB,MAAO,gDACPC,OAAQ,gDACRC,MAAO,iDAETpB,KAAM,CACJkB,MAAO,8CACPC,OAAQ,8CACRC,MAAO,+CAETnB,WAAY,CACViB,MAAO,6CACPC,OAAQ,6CACRC,MAAO,8CAETlB,OAAQ,CACNgB,MAAO,6CACPC,OAAQ,6CACRC,MAAO,8CAETjB,QAAS,CACPe,MAAO,8CACPC,OAAQ,8CACRC,MAAO,+CAETd,KAAM,CACJY,MAAO,uDACPC,OAAQ,uDACRC,MAAO,wDAEThB,MAAO,CACLc,MAAO,2CACPC,OAAQ,2CACRC,MAAO,4CAETf,YAAa,CACXa,MAAO,kDACPC,OAAQ,kDACRC,MAAO,mDAETb,KAAM,CACJW,MAAO,8CACPC,OAAQ,8CACRC,MAAO,+CAETZ,WAAY,CACVU,MAAO,4CACPC,OAAQ,4CACRC,MAAO,8CAIHP,KAAAQ,aAAe,CAACP,EAAsBC,KAC5C,MAAMO,EAAiBT,KAAKI,gBAAgBH,GAE5C,UAAWQ,IAAmB,SAAU,CACtC,OAAOA,C,CAGT,OAAOA,EAAeP,EAAK,EAGrBF,KAAAU,iBAAoBP,GACnBA,EAAW,WAAa,EAclC,CAXC,MAAAQ,G,MACE,MAAMC,EAAMhC,EAAcoB,KAAKC,SAC/B,MAAMY,EAAeb,KAAKQ,aAAaR,KAAKC,QAASD,KAAKE,MAC1D,MAAMY,EAAgBd,KAAKU,kBAAiBK,EAAAf,KAAKG,YAAY,MAAAY,SAAA,EAAAA,EAAA,OAE7D,OACEC,EAACJ,EAAI,CAAAK,IAAA,2CAAAC,MAAOC,EAAG,mCAAoCN,EAAcC,GAAgBM,KAAK,QACpFJ,EAAA,QAAAC,IAAA,4CAAOjB,KAAKqB,M","ignoreList":[]}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{r as t,h as i}from"./p-BuuGCw0z.js";import{t as a}from"./p-CEcVC0yX.js";const o=".relative{position:relative}.block{display:block}:host{display:block;position:relative}:host([variant=full-width]){width:100%}:host([variant=auto-width]){width:auto}.container{width:100%}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1536px){.container{max-width:1536px}}.static{position:static}.absolute{position:absolute}.bottom-0{bottom:0}.left-0{left:0}.right-0{right:0}.z-10{z-index:10}.flex{display:flex}.hidden{display:none}.h-0\\.5{height:.125rem}.w-auto{width:auto}.w-full{width:100%}.flex-row{flex-direction:row}.items-center{align-items:center}.bg-\\[--bcm-ui-color-text-placeholder\\]{background-color:var(--bcm-ui-color-text-placeholder)}.bg-\\[--bcm-ui-color-text-primary\\]{background-color:var(--bcm-ui-color-text-primary)}.opacity-0{opacity:0}.shadow{--tw-shadow:var(--bcm-ui-box-shadow-default);--tw-shadow-colored:var(--bcm-ui-box-shadow-default);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.transition-all{transition-duration:.15s;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1)}.duration-200{transition-duration:.2s}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}";const e=class{constructor(i){t(this,i);this.variant="full-width";this.smooth=true;this.class=a({slots:{container:"flex flex-row items-center relative",inkbar:"inkbar absolute bottom-0 left-0 h-0.5 bg-[--bcm-ui-color-text-primary] z-10 opacity-0",tabList:"tabs-list flex flex-row items-center relative",backgroundLine:"absolute bottom-0 left-0 right-0 h-0.5 bg-[--bcm-ui-color-text-placeholder]"},variants:{variant:{"full-width":{container:"w-full",tabList:"w-full",inkbar:"right-0",backgroundLine:"hidden"},"auto-width":{container:"w-auto",tabList:"w-auto",inkbar:"right-0",backgroundLine:"block"}},smooth:{true:{inkbar:"transition-all duration-200 ease-in-out"},false:{inkbar:""}}},defaultVariants:{variant:"full-width",smooth:true}})}render(){const{container:t,inkbar:a,tabList:o,backgroundLine:e}=this.class({variant:this.variant,smooth:this.smooth});return i("div",{key:"22081fbe0da3ca814b9951c255a77b7435303990",class:t(),slot:"tabs-list"},i("div",{key:"1ee3f553ebe92d9d14a025374b25e2d0c4428c60",class:e()}),i("div",{key:"d32565de58ab3049a5c9f87b3dd2a6f42fd3ffa6",class:a()}),i("div",{key:"15809b48b0b80af2c5f49af242f8330749887cc9",class:o(),role:"tablist"},i("slot",{key:"e4d228e16d4ea66720609d2cd9bdeb9fd620609c"})))}};e.style=o;export{e as bcm_tabs_list};
|
|
2
|
-
//# sourceMappingURL=p-ee5f877f.entry.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["tabsListCss","BcmTabsList","constructor","hostRef","this","variant","smooth","class","tv","slots","container","inkbar","tabList","backgroundLine","variants","true","false","defaultVariants","render","h","key","slot","role"],"sources":["src/components/tabs/tabs-list.css?tag=bcm-tabs-list&encapsulation=shadow","src/components/tabs/tabs-list.component.tsx"],"sourcesContent":["/* tabs-list.css */\n:host {\n display: block;\n position: relative;\n}\n\n:host([variant='full-width']) {\n width: 100%;\n}\n\n:host([variant='auto-width']) {\n width: auto;\n}\n","import { Component, Prop, h, ComponentInterface } from '@stencil/core';\nimport { tv } from '@utils/tv';\n\n/**\n * @description Container component for tab triggers that includes the sliding indicator (inkbar)\n * @slot - Default slot for tab trigger elements\n */\n@Component({\n tag: 'bcm-tabs-list',\n styleUrl: 'tabs-list.css',\n shadow: true,\n})\nexport class BcmTabsList implements ComponentInterface {\n /**\n * Tab variant - controls width behavior\n */\n @Prop({ reflect: true })\n variant: 'full-width' | 'auto-width' = 'full-width';\n\n /**\n * Whether to enable smooth animations for inkbar and transitions\n */\n @Prop({ reflect: true })\n smooth: boolean = true;\n /**\n * Tailwind variants configuration for styling the tabs list container and inkbar\n */\n private class = tv({\n slots: {\n /**\n * Main container that holds both the tablist and inkbar\n */\n container: 'flex flex-row items-center relative',\n\n /**\n * The sliding indicator that appears under the active tab\n */\n inkbar: 'inkbar absolute bottom-0 left-0 h-0.5 bg-[--bcm-ui-color-text-primary] z-10 opacity-0',\n\n /**\n * The container for tab trigger elements\n */\n tabList: 'tabs-list flex flex-row items-center relative',\n\n /**\n * Background line for auto-width variant\n */\n backgroundLine: 'absolute bottom-0 left-0 right-0 h-0.5 bg-[--bcm-ui-color-text-placeholder]',\n },\n variants: {\n variant: {\n 'full-width': {\n container: 'w-full',\n tabList: 'w-full',\n inkbar: 'right-0',\n backgroundLine: 'hidden',\n },\n 'auto-width': {\n container: 'w-auto',\n tabList: 'w-auto',\n inkbar: 'right-0',\n backgroundLine: 'block',\n },\n },\n smooth: {\n true: {\n inkbar: 'transition-all duration-200 ease-in-out',\n },\n false: {\n inkbar: '',\n },\n },\n },\n defaultVariants: {\n variant: 'full-width',\n smooth: true,\n },\n });\n\n render() {\n const { container, inkbar, tabList, backgroundLine } = this.class({\n variant: this.variant,\n smooth: this.smooth,\n });\n return (\n <div class={container()} slot=\"tabs-list\">\n <div class={backgroundLine()}></div>\n <div class={inkbar()}></div>\n <div class={tabList()} role=\"tablist\">\n <slot></slot>\n </div>\n </div>\n );\n }\n}\n"],"mappings":"+EAAA,MAAMA,EAAc,61C,MCYPC,EAAW,MALxB,WAAAC,CAAAC,G,UAUEC,KAAOC,QAAgC,aAMvCD,KAAME,OAAY,KAIVF,KAAKG,MAAGC,EAAG,CACjBC,MAAO,CAILC,UAAW,sCAKXC,OAAQ,wFAKRC,QAAS,gDAKTC,eAAgB,+EAElBC,SAAU,CACRT,QAAS,CACP,aAAc,CACZK,UAAW,SACXE,QAAS,SACTD,OAAQ,UACRE,eAAgB,UAElB,aAAc,CACZH,UAAW,SACXE,QAAS,SACTD,OAAQ,UACRE,eAAgB,UAGpBP,OAAQ,CACNS,KAAM,CACJJ,OAAQ,2CAEVK,MAAO,CACLL,OAAQ,MAIdM,gBAAiB,CACfZ,QAAS,aACTC,OAAQ,OAmBb,CAfC,MAAAY,GACE,MAAMR,UAAEA,EAASC,OAAEA,EAAMC,QAAEA,EAAOC,eAAEA,GAAmBT,KAAKG,MAAM,CAChEF,QAASD,KAAKC,QACdC,OAAQF,KAAKE,SAEf,OACEa,EAAA,OAAAC,IAAA,2CAAKb,MAAOG,IAAaW,KAAK,aAC5BF,EAAA,OAAAC,IAAA,2CAAKb,MAAOM,MACZM,EAAA,OAAAC,IAAA,2CAAKb,MAAOI,MACZQ,EAAA,OAAAC,IAAA,2CAAKb,MAAOK,IAAWU,KAAK,WAC1BH,EAAa,QAAAC,IAAA,8C","ignoreList":[]}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{r as o,c as e,h as t,H as d,a}from"./p-BuuGCw0z.js";import{t as i}from"./p-CEcVC0yX.js";const s=".visible{visibility:visible}.hidden{display:none}.static{position:static}.flex{display:flex}.max-h-64{max-height:16rem}.w-full{width:100%}.min-w-10{min-width:2.5rem}.max-w-64{max-width:16rem}.flex-col{flex-direction:column}.items-center{align-items:center}.overflow-y-auto{overflow-y:auto}.rounded-lg{border-radius:var(--bcm-ui-border-radius-lg,8px)}.bg-color-basic-panel{background-color:var(--bcm-ui-color-background-basic-panel)}.py-1\\.5{padding-bottom:.375rem;padding-top:.375rem}.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)}.outline{outline-style:solid}";const r=class{constructor(t){o(this,t);this.bcmDropdownChange=e(this,"bcmDropdownChange",1);this.isReady=false;this.dropdownItems=[];this.dropdownClass=i({base:"dropdown flex flex-col items-center min-w-10 shadow-3 max-w-64 max-h-64 w-full bg-color-basic-panel rounded-lg py-1.5 overflow-y-auto"});this.handleSlotChange=()=>{this.dropdownItems=Array.from(this.host.querySelectorAll("bcm-dropdown-item"));if(this.dropdownItems.length===0){console.warn("No dropdown items found in dropdown component")}}}componentDidLoad(){const o=this.host.shadowRoot.querySelector("bcm-button");if(o){this.buttonRef=o;this.isReady=true}}handleDropdownItemChange(o){var e;const{element:t,selected:d}=o===null||o===void 0?void 0:o.detail;(e=this.dropdownItems)===null||e===void 0?void 0:e.forEach((o=>{if(o!=t){o.selected=false}}));this.bcmDropdownChange.emit({element:t,selected:d})}render(){return t(d,{key:"4bbcd189c404f57d7ac411eb98da8dbd2b6d3b30"},t("bcm-button",{key:"7e571fa321148576cd191a16ffc5bc6c03cdbcd7",kind:"outline"},t("span",{key:"769d43e0dee2c9a0e5b639d1150da63f9f7ff8fd",part:"text"},this.text)),this.isReady&&t("bcm-linked",{key:"220d1c248fee2365150ba58de5065c3f748fe15b",targetElement:this.buttonRef},t("div",{key:"8579fa56fb51741071f646412c5fffd069ba557e",part:"dropdown-container",class:this.dropdownClass()},t("slot",{key:"a94646e1a3f85f9c305d0dd01c8f70467b759fe8",onSlotchange:this.handleSlotChange}))))}get host(){return a(this)}};r.style=s;export{r as bcm_dropdown};
|
|
2
|
-
//# sourceMappingURL=p-fbccbffc.entry.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["dropdownCss","Dropdown","constructor","hostRef","this","isReady","dropdownItems","dropdownClass","tv","base","handleSlotChange","Array","from","host","querySelectorAll","length","console","warn","componentDidLoad","button","shadowRoot","querySelector","buttonRef","handleDropdownItemChange","event","element","selected","detail","_a","forEach","item","bcmDropdownChange","emit","render","h","Host","key","kind","part","text","targetElement","class","onSlotchange"],"sources":["src/components/dropdown/dropdown.css?tag=bcm-dropdown&encapsulation=shadow","src/components/dropdown/dropdown.component.tsx"],"sourcesContent":["/* :host {\n --dropdown-box-min-weight: 32px;\n --dropdown-box-max-width: 384px;\n --dropdown-box-max-height: 384px;\n --dropdown-box-background-color: var(--bcm-ui-color-background-basic-panel);\n} */\n/* \n.scroll {\n height: 140px;\n width: 140px;\n overflow-y: auto;\n}\n\n.scroll:active::-webkit-scrollbar-thumb,\n.scroll:focus::-webkit-scrollbar-thumb,\n.scroll:hover::-webkit-scrollbar-thumb {\n visibility: visible;\n}\n.scroll::-webkit-scrollbar-thumb {\n background-color: darkgrey;\n visibility: hidden;\n}\n\n.scroll::-webkit-scrollbar {\n width: 8px;\n height: 8px;\n} */\n","import { Component, ComponentInterface, h, Prop, State, Element, Host, Event, EventEmitter, Listen } from '@stencil/core';\nimport { tv } from '@utils/tv';\n\n@Component({\n tag: 'bcm-dropdown',\n styleUrl: 'dropdown.css',\n shadow: true,\n})\nexport class Dropdown implements ComponentInterface {\n @Element() host: HTMLElement;\n\n @Prop() text?: string;\n\n @State() isReady: boolean = false;\n\n @State() dropdownItems: HTMLBcmDropdownItemElement[] = [];\n\n protected buttonRef?: HTMLBcmButtonElement;\n\n @Event({\n composed: false,\n bubbles: false,\n cancelable: true,\n eventName: 'bcmDropdownChange',\n })\n bcmDropdownChange: EventEmitter<any>;\n\n componentDidLoad() {\n const button = this.host.shadowRoot.querySelector('bcm-button') as HTMLBcmButtonElement;\n if (button) {\n this.buttonRef = button;\n this.isReady = true;\n }\n }\n\n @Listen('bcmDropDownItemChange', { capture: true })\n handleDropdownItemChange(event: CustomEvent) {\n const { element, selected } = event?.detail;\n\n this.dropdownItems?.forEach(item => {\n if (item != element) {\n item.selected = false;\n }\n });\n\n this.bcmDropdownChange.emit({\n element: element,\n selected,\n });\n }\n\n private dropdownClass = tv({\n base: 'dropdown flex flex-col items-center min-w-10 shadow-3 max-w-64 max-h-64 w-full bg-color-basic-panel rounded-lg py-1.5 overflow-y-auto',\n });\n\n private handleSlotChange = () => {\n this.dropdownItems = Array.from(this.host.querySelectorAll('bcm-dropdown-item'));\n\n if (this.dropdownItems.length === 0) {\n console.warn('No dropdown items found in dropdown component');\n }\n };\n\n render() {\n return (\n <Host>\n <bcm-button kind=\"outline\">\n <span part=\"text\">{this.text}</span>\n </bcm-button>\n {this.isReady && (\n <bcm-linked targetElement={this.buttonRef}>\n <div part=\"dropdown-container\" class={this.dropdownClass()}>\n <slot onSlotchange={this.handleSlotChange}></slot>\n </div>\n </bcm-linked>\n )}\n </Host>\n );\n }\n}\n"],"mappings":"+FAAA,MAAMA,EAAc,o0B,MCQPC,EAAQ,MALrB,WAAAC,CAAAC,G,+DAUWC,KAAOC,QAAY,MAEnBD,KAAaE,cAAiC,GAoC/CF,KAAaG,cAAGC,EAAG,CACzBC,KAAM,0IAGAL,KAAgBM,iBAAG,KACzBN,KAAKE,cAAgBK,MAAMC,KAAKR,KAAKS,KAAKC,iBAAiB,sBAE3D,GAAIV,KAAKE,cAAcS,SAAW,EAAG,CACnCC,QAAQC,KAAK,gD,EAoBlB,CApDC,gBAAAC,GACE,MAAMC,EAASf,KAAKS,KAAKO,WAAWC,cAAc,cAClD,GAAIF,EAAQ,CACVf,KAAKkB,UAAYH,EACjBf,KAAKC,QAAU,I,EAKnB,wBAAAkB,CAAyBC,G,MACvB,MAAMC,QAAEA,EAAOC,SAAEA,GAAaF,IAAK,MAALA,SAAK,SAALA,EAAOG,QAErCC,EAAAxB,KAAKE,iBAAa,MAAAsB,SAAA,SAAAA,EAAEC,SAAQC,IAC1B,GAAIA,GAAQL,EAAS,CACnBK,EAAKJ,SAAW,K,KAIpBtB,KAAK2B,kBAAkBC,KAAK,CAC1BP,QAASA,EACTC,Y,CAgBJ,MAAAO,GACE,OACEC,EAACC,EAAI,CAAAC,IAAA,4CACHF,EAAY,cAAAE,IAAA,2CAAAC,KAAK,WACfH,EAAM,QAAAE,IAAA,2CAAAE,KAAK,QAAQlC,KAAKmC,OAEzBnC,KAAKC,SACJ6B,EAAA,cAAAE,IAAA,2CAAYI,cAAepC,KAAKkB,WAC9BY,EAAK,OAAAE,IAAA,2CAAAE,KAAK,qBAAqBG,MAAOrC,KAAKG,iBACzC2B,EAAM,QAAAE,IAAA,2CAAAM,aAActC,KAAKM,qB","ignoreList":[]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"file":"bcm-accordion-group.entry.cjs.js","mappings":";;;;AAAA,MAAM,iBAAiB,GAAG,u9BAAu9B;;MCoEp+B,iBAAiB,GAAA,MAAA;AAL9B,IAAA,WAAA,CAAA,OAAA,EAAA;;;;AAUY,QAAA,IAAK,CAAA,KAAA,GAAY,KAAK;;AAGrB,QAAA,IAAc,CAAA,cAAA,GAA8B,EAAE;AAiDvD;;AAEG;AACK,QAAA,IAAgB,CAAA,gBAAA,GAAG,MAAK;AAC5B,YAAA,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,eAAe,CAAC,CAAC;YAC7E,IAAI,CAAC,gBAAgB,EAAE;;YAEvB,IAAI,IAAI,CAAC,cAAc,CAAC,MAAM,KAAK,CAAC,EAAE;AAClC,gBAAA,OAAO,CAAC,IAAI,CAAC,6CAA6C,CAAC;;AAEnE,SAAC;AAuCJ;AAzFG;;;AAGG;AAEH,IAAA,MAAM,SAAS,GAAA;AACX,QAAA,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE;AACb,YAAA,OAAO,CAAC,IAAI,CAAC,6CAA6C,CAAC;YAC3D;;QAEJ,MAAM,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;;AAGrE;;AAEG;AAEH,IAAA,MAAM,WAAW,GAAA;QACb,MAAM,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;;AAGvE;;AAEG;AAEH,IAAA,MAAM,gBAAgB,GAAA;AAClB,QAAA,OAAO,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,IAAI,IAAI,IAAI,CAAC,QAAQ,CAAC;;IAG5D,iBAAiB,GAAA;QACb,IAAI,CAAC,gBAAgB,EAAE;;IAInB,gBAAgB,GAAA;AACpB,QAAA,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,IAAI,IAAG;AAC/B,YAAA,IAAI,CAAC,KAAK,GAAG,IAAI;AACrB,SAAC,CAAC;;AAeN;;AAEG;AAEH,IAAA,qBAAqB,CAAC,KAA4C,EAAA;QAC9D,IAAI,CAAC,gBAAgB,EAAE;QACvB,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,KAAK,KAAA,IAAA,IAAL,KAAK,KAAA,MAAA,GAAA,MAAA,GAAL,KAAK,CAAE,MAAM;AAE1C,QAAA,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE;AACb,YAAA,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,IAAI,IAAG;AAC/B,gBAAA,IAAI,IAAI,KAAK,MAAM,EAAE;oBACjB,IAAI,CAAC,QAAQ,EAAE;;AAEnB,gBAAA,IAAI,CAAC,QAAQ,GAAG,IAAI,KAAK,MAAM,GAAG,QAAQ,GAAG,KAAK;AACtD,aAAC,CAAC;;AAGN,QAAA,MAAM,aAAa,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,IAAI,IAAI,IAAI,CAAC,QAAQ,CAAC;AACvE,QAAA,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC;YAC9B,QAAQ;AACR,YAAA,OAAO,EAAE,MAAM;YACf,aAAa;YACb,aAAa,EAAE,aAAa,CAAC,MAAM;AACtC,SAAA,CAAC;;IAGN,MAAM,GAAA;AACF,QAAA,QACIA,OACI,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,0HAA0H,EAChI,IAAI,EAAC,OAAO,EAAA,YAAA,EACD,iBAAiB,EAAA,EAE5BA,OAAM,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,YAAY,EAAE,IAAI,CAAC,gBAAgB,EAAS,CAAA,CAChD;;;;;;;;","names":["h"],"sources":["src/components/accordion-group/accordion-group.css?tag=bcm-accordion-group&encapsulation=shadow","src/components/accordion-group/accordion-group.component.tsx"],"sourcesContent":[":host {\n display: block;\n width: 100%;\n --bcm-accordion-border: var(--bcm-ui-color-border-default);\n --bcm-accordion-radius: 6px;\n}\n","\nimport { Component, ComponentInterface, h, Element, Prop, Listen, State, Event, EventEmitter, Method } from '@stencil/core';\nimport { AccordionChangeEventType } from '../accordion/types';\nimport { AccordionGroupChangeEventType } from './types';\n\n/**\n* @component BcmAccordionGroup\n* @description A container component that manages a group of accordions. Provides single/multiple expansion \n* modes and methods for controlling all accordions simultaneously. Uses shadow DOM for style encapsulation.\n*\n* @example Basic usage - Single expansion mode\n* <bcm-accordion-group>\n* <bcm-accordion>\n* <div slot=\"title\">Section 1</div>\n* <div>Content 1</div>\n* </bcm-accordion>\n* <bcm-accordion>\n* <div slot=\"title\">Section 2</div>\n* <div>Content 2</div>\n* </bcm-accordion>\n* </bcm-accordion-group>\n*\n* @example Multiple expansion mode\n* <bcm-accordion-group multi={true}>\n* <bcm-accordion>...</bcm-accordion>\n* <bcm-accordion>...</bcm-accordion>\n* </bcm-accordion-group>\n* \n* @example Event handling\n* // Listen to accordion group changes\n* const accordionGroup = document.querySelector('bcm-accordion-group');\n* accordionGroup.addEventListener('bcmAccordionGroupChange', (event) => {\n* const { expanded, changed, expandedItems, expandedCount } = event.detail;\n* console.log('Accordion expanded state:', expanded);\n* console.log('Changed accordion:', changed);\n* console.log('Currently expanded accordions:', expandedItems);\n* console.log('Number of expanded accordions:', expandedCount);\n* });\n* \n* // Using methods\n* await accordionGroup.expandAll(); // Expands all accordions (only in multi mode)\n* await accordionGroup.collapseAll(); // Collapses all accordions\n* const expanded = await accordionGroup.getExpandedItems(); // Gets expanded accordions\n*\n* @prop {boolean} multi - Controls whether multiple accordions can be expanded simultaneously (default: false)\n*\n* @slot default - Container slot for bcm-accordion components\n*\n* @event {EventEmitter<AccordionGroupChangeEventType>} bcmAccordionGroupChange - Emitted when any accordion's state changes\n* @eventProperty {boolean} expanded - Current expanded state of the changed accordion\n* @eventProperty {HTMLElement} changed - The accordion element that triggered the change\n* @eventProperty {HTMLElement[]} expandedItems - Array of currently expanded accordion elements\n* @eventProperty {number} expandedCount - Number of currently expanded accordions\n*\n* @method expandAll() - Expands all accordions (only available in multi mode)\n* @method collapseAll() - Collapses all accordions\n* @method getExpandedItems() - Returns array of currently expanded accordions\n*\n* @csspart container - The accordion group container element\n*\n* @css {string} --bcm-accordion-border - Border color of the accordion group\n* @css {string} --bcm-accordion-radius - Border radius of the accordion group\n*/\n@Component({\n tag: 'bcm-accordion-group',\n styleUrl: 'accordion-group.css',\n shadow: true,\n})\nexport class BcmAccordionGroup implements ComponentInterface {\n /** Reference to the host element */\n @Element() host: HTMLElement;\n\n /** Controls whether multiple accordions can be expanded simultaneously */\n @Prop() multi: boolean = false;\n\n /** Array of accordion elements within the group */\n @State() accordionItems: HTMLBcmAccordionElement[] = [];\n\n /** Event emitted when any accordion's expanded state changes */\n @Event({\n composed: false,\n bubbles: false,\n cancelable: true,\n }) bcmAccordionGroupChange: EventEmitter<AccordionGroupChangeEventType>;\n\n /**\n * Expands all accordions in the group\n * Only available when multi=true\n */\n @Method()\n async expandAll(): Promise<void> {\n if (!this.multi) {\n console.warn('expandAll is only available when multi=true');\n return;\n }\n await Promise.all(this.accordionItems.map(item => item.expand()));\n }\n\n /**\n * Collapses all accordions in the group\n */\n @Method()\n async collapseAll(): Promise<void> {\n await Promise.all(this.accordionItems.map(item => item.collapse()));\n }\n\n /**\n * Returns an array of currently expanded accordion elements\n */\n @Method()\n async getExpandedItems(): Promise<HTMLBcmAccordionElement[]> {\n return this.accordionItems.filter(item => item.expanded);\n }\n\n componentWillLoad() {\n this.handleSlotChange();\n }\n\n\n private setGroupBehavior(): void {\n this.accordionItems.forEach(item => {\n item.group = true;\n });\n }\n\n /**\n * Updates the accordion items array when slot content changes\n */\n private handleSlotChange = () => {\n this.accordionItems = Array.from(this.host.querySelectorAll('bcm-accordion'));\n this.setGroupBehavior();\n // Validate accordion items\n if (this.accordionItems.length === 0) {\n console.warn('No accordion items found in accordion group');\n }\n };\n\n /**\n * Handles state changes of individual accordions\n */\n @Listen('bcmAccordionChange', { capture: true })\n handleAccordionChange(event: CustomEvent<AccordionChangeEventType>) {\n this.handleSlotChange();\n const { expanded, source } = event?.detail;\n\n if (!this.multi) {\n this.accordionItems.forEach(item => {\n if (item !== source) {\n item.collapse();\n }\n item.expanded = item === source ? expanded : false;\n });\n }\n\n const expandedItems = this.accordionItems.filter(item => item.expanded);\n this.bcmAccordionGroupChange.emit({\n expanded,\n changed: source,\n expandedItems,\n expandedCount: expandedItems.length,\n });\n }\n\n render() {\n return (\n <div\n class=\"flex flex-col bcm-ui-element w-full border border-solid border-[--bcm-accordion-border] rounded-[--bcm-accordion-radius]\"\n role=\"group\"\n aria-label=\"Accordion group\"\n >\n <slot onSlotchange={this.handleSlotChange}></slot>\n </div>\n );\n }\n}"],"version":3}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"file":"bcm-accordion.entry.cjs.js","mappings":"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","names":["tv","h"],"sources":["src/components/accordion/accordion.css?tag=bcm-accordion&encapsulation=shadow","src/components/accordion/accordion.component.tsx"],"sourcesContent":[":host {\n display: block;\n width: 100%;\n --bcm-accordion-bg: var(--bcm-ui-color-background-basic-panel);\n --bcm-accordion-content-bg: var(--bcm-ui-color-background-basic-base);\n --bcm-accordion-text: var(--bcm-ui-color-text-header);\n --bcm-accordion-border: var(--bcm-ui-color-border-default);\n --bcm-accordion-radius: 6px;\n --bcm-accordion-footer-bg: var(--bcm-ui-color-background-default-default);\n}\n\n:host(:not([group])) .accordion-container {\n border: 1px solid var(--bcm-accordion-border);\n border-radius: var(--bcm-accordion-radius);\n}\n\n:host([group]) .accordion-container {\n border-bottom: 1px solid var(--bcm-accordion-border);\n border-radius: 0;\n}\n\n:host([group]:last-of-type) .accordion-container {\n border-bottom: none;\n}\n\n:host([group]:first-of-type) .accordion-container {\n border-top-left-radius: var(--bcm-accordion-radius);\n border-top-right-radius: var(--bcm-accordion-radius);\n}\n\n:host([group]:last-of-type) .accordion-footer {\n border-bottom-left-radius: var(--bcm-accordion-radius);\n border-bottom-right-radius: var(--bcm-accordion-radius);\n}\n\n:host(:not([group])) .accordion-footer {\n border-bottom-left-radius: var(--bcm-accordion-radius);\n border-bottom-right-radius: var(--bcm-accordion-radius);\n}\n\n::slotted([slot='title']) {\n display: flex;\n flex-direction: row;\n align-items: center;\n gap: 10px;\n}\n::slotted([slot='actions']) {\n display: flex;\n flex-direction: row;\n align-items: center;\n gap: 12px;\n}\n","import { Component, ComponentInterface, EventEmitter, h, Method, Prop, Event, State, Element } from '@stencil/core';\nimport { tv } from '@utils/tv';\nimport { AccordionChangeEventType } from './types';\n\n/**\n * @component BcmAccordion\n * @description A collapsible accordion component that provides expandable/collapsible content sections with keyboard navigation\n * and accessibility features. Offers customizable header, content, and footer areas through slots.\n *\n * @example Basic usage\n * <bcm-accordion>\n * <div slot=\"title\">Accordion Title</div>\n * <div>Content goes here</div>\n * </bcm-accordion>\n *\n * @example With all slots and hint text\n * <bcm-accordion hint-text=\"Additional information\">\n * <div slot=\"title\">Title</div>\n * <div slot=\"actions\">\n * <button>Action</button>\n * </div>\n * <div>Main content</div>\n * <div slot=\"footer\">Footer content</div>\n * </bcm-accordion>\n *\n * @example Event handling\n * // Listen to accordion state changes\n * const accordion = document.querySelector('bcm-accordion');\n * accordion.addEventListener('bcmAccordionChange', (event) => {\n * const { expanded, source } = event.detail;\n * console.log('Accordion expanded:', expanded);\n * console.log('Changed accordion:', source);\n * });\n *\n * // Programmatically control accordion\n * await accordion.toggle(); // Toggle state\n * await accordion.expand(); // Expand accordion\n * await accordion.collapse(); // Collapse accordion\n *\n * @prop {boolean} expanded - Controls the expanded state of the accordion (default: false)\n * @prop {boolean} group - Indicates if the accordion is part of an accordion group (default: false)\n * @prop {string} hintText - Optional hint text to display in the footer when no footer content is provided\n *\n * @slot title - Primary title content for the accordion header (required)\n * @slot actions - Additional actions to be displayed in the header (optional)\n * @slot default - Main content area of the accordion\n * @slot footer - Optional footer content (overrides hint-text if provided)\n *\n * @event {EventEmitter<AccordionChangeEventType>} bcmAccordionChange - Emitted when the accordion's expanded state changes\n * @eventProperty {boolean} expanded - Current expanded state\n * @eventProperty {HTMLBcmAccordionElement} source - Reference to the accordion element that changed\n *\n * @csspart container - The root container element\n * @csspart header - The header section with title and actions\n * @csspart content - The collapsible content section\n * @csspart footer - The footer section with hint text or footer slot\n * @csspart section - Container for header content sections\n * @csspart icon - The expand/collapse chevron icon\n *\n * @css {string} --bcm-accordion-radius - Border radius of the accordion header (default: 4px)\n * @css {string} --bcm-accordion-bg - Background color of the accordion header\n * @css {string} --bcm-accordion-text - Text color of the accordion\n * @css {string} --bcm-accordion-footer-bg - Background color of the footer section\n *\n * @methods\n * toggle() - Toggles the accordion's expanded state\n * expand() - Expands the accordion if collapsed\n * collapse() - Collapses the accordion if expanded\n */\n@Component({\n tag: 'bcm-accordion',\n styleUrl: 'accordion.css',\n shadow: true,\n})\nexport class BcmAccordion implements ComponentInterface {\n /** Reference to the host element */\n @Element() host: HTMLElement;\n\n /**\n * Controls whether the accordion is expanded or collapsed.\n * @prop\n * @defaultValue false\n */\n @Prop({ reflect: true, mutable: true })\n expanded: boolean = false;\n\n /**\n * Optional title text to display in the header.\n * @prop\n * @defaultValue undefined\n */\n @Prop()\n headerTitle?: string;\n\n /**\n * Indicates if the accordion is part of a group.\n * Used for group behavior coordination.\n * @prop\n * @defaultValue false\n */\n\n @Prop({ reflect: true })\n group: boolean = false;\n\n /**\n * Optional text to display in the footer when no footer slot content is provided.\n * @prop\n */\n @Prop({ attribute: 'hint-text' })\n hintText?: string;\n\n /**\n * Tracks whether footer content is present.\n * @state\n */\n @State()\n hasFooterContent: boolean = false;\n\n /**\n * Emitted when the accordion's expanded state changes.\n * @event\n */\n @Event({\n composed: false,\n bubbles: false,\n cancelable: true,\n eventName: 'bcmAccordionChange',\n })\n bcmAccordionChange: EventEmitter<AccordionChangeEventType>;\n\n private contentEl?: HTMLElement;\n\n /**\n * Toggles the accordion's expanded state.\n * @method\n * @returns Promise<void>\n */\n @Method()\n async toggle(): Promise<void> {\n this.expanded = !this.expanded;\n this.updateAccordion();\n }\n\n /**\n * Expands the accordion if it's not already expanded.\n * @method\n * @returns Promise<void>\n */\n @Method()\n async expand(): Promise<void> {\n if (!this.expanded) {\n this.expanded = true;\n this.updateAccordion();\n }\n }\n\n /**\n * Collapses the accordion if it's currently expanded.\n * @method\n * @returns Promise<void>\n */\n @Method()\n async collapse(): Promise<void> {\n if (this.expanded) {\n this.expanded = false;\n this.updateAccordion();\n }\n }\n\n /**\n * Updates the accordion's content height and emits change event.\n * @private\n */\n private updateAccordion(): void {\n if (this.contentEl) {\n this.contentEl.style.maxHeight = this.expanded ? `${this.contentEl.scrollHeight}px` : '0px';\n }\n this.bcmAccordionChange.emit({ expanded: this.expanded, source: this.host as HTMLBcmAccordionElement });\n }\n\n /**\n * Handles changes to the footer slot content.\n * @private\n * @param e - Slot change event\n */\n private handleFooterSlotChange = (e: Event) => {\n const slot = e.target as HTMLSlotElement;\n const assignedNodes = slot.assignedNodes();\n this.hasFooterContent = assignedNodes.length > 0;\n };\n\n private accordionClass = tv(\n {\n slots: {\n container: 'accordion-container flex flex-col bcm-ui-element w-full',\n header:\n 'accordion-header flex flex-row justify-between gap-2 p-4 min-w-max flex-nowrap text-wrap rounded-[--bcm-accordion-radius] bg-[--bcm-accordion-bg] text-[--bcm-accordion-text] font-semibold text-size-6 cursor-pointer',\n content: 'accordion-content overflow-hidden transition-all duration-300 ease-in-out bg-color-basic-base',\n footer: 'accordion-footer flex flex-row flex-nowrap bg-[--bcm-accordion-footer-bg] text-[--bcm-accordion-text] px-4 py-2 gap-2 text-size-4 font-normal min-w-max',\n icon: 'accordion-icon cursor-pointer transform transition-transform duration-300',\n rightSection: 'accordion-right-section flex flex-row gap-2.5 items-center',\n },\n variants: {\n hasFooterContent: {\n false: { footer: 'hidden' },\n true: { footer: 'flex' },\n },\n expanded: {\n true: { icon: 'rotate-180' },\n false: {\n icon: 'rotate-0',\n content: '',\n },\n },\n },\n },\n {\n twMerge: false,\n },\n );\n\n render() {\n const { container, header, content, footer, icon, rightSection } = this.accordionClass({\n hasFooterContent: this.hasFooterContent || !!this.hintText,\n expanded: this.expanded,\n });\n\n return (\n <div class={container()}>\n {/* Header */}\n <header\n class={header()}\n role=\"button\"\n tabindex=\"0\"\n aria-expanded={this.expanded.toString()}\n aria-controls=\"accordion-content\"\n onKeyDown={e => {\n if (e.key === 'Enter' || e.key === ' ') {\n e.preventDefault();\n this.toggle();\n }\n }}\n onClick={() => this.toggle()}\n >\n <slot name=\"title\">{this.headerTitle}</slot>\n {/* Actions */}\n <div class={rightSection()}>\n <span onClick={e => e.stopPropagation()}>\n <slot name=\"actions\"></slot>\n </span>\n <bcm-icon name=\"fa-regular fa-chevron-down\" class={icon()}></bcm-icon>\n </div>\n </header>\n {/* Content */}\n <div class={content()} style={{ maxHeight: this.expanded ? 'auto' : '0px' }} ref={el => (this.contentEl = el as HTMLElement)}>\n <div class=\"px-4 py-2\">\n <slot></slot>\n </div>\n <footer class={footer()}>\n <slot name=\"footer\" onSlotchange={this.handleFooterSlotChange}>\n {this.hintText}\n </slot>\n </footer>\n </div>\n </div>\n );\n }\n}\n"],"version":3}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"file":"bcm-alert.entry.cjs.js","mappings":";;;;;AAAA,MAAM,QAAQ,GAAG,y4CAAy4C;;MCa74C,QAAQ,GAAA,MAAA;AALrB,IAAA,WAAA,CAAA,OAAA,EAAA;;;;AAQE,QAAA,IAAM,CAAA,MAAA,GAAiB,SAAS;;AAIhC,QAAA,IAAI,CAAA,IAAA,GAAe,QAAQ;;AAI3B,QAAA,IAAI,CAAA,IAAA,GAAe,QAAQ;;AAI3B,QAAA,IAAW,CAAA,WAAA,GAAa,IAAI;;AAI5B,QAAA,IAAc,CAAA,cAAA,GAAa,IAAI;AAgGhC;AA5FC;;;AAGG;IACK,SAAS,GAAA;AACf,QAAA,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE;;IAGhB,aAAa,GAAA;AACnB,QAAA,MAAM,UAAU,GAAG;AACjB,YAAA,IAAI,EAAE,2BAA2B;AACjC,YAAA,KAAK,EAAE,kCAAkC;AACzC,YAAA,OAAO,EAAE,oCAAoC;AAC7C,YAAA,OAAO,EAAE,4BAA4B;SACtC;AACD,QAAA,OAAO,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC;;AAGhC,IAAA,IAAY,UAAU,GAAA;AACpB,QAAA,OAAOA,KAAE,CACP;AACE,YAAA,KAAK,EAAE;AACL,gBAAA,IAAI,EAAE,+JAA+J;AACrK,gBAAA,OAAO,EAAE,yBAAyB;AACnC,aAAA;AACD,YAAA,QAAQ,EAAE;AACR,gBAAA,IAAI,EAAE;AACJ,oBAAA,KAAK,EAAE;AACL,wBAAA,IAAI,EAAE,oBAAoB;AAC3B,qBAAA;AACD,oBAAA,MAAM,EAAE;AACN,wBAAA,IAAI,EAAE,kBAAkB;AACzB,qBAAA;AACD,oBAAA,KAAK,EAAE;AACL,wBAAA,IAAI,EAAE,oBAAoB;AAC3B,qBAAA;AACF,iBAAA;AACF,aAAA;SACF,EACD;AACE,YAAA,OAAO,EAAE,KAAK;AACf,SAAA,CACF;;AAGH,IAAA,IAAY,WAAW,GAAA;AACrB,QAAA,IAAI,WAAW,GAAG;AAChB,YAAA,IAAI,EAAE,qDAAqD;AAC3D,YAAA,KAAK,EAAE,oDAAoD;AAC3D,YAAA,OAAO,EAAE,uDAAuD;AAChE,YAAA,OAAO,EAAE,sDAAsD;AAC/D,YAAA,OAAO,EAAE,qDAAqD;SAC/D;AAED,QAAA,IAAI,eAAe,GAAG;AACpB,YAAA,IAAI,EAAE,+BAA+B;AACrC,YAAA,KAAK,EAAE,gCAAgC;AACvC,YAAA,OAAO,EAAE,kCAAkC;AAC3C,YAAA,OAAO,EAAE,kCAAkC;AAC3C,YAAA,OAAO,EAAE,kCAAkC;SAC5C;AAED,QAAA,IAAI,UAAU,GAAG;AACf,YAAA,gBAAgB,EAAE,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC;AAC1C,YAAA,kBAAkB,EAAE,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC;SACjD;AAED,QAAA,IAAI,SAAS,GAAG;AACd,YAAA,gBAAgB,EAAE,aAAa;AAC/B,YAAA,kBAAkB,EAAE,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC;SACjD;AAED,QAAA,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,GAAG,UAAU,GAAG,SAAS;;IAGxD,MAAM,GAAA;AACJ,QAAA,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,UAAU,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC;AAC9D,QAAA,QACEC,OAAK,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,IAAI,EAAC,OAAO,EAAA,WAAA,EAAW,WAAW,EAAa,aAAA,EAAA,MAAM,EAAC,KAAK,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,WAAW,EAAA,EAC/FA,OAAK,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAE,OAAO,EAAE,EAAA,EAClB,IAAI,CAAC,cAAc,IAAIA,OAAA,CAAA,UAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,WAAA,EAAqB,IAAI,CAAC,aAAa,EAAE,EAAa,CAAA,EAC9EA,OAAA,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,CAAa,CACT,EACNA,OAAK,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAE,OAAO,EAAE,EAAA,EACnBA,OAAK,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,IAAI,EAAC,QAAQ,EAAA,EAChBA,OAAA,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAM,IAAI,EAAC,QAAQ,EAAA,CAAQ,CACvB,EACNA,OAAA,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAM,IAAI,EAAC,MAAM,EAAA,EAAE,IAAI,CAAC,WAAW,IAAIA,OAAU,CAAA,UAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,OAAO,EAAE,MAAM,IAAI,CAAC,SAAS,EAAE,EAAE,KAAK,EAAC,gBAAgB,EAAW,WAAA,EAAA,qBAAqB,EAAY,CAAA,CAAQ,CACxJ,CACF;;;;;;;","names":["tv","h"],"sources":["src/components/alert/alert.css?tag=bcm-alert&encapsulation=shadow","src/components/alert/alert.component.tsx"],"sourcesContent":[":host {\n display: inline-block;\n width: 100%;\n --bcm-alert-bg: var(--bcm-ui-color-background-default-default);\n --bcm-alert-text: var(--bcm-ui-color-text-default);\n --bcm-alert-radius: 6px;\n}\n","import { Component, ComponentInterface, h, Prop, Event, EventEmitter } from '@stencil/core';\nimport { AlertKind, AlertSize, AlertStatus } from './types';\nimport { tv } from '@utils/tv';\n\n/**\n * Alert component that displays messages with different statuses and styles\n * @class BcmAlert\n */\n@Component({\n tag: 'bcm-alert',\n styleUrl: 'alert.css',\n shadow: true,\n})\nexport class BcmAlert implements ComponentInterface {\n /** Alert status type */\n @Prop()\n status?: AlertStatus = 'default';\n\n /** Alert size variant */\n @Prop()\n size?: AlertSize = 'medium';\n\n /** Alert style variant */\n @Prop()\n kind?: AlertKind = 'filled';\n\n /** Whether alert can be dismissed */\n @Prop()\n dismissible?: boolean = true;\n\n /** Whether to show status icon */\n @Prop()\n showStatusIcon?: boolean = true;\n\n @Event() bcmDismiss: EventEmitter<void>;\n\n /**\n * Handles alert dismissal\n * @private\n */\n private onDismiss() {\n this.bcmDismiss.emit();\n }\n\n private getStatusIcon() {\n const statusIcon = {\n info: 'fa-regular fa-info-circle',\n error: 'fa-regular fa-exclamation-circle',\n warning: 'fa-regular fa-exclamation-triangle',\n success: 'fa-regular fa-check-circle',\n };\n return statusIcon[this.status];\n }\n\n private get alertClass() {\n return tv(\n {\n slots: {\n base: 'alert bcm-ui-element font-medium flex items-center justify-between bg-[--bcm-alert-bg] text-[--bcm-alert-text] rounded-[--bcm-alert-radius] px-3 gap-3 w-full',\n section: 'flex items-center gap-2',\n },\n variants: {\n size: {\n small: {\n base: 'py-1.5 text-size-4',\n },\n medium: {\n base: 'py-2 text-size-5',\n },\n large: {\n base: 'py-2.5 text-size-6',\n },\n },\n },\n },\n {\n twMerge: false,\n },\n );\n }\n\n private get alertStyles() {\n let colorStatus = {\n info: 'var(--bcm-ui-color-background-palette-blue-default)',\n error: 'var(--bcm-ui-color-background-palette-red-default)',\n warning: 'var(--bcm-ui-color-background-palette-yellow-default)',\n success: 'var(--bcm-ui-color-background-palette-green-default)',\n default: 'var(--bcm-ui-color-background-palette-gray-default)',\n };\n\n let textStatusColor = {\n info: 'var(--bcm-ui-color-text-info)',\n error: 'var(--bcm-ui-color-text-error)',\n warning: 'var(--bcm-ui-color-text-warning)',\n success: 'var(--bcm-ui-color-text-success)',\n default: 'var(--bcm-ui-color-text-default)',\n };\n\n let filleStyle = {\n '--bcm-alert-bg': colorStatus[this.status],\n '--bcm-alert-text': textStatusColor[this.status],\n };\n\n let textStyle = {\n '--bcm-alert-bg': 'transparent',\n '--bcm-alert-text': textStatusColor[this.status],\n };\n\n return this.kind === 'filled' ? filleStyle : textStyle;\n }\n\n render() {\n const { base, section } = this.alertClass({ size: this.size });\n return (\n <div role=\"alert\" aria-live=\"assertive\" aria-atomic=\"true\" class={base()} style={this.alertStyles}>\n <div class={section()}>\n {this.showStatusIcon && <bcm-icon icon-name={this.getStatusIcon()}></bcm-icon>}\n <slot></slot>\n </div>\n <div class={section()}>\n <div part=\"action\">\n <slot name=\"action\"></slot>\n </div>\n <span part=\"icon\">{this.dismissible && <bcm-icon onClick={() => this.onDismiss()} class=\"cursor-pointer\" icon-name=\"fa-regular fa-xmark\"></bcm-icon>}</span>\n </div>\n </div>\n );\n }\n}\n"],"version":3}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"file":"bcm-avatar.entry.cjs.js","mappings":"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","names":["cs","h"],"sources":["src/components/avatar/avatar.css?tag=bcm-avatar&encapsulation=shadow","src/components/avatar/avatar.component.tsx"],"sourcesContent":[":host {\n --bcm-avatar-bg: var(--bcm-ui-color-background-default-default);\n --bcm-avatar-text: var(--bcm-ui-color-text-default);\n --bcm-avatar-radius: 50%;\n}\n","import { Component, Prop, State, h } from '@stencil/core';\nimport cs from 'classnames';\nimport { AvatarShape, AvatarSize, AvatarStatus } from './types';\n\n@Component({\n tag: 'bcm-avatar',\n styleUrl: 'avatar.css',\n shadow: true,\n})\nexport class BcmAvatar {\n /** Source URL for avatar image */\n @Prop()\n image: string;\n\n /** Alternative text for image */\n @Prop()\n alt: string;\n\n /** Shape of the avatar (ellipse/square) */\n @Prop()\n shape: AvatarShape = 'ellipse';\n\n /** Size of the avatar */\n @Prop()\n size: AvatarSize = 'medium';\n\n /** Custom background color */\n @Prop()\n color: string;\n\n /** Fallback icon class */\n @Prop()\n icon: string = 'fas fa-user';\n\n /** Status indicator type */\n @Prop()\n status: AvatarStatus;\n\n /** Status indicator animation */\n @Prop()\n blink = false;\n\n /** Display name (used for initials) */\n @Prop()\n name: string;\n\n @State() isFallback: boolean = false;\n\n private getFirstLetters(name: string): string {\n const words = name.split(' ');\n const initials = words.map(word => word.charAt(0).toUpperCase()).join('');\n return initials.substring(0, 2);\n }\n\n render() {\n const baseClass = cs(\n 'bcm-avatar bcm-ui-element bcm-ui-content-display',\n 'uppercase font-medium',\n 'inline-flex items-center justify-center',\n 'bg-[--bcm-avatar-bg] text-[--bcm-avatar-text]',\n {\n 'shape-ellipse rounded-full': this.shape === 'ellipse',\n 'shape-square rounded-[--bcm-ui-radius]': this.shape === 'square',\n 'size-small text-size-4 w-6 h-6': this.size === 'small',\n 'size-medium text-size-5 w-8 h-8': this.size === 'medium',\n 'size-large text-size-6 w-10 h-10': this.size === 'large',\n },\n );\n\n const badgeClass = cs('badge', {\n 'top-0 right-0': this.shape === 'ellipse',\n '-top-0.5 -right-0.5': this.shape === 'square',\n });\n\n const imageClass = cs('image w-full h-full', {\n 'rounded-full': this.shape === 'ellipse',\n 'rounded-[--bcm-ui-radius]': this.shape === 'square',\n });\n\n let style = {};\n\n if (this.color) {\n const isColorTone = this.color.includes('-');\n const _color = isColorTone ? this.color.split('-')[0] : this.color;\n\n const bgColor = `var(--bcm-ui-color-background-palette-${_color}-default)`;\n const textColor = `var(--bcm-ui-color-text-palette-${_color}`;\n style = {\n '--bcm-avatar-bg': bgColor,\n '--bcm-avatar-text': textColor,\n };\n }\n\n const customSize = !Object.keys(['small', 'medium', 'large']).includes(this.size)\n ? {\n width: `${this.size}px`,\n height: `${this.size}px`,\n fontSize: `${+this.size / 2}px`,\n }\n : {};\n\n const RenderContent = () => {\n if (this.isFallback) {\n if (this.name) {\n return this.getFirstLetters(this.name);\n } else {\n return <i class={this.icon}></i>;\n }\n } else if (this.image) {\n return <img class={imageClass} onError={() => (this.isFallback = true)} src={this.image} alt={this.alt} aria-label={this.alt || this.name || 'Avatar'} />;\n } else if (this.name) {\n return this.getFirstLetters(this.name);\n } else {\n return <i class={this.icon}></i>;\n }\n };\n\n return (\n <div role=\"img\" aria-label={this.alt || this.name || 'Avatar'} class={baseClass} style={{ ...style, ...customSize }}>\n <RenderContent />\n {this.status && <bcm-badge class={badgeClass} status={this.status} blink={this.blink} aria-hidden=\"true\"></bcm-badge>}\n <slot></slot>\n </div>\n );\n }\n}\n"],"version":3}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"file":"bcm-badge.entry.cjs.js","mappings":"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","names":["tv","h"],"sources":["src/components/badge/badge.css?tag=bcm-badge&encapsulation=shadow","src/components/badge/badge.component.tsx"],"sourcesContent":[":host {\n display: inline-block;\n position: relative;\n --bcm-badge-bg: var(--bcm-ui-color-background-default-default);\n --bcm-badge-text: var(--bcm-ui-color-text-default);\n --bcm-badge-radius: 9999px;\n}\n\n::slotted([slot='badge']) {\n color: var(--bcm-badge-text);\n font-weight: 500;\n}\n","import { Component, ComponentInterface, Prop, h } from '@stencil/core';\nimport { tv } from '@utils/tv';\n\n/**\n * @component BcmBadge\n * @description A versatile badge component that can be positioned around its container.\n * Supports different sizes, variants (dot/text), colors, and positioning options.\n * Can display status indicators with optional blinking animation.\n *\n * @example Basic usage\n * <bcm-badge color=\"primary\" position=\"top-right\">\n * <div>Container Content</div>\n * <span slot=\"badge\">New</span>\n * </bcm-badge>\n *\n * @example Status indicator with blink\n * <bcm-badge variant=\"dot\" color=\"success\" blink={true} status=\"Online\">\n * <div>User Profile</div>\n * </bcm-badge>\n */\n@Component({\n tag: 'bcm-badge',\n styleUrl: 'badge.css',\n shadow: true,\n})\nexport class Badge implements ComponentInterface {\n /**\n * Determines the size of the badge.\n * @type {'small' | 'medium' | 'large'}\n * @default 'medium'\n */\n @Prop()\n size: 'small' | 'medium' | 'large' = 'medium';\n\n /**\n * Sets the visual variant of the badge.\n * 'dot': Appears as a small dot indicator\n * 'text': Displays content as text\n * @type {'dot' | 'text'}\n * @default 'text'\n */\n @Prop()\n variant: 'dot' | 'text' = 'text';\n\n /**\n * Defines the color of the badge.\n * Uses system color variables (e.g., 'primary', 'success', 'warning', etc.)\n * @type {string}\n * @optional\n */\n @Prop()\n color?: string;\n\n /**\n * Enables soft color mode for the badge.\n * When true, uses lighter tones and pastel colors.\n * @type {boolean}\n * @default false\n */\n @Prop()\n soft: boolean = false;\n\n /**\n * Enables blinking animation for the badge.\n * Useful for drawing attention or indicating active status.\n * @type {boolean}\n * @default false\n */\n @Prop()\n blink: boolean = false;\n\n /**\n * Status message for accessibility purposes.\n * Will be read by screen readers.\n * @type {string}\n * @optional\n */\n @Prop()\n status?: string;\n\n /**\n * Sets the position of the badge relative to its container.\n * @type {'top-right' | 'top-left' | 'bottom-right' | 'bottom-left'}\n * @default 'top-right'\n */\n @Prop()\n position: 'top-right' | 'top-left' | 'bottom-right' | 'bottom-left' = 'top-right';\n\n /**\n * Fine-tune the badge position with custom offset.\n * Format: \"x,y\" in pixels (e.g., \"10,-5\")\n * @type {string}\n * @optional\n */\n @Prop()\n offset: string;\n\n /**\n * Text to be displayed inside the badge.\n * Used when variant is set to 'text'.\n * Can be overridden using the \"badge\" slot.\n * @type {string}\n * @optional\n */\n @Prop()\n text?: string;\n\n private classes = tv({\n base: 'badge bcm-ui-element absolute font-medium inline-flex items-center justify-center bg-[--bcm-badge-bg] text-[--bcm-badge-text] rounded-[--bcm-badge-radius] z-10',\n variants: {\n size: {\n small: 'gap-1 px-1 text-size-3',\n medium: 'gap-1 py-0.5 px-1.5 text-size-4',\n large: 'gap-2 py-1 px-2 text-size-5',\n },\n variant: {\n dot: 'gap-0 p-0 text-[0px] leading-none',\n text: '',\n },\n position: {\n 'top-right': '-top-1 -right-1',\n 'top-left': '-top-1 -left-1',\n 'bottom-right': '-bottom-1 -right-1',\n 'bottom-left': '-bottom-1 -left-1',\n },\n blink: {\n true: 'after:content-[\"\"] after:absolute after:rounded-full after:bg-[--bcm-badge-bg] after:animate-blink after:w-full after:h-full',\n },\n },\n compoundVariants: [\n {\n variant: 'dot',\n size: 'small',\n class: 'size-1',\n },\n {\n variant: 'dot',\n size: 'medium',\n class: 'size-1.5',\n },\n {\n variant: 'dot',\n size: 'large',\n class: 'size-2',\n },\n ],\n defaultVariants: {\n variant: 'text',\n size: 'medium',\n position: 'top-right',\n blink: false,\n },\n });\n\n private get offsetStyle() {\n if (!this.offset) return {};\n const [x = 0, y = 0] = this.offset.split(',').map(val => val.trim());\n return { transform: `translate(${x}px, ${y}px)` };\n }\n\n private get badgeStyle() {\n if (!this.color) return {};\n const variantType = this.soft ? 'soft' : 'vivid';\n\n return {\n '--bcm-badge-bg': `var(--bcm-ui-color-background-${variantType}-${this.color}-default)`,\n '--bcm-badge-text': this.soft ? `var(--bcm-ui-color-text-palette-${this.color})` : 'var(--bcm-ui-color-text-base)',\n };\n }\n\n render() {\n return (\n <div class=\"relative inline-flex\">\n <slot></slot>\n <div\n role=\"status\"\n aria-live=\"polite\"\n aria-label={this.status ? `Status: ${this.status}` : undefined}\n class={this.classes({\n size: this.size,\n variant: this.variant,\n position: this.position,\n blink: this.blink,\n })}\n style={{\n ...this.badgeStyle,\n ...this.offsetStyle,\n }}\n >\n {this.variant == 'text' && <slot name=\"badge\">{this.text}</slot>}\n </div>\n </div>\n );\n }\n}\n"],"version":3}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"file":"bcm-basic-badge.entry.cjs.js","mappings":";;;;;AAAA,MAAM,aAAa,GAAG,ovDAAovD;;MCsB7vD,UAAU,GAAA,MAAA;AALvB,IAAA,WAAA,CAAA,OAAA,EAAA;;AAME;;;;AAIG;AAEH,QAAA,IAAI,CAAA,IAAA,GAAiC,QAAQ;AAE7C;;;;;;AAMG;AAEH,QAAA,IAAO,CAAA,OAAA,GAAmB,MAAM;AAWhC;;;;;AAKG;AAEH,QAAA,IAAI,CAAA,IAAA,GAAY,KAAK;AAWb,QAAA,IAAO,CAAA,OAAA,GAAGA,KAAE,CAAC;AACnB,YAAA,IAAI,EAAE,iLAAiL;AACvL,YAAA,QAAQ,EAAE;AACR,gBAAA,IAAI,EAAE;AACJ,oBAAA,KAAK,EAAE,kBAAkB;AACzB,oBAAA,MAAM,EAAE,2BAA2B;AACnC,oBAAA,KAAK,EAAE,uBAAuB;AAC/B,iBAAA;AACD,gBAAA,OAAO,EAAE;AACP,oBAAA,GAAG,EAAE,mCAAmC;AACxC,oBAAA,IAAI,EAAE,EAAE;AACT,iBAAA;AACF,aAAA;AACD,YAAA,gBAAgB,EAAE;AAChB,gBAAA;AACE,oBAAA,OAAO,EAAE,KAAK;AACd,oBAAA,IAAI,EAAE,OAAO;AACb,oBAAA,KAAK,EAAE,QAAQ;AAChB,iBAAA;AACD,gBAAA;AACE,oBAAA,OAAO,EAAE,KAAK;AACd,oBAAA,IAAI,EAAE,QAAQ;AACd,oBAAA,KAAK,EAAE,UAAU;AAClB,iBAAA;AACD,gBAAA;AACE,oBAAA,OAAO,EAAE,KAAK;AACd,oBAAA,IAAI,EAAE,OAAO;AACb,oBAAA,KAAK,EAAE,QAAQ;AAChB,iBAAA;AACF,aAAA;AACD,YAAA,eAAe,EAAE;AACf,gBAAA,OAAO,EAAE,MAAM;AACf,gBAAA,IAAI,EAAE,QAAQ;AACd,gBAAA,KAAK,EAAE,KAAK;AACb,aAAA;AACF,SAAA,CAAC;AAgCH;AA9BC,IAAA,IAAY,UAAU,GAAA;QACpB,IAAI,CAAC,IAAI,CAAC,KAAK;AAAE,YAAA,OAAO,EAAE;AAC1B,QAAA,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,GAAG,SAAS,GAAG,OAAO;QAEnD,OAAO;AACL,YAAA,gBAAgB,EAAE,CAAiC,8BAAA,EAAA,WAAW,IAAI,IAAI,CAAC,KAAK,CAAW,SAAA,CAAA;AACvF,YAAA,kBAAkB,EAAE,IAAI,CAAC,IAAI,GAAG,CAAmC,gCAAA,EAAA,IAAI,CAAC,KAAK,CAAA,CAAA,CAAG,GAAG,+BAA+B;SACnH;;IAGH,MAAM,GAAA;AACJ,QAAA,QACEC,mEACE,IAAI,EAAC,MAAM,EACX,IAAI,EAAC,QAAQ,EACH,WAAA,EAAA,QAAQ,EAClB,KAAK,EAAE,IAAI,CAAC,UAAU,EACtB,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC;gBAClB,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,OAAO,EAAE,IAAI,CAAC,OAAO;AACtB,aAAA,CAAC,EAAA,EAED,IAAI,CAAC,OAAO,KAAK,MAAM,KACtBA,OAAA,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAM,KAAK,EAAC,eAAe,EAAA,EACzBA,OAAA,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,CAAa,CACR,CACR,CACI;;;;;;;","names":["tv","h"],"sources":["src/components/basic-badge/basic-badge.css?tag=bcm-basic-badge&encapsulation=shadow","src/components/basic-badge/basic-badge.component.tsx"],"sourcesContent":[":host {\n display: inline-flex;\n height: fit-content;\n width: fit-content;\n --bcm-badge-bg: var(--bcm-ui-color-background-default-default);\n --bcm-badge-text: var(--bcm-ui-color-text-default);\n --bcm-badge-radius: 9999px;\n}\n\n.badge-content {\n color: var(--bcm-badge-text);\n font-weight: 500;\n}\n","import { Component, ComponentInterface, Prop, h } from '@stencil/core';\nimport { tv } from '@utils/tv';\n\n/**\n * @component BcmBasicBadge\n * @description A basic badge component that can be used as a status indicator or to highlight content.\n * Supports dot and text variants with different sizes and color options.\n *\n * @example Basic usage\n * <bcm-basic-badge size=\"medium\" color=\"primary\">\n * New\n * </bcm-basic-badge>\n *\n * @example Dot variant\n * <bcm-basic-badge variant=\"dot\" color=\"success\" />\n */\n\n@Component({\n tag: 'bcm-basic-badge',\n styleUrl: 'basic-badge.css',\n shadow: true,\n})\nexport class BasicBadge implements ComponentInterface {\n /**\n * Determines the size of the badge.\n * @type {'small' | 'medium' | 'large'}\n * @default 'medium'\n */\n @Prop()\n size: 'small' | 'medium' | 'large' = 'medium';\n\n /**\n * Sets the visual variant of the badge.\n * 'dot': Appears as a small dot indicator\n * 'text': Displays content as text\n * @type {'dot' | 'text'}\n * @default 'text'\n */\n @Prop()\n variant: 'dot' | 'text' = 'text';\n\n /**\n * Defines the color of the badge.\n * Uses system color variables (e.g., 'primary', 'success', 'warning', etc.)\n * @type {string}\n * @optional\n */\n @Prop()\n color?: string;\n\n /**\n * Enables soft color mode for the badge.\n * When true, uses lighter tones and pastel colors.\n * @type {boolean}\n * @default false\n */\n @Prop()\n soft: boolean = false;\n\n /**\n * Text to be displayed inside the badge.\n * Used when variant is set to 'text'.\n * @type {string}\n * @optional\n */\n @Prop()\n text?: string;\n\n private classes = tv({\n base: 'badge bcm-ui-element inline-flex items-center justify-center whitespace-nowrap select-none font-medium bg-[--bcm-badge-bg] text-[--bcm-badge-text] rounded-[--bcm-badge-radius]',\n variants: {\n size: {\n small: 'px-1 text-size-3',\n medium: 'py-0.5 px-1.5 text-size-4',\n large: 'py-1 px-2 text-size-5',\n },\n variant: {\n dot: 'gap-0 p-0 text-[0px] leading-none',\n text: '',\n },\n },\n compoundVariants: [\n {\n variant: 'dot',\n size: 'small',\n class: 'size-1',\n },\n {\n variant: 'dot',\n size: 'medium',\n class: 'size-1.5',\n },\n {\n variant: 'dot',\n size: 'large',\n class: 'size-2',\n },\n ],\n defaultVariants: {\n variant: 'text',\n size: 'medium',\n blink: false,\n },\n });\n\n private get badgeStyle() {\n if (!this.color) return {};\n const variantType = this.soft ? 'palette' : 'vivid';\n\n return {\n '--bcm-badge-bg': `var(--bcm-ui-color-background-${variantType}-${this.color}-default)`,\n '--bcm-badge-text': this.soft ? `var(--bcm-ui-color-text-palette-${this.color})` : 'var(--bcm-ui-color-text-base)',\n };\n }\n\n render() {\n return (\n <span\n part=\"base\"\n role=\"status\"\n aria-live=\"polite\"\n style={this.badgeStyle}\n class={this.classes({\n size: this.size,\n variant: this.variant,\n })}\n >\n {this.variant === 'text' && (\n <span class=\"badge-content\">\n <slot></slot>\n </span>\n )}\n </span>\n );\n }\n}\n"],"version":3}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"file":"bcm-button-group.entry.cjs.js","mappings":"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","names":["tv","h","Host"],"sources":["src/components/button-group/button-group.css?tag=bcm-button-group&encapsulation=shadow","src/components/button-group/button-group.component.tsx"],"sourcesContent":[":host {\n display: block;\n}\n\n.bcm-button-group {\n display: flex;\n}\n","import { Component, Prop, h, Host, Element, ComponentInterface } from '@stencil/core';\nimport { ButtonKind, ButtonSize, ButtonStatus } from '../button/types';\nimport { tv } from '@utils/tv';\n\n@Component({\n tag: 'bcm-button-group',\n styleUrl: 'button-group.css',\n shadow: true,\n})\nexport class BcmButtonGroup implements ComponentInterface {\n @Element() host: HTMLElement;\n\n /** Defines the main visual style of buttons */\n @Prop()\n kind?: ButtonKind;\n\n /** Controls the button size */\n @Prop()\n size?: ButtonSize;\n\n /** Defines the button's status/state color */\n @Prop()\n status?: ButtonStatus;\n\n /** Full width buttons */\n @Prop({ attribute: 'full-width', reflect: true })\n fullWidth?: boolean;\n\n /** Loading state */\n @Prop()\n loading?: boolean;\n\n /** Disabled state */\n @Prop()\n disabled?: boolean;\n\n /** Button orientation */\n @Prop({ reflect: true })\n orientation: 'horizontal' | 'vertical' = 'horizontal';\n\n componentDidLoad() {\n this.applyPropertiesToButtons();\n this.setButtonPositions();\n }\n\n componentDidUpdate() {\n this.applyPropertiesToButtons();\n this.setButtonPositions();\n }\n\n private applyPropertiesToButtons() {\n const buttons = this.host.querySelectorAll('bcm-button');\n\n buttons.forEach(button => {\n if (this.kind !== undefined) button.kind = this.kind;\n if (this.size !== undefined) button.size = this.size;\n if (this.status !== undefined) button.status = this.status;\n if (this.fullWidth !== undefined) button.fullWidth = this.fullWidth;\n if (this.loading !== undefined) button.loading = this.loading;\n if (this.disabled !== undefined) button.disabled = this.disabled;\n\n if (this.orientation === 'vertical') {\n button.classList.add('orientation-vertical');\n } else {\n button.classList.remove('orientation-vertical');\n }\n });\n }\n\n private setButtonPositions() {\n const buttons = this.host.querySelectorAll('bcm-button');\n const totalButtons = buttons.length;\n\n if (totalButtons === 0) return;\n\n buttons.forEach((button, index) => {\n if (totalButtons === 1) {\n button.position = null;\n } else if (index === 0) {\n button.position = 'first';\n } else if (index === totalButtons - 1) {\n button.position = 'last';\n } else {\n button.position = 'middle';\n }\n });\n }\n\n private buttonGroupClass = tv(\n {\n base: 'bcm-button-group',\n variants: {\n orientation: {\n horizontal: 'flex flex-row',\n vertical: 'flex flex-col',\n },\n fullWidth: {\n true: 'w-full',\n },\n },\n defaultVariants: {\n orientation: 'horizontal',\n },\n },\n {\n twMerge: false,\n },\n );\n\n render() {\n return (\n <Host>\n <div\n class={this.buttonGroupClass({\n orientation: this.orientation,\n fullWidth: this.fullWidth,\n })}\n >\n <slot></slot>\n </div>\n </Host>\n );\n }\n}\n"],"version":3}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"bcm-button.bcm-drawer.bcm-modal.entry.cjs.js","sources":["src/components/button/types.ts","src/components/button/button.css?tag=bcm-button&encapsulation=shadow","src/components/button/button.component.tsx","src/components/drawer/drawer.css?tag=bcm-drawer&encapsulation=shadow","src/components/drawer/drawer.component.tsx","src/components/modal/modal.css?tag=bcm-modal&encapsulation=shadow","src/components/modal/modal.component.tsx"],"sourcesContent":["export type ButtonKind = 'primary' | 'ghost' | 'text' | 'outline';\nexport type ButtonSize = 'small' | 'medium' | 'large';\nexport type ButtonType = 'button' | 'reset' | 'submit';\nexport type ButtonStatus = 'default' | 'success' | 'error' | 'warning' | 'info';\nexport type IconPosition = 'prefix' | 'suffix';\n\n// Button group position\nexport type ButtonPosition = 'first' | 'middle' | 'last' | null;\n\nexport interface VariantOption {\n text: string;\n icon?: string;\n iconPosition?: IconPosition;\n status?: ButtonStatus;\n kind?: ButtonKind;\n}\n\nexport const variantOptions: Record<string, VariantOption> = {\n save: {\n text: 'Save',\n status: 'success',\n icon: 'far fa-save',\n iconPosition: 'prefix',\n kind: 'primary',\n },\n ok: {\n text: 'Ok',\n status: 'success',\n icon: 'far fa-check',\n iconPosition: 'prefix',\n },\n new: {\n text: 'New',\n status: 'success',\n icon: 'far fa-plus',\n iconPosition: 'prefix',\n },\n add: {\n text: 'Add',\n status: 'success',\n icon: 'far fa-plus',\n iconPosition: 'prefix',\n },\n create: {\n text: 'Create',\n status: 'success',\n icon: 'far fa-plus',\n iconPosition: 'prefix',\n },\n prev: {\n text: 'Prev',\n status: 'default',\n icon: 'far fa-arrow-left',\n iconPosition: 'prefix',\n },\n next: {\n text: 'Next',\n status: 'default',\n icon: 'far fa-arrow-right',\n iconPosition: 'suffix',\n },\n apply: {\n text: 'Apply',\n status: 'default',\n icon: 'far fa-check-circle',\n iconPosition: 'prefix',\n },\n submit: {\n text: 'Submit',\n status: 'default',\n icon: 'far fa-save',\n iconPosition: 'prefix',\n },\n send: {\n text: 'Send',\n status: 'success',\n icon: 'far fa-paper-plane',\n iconPosition: 'prefix',\n },\n delete: {\n text: 'Delete',\n status: 'error',\n icon: 'far fa-trash',\n iconPosition: 'prefix',\n },\n cancel: {\n text: 'Cancel',\n status: 'error',\n icon: 'far fa-times',\n iconPosition: 'prefix',\n },\n decline: {\n text: 'Decline',\n status: 'error',\n icon: 'far fa-ban',\n iconPosition: 'prefix',\n },\n close: {\n text: 'Close',\n status: 'error',\n icon: 'far fa-times-circle',\n iconPosition: 'prefix',\n },\n archive: {\n text: 'Archive',\n status: 'error',\n icon: 'far fa-folder-open',\n iconPosition: 'prefix',\n },\n remove: {\n text: 'Remove',\n status: 'error',\n icon: 'far fa-minus-circle',\n iconPosition: 'prefix',\n },\n edit: {\n text: 'Edit',\n status: 'default',\n icon: 'far fa-edit',\n iconPosition: 'prefix',\n },\n export: {\n text: 'Export',\n status: 'default',\n icon: 'far fa-sign-out',\n iconPosition: 'prefix',\n },\n import: {\n text: 'Import',\n status: 'default',\n icon: 'far fa-sign-in',\n iconPosition: 'prefix',\n },\n filter: {\n text: 'Filter',\n status: 'default',\n icon: 'far fa-filter',\n iconPosition: 'prefix',\n },\n update: {\n text: 'Update',\n status: 'default',\n icon: 'far fa-sync',\n iconPosition: 'prefix',\n },\n reset: {\n text: 'Reset',\n status: 'default',\n icon: 'far fa-sync',\n iconPosition: 'prefix',\n },\n download: {\n text: 'Download',\n status: 'default',\n icon: 'far fa-download',\n iconPosition: 'prefix',\n },\n};\n\nexport type ButtonVariant = keyof typeof variantOptions;\n",":host {\n display: inline-flex;\n position: relative;\n height: fit-content;\n width: fit-content;\n}\n\n:host([full-width]) {\n width: 100%;\n}\n\n:host([position='first']) .bcm-button {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n\n:host([position='middle']) .bcm-button {\n border-radius: 0;\n}\n\n:host([position='last']) .bcm-button {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n:host([position='first'].orientation-vertical) .bcm-button {\n border-bottom-left-radius: 0;\n border-bottom-right-radius: 0;\n border-top-right-radius: var(--bcm-ui-border-radius, 4px);\n border-top-left-radius: var(--bcm-ui-border-radius, 4px);\n}\n\n:host([position='middle'].orientation-vertical) .bcm-button {\n border-radius: 0;\n}\n\n:host([position='last'].orientation-vertical) .bcm-button {\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n border-bottom-right-radius: var(--bcm-ui-border-radius, 4px);\n border-bottom-left-radius: var(--bcm-ui-border-radius, 4px);\n}\n","import { Component, Prop, h, Event, EventEmitter, Host } from '@stencil/core';\nimport { ButtonKind, ButtonSize, ButtonType, ButtonStatus, ButtonVariant, IconPosition, ButtonPosition, variantOptions } from './types';\nimport { tv } from '@utils/tv';\n\n@Component({\n tag: 'bcm-button',\n styleUrl: 'button.css',\n shadow: true,\n})\nexport class BcmButton {\n /** Defines the main visual style of the button */\n @Prop()\n kind: ButtonKind = 'primary';\n\n /** Controls the button size */\n @Prop()\n size: ButtonSize = 'medium';\n\n /** Defines the button's status/state color */\n @Prop()\n status: ButtonStatus = 'default';\n\n /** Predefined button variants */\n @Prop()\n variant?: ButtonVariant;\n\n /** Button position in button group (first, middle, last) */\n @Prop({ reflect: true })\n position?: ButtonPosition;\n\n /** Icon class name */\n @Prop()\n icon?: string;\n\n /** Icon placement (prefix/suffix) */\n @Prop()\n iconPosition: IconPosition = 'prefix';\n\n /** Icon-only button mode */\n @Prop()\n iconOnly = false;\n\n /** Full width button */\n @Prop({ attribute: 'full-width', reflect: true })\n fullWidth = false;\n\n /** HTML button type */\n @Prop()\n type: ButtonType = 'button';\n\n /** Loading state */\n @Prop()\n loading = false;\n\n /** Disabled state */\n @Prop()\n disabled = false;\n\n /** Button text content */\n @Prop()\n text?: string;\n\n /** Active state */\n @Prop()\n active = false;\n\n /** Form association */\n @Prop()\n form: string;\n\n @Prop()\n value: string;\n\n @Prop()\n name: string;\n\n /** Screen reader label */\n @Prop()\n label: string;\n\n /** Expanded state for expandable content */\n @Prop()\n expanded?: string;\n\n /** ID of controlled element */\n @Prop()\n controls: string;\n\n @Event({\n composed: false,\n bubbles: false,\n cancelable: true,\n })\n bcmClick: EventEmitter<MouseEvent>;\n\n @Event({\n composed: false,\n bubbles: false,\n cancelable: true,\n })\n bcmFocus: EventEmitter<FocusEvent>;\n\n @Event({\n composed: false,\n bubbles: false,\n cancelable: true,\n })\n bcmBlur: EventEmitter<FocusEvent>;\n\n private handleClick = (event: MouseEvent) => {\n if (!this.disabled && !this.loading) {\n this.bcmClick.emit(event);\n }\n };\n\n private handleFocus = (event: FocusEvent) => {\n this.bcmFocus.emit(event);\n };\n\n private handleBlur = (event: FocusEvent) => {\n this.bcmBlur.emit(event);\n };\n\n private get buttonText(): string {\n return this.text || (this.variant && variantOptions[this.variant] ? variantOptions[this.variant].text : '');\n }\n\n private get buttonIcon(): { icon?: string; position: IconPosition } {\n if (this.variant && variantOptions[this.variant]?.icon) {\n return {\n icon: variantOptions[this.variant].icon,\n position: variantOptions[this.variant].iconPosition || 'prefix',\n };\n }\n\n return {\n icon: this.icon,\n position: this.iconPosition,\n };\n }\n\n private get buttonStatus(): ButtonStatus {\n return this.variant && variantOptions[this.variant] ? variantOptions[this.variant].status : this.status;\n }\n\n private get buttonStyles() {\n const status = this.buttonStatus === 'default' ? 'primary' : this.buttonStatus;\n\n // These are the internal default styles based on component props (kind, status)\n const kindStyleMap = {\n primary: {\n '--bcm-button-bg': `var(--bcm-ui-color-background-${status}-default)`,\n '--bcm-button-bg-hover': `var(--bcm-ui-color-background-${status}-hover)`,\n '--bcm-button-bg-active': `var(--bcm-ui-color-background-${status}-active)`,\n '--bcm-button-border': 'transparent',\n '--bcm-button-text': 'var(--bcm-ui-color-text-base)',\n },\n outline: {\n '--bcm-button-bg': 'var(--bcm-ui-color-background-default-default)',\n '--bcm-button-bg-hover': 'var(--bcm-ui-color-background-default-hover)',\n '--bcm-button-bg-active': 'var(--bcm-ui-color-background-default-active)',\n '--bcm-button-border': `var(--bcm-ui-color-border-${this.buttonStatus})`,\n '--bcm-button-text': `var(--bcm-ui-color-text-${this.buttonStatus})`,\n },\n ghost: {\n '--bcm-button-bg': 'transparent',\n '--bcm-button-bg-hover': 'var(--bcm-ui-color-background-default-hover)',\n '--bcm-button-bg-active': 'var(--bcm-ui-color-background-default-active)',\n '--bcm-button-border': 'transparent',\n '--bcm-button-text': `var(--bcm-ui-color-text-${this.buttonStatus})`,\n },\n text: {\n '--bcm-button-bg': 'transparent',\n '--bcm-button-bg-hover': 'var(--bcm-ui-color-background-default-hover)',\n '--bcm-button-bg-active': 'var(--bcm-ui-color-background-default-active)',\n '--bcm-button-border': 'transparent',\n '--bcm-button-text': `var(--bcm-ui-color-text-${status})`,\n },\n };\n const internalDefaultStyles = kindStyleMap[this.kind];\n\n // These are the \"final\" CSS custom properties used by the component's styling.\n // They use the \"--bcm-button-custom-...\" token if provided by the user,\n // otherwise, they fall back to the internal \"--bcm-button-...\" style defined above.\n const finalEffectiveStyles = {\n '--bcm-final-text-color': `var(--bcm-button-custom-text-color, ${internalDefaultStyles['--bcm-button-text']})`,\n '--bcm-final-border-color': `var(--bcm-button-custom-border-color, ${internalDefaultStyles['--bcm-button-border']})`,\n '--bcm-final-bg-color': `var(--bcm-button-custom-bg-color, ${internalDefaultStyles['--bcm-button-bg']})`,\n '--bcm-final-hover-bg-color': `var(--bcm-button-custom-hover-bg-color, ${internalDefaultStyles['--bcm-button-bg-hover']})`,\n '--bcm-final-active-bg-color': `var(--bcm-button-custom-active-bg-color, ${internalDefaultStyles['--bcm-button-bg-active']})`,\n };\n\n // return kindStyleMap[this.kind];\n\n return {\n ...internalDefaultStyles, // Provides the fallback values like --bcm-button-text\n ...finalEffectiveStyles, // Defines the --bcm-final-xxx tokens that handle the override logic\n };\n }\n\n private buttonClass = tv(\n {\n base: 'bcm-button appearance-none inline-flex items-center justify-center border border-solid rounded outline-0',\n variants: {\n size: {\n small: 'text-size-4 py-px px-2 min-h-6',\n medium: 'text-size-5 py-0.5 px-3 min-h-8',\n large: 'text-size-6 py-1 px-3 min-h-10',\n },\n kind: {\n primary: 'kind-primary',\n ghost: 'kind-ghost',\n text: 'kind-text',\n outline: 'kind-outline',\n },\n fullWidth: {\n true: 'full-width w-full',\n },\n disabled: {\n true: 'disabled cursor-not-allowed bg-[--bcm-ui-color-background-disabled-default] text-color-disabled border-color-disabled',\n false: [\n 'cursor-pointer',\n 'bg-[--bcm-final-bg-color] text-[--bcm-final-text-color] border-[--bcm-final-border-color]',\n 'hover:bg-[--bcm-final-hover-bg-color]',\n 'active:bg-[--bcm-final-active-bg-color]',\n 'focus-visible:ring',\n ],\n },\n loading: {\n true: '',\n },\n position: {\n first: 'position-first',\n middle: 'position-middle',\n last: 'position-last',\n },\n },\n defaultVariants: {\n size: 'medium',\n kind: 'primary',\n fullWidth: false,\n disabled: false,\n loading: false,\n },\n },\n {\n twMerge: false,\n },\n );\n\n render() {\n const { icon, position } = this.buttonIcon;\n\n return (\n <Host>\n <button\n type={this.type}\n disabled={this.disabled || this.loading}\n aria-label={this.label}\n aria-expanded={this.expanded}\n aria-controls={this.controls}\n aria-disabled={this.disabled}\n onClick={this.handleClick}\n onFocus={this.handleFocus}\n onBlur={this.handleBlur}\n style={this.buttonStyles}\n class={this.buttonClass({\n size: this.size,\n kind: this.kind,\n fullWidth: this.fullWidth,\n disabled: this.disabled,\n loading: this.loading,\n position: this.position,\n })}\n >\n {this.loading && <slot name=\"loading\"></slot>}\n <span>\n <slot name=\"prefix\">{position === 'prefix' && icon && <i class={' leading-none ' + icon}></i>}</slot>\n </span>\n <slot>{this.buttonText}</slot>\n <span>\n <slot name=\"suffix\">{position === 'suffix' && icon && <i class={' leading-none ' + icon}></i>}</slot>\n </span>\n </button>\n </Host>\n );\n }\n}\n",":host {\n display: contents;\n}\n","import { Component, Prop, h, Element, Event, EventEmitter, Method, Watch, Listen } from '@stencil/core';\nimport { tv } from '@utils/tv';\nimport { DrawerPosition, DrawerSize } from './types';\n\n@Component({\n tag: 'bcm-drawer',\n styleUrl: 'drawer.css',\n shadow: true,\n})\nexport class BcmDrawer {\n @Element() host: HTMLElement;\n\n @Prop({ mutable: true, reflect: true }) open: boolean = false;\n @Prop() size: DrawerSize = 'medium';\n @Prop() position: DrawerPosition = 'right';\n @Prop({ attribute: 'full-width' }) fullWidth: boolean = false;\n @Prop() headerText?: string;\n @Prop({ attribute: 'no-header' }) noHeader: boolean = false;\n\n @Event() bcmOpen: EventEmitter<void>;\n @Event() bcmClose: EventEmitter<void>;\n @Event({ cancelable: true }) bcmBeforeOpen: EventEmitter<void>;\n @Event({ cancelable: true }) bcmBeforeClose: EventEmitter<void>;\n\n private drawerClass = tv({\n slots: {\n backdrop: 'fixed inset-0 bg-color-transparent z-40 transition-opacity duration-300',\n wrapper: 'bcm-ui-element fixed bg-color-base text-color-default z-50 transform transition-transform duration-300 ease-in-out flex flex-col',\n header: 'flex justify-between items-center bg-color-default text-color-default',\n title: 'font-semibold m-0 text-size-6',\n closeButton: 'text-size-5 font-medium text-color-default bg-transparent border-none p-0 h-6 w-6 hover:bg-color-default-hover cursor-pointer active:bg-color-default-active',\n content: 'overflow-y-auto flex-grow',\n },\n variants: {\n open: {\n true: {\n backdrop: 'opacity-100 visible',\n },\n false: {\n backdrop: 'opacity-0 invisible',\n },\n },\n position: {\n left: {\n wrapper: 'top-0 left-0 bottom-0',\n },\n right: {\n wrapper: 'top-0 right-0 bottom-0',\n },\n top: {\n wrapper: 'top-0 left-0 right-0',\n },\n bottom: {\n wrapper: 'bottom-0 left-0 right-0',\n },\n },\n size: {\n small: {\n header: 'py-3 px-4',\n content: 'p-4',\n },\n medium: {\n header: 'py-3 px-4',\n content: 'p-4',\n },\n large: {\n header: 'py-3 px-4',\n content: 'p-4',\n },\n },\n noHeader: {\n true: {\n header: 'hidden',\n },\n },\n },\n compoundVariants: [\n {\n open: true,\n position: ['left', 'right'],\n class: {\n wrapper: 'translate-x-0',\n },\n },\n {\n open: true,\n position: ['top', 'bottom'],\n class: {\n wrapper: 'translate-y-0',\n },\n },\n {\n open: false,\n position: 'left',\n class: {\n wrapper: '-translate-x-full',\n },\n },\n {\n open: false,\n position: 'right',\n class: {\n wrapper: 'translate-x-full',\n },\n },\n {\n open: false,\n position: 'top',\n class: {\n wrapper: '-translate-y-full',\n },\n },\n {\n open: false,\n position: 'bottom',\n class: {\n wrapper: 'translate-y-full',\n },\n },\n ],\n });\n\n @Watch('open')\n handleOpenChange(isOpen: boolean) {\n if (isOpen) {\n document.body.style.overflow = 'hidden';\n this.bcmOpen.emit();\n } else {\n document.body.style.overflow = '';\n this.bcmClose.emit();\n }\n }\n\n @Listen('keydown', { target: 'window' })\n handleKeyDown(event: KeyboardEvent) {\n if (event.key === 'Escape' && this.open) {\n this.hide();\n }\n }\n\n @Method()\n async show(): Promise<void> {\n const event = this.bcmBeforeOpen.emit();\n if (!event.defaultPrevented) {\n this.open = true;\n }\n }\n\n @Method()\n async hide(): Promise<void> {\n const event = this.bcmBeforeClose.emit();\n if (!event.defaultPrevented) {\n this.open = false;\n }\n }\n\n disconnectedCallback() {\n document.body.style.overflow = '';\n }\n\n private getWrapperStyle() {\n const style: { [key: string]: string } = {};\n\n if (this.fullWidth) {\n if (this.position === 'left' || this.position === 'right') {\n style.width = '100vw';\n } else {\n style.height = '100vh';\n }\n return style;\n }\n\n if (this.position === 'left' || this.position === 'right') {\n switch (this.size) {\n case 'small':\n style.width = '320px';\n break;\n case 'medium':\n style.width = '480px';\n break;\n case 'large':\n style.width = '1064px';\n break;\n }\n } else {\n switch (this.size) {\n case 'small':\n style.height = '40vh';\n break;\n case 'medium':\n style.height = '60vh';\n break;\n case 'large':\n style.height = '90vh';\n break;\n }\n }\n\n return style;\n }\n\n render() {\n const { backdrop, wrapper, header, title, closeButton, content } = this.drawerClass({\n open: this.open,\n position: this.position,\n size: this.size,\n noHeader: this.noHeader,\n });\n\n return (\n <div part=\"base\">\n <div part=\"backdrop\" class={backdrop()} onClick={() => this.hide()} />\n <div\n part=\"wrapper\"\n class={wrapper()}\n style={this.getWrapperStyle()}\n role=\"dialog\"\n aria-modal=\"true\"\n aria-hidden={!this.open ? 'true' : 'false'}\n aria-label={this.headerText}\n >\n <div part=\"header\" class={header()}>\n <h2 part=\"title\" class={title()}>\n <slot name=\"header\">{this.headerText}</slot>\n </h2>\n <button part=\"close-button\" class={closeButton()} onClick={() => this.hide()} aria-label=\"Close\">\n <bcm-icon name=\"fa-solid fa-xmark\"></bcm-icon>\n </button>\n </div>\n <div part=\"content\" class={content()}>\n <slot />\n </div>\n <div part=\"footer\">\n <slot name=\"footer\" />\n </div>\n </div>\n </div>\n );\n }\n}\n",":host {\n display: contents;\n}\n","import { Component, Prop, h, Element, Event, EventEmitter, Method, Watch, Listen, State } from '@stencil/core';\nimport { tv } from '@utils/tv';\n\nexport type ModalSize = 'small' | 'medium' | 'large' | 'xlarge' | 'xxlarge' | 'full';\nexport type ModalPlacement = 'center' | 'top';\n\n@Component({\n tag: 'bcm-modal',\n styleUrl: 'modal.css',\n shadow: true,\n})\nexport class BcmModal {\n @Element() host: HTMLBcmModalElement;\n\n private dialogRef?: HTMLDialogElement;\n\n @Prop({ mutable: true, reflect: true }) open: boolean = false;\n @Prop() size: ModalSize = 'medium';\n @Prop() placement: ModalPlacement = 'center';\n @Prop() backdrop: boolean | 'static' = true;\n @Prop({ attribute: 'full-width' }) fullWidth: boolean = false;\n @Prop({ attribute: 'full-screen' }) fullScreen: boolean = false;\n @Prop({ attribute: 'header-text' }) headerText?: string;\n @Prop({ attribute: 'helper-text' }) helperText?: string;\n @Prop({ attribute: 'no-header' }) noHeader: boolean = false;\n @Prop({ attribute: 'no-footer' }) noFooter: boolean = false;\n @Prop({ attribute: 'close-on-backdrop' }) closeOnBackdrop: boolean = true;\n @Prop({ attribute: 'close-on-escape' }) closeOnEscape: boolean = true;\n\n @State() isAnimating: boolean = false;\n @State() shake: boolean = false;\n\n @Event() bcmOpen: EventEmitter<void>;\n @Event() bcmClose: EventEmitter<void>;\n @Event({ cancelable: true }) bcmBeforeOpen: EventEmitter<void>;\n @Event({ cancelable: true }) bcmBeforeClose: EventEmitter<void>;\n\n private modalClass = tv({\n slots: {\n dialog:\n 'bcm-ui-element fixed inset-0 m-0 p-0 w-full max-w-full h-full max-h-full border-none bg-transparent backdrop:bg-color-default-dark backdrop:opacity-50 backdrop:transition-opacity backdrop:duration-300',\n container: 'fixed inset-0 flex items-start justify-center p-4 overflow-y-auto overscroll-contain',\n modal: 'relative bg-color-basic-base text-color-default rounded-lg shadow-2xl transform transition-all duration-300 ease-in-out flex flex-col',\n header: 'flex justify-between items-start bg-color-base text-color-default border-color-default border-solid border-0 border-b rounded-t-lg',\n headerContent: 'flex-1 min-w-0 flex items-center gap-2',\n title: 'font-semibold m-0 text-size-6 text-color-header',\n helperText: 'text-size-5 text-color-placeholder m-0',\n closeButton:\n 'text-size-5 font-medium text-color-default bg-transparent border-none p-0 h-6 w-6 rounded hover:bg-color-default-hover cursor-pointer active:bg-color-active transition-colors flex-shrink-0 outline-none focus-visible:ring ',\n content: 'flex-grow overflow-y-auto',\n footer: 'flex items-center justify-end gap-2',\n },\n variants: {\n open: {\n true: {\n modal: 'opacity-100 translate-y-0 scale-100',\n },\n false: {\n modal: 'opacity-0 -translate-y-4 scale-95',\n },\n },\n placement: {\n center: {\n container: 'items-center',\n },\n top: {\n container: 'items-start pt-20',\n },\n },\n size: {\n small: {\n header: 'py-3 px-4',\n content: 'p-4',\n footer: 'py-3 px-4',\n },\n medium: {\n header: 'py-4 px-5',\n content: 'p-5',\n footer: 'py-4 px-5',\n },\n large: {\n header: 'py-4 px-6',\n content: 'p-6',\n footer: 'py-4 px-6',\n },\n xlarge: {\n header: 'py-5 px-6',\n content: 'p-6',\n footer: 'py-5 px-6',\n },\n xxlarge: {\n header: 'py-5 px-8',\n content: 'p-8',\n footer: 'py-5 px-8',\n },\n full: {\n header: 'py-5 px-8',\n content: 'p-8',\n footer: 'py-5 px-8',\n },\n },\n fullScreen: {\n true: {\n modal: 'rounded-none w-screen h-screen max-w-none max-h-none',\n container: 'p-0',\n },\n },\n shake: {\n true: {\n modal: 'animate-shake',\n },\n },\n noHeader: {\n true: {\n header: 'hidden',\n },\n },\n noFooter: {\n true: {\n footer: 'hidden',\n },\n },\n },\n });\n\n @Watch('open')\n async handleOpenChange(isOpen: boolean) {\n if (isOpen) {\n this.isAnimating = true;\n const event = this.bcmBeforeOpen.emit();\n if (event.defaultPrevented) {\n this.open = false;\n return;\n }\n\n // Use native dialog API with top-layer\n if (this.dialogRef) {\n this.dialogRef.showModal();\n // Small delay for animation\n await new Promise(resolve => setTimeout(resolve, 50));\n this.isAnimating = false;\n this.bcmOpen.emit();\n }\n } else {\n this.isAnimating = true;\n const event = this.bcmBeforeClose.emit();\n if (event.defaultPrevented) {\n this.open = true;\n return;\n }\n\n // Wait for animation before closing\n await new Promise(resolve => setTimeout(resolve, 300));\n if (this.dialogRef) {\n this.dialogRef.close();\n }\n this.isAnimating = false;\n this.bcmClose.emit();\n }\n }\n\n @Listen('click', { capture: true })\n handleClick(event: MouseEvent) {\n // Use composedPath to work with shadow DOM and slots\n const path = event.composedPath() as HTMLElement[];\n const dismissElement = path.find(el => el.hasAttribute?.('data-dismiss'));\n const closeModalElement = path.find(el => el.hasAttribute?.('data-close-modal'));\n\n if (dismissElement) {\n this.hide();\n event.preventDefault();\n event.stopPropagation();\n } else if (closeModalElement) {\n const modalId = closeModalElement.getAttribute('data-close-modal');\n // If modalId matches this modal's id, close it\n if (!modalId || modalId === this.host.id) {\n this.hide();\n event.preventDefault();\n event.stopPropagation();\n }\n }\n }\n\n @Listen('keydown')\n handleKeyDown(event: KeyboardEvent) {\n if (event.key === 'Escape' && this.open) {\n // Only handle ESC if this is the topmost modal\n const openModals = Array.from(document.querySelectorAll('bcm-modal[open]'));\n const topModal = openModals[openModals.length - 1];\n\n if (topModal !== this.host) {\n return;\n }\n\n event.preventDefault();\n if (this.closeOnEscape) {\n if (this.backdrop === 'static') {\n this.shakeModal();\n } else {\n this.hide();\n }\n } else if (this.backdrop === 'static') {\n this.shakeModal();\n }\n }\n }\n\n @Method()\n async show(): Promise<void> {\n this.open = true;\n }\n\n @Method()\n async hide(): Promise<void> {\n this.open = false;\n }\n\n @Method()\n async toggle(): Promise<void> {\n this.open = !this.open;\n }\n\n private shakeModal() {\n this.shake = true;\n setTimeout(() => {\n this.shake = false;\n }, 300);\n }\n\n private handleBackdropClick = (event: MouseEvent) => {\n const target = event.target as HTMLElement;\n // Check if click is on the container (backdrop area), not on modal content\n if (target.getAttribute('part') === 'container') {\n if (this.backdrop === 'static') {\n this.shakeModal();\n } else if (this.closeOnBackdrop) {\n this.hide();\n }\n }\n };\n\n private handleDialogCancel = (event: Event) => {\n event.preventDefault();\n if (this.closeOnEscape) {\n if (this.backdrop === 'static') {\n this.shakeModal();\n } else {\n this.hide();\n }\n }\n };\n\n private getModalStyle() {\n if (this.fullScreen) {\n return {\n width: '100vw',\n height: '100vh',\n maxWidth: 'none',\n maxHeight: 'none',\n };\n }\n\n if (this.fullWidth) {\n return {\n width: '100%',\n maxWidth: '100%',\n };\n }\n\n const widths = {\n small: '400px',\n medium: '600px',\n large: '800px',\n xlarge: '1024px',\n xxlarge: '1200px',\n full: '100%',\n };\n\n return {\n width: widths[this.size],\n maxWidth: this.fullScreen ? 'none' : '90vw',\n maxHeight: this.fullScreen ? 'none' : '90vh',\n };\n }\n\n componentDidLoad() {\n if (this.open && this.dialogRef) {\n this.dialogRef.showModal();\n }\n }\n\n disconnectedCallback() {\n if (this.dialogRef && this.open) {\n this.dialogRef.close();\n }\n }\n\n render() {\n const { dialog, container, modal, header, headerContent, title, helperText, closeButton, content, footer } = this.modalClass({\n open: this.open,\n placement: this.placement,\n size: this.size,\n fullScreen: this.fullScreen,\n shake: this.shake,\n noHeader: this.noHeader,\n noFooter: this.noFooter,\n });\n\n return (\n <dialog\n ref={el => (this.dialogRef = el)}\n part=\"dialog\"\n class={dialog()}\n onClick={this.handleBackdropClick}\n onCancel={this.handleDialogCancel}\n aria-labelledby=\"modal-title\"\n aria-describedby={this.helperText ? 'modal-helper' : undefined}\n aria-modal=\"true\"\n >\n <div part=\"container\" class={container()}>\n <div part=\"modal\" class={modal()} style={this.getModalStyle()} role=\"document\" onClick={e => e.stopPropagation()}>\n {!this.noHeader && (\n <div part=\"header\" class={header()}>\n <div part=\"header-content\" class={headerContent()}>\n <h2 id=\"modal-title\" part=\"title\" class={title()}>\n <slot name=\"header\">{this.headerText}</slot>\n </h2>\n {this.helperText && (\n <p id=\"modal-helper\" part=\"helper-text\" class={helperText()}>\n <slot name=\"helper\">{this.helperText}</slot>\n </p>\n )}\n </div>\n <button part=\"close-button\" class={closeButton()} onClick={() => this.hide()} aria-label=\"Close modal\" type=\"button\">\n <bcm-icon name=\"fa-solid fa-xmark\"></bcm-icon>\n </button>\n </div>\n )}\n\n <div part=\"content\" class={content()}>\n <slot />\n </div>\n\n {!this.noFooter && (\n <div part=\"footer\" class={footer()}>\n <slot name=\"footer\" />\n </div>\n )}\n </div>\n </div>\n </dialog>\n );\n }\n}\n"],"names":["tv","h","Host"],"mappings":"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"}
|