bromcom-ui-next 0.1.4 → 0.1.6
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/bromcom-ui.css +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/p-0d0d6483.entry.js +2 -0
- package/dist/bromcom-ui/{p-3b607038.entry.js.map → p-0d0d6483.entry.js.map} +1 -1
- package/dist/bromcom-ui/p-13784cd7.entry.js +2 -0
- package/dist/bromcom-ui/p-13784cd7.entry.js.map +1 -0
- package/dist/bromcom-ui/p-13a245f6.js +2 -0
- package/dist/bromcom-ui/p-13a245f6.js.map +1 -0
- package/dist/bromcom-ui/p-25038cc8.entry.js +2 -0
- package/dist/bromcom-ui/p-25038cc8.entry.js.map +1 -0
- package/dist/bromcom-ui/p-308f865b.entry.js +2 -0
- package/dist/bromcom-ui/p-308f865b.entry.js.map +1 -0
- package/dist/bromcom-ui/p-385fa0f3.entry.js +2 -0
- package/dist/bromcom-ui/p-385fa0f3.entry.js.map +1 -0
- package/dist/bromcom-ui/p-389f1976.entry.js +2 -0
- package/dist/bromcom-ui/p-389f1976.entry.js.map +1 -0
- package/dist/bromcom-ui/p-3b230145.entry.js +2 -0
- package/dist/bromcom-ui/p-3b230145.entry.js.map +1 -0
- package/dist/bromcom-ui/p-49b0e982.entry.js +2 -0
- package/dist/bromcom-ui/p-49b0e982.entry.js.map +1 -0
- package/dist/bromcom-ui/p-55c4263c.entry.js +2 -0
- package/dist/bromcom-ui/p-55c4263c.entry.js.map +1 -0
- package/dist/bromcom-ui/{p-ebed10d5.entry.js → p-58ee24a8.entry.js} +2 -2
- package/dist/bromcom-ui/{p-ebed10d5.entry.js.map → p-58ee24a8.entry.js.map} +1 -1
- package/dist/bromcom-ui/p-729a870f.js.map +1 -1
- package/dist/bromcom-ui/p-9551c35e.entry.js +2 -0
- package/dist/bromcom-ui/p-9551c35e.entry.js.map +1 -0
- package/dist/bromcom-ui/p-9594cebb.js +2 -0
- package/dist/bromcom-ui/p-9594cebb.js.map +1 -0
- package/dist/bromcom-ui/p-98c76392.entry.js +2 -0
- package/dist/bromcom-ui/p-98c76392.entry.js.map +1 -0
- package/dist/bromcom-ui/p-a29e61a4.entry.js +2 -0
- package/dist/bromcom-ui/{p-cd437280.entry.js.map → p-a29e61a4.entry.js.map} +1 -1
- package/dist/bromcom-ui/p-ba2410ef.js +2 -0
- package/dist/bromcom-ui/p-ba2410ef.js.map +1 -0
- package/dist/bromcom-ui/p-bd0f7e78.entry.js +2 -0
- package/dist/bromcom-ui/p-bd0f7e78.entry.js.map +1 -0
- package/dist/bromcom-ui/p-bf69fc8a.entry.js +2 -0
- package/dist/bromcom-ui/p-bf69fc8a.entry.js.map +1 -0
- package/dist/bromcom-ui/{p-5d0838e9.entry.js → p-c1161950.entry.js} +2 -2
- package/dist/bromcom-ui/{p-5d0838e9.entry.js.map → p-c1161950.entry.js.map} +1 -1
- package/dist/bromcom-ui/p-c2b3945e.entry.js +2 -0
- package/dist/bromcom-ui/p-c2b3945e.entry.js.map +1 -0
- package/dist/bromcom-ui/p-c427ffee.entry.js +2 -0
- package/dist/bromcom-ui/{p-dcea8d62.entry.js.map → p-c427ffee.entry.js.map} +1 -1
- package/dist/bromcom-ui/p-c444235a.entry.js +2 -0
- package/dist/bromcom-ui/p-c444235a.entry.js.map +1 -0
- package/dist/bromcom-ui/p-c995a48c.entry.js +2 -0
- package/dist/bromcom-ui/p-c995a48c.entry.js.map +1 -0
- package/dist/bromcom-ui/p-c9b736d9.js +3 -0
- package/dist/{cjs/index-4795c073.js.map → bromcom-ui/p-c9b736d9.js.map} +1 -1
- package/dist/bromcom-ui/p-cd271b49.entry.js +2 -0
- package/dist/bromcom-ui/p-cd271b49.entry.js.map +1 -0
- package/dist/bromcom-ui/p-cee68279.entry.js +2 -0
- package/dist/bromcom-ui/{p-1d86c1cf.entry.js.map → p-cee68279.entry.js.map} +1 -1
- package/dist/bromcom-ui/{p-a590f793.entry.js → p-d57587e5.entry.js} +2 -2
- package/dist/bromcom-ui/{p-a590f793.entry.js.map → p-d57587e5.entry.js.map} +1 -1
- package/dist/bromcom-ui/p-e89ab4a7.entry.js +2 -0
- package/dist/bromcom-ui/p-e89ab4a7.entry.js.map +1 -0
- package/dist/bromcom-ui/{p-1b11150b.entry.js → p-f2d8aa70.entry.js} +2 -2
- package/dist/bromcom-ui/{p-1b11150b.entry.js.map → p-f2d8aa70.entry.js.map} +1 -1
- package/dist/bromcom-ui/p-f4e8a47d.entry.js +2 -0
- package/dist/bromcom-ui/p-f4e8a47d.entry.js.map +1 -0
- package/dist/cjs/app-globals-29edfda4.js.map +1 -1
- package/dist/cjs/bcm-accordion-group.cjs.entry.js +2 -2
- package/dist/cjs/bcm-accordion-group.cjs.entry.js.map +1 -1
- package/dist/cjs/bcm-accordion.cjs.entry.js +2 -2
- package/dist/cjs/bcm-accordion.cjs.entry.js.map +1 -1
- package/dist/cjs/bcm-alert.cjs.entry.js +2 -2
- package/dist/cjs/bcm-alert.cjs.entry.js.map +1 -1
- package/dist/cjs/bcm-avatar_4.cjs.entry.js +13 -7
- package/dist/cjs/bcm-avatar_4.cjs.entry.js.map +1 -1
- package/dist/cjs/bcm-button-group.cjs.entry.js +97 -0
- package/dist/cjs/bcm-button-group.cjs.entry.js.map +1 -0
- package/dist/cjs/bcm-checkbox.cjs.entry.js +226 -0
- package/dist/cjs/bcm-checkbox.cjs.entry.js.map +1 -0
- package/dist/cjs/bcm-chip.cjs.entry.js +3 -3
- package/dist/cjs/bcm-chip.cjs.entry.js.map +1 -1
- package/dist/cjs/bcm-divider.cjs.entry.js +3 -3
- package/dist/cjs/bcm-divider.cjs.entry.js.map +1 -1
- package/dist/cjs/bcm-dropdown-item.cjs.entry.js +63 -0
- package/dist/cjs/bcm-dropdown-item.cjs.entry.js.map +1 -0
- package/dist/cjs/bcm-dropdown.cjs.entry.js +56 -0
- package/dist/cjs/bcm-dropdown.cjs.entry.js.map +1 -0
- package/dist/cjs/bcm-input.cjs.entry.js +7 -6
- package/dist/cjs/bcm-input.cjs.entry.js.map +1 -1
- package/dist/cjs/bcm-linked.cjs.entry.js +91 -0
- package/dist/cjs/bcm-linked.cjs.entry.js.map +1 -0
- package/dist/cjs/bcm-pop-confirm.cjs.entry.js +252 -0
- package/dist/cjs/bcm-pop-confirm.cjs.entry.js.map +1 -0
- package/dist/cjs/bcm-popover.cjs.entry.js +191 -0
- package/dist/cjs/bcm-popover.cjs.entry.js.map +1 -0
- package/dist/cjs/bcm-radio-group.cjs.entry.js +171 -0
- package/dist/cjs/bcm-radio-group.cjs.entry.js.map +1 -0
- package/dist/cjs/bcm-radio.cjs.entry.js +173 -0
- package/dist/cjs/bcm-radio.cjs.entry.js.map +1 -0
- package/dist/cjs/bcm-segmented-picker-option.cjs.entry.js +109 -0
- package/dist/cjs/bcm-segmented-picker-option.cjs.entry.js.map +1 -0
- package/dist/cjs/bcm-segmented-picker.cjs.entry.js +146 -0
- package/dist/cjs/bcm-segmented-picker.cjs.entry.js.map +1 -0
- package/dist/cjs/bcm-switch.cjs.entry.js +188 -0
- package/dist/cjs/bcm-switch.cjs.entry.js.map +1 -0
- package/dist/cjs/bcm-tabs-content.cjs.entry.js +22 -0
- package/dist/cjs/bcm-tabs-content.cjs.entry.js.map +1 -0
- package/dist/cjs/bcm-tabs-list.cjs.entry.js +43 -0
- package/dist/cjs/bcm-tabs-list.cjs.entry.js.map +1 -0
- package/dist/cjs/bcm-tabs-trigger.cjs.entry.js +92 -0
- package/dist/cjs/bcm-tabs-trigger.cjs.entry.js.map +1 -0
- package/dist/cjs/bcm-tabs.cjs.entry.js +211 -0
- package/dist/cjs/bcm-tabs.cjs.entry.js.map +1 -0
- package/dist/cjs/bcm-text.cjs.entry.js +3 -3
- package/dist/cjs/bcm-text.cjs.entry.js.map +1 -1
- package/dist/cjs/bcm-textarea.cjs.entry.js +8 -7
- package/dist/cjs/bcm-textarea.cjs.entry.js.map +1 -1
- package/dist/cjs/bcm-tooltip.cjs.entry.js +187 -0
- package/dist/cjs/bcm-tooltip.cjs.entry.js.map +1 -0
- package/dist/cjs/bromcom-ui.cjs.js +2 -2
- package/dist/cjs/floating-ui.dom.esm-3ec8404c.js +2085 -0
- package/dist/cjs/floating-ui.dom.esm-3ec8404c.js.map +1 -0
- package/dist/{components/p-31354aaa.js → cjs/generate-id-f6982042.js} +4 -47
- package/dist/cjs/generate-id-f6982042.js.map +1 -0
- package/dist/cjs/{index-4795c073.js → index-9a2c5938.js} +36 -7
- package/dist/{bromcom-ui/p-15fe392b.js.map → cjs/index-9a2c5938.js.map} +1 -1
- package/dist/cjs/loader.cjs.js +2 -2
- package/dist/cjs/validation-messages-18389279.js +52 -0
- package/dist/cjs/validation-messages-18389279.js.map +1 -0
- package/dist/collection/collection-manifest.json +18 -1
- package/dist/collection/components/accordion/accordion.css +1 -1
- package/dist/collection/components/accordion-group/accordion-group.css +1 -1
- package/dist/collection/components/alert/alert.css +1 -1
- package/dist/collection/components/avatar/avatar.css +1 -1
- package/dist/collection/components/badge/badge.css +1 -1
- package/dist/collection/components/basic-badge/basic-badge.css +1 -1
- package/dist/collection/components/button/button.component.js +33 -2
- 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/types.js.map +1 -1
- package/dist/collection/components/button-group/button-group.component.js +252 -0
- package/dist/collection/components/button-group/button-group.component.js.map +1 -0
- package/dist/collection/components/button-group/button-group.css +1 -0
- package/dist/collection/components/button-group/types.js +2 -0
- package/dist/collection/components/button-group/types.js.map +1 -0
- package/dist/collection/components/checkbox/checkbox.component.js +440 -0
- package/dist/collection/components/checkbox/checkbox.component.js.map +1 -0
- package/dist/collection/components/checkbox/checkbox.css +1 -0
- package/dist/collection/components/chip/chip.component.js +1 -1
- package/dist/collection/components/chip/chip.css +1 -1
- package/dist/collection/components/divider/divider.component.js +1 -1
- package/dist/collection/components/divider/divider.css +1 -1
- package/dist/collection/components/dropdown/dropdown.component.js +110 -0
- package/dist/collection/components/dropdown/dropdown.component.js.map +1 -0
- package/dist/collection/components/dropdown/dropdown.css +1 -0
- package/dist/collection/components/dropdown-item/dropdown-item.component.js +198 -0
- package/dist/collection/components/dropdown-item/dropdown-item.component.js.map +1 -0
- package/dist/collection/components/dropdown-item/dropdown-item.css +1 -0
- package/dist/collection/components/input/input.component.js +2 -2
- package/dist/collection/components/input/input.css +1 -1
- package/dist/collection/components/linked/linked.component.js +140 -0
- package/dist/collection/components/linked/linked.component.js.map +1 -0
- package/dist/collection/components/linked/linked.css +1 -0
- package/dist/collection/components/pop-confirm/pop-confirm.component.js +629 -0
- package/dist/collection/components/pop-confirm/pop-confirm.component.js.map +1 -0
- package/dist/collection/components/pop-confirm/pop-confirm.css +1 -0
- package/dist/collection/components/popover/popover.component.js +477 -0
- package/dist/collection/components/popover/popover.component.js.map +1 -0
- package/dist/collection/components/popover/popover.css +1 -0
- package/dist/collection/components/radio/radio.component.js +502 -0
- package/dist/collection/components/radio/radio.component.js.map +1 -0
- package/dist/collection/components/radio/radio.css +1 -0
- package/dist/collection/components/radio-group/radio-group.component.js +523 -0
- package/dist/collection/components/radio-group/radio-group.component.js.map +1 -0
- package/dist/collection/components/radio-group/radio-group.css +1 -0
- package/dist/collection/components/segmented-picker/segmented-picker-option.component.js +253 -0
- package/dist/collection/components/segmented-picker/segmented-picker-option.component.js.map +1 -0
- package/dist/collection/components/segmented-picker/segmented-picker-option.css +1 -0
- package/dist/collection/components/segmented-picker/segmented-picker.component.js +269 -0
- package/dist/collection/components/segmented-picker/segmented-picker.component.js.map +1 -0
- package/dist/collection/components/segmented-picker/segmented-picker.css +1 -0
- package/dist/collection/components/segmented-picker/types.js +2 -0
- package/dist/collection/components/segmented-picker/types.js.map +1 -0
- package/dist/collection/components/switch/switch.component.js +452 -0
- package/dist/collection/components/switch/switch.component.js.map +1 -0
- package/dist/collection/components/switch/switch.css +1 -0
- package/dist/collection/components/tabs/bcm-tabs.css +1 -0
- package/dist/collection/components/tabs/tabs-content.component.js +46 -0
- package/dist/collection/components/tabs/tabs-content.component.js.map +1 -0
- package/dist/collection/components/tabs/tabs-content.css +1 -0
- package/dist/collection/components/tabs/tabs-list.component.js +46 -0
- package/dist/collection/components/tabs/tabs-list.component.js.map +1 -0
- package/dist/collection/components/tabs/tabs-list.css +1 -0
- package/dist/collection/components/tabs/tabs-trigger.component.js +195 -0
- package/dist/collection/components/tabs/tabs-trigger.component.js.map +1 -0
- package/dist/collection/components/tabs/tabs-trigger.css +1 -0
- package/dist/collection/components/tabs/tabs.component.js +422 -0
- package/dist/collection/components/tabs/tabs.component.js.map +1 -0
- package/dist/collection/components/text/text.component.js +1 -1
- package/dist/collection/components/text/text.css +1 -1
- package/dist/collection/components/textarea/textarea.component.js +3 -3
- package/dist/collection/components/textarea/textarea.css +1 -1
- package/dist/collection/components/tooltip/tooltip.component.js +385 -0
- package/dist/collection/components/tooltip/tooltip.component.js.map +1 -0
- package/dist/collection/components/tooltip/tooltip.css +1 -0
- package/dist/collection/styles/theme-variables.js +29 -0
- package/dist/collection/styles/theme-variables.js.map +1 -1
- package/dist/components/bcm-accordion-group.js +2 -2
- package/dist/components/bcm-accordion-group.js.map +1 -1
- package/dist/components/bcm-accordion.js +2 -2
- package/dist/components/bcm-accordion.js.map +1 -1
- package/dist/components/bcm-alert.js +2 -2
- package/dist/components/bcm-alert.js.map +1 -1
- package/dist/components/bcm-avatar.js +3 -3
- package/dist/components/bcm-avatar.js.map +1 -1
- package/dist/components/bcm-badge.js +1 -1
- package/dist/components/bcm-basic-badge.js +2 -2
- package/dist/components/bcm-basic-badge.js.map +1 -1
- package/dist/components/bcm-button-group.d.ts +11 -0
- package/dist/components/bcm-button-group.js +120 -0
- package/dist/components/bcm-button-group.js.map +1 -0
- package/dist/components/bcm-button.js +1 -327
- package/dist/components/bcm-button.js.map +1 -1
- package/dist/components/bcm-checkbox.d.ts +11 -0
- package/dist/components/bcm-checkbox.js +256 -0
- package/dist/components/bcm-checkbox.js.map +1 -0
- package/dist/components/bcm-chip.js +3 -3
- package/dist/components/bcm-chip.js.map +1 -1
- package/dist/components/bcm-divider.js +3 -3
- package/dist/components/bcm-divider.js.map +1 -1
- package/dist/components/bcm-dropdown-item.d.ts +11 -0
- package/dist/components/bcm-dropdown-item.js +85 -0
- package/dist/components/bcm-dropdown-item.js.map +1 -0
- package/dist/components/bcm-dropdown.d.ts +11 -0
- package/dist/components/bcm-dropdown.js +87 -0
- package/dist/components/bcm-dropdown.js.map +1 -0
- package/dist/components/bcm-input.js +6 -5
- package/dist/components/bcm-input.js.map +1 -1
- package/dist/components/bcm-linked.d.ts +11 -0
- package/dist/components/bcm-linked.js +8 -0
- package/dist/components/bcm-linked.js.map +1 -0
- package/dist/components/bcm-pop-confirm.d.ts +11 -0
- package/dist/components/bcm-pop-confirm.js +288 -0
- package/dist/components/bcm-pop-confirm.js.map +1 -0
- package/dist/components/bcm-popover.d.ts +11 -0
- package/dist/components/bcm-popover.js +216 -0
- package/dist/components/bcm-popover.js.map +1 -0
- package/dist/components/bcm-radio-group.d.ts +11 -0
- package/dist/components/bcm-radio-group.js +200 -0
- package/dist/components/bcm-radio-group.js.map +1 -0
- package/dist/components/bcm-radio.d.ts +11 -0
- package/dist/components/bcm-radio.js +198 -0
- package/dist/components/bcm-radio.js.map +1 -0
- package/dist/components/bcm-segmented-picker-option.d.ts +11 -0
- package/dist/components/bcm-segmented-picker-option.js +131 -0
- package/dist/components/bcm-segmented-picker-option.js.map +1 -0
- package/dist/components/bcm-segmented-picker.d.ts +11 -0
- package/dist/components/bcm-segmented-picker.js +170 -0
- package/dist/components/bcm-segmented-picker.js.map +1 -0
- package/dist/components/bcm-switch.d.ts +11 -0
- package/dist/components/bcm-switch.js +215 -0
- package/dist/components/bcm-switch.js.map +1 -0
- package/dist/components/bcm-tabs-content.d.ts +11 -0
- package/dist/components/bcm-tabs-content.js +39 -0
- package/dist/components/bcm-tabs-content.js.map +1 -0
- package/dist/components/bcm-tabs-list.d.ts +11 -0
- package/dist/components/bcm-tabs-list.js +58 -0
- package/dist/components/bcm-tabs-list.js.map +1 -0
- package/dist/components/bcm-tabs-trigger.d.ts +11 -0
- package/dist/components/bcm-tabs-trigger.js +112 -0
- package/dist/components/bcm-tabs-trigger.js.map +1 -0
- package/dist/components/bcm-tabs.d.ts +11 -0
- package/dist/components/bcm-tabs.js +239 -0
- package/dist/components/bcm-tabs.js.map +1 -0
- package/dist/components/bcm-text.js +3 -3
- package/dist/components/bcm-text.js.map +1 -1
- package/dist/components/bcm-textarea.js +7 -6
- package/dist/components/bcm-textarea.js.map +1 -1
- package/dist/components/bcm-tooltip.d.ts +11 -0
- package/dist/components/bcm-tooltip.js +211 -0
- package/dist/components/bcm-tooltip.js.map +1 -0
- package/dist/components/index.js +1 -1
- package/dist/components/p-13a245f6.js +48 -0
- package/dist/components/p-13a245f6.js.map +1 -0
- package/dist/components/{p-39637e05.js → p-49f20ff7.js} +3 -3
- package/dist/components/{p-39637e05.js.map → p-49f20ff7.js.map} +1 -1
- package/dist/components/{p-13582168.js → p-5377117d.js} +32 -6
- package/dist/components/p-5377117d.js.map +1 -0
- package/dist/components/p-5f7a0d0d.js +107 -0
- package/dist/components/p-5f7a0d0d.js.map +1 -0
- package/dist/components/p-9594cebb.js +2078 -0
- package/dist/components/p-9594cebb.js.map +1 -0
- package/dist/{esm/validation-messages-a29d53be.js → components/p-ba2410ef.js} +2 -47
- package/dist/components/p-ba2410ef.js.map +1 -0
- package/dist/components/p-c3a60937.js +338 -0
- package/dist/components/p-c3a60937.js.map +1 -0
- package/dist/esm/app-globals-bfa07b76.js.map +1 -1
- package/dist/esm/bcm-accordion-group.entry.js +2 -2
- package/dist/esm/bcm-accordion-group.entry.js.map +1 -1
- package/dist/esm/bcm-accordion.entry.js +2 -2
- package/dist/esm/bcm-accordion.entry.js.map +1 -1
- package/dist/esm/bcm-alert.entry.js +2 -2
- package/dist/esm/bcm-alert.entry.js.map +1 -1
- package/dist/esm/bcm-avatar_4.entry.js +13 -7
- package/dist/esm/bcm-avatar_4.entry.js.map +1 -1
- package/dist/esm/bcm-button-group.entry.js +93 -0
- package/dist/esm/bcm-button-group.entry.js.map +1 -0
- package/dist/esm/bcm-checkbox.entry.js +222 -0
- package/dist/esm/bcm-checkbox.entry.js.map +1 -0
- package/dist/esm/bcm-chip.entry.js +3 -3
- package/dist/esm/bcm-chip.entry.js.map +1 -1
- package/dist/esm/bcm-divider.entry.js +3 -3
- package/dist/esm/bcm-divider.entry.js.map +1 -1
- package/dist/esm/bcm-dropdown-item.entry.js +59 -0
- package/dist/esm/bcm-dropdown-item.entry.js.map +1 -0
- package/dist/esm/bcm-dropdown.entry.js +52 -0
- package/dist/esm/bcm-dropdown.entry.js.map +1 -0
- package/dist/esm/bcm-input.entry.js +6 -5
- package/dist/esm/bcm-input.entry.js.map +1 -1
- package/dist/esm/bcm-linked.entry.js +87 -0
- package/dist/esm/bcm-linked.entry.js.map +1 -0
- package/dist/esm/bcm-pop-confirm.entry.js +248 -0
- package/dist/esm/bcm-pop-confirm.entry.js.map +1 -0
- package/dist/esm/bcm-popover.entry.js +187 -0
- package/dist/esm/bcm-popover.entry.js.map +1 -0
- package/dist/esm/bcm-radio-group.entry.js +167 -0
- package/dist/esm/bcm-radio-group.entry.js.map +1 -0
- package/dist/esm/bcm-radio.entry.js +169 -0
- package/dist/esm/bcm-radio.entry.js.map +1 -0
- package/dist/esm/bcm-segmented-picker-option.entry.js +105 -0
- package/dist/esm/bcm-segmented-picker-option.entry.js.map +1 -0
- package/dist/esm/bcm-segmented-picker.entry.js +142 -0
- package/dist/esm/bcm-segmented-picker.entry.js.map +1 -0
- package/dist/esm/bcm-switch.entry.js +184 -0
- package/dist/esm/bcm-switch.entry.js.map +1 -0
- package/dist/esm/bcm-tabs-content.entry.js +18 -0
- package/dist/esm/bcm-tabs-content.entry.js.map +1 -0
- package/dist/esm/bcm-tabs-list.entry.js +39 -0
- package/dist/esm/bcm-tabs-list.entry.js.map +1 -0
- package/dist/esm/bcm-tabs-trigger.entry.js +88 -0
- package/dist/esm/bcm-tabs-trigger.entry.js.map +1 -0
- package/dist/esm/bcm-tabs.entry.js +207 -0
- package/dist/esm/bcm-tabs.entry.js.map +1 -0
- package/dist/esm/bcm-text.entry.js +3 -3
- package/dist/esm/bcm-text.entry.js.map +1 -1
- package/dist/esm/bcm-textarea.entry.js +7 -6
- package/dist/esm/bcm-textarea.entry.js.map +1 -1
- package/dist/esm/bcm-tooltip.entry.js +183 -0
- package/dist/esm/bcm-tooltip.entry.js.map +1 -0
- package/dist/esm/bromcom-ui.js +3 -3
- package/dist/esm/floating-ui.dom.esm-480e0f15.js +2078 -0
- package/dist/esm/floating-ui.dom.esm-480e0f15.js.map +1 -0
- package/dist/{cjs/validation-messages-c36e5c31.js → esm/generate-id-3b2fcb93.js} +2 -52
- package/dist/esm/generate-id-3b2fcb93.js.map +1 -0
- package/dist/esm/{index-27cc1bac.js → index-8571fbf7.js} +36 -8
- package/dist/esm/index-8571fbf7.js.map +1 -0
- package/dist/esm/loader.js +3 -3
- package/dist/esm/validation-messages-af4512f0.js +48 -0
- package/dist/esm/validation-messages-af4512f0.js.map +1 -0
- package/dist/types/components/button/button.component.d.ts +3 -1
- package/dist/types/components/button/types.d.ts +4 -4
- package/dist/types/components/button-group/button-group.component.d.ts +25 -0
- package/dist/types/components/button-group/types.d.ts +2 -0
- package/dist/types/components/checkbox/checkbox.component.d.ts +99 -0
- package/dist/types/components/dropdown/dropdown.component.d.ts +14 -0
- package/dist/types/components/dropdown-item/dropdown-item.component.d.ts +14 -0
- package/dist/types/components/linked/linked.component.d.ts +16 -0
- package/dist/types/components/pop-confirm/pop-confirm.component.d.ts +195 -0
- package/dist/types/components/popover/popover.component.d.ts +118 -0
- package/dist/types/components/radio/radio.component.d.ts +105 -0
- package/dist/types/components/radio-group/radio-group.component.d.ts +124 -0
- package/dist/types/components/segmented-picker/segmented-picker-option.component.d.ts +30 -0
- package/dist/types/components/segmented-picker/segmented-picker.component.d.ts +35 -0
- package/dist/types/components/segmented-picker/types.d.ts +1 -0
- package/dist/types/components/switch/switch.component.d.ts +62 -0
- package/dist/types/components/tabs/tabs-content.component.d.ts +13 -0
- package/dist/types/components/tabs/tabs-list.component.d.ts +12 -0
- package/dist/types/components/tabs/tabs-trigger.component.d.ts +41 -0
- package/dist/types/components/tabs/tabs.component.d.ts +88 -0
- package/dist/types/components/tooltip/tooltip.component.d.ts +86 -0
- package/dist/types/components.d.ts +2495 -649
- package/dist/types/styles/theme-variables.d.ts +29 -0
- package/package.json +2 -1
- package/dist/bromcom-ui/p-04f6d730.entry.js +0 -2
- package/dist/bromcom-ui/p-04f6d730.entry.js.map +0 -1
- package/dist/bromcom-ui/p-15fe392b.js +0 -3
- package/dist/bromcom-ui/p-1d86c1cf.entry.js +0 -2
- package/dist/bromcom-ui/p-31354aaa.js +0 -2
- package/dist/bromcom-ui/p-31354aaa.js.map +0 -1
- package/dist/bromcom-ui/p-3b607038.entry.js +0 -2
- package/dist/bromcom-ui/p-cd437280.entry.js +0 -2
- package/dist/bromcom-ui/p-dcea8d62.entry.js +0 -2
- package/dist/cjs/validation-messages-c36e5c31.js.map +0 -1
- package/dist/components/p-13582168.js.map +0 -1
- package/dist/components/p-31354aaa.js.map +0 -1
- package/dist/esm/index-27cc1bac.js.map +0 -1
- package/dist/esm/validation-messages-a29d53be.js.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["tooltipCss","BcmTooltipStyle0","Tooltip","constructor","hostRef","this","trigger","placement","size","showDelay","open","toggleTooltip","updateOutsideClickListener","showTooltip","clearTimeout","hoverTimeout","setTimeout","hideTooltip","handleSlotChange","slot","el","shadowRoot","querySelector","elements","assignedElements","targetElement","removeEventListener","addEventListener","setAttribute","toString","tooltipElement","cleanupAutoUpdate","autoUpdate","updatePosition","animationFrame","handleOutsideClick","event","contains","target","async","arrowElement","x","y","middlewareData","computePosition","middleware","offset","flip","fallbackPlacements","shift","padding","arrow","element","Object","assign","style","left","top","arrowX","arrowY","basePlacement","split","staticSide","right","bottom","tooltipClass","tv","slots","tooltip","variants","small","medium","large","isOpen","true","false","defaultVariants","twMerge","disconnectedCallback","document","_a","call","openTooltip","closeTooltip","render","h","key","class","onSlotchange","role","ref","part","name","message"],"sources":["src/components/tooltip/tooltip.css?tag=bcm-tooltip&encapsulation=shadow","src/components/tooltip/tooltip.component.tsx"],"sourcesContent":[":host {\n --tooltip-bg: var(--bcm-ui-color-background-default-dark-default);\n}\n","import { arrow, autoUpdate, computePosition, flip, offset, shift } from '@floating-ui/dom';\nimport { Component, ComponentInterface, h, Element, Prop, State, Method } from '@stencil/core';\nimport { tv } from 'tailwind-variants';\n\n/**\n * @component BcmTooltip\n * @description A lightweight tooltip component that displays brief contextual information when hovering or clicking on a target element.\n * Supports different sizes, trigger types (click or hover), placements (top, right, bottom, left), and can be controlled via slots or props.\n *\n * @example Basic Hover Tooltip\n * <bcm-tooltip trigger=\"hover\" size=\"medium\" placement=\"top\" message=\"This is a tooltip.\">\n * <bcm-button>Hover Me</bcm-button>\n * </bcm-tooltip>\n *\n * @example Click Tooltip with Programmatic Control\n * <bcm-tooltip id=\"my-tooltip\" trigger=\"click\" message=\"Controlled tooltip.\">\n * <bcm-button>Click Me</bcm-button>\n * </bcm-tooltip>\n * <script>\n * const tooltip = document.querySelector('#my-tooltip');\n * tooltip.openTooltip(); // Opens the tooltip\n * tooltip.closeTooltip(); // Closes the tooltip\n * </script>\n *\n * @slot - Default slot for the target element that triggers the tooltip\n * @slot tooltip - Slot for custom tooltip content\n *\n * @csspart tooltip - The root tooltip container element, stylable for the entire tooltip\n * @csspart arrow - The arrow element of the tooltip, stylable for the positioning arrow\n */\n\n@Component({\n tag: 'bcm-tooltip',\n styleUrl: 'tooltip.css',\n shadow: true,\n})\nexport class Tooltip implements ComponentInterface {\n @Element() el: HTMLElement;\n\n /**\n * @prop {('click' | 'hover')} trigger - Defines the interaction type to show/hide the tooltip.\n * 'click' toggles on click, 'hover' shows on mouse enter and hides on mouse leave.\n * Default: 'hover'\n */\n @Prop()\n trigger: 'click' | 'hover' = 'hover';\n\n /**\n * @prop {('top' | 'right' | 'bottom' | 'left')} placement - Defines the position of the tooltip relative to the target element.\n * Default: 'top'\n */\n @Prop()\n placement: 'top' | 'right' | 'bottom' | 'left' = 'top';\n\n /**\n * @prop {('small' | 'medium' | 'large')} size - Defines the size of the tooltip.\n * Controls the text size and padding of the tooltip content.\n * Default: 'medium'\n */\n @Prop()\n size: 'small' | 'medium' | 'large' = 'medium';\n\n /**\n * @prop {string} message - Custom text for the tooltip content.\n * Used as fallback content if the 'tooltip' slot is not provided.\n */\n @Prop()\n message: string;\n\n /**\n * @prop {number} showDelay - Delay in milliseconds before showing or hiding the tooltip.\n * Helps prevent flickering on quick mouse movements.\n * Default: 150\n */\n @Prop()\n showDelay: number = 150;\n\n @State() open = false;\n\n private tooltipElement: HTMLElement;\n private arrowElement: HTMLElement;\n private targetElement: HTMLElement;\n private hoverTimeout: any;\n private cleanupAutoUpdate: () => void;\n\n disconnectedCallback() {\n document.removeEventListener('click', this.handleOutsideClick);\n if (this.targetElement) {\n this.targetElement.removeEventListener('click', this.toggleTooltip);\n this.targetElement.removeEventListener('mouseenter', this.showTooltip);\n this.targetElement.removeEventListener('mouseleave', this.hideTooltip);\n }\n this.cleanupAutoUpdate?.();\n this.cleanupAutoUpdate = null;\n clearTimeout(this.hoverTimeout);\n }\n\n private updateOutsideClickListener() {\n if (this.open) {\n document.addEventListener('click', this.handleOutsideClick);\n } else {\n document.removeEventListener('click', this.handleOutsideClick);\n }\n }\n\n private toggleTooltip = () => {\n this.open = !this.open;\n this.updateOutsideClickListener();\n };\n\n private showTooltip = () => {\n clearTimeout(this.hoverTimeout);\n this.hoverTimeout = setTimeout(() => {\n this.open = true;\n this.updateOutsideClickListener();\n }, this.showDelay);\n };\n\n private hideTooltip = () => {\n clearTimeout(this.hoverTimeout);\n this.hoverTimeout = setTimeout(() => {\n this.open = false;\n this.updateOutsideClickListener();\n }, this.showDelay);\n };\n\n /**\n * @method {Promise<void>} openTooltip - Programmatically opens the tooltip.\n * Triggers the showTooltip logic with the specified delay.\n * @returns {Promise<void>} A promise that resolves when the tooltip is opened.\n */\n @Method()\n async openTooltip() {\n this.showTooltip();\n }\n\n /**\n * @method {Promise<void>} closeTooltip - Programmatically closes the tooltip.\n * Triggers the hideTooltip logic with the specified delay.\n * @returns {Promise<void>} A promise that resolves when the tooltip is closed.\n */\n @Method()\n async closeTooltip() {\n this.hideTooltip();\n }\n\n private handleSlotChange = () => {\n const slot = this.el.shadowRoot.querySelector('slot');\n const elements = slot.assignedElements();\n this.targetElement = elements[0] as HTMLElement;\n\n if (this.targetElement) {\n this.targetElement.removeEventListener('click', this.toggleTooltip);\n this.targetElement.removeEventListener('mouseenter', this.showTooltip);\n this.targetElement.removeEventListener('mouseleave', this.hideTooltip);\n\n if (this.trigger === 'click') {\n this.targetElement.addEventListener('click', this.toggleTooltip);\n this.targetElement.setAttribute('aria-expanded', this.open.toString());\n this.targetElement.setAttribute('aria-describedby', 'tooltip');\n }\n\n if (this.trigger === 'hover') {\n this.targetElement.addEventListener('mouseenter', this.showTooltip);\n this.targetElement.addEventListener('mouseleave', this.hideTooltip);\n this.targetElement.setAttribute('aria-describedby', 'tooltip');\n }\n\n if (this.tooltipElement && !this.cleanupAutoUpdate) {\n this.cleanupAutoUpdate = autoUpdate(\n this.targetElement,\n this.tooltipElement,\n () => this.updatePosition(),\n { animationFrame: false }\n );\n }\n }\n };\n\n private handleOutsideClick = (event: Event) => {\n if (!this.el.contains(event.target as Node) && this.open) {\n this.open = false;\n this.updateOutsideClickListener();\n }\n };\n\n private updatePosition = async () => {\n if (!this.targetElement || !this.tooltipElement || !this.arrowElement) return;\n\n const { x, y, placement, middlewareData } = await computePosition(\n this.targetElement,\n this.tooltipElement,\n {\n placement: this.placement,\n middleware: [\n offset(12),\n flip({ fallbackPlacements: ['top', 'left', 'bottom', 'right'] }),\n shift({ padding: 8 }),\n arrow({ element: this.arrowElement }),\n ],\n }\n );\n\n Object.assign(this.tooltipElement.style, {\n left: `${x}px`,\n top: `${y}px`,\n });\n\n const { x: arrowX, y: arrowY } = middlewareData.arrow || { x: 0, y: 0 };\n const basePlacement = placement.split('-')[0] as 'top' | 'right' | 'bottom' | 'left';\n const staticSide = {\n top: 'bottom',\n right: 'left',\n bottom: 'top',\n left: 'right',\n }[basePlacement];\n\n Object.assign(this.arrowElement.style, {\n left: arrowX != null ? `${arrowX}px` : '',\n top: arrowY != null ? `${arrowY}px` : '',\n [staticSide]: '-4px',\n });\n };\n\n private tooltipClass = tv({\n slots: {\n tooltip:\n 'bcm-ui-element bcm-tooltip absolute bg-[--tooltip-bg] rounded-md shadow-3 py-1 px-3 min-w-max z-[9999] text-color-base font-medium',\n arrow: 'absolute w-4 h-4 bg-[--tooltip-bg] transform rotate-45 z-[-1]',\n },\n variants: {\n size: {\n small: { tooltip: 'text-size-3' },\n medium: { tooltip: 'text-size-4' },\n large: { tooltip: 'text-size-5' },\n },\n isOpen: {\n true: { tooltip: 'block' },\n false: { tooltip: 'hidden' },\n },\n },\n defaultVariants: {\n size: 'medium',\n isOpen: false,\n },\n }, { twMerge: false });\n\n render() {\n const { tooltip, arrow } = this.tooltipClass({\n size: this.size,\n isOpen: this.open,\n });\n return (\n <div class=\"relative\">\n <slot onSlotchange={() => this.handleSlotChange()}></slot>\n <div role=\"tooltip\" class={tooltip()} ref={(el) => (this.tooltipElement = el)} part=\"tooltip\">\n <div class={arrow()} ref={(el) => (this.arrowElement = el)} part=\"arrow\"></div>\n <slot name=\"tooltip\">{this.message}</slot>\n </div>\n </div>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{r as e,c as t,h as i,g as r}from"./p-c9b736d9.js";import{g as o}from"./p-ba2410ef.js";import{c as s}from"./p-5fcf77f9.js";const a=":host{display:inline-block}.bcm-ui-element{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Inter,sans-serif}.static{position:static}.absolute{position:absolute}.relative{position:relative}.left-0\\.5{left:.125rem}.left-\\[18px\\]{left:18px}.left-\\[20px\\]{left:20px}.left-\\[22px\\]{left:22px}.order-2{order:2}.flex{display:flex}.hidden{display:none}.size-3{height:.75rem;width:.75rem}.size-3\\.5{height:.875rem;width:.875rem}.size-4{width:1rem}.h-4,.size-4{height:1rem}.h-5{height:1.25rem}.h-\\[18px\\]{height:18px}.w-10{width:2.5rem}.w-8{width:2rem}.w-9{width:2.25rem}.cursor-default{cursor:default}.cursor-pointer{cursor:pointer}.flex-col{flex-direction:column}.items-center{align-items:center}.gap-0\\.5{gap:.125rem}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-2\\.5{gap:.625rem}.gap-3{gap:.75rem}.rounded-full{border-radius:var(--bcm-ui-border-radius-full,9999px)}.bg-\\[--switch-bg\\]{background-color:var(--switch-bg)}.bg-\\[--switch-dot-bg\\]{background-color:var(--switch-dot-bg)}.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)}.font-medium{font-weight:500}.font-normal{font-weight:400}.\\!text-color{color:var(--bcm-ui-color-text-default)!important}.\\!text-color-error{color:var(--bcm-ui-color-text-error)!important}.shadow{--tw-shadow:var(--bcm-ui-box-shadow-default);--tw-shadow-colored:var(--bcm-ui-box-shadow-default)}.shadow,.shadow-sm{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-sm{--tw-shadow:var(--bcm-ui-box-shadow-sm);--tw-shadow-colored:var(--bcm-ui-box-shadow-sm)}.transition-all{transition-duration:.15s;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-colors{transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1)}.duration-300{transition-duration:.3s}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.group:hover .group-hover\\:bg-\\[--switch-bg-hover\\],.hover\\:bg-\\[--switch-bg-hover\\]:hover{background-color:var(--switch-bg-hover)}.peer:focus-visible~.peer-focus-visible\\:ring-2{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.peer:focus-visible~.peer-focus-visible\\:ring-blue-300{--tw-ring-color:oklch(0.809 0.105 251.813)}.peer:focus-visible~.peer-focus-visible\\:ring-offset-2{--tw-ring-offset-width:2px}.peer:disabled~.peer-disabled\\:cursor-not-allowed{cursor:not-allowed}.peer:disabled~.peer-disabled\\:\\!text-color-disabled{color:var(--bcm-ui-color-text-disabled)!important}";const c=a;const l=class{constructor(i){e(this,i);this.bcmSwitchChange=t(this,"bcmSwitchChange",1);this.checked=false;this.disabled=false;this.labelPosition="right";this.error=false;this.size="medium";this.readonly=false;this.required=false;this.switchId=o("switch");this.switchStyle=()=>{const e={"--switch-bg":"var(--bcm-ui-color-background-default-dark-default)","--switch-bg-hover":"var(--bcm-ui-color-background-default-dark-hover)","--switch-dot-bg":"var(--bcm-ui-color-background-base-default)"};const t={"--switch-bg":"var(--bcm-ui-color-background-info-default)","--switch-bg-hover":"var(--bcm-ui-color-background-info-hover)"};const i={"--switch-bg":"var(--bcm-ui-color-background-error-default)","--switch-bg-hover":"var(--bcm-ui-color-background-error-hover)"};const r={"--switch-bg":"var(--bcm-ui-color-background-default-dark-default)","--switch-bg-hover":"var(--bcm-ui-color-background-default-dark-default)","--switch-dot-bg":"var(--bcm-ui-color-background-disabled-default)"};const o={"--switch-bg":"var(--bcm-ui-color-background-disabled-default)","--switch-bg-hover":"var(--bcm-ui-color-background-disabled-default)","--switch-dot-bg":"var(--bcm-ui-color-background-default-default)"};return Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},e),this.checked&&t),this.error&&i),this.readonly&&r),this.disabled&&o)};this.switchClass=s({slots:{base:"bcm-ui-element flex flex-col",switchWrapper:"flex items-center group",dotContainer:"relative flex items-center rounded-full cursor-pointer bg-[--switch-bg] group-hover:bg-[--switch-bg-hover] peer-disabled:cursor-not-allowed transition-colors duration-300",dot:"absolute bg-[--switch-dot-bg] rounded-full shadow-sm transition-all duration-300 ease-in-out peer-disabled:cursor-not-allowed",caption:"!text-color-error font-normal",label:"!text-color font-medium peer-disabled:!text-color-disabled peer-disabled:cursor-not-allowed"},variants:{size:{small:{dotContainer:"w-8 h-4",dot:"size-3",label:"text-size-4",caption:"text-size-3",switchWrapper:"gap-2",base:"gap-0.5"},medium:{dotContainer:"w-9 h-[18px]",dot:"size-3.5",label:"text-size-5",caption:"text-size-4",switchWrapper:"gap-2.5",base:"gap-1"},large:{dotContainer:"w-10 h-5",dot:"size-4",label:"text-size-6",caption:"text-size-5",switchWrapper:"gap-3",base:"gap-2"}},labelPosition:{left:{label:""},right:{label:"order-2"}},checked:{true:{dot:""},false:{dot:"left-0.5"}},disabled:{true:"",false:{switchWrapper:""}},readonly:{true:{switchWrapper:"cursor-default",dotContainer:"cursor-default",dot:"cursor-default"},false:{switchWrapper:"cursor-pointer",dotContainer:"cursor-pointer hover:bg-[--switch-bg-hover]"}}},compoundVariants:[{size:"small",checked:true,class:{dot:"left-[18px]"}},{size:"medium",checked:true,class:{dot:"left-[20px]"}},{size:"large",checked:true,class:{dot:"left-[22px]"}},{readonly:false,disabled:false,class:{dotContainer:"peer-focus-visible:ring-2 peer-focus-visible:ring-offset-2 peer-focus-visible:ring-blue-300"}}]})}toggleSwitch(){if(this.disabled||this.readonly)return;this.checked=!this.checked;this.bcmSwitchChange.emit(this.checked)}render(){const{base:e,switchWrapper:t,label:r,dot:o,dotContainer:s,caption:a}=this.switchClass({size:this.size,checked:this.checked,disabled:this.disabled,labelPosition:this.labelPosition,readonly:this.readonly});const c=Object.assign({role:"switch","aria-checked":this.checked.toString(),"aria-disabled":this.disabled.toString(),"aria-readonly":this.readonly.toString()},this.required&&{"aria-required":"true"});const l=!this.readonly&&!this.disabled?{tabindex:"0"}:{};return i("div",{key:"6fe3f5b93d46367c73bac4711f5eb5ee93be0fb1",class:e()},i("label",{key:"ec4101b02f81f6e43e6f4279c893d08b710eb892",class:t(),style:this.switchStyle()},i("input",{key:"0ac5fbd5415b4f7c988fed8746c7cd4709de6931",id:this.switchId,type:"checkbox",class:"hidden peer",checked:this.checked,name:this.name,value:this.value,disabled:this.disabled,readOnly:this.readonly,required:this.required,onChange:()=>this.toggleSwitch()}),this.label&&i("span",{key:"1712d6a86427e0667f7ff393a570f1d5d1386494",class:r()},i("slot",{key:"a81c09316f27b86ace52436f26872c0626b642af"},this.label)),i("label",Object.assign({key:"bd77f8a8a7528aa0aee70730db772f789c90d910",htmlFor:this.switchId,class:s()},l,c,{onKeyDown:e=>{if((e.key==="Enter"||e.key===" ")&&!this.readonly&&!this.disabled){e.preventDefault();this.toggleSwitch()}}}),i("div",{key:"91a5d3ca25f67953b6beb8456976bbc7ad2876da",class:o()}))),this.error&&this.caption&&i("span",{key:"2a01e0e40041aa00938e714c22e6a8d241bac222",class:a()},this.caption),i("slot",{key:"4417057a08368eee0f06ca4fe86a620ea46f31ee",name:"caption"}))}get el(){return r(this)}};l.style=c;export{l as bcm_switch};
|
|
2
|
+
//# sourceMappingURL=p-3b230145.entry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["switchCss","BcmSwitchStyle0","BcmSwitch","constructor","hostRef","this","checked","disabled","labelPosition","error","size","readonly","required","switchId","generateId","switchStyle","defaultStyle","checkedStyle","errorStyle","readonlyStyle","disabledStyle","Object","assign","switchClass","tv","slots","base","switchWrapper","dotContainer","dot","caption","label","variants","small","medium","large","left","right","true","false","compoundVariants","class","toggleSwitch","bcmSwitchChange","emit","render","ariaAttributes","role","toString","tabIndexAttr","tabindex","h","key","style","id","type","name","value","readOnly","onChange","htmlFor","onKeyDown","event","preventDefault"],"sources":["src/components/switch/switch.css?tag=bcm-switch&encapsulation=shadow","src/components/switch/switch.component.tsx"],"sourcesContent":[":host {\n display: inline-block;\n}\n","import { Component, Prop, h, Event, EventEmitter, Element, ComponentInterface } from '@stencil/core';\nimport { generateId } from '../../utils/id/generate-id';\nimport { tv } from 'tailwind-variants';\n\n/**\n * @component BcmSwitch\n * @description A customizable toggle switch component that provides an intuitive way to enable or disable options.\n * Supports different sizes, label positions, error states, and accessibility features.\n *\n * @example Basic usage\n * <bcm-switch label=\"Enable notifications\"></bcm-switch>\n *\n * @example With error state\n * <bcm-switch\n * label=\"Accept terms\"\n * error={true}\n * caption=\"You must accept the terms to continue\">\n * </bcm-switch>\n *\n * @example Disabled state\n * <bcm-switch\n * label=\"Advanced features\"\n * disabled={true}>\n * </bcm-switch>\n *\n * @example With custom size and label position\n * <bcm-switch\n * label=\"Dark mode\"\n * size=\"large\"\n * labelPosition=\"left\">\n * </bcm-switch>\n */\n@Component({\n tag: 'bcm-switch',\n styleUrl: 'switch.css',\n shadow: true,\n})\nexport class BcmSwitch implements ComponentInterface {\n /** Reference to the host element */\n @Element()\n el: HTMLElement;\n\n /** Whether the switch is checked or not */\n @Prop({ reflect: true, mutable: true })\n checked: boolean = false;\n\n /** Whether the switch is disabled */\n @Prop()\n disabled: boolean = false;\n\n /** The name attribute for the hidden input element */\n @Prop()\n name: string;\n\n /** The value attribute for the hidden input element */\n @Prop()\n value: string;\n\n /** Text label for the switch */\n @Prop()\n label: string;\n\n /** Position of the label relative to the switch */\n @Prop()\n labelPosition: 'left' | 'right' = 'right';\n\n /** Whether to display the switch in an error state */\n @Prop()\n error: boolean = false;\n\n /** Text to display as an error message when error is true */\n @Prop()\n caption?: string;\n\n /** Size variant of the switch */\n @Prop()\n size: 'small' | 'medium' | 'large' = 'medium';\n\n /** Whether the switch is in readonly mode */\n @Prop()\n readonly: boolean = false;\n\n /** Whether the switch is required in a form */\n @Prop()\n required: boolean = false;\n\n /** Emitted when the switch state changes */\n @Event({\n composed: false,\n bubbles: false,\n cancelable: true,\n })\n bcmSwitchChange: EventEmitter<boolean>;\n\n private switchId = generateId('switch');\n\n private toggleSwitch(): void {\n if (this.disabled || this.readonly) return;\n this.checked = !this.checked;\n this.bcmSwitchChange.emit(this.checked);\n }\n\n private switchStyle = () => {\n const defaultStyle = {\n '--switch-bg': 'var(--bcm-ui-color-background-default-dark-default)',\n '--switch-bg-hover': 'var(--bcm-ui-color-background-default-dark-hover)',\n '--switch-dot-bg': 'var(--bcm-ui-color-background-base-default)',\n };\n\n const checkedStyle = {\n '--switch-bg': 'var(--bcm-ui-color-background-info-default)',\n '--switch-bg-hover': 'var(--bcm-ui-color-background-info-hover)',\n };\n\n const errorStyle = {\n '--switch-bg': 'var(--bcm-ui-color-background-error-default)',\n '--switch-bg-hover': 'var(--bcm-ui-color-background-error-hover)',\n };\n\n const readonlyStyle = {\n '--switch-bg': 'var(--bcm-ui-color-background-default-dark-default)',\n '--switch-bg-hover': 'var(--bcm-ui-color-background-default-dark-default)',\n '--switch-dot-bg': 'var(--bcm-ui-color-background-disabled-default)',\n };\n\n const disabledStyle = {\n '--switch-bg': 'var(--bcm-ui-color-background-disabled-default)',\n '--switch-bg-hover': 'var(--bcm-ui-color-background-disabled-default)',\n '--switch-dot-bg': 'var(--bcm-ui-color-background-default-default)',\n };\n\n return {\n ...defaultStyle,\n ...(this.checked && checkedStyle),\n ...(this.error && errorStyle),\n ...(this.readonly && readonlyStyle),\n ...(this.disabled && disabledStyle),\n };\n };\n\n private switchClass = tv({\n slots: {\n base: 'bcm-ui-element flex flex-col',\n switchWrapper: 'flex items-center group',\n dotContainer:\n 'relative flex items-center rounded-full cursor-pointer bg-[--switch-bg] group-hover:bg-[--switch-bg-hover] peer-disabled:cursor-not-allowed transition-colors duration-300',\n dot: 'absolute bg-[--switch-dot-bg] rounded-full shadow-sm transition-all duration-300 ease-in-out peer-disabled:cursor-not-allowed',\n caption: '!text-color-error font-normal',\n label: '!text-color font-medium peer-disabled:!text-color-disabled peer-disabled:cursor-not-allowed',\n },\n variants: {\n size: {\n small: {\n dotContainer: 'w-8 h-4',\n dot: 'size-3',\n label: 'text-size-4',\n caption: 'text-size-3',\n switchWrapper: 'gap-2',\n base: 'gap-0.5',\n },\n medium: {\n dotContainer: 'w-9 h-[18px]',\n dot: 'size-3.5',\n label: 'text-size-5',\n caption: 'text-size-4',\n switchWrapper: 'gap-2.5',\n base: 'gap-1',\n },\n large: {\n dotContainer: 'w-10 h-5',\n dot: 'size-4',\n label: 'text-size-6',\n caption: 'text-size-5',\n switchWrapper: 'gap-3',\n base: 'gap-2',\n },\n },\n labelPosition: {\n left: {\n label: '',\n },\n right: {\n label: 'order-2',\n },\n },\n checked: {\n true: {\n dot: '',\n },\n false: {\n dot: 'left-0.5',\n },\n },\n disabled: {\n true: '',\n false: {\n switchWrapper: '',\n },\n },\n readonly: {\n true: {\n switchWrapper: 'cursor-default',\n dotContainer: 'cursor-default',\n dot: 'cursor-default',\n },\n false: {\n switchWrapper: 'cursor-pointer',\n dotContainer: 'cursor-pointer hover:bg-[--switch-bg-hover]',\n },\n },\n },\n compoundVariants: [\n {\n size: 'small',\n checked: true,\n class: {\n dot: 'left-[18px]',\n },\n },\n {\n size: 'medium',\n checked: true,\n class: {\n dot: 'left-[20px]',\n },\n },\n {\n size: 'large',\n checked: true,\n class: {\n dot: 'left-[22px]',\n },\n },\n {\n readonly: false,\n disabled: false,\n class: {\n dotContainer: 'peer-focus-visible:ring-2 peer-focus-visible:ring-offset-2 peer-focus-visible:ring-blue-300',\n },\n },\n ],\n });\n\n render() {\n const { base, switchWrapper, label, dot, dotContainer, caption } = this.switchClass({\n size: this.size,\n checked: this.checked,\n disabled: this.disabled,\n labelPosition: this.labelPosition,\n readonly: this.readonly,\n });\n\n const ariaAttributes = {\n 'role': 'switch',\n 'aria-checked': this.checked.toString(),\n 'aria-disabled': this.disabled.toString(),\n 'aria-readonly': this.readonly.toString(),\n ...(this.required && { 'aria-required': 'true' }),\n };\n\n const tabIndexAttr = !this.readonly && !this.disabled ? { tabindex: '0' } : {};\n\n return (\n <div class={base()}>\n <label class={switchWrapper()} style={this.switchStyle()}>\n <input\n id={this.switchId}\n type=\"checkbox\"\n class=\"hidden peer\"\n checked={this.checked}\n name={this.name}\n value={this.value}\n disabled={this.disabled}\n readOnly={this.readonly}\n required={this.required}\n onChange={() => this.toggleSwitch()}\n />\n\n {this.label && <span class={label()}><slot>{this.label}</slot></span>}\n <label\n htmlFor={this.switchId}\n class={dotContainer()}\n {...tabIndexAttr}\n {...ariaAttributes}\n onKeyDown={event => {\n if ((event.key === 'Enter' || event.key === ' ') && !this.readonly && !this.disabled) {\n event.preventDefault();\n this.toggleSwitch();\n }\n }}\n >\n <div class={dot()}></div>\n </label>\n </label>\n\n {this.error && this.caption && <span class={caption()}>{this.caption}</span>}\n <slot name=\"caption\"></slot>\n </div>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{r as e,c as t,h as i,H as s,g as o}from"./p-c9b736d9.js";import{c as n}from"./p-5fcf77f9.js";const r=".relative{position:relative}.flex{display:flex}.outline{outline-style:solid}:host{display:inline-block;flex:1}.segmented-option{background:transparent;height:100%;outline:none;position:relative;width:100%;z-index:1}.bcm-ui-element{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Inter,sans-serif}.static{position:static}.inline-flex{display:inline-flex}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.select-none{user-select:none}.items-center{align-items:center}.justify-center{justify-content:center}.border-0{border-width:0}.px-3{padding-left:.75rem;padding-right:.75rem}.py-\\[1px\\]{padding-bottom:1px;padding-top:1px}.py-\\[3px\\]{padding-bottom:3px;padding-top:3px}.py-\\[6px\\]{padding-bottom:6px;padding-top:6px}.text-center{text-align:center}.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-\\[--bcm-ui-color-text-header\\]{color:var(--bcm-ui-color-text-header)}.text-\\[--bcm-ui-color-text-helper\\]{color:var(--bcm-ui-color-text-helper)}.opacity-50{opacity:.5}.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 a=r;const l=class{constructor(i){e(this,i);this.bcmOptionClick=t(this,"bcmOptionClick",5);this.selected=false;this.disabled=false;this.parentRef=null;this.handleClick=()=>{if(this.isDisabled())return;this.bcmOptionClick.emit(this.value)};this.optionClass=n({base:"segmented-option bcm-ui-element inline-flex items-center justify-center text-center border-0 cursor-pointer select-none",variants:{size:{small:"py-[1px] px-3 text-size-4",medium:"py-[3px] px-3 text-size-5",large:"py-[6px] px-3 text-size-6"},selected:{true:"text-[--bcm-ui-color-text-header]",false:"text-[--bcm-ui-color-text-helper]"},disabled:{true:"cursor-not-allowed opacity-50",false:""}},defaultVariants:{size:"medium",selected:false,disabled:false}},{twMerge:false})}componentWillLoad(){this.parentRef=this.host.closest("bcm-segmented-picker");if(this.parentRef){this.selected=this.parentRef.getAttribute("value")===this.value}}componentDidLoad(){this.setupValueObserver()}disconnectedCallback(){if(this.parentValueObserver){this.parentValueObserver.disconnect()}}setupValueObserver(){if(this.parentRef){this.parentValueObserver=new MutationObserver((()=>{this.selected=this.isValueSelected()}));this.parentValueObserver.observe(this.parentRef,{attributes:true,attributeFilter:["value"]})}}isValueSelected(){var e;return((e=this.parentRef)===null||e===void 0?void 0:e.getAttribute("value"))===this.value}getSizeFromParent(){var e;return((e=this.parentRef)===null||e===void 0?void 0:e.getAttribute("size"))||"medium"}isDisabled(){var e;return this.disabled||((e=this.parentRef)===null||e===void 0?void 0:e.hasAttribute("disabled"))||false}async getWidth(){var e;const t=(e=this.host.shadowRoot)===null||e===void 0?void 0:e.querySelector(".segmented-option");return(t===null||t===void 0?void 0:t.getBoundingClientRect().width)||0}render(){const e=this.size||this.getSizeFromParent();const t=this.isDisabled();return i(s,{key:"753ba2aeeb51583c312798ef3bc7dfa00203548d"},i("button",{key:"403c1a1c2fb28894ae9b9c93f2b50b958bfe4657",class:this.optionClass({size:e,selected:this.selected,disabled:t}),onClick:this.handleClick,disabled:t,type:"button"},i("slot",{key:"effebfd8ea1a412483c1f6789eec1d2736dc5e97"},this.label)))}get host(){return o(this)}};l.style=a;export{l as bcm_segmented_picker_option};
|
|
2
|
+
//# sourceMappingURL=p-49b0e982.entry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["segmentedPickerOptionCss","BcmSegmentedPickerOptionStyle0","BcmSegmentedPickerOption","constructor","hostRef","this","selected","disabled","parentRef","handleClick","isDisabled","bcmOptionClick","emit","value","optionClass","tv","base","variants","size","small","medium","large","true","false","defaultVariants","twMerge","componentWillLoad","host","closest","getAttribute","componentDidLoad","setupValueObserver","disconnectedCallback","parentValueObserver","disconnect","MutationObserver","isValueSelected","observe","attributes","attributeFilter","_a","getSizeFromParent","hasAttribute","getWidth","element","shadowRoot","querySelector","getBoundingClientRect","width","render","h","Host","key","class","onClick","type","label"],"sources":["src/components/segmented-picker/segmented-picker-option.css?tag=bcm-segmented-picker-option&encapsulation=shadow","src/components/segmented-picker/segmented-picker-option.component.tsx"],"sourcesContent":[":host {\n display: inline-block;\n flex: 1;\n}\n\n.segmented-option {\n width: 100%;\n height: 100%;\n background: transparent;\n position: relative;\n z-index: 1;\n outline: none;\n}\n","import { Component, Prop, h, Host, Element, Event, EventEmitter, Method } from '@stencil/core';\nimport { SegmentedPickerSize } from './types';\nimport { tv } from 'tailwind-variants';\n\n@Component({\n tag: 'bcm-segmented-picker-option',\n styleUrl: 'segmented-picker-option.css',\n shadow: true,\n})\nexport class BcmSegmentedPickerOption {\n @Element() host: HTMLElement;\n\n /** Option value */\n @Prop()\n value!: string;\n\n /** Option display label */\n @Prop()\n label?: string;\n\n /** Controls the option size */\n @Prop()\n size?: SegmentedPickerSize;\n\n /** Whether this option is selected */\n @Prop({ mutable: true })\n selected = false;\n\n /** Whether this option is disabled */\n @Prop()\n disabled = false;\n\n /** Click event */\n @Event({\n composed: false,\n bubbles: true,\n cancelable: true,\n })\n bcmOptionClick: EventEmitter<string>;\n\n private parentValueObserver: MutationObserver;\n private parentRef: HTMLElement | null = null;\n\n componentWillLoad() {\n // Parent referansını al\n this.parentRef = this.host.closest('bcm-segmented-picker');\n\n // İlk yüklemede selected durumu\n if (this.parentRef) {\n this.selected = this.parentRef.getAttribute('value') === this.value;\n }\n }\n\n componentDidLoad() {\n // DOM yüklendikten sonra sadece parent değer değişikliklerini gözlemeye başla\n // Burada artık prop değişikliği yok\n this.setupValueObserver();\n }\n\n disconnectedCallback() {\n if (this.parentValueObserver) {\n this.parentValueObserver.disconnect();\n }\n }\n\n private setupValueObserver() {\n if (this.parentRef) {\n this.parentValueObserver = new MutationObserver(() => {\n this.selected = this.isValueSelected();\n });\n this.parentValueObserver.observe(this.parentRef, { attributes: true, attributeFilter: ['value'] });\n }\n }\n\n private isValueSelected(): boolean {\n return this.parentRef?.getAttribute('value') === this.value;\n }\n\n private getSizeFromParent(): SegmentedPickerSize {\n return (this.parentRef?.getAttribute('size') as SegmentedPickerSize) || 'medium';\n }\n\n private isDisabled(): boolean {\n return this.disabled || this.parentRef?.hasAttribute('disabled') || false;\n }\n\n private handleClick = () => {\n if (this.isDisabled()) return;\n this.bcmOptionClick.emit(this.value);\n };\n\n @Method()\n async getWidth(): Promise<number> {\n const element = this.host.shadowRoot?.querySelector('.segmented-option');\n return element?.getBoundingClientRect().width || 0;\n }\n\n private optionClass = tv(\n {\n base: 'segmented-option bcm-ui-element inline-flex items-center justify-center text-center border-0 cursor-pointer select-none',\n variants: {\n size: {\n small: 'py-[1px] px-3 text-size-4',\n medium: 'py-[3px] px-3 text-size-5',\n large: 'py-[6px] px-3 text-size-6',\n },\n selected: {\n true: 'text-[--bcm-ui-color-text-header]',\n false: 'text-[--bcm-ui-color-text-helper]',\n },\n disabled: {\n true: 'cursor-not-allowed opacity-50',\n false: '',\n },\n },\n defaultVariants: {\n size: 'medium',\n selected: false,\n disabled: false,\n },\n },\n {\n twMerge: false,\n },\n );\n\n render() {\n const size = this.size || this.getSizeFromParent();\n const disabled = this.isDisabled();\n\n return (\n <Host>\n <button\n class={this.optionClass({\n size,\n selected: this.selected,\n disabled,\n })}\n onClick={this.handleClick}\n disabled={disabled}\n type=\"button\"\n >\n <slot>{this.label}</slot>\n </button>\n </Host>\n );\n }\n}\n"],"mappings":"oGAAA,MAAMA,EAA2B,k9CACjC,MAAAC,EAAeD,E,MCQFE,EAAwB,MALrC,WAAAC,CAAAC,G,yDAsBEC,KAAAC,SAAW,MAIXD,KAAAE,SAAW,MAWHF,KAAAG,UAAgC,KA6ChCH,KAAAI,YAAc,KACpB,GAAIJ,KAAKK,aAAc,OACvBL,KAAKM,eAAeC,KAAKP,KAAKQ,MAAM,EAS9BR,KAAAS,YAAcC,EACpB,CACEC,KAAM,0HACNC,SAAU,CACRC,KAAM,CACJC,MAAO,4BACPC,OAAQ,4BACRC,MAAO,6BAETf,SAAU,CACRgB,KAAM,oCACNC,MAAO,qCAEThB,SAAU,CACRe,KAAM,gCACNC,MAAO,KAGXC,gBAAiB,CACfN,KAAM,SACNZ,SAAU,MACVC,SAAU,QAGd,CACEkB,QAAS,O,CA/Eb,iBAAAC,GAEErB,KAAKG,UAAYH,KAAKsB,KAAKC,QAAQ,wBAGnC,GAAIvB,KAAKG,UAAW,CAClBH,KAAKC,SAAWD,KAAKG,UAAUqB,aAAa,WAAaxB,KAAKQ,K,EAIlE,gBAAAiB,GAGEzB,KAAK0B,oB,CAGP,oBAAAC,GACE,GAAI3B,KAAK4B,oBAAqB,CAC5B5B,KAAK4B,oBAAoBC,Y,EAIrB,kBAAAH,GACN,GAAI1B,KAAKG,UAAW,CAClBH,KAAK4B,oBAAsB,IAAIE,kBAAiB,KAC9C9B,KAAKC,SAAWD,KAAK+B,iBAAiB,IAExC/B,KAAK4B,oBAAoBI,QAAQhC,KAAKG,UAAW,CAAE8B,WAAY,KAAMC,gBAAiB,CAAC,U,EAInF,eAAAH,G,MACN,QAAOI,EAAAnC,KAAKG,aAAS,MAAAgC,SAAA,SAAAA,EAAEX,aAAa,YAAaxB,KAAKQ,K,CAGhD,iBAAA4B,G,MACN,QAAQD,EAAAnC,KAAKG,aAAS,MAAAgC,SAAA,SAAAA,EAAEX,aAAa,UAAmC,Q,CAGlE,UAAAnB,G,MACN,OAAOL,KAAKE,YAAYiC,EAAAnC,KAAKG,aAAS,MAAAgC,SAAA,SAAAA,EAAEE,aAAa,cAAe,K,CAStE,cAAMC,G,MACJ,MAAMC,GAAUJ,EAAAnC,KAAKsB,KAAKkB,cAAU,MAAAL,SAAA,SAAAA,EAAEM,cAAc,qBACpD,OAAOF,IAAO,MAAPA,SAAO,SAAPA,EAASG,wBAAwBC,QAAS,C,CAgCnD,MAAAC,GACE,MAAM/B,EAAOb,KAAKa,MAAQb,KAAKoC,oBAC/B,MAAMlC,EAAWF,KAAKK,aAEtB,OACEwC,EAACC,EAAI,CAAAC,IAAA,4CACHF,EAAA,UAAAE,IAAA,2CACEC,MAAOhD,KAAKS,YAAY,CACtBI,OACAZ,SAAUD,KAAKC,SACfC,aAEF+C,QAASjD,KAAKI,YACdF,SAAUA,EACVgD,KAAK,UAELL,EAAA,QAAAE,IAAA,4CAAO/C,KAAKmD,Q","ignoreList":[]}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{r as e,c as t,h as i,H as o,g as r}from"./p-c9b736d9.js";import{c as a}from"./p-5fcf77f9.js";const s=".relative{position:relative}.flex{display:flex}.transition{transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1)}:host{display:inline-block;position:relative}:host([full-width]){width:100%}.segmented-container{border-radius:var(--bcm-ui-border-radius,4px)}.segmented-indicator{border-radius:var(--bcm-ui-border-radius-md,2px);height:100%;top:0;transition:left .2s ease-in-out,width .2s ease-in-out}.segmented-options{display:flex}.bcm-ui-element{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Inter,sans-serif}.static{position:static}.absolute{position:absolute}.z-0{z-index:0}.z-10{z-index:10}.inline-flex{display:inline-flex}.w-full{width:100%}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.overflow-hidden{overflow:hidden}.rounded{border-radius:var(--bcm-ui-border-radius-default,6px)}.border{border-width:1px}.border-solid{border-style:solid}.border-\\[--bcm-ui-color-border-default\\]{border-color:var(--bcm-ui-color-border-default)}.bg-\\[--bcm-ui-color-background-base-default\\]{background-color:var(--bcm-ui-color-background-base-default)}.bg-\\[--bcm-ui-color-background-default-default\\]{background-color:var(--bcm-ui-color-background-default-default)}.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)}.opacity-50{opacity:.5}.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)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}";const d=s;const n=class{constructor(i){e(this,i);this.bcmChange=t(this,"bcmChange",1);this.size="medium";this.disabled=false;this.fullWidth=false;this.options=[];this.indicatorStyles={left:"0",width:"0",transition:"none"};this.segmentedClass=a({base:"segmented-container bcm-ui-element inline-flex relative bg-[--bcm-ui-color-background-default-default] border border-solid border-[--bcm-ui-color-border-default] rounded overflow-hidden",variants:{size:{small:"text-size-4",medium:"text-size-5",large:"text-size-6"},fullWidth:{true:"w-full"},disabled:{true:"opacity-50 cursor-not-allowed",false:"cursor-pointer"}},defaultVariants:{size:"medium",fullWidth:false,disabled:false}},{twMerge:false})}componentWillLoad(){this.parseOptions();if(!this.value&&this.options.length>0){this.value=this.options[0].value}}componentDidLoad(){this.updateIndicatorPosition(false)}componentDidUpdate(){this.updateIndicatorPosition()}valueChanged(){this.updateIndicatorPosition()}handleOptionClick(e){if(this.disabled)return;const t=e.detail;if(this.value!==t){this.value=t;this.bcmChange.emit({value:t})}}parseOptions(){const e=Array.from(this.host.children);this.options=e.filter((e=>e.nodeName.toLowerCase()==="bcm-segmented-picker-option")).map((e=>({value:e.getAttribute("value")||"",label:e.getAttribute("label")||e.textContent||""})))}updateIndicatorPosition(e=true){const t=this.host.querySelector(`bcm-segmented-picker-option[value="${this.value}"]`);if(!t)return;const i=this.host.querySelectorAll("bcm-segmented-picker-option");let o=-1;for(let e=0;e<i.length;e++){if(i[e].getAttribute("value")===this.value){o=e;break}}if(o===-1)return;setTimeout((()=>{try{let t=0;for(let e=0;e<o;e++){const o=i[e];if(o){t+=o.offsetWidth}}const r=i[o].offsetWidth;this.indicatorStyles={left:`${t}px`,width:`${r}px`,transition:e?"all 0.2s ease-in-out":"none"}}catch(e){console.error("Error updating indicator position:",e)}}),10)}render(){return i(o,{key:"c82527ac7d8fb0d1d66005eb82431b0f951cad97"},i("div",{key:"c32f4c59d6c843eef0d20a72d21304f3eeaebab6",class:this.segmentedClass({size:this.size,fullWidth:this.fullWidth,disabled:this.disabled})},i("div",{key:"b5c38f756af549436dabaadfb49aac8f30afad41",class:"segmented-indicator absolute bg-[--bcm-ui-color-background-base-default] z-0 rounded",style:this.indicatorStyles}),i("div",{key:"6a0f9c7d6d2dbc6a8b5ea43e19e2c9b902613812",class:"segmented-options flex relative z-10 w-full"},i("slot",{key:"2ae6718da8ddb236648e120ae769f21eb6434b31"}))))}get host(){return r(this)}static get watchers(){return{value:["valueChanged"]}}};n.style=d;export{n as bcm_segmented_picker};
|
|
2
|
+
//# sourceMappingURL=p-55c4263c.entry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["segmentedPickerCss","BcmSegmentedPickerStyle0","BcmSegmentedPicker","constructor","hostRef","this","size","disabled","fullWidth","options","indicatorStyles","left","width","transition","segmentedClass","tv","base","variants","small","medium","large","true","false","defaultVariants","twMerge","componentWillLoad","parseOptions","value","length","componentDidLoad","updateIndicatorPosition","componentDidUpdate","valueChanged","handleOptionClick","event","detail","bcmChange","emit","slotNodes","Array","from","host","children","filter","node","nodeName","toLowerCase","map","option","getAttribute","label","textContent","animate","selectedOption","querySelector","allOptions","querySelectorAll","selectedIndex","i","setTimeout","leftPosition","optionElement","offsetWidth","selectedWidth","error","console","render","h","Host","key","class","style"],"sources":["src/components/segmented-picker/segmented-picker.css?tag=bcm-segmented-picker&encapsulation=shadow","src/components/segmented-picker/segmented-picker.component.tsx"],"sourcesContent":[":host {\n display: inline-block;\n position: relative;\n}\n\n:host([full-width]) {\n width: 100%;\n}\n\n.segmented-container {\n border-radius: var(--bcm-ui-border-radius, 4px);\n}\n\n.segmented-indicator {\n height: 100%;\n top: 0;\n border-radius: var(--bcm-ui-border-radius-md, 2px);\n transition: left 0.2s ease-in-out, width 0.2s ease-in-out;\n}\n\n.segmented-options {\n display: flex;\n}\n","import { Component, Prop, h, Host, Element, Event, EventEmitter, Watch, State, Listen } from '@stencil/core';\nimport { tv } from 'tailwind-variants';\nimport { SegmentedPickerSize } from './types';\n\n@Component({\n tag: 'bcm-segmented-picker',\n styleUrl: 'segmented-picker.css',\n shadow: true,\n})\nexport class BcmSegmentedPicker {\n @Element() host: HTMLElement;\n\n /** Controls the component size */\n @Prop()\n size: SegmentedPickerSize = 'medium';\n\n /** The selected option value */\n @Prop({ mutable: true, reflect: true })\n value?: string;\n\n /** Disabled state */\n @Prop()\n disabled = false;\n\n /** Full width component */\n @Prop({ attribute: 'full-width', reflect: true })\n fullWidth = false;\n\n /** Change event */\n @Event({\n composed: false,\n bubbles: false,\n cancelable: true,\n })\n bcmChange: EventEmitter<{ value: string }>;\n\n @State() options: Array<{ value: string; label: string }> = [];\n @State() indicatorStyles: { left: string; width: string; transition: string } = {\n left: '0',\n width: '0',\n transition: 'none',\n };\n\n componentWillLoad() {\n // İlk yüklemede options'ları belirle\n this.parseOptions();\n\n // Eğer value belirtilmemişse ve options varsa, ilk option'ı seç\n if (!this.value && this.options.length > 0) {\n this.value = this.options[0].value;\n }\n }\n\n componentDidLoad() {\n // DOM yüklendikten sonra sadece gösterge pozisyonunu güncelle\n this.updateIndicatorPosition(false);\n }\n\n componentDidUpdate() {\n this.updateIndicatorPosition();\n }\n\n @Watch('value')\n valueChanged() {\n this.updateIndicatorPosition();\n }\n\n @Listen('bcmOptionClick')\n handleOptionClick(event: CustomEvent<string>) {\n if (this.disabled) return;\n\n const value = event.detail;\n if (this.value !== value) {\n this.value = value;\n this.bcmChange.emit({ value });\n }\n }\n\n private parseOptions() {\n const slotNodes = Array.from(this.host.children);\n this.options = slotNodes\n .filter(node => node.nodeName.toLowerCase() === 'bcm-segmented-picker-option')\n .map(option => ({\n value: option.getAttribute('value') || '',\n label: option.getAttribute('label') || option.textContent || '',\n }));\n }\n\n private updateIndicatorPosition(animate = true) {\n // Seçili option elemanını bul\n const selectedOption = this.host.querySelector(`bcm-segmented-picker-option[value=\"${this.value}\"]`) as HTMLElement;\n if (!selectedOption) return;\n\n // Tüm option'ları seç\n const allOptions = this.host.querySelectorAll('bcm-segmented-picker-option');\n\n // Seçili option'ın indeksini bul\n let selectedIndex = -1;\n for (let i = 0; i < allOptions.length; i++) {\n if (allOptions[i].getAttribute('value') === this.value) {\n selectedIndex = i;\n break;\n }\n }\n\n if (selectedIndex === -1) return;\n\n // DOM manipülasyonu asenkron olarak yap\n setTimeout(() => {\n try {\n // Seçili option'a kadar olan genişliği hesapla\n let leftPosition = 0;\n\n for (let i = 0; i < selectedIndex; i++) {\n const optionElement = allOptions[i] as HTMLElement;\n if (optionElement) {\n leftPosition += optionElement.offsetWidth;\n }\n }\n\n // Seçili option'ın genişliği\n const selectedWidth = (allOptions[selectedIndex] as HTMLElement).offsetWidth;\n\n // İndikatör stillerini güncelle\n this.indicatorStyles = {\n left: `${leftPosition}px`,\n width: `${selectedWidth}px`,\n transition: animate ? 'all 0.2s ease-in-out' : 'none',\n };\n } catch (error) {\n console.error('Error updating indicator position:', error);\n }\n }, 10);\n }\n\n private segmentedClass = tv(\n {\n base: 'segmented-container bcm-ui-element inline-flex relative bg-[--bcm-ui-color-background-default-default] border border-solid border-[--bcm-ui-color-border-default] rounded overflow-hidden',\n variants: {\n size: {\n small: 'text-size-4',\n medium: 'text-size-5',\n large: 'text-size-6',\n },\n fullWidth: {\n true: 'w-full',\n },\n disabled: {\n true: 'opacity-50 cursor-not-allowed',\n false: 'cursor-pointer',\n },\n },\n defaultVariants: {\n size: 'medium',\n fullWidth: false,\n disabled: false,\n },\n },\n {\n twMerge: false,\n },\n );\n\n render() {\n return (\n <Host>\n <div\n class={this.segmentedClass({\n size: this.size,\n fullWidth: this.fullWidth,\n disabled: this.disabled,\n })}\n >\n <div class=\"segmented-indicator absolute bg-[--bcm-ui-color-background-base-default] z-0 rounded\" style={this.indicatorStyles}></div>\n <div class=\"segmented-options flex relative z-10 w-full\">\n <slot></slot>\n </div>\n </div>\n </Host>\n );\n }\n}\n"],"mappings":"oGAAA,MAAMA,EAAqB,mnEAC3B,MAAAC,EAAeD,E,MCQFE,EAAkB,MAL/B,WAAAC,CAAAC,G,+CAUEC,KAAAC,KAA4B,SAQ5BD,KAAAE,SAAW,MAIXF,KAAAG,UAAY,MAUHH,KAAAI,QAAmD,GACnDJ,KAAAK,gBAAuE,CAC9EC,KAAM,IACNC,MAAO,IACPC,WAAY,QA+FNR,KAAAS,eAAiBC,EACvB,CACEC,KAAM,4LACNC,SAAU,CACRX,KAAM,CACJY,MAAO,cACPC,OAAQ,cACRC,MAAO,eAETZ,UAAW,CACTa,KAAM,UAERd,SAAU,CACRc,KAAM,gCACNC,MAAO,mBAGXC,gBAAiB,CACfjB,KAAM,SACNE,UAAW,MACXD,SAAU,QAGd,CACEiB,QAAS,O,CApHb,iBAAAC,GAEEpB,KAAKqB,eAGL,IAAKrB,KAAKsB,OAAStB,KAAKI,QAAQmB,OAAS,EAAG,CAC1CvB,KAAKsB,MAAQtB,KAAKI,QAAQ,GAAGkB,K,EAIjC,gBAAAE,GAEExB,KAAKyB,wBAAwB,M,CAG/B,kBAAAC,GACE1B,KAAKyB,yB,CAIP,YAAAE,GACE3B,KAAKyB,yB,CAIP,iBAAAG,CAAkBC,GAChB,GAAI7B,KAAKE,SAAU,OAEnB,MAAMoB,EAAQO,EAAMC,OACpB,GAAI9B,KAAKsB,QAAUA,EAAO,CACxBtB,KAAKsB,MAAQA,EACbtB,KAAK+B,UAAUC,KAAK,CAAEV,S,EAIlB,YAAAD,GACN,MAAMY,EAAYC,MAAMC,KAAKnC,KAAKoC,KAAKC,UACvCrC,KAAKI,QAAU6B,EACZK,QAAOC,GAAQA,EAAKC,SAASC,gBAAkB,gCAC/CC,KAAIC,IAAM,CACTrB,MAAOqB,EAAOC,aAAa,UAAY,GACvCC,MAAOF,EAAOC,aAAa,UAAYD,EAAOG,aAAe,M,CAI3D,uBAAArB,CAAwBsB,EAAU,MAExC,MAAMC,EAAiBhD,KAAKoC,KAAKa,cAAc,sCAAsCjD,KAAKsB,WAC1F,IAAK0B,EAAgB,OAGrB,MAAME,EAAalD,KAAKoC,KAAKe,iBAAiB,+BAG9C,IAAIC,GAAiB,EACrB,IAAK,IAAIC,EAAI,EAAGA,EAAIH,EAAW3B,OAAQ8B,IAAK,CAC1C,GAAIH,EAAWG,GAAGT,aAAa,WAAa5C,KAAKsB,MAAO,CACtD8B,EAAgBC,EAChB,K,EAIJ,GAAID,KAAmB,EAAG,OAG1BE,YAAW,KACT,IAEE,IAAIC,EAAe,EAEnB,IAAK,IAAIF,EAAI,EAAGA,EAAID,EAAeC,IAAK,CACtC,MAAMG,EAAgBN,EAAWG,GACjC,GAAIG,EAAe,CACjBD,GAAgBC,EAAcC,W,EAKlC,MAAMC,EAAiBR,EAAWE,GAA+BK,YAGjEzD,KAAKK,gBAAkB,CACrBC,KAAM,GAAGiD,MACThD,MAAO,GAAGmD,MACVlD,WAAYuC,EAAU,uBAAyB,O,CAEjD,MAAOY,GACPC,QAAQD,MAAM,qCAAsCA,E,IAErD,G,CA+BL,MAAAE,GACE,OACEC,EAACC,EAAI,CAAAC,IAAA,4CACHF,EAAA,OAAAE,IAAA,2CACEC,MAAOjE,KAAKS,eAAe,CACzBR,KAAMD,KAAKC,KACXE,UAAWH,KAAKG,UAChBD,SAAUF,KAAKE,YAGjB4D,EAAA,OAAAE,IAAA,2CAAKC,MAAM,uFAAuFC,MAAOlE,KAAKK,kBAC9GyD,EAAA,OAAAE,IAAA,2CAAKC,MAAM,+CACTH,EAAA,QAAAE,IAAA,+C","ignoreList":[]}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{r as e,c as t,h as a}from"./p-
|
|
2
|
-
//# sourceMappingURL=p-
|
|
1
|
+
import{r as e,c as t,h as a}from"./p-c9b736d9.js";import{c as r}from"./p-5fcf77f9.js";const i=":host{--bcm-alert-bg:var(--bcm-ui-color-background-default-default);--bcm-alert-text:var(--bcm-ui-color-text-default);--bcm-alert-radius:6px;display:inline-block;width:100%}.bcm-ui-element{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Inter,sans-serif}.static{position:static}.flex{display:flex}.w-full{width:100%}.cursor-pointer{cursor:pointer}.items-center{align-items:center}.justify-between{justify-content:space-between}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.rounded-\\[--bcm-alert-radius\\]{border-radius:var(--bcm-alert-radius)}.bg-\\[--bcm-alert-bg\\]{background-color:var(--bcm-alert-bg)}.px-3{padding-left:.75rem;padding-right:.75rem}.py-1\\.5{padding-bottom:.375rem;padding-top:.375rem}.py-2{padding-bottom:.5rem;padding-top:.5rem}.py-2\\.5{padding-bottom:.625rem;padding-top:.625rem}.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)}.font-medium{font-weight:500}.text-\\[--bcm-alert-text\\]{color:var(--bcm-alert-text)}.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 c=i;const s=class{constructor(a){e(this,a);this.bcmDismiss=t(this,"bcmDismiss",7);this.status="default";this.size="medium";this.kind="filled";this.dismissible=true;this.showStatusIcon=true}onDismiss(){this.bcmDismiss.emit()}getStatusIcon(){const e={info:"fa-regular fa-info-circle",error:"fa-regular fa-exclamation-circle",warning:"fa-regular fa-exclamation-triangle",success:"fa-regular fa-check-circle"};return e[this.status]}get alertClass(){return r({slots:{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",section:"flex items-center gap-2"},variants:{size:{small:{base:"py-1.5 text-size-4"},medium:{base:"py-2 text-size-5"},large:{base:"py-2.5 text-size-6"}}}},{twMerge:false})}get alertStyles(){let e={info:"var(--bcm-ui-color-background-palette-blue-default)",error:"var(--bcm-ui-color-background-palette-red-default)",warning:"var(--bcm-ui-color-background-palette-yellow-default)",success:"var(--bcm-ui-color-background-palette-green-default)",default:"var(--bcm-ui-color-background-palette-gray-default)"};let t={info:"var(--bcm-ui-color-text-info)",error:"var(--bcm-ui-color-text-error)",warning:"var(--bcm-ui-color-text-warning)",success:"var(--bcm-ui-color-text-success)",default:"var(--bcm-ui-color-text-default)"};let a={"--bcm-alert-bg":e[this.status],"--bcm-alert-text":t[this.status]};let r={"--bcm-alert-bg":"transparent","--bcm-alert-text":t[this.status]};return this.kind==="filled"?a:r}render(){const{base:e,section:t}=this.alertClass({size:this.size});return a("div",{key:"c1cd1054d0b922391f3cfefc9c235467f7775702",role:"alert","aria-live":"assertive","aria-atomic":"true",class:e(),style:this.alertStyles},a("div",{key:"370803a74a81754a5e3b34c85e9fb9e8f1d79f1e",class:t()},this.showStatusIcon&&a("bcm-icon",{key:"dca6a4bb6009c9c5a1090d787f8e332c5db49034","icon-name":this.getStatusIcon()}),a("slot",{key:"d43da27453a067784da5a3e117ad685783283f2f"})),a("div",{key:"3173e4bfb61d5817679f77689a62e74128ccfbe0",class:t()},a("div",{key:"922c11093ae01a206dae99ac71b57c8afb14048b",part:"action"},a("slot",{key:"3a470f25317d0fcbada630464ed74e4593a1a75c",name:"action"})),a("span",{key:"89595ade17c791b22ed5a98d2559b87877839308",part:"icon"},this.dismissible&&a("bcm-icon",{key:"93056d5c2057555d61b2e7ad246e7b163456843e",onClick:()=>this.onDismiss(),class:"cursor-pointer","icon-name":"fa-regular fa-xmark"}))))}};s.style=c;export{s as bcm_alert};
|
|
2
|
+
//# sourceMappingURL=p-58ee24a8.entry.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["alertCss","BcmAlertStyle0","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 'tailwind-variants';\n\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 /**\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,
|
|
1
|
+
{"version":3,"names":["alertCss","BcmAlertStyle0","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 'tailwind-variants';\n\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 /**\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,04CACjB,MAAAC,EAAeD,E,MCaFE,EAAQ,MALrB,WAAAC,CAAAC,G,iDAQIC,KAAAC,OAAuB,UAIvBD,KAAAE,KAAmB,SAInBF,KAAAG,KAAmB,SAInBH,KAAAI,YAAwB,KAIxBJ,KAAAK,eAA2B,I,CASnB,SAAAC,GACJN,KAAKO,WAAWC,M,CAGZ,aAAAC,GACJ,MAAMC,EAAa,CACfC,KAAM,4BACNC,MAAO,mCACPC,QAAS,qCACTC,QAAS,8BAEb,OAAOJ,EAAWV,KAAKC,O,CAG3B,cAAYc,GACR,OAAOC,EACH,CACIC,MAAO,CACHC,KAAM,gKACNC,QAAS,2BAEbC,SAAU,CACNlB,KAAM,CACFmB,MAAO,CACHH,KAAM,sBAEVI,OAAQ,CACJJ,KAAM,oBAEVK,MAAO,CACHL,KAAM,yBAKtB,CACIM,QAAS,O,CAKrB,eAAYC,GACR,IAAIC,EAAc,CACdf,KAAM,sDACNC,MAAO,qDACPC,QAAS,wDACTC,QAAS,uDACTa,QAAS,uDAGb,IAAIC,EAAkB,CAClBjB,KAAM,gCACNC,MAAO,iCACPC,QAAS,mCACTC,QAAS,mCACTa,QAAS,oCAGb,IAAIE,EAAa,CACb,iBAAkBH,EAAY1B,KAAKC,QACnC,mBAAoB2B,EAAgB5B,KAAKC,SAG7C,IAAI6B,EAAY,CACZ,iBAAkB,cAClB,mBAAoBF,EAAgB5B,KAAKC,SAG7C,OAAOD,KAAKG,OAAS,SAAW0B,EAAaC,C,CAGjD,MAAAC,GACI,MAAMb,KAAEA,EAAIC,QAAEA,GAAYnB,KAAKe,WAAW,CAAEb,KAAMF,KAAKE,OACvD,OACI8B,EAAA,OAAAC,IAAA,2CAAKC,KAAK,QAAO,YAAW,YAAW,cAAa,OAAOC,MAAOjB,IAAQkB,MAAOpC,KAAKyB,aAClFO,EAAA,OAAAC,IAAA,2CAAKE,MAAOhB,KACPnB,KAAKK,gBAAkB2B,EAAA,YAAAC,IAAA,uDAAqBjC,KAAKS,kBAClDuB,EAAA,QAAAC,IAAA,8CAEJD,EAAA,OAAAC,IAAA,2CAAKE,MAAOhB,KACRa,EAAA,OAAAC,IAAA,2CAAKI,KAAK,UACNL,EAAA,QAAAC,IAAA,2CAAMK,KAAK,YAEfN,EAAA,QAAAC,IAAA,2CAAMI,KAAK,QAAQrC,KAAKI,aAAe4B,EAAA,YAAAC,IAAA,2CAAUM,QAAS,IAAMvC,KAAKM,YAAa6B,MAAM,iBAAgB,YAAW,0B","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["addHeadScript","obj","head","document","script","createElement","Object","keys","forEach","key","appendChild","FA_GLOBAL_CSS","constructor","shadow","this","attachShadow","mode","innerHTML","icon","getAttribute","shadowRoot","querySelector","className","connectedCallback","style","display","globalFn","globalScripts","appGlobalScript"],"sources":["src/global/global.js","@stencil/core/internal/app-globals"],"sourcesContent":["function addHeadScript(obj) {\n const head = document.head;\n const script = document.createElement('script');\n Object.keys(obj).forEach(key => {\n script[key] = obj[key];\n });\n head.appendChild(script);\n}\n\naddHeadScript({ src: 'https://kit.fontawesome.com/5e86bea963.js', crossOrigin: 'anonymous' });\n\nconst FA_GLOBAL_CSS = 'https://designsystem.bromcomcloud.com/fontawesome/6/css/all.min.css';\n\ncustomElements.define(\n 'bcm-icon',\n class extends HTMLElement {\n constructor() {\n super();\n const shadow = this.attachShadow({ mode: 'open' });\n shadow.innerHTML = `\n <link rel=\"stylesheet\" href=\"${FA_GLOBAL_CSS}\"/>\n <i></i>\n `;\n }\n\n get icon() {\n return this.getAttribute('name') || this.getAttribute('icon-name');\n }\n\n set icon(icon) {\n this.shadowRoot.querySelector('i').className = `${icon}`;\n }\n\n connectedCallback() {\n this.style.display = 'inline-block';\n this.icon = this.icon;\n }\n },\n);\n","import appGlobalScript from '/Users/muratpolatozkan/works/bromcom/bromcom-ui-
|
|
1
|
+
{"version":3,"names":["addHeadScript","obj","head","document","script","createElement","Object","keys","forEach","key","appendChild","FA_GLOBAL_CSS","constructor","shadow","this","attachShadow","mode","innerHTML","icon","getAttribute","shadowRoot","querySelector","className","connectedCallback","style","display","globalFn","globalScripts","appGlobalScript"],"sources":["src/global/global.js","@stencil/core/internal/app-globals"],"sourcesContent":["function addHeadScript(obj) {\n const head = document.head;\n const script = document.createElement('script');\n Object.keys(obj).forEach(key => {\n script[key] = obj[key];\n });\n head.appendChild(script);\n}\n\naddHeadScript({ src: 'https://kit.fontawesome.com/5e86bea963.js', crossOrigin: 'anonymous' });\n\nconst FA_GLOBAL_CSS = 'https://designsystem.bromcomcloud.com/fontawesome/6/css/all.min.css';\n\ncustomElements.define(\n 'bcm-icon',\n class extends HTMLElement {\n constructor() {\n super();\n const shadow = this.attachShadow({ mode: 'open' });\n shadow.innerHTML = `\n <link rel=\"stylesheet\" href=\"${FA_GLOBAL_CSS}\"/>\n <i></i>\n `;\n }\n\n get icon() {\n return this.getAttribute('name') || this.getAttribute('icon-name');\n }\n\n set icon(icon) {\n this.shadowRoot.querySelector('i').className = `${icon}`;\n }\n\n connectedCallback() {\n this.style.display = 'inline-block';\n this.icon = this.icon;\n }\n },\n);\n","import appGlobalScript from '/Users/muratpolatozkan/works/bromcom/bromcom-ui-v2/src/global/global.js';\nexport const globalScripts = appGlobalScript;\n"],"mappings":"AAAA,SAASA,EAAcC,GACnB,MAAMC,EAAOC,SAASD,KACtB,MAAME,EAASD,SAASE,cAAc,UACtCC,OAAOC,KAAKN,GAAKO,SAAQC,IACrBL,EAAOK,GAAOR,EAAIQ,EAAA,IAEtBP,EAAKQ,YAAYN,EACrB,C,6EAEA,MAAMO,EAAgB,sE,2DAElB,WAAAC,G,QAEI,MAAMC,EAAMC,KAAAC,aAAA,CAAAC,KAAA,SACZH,EAAAI,UAAA,0CACRN,+BAGA,CACI,QAAIO,GACA,OAAOJ,KAAKK,aAAa,SAAWL,KAAKK,aAAA,YACjD,CACI,QAAAD,IACJJ,KAAAM,WAAAC,cAAA,KAAAC,UAAA,GAAAJ,G,CAEI,iBAAAK,GACIT,KAAKU,MAAMC,QAAU,eAC7BX,KAAAI,KAAAJ,KAAAI,I,IAGO,MAAMQ,EAAW,OC7BZ,MAACC,EAAgBC,S","ignoreList":[]}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{r as t,c as e,h as i,H as o,g as r}from"./p-c9b736d9.js";import{c as a}from"./p-5fcf77f9.js";const s=".relative{position:relative}.block{display:block}:host{display:block;position:relative;width:100%}.bcm-ui-element{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Inter,sans-serif}.static{position:static}.bottom-0{bottom:0}.left-0{left:0}.right-0{right:0}.flex{display:flex}.h-\\[2px\\]{height:2px}.w-full{width:100%}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.flex-row{flex-direction:row}.items-center{align-items:center}.justify-center{justify-content:center}.gap-2{gap:.5rem}.gap-2\\.5{gap:.625rem}.gap-3{gap:.75rem}.border-none{border-style:none}.bg-\\[--bcm-ui-color-text-default\\]{background-color:var(--bcm-ui-color-text-default)}.bg-\\[--bcm-ui-color-text-disabled\\]{background-color:var(--bcm-ui-color-text-disabled)}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.px-3{padding-left:.75rem;padding-right:.75rem}.py-1{padding-bottom:.25rem;padding-top:.25rem}.text-center{text-align:center}.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)}.font-medium{font-weight:500}.text-color{color:var(--bcm-ui-color-text-default)}.text-color-disabled{color:var(--bcm-ui-color-text-disabled)}.text-color-primary{color:var(--bcm-ui-color-text-primary)}.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)}.hover\\:text-color-primary:hover{color:var(--bcm-ui-color-text-primary)}";const l=s;const c=class{constructor(i){t(this,i);this.bcmTabSelected=e(this,"bcmTabSelected",1);this.active=false;this.size="medium";this.disabled=false;this.class=a({slots:{tab:"bcm-ui-element text-center flex flex-row justify-center items-center font-medium transition-all duration-200 ease-in-out py-1 px-3 w-full bg-white border-none",borderLine:"bottom-0 w-full left-0 right-0 h-[2px] bg-color-primary transition-all duration-200 ease-in-out"},variants:{size:{small:{tab:"text-size-4 gap-2"},medium:{tab:"text-size-5 gap-2.5"},large:{tab:"text-size-6 gap-3"}},active:{true:{tab:"text-color-primary"},false:{tab:"text-color"}},disabled:{true:{tab:"cursor-not-allowed text-color-disabled",borderLine:"bg-[--bcm-ui-color-text-disabled]"},false:{tab:"cursor-pointer text-color hover:text-color-primary",borderLine:"bg-[--bcm-ui-color-text-default]"}}},defaultVariants:{size:"medium",active:false,disabled:false}},{twMerge:false})}handleClick(){if(this.disabled)return;this.bcmTabSelected.emit(this.value)}render(){const{tab:t,borderLine:e}=this.class({size:this.size,active:this.active,disabled:this.disabled});return i(o,{key:"d55ce1eaa9290ffe2d47f6a0fa747cf9dd9f1b7c",role:"tab","aria-selected":this.active.toString(),"aria-disabled":this.disabled},i("button",{key:"d9dcc8685a2007e0c8f234913e461de90916a32d",class:t(),disabled:this.disabled,part:"tab",onClick:()=>this.handleClick()},i("slot",{key:"4ef0ed0302f2fedd966e461a77fd3f79bcb3c6c0"})),i("div",{key:"a0afbb81a99afe7eeab0917a824e67078c4c0636",class:e()}))}get el(){return r(this)}};c.style=l;export{c as bcm_tabs_trigger};
|
|
2
|
+
//# sourceMappingURL=p-9551c35e.entry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["tabsTriggerCss","BcmTabsTriggerStyle0","BcmTabsTrigger","constructor","hostRef","this","active","size","disabled","class","tv","slots","tab","borderLine","variants","small","medium","large","true","false","defaultVariants","twMerge","handleClick","bcmTabSelected","emit","value","render","h","Host","key","role","toString","part","onClick"],"sources":["src/components/tabs/tabs-trigger.css?tag=bcm-tabs-trigger&encapsulation=shadow","src/components/tabs/tabs-trigger.component.tsx"],"sourcesContent":[":host {\n position: relative;\n display: block;\n width: 100%;\n}\n","import { Component, Prop, h, Host, Element, Event, EventEmitter, ComponentInterface } from '@stencil/core';\nimport { tv } from 'tailwind-variants';\n\n/**\n * @description Tab trigger component that functions as a clickable tab button\n * @slot - Default slot for tab label content\n */\n@Component({\n tag: 'bcm-tabs-trigger',\n styleUrl: 'tabs-trigger.css',\n shadow: true,\n})\nexport class BcmTabsTrigger implements ComponentInterface {\n /**\n * Reference to the host element\n */\n @Element() el: HTMLElement;\n\n /**\n * Unique identifier value for the tab\n */\n @Prop({ reflect: true })\n value: string;\n\n /**\n * Whether the tab is currently active\n */\n @Prop({ reflect: true })\n active: boolean = false;\n\n /**\n * Size of the tab\n */\n @Prop({ reflect: true })\n size: 'small' | 'medium' | 'large' = 'medium';\n\n /**\n * Whether the tab is disabled\n */\n @Prop({ reflect: true })\n disabled: boolean = false;\n\n /**\n * Event emitted when this tab is selected\n */\n @Event({\n composed: false,\n bubbles: false,\n cancelable: true,\n eventName: 'bcmTabSelected',\n })\n bcmTabSelected: EventEmitter<string>;\n\n /**\n * Handles click events on the tab\n * Emits bcmTabSelected event with tab value if not disabled\n */\n private handleClick() {\n if (this.disabled) return;\n this.bcmTabSelected.emit(this.value);\n }\n\n /**\n * Tailwind variants configuration for styling\n */\n private class = tv(\n {\n slots: {\n tab: 'bcm-ui-element text-center flex flex-row justify-center items-center font-medium transition-all duration-200 ease-in-out py-1 px-3 w-full bg-white border-none',\n borderLine: 'bottom-0 w-full left-0 right-0 h-[2px] bg-color-primary transition-all duration-200 ease-in-out',\n },\n variants: {\n size: {\n small: { tab: 'text-size-4 gap-2' },\n medium: { tab: 'text-size-5 gap-2.5' },\n large: { tab: 'text-size-6 gap-3' },\n },\n active: {\n true: {\n tab: 'text-color-primary',\n },\n false: {\n tab: 'text-color',\n },\n },\n disabled: {\n true: {\n tab: 'cursor-not-allowed text-color-disabled',\n borderLine: 'bg-[--bcm-ui-color-text-disabled]',\n },\n false: {\n tab: 'cursor-pointer text-color hover:text-color-primary',\n borderLine: 'bg-[--bcm-ui-color-text-default]',\n },\n },\n },\n defaultVariants: {\n size: 'medium',\n active: false,\n disabled: false,\n },\n },\n {\n twMerge: false,\n },\n );\n\n render() {\n const { tab, borderLine } = this.class({\n size: this.size,\n active: this.active,\n disabled: this.disabled,\n });\n return (\n <Host role=\"tab\" aria-selected={this.active.toString()} aria-disabled={this.disabled}>\n <button class={tab()} disabled={this.disabled} part=\"tab\" onClick={() => this.handleClick()}>\n <slot />\n </button>\n <div class={borderLine()}></div>\n </Host>\n );\n }\n}"],"mappings":"oGAAA,MAAMA,EAAiB,y8DACvB,MAAAC,EAAeD,E,MCWFE,EAAc,MAL3B,WAAAC,CAAAC,G,yDAqBIC,KAAAC,OAAkB,MAMlBD,KAAAE,KAAqC,SAMrCF,KAAAG,SAAoB,MAyBZH,KAAAI,MAAQC,EACZ,CACIC,MAAO,CACHC,IAAK,iKACLC,WAAY,mGAEhBC,SAAU,CACNP,KAAM,CACFQ,MAAO,CAAEH,IAAK,qBACdI,OAAQ,CAAEJ,IAAK,uBACfK,MAAO,CAAEL,IAAK,sBAElBN,OAAQ,CACJY,KAAM,CACFN,IAAK,sBAETO,MAAO,CACHP,IAAK,eAGbJ,SAAU,CACNU,KAAM,CACFN,IAAK,yCACLC,WAAY,qCAEhBM,MAAO,CACHP,IAAK,qDACLC,WAAY,sCAIxBO,gBAAiB,CACbb,KAAM,SACND,OAAQ,MACRE,SAAU,QAGlB,CACIa,QAAS,O,CA9CT,WAAAC,GACJ,GAAIjB,KAAKG,SAAU,OACnBH,KAAKkB,eAAeC,KAAKnB,KAAKoB,M,CAgDlC,MAAAC,GACI,MAAMd,IAAEA,EAAGC,WAAEA,GAAeR,KAAKI,MAAM,CACnCF,KAAMF,KAAKE,KACXD,OAAQD,KAAKC,OACbE,SAAUH,KAAKG,WAEnB,OACImB,EAACC,EAAI,CAAAC,IAAA,2CAACC,KAAK,MAAK,gBAAgBzB,KAAKC,OAAOyB,WAAU,gBAAiB1B,KAAKG,UACxEmB,EAAA,UAAAE,IAAA,2CAAQpB,MAAOG,IAAOJ,SAAUH,KAAKG,SAAUwB,KAAK,MAAMC,QAAS,IAAM5B,KAAKiB,eAC1EK,EAAA,QAAAE,IAAA,8CAEJF,EAAA,OAAAE,IAAA,2CAAKpB,MAAOI,M","ignoreList":[]}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
const t=["top","right","bottom","left"];const n=["start","end"];const e=t.reduce(((t,e)=>t.concat(e,e+"-"+n[0],e+"-"+n[1])),[]);const o=Math.min;const s=Math.max;const r=Math.round;const c=Math.floor;const i=t=>({x:t,y:t});const l={left:"right",right:"left",bottom:"top",top:"bottom"};const a={start:"end",end:"start"};function f(t,n,e){return s(t,o(n,e))}function u(t,n){return typeof t==="function"?t(n):t}function d(t){return t.split("-")[0]}function m(t){return t.split("-")[1]}function h(t){return t==="x"?"y":"x"}function p(t){return t==="y"?"height":"width"}function y(t){return["top","bottom"].includes(d(t))?"y":"x"}function w(t){return h(y(t))}function g(t,n,e){if(e===void 0){e=false}const o=m(t);const s=w(t);const r=p(s);let c=s==="x"?o===(e?"end":"start")?"right":"left":o==="start"?"bottom":"top";if(n.reference[r]>n.floating[r]){c=R(c)}return[c,R(c)]}function x(t){const n=R(t);return[v(t),n,v(n)]}function v(t){return t.replace(/start|end/g,(t=>a[t]))}function b(t,n,e){const o=["left","right"];const s=["right","left"];const r=["top","bottom"];const c=["bottom","top"];switch(t){case"top":case"bottom":if(e)return n?s:o;return n?o:s;case"left":case"right":return n?r:c;default:return[]}}function A(t,n,e,o){const s=m(t);let r=b(d(t),e==="start",o);if(s){r=r.map((t=>t+"-"+s));if(n){r=r.concat(r.map(v))}}return r}function R(t){return t.replace(/left|right|bottom|top/g,(t=>l[t]))}function k(t){return{top:0,right:0,bottom:0,left:0,...t}}function S(t){return typeof t!=="number"?k(t):{top:t,right:t,bottom:t,left:t}}function O(t){const{x:n,y:e,width:o,height:s}=t;return{width:o,height:s,top:e,left:n,right:n+o,bottom:e+s,x:n,y:e}}function F(t,n,e){let{reference:o,floating:s}=t;const r=y(n);const c=w(n);const i=p(c);const l=d(n);const a=r==="y";const f=o.x+o.width/2-s.width/2;const u=o.y+o.height/2-s.height/2;const h=o[i]/2-s[i]/2;let g;switch(l){case"top":g={x:f,y:o.y-s.height};break;case"bottom":g={x:f,y:o.y+o.height};break;case"right":g={x:o.x+o.width,y:u};break;case"left":g={x:o.x-s.width,y:u};break;default:g={x:o.x,y:o.y}}switch(m(n)){case"start":g[c]-=h*(e&&a?-1:1);break;case"end":g[c]+=h*(e&&a?-1:1);break}return g}const D=async(t,n,e)=>{const{placement:o="bottom",strategy:s="absolute",middleware:r=[],platform:c}=e;const i=r.filter(Boolean);const l=await(c.isRTL==null?void 0:c.isRTL(n));let a=await c.getElementRects({reference:t,floating:n,strategy:s});let{x:f,y:u}=F(a,o,l);let d=o;let m={};let h=0;for(let e=0;e<i.length;e++){const{name:r,fn:p}=i[e];const{x:y,y:w,data:g,reset:x}=await p({x:f,y:u,initialPlacement:o,placement:d,strategy:s,middlewareData:m,rects:a,platform:c,elements:{reference:t,floating:n}});f=y!=null?y:f;u=w!=null?w:u;m={...m,[r]:{...m[r],...g}};if(x&&h<=50){h++;if(typeof x==="object"){if(x.placement){d=x.placement}if(x.rects){a=x.rects===true?await c.getElementRects({reference:t,floating:n,strategy:s}):x.rects}({x:f,y:u}=F(a,d,l))}e=-1}}return{x:f,y:u,placement:d,strategy:s,middlewareData:m}};async function P(t,n){var e;if(n===void 0){n={}}const{x:o,y:s,platform:r,rects:c,elements:i,strategy:l}=t;const{boundary:a="clippingAncestors",rootBoundary:f="viewport",elementContext:d="floating",altBoundary:m=false,padding:h=0}=u(n,t);const p=S(h);const y=d==="floating"?"reference":"floating";const w=i[m?y:d];const g=O(await r.getClippingRect({element:((e=await(r.isElement==null?void 0:r.isElement(w)))!=null?e:true)?w:w.contextElement||await(r.getDocumentElement==null?void 0:r.getDocumentElement(i.floating)),boundary:a,rootBoundary:f,strategy:l}));const x=d==="floating"?{x:o,y:s,width:c.floating.width,height:c.floating.height}:c.reference;const v=await(r.getOffsetParent==null?void 0:r.getOffsetParent(i.floating));const b=await(r.isElement==null?void 0:r.isElement(v))?await(r.getScale==null?void 0:r.getScale(v))||{x:1,y:1}:{x:1,y:1};const A=O(r.convertOffsetParentRelativeRectToViewportRelativeRect?await r.convertOffsetParentRelativeRectToViewportRelativeRect({elements:i,rect:x,offsetParent:v,strategy:l}):x);return{top:(g.top-A.top+p.top)/b.y,bottom:(A.bottom-g.bottom+p.bottom)/b.y,left:(g.left-A.left+p.left)/b.x,right:(A.right-g.right+p.right)/b.x}}const T=t=>({name:"arrow",options:t,async fn(n){const{x:e,y:s,placement:r,rects:c,platform:i,elements:l,middlewareData:a}=n;const{element:d,padding:h=0}=u(t,n)||{};if(d==null){return{}}const y=S(h);const g={x:e,y:s};const x=w(r);const v=p(x);const b=await i.getDimensions(d);const A=x==="y";const R=A?"top":"left";const k=A?"bottom":"right";const O=A?"clientHeight":"clientWidth";const F=c.reference[v]+c.reference[x]-g[x]-c.floating[v];const D=g[x]-c.reference[x];const P=await(i.getOffsetParent==null?void 0:i.getOffsetParent(d));let T=P?P[O]:0;if(!T||!await(i.isElement==null?void 0:i.isElement(P))){T=l.floating[O]||c.floating[v]}const C=F/2-D/2;const z=T/2-b[v]/2-1;const B=o(y[R],z);const H=o(y[k],z);const M=B;const L=T-b[v]-H;const E=T/2-b[v]/2+C;const I=f(M,E,L);const N=!a.arrow&&m(r)!=null&&E!==I&&c.reference[v]/2-(E<M?B:H)-b[v]/2<0;const j=N?E<M?E-M:E-L:0;return{[x]:g[x]+j,data:{[x]:I,centerOffset:E-I-j,...N&&{alignmentOffset:j}},reset:N}}});function C(t,n,e){const o=t?[...e.filter((n=>m(n)===t)),...e.filter((n=>m(n)!==t))]:e.filter((t=>d(t)===t));return o.filter((e=>{if(t){return m(e)===t||(n?v(e)!==e:false)}return true}))}const z=function(t){if(t===void 0){t={}}return{name:"autoPlacement",options:t,async fn(n){var o,s,r;const{rects:c,middlewareData:i,placement:l,platform:a,elements:f}=n;const{crossAxis:h=false,alignment:p,allowedPlacements:y=e,autoAlignment:w=true,...x}=u(t,n);const v=p!==undefined||y===e?C(p||null,w,y):y;const b=await P(n,x);const A=((o=i.autoPlacement)==null?void 0:o.index)||0;const R=v[A];if(R==null){return{}}const k=g(R,c,await(a.isRTL==null?void 0:a.isRTL(f.floating)));if(l!==R){return{reset:{placement:v[0]}}}const S=[b[d(R)],b[k[0]],b[k[1]]];const O=[...((s=i.autoPlacement)==null?void 0:s.overflows)||[],{placement:R,overflows:S}];const F=v[A+1];if(F){return{data:{index:A+1,overflows:O},reset:{placement:F}}}const D=O.map((t=>{const n=m(t.placement);return[t.placement,n&&h?t.overflows.slice(0,2).reduce(((t,n)=>t+n),0):t.overflows[0],t.overflows]})).sort(((t,n)=>t[1]-n[1]));const T=D.filter((t=>t[2].slice(0,m(t[0])?2:3).every((t=>t<=0))));const z=((r=T[0])==null?void 0:r[0])||D[0][0];if(z!==l){return{data:{index:A+1,overflows:O},reset:{placement:z}}}return{}}}};const B=function(t){if(t===void 0){t={}}return{name:"flip",options:t,async fn(n){var e,o;const{placement:s,middlewareData:r,rects:c,initialPlacement:i,platform:l,elements:a}=n;const{mainAxis:f=true,crossAxis:m=true,fallbackPlacements:h,fallbackStrategy:p="bestFit",fallbackAxisSideDirection:w="none",flipAlignment:v=true,...b}=u(t,n);if((e=r.arrow)!=null&&e.alignmentOffset){return{}}const k=d(s);const S=y(i);const O=d(i)===i;const F=await(l.isRTL==null?void 0:l.isRTL(a.floating));const D=h||(O||!v?[R(i)]:x(i));const T=w!=="none";if(!h&&T){D.push(...A(i,v,w,F))}const C=[i,...D];const z=await P(n,b);const B=[];let H=((o=r.flip)==null?void 0:o.overflows)||[];if(f){B.push(z[k])}if(m){const t=g(s,c,F);B.push(z[t[0]],z[t[1]])}H=[...H,{placement:s,overflows:B}];if(!B.every((t=>t<=0))){var M,L;const t=(((M=r.flip)==null?void 0:M.index)||0)+1;const n=C[t];if(n){var E;const e=m==="alignment"?S!==y(n):false;const o=((E=H[0])==null?void 0:E.overflows[0])>0;if(!e||o){return{data:{index:t,overflows:H},reset:{placement:n}}}}let e=(L=H.filter((t=>t.overflows[0]<=0)).sort(((t,n)=>t.overflows[1]-n.overflows[1]))[0])==null?void 0:L.placement;if(!e){switch(p){case"bestFit":{var I;const t=(I=H.filter((t=>{if(T){const n=y(t.placement);return n===S||n==="y"}return true})).map((t=>[t.placement,t.overflows.filter((t=>t>0)).reduce(((t,n)=>t+n),0)])).sort(((t,n)=>t[1]-n[1]))[0])==null?void 0:I[0];if(t){e=t}break}case"initialPlacement":e=i;break}}if(s!==e){return{reset:{placement:e}}}}return{}}}};function H(t,n){return{top:t.top-n.height,right:t.right-n.width,bottom:t.bottom-n.height,left:t.left-n.width}}function M(n){return t.some((t=>n[t]>=0))}const L=function(t){if(t===void 0){t={}}return{name:"hide",options:t,async fn(n){const{rects:e}=n;const{strategy:o="referenceHidden",...s}=u(t,n);switch(o){case"referenceHidden":{const t=await P(n,{...s,elementContext:"reference"});const o=H(t,e.reference);return{data:{referenceHiddenOffsets:o,referenceHidden:M(o)}}}case"escaped":{const t=await P(n,{...s,altBoundary:true});const o=H(t,e.floating);return{data:{escapedOffsets:o,escaped:M(o)}}}default:{return{}}}}}};function E(t){const n=o(...t.map((t=>t.left)));const e=o(...t.map((t=>t.top)));const r=s(...t.map((t=>t.right)));const c=s(...t.map((t=>t.bottom)));return{x:n,y:e,width:r-n,height:c-e}}function I(t){const n=t.slice().sort(((t,n)=>t.y-n.y));const e=[];let o=null;for(let t=0;t<n.length;t++){const s=n[t];if(!o||s.y-o.y>o.height/2){e.push([s])}else{e[e.length-1].push(s)}o=s}return e.map((t=>O(E(t))))}const N=function(t){if(t===void 0){t={}}return{name:"inline",options:t,async fn(n){const{placement:e,elements:r,rects:c,platform:i,strategy:l}=n;const{padding:a=2,x:f,y:m}=u(t,n);const h=Array.from(await(i.getClientRects==null?void 0:i.getClientRects(r.reference))||[]);const p=I(h);const w=O(E(h));const g=S(a);function x(){if(p.length===2&&p[0].left>p[1].right&&f!=null&&m!=null){return p.find((t=>f>t.left-g.left&&f<t.right+g.right&&m>t.top-g.top&&m<t.bottom+g.bottom))||w}if(p.length>=2){if(y(e)==="y"){const t=p[0];const n=p[p.length-1];const o=d(e)==="top";const s=t.top;const r=n.bottom;const c=o?t.left:n.left;const i=o?t.right:n.right;const l=i-c;const a=r-s;return{top:s,bottom:r,left:c,right:i,width:l,height:a,x:c,y:s}}const t=d(e)==="left";const n=s(...p.map((t=>t.right)));const r=o(...p.map((t=>t.left)));const c=p.filter((e=>t?e.left===r:e.right===n));const i=c[0].top;const l=c[c.length-1].bottom;const a=r;const f=n;const u=f-a;const m=l-i;return{top:i,bottom:l,left:a,right:f,width:u,height:m,x:a,y:i}}return w}const v=await i.getElementRects({reference:{getBoundingClientRect:x},floating:r.floating,strategy:l});if(c.reference.x!==v.reference.x||c.reference.y!==v.reference.y||c.reference.width!==v.reference.width||c.reference.height!==v.reference.height){return{reset:{rects:v}}}return{}}}};async function j(t,n){const{placement:e,platform:o,elements:s}=t;const r=await(o.isRTL==null?void 0:o.isRTL(s.floating));const c=d(e);const i=m(e);const l=y(e)==="y";const a=["left","top"].includes(c)?-1:1;const f=r&&l?-1:1;const h=u(n,t);let{mainAxis:p,crossAxis:w,alignmentAxis:g}=typeof h==="number"?{mainAxis:h,crossAxis:0,alignmentAxis:null}:{mainAxis:h.mainAxis||0,crossAxis:h.crossAxis||0,alignmentAxis:h.alignmentAxis};if(i&&typeof g==="number"){w=i==="end"?g*-1:g}return l?{x:w*f,y:p*a}:{x:p*a,y:w*f}}const q=function(t){if(t===void 0){t=0}return{name:"offset",options:t,async fn(n){var e,o;const{x:s,y:r,placement:c,middlewareData:i}=n;const l=await j(n,t);if(c===((e=i.offset)==null?void 0:e.placement)&&(o=i.arrow)!=null&&o.alignmentOffset){return{}}return{x:s+l.x,y:r+l.y,data:{...l,placement:c}}}}};const W=function(t){if(t===void 0){t={}}return{name:"shift",options:t,async fn(n){const{x:e,y:o,placement:s}=n;const{mainAxis:r=true,crossAxis:c=false,limiter:i={fn:t=>{let{x:n,y:e}=t;return{x:n,y:e}}},...l}=u(t,n);const a={x:e,y:o};const m=await P(n,l);const p=y(d(s));const w=h(p);let g=a[w];let x=a[p];if(r){const t=w==="y"?"top":"left";const n=w==="y"?"bottom":"right";const e=g+m[t];const o=g-m[n];g=f(e,g,o)}if(c){const t=p==="y"?"top":"left";const n=p==="y"?"bottom":"right";const e=x+m[t];const o=x-m[n];x=f(e,x,o)}const v=i.fn({...n,[w]:g,[p]:x});return{...v,data:{x:v.x-e,y:v.y-o,enabled:{[w]:r,[p]:c}}}}}};const $=function(t){if(t===void 0){t={}}return{options:t,fn(n){const{x:e,y:o,placement:s,rects:r,middlewareData:c}=n;const{offset:i=0,mainAxis:l=true,crossAxis:a=true}=u(t,n);const f={x:e,y:o};const m=y(s);const p=h(m);let w=f[p];let g=f[m];const x=u(i,n);const v=typeof x==="number"?{mainAxis:x,crossAxis:0}:{mainAxis:0,crossAxis:0,...x};if(l){const t=p==="y"?"height":"width";const n=r.reference[p]-r.floating[t]+v.mainAxis;const e=r.reference[p]+r.reference[t]-v.mainAxis;if(w<n){w=n}else if(w>e){w=e}}if(a){var b,A;const t=p==="y"?"width":"height";const n=["top","left"].includes(d(s));const e=r.reference[m]-r.floating[t]+(n?((b=c.offset)==null?void 0:b[m])||0:0)+(n?0:v.crossAxis);const o=r.reference[m]+r.reference[t]+(n?0:((A=c.offset)==null?void 0:A[m])||0)-(n?v.crossAxis:0);if(g<e){g=e}else if(g>o){g=o}}return{[p]:w,[m]:g}}}};const V=function(t){if(t===void 0){t={}}return{name:"size",options:t,async fn(n){var e,r;const{placement:c,rects:i,platform:l,elements:a}=n;const{apply:f=(()=>{}),...h}=u(t,n);const p=await P(n,h);const w=d(c);const g=m(c);const x=y(c)==="y";const{width:v,height:b}=i.floating;let A;let R;if(w==="top"||w==="bottom"){A=w;R=g===(await(l.isRTL==null?void 0:l.isRTL(a.floating))?"start":"end")?"left":"right"}else{R=w;A=g==="end"?"top":"bottom"}const k=b-p.top-p.bottom;const S=v-p.left-p.right;const O=o(b-p[A],k);const F=o(v-p[R],S);const D=!n.middlewareData.shift;let T=O;let C=F;if((e=n.middlewareData.shift)!=null&&e.enabled.x){C=S}if((r=n.middlewareData.shift)!=null&&r.enabled.y){T=k}if(D&&!g){const t=s(p.left,0);const n=s(p.right,0);const e=s(p.top,0);const o=s(p.bottom,0);if(x){C=v-2*(t!==0||n!==0?t+n:s(p.left,p.right))}else{T=b-2*(e!==0||o!==0?e+o:s(p.top,p.bottom))}}await f({...n,availableWidth:C,availableHeight:T});const z=await l.getDimensions(a.floating);if(v!==z.width||b!==z.height){return{reset:{rects:true}}}return{}}}};function X(){return typeof window!=="undefined"}function Y(t){if(J(t)){return(t.nodeName||"").toLowerCase()}return"#document"}function _(t){var n;return(t==null||(n=t.ownerDocument)==null?void 0:n.defaultView)||window}function G(t){var n;return(n=(J(t)?t.ownerDocument:t.document)||window.document)==null?void 0:n.documentElement}function J(t){if(!X()){return false}return t instanceof Node||t instanceof _(t).Node}function K(t){if(!X()){return false}return t instanceof Element||t instanceof _(t).Element}function Q(t){if(!X()){return false}return t instanceof HTMLElement||t instanceof _(t).HTMLElement}function U(t){if(!X()||typeof ShadowRoot==="undefined"){return false}return t instanceof ShadowRoot||t instanceof _(t).ShadowRoot}function Z(t){const{overflow:n,overflowX:e,overflowY:o,display:s}=ct(t);return/auto|scroll|overlay|hidden|clip/.test(n+o+e)&&!["inline","contents"].includes(s)}function tt(t){return["table","td","th"].includes(Y(t))}function nt(t){return[":popover-open",":modal"].some((n=>{try{return t.matches(n)}catch(t){return false}}))}function et(t){const n=st();const e=K(t)?ct(t):t;return["transform","translate","scale","rotate","perspective"].some((t=>e[t]?e[t]!=="none":false))||(e.containerType?e.containerType!=="normal":false)||!n&&(e.backdropFilter?e.backdropFilter!=="none":false)||!n&&(e.filter?e.filter!=="none":false)||["transform","translate","scale","rotate","perspective","filter"].some((t=>(e.willChange||"").includes(t)))||["paint","layout","strict","content"].some((t=>(e.contain||"").includes(t)))}function ot(t){let n=lt(t);while(Q(n)&&!rt(n)){if(et(n)){return n}else if(nt(n)){return null}n=lt(n)}return null}function st(){if(typeof CSS==="undefined"||!CSS.supports)return false;return CSS.supports("-webkit-backdrop-filter","none")}function rt(t){return["html","body","#document"].includes(Y(t))}function ct(t){return _(t).getComputedStyle(t)}function it(t){if(K(t)){return{scrollLeft:t.scrollLeft,scrollTop:t.scrollTop}}return{scrollLeft:t.scrollX,scrollTop:t.scrollY}}function lt(t){if(Y(t)==="html"){return t}const n=t.assignedSlot||t.parentNode||U(t)&&t.host||G(t);return U(n)?n.host:n}function at(t){const n=lt(t);if(rt(n)){return t.ownerDocument?t.ownerDocument.body:t.body}if(Q(n)&&Z(n)){return n}return at(n)}function ft(t,n,e){var o;if(n===void 0){n=[]}if(e===void 0){e=true}const s=at(t);const r=s===((o=t.ownerDocument)==null?void 0:o.body);const c=_(s);if(r){const t=ut(c);return n.concat(c,c.visualViewport||[],Z(s)?s:[],t&&e?ft(t):[])}return n.concat(s,ft(s,[],e))}function ut(t){return t.parent&&Object.getPrototypeOf(t.parent)?t.frameElement:null}function dt(t){const n=ct(t);let e=parseFloat(n.width)||0;let o=parseFloat(n.height)||0;const s=Q(t);const c=s?t.offsetWidth:e;const i=s?t.offsetHeight:o;const l=r(e)!==c||r(o)!==i;if(l){e=c;o=i}return{width:e,height:o,$:l}}function mt(t){return!K(t)?t.contextElement:t}function ht(t){const n=mt(t);if(!Q(n)){return i(1)}const e=n.getBoundingClientRect();const{width:o,height:s,$:c}=dt(n);let l=(c?r(e.width):e.width)/o;let a=(c?r(e.height):e.height)/s;if(!l||!Number.isFinite(l)){l=1}if(!a||!Number.isFinite(a)){a=1}return{x:l,y:a}}const pt=i(0);function yt(t){const n=_(t);if(!st()||!n.visualViewport){return pt}return{x:n.visualViewport.offsetLeft,y:n.visualViewport.offsetTop}}function wt(t,n,e){if(n===void 0){n=false}if(!e||n&&e!==_(t)){return false}return n}function gt(t,n,e,o){if(n===void 0){n=false}if(e===void 0){e=false}const s=t.getBoundingClientRect();const r=mt(t);let c=i(1);if(n){if(o){if(K(o)){c=ht(o)}}else{c=ht(t)}}const l=wt(r,e,o)?yt(r):i(0);let a=(s.left+l.x)/c.x;let f=(s.top+l.y)/c.y;let u=s.width/c.x;let d=s.height/c.y;if(r){const t=_(r);const n=o&&K(o)?_(o):o;let e=t;let s=ut(e);while(s&&o&&n!==e){const t=ht(s);const n=s.getBoundingClientRect();const o=ct(s);const r=n.left+(s.clientLeft+parseFloat(o.paddingLeft))*t.x;const c=n.top+(s.clientTop+parseFloat(o.paddingTop))*t.y;a*=t.x;f*=t.y;u*=t.x;d*=t.y;a+=r;f+=c;e=_(s);s=ut(e)}}return O({width:u,height:d,x:a,y:f})}function xt(t,n){const e=it(t).scrollLeft;if(!n){return gt(G(t)).left+e}return n.left+e}function vt(t,n,e){if(e===void 0){e=false}const o=t.getBoundingClientRect();const s=o.left+n.scrollLeft-(e?0:xt(t,o));const r=o.top+n.scrollTop;return{x:s,y:r}}function bt(t){let{elements:n,rect:e,offsetParent:o,strategy:s}=t;const r=s==="fixed";const c=G(o);const l=n?nt(n.floating):false;if(o===c||l&&r){return e}let a={scrollLeft:0,scrollTop:0};let f=i(1);const u=i(0);const d=Q(o);if(d||!d&&!r){if(Y(o)!=="body"||Z(c)){a=it(o)}if(Q(o)){const t=gt(o);f=ht(o);u.x=t.x+o.clientLeft;u.y=t.y+o.clientTop}}const m=c&&!d&&!r?vt(c,a,true):i(0);return{width:e.width*f.x,height:e.height*f.y,x:e.x*f.x-a.scrollLeft*f.x+u.x+m.x,y:e.y*f.y-a.scrollTop*f.y+u.y+m.y}}function At(t){return Array.from(t.getClientRects())}function Rt(t){const n=G(t);const e=it(t);const o=t.ownerDocument.body;const r=s(n.scrollWidth,n.clientWidth,o.scrollWidth,o.clientWidth);const c=s(n.scrollHeight,n.clientHeight,o.scrollHeight,o.clientHeight);let i=-e.scrollLeft+xt(t);const l=-e.scrollTop;if(ct(o).direction==="rtl"){i+=s(n.clientWidth,o.clientWidth)-r}return{width:r,height:c,x:i,y:l}}function kt(t,n){const e=_(t);const o=G(t);const s=e.visualViewport;let r=o.clientWidth;let c=o.clientHeight;let i=0;let l=0;if(s){r=s.width;c=s.height;const t=st();if(!t||t&&n==="fixed"){i=s.offsetLeft;l=s.offsetTop}}return{width:r,height:c,x:i,y:l}}function St(t,n){const e=gt(t,true,n==="fixed");const o=e.top+t.clientTop;const s=e.left+t.clientLeft;const r=Q(t)?ht(t):i(1);const c=t.clientWidth*r.x;const l=t.clientHeight*r.y;const a=s*r.x;const f=o*r.y;return{width:c,height:l,x:a,y:f}}function Ot(t,n,e){let o;if(n==="viewport"){o=kt(t,e)}else if(n==="document"){o=Rt(G(t))}else if(K(n)){o=St(n,e)}else{const e=yt(t);o={x:n.x-e.x,y:n.y-e.y,width:n.width,height:n.height}}return O(o)}function Ft(t,n){const e=lt(t);if(e===n||!K(e)||rt(e)){return false}return ct(e).position==="fixed"||Ft(e,n)}function Dt(t,n){const e=n.get(t);if(e){return e}let o=ft(t,[],false).filter((t=>K(t)&&Y(t)!=="body"));let s=null;const r=ct(t).position==="fixed";let c=r?lt(t):t;while(K(c)&&!rt(c)){const n=ct(c);const e=et(c);if(!e&&n.position==="fixed"){s=null}const i=r?!e&&!s:!e&&n.position==="static"&&!!s&&["absolute","fixed"].includes(s.position)||Z(c)&&!e&&Ft(t,c);if(i){o=o.filter((t=>t!==c))}else{s=n}c=lt(c)}n.set(t,o);return o}function Pt(t){let{element:n,boundary:e,rootBoundary:r,strategy:c}=t;const i=e==="clippingAncestors"?nt(n)?[]:Dt(n,this._c):[].concat(e);const l=[...i,r];const a=l[0];const f=l.reduce(((t,e)=>{const r=Ot(n,e,c);t.top=s(r.top,t.top);t.right=o(r.right,t.right);t.bottom=o(r.bottom,t.bottom);t.left=s(r.left,t.left);return t}),Ot(n,a,c));return{width:f.right-f.left,height:f.bottom-f.top,x:f.left,y:f.top}}function Tt(t){const{width:n,height:e}=dt(t);return{width:n,height:e}}function Ct(t,n,e){const o=Q(n);const s=G(n);const r=e==="fixed";const c=gt(t,true,r,n);let l={scrollLeft:0,scrollTop:0};const a=i(0);function f(){a.x=xt(s)}if(o||!o&&!r){if(Y(n)!=="body"||Z(s)){l=it(n)}if(o){const t=gt(n,true,r,n);a.x=t.x+n.clientLeft;a.y=t.y+n.clientTop}else if(s){f()}}if(r&&!o&&s){f()}const u=s&&!o&&!r?vt(s,l):i(0);const d=c.left+l.scrollLeft-a.x-u.x;const m=c.top+l.scrollTop-a.y-u.y;return{x:d,y:m,width:c.width,height:c.height}}function zt(t){return ct(t).position==="static"}function Bt(t,n){if(!Q(t)||ct(t).position==="fixed"){return null}if(n){return n(t)}let e=t.offsetParent;if(G(t)===e){e=e.ownerDocument.body}return e}function Ht(t,n){const e=_(t);if(nt(t)){return e}if(!Q(t)){let n=lt(t);while(n&&!rt(n)){if(K(n)&&!zt(n)){return n}n=lt(n)}return e}let o=Bt(t,n);while(o&&tt(o)&&zt(o)){o=Bt(o,n)}if(o&&rt(o)&&zt(o)&&!et(o)){return e}return o||ot(t)||e}const Mt=async function(t){const n=this.getOffsetParent||Ht;const e=this.getDimensions;const o=await e(t.floating);return{reference:Ct(t.reference,await n(t.floating),t.strategy),floating:{x:0,y:0,width:o.width,height:o.height}}};function Lt(t){return ct(t).direction==="rtl"}const Et={convertOffsetParentRelativeRectToViewportRelativeRect:bt,getDocumentElement:G,getClippingRect:Pt,getOffsetParent:Ht,getElementRects:Mt,getClientRects:At,getDimensions:Tt,getScale:ht,isElement:K,isRTL:Lt};function It(t,n){return t.x===n.x&&t.y===n.y&&t.width===n.width&&t.height===n.height}function Nt(t,n){let e=null;let r;const i=G(t);function l(){var t;clearTimeout(r);(t=e)==null||t.disconnect();e=null}function a(f,u){if(f===void 0){f=false}if(u===void 0){u=1}l();const d=t.getBoundingClientRect();const{left:m,top:h,width:p,height:y}=d;if(!f){n()}if(!p||!y){return}const w=c(h);const g=c(i.clientWidth-(m+p));const x=c(i.clientHeight-(h+y));const v=c(m);const b=-w+"px "+-g+"px "+-x+"px "+-v+"px";const A={rootMargin:b,threshold:s(0,o(1,u))||1};let R=true;function k(n){const e=n[0].intersectionRatio;if(e!==u){if(!R){return a()}if(!e){r=setTimeout((()=>{a(false,1e-7)}),1e3)}else{a(false,e)}}if(e===1&&!It(d,t.getBoundingClientRect())){a()}R=false}try{e=new IntersectionObserver(k,{...A,root:i.ownerDocument})}catch(t){e=new IntersectionObserver(k,A)}e.observe(t)}a(true);return l}function jt(t,n,e,o){if(o===void 0){o={}}const{ancestorScroll:s=true,ancestorResize:r=true,elementResize:c=typeof ResizeObserver==="function",layoutShift:i=typeof IntersectionObserver==="function",animationFrame:l=false}=o;const a=mt(t);const f=s||r?[...a?ft(a):[],...ft(n)]:[];f.forEach((t=>{s&&t.addEventListener("scroll",e,{passive:true});r&&t.addEventListener("resize",e)}));const u=a&&i?Nt(a,e):null;let d=-1;let m=null;if(c){m=new ResizeObserver((t=>{let[o]=t;if(o&&o.target===a&&m){m.unobserve(n);cancelAnimationFrame(d);d=requestAnimationFrame((()=>{var t;(t=m)==null||t.observe(n)}))}e()}));if(a&&!l){m.observe(a)}m.observe(n)}let h;let p=l?gt(t):null;if(l){y()}function y(){const n=gt(t);if(p&&!It(p,n)){e()}p=n;h=requestAnimationFrame(y)}e();return()=>{var t;f.forEach((t=>{s&&t.removeEventListener("scroll",e);r&&t.removeEventListener("resize",e)}));u==null||u();(t=m)==null||t.disconnect();m=null;if(l){cancelAnimationFrame(h)}}}const qt=q;z;const Wt=W;const $t=B;V;L;const Vt=T;N;$;const Xt=(t,n,e)=>{const o=new Map;const s={platform:Et,...e};const r={...s.platform,_c:o};return D(t,n,{...s,platform:r})};export{Vt as a,jt as b,Xt as c,$t as f,qt as o,Wt as s};
|
|
2
|
+
//# sourceMappingURL=p-9594cebb.js.map
|