@actabldesign/bellhop-core 0.0.7 → 0.0.12
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/README.md +132 -33
- package/components/bh-accordion-item.js +1 -1
- package/components/bh-avatar-add.js +1 -1
- package/components/bh-avatar-stacked.js +3 -3
- package/components/bh-avatar.js +1 -1
- package/components/bh-button.js +1 -1
- package/components/bh-card-header.js +1 -1
- package/components/bh-card.js +1 -1
- package/components/bh-checkbox-group-item.js +5 -5
- package/components/bh-checkbox.js +1 -1
- package/components/bh-data-grid.js +140 -67
- package/components/bh-data-grid.js.map +1 -1
- package/components/bh-date-picker-content.js +1 -1
- package/components/bh-date-picker.js +24 -19
- package/components/bh-date-picker.js.map +1 -1
- package/components/bh-date-range-picker-content.js +1 -1
- package/components/bh-date-range-picker.js +9 -9
- package/components/bh-dropdown-menu.js +1 -1
- package/components/bh-dropdown.js +1 -1
- package/components/bh-empty-state.js +1 -1
- package/components/bh-featured-icon.js +1 -1
- package/components/bh-illustrations.js +3 -3
- package/components/bh-input-autocomplete.js +7 -7
- package/components/bh-input-number.js +3 -3
- package/components/bh-input-password.js +3 -3
- package/components/bh-input-text.js +1 -1
- package/components/bh-input-verification.js +3 -3
- package/components/bh-label.js +1 -1
- package/components/bh-logo-box.js +1 -1
- package/components/bh-modal-actions.js +2 -2
- package/components/bh-modal-header.js +5 -5
- package/components/bh-month-picker-content.js +1 -1
- package/components/bh-month-picker.js +8 -8
- package/components/bh-month-picker.js.map +1 -1
- package/components/bh-nav-item.js +1 -1
- package/components/bh-notification.js +3 -3
- package/components/bh-page-navigation-child.js +1 -1
- package/components/bh-page-navigation-multi-level.js +1 -1
- package/components/bh-page-navigation-single-level.js +1 -1
- package/components/bh-page-navigation.js +5 -5
- package/components/bh-pagination.js +1 -1
- package/components/bh-picker-menu.js +1 -1
- package/components/bh-pie-chart.js +1 -1
- package/components/bh-popover.js +18 -85
- package/components/bh-popover.js.map +1 -1
- package/components/bh-property-switcher.js +1 -1
- package/components/bh-radio-button.js +1 -1
- package/components/bh-sidebar.js +18 -7
- package/components/bh-sidebar.js.map +1 -1
- package/components/bh-skeleton-loader.js +1 -1
- package/components/bh-tab-item.js +2 -2
- package/components/bh-tabs.js +1 -1
- package/components/bh-tag.js +1 -1
- package/components/bh-textarea.js +3 -3
- package/components/bh-toggle.js +1 -1
- package/components/bh-tooltip.js +1 -1
- package/components/bh-trend-chart.js +2 -2
- package/components/index.d.ts +0 -4
- package/components/index.js +0 -2
- package/components/index.js.map +1 -1
- package/components/{p-8bOZFmdg.js → p--S10V0sf.js} +5 -5
- package/components/p--S10V0sf.js.map +1 -0
- package/components/{p-BLCjD0ux.js → p-7nrZFsG8.js} +3 -3
- package/components/{p-BLCjD0ux.js.map → p-7nrZFsG8.js.map} +1 -1
- package/components/{p-C_wf2KGn.js → p-B0ADeWoj.js} +3 -3
- package/components/{p-C_wf2KGn.js.map → p-B0ADeWoj.js.map} +1 -1
- package/components/{p-D9aamyuM.js → p-BEm39SYP.js} +4 -4
- package/components/{p-D9aamyuM.js.map → p-BEm39SYP.js.map} +1 -1
- package/components/{p-BkK6rWZn.js → p-BYRvQ4u7.js} +4 -4
- package/components/{p-BkK6rWZn.js.map → p-BYRvQ4u7.js.map} +1 -1
- package/components/{p-D0Ba0gOA.js → p-BqYBdZ7I.js} +4 -4
- package/components/{p-D0Ba0gOA.js.map → p-BqYBdZ7I.js.map} +1 -1
- package/components/{p-Df8KgHhe.js → p-BrIid8rr.js} +3 -3
- package/components/{p-Df8KgHhe.js.map → p-BrIid8rr.js.map} +1 -1
- package/components/p-BsHlTsAN.js.map +1 -1
- package/components/{p-Npcwl1Z8.js → p-CDmCw7LX.js} +4 -4
- package/components/p-CDmCw7LX.js.map +1 -0
- package/components/{p-BQKx1tGq.js → p-CHYn9whC.js} +6 -6
- package/components/p-CHYn9whC.js.map +1 -0
- package/components/{p-CdwyUif-.js → p-CNwZh1xz.js} +5 -5
- package/components/p-CNwZh1xz.js.map +1 -0
- package/components/{p-B02xFf1P.js → p-CiEBtN9j.js} +3 -3
- package/components/{p-B02xFf1P.js.map → p-CiEBtN9j.js.map} +1 -1
- package/components/{p-Cmo_S3fO.js → p-CiZSLZTA.js} +4 -4
- package/components/{p-Cmo_S3fO.js.map → p-CiZSLZTA.js.map} +1 -1
- package/components/{p-DYC2IZEs.js → p-CmEb-mj5.js} +6 -6
- package/components/{p-DYC2IZEs.js.map → p-CmEb-mj5.js.map} +1 -1
- package/components/{p-Do29ZTL9.js → p-CppjlSaO.js} +3 -3
- package/components/{p-Do29ZTL9.js.map → p-CppjlSaO.js.map} +1 -1
- package/components/{p-D3FuyNC4.js → p-CyFUHAY1.js} +7 -7
- package/components/{p-D3FuyNC4.js.map → p-CyFUHAY1.js.map} +1 -1
- package/components/{p-B0vRPcr5.js → p-D8L5XpBP.js} +3 -3
- package/components/{p-B0vRPcr5.js.map → p-D8L5XpBP.js.map} +1 -1
- package/components/p-DH86TJ99.js +232 -0
- package/components/p-DH86TJ99.js.map +1 -0
- package/components/{p-BJLHKnwL.js → p-DVBd-54W.js} +5 -5
- package/components/{p-BJLHKnwL.js.map → p-DVBd-54W.js.map} +1 -1
- package/components/{p-CMoGgYqw.js → p-DmELCHDa.js} +3 -3
- package/components/p-DmELCHDa.js.map +1 -0
- package/components/{p-Bu0BcHwL.js → p-Du_cCBR7.js} +6 -6
- package/components/{p-Bu0BcHwL.js.map → p-Du_cCBR7.js.map} +1 -1
- package/components/{p-h6juyPoa.js → p-JJSN-gZI.js} +3 -3
- package/components/{p-h6juyPoa.js.map → p-JJSN-gZI.js.map} +1 -1
- package/components/{p-wPu4WTba.js → p-dsE158cF.js} +3 -3
- package/components/{p-wPu4WTba.js.map → p-dsE158cF.js.map} +1 -1
- package/components/{p-C0fcjlnS.js → p-eYcfeTFU.js} +3 -3
- package/components/{p-C0fcjlnS.js.map → p-eYcfeTFU.js.map} +1 -1
- package/components/{p-BSok41i-.js → p-oyeucMe6.js} +3 -3
- package/components/{p-BSok41i-.js.map → p-oyeucMe6.js.map} +1 -1
- package/dist/bellhop-core/bellhop-core.esm.js +1 -1
- package/dist/bellhop-core/bellhop-core.esm.js.map +1 -1
- package/dist/bellhop-core/bh-avatar.entry.esm.js.map +1 -1
- package/dist/bellhop-core/bh-button.bh-loader-spinner.entry.esm.js.map +1 -1
- package/dist/bellhop-core/bh-data-grid.entry.esm.js.map +1 -1
- package/dist/bellhop-core/bh-date-picker-content.entry.esm.js.map +1 -1
- package/dist/bellhop-core/bh-date-picker.entry.esm.js.map +1 -1
- package/dist/bellhop-core/bh-empty-state.bh-pagination.bh-skeleton-loader.entry.esm.js.map +1 -1
- package/dist/bellhop-core/bh-input-text.bh-picker-menu.entry.esm.js.map +1 -1
- package/dist/bellhop-core/bh-label.bh-tooltip.entry.esm.js.map +1 -1
- package/dist/bellhop-core/bh-month-picker-content.entry.esm.js.map +1 -1
- package/dist/bellhop-core/bh-month-picker.entry.esm.js.map +1 -1
- package/dist/bellhop-core/bh-popover.entry.esm.js.map +1 -1
- package/dist/bellhop-core/bh-sidebar.entry.esm.js.map +1 -1
- package/dist/bellhop-core/index.esm.js +1 -1
- package/dist/bellhop-core/index.esm.js.map +1 -1
- package/dist/bellhop-core/{p-Ck1gRAmI.js → p-04a00da6.entry.js} +2 -2
- package/dist/bellhop-core/p-04a00da6.entry.js.map +1 -0
- package/dist/bellhop-core/{p-bd00d5ad.entry.js → p-06b0ba5f.entry.js} +2 -2
- package/dist/bellhop-core/{p-4a8844ff.entry.js → p-0a232a85.entry.js} +2 -2
- package/dist/bellhop-core/p-0d5ce369.entry.js +13 -0
- package/dist/bellhop-core/p-0d5ce369.entry.js.map +1 -0
- package/dist/bellhop-core/{p-67956598.entry.js → p-0e773f4b.entry.js} +2 -2
- package/dist/bellhop-core/{p-df4498cd.entry.js → p-11e84742.entry.js} +2 -2
- package/dist/bellhop-core/{p-a41b3673.entry.js → p-20e65b2b.entry.js} +2 -2
- package/dist/bellhop-core/{p-a30e22f7.entry.js → p-2349cd39.entry.js} +2 -2
- package/dist/bellhop-core/{p-3a1c52a9.entry.js → p-2cc352e8.entry.js} +2 -2
- package/dist/bellhop-core/{p-defe9916.entry.js → p-31f60dac.entry.js} +2 -2
- package/dist/bellhop-core/{p-defe9916.entry.js.map → p-31f60dac.entry.js.map} +1 -1
- package/dist/bellhop-core/{p-f85a9eaa.entry.js → p-439f8477.entry.js} +2 -2
- package/dist/bellhop-core/{p-a42e8ddb.entry.js → p-4bc0e720.entry.js} +2 -2
- package/dist/bellhop-core/{p-a42e8ddb.entry.js.map → p-4bc0e720.entry.js.map} +1 -1
- package/dist/bellhop-core/{p-21bc4f77.entry.js → p-4cf74f24.entry.js} +2 -2
- package/dist/bellhop-core/p-53dbd8bd.entry.js +2 -0
- package/dist/bellhop-core/p-53dbd8bd.entry.js.map +1 -0
- package/dist/bellhop-core/p-59e4c008.entry.js +2 -0
- package/dist/bellhop-core/p-59e4c008.entry.js.map +1 -0
- package/dist/bellhop-core/{p-62235d6e.entry.js → p-5a0b2d81.entry.js} +2 -2
- package/dist/bellhop-core/{p-07c9b7fa.entry.js → p-6626f089.entry.js} +2 -2
- package/dist/bellhop-core/{p-36166900.entry.js → p-6b428841.entry.js} +2 -2
- package/dist/bellhop-core/{p-6bc81ebb.entry.js → p-6d4c6b6f.entry.js} +2 -2
- package/dist/bellhop-core/{p-c0e36166.entry.js → p-6dad737e.entry.js} +2 -2
- package/dist/bellhop-core/{p-5c4f74b8.entry.js → p-738f24c8.entry.js} +2 -2
- package/dist/bellhop-core/{p-49edd1bb.entry.js → p-7534a8d4.entry.js} +2 -2
- package/dist/bellhop-core/p-7b0a4c99.entry.js +2 -0
- package/dist/bellhop-core/{p-7a85db89.entry.js.map → p-7b0a4c99.entry.js.map} +1 -1
- package/dist/bellhop-core/{p-7b0cba50.entry.js → p-84ecaf3b.entry.js} +2 -2
- package/dist/bellhop-core/{p-DY76Ee-p.js → p-940af1e0.entry.js} +2 -2
- package/dist/bellhop-core/p-940af1e0.entry.js.map +1 -0
- package/dist/bellhop-core/p-c0dfca99.entry.js +2 -0
- package/dist/bellhop-core/{p-4e483d25.entry.js.map → p-c0dfca99.entry.js.map} +1 -1
- package/dist/bellhop-core/{p-d5bf49ab.entry.js → p-cad28e7e.entry.js} +2 -2
- package/dist/bellhop-core/{p-1540001e.entry.js → p-cb0e4e35.entry.js} +2 -2
- package/dist/bellhop-core/{p-091171da.entry.js → p-ce2aaf37.entry.js} +2 -2
- package/dist/bellhop-core/p-d64525f4.entry.js +2 -0
- package/dist/bellhop-core/p-d64525f4.entry.js.map +1 -0
- package/dist/bellhop-core/p-e0f7b6d1.entry.js +2 -0
- package/dist/bellhop-core/p-e0f7b6d1.entry.js.map +1 -0
- package/dist/bellhop-core/{p-b0dda4df.entry.js → p-e83a86d6.entry.js} +2 -2
- package/dist/bellhop-core/{p-2db7990e.entry.js → p-e96e5aa3.entry.js} +2 -2
- package/dist/bellhop-core/{p-c70d11a2.entry.js → p-ed780663.entry.js} +2 -2
- package/dist/bellhop-core/p-f30af956.entry.js +2 -0
- package/dist/bellhop-core/{p-ffb29d95.entry.js.map → p-f30af956.entry.js.map} +1 -1
- package/dist/bellhop-core/{p-0e34250c.entry.js → p-f4dd33af.entry.js} +2 -2
- package/dist/bellhop-core/{p-1be3e908.entry.js → p-fe7d5dcb.entry.js} +2 -2
- package/dist/bellhop-core/p-nAAobRRQ.js.map +1 -1
- package/dist/cjs/bellhop-core.cjs.js +1 -1
- package/dist/cjs/bellhop-core.cjs.js.map +1 -1
- package/dist/cjs/bh-accordion-item.cjs.entry.js +1 -1
- package/dist/cjs/bh-autocomplete-menu_2.cjs.entry.js +1 -1
- package/dist/cjs/bh-avatar.cjs.entry.js +1 -1
- package/dist/cjs/bh-avatar.entry.cjs.js.map +1 -1
- package/dist/cjs/bh-button.bh-loader-spinner.entry.cjs.js.map +1 -1
- package/dist/cjs/bh-button_2.cjs.entry.js +110 -2
- package/dist/cjs/bh-card.cjs.entry.js +1 -1
- package/dist/cjs/bh-data-grid.cjs.entry.js +132 -59
- package/dist/cjs/bh-data-grid.entry.cjs.js.map +1 -1
- package/dist/cjs/bh-date-picker-content.cjs.entry.js +2 -2
- package/dist/cjs/bh-date-picker-content.entry.cjs.js.map +1 -1
- package/dist/cjs/bh-date-picker.cjs.entry.js +15 -12
- package/dist/cjs/bh-date-picker.entry.cjs.js.map +1 -1
- package/dist/cjs/bh-date-range-picker-content.cjs.entry.js +1 -1
- package/dist/cjs/bh-date-range-picker.cjs.entry.js +1 -1
- package/dist/cjs/bh-dropdown_3.cjs.entry.js +4 -4
- package/dist/cjs/bh-empty-state.bh-pagination.bh-skeleton-loader.entry.cjs.js.map +1 -1
- package/dist/cjs/bh-empty-state_3.cjs.entry.js +199 -6
- package/dist/cjs/bh-featured-icon.cjs.entry.js +1 -1
- package/dist/cjs/bh-illustrations.cjs.entry.js +3 -3
- package/dist/cjs/bh-input-autocomplete.cjs.entry.js +2 -2
- package/dist/cjs/bh-input-number.cjs.entry.js +1 -1
- package/dist/cjs/bh-input-password.cjs.entry.js +1 -1
- package/dist/cjs/bh-input-text.bh-picker-menu.entry.cjs.js.map +1 -1
- package/dist/cjs/bh-input-text_2.cjs.entry.js +2 -2
- package/dist/cjs/bh-input-verification.cjs.entry.js +1 -1
- package/dist/cjs/bh-label.bh-tooltip.entry.cjs.js.map +1 -1
- package/dist/cjs/bh-label_2.cjs.entry.js +104 -3
- package/dist/cjs/bh-modal-actions.cjs.entry.js +1 -1
- package/dist/cjs/bh-modal-header.cjs.entry.js +4 -4
- package/dist/cjs/bh-month-picker-content.cjs.entry.js +2 -2
- package/dist/cjs/bh-month-picker-content.entry.cjs.js.map +1 -1
- package/dist/cjs/bh-month-picker.cjs.entry.js +2 -2
- package/dist/cjs/bh-month-picker.entry.cjs.js.map +1 -1
- package/dist/cjs/bh-notification.cjs.entry.js +1 -1
- package/dist/cjs/bh-page-navigation-child.cjs.entry.js +1 -1
- package/dist/cjs/bh-page-navigation-multi-level_2.cjs.entry.js +3 -3
- package/dist/cjs/bh-page-navigation.cjs.entry.js +1 -1
- package/dist/cjs/bh-pie-chart.cjs.entry.js +1 -1
- package/dist/cjs/bh-popover.cjs.entry.js +14 -76
- package/dist/cjs/bh-popover.entry.cjs.js.map +1 -1
- package/dist/cjs/bh-property-switcher.cjs.entry.js +1 -1
- package/dist/cjs/bh-sidebar.cjs.entry.js +10 -1
- package/dist/cjs/bh-sidebar.entry.cjs.js.map +1 -1
- package/dist/cjs/bh-tab-item.cjs.entry.js +2 -2
- package/dist/cjs/bh-tabs.cjs.entry.js +1 -1
- package/dist/cjs/bh-textarea.cjs.entry.js +1 -1
- package/dist/cjs/bh-toggle.cjs.entry.js +1 -1
- package/dist/cjs/bh-trend-chart.cjs.entry.js +2 -2
- package/dist/cjs/index-DQwSUT6k.js +42 -50
- package/dist/cjs/index-DQwSUT6k.js.map +1 -1
- package/dist/cjs/index.cjs.js +0 -31
- package/dist/cjs/index.cjs.js.map +1 -1
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/collection/collection-manifest.json +1 -3
- package/dist/collection/components/bh-accordion/bh-accordion.js +1 -1
- package/dist/collection/components/bh-accordion-item/bh-accordion-item.js +1 -1
- package/dist/collection/components/bh-appbar/bh-appbar.js +2 -2
- package/dist/collection/components/bh-autocomplete-menu/bh-autocomplete-menu.js +2 -2
- package/dist/collection/components/bh-avatar/bh-avatar.css +0 -1
- package/dist/collection/components/bh-avatar/bh-avatar.js +3 -3
- package/dist/collection/components/bh-avatar-add/bh-avatar-add.js +1 -1
- package/dist/collection/components/bh-avatar-stacked/bh-avatar-stacked.js +1 -1
- package/dist/collection/components/bh-badge/bh-badge.js +3 -3
- package/dist/collection/components/bh-badge-dot/bh-badge-dot.js +2 -2
- package/dist/collection/components/bh-bar-chart/bh-bar-chart.js +3 -3
- package/dist/collection/components/bh-breadcrumbs/bh-breadcrumbs.js +2 -2
- package/dist/collection/components/bh-button/bh-button.js +7 -7
- package/dist/collection/components/bh-button/bh-button.js.map +1 -1
- package/dist/collection/components/bh-button-icon/bh-button-icon.js +3 -3
- package/dist/collection/components/bh-card/bh-card.js +1 -1
- package/dist/collection/components/bh-card-footer/bh-card-footer.js +1 -1
- package/dist/collection/components/bh-card-header/bh-card-header.js +2 -2
- package/dist/collection/components/bh-chart-tooltip/bh-chart-tooltip.js +1 -1
- package/dist/collection/components/bh-checkbox/bh-checkbox.js +1 -1
- package/dist/collection/components/bh-checkbox-group/bh-checkbox-group.js +1 -1
- package/dist/collection/components/bh-checkbox-group-item/bh-checkbox-group-item.js +2 -2
- package/dist/collection/components/bh-data-grid/bh-data-grid.css +86 -68
- package/dist/collection/components/bh-data-grid/bh-data-grid.js +132 -59
- package/dist/collection/components/bh-data-grid/bh-data-grid.js.map +1 -1
- package/dist/collection/components/bh-date-picker/bh-date-picker.css +24 -214
- package/dist/collection/components/bh-date-picker/bh-date-picker.js +22 -12
- package/dist/collection/components/bh-date-picker/bh-date-picker.js.map +1 -1
- package/dist/collection/components/bh-date-picker-content/bh-date-picker-content.css +0 -206
- package/dist/collection/components/bh-date-picker-content/bh-date-picker-content.js +7 -7
- package/dist/collection/components/bh-date-range-picker/bh-date-range-picker.js +2 -2
- package/dist/collection/components/bh-date-range-picker-content/bh-date-range-picker-content.js +4 -4
- package/dist/collection/components/bh-dropdown/bh-dropdown.js +5 -5
- package/dist/collection/components/bh-dropdown-menu/bh-dropdown-menu.js +3 -3
- package/dist/collection/components/bh-empty-state/bh-empty-state.js +2 -2
- package/dist/collection/components/bh-featured-icon/bh-featured-icon.js +4 -4
- package/dist/collection/components/bh-illustrations/bh-illustrations.js +4 -4
- package/dist/collection/components/bh-input-autocomplete/bh-input-autocomplete.js +3 -3
- package/dist/collection/components/bh-input-number/bh-input-number.js +1 -1
- package/dist/collection/components/bh-input-password/bh-input-password.js +1 -1
- package/dist/collection/components/bh-input-text/bh-input-text.js +1 -1
- package/dist/collection/components/bh-input-verification/bh-input-verification.js +3 -3
- package/dist/collection/components/bh-label/bh-label.js +1 -1
- package/dist/collection/components/bh-loader-spinner/bh-loader-spinner.js +2 -2
- package/dist/collection/components/bh-logo-box/bh-logo-box.js +2 -2
- package/dist/collection/components/bh-modal/bh-modal.js +1 -1
- package/dist/collection/components/bh-modal-actions/bh-modal-actions.js +2 -2
- package/dist/collection/components/bh-modal-header/bh-modal-header.js +4 -4
- package/dist/collection/components/bh-month-picker/bh-month-picker.css +0 -206
- package/dist/collection/components/bh-month-picker/bh-month-picker.js +2 -2
- package/dist/collection/components/bh-month-picker-content/bh-month-picker-content.css +0 -206
- package/dist/collection/components/bh-month-picker-content/bh-month-picker-content.js +5 -5
- package/dist/collection/components/bh-notification/bh-notification.js +2 -2
- package/dist/collection/components/bh-page-navigation/bh-page-navigation.js +2 -2
- package/dist/collection/components/bh-page-navigation-child/bh-page-navigation-child.js +1 -1
- package/dist/collection/components/bh-page-navigation-multi-level/bh-page-navigation-multi-level.js +3 -3
- package/dist/collection/components/bh-page-navigation-single-level/bh-page-navigation-single-level.js +1 -1
- package/dist/collection/components/bh-pagination/bh-pagination.css +122 -58
- package/dist/collection/components/bh-pagination/bh-pagination.js +74 -30
- package/dist/collection/components/bh-pagination/bh-pagination.js.map +1 -1
- package/dist/collection/components/bh-picker-menu/bh-picker-menu.css +1 -3
- package/dist/collection/components/bh-pie-chart/bh-pie-chart.js +3 -3
- package/dist/collection/components/bh-popover/bh-popover.css +77 -260
- package/dist/collection/components/bh-popover/bh-popover.js +33 -238
- package/dist/collection/components/bh-popover/bh-popover.js.map +1 -1
- package/dist/collection/components/bh-product-switcher/bh-product-switcher.js +3 -3
- package/dist/collection/components/bh-property-switcher/bh-property-switcher.js +3 -3
- package/dist/collection/components/bh-radio-button/bh-radio-button.js +1 -1
- package/dist/collection/components/bh-sidebar/bh-nav-item.js +1 -1
- package/dist/collection/components/bh-sidebar/bh-sidebar.js +54 -4
- package/dist/collection/components/bh-sidebar/bh-sidebar.js.map +1 -1
- package/dist/collection/components/bh-skeleton-loader/bh-skeleton-loader.css +9 -22
- package/dist/collection/components/bh-skeleton-loader/bh-skeleton-loader.js +2 -2
- package/dist/collection/components/bh-skeleton-loader/bh-skeleton-loader.js.map +1 -1
- package/dist/collection/components/bh-tab-item/bh-tab-item.js +2 -2
- package/dist/collection/components/bh-tabs/bh-tabs.js +3 -3
- package/dist/collection/components/bh-tag/bh-tag.js +3 -3
- package/dist/collection/components/bh-textarea/bh-textarea.js +2 -2
- package/dist/collection/components/bh-toggle/bh-toggle.js +2 -2
- package/dist/collection/components/bh-tooltip/bh-tooltip.js +3 -3
- package/dist/collection/components/bh-trend-chart/bh-trend-chart.js +4 -4
- package/dist/collection/index.js +1 -23
- package/dist/collection/index.js.map +1 -1
- package/dist/esm/bellhop-core.js +1 -1
- package/dist/esm/bellhop-core.js.map +1 -1
- package/dist/esm/bh-accordion-item.entry.js +1 -1
- package/dist/esm/bh-autocomplete-menu_2.entry.js +1 -1
- package/dist/esm/bh-avatar.entry.js +1 -1
- package/dist/esm/bh-avatar.entry.js.map +1 -1
- package/dist/esm/bh-button.bh-loader-spinner.entry.js.map +1 -1
- package/dist/esm/bh-button_2.entry.js +111 -3
- package/dist/esm/bh-card.entry.js +1 -1
- package/dist/esm/bh-data-grid.entry.js +132 -59
- package/dist/esm/bh-data-grid.entry.js.map +1 -1
- package/dist/esm/bh-date-picker-content.entry.js +2 -2
- package/dist/esm/bh-date-picker-content.entry.js.map +1 -1
- package/dist/esm/bh-date-picker.entry.js +16 -13
- package/dist/esm/bh-date-picker.entry.js.map +1 -1
- package/dist/esm/bh-date-range-picker-content.entry.js +1 -1
- package/dist/esm/bh-date-range-picker.entry.js +1 -1
- package/dist/esm/bh-dropdown_3.entry.js +4 -4
- package/dist/esm/bh-empty-state.bh-pagination.bh-skeleton-loader.entry.js.map +1 -1
- package/dist/esm/bh-empty-state_3.entry.js +199 -6
- package/dist/esm/bh-featured-icon.entry.js +1 -1
- package/dist/esm/bh-illustrations.entry.js +3 -3
- package/dist/esm/bh-input-autocomplete.entry.js +2 -2
- package/dist/esm/bh-input-number.entry.js +1 -1
- package/dist/esm/bh-input-password.entry.js +1 -1
- package/dist/esm/bh-input-text.bh-picker-menu.entry.js.map +1 -1
- package/dist/esm/bh-input-text_2.entry.js +2 -2
- package/dist/esm/bh-input-verification.entry.js +1 -1
- package/dist/esm/bh-label.bh-tooltip.entry.js.map +1 -1
- package/dist/esm/bh-label_2.entry.js +105 -4
- package/dist/esm/bh-modal-actions.entry.js +1 -1
- package/dist/esm/bh-modal-header.entry.js +4 -4
- package/dist/esm/bh-month-picker-content.entry.js +2 -2
- package/dist/esm/bh-month-picker-content.entry.js.map +1 -1
- package/dist/esm/bh-month-picker.entry.js +2 -2
- package/dist/esm/bh-month-picker.entry.js.map +1 -1
- package/dist/esm/bh-notification.entry.js +1 -1
- package/dist/esm/bh-page-navigation-child.entry.js +1 -1
- package/dist/esm/bh-page-navigation-multi-level_2.entry.js +3 -3
- package/dist/esm/bh-page-navigation.entry.js +1 -1
- package/dist/esm/bh-pie-chart.entry.js +1 -1
- package/dist/esm/bh-popover.entry.js +15 -77
- package/dist/esm/bh-popover.entry.js.map +1 -1
- package/dist/esm/bh-property-switcher.entry.js +1 -1
- package/dist/esm/bh-sidebar.entry.js +10 -1
- package/dist/esm/bh-sidebar.entry.js.map +1 -1
- package/dist/esm/bh-tab-item.entry.js +2 -2
- package/dist/esm/bh-tabs.entry.js +1 -1
- package/dist/esm/bh-textarea.entry.js +1 -1
- package/dist/esm/bh-toggle.entry.js +1 -1
- package/dist/esm/bh-trend-chart.entry.js +2 -2
- package/dist/esm/index-nAAobRRQ.js +42 -50
- package/dist/esm/index-nAAobRRQ.js.map +1 -1
- package/dist/esm/index.js +1 -15
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/loader.js +1 -1
- package/dist/types/components/bh-date-picker/bh-date-picker.d.ts +11 -1
- package/dist/types/components/bh-pagination/bh-pagination.d.ts +7 -7
- package/dist/types/components/bh-popover/bh-popover.d.ts +9 -49
- package/dist/types/components/bh-sidebar/bh-sidebar.d.ts +9 -0
- package/dist/types/components.d.ts +61 -193
- package/dist/types/index.d.ts +13 -13
- package/hydrate/index.js +294 -297
- package/hydrate/index.mjs +294 -297
- package/llms.txt +22000 -1428
- package/package.json +1 -1
- package/components/bh-container-footer.d.ts +0 -11
- package/components/bh-container-footer.js +0 -73
- package/components/bh-container-footer.js.map +0 -1
- package/components/bh-container.d.ts +0 -11
- package/components/bh-container.js +0 -48
- package/components/bh-container.js.map +0 -1
- package/components/p-8bOZFmdg.js.map +0 -1
- package/components/p-BQKx1tGq.js.map +0 -1
- package/components/p-CMoGgYqw.js.map +0 -1
- package/components/p-CdwyUif-.js.map +0 -1
- package/components/p-Npcwl1Z8.js.map +0 -1
- package/components/p-WibqGBGu.js +0 -182
- package/components/p-WibqGBGu.js.map +0 -1
- package/dist/bellhop-core/bh-container-footer.entry.esm.js.map +0 -1
- package/dist/bellhop-core/bh-container.entry.esm.js.map +0 -1
- package/dist/bellhop-core/p-233540f9.entry.js +0 -13
- package/dist/bellhop-core/p-233540f9.entry.js.map +0 -1
- package/dist/bellhop-core/p-3194a87d.entry.js +0 -2
- package/dist/bellhop-core/p-3194a87d.entry.js.map +0 -1
- package/dist/bellhop-core/p-43c41dfb.entry.js +0 -2
- package/dist/bellhop-core/p-43c41dfb.entry.js.map +0 -1
- package/dist/bellhop-core/p-4e483d25.entry.js +0 -2
- package/dist/bellhop-core/p-5514d7fb.entry.js +0 -2
- package/dist/bellhop-core/p-5514d7fb.entry.js.map +0 -1
- package/dist/bellhop-core/p-7a85db89.entry.js +0 -2
- package/dist/bellhop-core/p-80e07b3d.entry.js +0 -2
- package/dist/bellhop-core/p-80e07b3d.entry.js.map +0 -1
- package/dist/bellhop-core/p-8962e1a6.entry.js +0 -2
- package/dist/bellhop-core/p-8962e1a6.entry.js.map +0 -1
- package/dist/bellhop-core/p-9a19cbf7.entry.js +0 -2
- package/dist/bellhop-core/p-9a19cbf7.entry.js.map +0 -1
- package/dist/bellhop-core/p-CSYwm_Ke.js +0 -2
- package/dist/bellhop-core/p-CSYwm_Ke.js.map +0 -1
- package/dist/bellhop-core/p-Ck1gRAmI.js.map +0 -1
- package/dist/bellhop-core/p-DY76Ee-p.js.map +0 -1
- package/dist/bellhop-core/p-b878539a.entry.js +0 -2
- package/dist/bellhop-core/p-b878539a.entry.js.map +0 -1
- package/dist/bellhop-core/p-c33f6e73.entry.js +0 -2
- package/dist/bellhop-core/p-c33f6e73.entry.js.map +0 -1
- package/dist/bellhop-core/p-ffb29d95.entry.js +0 -2
- package/dist/cjs/bh-button-DD0c0ODJ.js +0 -117
- package/dist/cjs/bh-button-DD0c0ODJ.js.map +0 -1
- package/dist/cjs/bh-container-footer.cjs.entry.js +0 -38
- package/dist/cjs/bh-container-footer.entry.cjs.js.map +0 -1
- package/dist/cjs/bh-container.cjs.entry.js +0 -26
- package/dist/cjs/bh-container.entry.cjs.js.map +0 -1
- package/dist/cjs/bh-label-MpXjm9k0.js +0 -110
- package/dist/cjs/bh-label-MpXjm9k0.js.map +0 -1
- package/dist/cjs/bh-pagination-CgER63yz.js +0 -152
- package/dist/cjs/bh-pagination-CgER63yz.js.map +0 -1
- package/dist/collection/components/bh-container/bh-container.css +0 -21
- package/dist/collection/components/bh-container/bh-container.js +0 -51
- package/dist/collection/components/bh-container/bh-container.js.map +0 -1
- package/dist/collection/components/bh-container-footer/bh-container-footer.css +0 -22
- package/dist/collection/components/bh-container-footer/bh-container-footer.js +0 -106
- package/dist/collection/components/bh-container-footer/bh-container-footer.js.map +0 -1
- package/dist/esm/bh-button-ImGVvXaj.js +0 -115
- package/dist/esm/bh-button-ImGVvXaj.js.map +0 -1
- package/dist/esm/bh-container-footer.entry.js +0 -36
- package/dist/esm/bh-container-footer.entry.js.map +0 -1
- package/dist/esm/bh-container.entry.js +0 -24
- package/dist/esm/bh-container.entry.js.map +0 -1
- package/dist/esm/bh-label-PLT7t4We.js +0 -108
- package/dist/esm/bh-label-PLT7t4We.js.map +0 -1
- package/dist/esm/bh-pagination-CUeRSYsV.js +0 -150
- package/dist/esm/bh-pagination-CUeRSYsV.js.map +0 -1
- package/dist/types/components/bh-container/bh-container.d.ts +0 -7
- package/dist/types/components/bh-container-footer/bh-container-footer.d.ts +0 -18
- /package/dist/bellhop-core/{p-bd00d5ad.entry.js.map → p-06b0ba5f.entry.js.map} +0 -0
- /package/dist/bellhop-core/{p-4a8844ff.entry.js.map → p-0a232a85.entry.js.map} +0 -0
- /package/dist/bellhop-core/{p-67956598.entry.js.map → p-0e773f4b.entry.js.map} +0 -0
- /package/dist/bellhop-core/{p-df4498cd.entry.js.map → p-11e84742.entry.js.map} +0 -0
- /package/dist/bellhop-core/{p-a41b3673.entry.js.map → p-20e65b2b.entry.js.map} +0 -0
- /package/dist/bellhop-core/{p-a30e22f7.entry.js.map → p-2349cd39.entry.js.map} +0 -0
- /package/dist/bellhop-core/{p-3a1c52a9.entry.js.map → p-2cc352e8.entry.js.map} +0 -0
- /package/dist/bellhop-core/{p-f85a9eaa.entry.js.map → p-439f8477.entry.js.map} +0 -0
- /package/dist/bellhop-core/{p-21bc4f77.entry.js.map → p-4cf74f24.entry.js.map} +0 -0
- /package/dist/bellhop-core/{p-62235d6e.entry.js.map → p-5a0b2d81.entry.js.map} +0 -0
- /package/dist/bellhop-core/{p-07c9b7fa.entry.js.map → p-6626f089.entry.js.map} +0 -0
- /package/dist/bellhop-core/{p-36166900.entry.js.map → p-6b428841.entry.js.map} +0 -0
- /package/dist/bellhop-core/{p-6bc81ebb.entry.js.map → p-6d4c6b6f.entry.js.map} +0 -0
- /package/dist/bellhop-core/{p-c0e36166.entry.js.map → p-6dad737e.entry.js.map} +0 -0
- /package/dist/bellhop-core/{p-5c4f74b8.entry.js.map → p-738f24c8.entry.js.map} +0 -0
- /package/dist/bellhop-core/{p-49edd1bb.entry.js.map → p-7534a8d4.entry.js.map} +0 -0
- /package/dist/bellhop-core/{p-7b0cba50.entry.js.map → p-84ecaf3b.entry.js.map} +0 -0
- /package/dist/bellhop-core/{p-d5bf49ab.entry.js.map → p-cad28e7e.entry.js.map} +0 -0
- /package/dist/bellhop-core/{p-1540001e.entry.js.map → p-cb0e4e35.entry.js.map} +0 -0
- /package/dist/bellhop-core/{p-091171da.entry.js.map → p-ce2aaf37.entry.js.map} +0 -0
- /package/dist/bellhop-core/{p-b0dda4df.entry.js.map → p-e83a86d6.entry.js.map} +0 -0
- /package/dist/bellhop-core/{p-2db7990e.entry.js.map → p-e96e5aa3.entry.js.map} +0 -0
- /package/dist/bellhop-core/{p-c70d11a2.entry.js.map → p-ed780663.entry.js.map} +0 -0
- /package/dist/bellhop-core/{p-0e34250c.entry.js.map → p-f4dd33af.entry.js.map} +0 -0
- /package/dist/bellhop-core/{p-1be3e908.entry.js.map → p-fe7d5dcb.entry.js.map} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bh-avatar.entry.js","sources":["src/components/bh-avatar/bh-avatar.css?tag=bh-avatar&encapsulation=shadow","src/components/bh-avatar/bh-avatar.tsx"],"sourcesContent":["/* ==========================================================================\n BH-AVATAR COMPONENT STYLES\n ========================================================================== */\n\n:host {\n display: inline-block;\n}\n\n/* Base Avatar */\n.avatar {\n position: relative;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n border-radius: 50%;\n background-color: var(--color-neutral-100);\n flex-shrink: 0;\n}\n\n/* Avatar Sizes */\n.avatar-xxs {\n width: 16px;\n height: 16px;\n}\n\n.avatar-xs {\n width: 24px;\n height: 24px;\n}\n\n.avatar-sm {\n width: 32px;\n height: 32px;\n}\n\n.avatar-md {\n width: 40px;\n height: 40px;\n}\n\n.avatar-lg {\n width: 48px;\n height: 48px;\n}\n\n.avatar-xl {\n width: 56px;\n height: 56px;\n}\n\n.avatar-2xl {\n width: 64px;\n height: 64px;\n}\n\n/* ==========================================================================\n AVATAR CONTENT ELEMENTS\n ========================================================================== */\n\n/* Avatar Border */\n.avatar-border {\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n border-radius: 50%;\n pointer-events: none;\n z-index: 1;\n}\n\n.avatar-xs .avatar-border,\n.avatar-sm .avatar-border {\n border: 0.5px solid var(--color-neutral-400);\n}\n\n.avatar-md .avatar-border,\n.avatar-lg .avatar-border,\n.avatar-xl .avatar-border,\n.avatar-2xl .avatar-border {\n border: 0.75px solid var(--color-neutral-400);\n}\n\n/* Avatar Content Container */\n.avatar-content {\n position: relative;\n width: 100%;\n height: 100%;\n display: flex;\n align-items: center;\n justify-content: center;\n border-radius: 50%;\n overflow: hidden;\n z-index: 0;\n}\n\n/* Avatar Image */\n.avatar-image {\n width: 100%;\n height: 100%;\n object-fit: cover;\n border-radius: 50%;\n aspect-ratio: 1 / 1;\n}\n\n/* Avatar Placeholder Icon */\n.avatar-placeholder-icon {\n color: var(--color-neutral-500);\n line-height: 1;\n display: flex;\n align-items: center;\n justify-content: center;\n}\n\n/* Avatar Text (for text-type avatars) */\n.avatar-text {\n color: var(--color-neutral-500);\n font-family: var(--font-inter);\n font-weight: var(--weight-semibold);\n text-align: center;\n line-height: 1;\n}\n\n/* Text Size Classes */\n.text-xxs {\n font-size: 10px;\n line-height: 1.6em;\n}\n\n.text-xs {\n font-size: 12px;\n line-height: 1.5em;\n}\n\n.text-sm {\n font-size: var(--text-sm-size);\n line-height: var(--text-sm-line);\n}\n\n.text-md {\n font-size: var(--text-md-size);\n line-height: var(--text-md-line);\n}\n\n.text-lg {\n font-size: 18px;\n line-height: 1.56em;\n}\n\n.text-xl {\n font-size: 20px;\n line-height: 1.5em;\n}\n\n.text-2xl {\n font-size: 24px;\n line-height: 1.33em;\n}\n\n/* Icon Size Classes */\n.icon-sm {\n font-size: 16px;\n}\n\n.icon-md {\n font-size: 20px;\n}\n\n.icon-lg {\n font-size: 24px;\n}\n\n.icon-xl {\n font-size: 28px;\n}\n\n.icon-2xl {\n font-size: 32px;\n}\n\n.icon-3xl {\n font-size: 36px;\n}\n\n.icon-4xl {\n font-size: 40px;\n}\n\n/* ==========================================================================\n STATUS INDICATOR\n ========================================================================== */\n\n.avatar-status {\n position: absolute;\n border-radius: 50%;\n background-color: var(--color-success-500);\n border: 1.5px solid var(--color-white);\n z-index: 2;\n}\n\n.avatar-status-online {\n background-color: var(--color-success-500);\n}\n\n.avatar-status-offline {\n background-color: var(--color-neutral-400);\n}\n\n/* Status Indicator Sizes */\n.avatar-status-xxs {\n width: 4px;\n height: 4px;\n bottom: 0;\n right: 0;\n}\n\n.avatar-status-xs {\n width: 6px;\n height: 6px;\n bottom: 0;\n right: 0;\n}\n\n.avatar-status-sm {\n width: 8px;\n height: 8px;\n bottom: 0;\n right: 0;\n}\n\n.avatar-status-md {\n width: 10px;\n height: 10px;\n bottom: 0;\n right: 0;\n}\n\n.avatar-status-lg {\n width: 12px;\n height: 12px;\n bottom: 0;\n right: 0;\n}\n\n.avatar-status-xl {\n width: 14px;\n height: 14px;\n bottom: 0;\n right: 0;\n}\n\n.avatar-status-2xl {\n width: 16px;\n height: 16px;\n bottom: 0;\n right: 0;\n}\n","import { Component, Prop, Event, EventEmitter, h } from '@stencil/core';\n\nexport type AvatarSize = 'xxs' | 'xs' | 'sm' | 'md' | 'lg' | 'xl' | '2xl';\nexport type AvatarType = 'image' | 'placeholder' | 'text';\nexport type AvatarStatus = 'online' | 'offline' | 'none';\n\n@Component({\n tag: 'bh-avatar',\n styleUrl: 'bh-avatar.css',\n shadow: true,\n})\nexport class BhAvatar {\n /**\n * The size of the avatar\n */\n @Prop() size: AvatarSize = 'md';\n\n /**\n * The type of avatar content\n */\n @Prop() type: AvatarType = 'image';\n\n /**\n * The status indicator (online, offline, or none)\n */\n @Prop() status: AvatarStatus = 'none';\n\n /**\n * Text to display for text-type avatars (initials)\n */\n @Prop() text: string = 'RD';\n\n /**\n * Image source URL for image-type avatars\n */\n @Prop() imageSrc?: string;\n\n /**\n * Alt text for the avatar image\n */\n @Prop() alt: string = 'Avatar';\n\n /**\n * Emitted when the avatar is hovered\n */\n @Event() bhMouseEnter!: EventEmitter<void>;\n\n /**\n * Emitted when the mouse leaves the avatar\n */\n @Event() bhMouseLeave!: EventEmitter<void>;\n\n private handleMouseEnter = (): void => {\n this.bhMouseEnter.emit();\n };\n\n private handleMouseLeave = (): void => {\n this.bhMouseLeave.emit();\n };\n\n private getTextSizeClass(): string {\n const sizeMap: Record<AvatarSize, string> = {\n 'xxs': 'text-xxs',\n 'xs': 'text-xs',\n 'sm': 'text-sm',\n 'md': 'text-md',\n 'lg': 'text-lg',\n 'xl': 'text-xl',\n '2xl': 'text-2xl',\n };\n return sizeMap[this.size] || 'text-md';\n }\n\n private getIconSizeClass(): string {\n const sizeMap: Record<AvatarSize, string> = {\n 'xxs': 'icon-sm',\n 'xs': 'icon-md',\n 'sm': 'icon-lg',\n 'md': 'icon-xl',\n 'lg': 'icon-2xl',\n 'xl': 'icon-3xl',\n '2xl': 'icon-4xl',\n };\n return sizeMap[this.size] || 'icon-xl';\n }\n\n render() {\n const avatarClasses = {\n 'avatar': true,\n [`avatar-${this.size}`]: true,\n 'avatar-with-status': this.status !== 'none',\n };\n\n const statusClasses = {\n 'avatar-status': true,\n [`avatar-status-${this.size}`]: true,\n 'avatar-status-online': this.status === 'online',\n 'avatar-status-offline': this.status === 'offline',\n };\n\n return (\n <div\n class={avatarClasses}\n onMouseEnter={this.handleMouseEnter}\n onMouseLeave={this.handleMouseLeave}\n part=\"avatar\"\n >\n <div class=\"avatar-border\"></div>\n\n <div class=\"avatar-content\">\n {this.type === 'image' && (\n <img\n src={this.imageSrc}\n alt={this.alt}\n class=\"avatar-image\"\n />\n )}\n\n {this.type === 'placeholder' && (\n <span class={`material-symbols-outlined avatar-placeholder-icon ${this.getIconSizeClass()}`}>\n person\n </span>\n )}\n\n {this.type === 'text' && (\n <span class={`avatar-text ${this.getTextSizeClass()}`}>\n {this.text}\n </span>\n )}\n </div>\n\n {this.status !== 'none' && (\n <div class={statusClasses}></div>\n )}\n </div>\n );\n }\n}\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"bh-avatar.entry.js","sources":["src/components/bh-avatar/bh-avatar.css?tag=bh-avatar&encapsulation=shadow","src/components/bh-avatar/bh-avatar.tsx"],"sourcesContent":["/* ==========================================================================\n BH-AVATAR COMPONENT STYLES\n ========================================================================== */\n\n:host {\n display: inline-block;\n}\n\n/* Base Avatar */\n.avatar {\n position: relative;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n border-radius: 50%;\n background-color: var(--color-neutral-100);\n flex-shrink: 0;\n}\n\n/* Avatar Sizes */\n.avatar-xxs {\n width: 16px;\n height: 16px;\n}\n\n.avatar-xs {\n width: 24px;\n height: 24px;\n}\n\n.avatar-sm {\n width: 32px;\n height: 32px;\n}\n\n.avatar-md {\n width: 40px;\n height: 40px;\n}\n\n.avatar-lg {\n width: 48px;\n height: 48px;\n}\n\n.avatar-xl {\n width: 56px;\n height: 56px;\n}\n\n.avatar-2xl {\n width: 64px;\n height: 64px;\n}\n\n/* ==========================================================================\n AVATAR CONTENT ELEMENTS\n ========================================================================== */\n\n/* Avatar Border */\n.avatar-border {\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n border-radius: 50%;\n pointer-events: none;\n}\n\n.avatar-xs .avatar-border,\n.avatar-sm .avatar-border {\n border: 0.5px solid var(--color-neutral-400);\n}\n\n.avatar-md .avatar-border,\n.avatar-lg .avatar-border,\n.avatar-xl .avatar-border,\n.avatar-2xl .avatar-border {\n border: 0.75px solid var(--color-neutral-400);\n}\n\n/* Avatar Content Container */\n.avatar-content {\n position: relative;\n width: 100%;\n height: 100%;\n display: flex;\n align-items: center;\n justify-content: center;\n border-radius: 50%;\n overflow: hidden;\n z-index: 0;\n}\n\n/* Avatar Image */\n.avatar-image {\n width: 100%;\n height: 100%;\n object-fit: cover;\n border-radius: 50%;\n aspect-ratio: 1 / 1;\n}\n\n/* Avatar Placeholder Icon */\n.avatar-placeholder-icon {\n color: var(--color-neutral-500);\n line-height: 1;\n display: flex;\n align-items: center;\n justify-content: center;\n}\n\n/* Avatar Text (for text-type avatars) */\n.avatar-text {\n color: var(--color-neutral-500);\n font-family: var(--font-inter);\n font-weight: var(--weight-semibold);\n text-align: center;\n line-height: 1;\n}\n\n/* Text Size Classes */\n.text-xxs {\n font-size: 10px;\n line-height: 1.6em;\n}\n\n.text-xs {\n font-size: 12px;\n line-height: 1.5em;\n}\n\n.text-sm {\n font-size: var(--text-sm-size);\n line-height: var(--text-sm-line);\n}\n\n.text-md {\n font-size: var(--text-md-size);\n line-height: var(--text-md-line);\n}\n\n.text-lg {\n font-size: 18px;\n line-height: 1.56em;\n}\n\n.text-xl {\n font-size: 20px;\n line-height: 1.5em;\n}\n\n.text-2xl {\n font-size: 24px;\n line-height: 1.33em;\n}\n\n/* Icon Size Classes */\n.icon-sm {\n font-size: 16px;\n}\n\n.icon-md {\n font-size: 20px;\n}\n\n.icon-lg {\n font-size: 24px;\n}\n\n.icon-xl {\n font-size: 28px;\n}\n\n.icon-2xl {\n font-size: 32px;\n}\n\n.icon-3xl {\n font-size: 36px;\n}\n\n.icon-4xl {\n font-size: 40px;\n}\n\n/* ==========================================================================\n STATUS INDICATOR\n ========================================================================== */\n\n.avatar-status {\n position: absolute;\n border-radius: 50%;\n background-color: var(--color-success-500);\n border: 1.5px solid var(--color-white);\n z-index: 2;\n}\n\n.avatar-status-online {\n background-color: var(--color-success-500);\n}\n\n.avatar-status-offline {\n background-color: var(--color-neutral-400);\n}\n\n/* Status Indicator Sizes */\n.avatar-status-xxs {\n width: 4px;\n height: 4px;\n bottom: 0;\n right: 0;\n}\n\n.avatar-status-xs {\n width: 6px;\n height: 6px;\n bottom: 0;\n right: 0;\n}\n\n.avatar-status-sm {\n width: 8px;\n height: 8px;\n bottom: 0;\n right: 0;\n}\n\n.avatar-status-md {\n width: 10px;\n height: 10px;\n bottom: 0;\n right: 0;\n}\n\n.avatar-status-lg {\n width: 12px;\n height: 12px;\n bottom: 0;\n right: 0;\n}\n\n.avatar-status-xl {\n width: 14px;\n height: 14px;\n bottom: 0;\n right: 0;\n}\n\n.avatar-status-2xl {\n width: 16px;\n height: 16px;\n bottom: 0;\n right: 0;\n}\n","import { Component, Prop, Event, EventEmitter, h } from '@stencil/core';\n\nexport type AvatarSize = 'xxs' | 'xs' | 'sm' | 'md' | 'lg' | 'xl' | '2xl';\nexport type AvatarType = 'image' | 'placeholder' | 'text';\nexport type AvatarStatus = 'online' | 'offline' | 'none';\n\n@Component({\n tag: 'bh-avatar',\n styleUrl: 'bh-avatar.css',\n shadow: true,\n})\nexport class BhAvatar {\n /**\n * The size of the avatar\n */\n @Prop() size: AvatarSize = 'md';\n\n /**\n * The type of avatar content\n */\n @Prop() type: AvatarType = 'image';\n\n /**\n * The status indicator (online, offline, or none)\n */\n @Prop() status: AvatarStatus = 'none';\n\n /**\n * Text to display for text-type avatars (initials)\n */\n @Prop() text: string = 'RD';\n\n /**\n * Image source URL for image-type avatars\n */\n @Prop() imageSrc?: string;\n\n /**\n * Alt text for the avatar image\n */\n @Prop() alt: string = 'Avatar';\n\n /**\n * Emitted when the avatar is hovered\n */\n @Event() bhMouseEnter!: EventEmitter<void>;\n\n /**\n * Emitted when the mouse leaves the avatar\n */\n @Event() bhMouseLeave!: EventEmitter<void>;\n\n private handleMouseEnter = (): void => {\n this.bhMouseEnter.emit();\n };\n\n private handleMouseLeave = (): void => {\n this.bhMouseLeave.emit();\n };\n\n private getTextSizeClass(): string {\n const sizeMap: Record<AvatarSize, string> = {\n 'xxs': 'text-xxs',\n 'xs': 'text-xs',\n 'sm': 'text-sm',\n 'md': 'text-md',\n 'lg': 'text-lg',\n 'xl': 'text-xl',\n '2xl': 'text-2xl',\n };\n return sizeMap[this.size] || 'text-md';\n }\n\n private getIconSizeClass(): string {\n const sizeMap: Record<AvatarSize, string> = {\n 'xxs': 'icon-sm',\n 'xs': 'icon-md',\n 'sm': 'icon-lg',\n 'md': 'icon-xl',\n 'lg': 'icon-2xl',\n 'xl': 'icon-3xl',\n '2xl': 'icon-4xl',\n };\n return sizeMap[this.size] || 'icon-xl';\n }\n\n render() {\n const avatarClasses = {\n 'avatar': true,\n [`avatar-${this.size}`]: true,\n 'avatar-with-status': this.status !== 'none',\n };\n\n const statusClasses = {\n 'avatar-status': true,\n [`avatar-status-${this.size}`]: true,\n 'avatar-status-online': this.status === 'online',\n 'avatar-status-offline': this.status === 'offline',\n };\n\n return (\n <div\n class={avatarClasses}\n onMouseEnter={this.handleMouseEnter}\n onMouseLeave={this.handleMouseLeave}\n part=\"avatar\"\n >\n <div class=\"avatar-border\"></div>\n\n <div class=\"avatar-content\">\n {this.type === 'image' && (\n <img\n src={this.imageSrc}\n alt={this.alt}\n class=\"avatar-image\"\n />\n )}\n\n {this.type === 'placeholder' && (\n <span class={`material-symbols-outlined avatar-placeholder-icon ${this.getIconSizeClass()}`}>\n person\n </span>\n )}\n\n {this.type === 'text' && (\n <span class={`avatar-text ${this.getTextSizeClass()}`}>\n {this.text}\n </span>\n )}\n </div>\n\n {this.status !== 'none' && (\n <div class={statusClasses}></div>\n )}\n </div>\n );\n }\n}\n"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bh-button.bh-loader-spinner.entry.js","sources":["src/components/bh-loader-spinner/bh-loader-spinner.css?tag=bh-loader-spinner&encapsulation=shadow","src/components/bh-loader-spinner/bh-loader-spinner.tsx"],"sourcesContent":["/* ==========================================================================\n LOADER SPINNER COMPONENT - StencilJS\n ========================================================================== */\n\n:host {\n display: inline-block;\n}\n\n/* Overlay styles */\n.loader-overlay {\n position: fixed;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n background-color: rgba(0, 0, 0, 0.3);\n backdrop-filter: blur(4px);\n display: flex;\n align-items: center;\n justify-content: center;\n z-index: 9999;\n}\n\n.loader-overlay-content {\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: var(--spacing-md);\n}\n\n/* Container styles */\n.loader-container {\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: var(--spacing-sm);\n}\n\n.loader-spinner {\n position: relative;\n display: inline-block;\n}\n\n/* Message styles */\n.loader-message {\n color: var(--color-neutral-700);\n font-size: var(--text-sm-size);\n line-height: var(--text-sm-line);\n font-weight: var(--weight-medium);\n text-align: center;\n margin-top: var(--spacing-xs);\n}\n\n.loader-overlay .loader-message {\n color: var(--color-white);\n}\n\n/* =========================\n GRADIENT VARIANT - Bellhop Sidebar Style\n ========================= */\n.spinner-gradient {\n animation: gradient-rotate 2s linear infinite;\n will-change: transform;\n}\n\n.gradient-svg {\n display: block;\n transform-origin: 50% 50%;\n}\n\n.gradient-path {\n stroke-dasharray: 90, 150;\n stroke-dashoffset: 0;\n animation: gradient-dash 1.5s ease-in-out infinite;\n transform-origin: 50% 50%;\n}\n\n/* Size variations for gradient */\n.size-sm .gradient-svg {\n width: 20px;\n height: 20px;\n}\n\n.size-sm .gradient-path {\n stroke-width: 5;\n}\n\n.size-md .gradient-svg {\n width: 30px;\n height: 30px;\n}\n\n.size-md .gradient-path {\n stroke-width: 5;\n}\n\n.size-lg .gradient-svg {\n width: 40px;\n height: 40px;\n}\n\n.size-lg .gradient-path {\n stroke-width: 5;\n}\n\n.size-xl .gradient-svg {\n width: 60px;\n height: 60px;\n}\n\n.size-xl .gradient-path {\n stroke-width: 6;\n}\n\n@keyframes gradient-rotate {\n 100% {\n transform: rotate(360deg);\n }\n}\n\n@keyframes gradient-dash {\n 0% {\n stroke-dasharray: 1, 150;\n stroke-dashoffset: 0;\n }\n 50% {\n stroke-dasharray: 90, 150;\n stroke-dashoffset: -35;\n }\n 100% {\n stroke-dasharray: 90, 150;\n stroke-dashoffset: -124;\n }\n}\n\n/* Hover effects - Ultra smooth acceleration */\n.loader-container:hover .spinner-gradient {\n animation-duration: 1s;\n}\n\n.loader-container:hover .gradient-path {\n animation-duration: 0.6s;\n}\n\n/* Performance optimizations */\n.spinner-gradient {\n backface-visibility: hidden;\n perspective: 1000px;\n}\n\n.gradient-svg {\n transform: translateZ(0);\n}\n","import { Component, Prop, h } from '@stencil/core';\n\nexport type LoaderSize = 'sm' | 'md' | 'lg' | 'xl';\nexport type LoaderVariant = 'default' | 'white';\n\n@Component({\n tag: 'bh-loader-spinner',\n styleUrl: 'bh-loader-spinner.css',\n shadow: true,\n})\nexport class BhLoaderSpinner {\n /** Loader size */\n @Prop() size: LoaderSize = 'md';\n\n /** Loader color variant - use 'white' for dark surfaces like buttons */\n @Prop() variant: LoaderVariant = 'default';\n\n /** Whether to show as overlay */\n @Prop() overlay: boolean = false;\n\n /** Message to show in overlay mode */\n @Prop() overlayMessage: string = '';\n\n /** Whether to show message */\n @Prop() showMessage: boolean = false;\n\n /** Message text */\n @Prop() message: string = 'Loading...';\n\n private renderSpinner() {\n const gradientId = this.variant === 'white' ? 'bellhop-gradient-white' : 'bellhop-gradient';\n\n return (\n <div class={`loader-spinner variant-${this.variant}`}>\n <div class=\"spinner-gradient\">\n <svg class=\"gradient-svg\" viewBox=\"0 0 50 50\">\n <defs>\n {this.variant === 'white' ? (\n <linearGradient\n id=\"bellhop-gradient-white\"\n x1=\"0%\"\n y1=\"0%\"\n x2=\"0%\"\n y2=\"100%\"\n >\n <stop offset=\"0%\" style={{ stopColor: 'rgba(255, 255, 255, 1)' }} />\n <stop offset=\"50%\" style={{ stopColor: 'rgba(255, 255, 255, 0.8)' }} />\n <stop offset=\"100%\" style={{ stopColor: 'rgba(255, 255, 255, 0.5)' }} />\n </linearGradient>\n ) : (\n <linearGradient\n id=\"bellhop-gradient\"\n x1=\"0%\"\n y1=\"0%\"\n x2=\"0%\"\n y2=\"100%\"\n >\n <stop offset=\"0%\" style={{ stopColor: 'var(--color-accent-300)' }} />\n <stop offset=\"51%\" style={{ stopColor: 'var(--color-brand-400)' }} />\n <stop offset=\"100%\" style={{ stopColor: 'var(--color-brand-600)' }} />\n </linearGradient>\n )}\n </defs>\n <circle\n class=\"gradient-path\"\n cx=\"25\"\n cy=\"25\"\n r=\"20\"\n fill=\"none\"\n stroke={`url(#${gradientId})`}\n stroke-width=\"4\"\n stroke-linecap=\"round\"\n />\n </svg>\n </div>\n </div>\n );\n }\n\n private renderMessage(isOverlay: boolean) {\n const shouldShowMessage = isOverlay\n ? (this.showMessage || this.overlayMessage)\n : this.showMessage;\n\n if (!shouldShowMessage) return null;\n\n return (\n <div class=\"loader-message\">\n {isOverlay ? (this.overlayMessage || this.message) : this.message}\n </div>\n );\n }\n\n render() {\n if (this.overlay) {\n return (\n <div class=\"loader-overlay\">\n <div class=\"loader-overlay-content\">\n <div class={`loader-container size-${this.size}`}>\n {this.renderSpinner()}\n </div>\n {this.renderMessage(true)}\n </div>\n </div>\n );\n }\n\n return (\n <div class={`loader-container size-${this.size}`}>\n {this.renderSpinner()}\n {this.renderMessage(false)}\n </div>\n );\n }\n}\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"bh-button.bh-loader-spinner.entry.js","sources":["src/components/bh-button/bh-button.css?tag=bh-button&encapsulation=shadow","src/components/bh-button/bh-button.tsx","src/components/bh-loader-spinner/bh-loader-spinner.css?tag=bh-loader-spinner&encapsulation=shadow","src/components/bh-loader-spinner/bh-loader-spinner.tsx"],"sourcesContent":["/* ==========================================================================\n BH-BUTTON COMPONENT STYLES\n ========================================================================== */\n\n:host {\n display: inline-block;\n}\n\n/* Base Button */\n.btn {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n gap: var(--spacing-xs);\n font-family: var(--font-inter);\n font-weight: var(--weight-medium);\n border: 1px solid transparent;\n cursor: pointer;\n text-align: center;\n white-space: nowrap;\n transition: all 0.2s ease-in-out;\n text-decoration: none;\n outline: none;\n}\n\n/* Button Sizes */\n.btn-xs {\n padding: 0 var(--spacing-lg);\n height: 24px;\n border-radius: var(--radius-md);\n font-size: var(--text-sm-size);\n}\n\n.btn-sm {\n padding: 0 var(--spacing-xl);\n height: 32px;\n border-radius: var(--radius-md);\n font-size: var(--text-sm-size);\n}\n\n.btn-md {\n padding: 0 var(--spacing-xl);\n height: 40px;\n border-radius: var(--radius-md);\n font-size: var(--text-sm-size);\n}\n\n.btn-lg {\n padding: 0 var(--spacing-xl);\n height: 48px;\n border-radius: var(--radius-md);\n gap: var(--spacing-sm);\n font-size: var(--text-md-size);\n}\n\n/* Icon Padding Compensation */\n.btn-xs.btn-icon-leading {\n padding-left: var(\n --icon-compensation-xs-btn,\n calc(var(--spacing-lg) - var(--spacing-xs))\n );\n}\n\n.btn-sm.btn-icon-leading {\n padding-left: var(\n --icon-compensation-sm-btn,\n calc(var(--spacing-xl) - var(--spacing-xs))\n );\n}\n\n.btn-md.btn-icon-leading {\n padding-left: var(\n --icon-compensation-md-btn,\n calc(var(--spacing-xl) - var(--spacing-xs))\n );\n}\n\n.btn-lg.btn-icon-leading {\n padding-left: var(\n --icon-compensation-lg-btn,\n calc(var(--spacing-xl) - var(--spacing-xs))\n );\n}\n\n.btn-xs.btn-icon-trailing {\n padding-right: var(\n --icon-compensation-xs-btn,\n calc(var(--spacing-lg) - var(--spacing-xs))\n );\n}\n\n.btn-sm.btn-icon-trailing {\n padding-right: var(\n --icon-compensation-sm-btn,\n calc(var(--spacing-xl) - var(--spacing-xs))\n );\n}\n\n.btn-md.btn-icon-trailing {\n padding-right: var(\n --icon-compensation-md-btn,\n calc(var(--spacing-xl) - var(--spacing-xs))\n );\n}\n\n.btn-lg.btn-icon-trailing {\n padding-right: var(\n --icon-compensation-lg-btn,\n calc(var(--spacing-xl) - var(--spacing-xs))\n );\n}\n\n/* Button Hierarchies - Default Kind */\n.btn-primary.btn-default {\n background-color: var(--color-brand-600);\n color: var(--color-white);\n border-color: var(--color-brand-600);\n}\n\n.btn-secondary.btn-default {\n background-color: var(--color-white);\n color: var(--color-neutral-600);\n border-color: var(--color-neutral-300);\n}\n\n.btn-tertiary.btn-default {\n background-color: transparent;\n color: var(--color-neutral-600);\n border-color: transparent;\n}\n\n.btn-quaternary.btn-default {\n background-color: transparent;\n color: var(--color-brand-600);\n border-color: transparent;\n}\n\n/* Button Hierarchies - Destructive Kind */\n.btn-primary.btn-destructive {\n background-color: var(--color-error-600);\n color: var(--color-white);\n border-color: var(--color-error-600);\n}\n\n.btn-secondary.btn-destructive {\n background-color: var(--color-white);\n color: var(--color-error-600);\n border-color: var(--color-error-300);\n}\n\n.btn-tertiary.btn-destructive {\n background-color: transparent;\n color: var(--color-error-600);\n border-color: transparent;\n}\n\n.btn-quaternary.btn-destructive {\n background-color: transparent;\n color: var(--color-error-600);\n border-color: transparent;\n}\n\n/* Button Hierarchies - Success Kind */\n.btn-primary.btn-success {\n background-color: var(--color-success-600);\n color: var(--color-white);\n border-color: var(--color-success-600);\n}\n\n.btn-secondary.btn-success {\n background-color: var(--color-white);\n color: var(--color-success-600);\n border-color: var(--color-success-300);\n}\n\n.btn-tertiary.btn-success {\n background-color: transparent;\n color: var(--color-success-600);\n border-color: transparent;\n}\n\n.btn-quaternary.btn-success {\n background-color: transparent;\n color: var(--color-success-600);\n border-color: transparent;\n}\n\n/* Hover States - Default Kind */\n.btn-primary.btn-default:hover:not(:disabled):not(.btn-disabled) {\n background-color: var(--color-brand-700);\n border-color: var(--color-brand-700);\n}\n\n.btn-secondary.btn-default:hover:not(:disabled):not(.btn-disabled) {\n background-color: var(--color-neutral-50);\n color: var(--color-neutral-700);\n border-color: var(--color-neutral-400);\n}\n\n.btn-tertiary.btn-default:hover:not(:disabled):not(.btn-disabled) {\n background-color: var(--color-neutral-100);\n color: var(--color-neutral-700);\n}\n\n.btn-quaternary.btn-default:hover:not(:disabled):not(.btn-disabled) {\n color: var(--color-brand-700);\n}\n\n/* Hover States - Destructive Kind */\n.btn-primary.btn-destructive:hover:not(:disabled):not(.btn-disabled) {\n background-color: var(--color-error-700);\n border-color: var(--color-error-700);\n}\n\n.btn-secondary.btn-destructive:hover:not(:disabled):not(.btn-disabled) {\n background-color: var(--color-error-50);\n border-color: var(--color-error-300);\n}\n\n.btn-tertiary.btn-destructive:hover:not(:disabled):not(.btn-disabled) {\n background-color: var(--color-error-50);\n}\n\n.btn-quaternary.btn-destructive:hover:not(:disabled):not(.btn-disabled) {\n color: var(--color-error-700);\n}\n\n/* Hover States - Success Kind */\n.btn-primary.btn-success:hover:not(:disabled):not(.btn-disabled) {\n background-color: var(--color-success-700);\n border-color: var(--color-success-700);\n}\n\n.btn-secondary.btn-success:hover:not(:disabled):not(.btn-disabled) {\n background-color: var(--color-success-50);\n border-color: var(--color-success-300);\n}\n\n.btn-tertiary.btn-success:hover:not(:disabled):not(.btn-disabled) {\n background-color: var(--color-success-50);\n}\n\n.btn-quaternary.btn-success:hover:not(:disabled):not(.btn-disabled) {\n color: var(--color-success-700);\n}\n\n/* Active States - Default Kind */\n.btn-primary.btn-default:active:not(:disabled):not(.btn-disabled) {\n background-color: var(--color-brand-800);\n border-color: var(--color-brand-800);\n}\n\n.btn-secondary.btn-default:active:not(:disabled):not(.btn-disabled) {\n background-color: var(--color-neutral-100);\n border-color: var(--color-neutral-500);\n}\n\n.btn-tertiary.btn-default:active:not(:disabled):not(.btn-disabled) {\n background-color: var(--color-neutral-100);\n}\n\n.btn-quaternary.btn-default:active:not(:disabled):not(.btn-disabled) {\n color: var(--color-brand-800);\n}\n\n/* Active States - Destructive Kind */\n.btn-primary.btn-destructive:active:not(:disabled):not(.btn-disabled) {\n background-color: var(--color-error-800);\n border-color: var(--color-error-800);\n}\n\n.btn-secondary.btn-destructive:active:not(:disabled):not(.btn-disabled) {\n background-color: var(--color-error-100);\n border-color: var(--color-error-400);\n}\n\n.btn-tertiary.btn-destructive:active:not(:disabled):not(.btn-disabled) {\n background-color: var(--color-error-100);\n}\n\n.btn-quaternary.btn-destructive:active:not(:disabled):not(.btn-disabled) {\n color: var(--color-error-800);\n}\n\n/* Active States - Success Kind */\n.btn-primary.btn-success:active:not(:disabled):not(.btn-disabled) {\n background-color: var(--color-success-800);\n border-color: var(--color-success-800);\n}\n\n.btn-secondary.btn-success:active:not(:disabled):not(.btn-disabled) {\n background-color: var(--color-success-100);\n border-color: var(--color-success-400);\n}\n\n.btn-tertiary.btn-success:active:not(:disabled):not(.btn-disabled) {\n background-color: var(--color-success-100);\n}\n\n.btn-quaternary.btn-success:active:not(:disabled):not(.btn-disabled) {\n color: var(--color-success-800);\n}\n\n/* Focus State - Default Kind */\n.btn.btn-default:focus,\n.btn.btn-default:focus-visible {\n outline: 2px solid var(--color-brand-500);\n outline-offset: 2px;\n}\n\n/* Focus State - Destructive Kind */\n.btn.btn-destructive:focus,\n.btn.btn-destructive:focus-visible {\n outline: 2px solid var(--color-error-500);\n outline-offset: 2px;\n}\n\n/* Focus State - Success Kind */\n.btn.btn-success:focus,\n.btn.btn-success:focus-visible {\n outline: 2px solid var(--color-success-500);\n outline-offset: 2px;\n}\n\n/* Disabled States */\n.btn:disabled,\n.btn-disabled {\n cursor: not-allowed;\n pointer-events: none;\n}\n\n.btn-primary:disabled,\n.btn-primary.btn-disabled {\n background-color: var(--color-neutral-200);\n color: var(--color-neutral-400);\n border-color: var(--color-neutral-200);\n}\n\n.btn-secondary:disabled,\n.btn-secondary.btn-disabled,\n.btn-tertiary:disabled,\n.btn-tertiary.btn-disabled,\n.btn-quaternary:disabled,\n.btn-quaternary.btn-disabled {\n opacity: 0.5;\n}\n\n/* Loading State */\n.btn-loading {\n cursor: wait;\n pointer-events: none;\n}\n\n.btn-loading .btn-label {\n opacity: 0.7;\n}\n\n/* ==========================================================================\n BUTTON CONTENT ELEMENTS\n ========================================================================== */\n\n.btn-label {\n display: inline-block;\n line-height: inherit;\n}\n\n.btn-quaternary .btn-label {\n text-decoration: underline;\n}\n\n/* Icons */\n.btn-icon {\n display: flex;\n align-items: center;\n justify-content: center;\n flex-shrink: 0;\n}\n\n.btn-icon-material {\n line-height: 1;\n vertical-align: middle;\n color: inherit !important;\n}\n\n.btn-xs .btn-icon-material {\n font-size: var(--text-sm-size);\n}\n\n.btn-sm .btn-icon-material {\n font-size: var(--text-md-size);\n}\n\n.btn-md .btn-icon-material {\n font-size: var(--text-lg-size);\n}\n\n.btn-lg .btn-icon-material {\n font-size: var(--text-lg-size);\n}\n\n/* Icon-Only Buttons */\n.btn-icon-only {\n padding: 0;\n}\n\n.btn-icon-only.btn-xs {\n width: 24px;\n height: 24px;\n}\n\n.btn-icon-only.btn-sm {\n width: 32px;\n height: 32px;\n}\n\n.btn-icon-only.btn-md {\n width: 40px;\n height: 40px;\n}\n\n.btn-icon-only.btn-lg {\n width: 48px;\n height: 48px;\n}\n\n.btn-icon-only .btn-icon-material {\n margin: 0;\n}\n\n/* Loading Spinner */\n.btn-loading-icon {\n line-height: 1;\n vertical-align: middle;\n color: inherit;\n animation: spin 1s linear infinite;\n}\n\n@keyframes spin {\n from {\n transform: rotate(0deg);\n }\n to {\n transform: rotate(360deg);\n }\n}\n\n/* Text size utilities */\n.text-sm {\n font-size: var(--text-sm-size);\n line-height: var(--text-sm-line);\n}\n\n.text-md {\n font-size: var(--text-md-size);\n line-height: var(--text-md-line);\n}\n\n/* Icon size utilities */\n.icon-md {\n width: 20px;\n height: 20px;\n}\n\n.icon-lg {\n width: 24px;\n height: 24px;\n}\n","import { Component, Prop, Event, EventEmitter, h } from '@stencil/core';\n\nexport type ButtonHierarchy =\n | 'primary'\n | 'secondary'\n | 'tertiary'\n | 'quaternary';\nexport type ButtonIconPosition = 'none' | 'leading' | 'trailing' | 'only';\nexport type ButtonSize = 'xs' | 'sm' | 'md' | 'lg';\nexport type ButtonKind = 'default' | 'destructive' | 'success';\nexport type ButtonType = 'button' | 'submit' | 'reset';\n\n@Component({\n tag: 'bh-button',\n styleUrl: 'bh-button.css',\n shadow: true,\n})\nexport class BhButton {\n /**\n * The visual hierarchy of the button\n */\n @Prop() hierarchy: ButtonHierarchy = 'primary';\n\n /**\n * The kind/semantic meaning of the button\n */\n @Prop() kind: ButtonKind = 'default';\n\n /**\n * Icon position relative to the label\n */\n @Prop() icon: ButtonIconPosition = 'none';\n\n /**\n * The size of the button\n */\n @Prop() size: ButtonSize = 'sm';\n\n /**\n * Fallback text label (used only if no slot content is provided)\n */\n @Prop() label?: string;\n\n /**\n * Material Symbols icon name (e.g., 'add', 'edit', 'delete')\n */\n @Prop() iconName?: string;\n\n /**\n * Whether the button is disabled\n */\n @Prop() disabled: boolean = false;\n\n /**\n * Whether the button is in a loading state\n */\n @Prop() loading: boolean = false;\n\n /**\n * The type of button for form submission\n * - 'button': No form submission (default)\n * - 'submit': Submits the form\n * - 'reset': Resets the form\n */\n @Prop() type: ButtonType = 'button';\n\n /**\n * Emitted when the button is clicked\n */\n @Event() bhClick!: EventEmitter<MouseEvent>;\n\n private handleClick = (event: MouseEvent): void => {\n if (!this.disabled && !this.loading) {\n this.bhClick.emit(event);\n }\n };\n\n private getIconSizeClass(): string {\n switch (this.size) {\n case 'sm':\n case 'md':\n return 'icon-md';\n case 'lg':\n return 'icon-lg';\n default:\n return 'icon-md';\n }\n }\n\n private getTextSizeClass(): string {\n switch (this.size) {\n case 'sm':\n case 'md':\n return 'text-sm';\n case 'lg':\n return 'text-md';\n default:\n return 'text-sm';\n }\n }\n\n private getLoaderSize(): 'sm' | 'md' {\n switch (this.size) {\n case 'xs':\n case 'sm':\n return 'sm';\n default:\n return 'sm';\n }\n }\n\n private getLoaderVariant(): 'default' | 'white' {\n // Primary buttons (all kinds) have dark background, so use white spinner\n return this.hierarchy === 'primary' ? 'white' : 'default';\n }\n\n render() {\n const showLabel = this.icon !== 'only';\n const showLeadingIcon =\n this.icon === 'leading' && (this.iconName || this.loading);\n const showTrailingIcon =\n this.icon === 'trailing' && this.iconName && !this.loading;\n const showOnlyIcon =\n this.icon === 'only' && (this.iconName || this.loading);\n\n const buttonClasses = {\n btn: true,\n [`btn-${this.hierarchy}`]: true,\n [`btn-${this.kind}`]: true,\n [`btn-${this.size}`]: true,\n [`btn-icon-${this.icon}`]: true,\n 'btn-disabled': this.disabled,\n 'btn-loading': this.loading,\n };\n\n return (\n <button\n type={this.type}\n class={buttonClasses}\n disabled={this.disabled}\n onClick={this.handleClick}\n part=\"button\"\n >\n {showLeadingIcon && (\n <span class={`btn-icon ${this.getIconSizeClass()}`}>\n {this.loading ? (\n <bh-loader-spinner\n size={this.getLoaderSize()}\n variant={this.getLoaderVariant()}\n ></bh-loader-spinner>\n ) : (\n <span class=\"btn-icon-material material-symbols-outlined\">\n {this.iconName}\n </span>\n )}\n </span>\n )}\n\n {showOnlyIcon && (\n <span class={`btn-icon ${this.getIconSizeClass()}`}>\n {this.loading ? (\n <bh-loader-spinner\n size={this.getLoaderSize()}\n variant={this.getLoaderVariant()}\n ></bh-loader-spinner>\n ) : (\n <span class=\"btn-icon-material material-symbols-outlined\">\n {this.iconName}\n </span>\n )}\n </span>\n )}\n\n {showLabel && (\n <span class={`btn-label ${this.getTextSizeClass()}`}>\n <slot>{this.label}</slot>\n </span>\n )}\n\n {showTrailingIcon && (\n <span class={`btn-icon ${this.getIconSizeClass()}`}>\n <span class=\"btn-icon-material material-symbols-outlined\">\n {this.iconName}\n </span>\n </span>\n )}\n </button>\n );\n }\n}\n","/* ==========================================================================\n LOADER SPINNER COMPONENT - StencilJS\n ========================================================================== */\n\n:host {\n display: inline-block;\n}\n\n/* Overlay styles */\n.loader-overlay {\n position: fixed;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n background-color: rgba(0, 0, 0, 0.3);\n backdrop-filter: blur(4px);\n display: flex;\n align-items: center;\n justify-content: center;\n z-index: 9999;\n}\n\n.loader-overlay-content {\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: var(--spacing-md);\n}\n\n/* Container styles */\n.loader-container {\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: var(--spacing-sm);\n}\n\n.loader-spinner {\n position: relative;\n display: inline-block;\n}\n\n/* Message styles */\n.loader-message {\n color: var(--color-neutral-700);\n font-size: var(--text-sm-size);\n line-height: var(--text-sm-line);\n font-weight: var(--weight-medium);\n text-align: center;\n margin-top: var(--spacing-xs);\n}\n\n.loader-overlay .loader-message {\n color: var(--color-white);\n}\n\n/* =========================\n GRADIENT VARIANT - Bellhop Sidebar Style\n ========================= */\n.spinner-gradient {\n animation: gradient-rotate 2s linear infinite;\n will-change: transform;\n}\n\n.gradient-svg {\n display: block;\n transform-origin: 50% 50%;\n}\n\n.gradient-path {\n stroke-dasharray: 90, 150;\n stroke-dashoffset: 0;\n animation: gradient-dash 1.5s ease-in-out infinite;\n transform-origin: 50% 50%;\n}\n\n/* Size variations for gradient */\n.size-sm .gradient-svg {\n width: 20px;\n height: 20px;\n}\n\n.size-sm .gradient-path {\n stroke-width: 5;\n}\n\n.size-md .gradient-svg {\n width: 30px;\n height: 30px;\n}\n\n.size-md .gradient-path {\n stroke-width: 5;\n}\n\n.size-lg .gradient-svg {\n width: 40px;\n height: 40px;\n}\n\n.size-lg .gradient-path {\n stroke-width: 5;\n}\n\n.size-xl .gradient-svg {\n width: 60px;\n height: 60px;\n}\n\n.size-xl .gradient-path {\n stroke-width: 6;\n}\n\n@keyframes gradient-rotate {\n 100% {\n transform: rotate(360deg);\n }\n}\n\n@keyframes gradient-dash {\n 0% {\n stroke-dasharray: 1, 150;\n stroke-dashoffset: 0;\n }\n 50% {\n stroke-dasharray: 90, 150;\n stroke-dashoffset: -35;\n }\n 100% {\n stroke-dasharray: 90, 150;\n stroke-dashoffset: -124;\n }\n}\n\n/* Hover effects - Ultra smooth acceleration */\n.loader-container:hover .spinner-gradient {\n animation-duration: 1s;\n}\n\n.loader-container:hover .gradient-path {\n animation-duration: 0.6s;\n}\n\n/* Performance optimizations */\n.spinner-gradient {\n backface-visibility: hidden;\n perspective: 1000px;\n}\n\n.gradient-svg {\n transform: translateZ(0);\n}\n","import { Component, Prop, h } from '@stencil/core';\n\nexport type LoaderSize = 'sm' | 'md' | 'lg' | 'xl';\nexport type LoaderVariant = 'default' | 'white';\n\n@Component({\n tag: 'bh-loader-spinner',\n styleUrl: 'bh-loader-spinner.css',\n shadow: true,\n})\nexport class BhLoaderSpinner {\n /** Loader size */\n @Prop() size: LoaderSize = 'md';\n\n /** Loader color variant - use 'white' for dark surfaces like buttons */\n @Prop() variant: LoaderVariant = 'default';\n\n /** Whether to show as overlay */\n @Prop() overlay: boolean = false;\n\n /** Message to show in overlay mode */\n @Prop() overlayMessage: string = '';\n\n /** Whether to show message */\n @Prop() showMessage: boolean = false;\n\n /** Message text */\n @Prop() message: string = 'Loading...';\n\n private renderSpinner() {\n const gradientId = this.variant === 'white' ? 'bellhop-gradient-white' : 'bellhop-gradient';\n\n return (\n <div class={`loader-spinner variant-${this.variant}`}>\n <div class=\"spinner-gradient\">\n <svg class=\"gradient-svg\" viewBox=\"0 0 50 50\">\n <defs>\n {this.variant === 'white' ? (\n <linearGradient\n id=\"bellhop-gradient-white\"\n x1=\"0%\"\n y1=\"0%\"\n x2=\"0%\"\n y2=\"100%\"\n >\n <stop offset=\"0%\" style={{ stopColor: 'rgba(255, 255, 255, 1)' }} />\n <stop offset=\"50%\" style={{ stopColor: 'rgba(255, 255, 255, 0.8)' }} />\n <stop offset=\"100%\" style={{ stopColor: 'rgba(255, 255, 255, 0.5)' }} />\n </linearGradient>\n ) : (\n <linearGradient\n id=\"bellhop-gradient\"\n x1=\"0%\"\n y1=\"0%\"\n x2=\"0%\"\n y2=\"100%\"\n >\n <stop offset=\"0%\" style={{ stopColor: 'var(--color-accent-300)' }} />\n <stop offset=\"51%\" style={{ stopColor: 'var(--color-brand-400)' }} />\n <stop offset=\"100%\" style={{ stopColor: 'var(--color-brand-600)' }} />\n </linearGradient>\n )}\n </defs>\n <circle\n class=\"gradient-path\"\n cx=\"25\"\n cy=\"25\"\n r=\"20\"\n fill=\"none\"\n stroke={`url(#${gradientId})`}\n stroke-width=\"4\"\n stroke-linecap=\"round\"\n />\n </svg>\n </div>\n </div>\n );\n }\n\n private renderMessage(isOverlay: boolean) {\n const shouldShowMessage = isOverlay\n ? (this.showMessage || this.overlayMessage)\n : this.showMessage;\n\n if (!shouldShowMessage) return null;\n\n return (\n <div class=\"loader-message\">\n {isOverlay ? (this.overlayMessage || this.message) : this.message}\n </div>\n );\n }\n\n render() {\n if (this.overlay) {\n return (\n <div class=\"loader-overlay\">\n <div class=\"loader-overlay-content\">\n <div class={`loader-container size-${this.size}`}>\n {this.renderSpinner()}\n </div>\n {this.renderMessage(true)}\n </div>\n </div>\n );\n }\n\n return (\n <div class={`loader-container size-${this.size}`}>\n {this.renderSpinner()}\n {this.renderMessage(false)}\n </div>\n );\n }\n}\n"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,113 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
import { r as registerInstance, c as createEvent, h } from './index-nAAobRRQ.js';
|
|
2
|
+
|
|
3
|
+
const bhButtonCss = ":host{display:inline-block}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-xs);font-family:var(--font-inter);font-weight:var(--weight-medium);border:1px solid transparent;cursor:pointer;text-align:center;white-space:nowrap;transition:all 0.2s ease-in-out;text-decoration:none;outline:none}.btn-xs{padding:0 var(--spacing-lg);height:24px;border-radius:var(--radius-md);font-size:var(--text-sm-size)}.btn-sm{padding:0 var(--spacing-xl);height:32px;border-radius:var(--radius-md);font-size:var(--text-sm-size)}.btn-md{padding:0 var(--spacing-xl);height:40px;border-radius:var(--radius-md);font-size:var(--text-sm-size)}.btn-lg{padding:0 var(--spacing-xl);height:48px;border-radius:var(--radius-md);gap:var(--spacing-sm);font-size:var(--text-md-size)}.btn-xs.btn-icon-leading{padding-left:var(\n --icon-compensation-xs-btn,\n calc(var(--spacing-lg) - var(--spacing-xs))\n )}.btn-sm.btn-icon-leading{padding-left:var(\n --icon-compensation-sm-btn,\n calc(var(--spacing-xl) - var(--spacing-xs))\n )}.btn-md.btn-icon-leading{padding-left:var(\n --icon-compensation-md-btn,\n calc(var(--spacing-xl) - var(--spacing-xs))\n )}.btn-lg.btn-icon-leading{padding-left:var(\n --icon-compensation-lg-btn,\n calc(var(--spacing-xl) - var(--spacing-xs))\n )}.btn-xs.btn-icon-trailing{padding-right:var(\n --icon-compensation-xs-btn,\n calc(var(--spacing-lg) - var(--spacing-xs))\n )}.btn-sm.btn-icon-trailing{padding-right:var(\n --icon-compensation-sm-btn,\n calc(var(--spacing-xl) - var(--spacing-xs))\n )}.btn-md.btn-icon-trailing{padding-right:var(\n --icon-compensation-md-btn,\n calc(var(--spacing-xl) - var(--spacing-xs))\n )}.btn-lg.btn-icon-trailing{padding-right:var(\n --icon-compensation-lg-btn,\n calc(var(--spacing-xl) - var(--spacing-xs))\n )}.btn-primary.btn-default{background-color:var(--color-brand-600);color:var(--color-white);border-color:var(--color-brand-600)}.btn-secondary.btn-default{background-color:var(--color-white);color:var(--color-neutral-600);border-color:var(--color-neutral-300)}.btn-tertiary.btn-default{background-color:transparent;color:var(--color-neutral-600);border-color:transparent}.btn-quaternary.btn-default{background-color:transparent;color:var(--color-brand-600);border-color:transparent}.btn-primary.btn-destructive{background-color:var(--color-error-600);color:var(--color-white);border-color:var(--color-error-600)}.btn-secondary.btn-destructive{background-color:var(--color-white);color:var(--color-error-600);border-color:var(--color-error-300)}.btn-tertiary.btn-destructive{background-color:transparent;color:var(--color-error-600);border-color:transparent}.btn-quaternary.btn-destructive{background-color:transparent;color:var(--color-error-600);border-color:transparent}.btn-primary.btn-success{background-color:var(--color-success-600);color:var(--color-white);border-color:var(--color-success-600)}.btn-secondary.btn-success{background-color:var(--color-white);color:var(--color-success-600);border-color:var(--color-success-300)}.btn-tertiary.btn-success{background-color:transparent;color:var(--color-success-600);border-color:transparent}.btn-quaternary.btn-success{background-color:transparent;color:var(--color-success-600);border-color:transparent}.btn-primary.btn-default:hover:not(:disabled):not(.btn-disabled){background-color:var(--color-brand-700);border-color:var(--color-brand-700)}.btn-secondary.btn-default:hover:not(:disabled):not(.btn-disabled){background-color:var(--color-neutral-50);color:var(--color-neutral-700);border-color:var(--color-neutral-400)}.btn-tertiary.btn-default:hover:not(:disabled):not(.btn-disabled){background-color:var(--color-neutral-100);color:var(--color-neutral-700)}.btn-quaternary.btn-default:hover:not(:disabled):not(.btn-disabled){color:var(--color-brand-700)}.btn-primary.btn-destructive:hover:not(:disabled):not(.btn-disabled){background-color:var(--color-error-700);border-color:var(--color-error-700)}.btn-secondary.btn-destructive:hover:not(:disabled):not(.btn-disabled){background-color:var(--color-error-50);border-color:var(--color-error-300)}.btn-tertiary.btn-destructive:hover:not(:disabled):not(.btn-disabled){background-color:var(--color-error-50)}.btn-quaternary.btn-destructive:hover:not(:disabled):not(.btn-disabled){color:var(--color-error-700)}.btn-primary.btn-success:hover:not(:disabled):not(.btn-disabled){background-color:var(--color-success-700);border-color:var(--color-success-700)}.btn-secondary.btn-success:hover:not(:disabled):not(.btn-disabled){background-color:var(--color-success-50);border-color:var(--color-success-300)}.btn-tertiary.btn-success:hover:not(:disabled):not(.btn-disabled){background-color:var(--color-success-50)}.btn-quaternary.btn-success:hover:not(:disabled):not(.btn-disabled){color:var(--color-success-700)}.btn-primary.btn-default:active:not(:disabled):not(.btn-disabled){background-color:var(--color-brand-800);border-color:var(--color-brand-800)}.btn-secondary.btn-default:active:not(:disabled):not(.btn-disabled){background-color:var(--color-neutral-100);border-color:var(--color-neutral-500)}.btn-tertiary.btn-default:active:not(:disabled):not(.btn-disabled){background-color:var(--color-neutral-100)}.btn-quaternary.btn-default:active:not(:disabled):not(.btn-disabled){color:var(--color-brand-800)}.btn-primary.btn-destructive:active:not(:disabled):not(.btn-disabled){background-color:var(--color-error-800);border-color:var(--color-error-800)}.btn-secondary.btn-destructive:active:not(:disabled):not(.btn-disabled){background-color:var(--color-error-100);border-color:var(--color-error-400)}.btn-tertiary.btn-destructive:active:not(:disabled):not(.btn-disabled){background-color:var(--color-error-100)}.btn-quaternary.btn-destructive:active:not(:disabled):not(.btn-disabled){color:var(--color-error-800)}.btn-primary.btn-success:active:not(:disabled):not(.btn-disabled){background-color:var(--color-success-800);border-color:var(--color-success-800)}.btn-secondary.btn-success:active:not(:disabled):not(.btn-disabled){background-color:var(--color-success-100);border-color:var(--color-success-400)}.btn-tertiary.btn-success:active:not(:disabled):not(.btn-disabled){background-color:var(--color-success-100)}.btn-quaternary.btn-success:active:not(:disabled):not(.btn-disabled){color:var(--color-success-800)}.btn.btn-default:focus,.btn.btn-default:focus-visible{outline:2px solid var(--color-brand-500);outline-offset:2px}.btn.btn-destructive:focus,.btn.btn-destructive:focus-visible{outline:2px solid var(--color-error-500);outline-offset:2px}.btn.btn-success:focus,.btn.btn-success:focus-visible{outline:2px solid var(--color-success-500);outline-offset:2px}.btn:disabled,.btn-disabled{cursor:not-allowed;pointer-events:none}.btn-primary:disabled,.btn-primary.btn-disabled{background-color:var(--color-neutral-200);color:var(--color-neutral-400);border-color:var(--color-neutral-200)}.btn-secondary:disabled,.btn-secondary.btn-disabled,.btn-tertiary:disabled,.btn-tertiary.btn-disabled,.btn-quaternary:disabled,.btn-quaternary.btn-disabled{opacity:0.5}.btn-loading{cursor:wait;pointer-events:none}.btn-loading .btn-label{opacity:0.7}.btn-label{display:inline-block;line-height:inherit}.btn-quaternary .btn-label{text-decoration:underline}.btn-icon{display:flex;align-items:center;justify-content:center;flex-shrink:0}.btn-icon-material{line-height:1;vertical-align:middle;color:inherit !important}.btn-xs .btn-icon-material{font-size:var(--text-sm-size)}.btn-sm .btn-icon-material{font-size:var(--text-md-size)}.btn-md .btn-icon-material{font-size:var(--text-lg-size)}.btn-lg .btn-icon-material{font-size:var(--text-lg-size)}.btn-icon-only{padding:0}.btn-icon-only.btn-xs{width:24px;height:24px}.btn-icon-only.btn-sm{width:32px;height:32px}.btn-icon-only.btn-md{width:40px;height:40px}.btn-icon-only.btn-lg{width:48px;height:48px}.btn-icon-only .btn-icon-material{margin:0}.btn-loading-icon{line-height:1;vertical-align:middle;color:inherit;animation:spin 1s linear infinite}@keyframes spin{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}.text-sm{font-size:var(--text-sm-size);line-height:var(--text-sm-line)}.text-md{font-size:var(--text-md-size);line-height:var(--text-md-line)}.icon-md{width:20px;height:20px}.icon-lg{width:24px;height:24px}";
|
|
4
|
+
|
|
5
|
+
const BhButton = class {
|
|
6
|
+
constructor(hostRef) {
|
|
7
|
+
registerInstance(this, hostRef);
|
|
8
|
+
this.bhClick = createEvent(this, "bhClick");
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* The visual hierarchy of the button
|
|
12
|
+
*/
|
|
13
|
+
hierarchy = 'primary';
|
|
14
|
+
/**
|
|
15
|
+
* The kind/semantic meaning of the button
|
|
16
|
+
*/
|
|
17
|
+
kind = 'default';
|
|
18
|
+
/**
|
|
19
|
+
* Icon position relative to the label
|
|
20
|
+
*/
|
|
21
|
+
icon = 'none';
|
|
22
|
+
/**
|
|
23
|
+
* The size of the button
|
|
24
|
+
*/
|
|
25
|
+
size = 'sm';
|
|
26
|
+
/**
|
|
27
|
+
* Fallback text label (used only if no slot content is provided)
|
|
28
|
+
*/
|
|
29
|
+
label;
|
|
30
|
+
/**
|
|
31
|
+
* Material Symbols icon name (e.g., 'add', 'edit', 'delete')
|
|
32
|
+
*/
|
|
33
|
+
iconName;
|
|
34
|
+
/**
|
|
35
|
+
* Whether the button is disabled
|
|
36
|
+
*/
|
|
37
|
+
disabled = false;
|
|
38
|
+
/**
|
|
39
|
+
* Whether the button is in a loading state
|
|
40
|
+
*/
|
|
41
|
+
loading = false;
|
|
42
|
+
/**
|
|
43
|
+
* The type of button for form submission
|
|
44
|
+
* - 'button': No form submission (default)
|
|
45
|
+
* - 'submit': Submits the form
|
|
46
|
+
* - 'reset': Resets the form
|
|
47
|
+
*/
|
|
48
|
+
type = 'button';
|
|
49
|
+
/**
|
|
50
|
+
* Emitted when the button is clicked
|
|
51
|
+
*/
|
|
52
|
+
bhClick;
|
|
53
|
+
handleClick = (event) => {
|
|
54
|
+
if (!this.disabled && !this.loading) {
|
|
55
|
+
this.bhClick.emit(event);
|
|
56
|
+
}
|
|
57
|
+
};
|
|
58
|
+
getIconSizeClass() {
|
|
59
|
+
switch (this.size) {
|
|
60
|
+
case 'sm':
|
|
61
|
+
case 'md':
|
|
62
|
+
return 'icon-md';
|
|
63
|
+
case 'lg':
|
|
64
|
+
return 'icon-lg';
|
|
65
|
+
default:
|
|
66
|
+
return 'icon-md';
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
getTextSizeClass() {
|
|
70
|
+
switch (this.size) {
|
|
71
|
+
case 'sm':
|
|
72
|
+
case 'md':
|
|
73
|
+
return 'text-sm';
|
|
74
|
+
case 'lg':
|
|
75
|
+
return 'text-md';
|
|
76
|
+
default:
|
|
77
|
+
return 'text-sm';
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
getLoaderSize() {
|
|
81
|
+
switch (this.size) {
|
|
82
|
+
case 'xs':
|
|
83
|
+
case 'sm':
|
|
84
|
+
return 'sm';
|
|
85
|
+
default:
|
|
86
|
+
return 'sm';
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
getLoaderVariant() {
|
|
90
|
+
// Primary buttons (all kinds) have dark background, so use white spinner
|
|
91
|
+
return this.hierarchy === 'primary' ? 'white' : 'default';
|
|
92
|
+
}
|
|
93
|
+
render() {
|
|
94
|
+
const showLabel = this.icon !== 'only';
|
|
95
|
+
const showLeadingIcon = this.icon === 'leading' && (this.iconName || this.loading);
|
|
96
|
+
const showTrailingIcon = this.icon === 'trailing' && this.iconName && !this.loading;
|
|
97
|
+
const showOnlyIcon = this.icon === 'only' && (this.iconName || this.loading);
|
|
98
|
+
const buttonClasses = {
|
|
99
|
+
btn: true,
|
|
100
|
+
[`btn-${this.hierarchy}`]: true,
|
|
101
|
+
[`btn-${this.kind}`]: true,
|
|
102
|
+
[`btn-${this.size}`]: true,
|
|
103
|
+
[`btn-icon-${this.icon}`]: true,
|
|
104
|
+
'btn-disabled': this.disabled,
|
|
105
|
+
'btn-loading': this.loading,
|
|
106
|
+
};
|
|
107
|
+
return (h("button", { key: 'f2f54633cb42a7fea15c38aa8bc24be085320dc9', type: this.type, class: buttonClasses, disabled: this.disabled, onClick: this.handleClick, part: "button" }, showLeadingIcon && (h("span", { key: '682a4704e4f874b4f3d051aab4738829cbd47778', class: `btn-icon ${this.getIconSizeClass()}` }, this.loading ? (h("bh-loader-spinner", { size: this.getLoaderSize(), variant: this.getLoaderVariant() })) : (h("span", { class: "btn-icon-material material-symbols-outlined" }, this.iconName)))), showOnlyIcon && (h("span", { key: '767e0ee41843e2ef8b3a45ec82f15602848ad751', class: `btn-icon ${this.getIconSizeClass()}` }, this.loading ? (h("bh-loader-spinner", { size: this.getLoaderSize(), variant: this.getLoaderVariant() })) : (h("span", { class: "btn-icon-material material-symbols-outlined" }, this.iconName)))), showLabel && (h("span", { key: 'bb2ddbcf7eb35dd5af688a6fc6d61d07f67d90ba', class: `btn-label ${this.getTextSizeClass()}` }, h("slot", { key: '010690eeab4cea1205d2ebca5cc2e1bfc95048c7' }, this.label))), showTrailingIcon && (h("span", { key: '9de8df1ab10e9035affbd766fea95896762e2bca', class: `btn-icon ${this.getIconSizeClass()}` }, h("span", { key: 'b50370274c0513a7885eae4bf40235c3e7e245aa', class: "btn-icon-material material-symbols-outlined" }, this.iconName)))));
|
|
108
|
+
}
|
|
109
|
+
};
|
|
110
|
+
BhButton.style = bhButtonCss;
|
|
3
111
|
|
|
4
112
|
const bhLoaderSpinnerCss = ":host{display:inline-block}.loader-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background-color:rgba(0, 0, 0, 0.3);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:9999}.loader-overlay-content{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-md)}.loader-container{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-sm)}.loader-spinner{position:relative;display:inline-block}.loader-message{color:var(--color-neutral-700);font-size:var(--text-sm-size);line-height:var(--text-sm-line);font-weight:var(--weight-medium);text-align:center;margin-top:var(--spacing-xs)}.loader-overlay .loader-message{color:var(--color-white)}.spinner-gradient{animation:gradient-rotate 2s linear infinite;will-change:transform}.gradient-svg{display:block;transform-origin:50% 50%}.gradient-path{stroke-dasharray:90, 150;stroke-dashoffset:0;animation:gradient-dash 1.5s ease-in-out infinite;transform-origin:50% 50%}.size-sm .gradient-svg{width:20px;height:20px}.size-sm .gradient-path{stroke-width:5}.size-md .gradient-svg{width:30px;height:30px}.size-md .gradient-path{stroke-width:5}.size-lg .gradient-svg{width:40px;height:40px}.size-lg .gradient-path{stroke-width:5}.size-xl .gradient-svg{width:60px;height:60px}.size-xl .gradient-path{stroke-width:6}@keyframes gradient-rotate{100%{transform:rotate(360deg)}}@keyframes gradient-dash{0%{stroke-dasharray:1, 150;stroke-dashoffset:0}50%{stroke-dasharray:90, 150;stroke-dashoffset:-35}100%{stroke-dasharray:90, 150;stroke-dashoffset:-124}}.loader-container:hover .spinner-gradient{animation-duration:1s}.loader-container:hover .gradient-path{animation-duration:0.6s}.spinner-gradient{backface-visibility:hidden;perspective:1000px}.gradient-svg{transform:translateZ(0)}";
|
|
5
113
|
|
|
@@ -40,5 +148,5 @@ const BhLoaderSpinner = class {
|
|
|
40
148
|
};
|
|
41
149
|
BhLoaderSpinner.style = bhLoaderSpinnerCss;
|
|
42
150
|
|
|
43
|
-
export { BhLoaderSpinner as bh_loader_spinner };
|
|
151
|
+
export { BhButton as bh_button, BhLoaderSpinner as bh_loader_spinner };
|
|
44
152
|
//# sourceMappingURL=bh-button.bh-loader-spinner.entry.js.map
|
|
@@ -37,7 +37,7 @@ const BhCard = class {
|
|
|
37
37
|
const contentStyle = {
|
|
38
38
|
minHeight: `${this.contentMinHeight}px`,
|
|
39
39
|
};
|
|
40
|
-
return (h(Host, { key: '
|
|
40
|
+
return (h(Host, { key: '31c722ab510a95909c875f389116ff547f3fb119' }, h("div", { key: 'b5390ca668bd29974154f7b0b831a4ce98b45394', class: "card" }, this.showHeader && (h("div", { key: 'df7f16b333cb5b8f651175c6c8299b35b90e16f2', class: "card-header-slot" }, h("slot", { key: '978b518b1ae6087bcb96846aa5c802524748bd14', name: "header" }))), h("div", { key: '7a1b7437e801d9b547d7bcd45639baf0774c34d7', class: "card-content", style: contentStyle }, h("slot", { key: '6c22feff58b21f0aec25c6f547d1443bf1f88f9d' }), !this.hasContent && (h("div", { key: '4b42011a00526f859a967a07fefd028cf9903f41', class: "card-content-placeholder" }, h("span", { key: '25fc157be159aae504164dd4dcb0faa9df632756', class: "card-placeholder-text" }, this.placeholderText)))), this.showFooter && (h("div", { key: '115e111772a1446b874e6f02f025fde54becd0a3', class: "card-footer-slot" }, h("slot", { key: '2cd029465310d2db438a684a3f6009e234b14c1b', name: "footer" }))))));
|
|
41
41
|
}
|
|
42
42
|
};
|
|
43
43
|
BhCard.style = bhCardCss;
|