@actabldesign/bellhop-core 0.0.4 → 0.0.7
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/components → components}/bh-accordion-item.d.ts +1 -1
- package/{dist/components → components}/bh-accordion-item.js +1 -2
- package/components/bh-accordion-item.js.map +1 -0
- package/{dist/components → components}/bh-accordion.d.ts +1 -1
- package/{dist/components → components}/bh-accordion.js +1 -2
- package/components/bh-accordion.js.map +1 -0
- package/{dist/components → components}/bh-appbar.d.ts +1 -1
- package/{dist/components → components}/bh-appbar.js +4 -5
- package/components/bh-appbar.js.map +1 -0
- package/{dist/components → components}/bh-autocomplete-menu.d.ts +1 -1
- package/{dist/components → components}/bh-autocomplete-menu.js +1 -1
- package/{dist/components → components}/bh-avatar-add.d.ts +1 -1
- package/{dist/components → components}/bh-avatar-add.js +1 -1
- package/{dist/components → components}/bh-avatar-stacked.d.ts +1 -1
- package/{dist/components → components}/bh-avatar-stacked.js +4 -5
- package/components/bh-avatar-stacked.js.map +1 -0
- package/{dist/components → components}/bh-avatar.d.ts +1 -1
- package/{dist/components → components}/bh-avatar.js +1 -1
- package/{dist/components → components}/bh-badge-dot.d.ts +1 -1
- package/{dist/components → components}/bh-badge-dot.js +1 -1
- package/{dist/components → components}/bh-badge.d.ts +1 -1
- package/{dist/components → components}/bh-badge.js +1 -1
- package/{dist/components → components}/bh-bar-chart.d.ts +1 -1
- package/{dist/components → components}/bh-bar-chart.js +2 -3
- package/components/bh-bar-chart.js.map +1 -0
- package/{dist/components → components}/bh-breadcrumbs.d.ts +1 -1
- package/{dist/components → components}/bh-breadcrumbs.js +1 -1
- package/{dist/components → components}/bh-button-icon.d.ts +1 -1
- package/{dist/components → components}/bh-button-icon.js +1 -1
- package/{dist/components → components}/bh-button.d.ts +1 -1
- package/{dist/components → components}/bh-button.js +1 -1
- package/{dist/components → components}/bh-card-footer.d.ts +1 -1
- package/{dist/components/p-DK92X9HV.js → components/bh-card-footer.js} +10 -8
- package/components/bh-card-footer.js.map +1 -0
- package/{dist/components → components}/bh-card-header.d.ts +1 -1
- package/{dist/components/p-BNeBcvHu.js → components/bh-card-header.js} +16 -14
- package/components/bh-card-header.js.map +1 -0
- package/{dist/components → components}/bh-card.d.ts +1 -1
- package/{dist/components/p-DtbXB8r4.js → components/bh-card.js} +10 -8
- package/components/bh-card.js.map +1 -0
- package/{dist/components → components}/bh-chart-tooltip.d.ts +1 -1
- package/{dist/components → components}/bh-chart-tooltip.js +1 -1
- package/{dist/components → components}/bh-checkbox-group-item.d.ts +1 -1
- package/{dist/components/p-Ccq-Rk5W.js → components/bh-checkbox-group-item.js} +20 -18
- package/components/bh-checkbox-group-item.js.map +1 -0
- package/{dist/components → components}/bh-checkbox-group.d.ts +1 -1
- package/{dist/components/p-BOk69MBi.js → components/bh-checkbox-group.js} +10 -8
- package/components/bh-checkbox-group.js.map +1 -0
- package/{dist/components → components}/bh-checkbox.d.ts +1 -1
- package/{dist/components → components}/bh-checkbox.js +1 -1
- package/{dist/components → components}/bh-container-footer.d.ts +1 -1
- package/{dist/components → components}/bh-container-footer.js +3 -4
- package/components/bh-container-footer.js.map +1 -0
- package/{dist/components → components}/bh-container.d.ts +1 -1
- package/{dist/components → components}/bh-container.js +1 -2
- package/components/bh-container.js.map +1 -0
- package/{dist/components → components}/bh-data-grid.d.ts +1 -1
- package/{dist/components/p-D-RHfFhc.js → components/bh-data-grid.js} +28 -26
- package/components/bh-data-grid.js.map +1 -0
- package/{dist/components → components}/bh-date-picker-content.d.ts +1 -1
- package/{dist/components → components}/bh-date-picker-content.js +1 -1
- package/{dist/components → components}/bh-date-picker.d.ts +1 -1
- package/{dist/components → components}/bh-date-picker.js +10 -11
- package/components/bh-date-picker.js.map +1 -0
- package/{dist/components → components}/bh-date-range-picker-content.d.ts +1 -1
- package/{dist/components → components}/bh-date-range-picker-content.js +1 -1
- package/{dist/components → components}/bh-date-range-picker.d.ts +1 -1
- package/{dist/components → components}/bh-date-range-picker.js +11 -12
- package/components/bh-date-range-picker.js.map +1 -0
- package/{dist/components → components}/bh-dropdown-menu.d.ts +1 -1
- package/{dist/components → components}/bh-dropdown-menu.js +1 -1
- package/{dist/components → components}/bh-dropdown.d.ts +1 -1
- package/{dist/components → components}/bh-dropdown.js +1 -1
- package/{dist/components → components}/bh-empty-state.d.ts +1 -1
- package/{dist/components → components}/bh-empty-state.js +1 -1
- package/{dist/components → components}/bh-featured-icon.d.ts +1 -1
- package/{dist/components → components}/bh-featured-icon.js +1 -1
- package/{dist/components → components}/bh-illustrations.d.ts +1 -1
- package/{dist/components → components}/bh-illustrations.js +1 -2
- package/components/bh-illustrations.js.map +1 -0
- package/{dist/components → components}/bh-input-autocomplete.d.ts +1 -1
- package/{dist/components → components}/bh-input-autocomplete.js +8 -9
- package/components/bh-input-autocomplete.js.map +1 -0
- package/{dist/components → components}/bh-input-number.d.ts +1 -1
- package/{dist/components → components}/bh-input-number.js +4 -5
- package/components/bh-input-number.js.map +1 -0
- package/{dist/components → components}/bh-input-password.d.ts +1 -1
- package/{dist/components → components}/bh-input-password.js +3 -4
- package/components/bh-input-password.js.map +1 -0
- package/{dist/components → components}/bh-input-text.d.ts +1 -1
- package/{dist/components → components}/bh-input-text.js +1 -1
- package/{dist/components → components}/bh-input-verification.d.ts +1 -1
- package/{dist/components → components}/bh-input-verification.js +3 -4
- package/components/bh-input-verification.js.map +1 -0
- package/{dist/components → components}/bh-label.d.ts +1 -1
- package/{dist/components → components}/bh-label.js +1 -1
- package/{dist/components → components}/bh-loader-spinner.d.ts +1 -1
- package/{dist/components → components}/bh-loader-spinner.js +1 -1
- package/{dist/components → components}/bh-logo-box.d.ts +1 -1
- package/{dist/components → components}/bh-logo-box.js +1 -1
- package/{dist/components → components}/bh-modal-actions.d.ts +1 -1
- package/{dist/components → components}/bh-modal-actions.js +3 -4
- package/components/bh-modal-actions.js.map +1 -0
- package/{dist/components → components}/bh-modal-header.d.ts +1 -1
- package/{dist/components → components}/bh-modal-header.js +3 -4
- package/components/bh-modal-header.js.map +1 -0
- package/{dist/components → components}/bh-modal.d.ts +1 -1
- package/{dist/components/p-DURWm67o.js → components/bh-modal.js} +10 -8
- package/components/bh-modal.js.map +1 -0
- package/{dist/components → components}/bh-month-picker-content.d.ts +1 -1
- package/{dist/components → components}/bh-month-picker-content.js +1 -1
- package/{dist/components → components}/bh-month-picker.d.ts +1 -1
- package/{dist/components → components}/bh-month-picker.js +8 -9
- package/components/bh-month-picker.js.map +1 -0
- package/{dist/components → components}/bh-nav-item.d.ts +1 -1
- package/{dist/components → components}/bh-nav-item.js +1 -1
- package/{dist/components → components}/bh-notification.d.ts +1 -1
- package/{dist/components → components}/bh-notification.js +4 -5
- package/components/bh-notification.js.map +1 -0
- package/{dist/components → components}/bh-page-navigation-child.d.ts +1 -1
- package/{dist/components → components}/bh-page-navigation-child.js +1 -1
- package/{dist/components → components}/bh-page-navigation-multi-level.d.ts +1 -1
- package/{dist/components → components}/bh-page-navigation-multi-level.js +1 -1
- package/{dist/components → components}/bh-page-navigation-single-level.d.ts +1 -1
- package/{dist/components → components}/bh-page-navigation-single-level.js +1 -1
- package/{dist/components → components}/bh-page-navigation.d.ts +1 -1
- package/{dist/components → components}/bh-page-navigation.js +6 -7
- package/components/bh-page-navigation.js.map +1 -0
- package/{dist/components → components}/bh-pagination.d.ts +1 -1
- package/{dist/components → components}/bh-pagination.js +1 -1
- package/{dist/components → components}/bh-picker-menu.d.ts +1 -1
- package/{dist/components → components}/bh-picker-menu.js +1 -1
- package/{dist/components → components}/bh-pie-chart.d.ts +1 -1
- package/{dist/components → components}/bh-pie-chart.js +2 -3
- package/components/bh-pie-chart.js.map +1 -0
- package/{dist/components → components}/bh-popover.d.ts +1 -1
- package/{dist/components → components}/bh-popover.js +1 -2
- package/components/bh-popover.js.map +1 -0
- package/{dist/components → components}/bh-product-switcher.d.ts +1 -1
- package/{dist/components → components}/bh-product-switcher.js +1 -1
- package/{dist/components → components}/bh-property-switcher.d.ts +1 -1
- package/{dist/components → components}/bh-property-switcher.js +1 -2
- package/components/bh-property-switcher.js.map +1 -0
- package/{dist/components → components}/bh-radio-button.d.ts +1 -1
- package/{dist/components → components}/bh-radio-button.js +1 -1
- package/{dist/components → components}/bh-sidebar.d.ts +1 -1
- package/{dist/components → components}/bh-sidebar.js +10 -11
- package/components/bh-sidebar.js.map +1 -0
- package/{dist/components → components}/bh-skeleton-loader.d.ts +1 -1
- package/{dist/components → components}/bh-skeleton-loader.js +1 -1
- package/{dist/components → components}/bh-tab-item.d.ts +1 -1
- package/{dist/components → components}/bh-tab-item.js +1 -2
- package/components/bh-tab-item.js.map +1 -0
- package/{dist/components → components}/bh-tabs.d.ts +1 -1
- package/{dist/components → components}/bh-tabs.js +1 -2
- package/components/bh-tabs.js.map +1 -0
- package/{dist/components → components}/bh-tag.d.ts +1 -1
- package/{dist/components → components}/bh-tag.js +1 -1
- package/{dist/components → components}/bh-textarea.d.ts +1 -1
- package/{dist/components → components}/bh-textarea.js +3 -4
- package/components/bh-textarea.js.map +1 -0
- package/{dist/components → components}/bh-toggle.d.ts +1 -1
- package/{dist/components/p-dlKpBGSA.js → components/bh-toggle.js} +10 -8
- package/components/bh-toggle.js.map +1 -0
- package/{dist/components → components}/bh-tooltip.d.ts +1 -1
- package/{dist/components → components}/bh-tooltip.js +1 -1
- package/{dist/components → components}/bh-trend-chart.d.ts +1 -1
- package/{dist/components → components}/bh-trend-chart.js +1 -2
- package/components/bh-trend-chart.js.map +1 -0
- package/components/index.d.ts +170 -0
- package/components/index.js +71 -0
- package/components/index.js.map +1 -0
- package/{dist/components/p-DW54267I.js → components/p-8bOZFmdg.js} +6 -7
- package/components/p-8bOZFmdg.js.map +1 -0
- package/{dist/components/p-BFhwq3_y.js → components/p-B02xFf1P.js} +4 -5
- package/components/p-B02xFf1P.js.map +1 -0
- package/{dist/components/p-DsCDXclM.js → components/p-B0vRPcr5.js} +4 -5
- package/components/p-B0vRPcr5.js.map +1 -0
- package/{dist/components/p-CWGpUs1b.js → components/p-B9W7gNtY.js} +3 -4
- package/components/p-B9W7gNtY.js.map +1 -0
- package/{dist/components/p-Bs2Z3XIQ.js → components/p-BJLHKnwL.js} +5 -6
- package/components/p-BJLHKnwL.js.map +1 -0
- package/{dist/components/p-Df5drD7C.js → components/p-BLCjD0ux.js} +3 -4
- package/components/p-BLCjD0ux.js.map +1 -0
- package/{dist/components/p-DOaC_o63.js → components/p-BQKx1tGq.js} +7 -8
- package/components/p-BQKx1tGq.js.map +1 -0
- package/{dist/components/p-5LJWVh2v.js → components/p-BSok41i-.js} +3 -4
- package/components/p-BSok41i-.js.map +1 -0
- package/{dist/components/p-B7eVYv2t.js → components/p-BajBGXic.js} +3 -4
- package/components/p-BajBGXic.js.map +1 -0
- package/{dist/components/p-Cu6Uuaq7.js → components/p-BkK6rWZn.js} +4 -5
- package/components/p-BkK6rWZn.js.map +1 -0
- package/{dist/components/p-ChfLhYiJ.js → components/p-BsHlTsAN.js} +665 -11
- package/components/p-BsHlTsAN.js.map +1 -0
- package/{dist/components/p-B8MWhPHT.js → components/p-Bu0BcHwL.js} +6 -7
- package/components/p-Bu0BcHwL.js.map +1 -0
- package/{dist/components/p-Dm3E-tB8.js → components/p-Bx_0JeAb.js} +3 -4
- package/components/p-Bx_0JeAb.js.map +1 -0
- package/{dist/components/p-kd43PSY6.js → components/p-C0fcjlnS.js} +4 -5
- package/components/p-C0fcjlnS.js.map +1 -0
- package/{dist/components/p-CMomxDPL.js → components/p-CMoGgYqw.js} +3 -4
- package/components/p-CMoGgYqw.js.map +1 -0
- package/{dist/components/p-CK89kJIU.js → components/p-CUWjjZT-.js} +3 -4
- package/components/p-CUWjjZT-.js.map +1 -0
- package/{dist/components/p-uG5vRdFz.js → components/p-C_wf2KGn.js} +4 -5
- package/components/p-C_wf2KGn.js.map +1 -0
- package/{dist/components/p-BaLh9-zk.js → components/p-CdwyUif-.js} +3 -4
- package/components/p-CdwyUif-.js.map +1 -0
- package/{dist/components/p-BZELvMID.js → components/p-Cmo_S3fO.js} +5 -6
- package/components/p-Cmo_S3fO.js.map +1 -0
- package/{dist/components/p-C69LfZib.js → components/p-D0Ba0gOA.js} +5 -6
- package/components/p-D0Ba0gOA.js.map +1 -0
- package/{dist/components/p-CePuvH9t.js → components/p-D3FuyNC4.js} +7 -8
- package/components/p-D3FuyNC4.js.map +1 -0
- package/{dist/components/p-DAp7fLS-.js → components/p-D9aamyuM.js} +5 -6
- package/components/p-D9aamyuM.js.map +1 -0
- package/{dist/components/p-BpXkE6y8.js → components/p-DO_g_QMm.js} +3 -4
- package/components/p-DO_g_QMm.js.map +1 -0
- package/{dist/components/p-DIeMf4U9.js → components/p-DYC2IZEs.js} +8 -9
- package/components/p-DYC2IZEs.js.map +1 -0
- package/{dist/components/p-DufL1yr4.js → components/p-Df8KgHhe.js} +4 -5
- package/components/p-Df8KgHhe.js.map +1 -0
- package/{dist/components/p-D6w8lxZi.js → components/p-Do29ZTL9.js} +3 -4
- package/components/p-Do29ZTL9.js.map +1 -0
- package/{dist/components/p-DcoR-p0a.js → components/p-DxNNy00t.js} +3 -4
- package/components/p-DxNNy00t.js.map +1 -0
- package/{dist/components/p-SkkbcLa0.js → components/p-Npcwl1Z8.js} +3 -4
- package/components/p-Npcwl1Z8.js.map +1 -0
- package/{dist/components/p-DkGh2r0W.js → components/p-S3PEg8gv.js} +3 -4
- package/components/p-S3PEg8gv.js.map +1 -0
- package/{dist/components/p-CbeeTFys.js → components/p-WibqGBGu.js} +3 -4
- package/components/p-WibqGBGu.js.map +1 -0
- package/{dist/components/p-DQUicoqi.js → components/p-h6juyPoa.js} +3 -4
- package/components/p-h6juyPoa.js.map +1 -0
- package/{dist/components/p-C97e5uAI.js → components/p-u2N2FclB.js} +4 -5
- package/components/p-u2N2FclB.js.map +1 -0
- package/{dist/components/p-B2edfvL2.js → components/p-wPu4WTba.js} +3 -4
- package/components/p-wPu4WTba.js.map +1 -0
- package/dist/bellhop-core/bellhop-core.esm.js +1 -1
- package/dist/bellhop-core/index.esm.js +1 -1
- package/dist/bellhop-core/{p-2c796978.entry.js → p-07c9b7fa.entry.js} +2 -2
- package/dist/bellhop-core/{p-496fca9b.entry.js → p-091171da.entry.js} +2 -2
- package/dist/bellhop-core/{p-03e93cd8.entry.js → p-09a50860.entry.js} +2 -2
- package/dist/bellhop-core/{p-3719852a.entry.js → p-0e34250c.entry.js} +2 -2
- package/dist/bellhop-core/{p-cdd593fb.entry.js → p-11a6e5fc.entry.js} +2 -2
- package/dist/bellhop-core/{p-870fc023.entry.js → p-1540001e.entry.js} +2 -2
- package/dist/bellhop-core/{p-09f3464e.entry.js → p-1b670545.entry.js} +2 -2
- package/dist/bellhop-core/{p-8981025c.entry.js → p-1be3e908.entry.js} +2 -2
- package/dist/bellhop-core/{p-e86780b6.entry.js → p-21bc4f77.entry.js} +2 -2
- package/dist/bellhop-core/{p-2310cb6e.entry.js → p-233540f9.entry.js} +3 -3
- package/dist/bellhop-core/{p-0438e0a9.entry.js → p-272afebb.entry.js} +2 -2
- package/dist/bellhop-core/{p-860be0be.entry.js → p-2db7990e.entry.js} +2 -2
- package/dist/bellhop-core/{p-10967cab.entry.js → p-3194a87d.entry.js} +2 -2
- package/dist/bellhop-core/{p-e99bc91a.entry.js → p-3255019b.entry.js} +2 -2
- package/dist/bellhop-core/{p-56b857f5.entry.js → p-36166900.entry.js} +2 -2
- package/dist/bellhop-core/{p-686dea4a.entry.js → p-3a1c52a9.entry.js} +2 -2
- package/dist/bellhop-core/{p-58879213.entry.js → p-43c41dfb.entry.js} +2 -2
- package/dist/bellhop-core/{p-dcaa20e2.entry.js → p-442121f3.entry.js} +2 -2
- package/dist/bellhop-core/{p-4a14cbb5.entry.js → p-49edd1bb.entry.js} +2 -2
- package/dist/bellhop-core/{p-20d680ce.entry.js → p-4a8844ff.entry.js} +2 -2
- package/dist/bellhop-core/{p-f6e1b47c.entry.js → p-4e483d25.entry.js} +2 -2
- package/dist/bellhop-core/{p-b546cd23.entry.js → p-5514d7fb.entry.js} +2 -2
- package/dist/bellhop-core/{p-5760ce66.entry.js → p-5c4f74b8.entry.js} +2 -2
- package/dist/bellhop-core/{p-90b9047d.entry.js → p-5f92cb28.entry.js} +2 -2
- package/dist/bellhop-core/{p-e190ac50.entry.js → p-62235d6e.entry.js} +2 -2
- package/dist/bellhop-core/{p-f7c7416d.entry.js → p-67956598.entry.js} +2 -2
- package/dist/bellhop-core/{p-d4bfd30d.entry.js → p-6bc81ebb.entry.js} +2 -2
- package/dist/bellhop-core/{p-c8fb7f34.entry.js → p-6e8dd0f7.entry.js} +2 -2
- package/dist/bellhop-core/{p-abe24947.entry.js → p-7a85db89.entry.js} +2 -2
- package/dist/bellhop-core/{p-87fb26a0.entry.js → p-7b0cba50.entry.js} +2 -2
- package/dist/bellhop-core/{p-363dce47.entry.js → p-80e07b3d.entry.js} +2 -2
- package/dist/bellhop-core/{p-ef47dcd1.entry.js → p-83443918.entry.js} +2 -2
- package/dist/bellhop-core/{p-859f45da.entry.js → p-8962e1a6.entry.js} +2 -2
- package/dist/bellhop-core/{p-70ee270c.entry.js → p-8bf6364f.entry.js} +2 -2
- package/dist/bellhop-core/{p-e9ed7c17.entry.js → p-8cd61bd8.entry.js} +2 -2
- package/dist/bellhop-core/{p-5ab50add.entry.js → p-9a19cbf7.entry.js} +2 -2
- package/dist/bellhop-core/{p-239c7e6b.entry.js → p-9bf79c21.entry.js} +2 -2
- package/dist/bellhop-core/{p-DshiN5nT.js → p-CSYwm_Ke.js} +2 -2
- package/dist/bellhop-core/{p-DshiN5nT.js.map → p-CSYwm_Ke.js.map} +1 -1
- package/dist/bellhop-core/{p-CIj6YHfo.js → p-Ck1gRAmI.js} +2 -2
- package/dist/bellhop-core/{p-CIj6YHfo.js.map → p-Ck1gRAmI.js.map} +1 -1
- package/dist/bellhop-core/{p-I9CPXdBF.js → p-DY76Ee-p.js} +2 -2
- package/dist/bellhop-core/{p-I9CPXdBF.js.map → p-DY76Ee-p.js.map} +1 -1
- package/dist/bellhop-core/{p-6433b0a7.entry.js → p-a30e22f7.entry.js} +2 -2
- package/dist/bellhop-core/{p-086e8c86.entry.js → p-a41b3673.entry.js} +2 -2
- package/dist/bellhop-core/{p-b7801d25.entry.js → p-a42e8ddb.entry.js} +2 -2
- package/dist/bellhop-core/{p-67452ed0.entry.js → p-afd85291.entry.js} +2 -2
- package/dist/bellhop-core/{p-356a2ed7.entry.js → p-b0dda4df.entry.js} +2 -2
- package/dist/bellhop-core/{p-ab9c5351.entry.js → p-b878539a.entry.js} +2 -2
- package/dist/bellhop-core/{p-69f85850.entry.js → p-bd00d5ad.entry.js} +2 -2
- package/dist/bellhop-core/{p-b1cb34e9.entry.js → p-c0e36166.entry.js} +2 -2
- package/dist/bellhop-core/{p-ab2b037c.entry.js → p-c33f6e73.entry.js} +2 -2
- package/dist/bellhop-core/{p-44241bad.entry.js → p-c70d11a2.entry.js} +2 -2
- package/dist/bellhop-core/{p-94d2d599.entry.js → p-c9ac177b.entry.js} +2 -2
- package/dist/bellhop-core/{p-9a585c1a.entry.js → p-c9f7d922.entry.js} +2 -2
- package/dist/bellhop-core/{p-adcd2e15.entry.js → p-cf412873.entry.js} +2 -2
- package/dist/bellhop-core/{p-afd0e309.entry.js → p-d5bf49ab.entry.js} +2 -2
- package/dist/bellhop-core/{p-f5468da0.entry.js → p-defe9916.entry.js} +2 -2
- package/dist/bellhop-core/{p-23b74b40.entry.js → p-df4498cd.entry.js} +2 -2
- package/dist/bellhop-core/{p-57ac382d.entry.js → p-efd3dfed.entry.js} +2 -2
- package/dist/bellhop-core/{p-52e877e0.entry.js → p-f85a9eaa.entry.js} +2 -2
- package/dist/bellhop-core/{p-dd43d560.entry.js → p-ffb29d95.entry.js} +2 -2
- package/dist/bellhop-core/p-nAAobRRQ.js +3 -0
- package/dist/bellhop-core/p-nAAobRRQ.js.map +1 -0
- package/dist/cjs/bellhop-core.cjs.js +1 -1
- package/dist/cjs/bh-accordion-item.cjs.entry.js +1 -1
- package/dist/cjs/bh-accordion.cjs.entry.js +1 -1
- package/dist/cjs/bh-appbar.cjs.entry.js +1 -1
- package/dist/cjs/bh-autocomplete-menu_2.cjs.entry.js +1 -1
- package/dist/cjs/bh-avatar-add.cjs.entry.js +1 -1
- package/dist/cjs/bh-avatar-stacked.cjs.entry.js +1 -1
- package/dist/cjs/bh-avatar.cjs.entry.js +1 -1
- package/dist/cjs/bh-badge-dot_2.cjs.entry.js +1 -1
- package/dist/cjs/bh-badge.cjs.entry.js +1 -1
- package/dist/cjs/bh-bar-chart.cjs.entry.js +1 -1
- package/dist/cjs/{bh-button-CKYE8jYL.js → bh-button-DD0c0ODJ.js} +3 -3
- package/dist/cjs/{bh-button-CKYE8jYL.js.map → bh-button-DD0c0ODJ.js.map} +1 -1
- package/dist/cjs/bh-button-icon.cjs.entry.js +1 -1
- package/dist/cjs/bh-button_2.cjs.entry.js +2 -2
- package/dist/cjs/bh-card-footer.cjs.entry.js +1 -1
- package/dist/cjs/bh-card-header.cjs.entry.js +1 -1
- package/dist/cjs/bh-card.cjs.entry.js +1 -1
- package/dist/cjs/bh-chart-tooltip.cjs.entry.js +1 -1
- package/dist/cjs/bh-checkbox-group-item.cjs.entry.js +1 -1
- package/dist/cjs/bh-checkbox-group.cjs.entry.js +1 -1
- package/dist/cjs/bh-checkbox_2.cjs.entry.js +1 -1
- package/dist/cjs/bh-container-footer.cjs.entry.js +1 -1
- package/dist/cjs/bh-container.cjs.entry.js +1 -1
- package/dist/cjs/bh-data-grid.cjs.entry.js +1 -1
- package/dist/cjs/bh-date-picker-content.cjs.entry.js +1 -1
- package/dist/cjs/bh-date-picker.cjs.entry.js +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-menu.cjs.entry.js +1 -1
- package/dist/cjs/bh-dropdown_3.cjs.entry.js +1 -1
- package/dist/cjs/bh-empty-state_3.cjs.entry.js +2 -2
- package/dist/cjs/bh-featured-icon.cjs.entry.js +1 -1
- package/dist/cjs/bh-illustrations.cjs.entry.js +1 -1
- package/dist/cjs/bh-input-autocomplete.cjs.entry.js +1 -1
- 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_2.cjs.entry.js +1 -1
- package/dist/cjs/bh-input-verification.cjs.entry.js +1 -1
- package/dist/cjs/{bh-label-DRC8k-B9.js → bh-label-MpXjm9k0.js} +3 -3
- package/dist/cjs/{bh-label-DRC8k-B9.js.map → bh-label-MpXjm9k0.js.map} +1 -1
- package/dist/cjs/bh-label_2.cjs.entry.js +2 -2
- package/dist/cjs/bh-modal-actions.cjs.entry.js +1 -1
- package/dist/cjs/bh-modal-header.cjs.entry.js +1 -1
- package/dist/cjs/bh-modal.cjs.entry.js +1 -1
- package/dist/cjs/bh-month-picker-content.cjs.entry.js +1 -1
- package/dist/cjs/bh-month-picker.cjs.entry.js +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 +1 -1
- package/dist/cjs/bh-page-navigation.cjs.entry.js +1 -1
- package/dist/cjs/{bh-pagination-BJ1azyCc.js → bh-pagination-CgER63yz.js} +3 -3
- package/dist/cjs/{bh-pagination-BJ1azyCc.js.map → bh-pagination-CgER63yz.js.map} +1 -1
- package/dist/cjs/bh-pie-chart.cjs.entry.js +1 -1
- package/dist/cjs/bh-popover.cjs.entry.js +1 -1
- package/dist/cjs/bh-product-switcher.cjs.entry.js +1 -1
- package/dist/cjs/bh-property-switcher.cjs.entry.js +1 -1
- package/dist/cjs/bh-sidebar.cjs.entry.js +1 -1
- package/dist/cjs/bh-tab-item.cjs.entry.js +1 -1
- 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 +1 -1
- package/dist/cjs/{index-BVJ_Kket.js → index-DQwSUT6k.js} +666 -9
- package/dist/cjs/index-DQwSUT6k.js.map +1 -0
- package/dist/cjs/index.cjs.js +4 -4
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/esm/bellhop-core.js +2 -2
- package/dist/esm/bh-accordion-item.entry.js +1 -1
- package/dist/esm/bh-accordion.entry.js +1 -1
- package/dist/esm/bh-appbar.entry.js +1 -1
- package/dist/esm/bh-autocomplete-menu_2.entry.js +1 -1
- package/dist/esm/bh-avatar-add.entry.js +1 -1
- package/dist/esm/bh-avatar-stacked.entry.js +1 -1
- package/dist/esm/bh-avatar.entry.js +1 -1
- package/dist/esm/bh-badge-dot_2.entry.js +1 -1
- package/dist/esm/bh-badge.entry.js +1 -1
- package/dist/esm/bh-bar-chart.entry.js +1 -1
- package/dist/esm/{bh-button-n5gkWRSP.js → bh-button-ImGVvXaj.js} +3 -3
- package/dist/esm/{bh-button-n5gkWRSP.js.map → bh-button-ImGVvXaj.js.map} +1 -1
- package/dist/esm/bh-button-icon.entry.js +1 -1
- package/dist/esm/bh-button_2.entry.js +2 -2
- package/dist/esm/bh-card-footer.entry.js +1 -1
- package/dist/esm/bh-card-header.entry.js +1 -1
- package/dist/esm/bh-card.entry.js +1 -1
- package/dist/esm/bh-chart-tooltip.entry.js +1 -1
- package/dist/esm/bh-checkbox-group-item.entry.js +1 -1
- package/dist/esm/bh-checkbox-group.entry.js +1 -1
- package/dist/esm/bh-checkbox_2.entry.js +1 -1
- package/dist/esm/bh-container-footer.entry.js +1 -1
- package/dist/esm/bh-container.entry.js +1 -1
- package/dist/esm/bh-data-grid.entry.js +1 -1
- package/dist/esm/bh-date-picker-content.entry.js +1 -1
- package/dist/esm/bh-date-picker.entry.js +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-menu.entry.js +1 -1
- package/dist/esm/bh-dropdown_3.entry.js +1 -1
- package/dist/esm/bh-empty-state_3.entry.js +2 -2
- package/dist/esm/bh-featured-icon.entry.js +1 -1
- package/dist/esm/bh-illustrations.entry.js +1 -1
- package/dist/esm/bh-input-autocomplete.entry.js +1 -1
- 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_2.entry.js +1 -1
- package/dist/esm/bh-input-verification.entry.js +1 -1
- package/dist/esm/{bh-label-fV57YpXm.js → bh-label-PLT7t4We.js} +3 -3
- package/dist/esm/{bh-label-fV57YpXm.js.map → bh-label-PLT7t4We.js.map} +1 -1
- package/dist/esm/bh-label_2.entry.js +2 -2
- package/dist/esm/bh-modal-actions.entry.js +1 -1
- package/dist/esm/bh-modal-header.entry.js +1 -1
- package/dist/esm/bh-modal.entry.js +1 -1
- package/dist/esm/bh-month-picker-content.entry.js +1 -1
- package/dist/esm/bh-month-picker.entry.js +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 +1 -1
- package/dist/esm/bh-page-navigation.entry.js +1 -1
- package/dist/esm/{bh-pagination-BtbbslVs.js → bh-pagination-CUeRSYsV.js} +3 -3
- package/dist/esm/{bh-pagination-BtbbslVs.js.map → bh-pagination-CUeRSYsV.js.map} +1 -1
- package/dist/esm/bh-pie-chart.entry.js +1 -1
- package/dist/esm/bh-popover.entry.js +1 -1
- package/dist/esm/bh-product-switcher.entry.js +1 -1
- package/dist/esm/bh-property-switcher.entry.js +1 -1
- package/dist/esm/bh-sidebar.entry.js +1 -1
- package/dist/esm/bh-tab-item.entry.js +1 -1
- 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 +1 -1
- package/dist/esm/{index-DXAL-jSE.js → index-nAAobRRQ.js} +666 -9
- package/dist/esm/index-nAAobRRQ.js.map +1 -0
- package/dist/esm/index.js +4 -4
- package/dist/esm/loader.js +2 -2
- package/hydrate/index.d.ts +275 -0
- package/hydrate/index.js +33803 -0
- package/hydrate/index.mjs +33795 -0
- package/hydrate/package.json +12 -0
- package/llms.txt +41649 -0
- package/package.json +22 -11
- package/react.d.ts +253 -0
- package/dist/bellhop-core/p-DXAL-jSE.js +0 -3
- package/dist/bellhop-core/p-DXAL-jSE.js.map +0 -1
- package/dist/cjs/index-BVJ_Kket.js.map +0 -1
- package/dist/components/bh-accordion-item.js.map +0 -1
- package/dist/components/bh-accordion.js.map +0 -1
- package/dist/components/bh-appbar.js.map +0 -1
- package/dist/components/bh-avatar-stacked.js.map +0 -1
- package/dist/components/bh-bar-chart.js.map +0 -1
- package/dist/components/bh-card-footer.js +0 -9
- package/dist/components/bh-card-footer.js.map +0 -1
- package/dist/components/bh-card-header.js +0 -9
- package/dist/components/bh-card-header.js.map +0 -1
- package/dist/components/bh-card.js +0 -9
- package/dist/components/bh-card.js.map +0 -1
- package/dist/components/bh-checkbox-group-item.js +0 -9
- package/dist/components/bh-checkbox-group-item.js.map +0 -1
- package/dist/components/bh-checkbox-group.js +0 -9
- package/dist/components/bh-checkbox-group.js.map +0 -1
- package/dist/components/bh-container-footer.js.map +0 -1
- package/dist/components/bh-container.js.map +0 -1
- package/dist/components/bh-data-grid.js +0 -9
- package/dist/components/bh-data-grid.js.map +0 -1
- package/dist/components/bh-date-picker.js.map +0 -1
- package/dist/components/bh-date-range-picker.js.map +0 -1
- package/dist/components/bh-illustrations.js.map +0 -1
- package/dist/components/bh-input-autocomplete.js.map +0 -1
- package/dist/components/bh-input-number.js.map +0 -1
- package/dist/components/bh-input-password.js.map +0 -1
- package/dist/components/bh-input-verification.js.map +0 -1
- package/dist/components/bh-modal-actions.js.map +0 -1
- package/dist/components/bh-modal-header.js.map +0 -1
- package/dist/components/bh-modal.js +0 -9
- package/dist/components/bh-modal.js.map +0 -1
- package/dist/components/bh-month-picker.js.map +0 -1
- package/dist/components/bh-notification.js.map +0 -1
- package/dist/components/bh-page-navigation.js.map +0 -1
- package/dist/components/bh-pie-chart.js.map +0 -1
- package/dist/components/bh-popover.js.map +0 -1
- package/dist/components/bh-property-switcher.js.map +0 -1
- package/dist/components/bh-sidebar.js.map +0 -1
- package/dist/components/bh-tab-item.js.map +0 -1
- package/dist/components/bh-tabs.js.map +0 -1
- package/dist/components/bh-textarea.js.map +0 -1
- package/dist/components/bh-toggle.js +0 -9
- package/dist/components/bh-toggle.js.map +0 -1
- package/dist/components/bh-trend-chart.js.map +0 -1
- package/dist/components/index.d.ts +0 -33
- package/dist/components/index.js +0 -17
- package/dist/components/index.js.map +0 -1
- package/dist/components/p-5LJWVh2v.js.map +0 -1
- package/dist/components/p-B2edfvL2.js.map +0 -1
- package/dist/components/p-B7eVYv2t.js.map +0 -1
- package/dist/components/p-B8MWhPHT.js.map +0 -1
- package/dist/components/p-BFhwq3_y.js.map +0 -1
- package/dist/components/p-BNeBcvHu.js.map +0 -1
- package/dist/components/p-BOk69MBi.js.map +0 -1
- package/dist/components/p-BZELvMID.js.map +0 -1
- package/dist/components/p-BaLh9-zk.js.map +0 -1
- package/dist/components/p-BpXkE6y8.js.map +0 -1
- package/dist/components/p-Bs2Z3XIQ.js.map +0 -1
- package/dist/components/p-C69LfZib.js.map +0 -1
- package/dist/components/p-C97e5uAI.js.map +0 -1
- package/dist/components/p-CK89kJIU.js.map +0 -1
- package/dist/components/p-CMomxDPL.js.map +0 -1
- package/dist/components/p-CWGpUs1b.js.map +0 -1
- package/dist/components/p-CbeeTFys.js.map +0 -1
- package/dist/components/p-Ccq-Rk5W.js.map +0 -1
- package/dist/components/p-CePuvH9t.js.map +0 -1
- package/dist/components/p-ChfLhYiJ.js.map +0 -1
- package/dist/components/p-Cu6Uuaq7.js.map +0 -1
- package/dist/components/p-D-RHfFhc.js.map +0 -1
- package/dist/components/p-D6w8lxZi.js.map +0 -1
- package/dist/components/p-DAp7fLS-.js.map +0 -1
- package/dist/components/p-DIeMf4U9.js.map +0 -1
- package/dist/components/p-DK92X9HV.js.map +0 -1
- package/dist/components/p-DOaC_o63.js.map +0 -1
- package/dist/components/p-DQUicoqi.js.map +0 -1
- package/dist/components/p-DURWm67o.js.map +0 -1
- package/dist/components/p-DW54267I.js.map +0 -1
- package/dist/components/p-DcoR-p0a.js.map +0 -1
- package/dist/components/p-Df5drD7C.js.map +0 -1
- package/dist/components/p-DkGh2r0W.js.map +0 -1
- package/dist/components/p-Dm3E-tB8.js.map +0 -1
- package/dist/components/p-DsCDXclM.js.map +0 -1
- package/dist/components/p-DtbXB8r4.js.map +0 -1
- package/dist/components/p-DufL1yr4.js.map +0 -1
- package/dist/components/p-SkkbcLa0.js.map +0 -1
- package/dist/components/p-dlKpBGSA.js.map +0 -1
- package/dist/components/p-kd43PSY6.js.map +0 -1
- package/dist/components/p-uG5vRdFz.js.map +0 -1
- package/dist/esm/index-DXAL-jSE.js.map +0 -1
- /package/{dist/components → components}/bh-autocomplete-menu.js.map +0 -0
- /package/{dist/components → components}/bh-avatar-add.js.map +0 -0
- /package/{dist/components → components}/bh-avatar.js.map +0 -0
- /package/{dist/components → components}/bh-badge-dot.js.map +0 -0
- /package/{dist/components → components}/bh-badge.js.map +0 -0
- /package/{dist/components → components}/bh-breadcrumbs.js.map +0 -0
- /package/{dist/components → components}/bh-button-icon.js.map +0 -0
- /package/{dist/components → components}/bh-button.js.map +0 -0
- /package/{dist/components → components}/bh-chart-tooltip.js.map +0 -0
- /package/{dist/components → components}/bh-checkbox.js.map +0 -0
- /package/{dist/components → components}/bh-date-picker-content.js.map +0 -0
- /package/{dist/components → components}/bh-date-range-picker-content.js.map +0 -0
- /package/{dist/components → components}/bh-dropdown-menu.js.map +0 -0
- /package/{dist/components → components}/bh-dropdown.js.map +0 -0
- /package/{dist/components → components}/bh-empty-state.js.map +0 -0
- /package/{dist/components → components}/bh-featured-icon.js.map +0 -0
- /package/{dist/components → components}/bh-input-text.js.map +0 -0
- /package/{dist/components → components}/bh-label.js.map +0 -0
- /package/{dist/components → components}/bh-loader-spinner.js.map +0 -0
- /package/{dist/components → components}/bh-logo-box.js.map +0 -0
- /package/{dist/components → components}/bh-month-picker-content.js.map +0 -0
- /package/{dist/components → components}/bh-nav-item.js.map +0 -0
- /package/{dist/components → components}/bh-page-navigation-child.js.map +0 -0
- /package/{dist/components → components}/bh-page-navigation-multi-level.js.map +0 -0
- /package/{dist/components → components}/bh-page-navigation-single-level.js.map +0 -0
- /package/{dist/components → components}/bh-pagination.js.map +0 -0
- /package/{dist/components → components}/bh-picker-menu.js.map +0 -0
- /package/{dist/components → components}/bh-product-switcher.js.map +0 -0
- /package/{dist/components → components}/bh-radio-button.js.map +0 -0
- /package/{dist/components → components}/bh-skeleton-loader.js.map +0 -0
- /package/{dist/components → components}/bh-tag.js.map +0 -0
- /package/{dist/components → components}/bh-tooltip.js.map +0 -0
- /package/{dist/components → components}/p-2KjdCYlS.js +0 -0
- /package/{dist/components → components}/p-2KjdCYlS.js.map +0 -0
- /package/dist/bellhop-core/{p-2c796978.entry.js.map → p-07c9b7fa.entry.js.map} +0 -0
- /package/dist/bellhop-core/{p-496fca9b.entry.js.map → p-091171da.entry.js.map} +0 -0
- /package/dist/bellhop-core/{p-03e93cd8.entry.js.map → p-09a50860.entry.js.map} +0 -0
- /package/dist/bellhop-core/{p-3719852a.entry.js.map → p-0e34250c.entry.js.map} +0 -0
- /package/dist/bellhop-core/{p-cdd593fb.entry.js.map → p-11a6e5fc.entry.js.map} +0 -0
- /package/dist/bellhop-core/{p-870fc023.entry.js.map → p-1540001e.entry.js.map} +0 -0
- /package/dist/bellhop-core/{p-09f3464e.entry.js.map → p-1b670545.entry.js.map} +0 -0
- /package/dist/bellhop-core/{p-8981025c.entry.js.map → p-1be3e908.entry.js.map} +0 -0
- /package/dist/bellhop-core/{p-e86780b6.entry.js.map → p-21bc4f77.entry.js.map} +0 -0
- /package/dist/bellhop-core/{p-2310cb6e.entry.js.map → p-233540f9.entry.js.map} +0 -0
- /package/dist/bellhop-core/{p-0438e0a9.entry.js.map → p-272afebb.entry.js.map} +0 -0
- /package/dist/bellhop-core/{p-860be0be.entry.js.map → p-2db7990e.entry.js.map} +0 -0
- /package/dist/bellhop-core/{p-10967cab.entry.js.map → p-3194a87d.entry.js.map} +0 -0
- /package/dist/bellhop-core/{p-e99bc91a.entry.js.map → p-3255019b.entry.js.map} +0 -0
- /package/dist/bellhop-core/{p-56b857f5.entry.js.map → p-36166900.entry.js.map} +0 -0
- /package/dist/bellhop-core/{p-686dea4a.entry.js.map → p-3a1c52a9.entry.js.map} +0 -0
- /package/dist/bellhop-core/{p-58879213.entry.js.map → p-43c41dfb.entry.js.map} +0 -0
- /package/dist/bellhop-core/{p-dcaa20e2.entry.js.map → p-442121f3.entry.js.map} +0 -0
- /package/dist/bellhop-core/{p-4a14cbb5.entry.js.map → p-49edd1bb.entry.js.map} +0 -0
- /package/dist/bellhop-core/{p-20d680ce.entry.js.map → p-4a8844ff.entry.js.map} +0 -0
- /package/dist/bellhop-core/{p-f6e1b47c.entry.js.map → p-4e483d25.entry.js.map} +0 -0
- /package/dist/bellhop-core/{p-b546cd23.entry.js.map → p-5514d7fb.entry.js.map} +0 -0
- /package/dist/bellhop-core/{p-5760ce66.entry.js.map → p-5c4f74b8.entry.js.map} +0 -0
- /package/dist/bellhop-core/{p-90b9047d.entry.js.map → p-5f92cb28.entry.js.map} +0 -0
- /package/dist/bellhop-core/{p-e190ac50.entry.js.map → p-62235d6e.entry.js.map} +0 -0
- /package/dist/bellhop-core/{p-f7c7416d.entry.js.map → p-67956598.entry.js.map} +0 -0
- /package/dist/bellhop-core/{p-d4bfd30d.entry.js.map → p-6bc81ebb.entry.js.map} +0 -0
- /package/dist/bellhop-core/{p-c8fb7f34.entry.js.map → p-6e8dd0f7.entry.js.map} +0 -0
- /package/dist/bellhop-core/{p-abe24947.entry.js.map → p-7a85db89.entry.js.map} +0 -0
- /package/dist/bellhop-core/{p-87fb26a0.entry.js.map → p-7b0cba50.entry.js.map} +0 -0
- /package/dist/bellhop-core/{p-363dce47.entry.js.map → p-80e07b3d.entry.js.map} +0 -0
- /package/dist/bellhop-core/{p-ef47dcd1.entry.js.map → p-83443918.entry.js.map} +0 -0
- /package/dist/bellhop-core/{p-859f45da.entry.js.map → p-8962e1a6.entry.js.map} +0 -0
- /package/dist/bellhop-core/{p-70ee270c.entry.js.map → p-8bf6364f.entry.js.map} +0 -0
- /package/dist/bellhop-core/{p-e9ed7c17.entry.js.map → p-8cd61bd8.entry.js.map} +0 -0
- /package/dist/bellhop-core/{p-5ab50add.entry.js.map → p-9a19cbf7.entry.js.map} +0 -0
- /package/dist/bellhop-core/{p-239c7e6b.entry.js.map → p-9bf79c21.entry.js.map} +0 -0
- /package/dist/bellhop-core/{p-6433b0a7.entry.js.map → p-a30e22f7.entry.js.map} +0 -0
- /package/dist/bellhop-core/{p-086e8c86.entry.js.map → p-a41b3673.entry.js.map} +0 -0
- /package/dist/bellhop-core/{p-b7801d25.entry.js.map → p-a42e8ddb.entry.js.map} +0 -0
- /package/dist/bellhop-core/{p-67452ed0.entry.js.map → p-afd85291.entry.js.map} +0 -0
- /package/dist/bellhop-core/{p-356a2ed7.entry.js.map → p-b0dda4df.entry.js.map} +0 -0
- /package/dist/bellhop-core/{p-ab9c5351.entry.js.map → p-b878539a.entry.js.map} +0 -0
- /package/dist/bellhop-core/{p-69f85850.entry.js.map → p-bd00d5ad.entry.js.map} +0 -0
- /package/dist/bellhop-core/{p-b1cb34e9.entry.js.map → p-c0e36166.entry.js.map} +0 -0
- /package/dist/bellhop-core/{p-ab2b037c.entry.js.map → p-c33f6e73.entry.js.map} +0 -0
- /package/dist/bellhop-core/{p-44241bad.entry.js.map → p-c70d11a2.entry.js.map} +0 -0
- /package/dist/bellhop-core/{p-94d2d599.entry.js.map → p-c9ac177b.entry.js.map} +0 -0
- /package/dist/bellhop-core/{p-9a585c1a.entry.js.map → p-c9f7d922.entry.js.map} +0 -0
- /package/dist/bellhop-core/{p-adcd2e15.entry.js.map → p-cf412873.entry.js.map} +0 -0
- /package/dist/bellhop-core/{p-afd0e309.entry.js.map → p-d5bf49ab.entry.js.map} +0 -0
- /package/dist/bellhop-core/{p-f5468da0.entry.js.map → p-defe9916.entry.js.map} +0 -0
- /package/dist/bellhop-core/{p-23b74b40.entry.js.map → p-df4498cd.entry.js.map} +0 -0
- /package/dist/bellhop-core/{p-57ac382d.entry.js.map → p-efd3dfed.entry.js.map} +0 -0
- /package/dist/bellhop-core/{p-52e877e0.entry.js.map → p-f85a9eaa.entry.js.map} +0 -0
- /package/dist/bellhop-core/{p-dd43d560.entry.js.map → p-ffb29d95.entry.js.map} +0 -0
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"file":"p-BFhwq3_y.js","mappings":"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","names":["__stencil_proxyCustomElement","HTMLElement"],"sources":["src/components/bh-button/bh-button.css?tag=bh-button&encapsulation=shadow","src/components/bh-button/bh-button.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 = 'md';\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"],"version":3}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"file":"p-BNeBcvHu.js","mappings":";;;;;AAAA,MAAM,eAAe,GAAG,ikCAAikC;;MCU5kC,YAAY,iBAAAA,kBAAA,CAAA,MAAA,YAAA,SAAAC,CAAA,CAAA;;;;;;;;;AACvB;;AAEG;IACK,gBAAgB,GAAY,IAAI;AAExC;;AAEG;IACK,YAAY,GAAW,MAAM;AAErC;;AAEG;IACK,iBAAiB,GAAgC,UAAU;AAEnE;;AAEG;IACK,iBAAiB,GAAgC,MAAM;AAE/D;;AAEG;IACK,SAAS,GAAY,IAAI;AAEjC;;AAEG;IACK,WAAW,GAAW,YAAY;AAE1C;;AAEG;IACK,SAAS,GAAY,KAAK;AAElC;;AAEG;IACK,SAAS,GAAW,EAAE;AAE9B;;AAEG;IACK,kBAAkB,GAAY,IAAI;AAE1C;;AAEG;IACK,cAAc,GAAW,kBAAkB;AAEnD;;AAEG;IACK,YAAY,GAAY,IAAI;AAEpC;;AAEG;IACK,WAAW,GAAY,IAAI;AAEnC;;AAEG;AACM,IAAA,eAAe;IAEhB,mBAAmB,GAAG,MAAK;AACjC,QAAA,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE;AAC7B,KAAC;IAED,MAAM,GAAA;AACJ,QAAA,QACE,EAAC,IAAI,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,EACH,CAAK,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,aAAa,EAAA,EACtB,CAAK,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,qBAAqB,EAAA,EAC9B,CAAK,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,4BAA4B,EAAA,EACrC,CAAK,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,uBAAuB,EAAA,EAC/B,IAAI,CAAC,gBAAgB,KACpB,CAAA,CAAA,kBAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EACE,IAAI,EAAC,IAAI,EACT,IAAI,EAAE,IAAI,CAAC,YAAY,EACvB,SAAS,EAAE,IAAI,CAAC,iBAAiB,EACjC,KAAK,EAAE,IAAI,CAAC,iBAAiB,EAAA,CAC7B,CACH,EACA,IAAI,CAAC,SAAS,KACb,CAAM,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,mBAAmB,EAAE,EAAA,IAAI,CAAC,WAAW,CAAQ,CAC1D,EACA,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,SAAS,KAC/B,CACE,CAAA,UAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,OAAO,EAAC,MAAM,EACd,IAAI,EAAC,IAAI,EACT,QAAQ,EAAC,QAAQ,EACjB,KAAK,EAAE,IAAI,CAAC,SAAS,EACrB,CAAA,CACH,CACG,EACL,IAAI,CAAC,kBAAkB,KACtB,CAAK,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,4BAA4B,EAAA,EACpC,IAAI,CAAC,gBAAgB,IAAI,4DAAK,KAAK,EAAC,oBAAoB,EAAG,CAAA,EAC5D,CAAM,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,6BAA6B,EAAE,EAAA,IAAI,CAAC,cAAc,CAAQ,CAClE,CACP,CACG,EACL,IAAI,CAAC,YAAY,KAChB,CACE,CAAA,gBAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,SAAS,EAAC,YAAY,EACtB,IAAI,EAAC,IAAI,EACT,QAAQ,EAAC,WAAW,EACpB,SAAS,EAAC,cAAc,EACxB,SAAS,EAAE,IAAI,CAAC,mBAAmB,EACnC,CAAA,CACH,CACG,EACN,CAAM,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,IAAI,EAAC,MAAM,EAAG,CAAA,EACnB,IAAI,CAAC,WAAW,IAAI,CAAK,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,qBAAqB,EAAG,CAAA,CACpD,CACD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":["__stencil_proxyCustomElement","HTMLElement"],"sources":["src/components/bh-card-header/bh-card-header.css?tag=bh-card-header&encapsulation=shadow","src/components/bh-card-header/bh-card-header.tsx"],"sourcesContent":[":host {\n display: block;\n}\n\n.card-header {\n display: flex;\n flex-direction: column;\n gap: var(--spacing-lg);\n background: var(--color-white);\n}\n\n.card-header-content {\n display: flex;\n gap: var(--spacing-md);\n align-items: flex-start;\n padding: var(--spacing-lg) var(--spacing-xl) 0 var(--spacing-xl);\n}\n\n.card-header-text-container {\n display: flex;\n flex-direction: column;\n flex: 1 0 0;\n gap: var(--spacing-xxs);\n min-width: 0;\n}\n\n.card-header-title-row {\n display: flex;\n align-items: center;\n gap: var(--spacing-lg);\n}\n\n.card-header-title {\n font-family: var(--font-inter);\n font-size: var(--text-md-size);\n font-weight: var(--weight-semibold);\n line-height: var(--text-md-line);\n color: var(--color-neutral-900);\n}\n\n.card-header-supporting-row {\n display: flex;\n align-items: center;\n gap: var(--spacing-lg);\n width: 100%;\n}\n\n.card-header-spacer {\n width: 32px;\n flex-shrink: 0;\n}\n\n.card-header-supporting-text {\n flex: 1 0 0;\n font-family: var(--font-inter);\n font-size: var(--text-sm-size);\n font-weight: var(--weight-regular);\n line-height: var(--text-sm-line);\n color: var(--color-neutral-500);\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.card-header-divider {\n height: 1px;\n background: var(--color-neutral-200);\n}\n","import { Component, Prop, Event, EventEmitter, h, Host } from '@stencil/core';\n\nexport type CardHeaderFeaturedIconStyle = 'outlined' | 'filled';\nexport type CardHeaderFeaturedIconColor = 'brand' | 'gray' | 'error' | 'warning' | 'success' | 'highlight';\n\n@Component({\n tag: 'bh-card-header',\n styleUrl: 'bh-card-header.css',\n shadow: true,\n})\nexport class BhCardHeader {\n /**\n * Whether to show the featured icon\n */\n @Prop() showFeaturedIcon: boolean = true;\n\n /**\n * The Material Symbol icon name for the featured icon\n */\n @Prop() featuredIcon: string = 'star';\n\n /**\n * The style of the featured icon\n */\n @Prop() featuredIconStyle: CardHeaderFeaturedIconStyle = 'outlined';\n\n /**\n * The color of the featured icon\n */\n @Prop() featuredIconColor: CardHeaderFeaturedIconColor = 'gray';\n\n /**\n * Whether to show the title\n */\n @Prop() showTitle: boolean = true;\n\n /**\n * The title text\n */\n @Prop() headerTitle: string = 'Card title';\n\n /**\n * Whether to show the badge\n */\n @Prop() showBadge: boolean = false;\n\n /**\n * The badge text\n */\n @Prop() badgeText: string = '';\n\n /**\n * Whether to show the supporting text\n */\n @Prop() showSupportingText: boolean = true;\n\n /**\n * The supporting text (description)\n */\n @Prop() supportingText: string = 'Card description';\n\n /**\n * Whether to show the dropdown menu button\n */\n @Prop() showDropdown: boolean = true;\n\n /**\n * Whether to show the divider\n */\n @Prop() showDivider: boolean = true;\n\n /**\n * Emitted when the dropdown button is clicked\n */\n @Event() bhDropdownClick!: EventEmitter<void>;\n\n private handleDropdownClick = () => {\n this.bhDropdownClick.emit();\n };\n\n render() {\n return (\n <Host>\n <div class=\"card-header\">\n <div class=\"card-header-content\">\n <div class=\"card-header-text-container\">\n <div class=\"card-header-title-row\">\n {this.showFeaturedIcon && (\n <bh-featured-icon\n size=\"sm\"\n icon={this.featuredIcon}\n iconStyle={this.featuredIconStyle}\n color={this.featuredIconColor}\n />\n )}\n {this.showTitle && (\n <span class=\"card-header-title\">{this.headerTitle}</span>\n )}\n {this.showBadge && this.badgeText && (\n <bh-badge\n variant=\"blue\"\n size=\"sm\"\n emphasis=\"medium\"\n label={this.badgeText}\n />\n )}\n </div>\n {this.showSupportingText && (\n <div class=\"card-header-supporting-row\">\n {this.showFeaturedIcon && <div class=\"card-header-spacer\" />}\n <span class=\"card-header-supporting-text\">{this.supportingText}</span>\n </div>\n )}\n </div>\n {this.showDropdown && (\n <bh-button-icon\n hierarchy=\"quaternary\"\n size=\"sm\"\n iconName=\"more_vert\"\n ariaLabel=\"More options\"\n onBhClick={this.handleDropdownClick}\n />\n )}\n </div>\n <slot name=\"tabs\" />\n {this.showDivider && <div class=\"card-header-divider\" />}\n </div>\n </Host>\n );\n }\n}\n"],"version":3}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"file":"p-BOk69MBi.js","mappings":"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","names":["__stencil_proxyCustomElement","HTMLElement"],"sources":["src/components/bh-checkbox-group/bh-checkbox-group.css?tag=bh-checkbox-group&encapsulation=shadow","src/components/bh-checkbox-group/bh-checkbox-group.tsx"],"sourcesContent":[":host {\n display: block;\n}\n\n.checkbox-group {\n display: flex;\n flex-direction: column;\n gap: var(--spacing-lg);\n width: 100%;\n}\n","import { Component, Prop, Event, EventEmitter, h, Host, Listen, Element } from '@stencil/core';\n\nexport type CheckboxGroupType = 'checkbox' | 'radio' | 'icon-simple';\n\n@Component({\n tag: 'bh-checkbox-group',\n styleUrl: 'bh-checkbox-group.css',\n shadow: true,\n})\nexport class BhCheckboxGroup {\n @Element() el!: HTMLElement;\n\n /**\n * The type of input controls in the group\n */\n @Prop() type: CheckboxGroupType = 'checkbox';\n\n /**\n * The name for radio group (required for radio type)\n */\n @Prop() name: string = '';\n\n /**\n * Current selected value(s)\n * For checkbox: array of values\n * For radio: single value string\n */\n @Prop({ mutable: true }) value: string | string[] = [];\n\n /**\n * Whether all items in the group are disabled\n */\n @Prop() disabled: boolean = false;\n\n /**\n * Emitted when selection changes\n */\n @Event() bhChange!: EventEmitter<string | string[]>;\n\n @Listen('bhItemChange')\n handleItemChange(event: CustomEvent<{ value: string; checked: boolean }>) {\n event.stopPropagation();\n const { value: itemValue, checked } = event.detail;\n\n if (this.type === 'radio' || this.type === 'icon-simple') {\n // Radio behavior: only one can be selected\n if (checked) {\n this.value = itemValue;\n this.updateChildItems();\n this.bhChange.emit(this.value);\n }\n } else {\n // Checkbox behavior: multiple can be selected\n const currentValues = Array.isArray(this.value) ? [...this.value] : [];\n\n if (checked) {\n if (!currentValues.includes(itemValue)) {\n currentValues.push(itemValue);\n }\n } else {\n const index = currentValues.indexOf(itemValue);\n if (index > -1) {\n currentValues.splice(index, 1);\n }\n }\n\n this.value = currentValues;\n this.bhChange.emit(this.value);\n }\n }\n\n componentDidLoad() {\n this.updateChildItems();\n }\n\n private updateChildItems() {\n const items = this.el.querySelectorAll('bh-checkbox-group-item');\n\n items.forEach((item: HTMLBhCheckboxGroupItemElement) => {\n // Set type from group\n item.type = this.type;\n\n // Set name for radio groups\n if (this.type === 'radio' || this.type === 'icon-simple') {\n item.name = this.name;\n }\n\n // Set disabled state\n if (this.disabled) {\n item.disabled = true;\n }\n\n // Update selection state\n if (this.type === 'radio' || this.type === 'icon-simple') {\n item.selected = item.value === this.value;\n item.checked = false;\n } else {\n const values = Array.isArray(this.value) ? this.value : [];\n item.checked = values.includes(item.value);\n item.selected = false;\n }\n });\n }\n\n render() {\n const role = this.type === 'radio' || this.type === 'icon-simple' ? 'radiogroup' : 'group';\n\n return (\n <Host>\n <div\n class=\"checkbox-group\"\n role={role}\n aria-disabled={this.disabled ? 'true' : null}\n >\n <slot />\n </div>\n </Host>\n );\n }\n}\n"],"version":3}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"file":"p-BZELvMID.js","mappings":"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","names":["__stencil_proxyCustomElement","HTMLElement"],"sources":["src/components/bh-radio-button/bh-radio-button.css?tag=bh-radio-button&encapsulation=shadow","src/components/bh-radio-button/bh-radio-button.tsx"],"sourcesContent":["/* ==========================================================================\n BH-RADIO-BUTTON COMPONENT STYLES\n ========================================================================== */\n\n:host {\n display: inline-block;\n font-family: var(--font-inter, 'Inter', -apple-system, BlinkMacSystemFont, sans-serif);\n}\n\n/* ==========================================================================\n RADIO BUTTON STYLES\n ========================================================================== */\n\n.radio {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n cursor: pointer;\n outline: none;\n user-select: none;\n transition: background-color 0.3s cubic-bezier(0.4, 0, 0.2, 1),\n border-color 0.3s cubic-bezier(0.4, 0, 0.2, 1), box-shadow 0.2s ease;\n box-sizing: border-box;\n background: var(--color-white);\n border: 2px solid var(--color-neutral-300);\n border-radius: var(--radius-full);\n position: relative;\n flex-shrink: 0;\n}\n\n/* Size Variants */\n.radio-sm {\n width: 16px;\n height: 16px;\n}\n\n.radio-md {\n width: 20px;\n height: 20px;\n}\n\n/* State: Selected */\n.radio.radio-selected {\n background: var(--color-brand-600);\n border-color: var(--color-brand-600);\n animation: fillExpand 0.3s cubic-bezier(0.4, 0, 0.2, 1);\n}\n\n/* State: Hover */\n.radio:hover:not(.radio-disabled) {\n background: var(--color-neutral-100);\n border-color: var(--color-neutral-300);\n}\n\n.radio.radio-selected:hover:not(.radio-disabled) {\n background: var(--color-brand-600);\n border-color: var(--color-brand-600);\n}\n\n/* State: Focused */\n.radio.radio-focused:not(.radio-disabled) {\n border-color: var(--color-neutral-300);\n box-shadow: 0px 0px 0px 4px var(--color-brand-100),\n 0px 0px 0px 2px var(--color-white);\n}\n\n.radio.radio-selected.radio-focused:not(.radio-disabled) {\n background: var(--color-brand-600);\n border-color: var(--color-brand-600);\n box-shadow: 0px 0px 0px 4px var(--color-brand-100),\n 0px 0px 0px 2px var(--color-white);\n}\n\n/* State: Disabled */\n.radio.radio-disabled {\n background: var(--color-neutral-50);\n border-color: var(--color-neutral-300);\n cursor: not-allowed;\n opacity: 1;\n}\n\n.radio.radio-selected.radio-disabled {\n background: var(--color-neutral-50);\n border: 2px solid var(--color-neutral-300);\n}\n\n/* Radio Dot (inner circle) */\n.radio-dot {\n width: 6px;\n height: 6px;\n border-radius: var(--radius-full);\n background: var(--color-white);\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n}\n\n/* Radio Dot for small size */\n.radio-sm .radio-dot {\n width: 4px;\n height: 4px;\n}\n\n/* Disabled radio dot */\n.radio-disabled .radio-dot {\n background: var(--color-neutral-300);\n}\n\n/* Focus outline for accessibility */\n.radio:focus {\n outline: none;\n}\n\n.radio:focus:not(.radio-disabled) {\n box-shadow: 0px 0px 0px 4px var(--color-brand-100),\n 0px 0px 0px 2px var(--color-white);\n}\n\n/* Animation for fill effect */\n@keyframes fillExpand {\n 0% {\n transform: scale(0.95);\n }\n 50% {\n transform: scale(1.05);\n }\n 100% {\n transform: scale(1);\n }\n}\n\n/* ==========================================================================\n RADIO CONTROL AND WRAPPER STYLES\n ========================================================================== */\n\n.radio-wrapper {\n display: inline-block;\n}\n\n.radio-control {\n display: inline-flex;\n align-items: flex-start;\n cursor: pointer;\n outline: none;\n}\n\n.radio-wrapper-disabled .radio-control {\n cursor: not-allowed;\n}\n\n/* Adjust radio position when with label */\n.radio-wrapper-with-label .radio-sm {\n margin-top: 3px;\n}\n\n.radio-wrapper-with-label .radio-md {\n margin-top: 2px;\n}\n","import { Component, Prop, State, Event, EventEmitter, h, AttachInternals } from '@stencil/core';\nimport { syncCheckableFormValue } from '../../utils/form';\n\nexport type RadioButtonSize = 'sm' | 'md';\n\n@Component({\n tag: 'bh-radio-button',\n styleUrl: 'bh-radio-button.css',\n shadow: true,\n formAssociated: true,\n})\nexport class BhRadioButton {\n @AttachInternals() internals!: ElementInternals;\n /**\n * The size of the radio button\n */\n @Prop() size: RadioButtonSize = 'md';\n\n /**\n * Whether the radio button is selected\n */\n @Prop({ mutable: true }) selected: boolean = false;\n\n /**\n * Whether the radio button is disabled\n */\n @Prop() disabled: boolean = false;\n\n /**\n * The value associated with this radio button\n */\n @Prop() value: string = '';\n\n /**\n * The name of the radio group\n */\n @Prop() name: string = '';\n\n /**\n * Optional label text - when provided, renders radio with label\n */\n @Prop() label: string = '';\n\n /**\n * Optional supporting text below the label\n */\n @Prop() supportingText: string = '';\n\n /**\n * Track focus state internally\n */\n @State() isFocused: boolean = false;\n\n /**\n * Track hover state internally\n */\n @State() isHovered: boolean = false;\n\n /**\n * Emitted when the radio button selection changes\n */\n @Event() bhChange!: EventEmitter<string>;\n\n componentDidLoad() {\n syncCheckableFormValue(this.internals, this.name, this.selected, this.value);\n }\n\n formResetCallback() {\n this.selected = false;\n syncCheckableFormValue(this.internals, this.name, this.selected, this.value);\n }\n\n private handleClick = (): void => {\n if (this.disabled || this.selected) return;\n\n this.selected = true;\n syncCheckableFormValue(this.internals, this.name, this.selected, this.value);\n this.bhChange.emit(this.value);\n };\n\n private handleKeyDown = (event: KeyboardEvent): void => {\n if (event.key === ' ' || event.key === 'Enter') {\n event.preventDefault();\n this.handleClick();\n }\n };\n\n private handleFocus = (): void => {\n this.isFocused = true;\n };\n\n private handleBlur = (): void => {\n this.isFocused = false;\n };\n\n private handleMouseEnter = (): void => {\n this.isHovered = true;\n };\n\n private handleMouseLeave = (): void => {\n this.isHovered = false;\n };\n\n private uniqueId = `bh-radio-${Math.random().toString(36).substring(2, 9)}`;\n\n private renderRadioControl() {\n const radioClasses = {\n 'radio': true,\n [`radio-${this.size}`]: true,\n 'radio-selected': this.selected,\n 'radio-disabled': this.disabled,\n 'radio-focused': this.isFocused && !this.disabled,\n 'radio-hover': this.isHovered && !this.disabled,\n };\n\n return (\n <div\n class=\"radio-control\"\n onClick={this.handleClick}\n onKeyDown={this.handleKeyDown}\n onMouseEnter={this.handleMouseEnter}\n onMouseLeave={this.handleMouseLeave}\n onFocus={this.handleFocus}\n onBlur={this.handleBlur}\n tabIndex={this.disabled ? -1 : 0}\n role=\"radio\"\n aria-checked={String(this.selected)}\n aria-disabled={String(this.disabled)}\n >\n <div class={radioClasses} part=\"radio\">\n {this.selected && <div class=\"radio-dot\"></div>}\n </div>\n </div>\n );\n }\n\n render() {\n const hasLabel = this.label || this.supportingText;\n\n const wrapperClasses = {\n 'radio-wrapper': true,\n 'radio-wrapper-with-label': !!hasLabel,\n 'radio-wrapper-disabled': this.disabled,\n };\n\n // Render with bh-label when label/supportingText is provided\n if (hasLabel) {\n return (\n <div class={wrapperClasses} part=\"wrapper\">\n <bh-label\n layout=\"inline-start\"\n label={this.label}\n supportingText={this.supportingText}\n disabled={this.disabled}\n for={this.uniqueId}\n >\n {this.renderRadioControl()}\n </bh-label>\n </div>\n );\n }\n\n // Standalone radio button without label\n return (\n <div class={wrapperClasses} part=\"wrapper\">\n {this.renderRadioControl()}\n </div>\n );\n }\n}\n"],"version":3}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"file":"p-BaLh9-zk.js","mappings":";;AAAA,MAAM,mBAAmB,GAAG,8lBAA8lB;;MCO7mB,gBAAgB,iBAAAA,kBAAA,CAAA,MAAA,gBAAA,SAAAC,CAAA,CAAA;;;;;;;;AAC3B;;AAEG;IACK,KAAK,GAAW,MAAM;AAE9B;;AAEG;IACK,MAAM,GAAW,KAAK;AAE9B;;AAEG;IACK,MAAM,GAAY,KAAK;IAE/B,MAAM,GAAA;AACJ,QAAA,MAAM,eAAe,GAAG;AACtB,YAAA,UAAU,EAAE,IAAI;YAChB,iBAAiB,EAAE,IAAI,CAAC,MAAM;SAC/B;AAED,QAAA,QACE,CAAA,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EACE,KAAK,EAAE,eAAe,EACtB,KAAK,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,EACjD,IAAI,EAAC,QAAQ,EACH,WAAA,EAAA,QAAQ,EACR,WAAA,EAAA,MAAM,EAChB,IAAI,EAAC,UAAU,EAAA,EAEf,CAAA,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAM,KAAK,EAAC,iBAAiB,EAAkB,EAAA,YAAA,CAAA,CAC1C;;;;;;;;;;;;;;;;;;;;;;;;;","names":["__stencil_proxyCustomElement","HTMLElement"],"sources":["src/components/bh-skeleton-loader/bh-skeleton-loader.css?tag=bh-skeleton-loader&encapsulation=shadow","src/components/bh-skeleton-loader/bh-skeleton-loader.tsx"],"sourcesContent":["/* ==========================================================================\n BH-SKELETON-LOADER COMPONENT STYLES\n ========================================================================== */\n\n:host {\n display: inline-block;\n}\n\n.skeleton {\n display: inline-block;\n background: linear-gradient(\n 90deg,\n rgba(0, 0, 0, 0.06) 25%,\n rgba(0, 0, 0, 0.03) 50%,\n rgba(0, 0, 0, 0.06) 75%\n );\n background-size: 400% 100%;\n animation: shimmer 1.5s ease-in-out infinite;\n border-radius: var(--radius-sm);\n line-height: 1;\n}\n\n.skeleton-circle {\n border-radius: 50%;\n}\n\n.skeleton::before {\n content: '\\00a0';\n}\n\n@keyframes shimmer {\n 0% {\n background-position: 100% 50%;\n }\n 100% {\n background-position: 0 50%;\n }\n}\n\n.visually-hidden {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n white-space: nowrap;\n border: 0;\n}\n","import { Component, Prop, h } from '@stencil/core';\n\n@Component({\n tag: 'bh-skeleton-loader',\n styleUrl: 'bh-skeleton-loader.css',\n shadow: true,\n})\nexport class BhSkeletonLoader {\n /**\n * Width of the skeleton (CSS value)\n */\n @Prop() width: string = '100%';\n\n /**\n * Height of the skeleton (CSS value)\n */\n @Prop() height: string = '1em';\n\n /**\n * Whether the skeleton should be circular\n */\n @Prop() circle: boolean = false;\n\n render() {\n const skeletonClasses = {\n 'skeleton': true,\n 'skeleton-circle': this.circle,\n };\n\n return (\n <span\n class={skeletonClasses}\n style={{ width: this.width, height: this.height }}\n role=\"status\"\n aria-live=\"polite\"\n aria-busy=\"true\"\n part=\"skeleton\"\n >\n <span class=\"visually-hidden\">Loading...</span>\n </span>\n );\n }\n}\n"],"version":3}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"file":"p-BpXkE6y8.js","mappings":";;AAAA,MAAM,UAAU,GAAG,ipPAAipP;;MCWvpP,OAAO,iBAAAA,kBAAA,CAAA,MAAA,OAAA,SAAAC,CAAA,CAAA;;;;;;;;;AAClB;;AAEG;IACK,OAAO,GAAiB,MAAM;AAEtC;;AAEG;IACK,IAAI,GAAc,IAAI;AAE9B;;AAEG;IACK,QAAQ,GAAkB,MAAM;AAExC;;AAEG;IACK,KAAK,GAAW,OAAO;AAE/B;;AAEG;AACK,IAAA,IAAI;AAEZ;;AAEG;IACK,WAAW,GAAY,KAAK;AAEpC;;AAEG;IACK,QAAQ,GAAY,KAAK;AAEjC;;AAEG;AACM,IAAA,SAAS;AAEV,IAAA,aAAa,GAAG,CAAC,CAAa,KAAU;QAC9C,CAAC,CAAC,eAAe,EAAE;QACnB,IAAI,IAAI,CAAC,WAAW,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;AACtC,YAAA,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE;;AAEzB,KAAC;IAED,MAAM,GAAA;AACJ,QAAA,MAAM,YAAY,GAAG;AACnB,YAAA,OAAO,EAAE,IAAI;AACb,YAAA,CAAC,SAAS,IAAI,CAAC,OAAO,CAAE,CAAA,GAAG,IAAI;AAC/B,YAAA,CAAC,SAAS,IAAI,CAAC,IAAI,CAAE,CAAA,GAAG,IAAI;AAC5B,YAAA,CAAC,SAAS,IAAI,CAAC,QAAQ,CAAE,CAAA,GAAG,IAAI;YAChC,gBAAgB,EAAE,IAAI,CAAC,QAAQ;SAChC;QAED,MAAM,cAAc,GAAG,CAAA,WAAA,EAAc,IAAI,CAAC,OAAO,CAAA,CAAA,EAAI,IAAI,CAAC,QAAQ,CAAA,CAAE;AACpE,QAAA,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,KAAK,KAAK;AAEjC,QAAA,QACE,6DAAM,KAAK,EAAE,YAAY,EAAE,IAAI,EAAC,OAAO,EAAA,EACpC,IAAI,CAAC,IAAI,KACR,CAAA,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EACE,KAAK,EAAE;AACL,gBAAA,2BAA2B,EAAE,IAAI;gBACjC,CAAC,cAAc,GAAG,IAAI;AACtB,gBAAA,gBAAgB,EAAE,KAAK;gBACvB,mBAAmB,EAAE,CAAC,KAAK;aAC5B,EAAA,EAEA,KAAK,GAAG,qBAAqB,GAAG,IAAI,CAAC,IAAI,CACrC,CACR,EAED,CAAA,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAM,KAAK,EAAC,aAAa,IAAE,IAAI,CAAC,KAAK,CAAQ,EAE5C,IAAI,CAAC,WAAW,KACf,CACE,CAAA,QAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,eAAe,EACrB,OAAO,EAAE,IAAI,CAAC,aAAa,EAC3B,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,IAAI,EAAC,QAAQ,EACF,YAAA,EAAA,SAAS,EACpB,IAAI,EAAC,gBAAgB,EAAA,EAErB,CAAM,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAE,gDAAgD,cAAc,CAAA,CAAE,YAEtE,CACA,CACV,CACI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":["__stencil_proxyCustomElement","HTMLElement"],"sources":["src/components/bh-badge/bh-badge.css?tag=bh-badge&encapsulation=shadow","src/components/bh-badge/bh-badge.tsx"],"sourcesContent":["/* ==========================================================================\n BH-BADGE COMPONENT STYLES\n ========================================================================== */\n\n:host {\n display: inline-block;\n}\n\n/* Base Badge Styles */\n.badge {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n gap: var(--spacing-sm);\n font-family: var(--font-inter);\n font-weight: var(--weight-medium);\n border-radius: var(--radius-full);\n white-space: nowrap;\n text-align: center;\n transition: all 0.2s ease;\n border: 1px solid transparent;\n user-select: none;\n cursor: default;\n}\n\n/* Size Variants */\n.badge-sm {\n padding: var(--spacing-xxs) var(--spacing-md);\n font-size: var(--text-sm-size);\n line-height: var(--text-xs-line);\n}\n\n.badge-md {\n padding: var(--spacing-xs) var(--spacing-lg);\n font-size: var(--text-sm-size);\n line-height: var(--text-sm-line);\n}\n\n.badge-lg {\n padding: var(--spacing-sm) var(--spacing-xl);\n font-size: var(--text-md-size);\n line-height: var(--text-md-line);\n}\n\n/* Badge Icon - Dot */\n.badge-icon-dot {\n font-size: 8px !important;\n width: 8px;\n height: 8px;\n line-height: 1;\n flex-shrink: 0;\n font-variation-settings: 'FILL' 1, 'wght' 400, 'GRAD' 0, 'opsz' 16;\n}\n\n.badge-sm .badge-icon-dot {\n font-size: 6px !important;\n width: 6px;\n height: 6px;\n}\n\n.badge-lg .badge-icon-dot {\n font-size: 10px !important;\n width: 10px;\n height: 10px;\n}\n\n/* Custom icon styling */\n.badge-icon-custom {\n font-size: 16px !important;\n font-variation-settings: 'FILL' 0, 'wght' 400, 'GRAD' 0, 'opsz' 16;\n}\n\n.badge-sm .badge-icon-custom {\n font-size: 12px !important;\n}\n\n.badge-lg .badge-icon-custom {\n font-size: 20px !important;\n}\n\n/* Badge Label */\n.badge-label {\n flex-shrink: 0;\n font-weight: inherit;\n}\n\n/* Dismiss Button */\n.badge-dismiss {\n display: flex;\n align-items: center;\n justify-content: center;\n background: none;\n border: none;\n cursor: pointer;\n padding: 0;\n margin-left: var(--spacing-xxs);\n border-radius: var(--radius-full);\n transition: all 0.2s ease;\n width: 16px;\n height: 16px;\n}\n\n.badge-dismiss-icon {\n font-size: 14px !important;\n width: 14px;\n height: 14px;\n line-height: 1;\n font-variation-settings: 'FILL' 0, 'wght' 400, 'GRAD' 0, 'opsz' 14;\n}\n\n.badge-sm .badge-dismiss {\n width: 14px;\n height: 14px;\n}\n\n.badge-sm .badge-dismiss-icon {\n font-size: 12px !important;\n width: 12px;\n height: 12px;\n}\n\n.badge-lg .badge-dismiss {\n width: 18px;\n height: 18px;\n}\n\n.badge-lg .badge-dismiss-icon {\n font-size: 16px !important;\n width: 16px;\n height: 16px;\n}\n\n.badge-dismiss:hover {\n background-color: rgba(255, 255, 255, 0.2);\n}\n\n.badge-dismiss:disabled {\n cursor: not-allowed;\n opacity: 0.5;\n}\n\n/* ==========================================================================\n HIGH EMPHASIS VARIANTS\n ========================================================================== */\n\n.badge-high.badge-gray {\n background-color: var(--color-neutral-200);\n color: var(--color-neutral-800);\n}\n\n.badge-high.badge-blue {\n background-color: var(--color-brand-200);\n color: var(--color-brand-800);\n}\n\n.badge-high.badge-red {\n background-color: var(--color-error-200);\n color: var(--color-error-800);\n}\n\n.badge-high.badge-yellow {\n background-color: var(--color-warning-200);\n color: var(--color-warning-800);\n}\n\n.badge-high.badge-green {\n background-color: var(--color-success-200);\n color: var(--color-success-800);\n}\n\n.badge-high.badge-purple {\n background-color: hsl(270, 70%, 85%);\n color: hsl(270, 70%, 35%);\n}\n\n.badge-high.badge-pink {\n background-color: hsl(330, 70%, 85%);\n color: hsl(330, 70%, 35%);\n}\n\n.badge-high.badge-orange {\n background-color: hsl(25, 90%, 85%);\n color: hsl(25, 90%, 35%);\n}\n\n/* Icon colors for high emphasis */\n.badge-high .badge-icon-gray-high,\n.badge-high .badge-dismiss-icon.badge-icon-gray-high { color: var(--color-neutral-800) !important; }\n.badge-high .badge-icon-blue-high,\n.badge-high .badge-dismiss-icon.badge-icon-blue-high { color: var(--color-brand-800) !important; }\n.badge-high .badge-icon-red-high,\n.badge-high .badge-dismiss-icon.badge-icon-red-high { color: var(--color-error-800) !important; }\n.badge-high .badge-icon-yellow-high,\n.badge-high .badge-dismiss-icon.badge-icon-yellow-high { color: var(--color-warning-800) !important; }\n.badge-high .badge-icon-green-high,\n.badge-high .badge-dismiss-icon.badge-icon-green-high { color: var(--color-success-800) !important; }\n.badge-high .badge-icon-purple-high,\n.badge-high .badge-dismiss-icon.badge-icon-purple-high { color: hsl(270, 70%, 35%) !important; }\n.badge-high .badge-icon-pink-high,\n.badge-high .badge-dismiss-icon.badge-icon-pink-high { color: hsl(330, 70%, 35%) !important; }\n.badge-high .badge-icon-orange-high,\n.badge-high .badge-dismiss-icon.badge-icon-orange-high { color: hsl(25, 90%, 35%) !important; }\n\n/* ==========================================================================\n MEDIUM EMPHASIS VARIANTS\n ========================================================================== */\n\n.badge-medium.badge-gray {\n background-color: var(--color-neutral-50);\n color: var(--color-neutral-700);\n border-color: var(--color-neutral-200);\n}\n\n.badge-medium.badge-blue {\n background-color: var(--color-brand-50);\n color: var(--color-brand-700);\n border-color: var(--color-brand-200);\n}\n\n.badge-medium.badge-red {\n background-color: var(--color-error-50);\n color: var(--color-error-700);\n border-color: var(--color-error-200);\n}\n\n.badge-medium.badge-yellow {\n background-color: var(--color-warning-50);\n color: var(--color-warning-700);\n border-color: var(--color-warning-200);\n}\n\n.badge-medium.badge-green {\n background-color: var(--color-success-50);\n color: var(--color-success-700);\n border-color: var(--color-success-200);\n}\n\n.badge-medium.badge-purple {\n background-color: hsl(270, 70%, 97%);\n color: hsl(270, 70%, 40%);\n border-color: hsl(270, 70%, 85%);\n}\n\n.badge-medium.badge-pink {\n background-color: hsl(330, 70%, 97%);\n color: hsl(330, 70%, 40%);\n border-color: hsl(330, 70%, 85%);\n}\n\n.badge-medium.badge-orange {\n background-color: hsl(25, 90%, 97%);\n color: hsl(25, 90%, 40%);\n border-color: hsl(25, 90%, 85%);\n}\n\n/* Icon colors for medium emphasis */\n.badge-medium .badge-icon-gray-medium,\n.badge-medium .badge-dismiss-icon.badge-icon-gray-medium { color: var(--color-neutral-700) !important; }\n.badge-medium .badge-icon-blue-medium,\n.badge-medium .badge-dismiss-icon.badge-icon-blue-medium { color: var(--color-brand-700) !important; }\n.badge-medium .badge-icon-red-medium,\n.badge-medium .badge-dismiss-icon.badge-icon-red-medium { color: var(--color-error-700) !important; }\n.badge-medium .badge-icon-yellow-medium,\n.badge-medium .badge-dismiss-icon.badge-icon-yellow-medium { color: var(--color-warning-700) !important; }\n.badge-medium .badge-icon-green-medium,\n.badge-medium .badge-dismiss-icon.badge-icon-green-medium { color: var(--color-success-700) !important; }\n.badge-medium .badge-icon-purple-medium,\n.badge-medium .badge-dismiss-icon.badge-icon-purple-medium { color: hsl(270, 70%, 40%) !important; }\n.badge-medium .badge-icon-pink-medium,\n.badge-medium .badge-dismiss-icon.badge-icon-pink-medium { color: hsl(330, 70%, 40%) !important; }\n.badge-medium .badge-icon-orange-medium,\n.badge-medium .badge-dismiss-icon.badge-icon-orange-medium { color: hsl(25, 90%, 40%) !important; }\n\n/* ==========================================================================\n LOW EMPHASIS VARIANTS\n ========================================================================== */\n\n.badge-low.badge-gray {\n background-color: transparent;\n color: var(--color-neutral-600);\n border-color: var(--color-neutral-600);\n}\n\n.badge-low.badge-blue {\n background-color: transparent;\n color: var(--color-brand-600);\n border-color: var(--color-brand-600);\n}\n\n.badge-low.badge-red {\n background-color: transparent;\n color: var(--color-error-600);\n border-color: var(--color-error-600);\n}\n\n.badge-low.badge-yellow {\n background-color: transparent;\n color: var(--color-warning-600);\n border-color: var(--color-warning-600);\n}\n\n.badge-low.badge-green {\n background-color: transparent;\n color: var(--color-success-600);\n border-color: var(--color-success-600);\n}\n\n.badge-low.badge-purple {\n background-color: transparent;\n color: hsl(270, 70%, 45%);\n border-color: hsl(270, 70%, 45%);\n}\n\n.badge-low.badge-pink {\n background-color: transparent;\n color: hsl(330, 70%, 45%);\n border-color: hsl(330, 70%, 45%);\n}\n\n.badge-low.badge-orange {\n background-color: transparent;\n color: hsl(25, 90%, 45%);\n border-color: hsl(25, 90%, 45%);\n}\n\n/* Icon colors for low emphasis */\n.badge-low .badge-icon-gray-low,\n.badge-low .badge-dismiss-icon.badge-icon-gray-low { color: var(--color-neutral-600) !important; }\n.badge-low .badge-icon-blue-low,\n.badge-low .badge-dismiss-icon.badge-icon-blue-low { color: var(--color-brand-600) !important; }\n.badge-low .badge-icon-red-low,\n.badge-low .badge-dismiss-icon.badge-icon-red-low { color: var(--color-error-600) !important; }\n.badge-low .badge-icon-yellow-low,\n.badge-low .badge-dismiss-icon.badge-icon-yellow-low { color: var(--color-warning-600) !important; }\n.badge-low .badge-icon-green-low,\n.badge-low .badge-dismiss-icon.badge-icon-green-low { color: var(--color-success-600) !important; }\n.badge-low .badge-icon-purple-low,\n.badge-low .badge-dismiss-icon.badge-icon-purple-low { color: hsl(270, 70%, 45%) !important; }\n.badge-low .badge-icon-pink-low,\n.badge-low .badge-dismiss-icon.badge-icon-pink-low { color: hsl(330, 70%, 45%) !important; }\n.badge-low .badge-icon-orange-low,\n.badge-low .badge-dismiss-icon.badge-icon-orange-low { color: hsl(25, 90%, 45%) !important; }\n\n/* Disabled State */\n.badge-disabled {\n opacity: 0.5;\n cursor: not-allowed;\n}\n","import { Component, Prop, Event, EventEmitter, h } from '@stencil/core';\n\nexport type BadgeVariant = 'gray' | 'blue' | 'red' | 'yellow' | 'green' | 'purple' | 'pink' | 'orange';\nexport type BadgeSize = 'sm' | 'md' | 'lg';\nexport type BadgeEmphasis = 'high' | 'medium' | 'low';\n\n@Component({\n tag: 'bh-badge',\n styleUrl: 'bh-badge.css',\n shadow: true,\n})\nexport class BhBadge {\n /**\n * The color variant of the badge\n */\n @Prop() variant: BadgeVariant = 'gray';\n\n /**\n * The size of the badge\n */\n @Prop() size: BadgeSize = 'md';\n\n /**\n * The emphasis level (affects background/border styling)\n */\n @Prop() emphasis: BadgeEmphasis = 'high';\n\n /**\n * The text label to display\n */\n @Prop() label: string = 'Label';\n\n /**\n * Material Symbols icon name, or 'dot' for a dot indicator\n */\n @Prop() icon?: string;\n\n /**\n * Whether the badge can be dismissed\n */\n @Prop() dismissible: boolean = false;\n\n /**\n * Whether the badge is disabled\n */\n @Prop() disabled: boolean = false;\n\n /**\n * Emitted when the dismiss button is clicked\n */\n @Event() bhDismiss!: EventEmitter<void>;\n\n private handleDismiss = (e: MouseEvent): void => {\n e.stopPropagation();\n if (this.dismissible && !this.disabled) {\n this.bhDismiss.emit();\n }\n };\n\n render() {\n const badgeClasses = {\n 'badge': true,\n [`badge-${this.variant}`]: true,\n [`badge-${this.size}`]: true,\n [`badge-${this.emphasis}`]: true,\n 'badge-disabled': this.disabled,\n };\n\n const iconColorClass = `badge-icon-${this.variant}-${this.emphasis}`;\n const isDot = this.icon === 'dot';\n\n return (\n <span class={badgeClasses} part=\"badge\">\n {this.icon && (\n <span\n class={{\n 'material-symbols-outlined': true,\n [iconColorClass]: true,\n 'badge-icon-dot': isDot,\n 'badge-icon-custom': !isDot,\n }}\n >\n {isDot ? 'fiber_manual_record' : this.icon}\n </span>\n )}\n\n <span class=\"badge-label\">{this.label}</span>\n\n {this.dismissible && (\n <button\n class=\"badge-dismiss\"\n onClick={this.handleDismiss}\n disabled={this.disabled}\n type=\"button\"\n aria-label=\"Dismiss\"\n part=\"dismiss-button\"\n >\n <span class={`material-symbols-outlined badge-dismiss-icon ${iconColorClass}`}>\n close\n </span>\n </button>\n )}\n </span>\n );\n }\n}\n"],"version":3}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"file":"p-Bs2Z3XIQ.js","mappings":"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","names":["__stencil_proxyCustomElement","HTMLElement"],"sources":["src/components/bh-input-text/bh-input-text.css?tag=bh-input-text&encapsulation=shadow","src/components/bh-input-text/bh-input-text.tsx"],"sourcesContent":[":host {\n display: block;\n font-family: var(\n --font-inter,\n 'Inter',\n -apple-system,\n BlinkMacSystemFont,\n sans-serif\n );\n}\n\n/* Input Wrapper */\n.input-wrapper {\n display: flex;\n flex-direction: column;\n gap: var(--spacing-sm, 8px);\n width: 100%;\n}\n\n/* Input Container */\n.input-container {\n display: flex;\n align-items: center;\n gap: var(--spacing-md, 12px);\n padding: var(--spacing-md, 12px);\n height: 36px;\n width: 100%;\n background: var(--color-white, #ffffff);\n border: 1px solid var(--color-neutral-300, #d0d5dd);\n border-radius: var(--spacing-md, 8px);\n transition: all 0.2s ease-in-out;\n cursor: text;\n box-sizing: border-box;\n}\n\n.input-container.input-container-with-leading {\n padding: var(--spacing-md, 12px) var(--spacing-lg, 16px);\n}\n\n/* Input States */\n.input-container.input-container-hover {\n border-color: var(--color-brand-500, #7f56d9);\n}\n\n.input-container.input-container-focused {\n border-color: var(--color-brand-500, #7f56d9);\n box-shadow: 0 0 0 1px var(--color-brand-500, #7f56d9);\n}\n\n.input-container.input-container-disabled {\n opacity: 0.5;\n cursor: not-allowed;\n background: var(--color-neutral-50, #f9fafb);\n}\n\n.input-container.input-container-error {\n border-color: var(--color-error-300, #fda29b);\n}\n\n.input-container.input-container-error.input-container-hover {\n border-color: var(--color-error-500, #f05250);\n}\n\n.input-container.input-container-error.input-container-focused {\n border-color: var(--color-brand-600, #6941c6);\n}\n\n/* Input Content */\n.input-content {\n display: flex;\n align-items: center;\n gap: var(--spacing-md, 12px);\n flex: 1;\n height: 100%;\n min-width: 0;\n}\n\n/* Input Element */\n.input-element {\n flex: 1;\n height: 100%;\n border: none;\n outline: none;\n background: transparent;\n font-family: inherit;\n font-weight: 400;\n font-size: var(--text-sm-size, 14px);\n line-height: 1.43;\n color: var(--color-neutral-800, #1d2939);\n min-width: 60px;\n padding: 0;\n}\n\n.input-element:focus {\n outline: none;\n border: none;\n box-shadow: none;\n}\n\n.input-element::placeholder {\n color: var(--color-neutral-500, #667085);\n}\n\n.input-element:disabled {\n cursor: not-allowed;\n}\n\n/* Icons */\n.leading-icon,\n.trailing-icon {\n font-size: var(--text-xl-size, 20px);\n color: var(--color-neutral-500, #667085);\n user-select: none;\n flex-shrink: 0;\n cursor: default;\n transition: color 0.2s ease-in-out;\n}\n\n.input-container-focused .leading-icon,\n.input-container-focused .trailing-icon {\n color: var(--color-brand-600, #6941c6);\n}\n\n/* Hint Text */\n.hint-text {\n font-family: inherit;\n font-weight: 400;\n font-size: var(--text-sm-size, 14px);\n line-height: 1.43;\n color: var(--color-neutral-600, #475467);\n}\n\n.hint-text.hint-error {\n color: var(--color-error-600, #dc2626);\n}\n\n/* Material Symbols */\n.material-symbols-outlined {\n font-family: 'Material Symbols Outlined';\n font-weight: normal;\n font-style: normal;\n font-size: 20px;\n line-height: 1;\n letter-spacing: normal;\n text-transform: none;\n display: inline-block;\n white-space: nowrap;\n word-wrap: normal;\n direction: ltr;\n font-feature-settings: 'liga';\n -webkit-font-smoothing: antialiased;\n font-variation-settings: 'FILL' 0, 'wght' 400, 'GRAD' 0, 'opsz' 24;\n}\n","import { Component, Prop, State, Event, EventEmitter, h, AttachInternals } from '@stencil/core';\nimport { syncFormValue, updateValidity } from '../../utils/form';\n\n@Component({\n tag: 'bh-input-text',\n styleUrl: 'bh-input-text.css',\n shadow: true,\n formAssociated: true,\n})\nexport class BhInputText {\n @AttachInternals() internals!: ElementInternals;\n\n private inputEl?: HTMLInputElement;\n /**\n * The label for the input\n */\n @Prop() label: string = 'Email';\n\n /**\n * Placeholder text\n */\n @Prop() placeholder: string = 'fujiwara@act-hq.com';\n\n /**\n * Hint text shown below the input\n */\n @Prop() hintText: string = '';\n\n /**\n * Whether to show the label\n */\n @Prop() showLabel: boolean = true;\n\n /**\n * Whether to show hint text\n */\n @Prop() showHintText: boolean = true;\n\n /**\n * Whether to show the help icon\n */\n @Prop() showHelpIcon: boolean = false;\n\n /**\n * Whether to show a leading icon\n */\n @Prop() showLeadingIcon: boolean = false;\n\n /**\n * Whether to show a trailing icon\n */\n @Prop() showTrailingIcon: boolean = false;\n\n /**\n * Whether the field has an error\n */\n @Prop() error: boolean = false;\n\n /**\n * Whether the input is disabled\n */\n @Prop() disabled: boolean = false;\n\n /**\n * Whether the field is required\n */\n @Prop() required: boolean = false;\n\n /**\n * Tooltip text for the help icon\n */\n @Prop() helpIconTooltip: string = 'Help';\n\n /**\n * Leading icon name (Material Symbols)\n */\n @Prop() leadingIcon: string = 'mail';\n\n /**\n * Trailing icon name (Material Symbols)\n */\n @Prop() trailingIcon: string = 'search';\n\n /**\n * The input value\n */\n @Prop({ mutable: true }) value: string = '';\n\n /**\n * Name attribute for form submission\n */\n @Prop() name: string = '';\n\n /**\n * Default value for form reset\n */\n @Prop() defaultValue: string = '';\n\n /**\n * Custom validation message\n */\n @Prop() validationMessage: string = '';\n\n /**\n * Input type (text, email, tel, url, etc.)\n */\n @Prop() type: string = 'text';\n\n /**\n * Width of the input (e.g., '100%', '200px')\n */\n @Prop() width: string = '';\n\n /**\n * Whether the input is read-only\n */\n @Prop() readOnly: boolean = false;\n\n /**\n * Visual state of the input (for programmatic control)\n */\n @Prop() state: 'default' | 'error' | 'disabled' | 'focus' | 'filled' | 'hover' = 'default';\n\n /**\n * Track focus state\n */\n @State() isFocused: boolean = false;\n\n /**\n * Track hover state\n */\n @State() isHovered: boolean = false;\n\n /**\n * Emitted when the value changes\n */\n @Event() bhInput!: EventEmitter<string>;\n\n /**\n * Emitted when the input gains focus\n */\n @Event() bhFocus!: EventEmitter<void>;\n\n /**\n * Emitted when the input loses focus\n */\n @Event() bhBlur!: EventEmitter<void>;\n\n /**\n * Emitted when the help icon is clicked\n */\n @Event() bhHelpClick!: EventEmitter<void>;\n\n private handleInput = (event: Event): void => {\n const target = event.target as HTMLInputElement;\n this.value = target.value;\n this.bhInput.emit(this.value);\n syncFormValue(this);\n updateValidity(this.internals, this.inputEl, this.validationMessage);\n };\n\n componentDidLoad() {\n syncFormValue(this);\n updateValidity(this.internals, this.inputEl, this.validationMessage);\n }\n\n formResetCallback() {\n this.value = this.defaultValue;\n if (this.inputEl) {\n this.inputEl.value = this.defaultValue;\n }\n syncFormValue(this);\n updateValidity(this.internals, this.inputEl);\n }\n\n private handleFocus = (): void => {\n this.isFocused = true;\n this.bhFocus.emit();\n };\n\n private handleBlur = (): void => {\n this.isFocused = false;\n this.bhBlur.emit();\n };\n\n private handleMouseEnter = (): void => {\n if (!this.isFocused) {\n this.isHovered = true;\n }\n };\n\n private handleMouseLeave = (): void => {\n this.isHovered = false;\n };\n\n private handleHelpClick = (): void => {\n this.bhHelpClick.emit();\n };\n\n render() {\n const containerClasses = {\n 'input-container': true,\n 'input-container-focused': this.isFocused,\n 'input-container-hover': this.isHovered && !this.isFocused,\n 'input-container-error': this.error,\n 'input-container-disabled': this.disabled,\n 'input-container-with-leading': this.showLeadingIcon,\n };\n\n const wrapperStyle = this.width ? { width: this.width } : {};\n\n return (\n <div class=\"input-wrapper\" part=\"wrapper\" style={wrapperStyle}>\n <bh-label\n label={this.showLabel ? this.label : ''}\n required={this.required}\n showHelpIcon={this.showHelpIcon}\n helpIconTooltip={this.helpIconTooltip}\n disabled={this.disabled}\n onBhHelpClick={this.handleHelpClick}\n >\n <div\n class={containerClasses}\n onMouseEnter={this.handleMouseEnter}\n onMouseLeave={this.handleMouseLeave}\n >\n <div class=\"input-content\">\n {this.showLeadingIcon && (\n <span class=\"material-symbols-outlined leading-icon\">\n {this.leadingIcon}\n </span>\n )}\n <input\n ref={(el) => (this.inputEl = el)}\n type={this.type}\n class=\"input-element\"\n name={this.name}\n value={this.value}\n placeholder={this.placeholder}\n disabled={this.disabled}\n readOnly={this.readOnly}\n required={this.required}\n aria-label={this.label}\n aria-describedby={\n this.showHintText && this.hintText ? 'hint-text' : undefined\n }\n aria-invalid={String(this.error)}\n onInput={this.handleInput}\n onFocus={this.handleFocus}\n onBlur={this.handleBlur}\n part=\"input\"\n />\n {this.showTrailingIcon && (\n <span class=\"material-symbols-outlined trailing-icon\">\n {this.trailingIcon}\n </span>\n )}\n </div>\n </div>\n </bh-label>\n\n {this.showHintText && this.hintText && (\n <div\n class={{ 'hint-text': true, 'hint-error': this.error }}\n id=\"hint-text\"\n >\n {this.hintText}\n </div>\n )}\n </div>\n );\n }\n}\n"],"version":3}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"file":"p-C69LfZib.js","mappings":"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","names":["__stencil_proxyCustomElement","HTMLElement"],"sources":["src/components/bh-checkbox/bh-checkbox.css?tag=bh-checkbox&encapsulation=shadow","src/components/bh-checkbox/bh-checkbox.tsx"],"sourcesContent":["/* ==========================================================================\n CHECKBOX COMPONENT STYLES - StencilJS\n ========================================================================== */\n\n:host {\n display: inline-block;\n font-family: var(--font-inter, 'Inter', -apple-system, BlinkMacSystemFont, sans-serif);\n}\n\n/* ==========================================================================\n VISUALLY HIDDEN NATIVE INPUT\n ========================================================================== */\n\n.checkbox-input {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n white-space: nowrap;\n border: 0;\n}\n\n/* ==========================================================================\n WRAPPER STYLES\n ========================================================================== */\n\n.checkbox-wrapper {\n display: inline-flex;\n align-items: flex-start;\n gap: 8px;\n cursor: pointer;\n user-select: none;\n position: relative;\n}\n\n.checkbox-wrapper-disabled {\n cursor: not-allowed;\n}\n\n/* ==========================================================================\n CHECKBOX BOX STYLES\n ========================================================================== */\n\n.checkbox {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n outline: none;\n user-select: none;\n transition: all 0.2s ease;\n box-sizing: border-box;\n background: var(--color-white);\n border: 2px solid var(--color-neutral-300);\n position: relative;\n flex-shrink: 0;\n pointer-events: none;\n}\n\n/* Size Variants */\n.checkbox-sm {\n width: 16px;\n height: 16px;\n border-radius: var(--radius-xs);\n margin-top: 3px;\n}\n\n.checkbox-md {\n width: 20px;\n height: 20px;\n border-radius: var(--radius-sm);\n margin-top: 2px;\n}\n\n/* Remove margin when no label */\n.checkbox-wrapper:not(.checkbox-wrapper-with-label) .checkbox-sm,\n.checkbox-wrapper:not(.checkbox-wrapper-with-label) .checkbox-md {\n margin-top: 0;\n}\n\n/* State: Checked */\n.checkbox.checkbox-checked {\n background: var(--color-brand-600);\n border-color: var(--color-brand-600);\n color: var(--color-white);\n}\n\n/* State: Hover */\n.checkbox.checkbox-hover:not(.checkbox-disabled) {\n background: var(--color-neutral-100);\n border-color: var(--color-neutral-300);\n}\n\n.checkbox.checkbox-checked.checkbox-hover:not(.checkbox-disabled) {\n background: var(--color-brand-700);\n border-color: var(--color-brand-700);\n}\n\n/* State: Focused */\n.checkbox.checkbox-focused:not(.checkbox-disabled) {\n border-color: var(--color-neutral-300);\n box-shadow: 0px 0px 0px 4px var(--color-brand-100),\n 0px 0px 0px 2px var(--color-white);\n}\n\n.checkbox.checkbox-checked.checkbox-focused:not(.checkbox-disabled) {\n background: var(--color-brand-600);\n border-color: var(--color-brand-600);\n box-shadow: 0px 0px 0px 4px var(--color-brand-100),\n 0px 0px 0px 2px var(--color-white);\n}\n\n/* State: Disabled */\n.checkbox.checkbox-disabled {\n background: var(--color-neutral-50);\n border-color: var(--color-neutral-300);\n cursor: not-allowed;\n opacity: 1;\n}\n\n.checkbox.checkbox-checked.checkbox-disabled {\n background: var(--color-neutral-50);\n border: 2px solid var(--color-neutral-300);\n color: var(--color-neutral-300);\n}\n\n/* ==========================================================================\n ICONS\n ========================================================================== */\n\n.checkbox-icon {\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n line-height: 1;\n font-variation-settings: 'FILL' 0, 'wght' 600, 'GRAD' 0, 'opsz' 20;\n}\n\n.checkbox .check-icon {\n color: var(--color-white);\n}\n\n.checkbox-disabled .check-icon {\n color: var(--color-neutral-300);\n}\n\n.checkbox .minus-icon {\n color: var(--color-white);\n}\n\n.checkbox-disabled .minus-icon {\n color: var(--color-neutral-300);\n}\n\n/* Adjust icon sizes for different checkbox sizes */\n.checkbox-sm .checkbox-icon {\n font-size: 14px;\n}\n\n.checkbox-md .checkbox-icon {\n font-size: 18px;\n}\n\n/* ==========================================================================\n CHECKBOX CONTROL WRAPPER\n ========================================================================== */\n\n.checkbox-control {\n display: inline-flex;\n align-items: flex-start;\n cursor: pointer;\n}\n\n.checkbox-wrapper-disabled .checkbox-control {\n cursor: not-allowed;\n}\n","import { Component, Prop, State, Event, EventEmitter, h, Element, Watch, AttachInternals } from '@stencil/core';\nimport { syncCheckableFormValue, validateRequired } from '../../utils/form';\n\nexport type CheckboxSize = 'sm' | 'md';\n\n@Component({\n tag: 'bh-checkbox',\n styleUrl: 'bh-checkbox.css',\n shadow: true,\n formAssociated: true,\n})\nexport class BhCheckbox {\n @Element() el!: HTMLElement;\n @AttachInternals() internals!: ElementInternals;\n\n private inputRef?: HTMLInputElement;\n private uniqueId = `bh-checkbox-${Math.random().toString(36).substring(2, 9)}`;\n\n /** Checkbox size */\n @Prop() size: CheckboxSize = 'md';\n\n /** Checked state */\n @Prop({ mutable: true, reflect: true }) checked: boolean = false;\n\n /** Indeterminate state */\n @Prop({ mutable: true }) indeterminate: boolean = false;\n\n /** Disabled state */\n @Prop() disabled: boolean = false;\n\n /** Name attribute for form submission */\n @Prop() name: string = '';\n\n /** Value attribute for form submission */\n @Prop() value: string = 'on';\n\n /** Optional label text - when provided, renders checkbox with label */\n @Prop() label: string = '';\n\n /** Optional supporting text below the label */\n @Prop() supportingText: string = '';\n\n /** Whether the checkbox is required */\n @Prop() required: boolean = false;\n\n /** Default checked state for form reset */\n @Prop() defaultChecked: boolean = false;\n\n /** Internal hover state */\n @State() isHovered: boolean = false;\n\n /** Internal focus state */\n @State() isFocused: boolean = false;\n\n /** Emitted when checkbox state changes via user interaction */\n @Event() bhChange!: EventEmitter<boolean>;\n\n @Watch('checked')\n handleCheckedChange(newValue: boolean) {\n if (this.inputRef) {\n this.inputRef.checked = newValue;\n }\n }\n\n @Watch('indeterminate')\n handleIndeterminateChange(newValue: boolean) {\n if (this.inputRef) {\n this.inputRef.indeterminate = newValue;\n }\n }\n\n componentDidLoad() {\n if (this.inputRef) {\n this.inputRef.indeterminate = this.indeterminate;\n }\n syncCheckableFormValue(this.internals, this.name, this.checked, this.value);\n validateRequired(this.internals, this.required, this.checked);\n }\n\n formResetCallback() {\n this.checked = this.defaultChecked;\n this.indeterminate = false;\n if (this.inputRef) {\n this.inputRef.checked = this.defaultChecked;\n this.inputRef.indeterminate = false;\n }\n syncCheckableFormValue(this.internals, this.name, this.checked, this.value);\n validateRequired(this.internals, this.required, this.checked);\n }\n\n private handleChange = (event: Event) => {\n event.stopPropagation();\n if (this.disabled) return;\n\n const input = event.target as HTMLInputElement;\n\n if (this.indeterminate) {\n this.indeterminate = false;\n this.checked = false;\n if (this.inputRef) {\n this.inputRef.indeterminate = false;\n this.inputRef.checked = false;\n }\n } else {\n this.checked = input.checked;\n }\n\n syncCheckableFormValue(this.internals, this.name, this.checked, this.value);\n validateRequired(this.internals, this.required, this.checked);\n this.bhChange.emit(this.checked);\n };\n\n private handleMouseEnter = () => {\n this.isHovered = true;\n };\n\n private handleMouseLeave = () => {\n this.isHovered = false;\n };\n\n private handleFocus = () => {\n this.isFocused = true;\n };\n\n private handleBlur = () => {\n this.isFocused = false;\n };\n\n private handleControlClick = () => {\n if (this.disabled) return;\n this.inputRef?.click();\n };\n\n private renderCheckboxControl() {\n const isCheckedState = this.checked || this.indeterminate;\n\n const checkboxClasses = {\n 'checkbox': true,\n [`checkbox-${this.size}`]: true,\n 'checkbox-checked': isCheckedState,\n 'checkbox-disabled': this.disabled,\n 'checkbox-focused': this.isFocused && !this.disabled,\n 'checkbox-hover': this.isHovered && !this.disabled,\n };\n\n return (\n <div\n class=\"checkbox-control\"\n onClick={this.handleControlClick}\n onMouseEnter={this.handleMouseEnter}\n onMouseLeave={this.handleMouseLeave}\n >\n <input\n ref={(el) => (this.inputRef = el)}\n type=\"checkbox\"\n id={this.uniqueId}\n name={this.name}\n value={this.value}\n checked={this.checked}\n disabled={this.disabled}\n class=\"checkbox-input\"\n onChange={this.handleChange}\n onFocus={this.handleFocus}\n onBlur={this.handleBlur}\n aria-describedby={this.supportingText ? `${this.uniqueId}-description` : undefined}\n />\n <div class={checkboxClasses} part=\"checkbox\" aria-hidden=\"true\">\n {this.checked && !this.indeterminate && (\n <span class=\"material-symbols-outlined checkbox-icon check-icon\">\n check\n </span>\n )}\n {this.indeterminate && (\n <span class=\"material-symbols-outlined checkbox-icon minus-icon\">\n remove\n </span>\n )}\n </div>\n </div>\n );\n }\n\n render() {\n const hasLabel = this.label || this.supportingText;\n\n const wrapperClasses = {\n 'checkbox-wrapper': true,\n 'checkbox-wrapper-with-label': !!hasLabel,\n 'checkbox-wrapper-disabled': this.disabled,\n };\n\n // Render with bh-label when label/supportingText is provided\n if (hasLabel) {\n return (\n <div class={wrapperClasses} part=\"wrapper\">\n <bh-label\n layout=\"inline-start\"\n label={this.label}\n supportingText={this.supportingText}\n disabled={this.disabled}\n for={this.uniqueId}\n >\n {this.renderCheckboxControl()}\n </bh-label>\n </div>\n );\n }\n\n // Standalone checkbox without label\n return (\n <div class={wrapperClasses} part=\"wrapper\">\n {this.renderCheckboxControl()}\n </div>\n );\n }\n}\n"],"version":3}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"file":"p-C97e5uAI.js","mappings":"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","names":["__stencil_proxyCustomElement","HTMLElement"],"sources":["src/components/bh-breadcrumbs/bh-breadcrumbs.css?tag=bh-breadcrumbs&encapsulation=shadow","src/components/bh-breadcrumbs/bh-breadcrumbs.tsx"],"sourcesContent":[":host {\n display: block;\n}\n\n/* Breadcrumbs Navigation - Matching Figma Design */\n.breadcrumbs {\n font-family: var(--font-inter);\n user-select: none;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n}\n\n.breadcrumbs-container {\n display: flex;\n align-items: center;\n gap: var(--spacing-xs);\n flex-wrap: wrap;\n}\n\n.breadcrumb-item {\n display: flex;\n align-items: center;\n}\n\n/* Breadcrumb Buttons - Matching Figma Design */\n.breadcrumb-button {\n display: flex;\n align-items: center;\n justify-content: center;\n padding: var(--spacing-xs) var(--spacing-sm);\n border: none;\n background: transparent;\n border-radius: 6px;\n cursor: pointer;\n transition: all 0.15s ease;\n color: var(--color-neutral-600);\n text-decoration: none;\n font-family: var(--font-inter);\n font-size: var(--text-sm-size);\n font-weight: 500;\n line-height: 1.4285714285714286em;\n min-height: 24px;\n box-sizing: border-box;\n}\n\n.breadcrumb-button:hover {\n background-color: var(--color-neutral-50);\n color: var(--color-neutral-900);\n}\n\n.breadcrumb-button:focus-visible {\n outline: 2px solid var(--color-brand-500);\n outline-offset: 2px;\n}\n\n/* Home button styling */\n.breadcrumb-home {\n padding: var(--spacing-xs);\n min-width: 24px;\n min-height: 24px;\n}\n\n/* Current/Active breadcrumb item - Matching Figma highlighted state */\n.breadcrumb-current {\n background-color: var(--color-neutral-50);\n color: var(--color-neutral-800);\n font-weight: 500;\n cursor: default;\n}\n\n.breadcrumb-current:hover {\n background-color: var(--color-neutral-50);\n color: var(--color-neutral-800);\n}\n\n/* Ellipsis button */\n.breadcrumb-ellipsis {\n color: var(--color-neutral-600);\n font-weight: 500;\n}\n\n.breadcrumb-ellipsis:hover {\n background-color: var(--color-neutral-50);\n color: var(--color-neutral-900);\n}\n\n/* Breadcrumb text */\n.breadcrumb-text {\n white-space: nowrap;\n max-width: 200px;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n\n/* Breadcrumb icons */\n.breadcrumb-icon {\n flex-shrink: 0;\n font-size: 20px;\n width: 20px;\n height: 20px;\n color: var(--color-neutral-600);\n}\n\n.breadcrumb-home .breadcrumb-icon {\n font-size: 20px;\n width: 20px;\n height: 20px;\n}\n\n/* Separators - Matching Figma chevron color */\n.breadcrumb-separator {\n display: flex;\n align-items: center;\n color: var(--color-neutral-300);\n font-size: 20px;\n flex-shrink: 0;\n}\n\n.breadcrumb-separator .material-symbols-outlined {\n font-size: 20px;\n width: 20px;\n height: 20px;\n}\n\n/* Material Symbols Support */\n.material-symbols-outlined {\n font-family: 'Material Symbols Outlined';\n font-weight: normal;\n font-style: normal;\n font-size: 24px;\n line-height: 1;\n letter-spacing: normal;\n text-transform: none;\n display: inline-block;\n white-space: nowrap;\n word-wrap: normal;\n direction: ltr;\n -webkit-font-feature-settings: 'liga';\n -webkit-font-smoothing: antialiased;\n font-variation-settings: 'FILL' 0, 'wght' 400, 'GRAD' 0, 'opsz' 24;\n}\n\n/* Responsive behavior */\n@media (max-width: 640px) {\n .breadcrumb-text {\n max-width: 120px;\n }\n\n .breadcrumbs-container {\n gap: var(--spacing-xxs);\n }\n\n .breadcrumb-button {\n padding: var(--spacing-xxs) var(--spacing-xs);\n font-size: 12px;\n }\n}\n","import { Component, Prop, Event, EventEmitter, h, Fragment } from '@stencil/core';\n\nexport interface BreadcrumbItem {\n label: string;\n path?: string;\n isActive?: boolean;\n}\n\n@Component({\n tag: 'bh-breadcrumbs',\n styleUrl: 'bh-breadcrumbs.css',\n shadow: true,\n})\nexport class BhBreadcrumbs {\n /**\n * Array of breadcrumb items\n */\n @Prop() items: BreadcrumbItem[] | string = [];\n\n /**\n * Separator icon name (Material Symbols)\n */\n @Prop() separator: string = 'chevron_right';\n\n /**\n * Whether to show the home button\n */\n @Prop() showHome: boolean = true;\n\n /**\n * Maximum number of visible items before collapsing\n */\n @Prop() maxVisibleItems: number = 4;\n\n /**\n * Event emitted when a breadcrumb item is clicked\n */\n @Event() bhItemClick!: EventEmitter<BreadcrumbItem>;\n\n /**\n * Event emitted when navigating to a path\n */\n @Event() bhNavigate!: EventEmitter<string>;\n\n private get parsedItems(): BreadcrumbItem[] {\n if (typeof this.items === 'string') {\n try {\n return JSON.parse(this.items);\n } catch {\n return [];\n }\n }\n return this.items || [];\n }\n\n private get displayData() {\n const items = this.parsedItems;\n if (!items || items.length <= this.maxVisibleItems) {\n return {\n displayItems: items ? [...items] : [],\n showEllipsis: false,\n collapsedItems: [],\n };\n } else {\n const lastItems = items.slice(-(this.maxVisibleItems - 2));\n return {\n displayItems: [items[0], ...lastItems],\n showEllipsis: true,\n collapsedItems: items.slice(1, -(this.maxVisibleItems - 2)),\n };\n }\n }\n\n private handleItemClick(item: BreadcrumbItem) {\n if (!item.isActive && item.path) {\n this.bhItemClick.emit(item);\n this.bhNavigate.emit(item.path);\n }\n }\n\n private handleHomeClick = () => {\n const homeItem: BreadcrumbItem = {\n label: 'Home',\n path: '/',\n };\n this.bhItemClick.emit(homeItem);\n this.bhNavigate.emit('/');\n };\n\n private handleEllipsisClick = () => {\n const { collapsedItems } = this.displayData;\n if (collapsedItems.length > 0) {\n this.handleItemClick(collapsedItems[0]);\n }\n };\n\n private renderBreadcrumbItem(item: BreadcrumbItem, index: number) {\n if (item.isActive || !item.path) {\n return (\n <div\n key={index}\n class=\"breadcrumb-button breadcrumb-current\"\n aria-current=\"page\"\n >\n <span class=\"breadcrumb-text\">{item.label}</span>\n </div>\n );\n }\n\n return (\n <button\n key={index}\n type=\"button\"\n class=\"breadcrumb-button\"\n onClick={() => this.handleItemClick(item)}\n >\n <span class=\"breadcrumb-text\">{item.label}</span>\n </button>\n );\n }\n\n private renderSeparator() {\n return (\n <div class=\"breadcrumb-separator\">\n <span class=\"material-symbols-outlined\">{this.separator}</span>\n </div>\n );\n }\n\n render() {\n const { displayItems, showEllipsis, collapsedItems } = this.displayData;\n\n return (\n <nav class=\"breadcrumbs\" aria-label=\"Breadcrumb\">\n <div class=\"breadcrumbs-container\">\n {/* Home button */}\n {this.showHome && (\n <div class=\"breadcrumb-item\">\n <bh-button-icon\n hierarchy=\"quaternary\"\n size=\"xs\"\n iconName=\"cottage\"\n onClick={this.handleHomeClick}\n aria-label=\"Home\"\n />\n </div>\n )}\n\n {/* Separator after home */}\n {this.showHome && (displayItems.length > 0 || showEllipsis) && this.renderSeparator()}\n\n {/* With ellipsis */}\n {showEllipsis && displayItems.length > 0 && (\n <Fragment>\n <div class=\"breadcrumb-item\">\n {this.renderBreadcrumbItem(displayItems[0], 0)}\n </div>\n\n {this.renderSeparator()}\n\n {/* Ellipsis button */}\n <div class=\"breadcrumb-item\">\n <button\n type=\"button\"\n class=\"breadcrumb-button breadcrumb-ellipsis\"\n onClick={this.handleEllipsisClick}\n title={`Show ${collapsedItems.length} hidden items`}\n >\n <span class=\"breadcrumb-text\">...</span>\n </button>\n </div>\n\n {this.renderSeparator()}\n\n {/* Remaining items */}\n {displayItems.slice(1).map((item, index) => (\n <Fragment>\n <div class=\"breadcrumb-item\" key={`item-${index + 1}`}>\n {this.renderBreadcrumbItem(item, index + 1)}\n </div>\n\n {index < displayItems.slice(1).length - 1 && this.renderSeparator()}\n </Fragment>\n ))}\n </Fragment>\n )}\n\n {/* Without ellipsis */}\n {!showEllipsis && displayItems.map((item, index) => (\n <Fragment>\n <div class=\"breadcrumb-item\" key={`item-${index}`}>\n {this.renderBreadcrumbItem(item, index)}\n </div>\n\n {index < displayItems.length - 1 && this.renderSeparator()}\n </Fragment>\n ))}\n </div>\n </nav>\n );\n }\n}\n"],"version":3}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"file":"p-CK89kJIU.js","mappings":"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","names":["__stencil_proxyCustomElement","HTMLElement"],"sources":["src/components/bh-product-switcher/bh-product-switcher.css?tag=bh-product-switcher&encapsulation=shadow","src/components/bh-product-switcher/bh-product-switcher.tsx"],"sourcesContent":["/* Container wrapper */\n.product-switcher-container {\n position: fixed;\n z-index: 10000;\n animation: popoverSlideIn 0.3s ease-out;\n transform-origin: top center;\n}\n\n/* Backdrop */\n.product-switcher-backdrop {\n position: fixed;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n background: transparent;\n z-index: 9999;\n}\n\n/* Product Switcher Popover */\n.product-switcher-popover {\n background: rgba(255, 255, 255, 0.9);\n border: 1px solid var(--color-neutral-100);\n border-radius: var(--radius-lg);\n -webkit-backdrop-filter: blur(8px);\n backdrop-filter: blur(3px);\n box-shadow: 0px 24px 48px -12px rgba(64, 73, 104, 0.1);\n padding: var(--spacing-lg);\n display: flex;\n flex-direction: column;\n gap: var(--spacing-md);\n min-width: 250px;\n position: relative;\n z-index: 10001;\n}\n\n@keyframes popoverSlideIn {\n 0% {\n opacity: 0;\n transform: translateY(-12px);\n }\n 100% {\n opacity: 1;\n transform: translateY(0);\n }\n}\n\n.product-switcher-container.closing {\n animation: popoverSlideOut 0.2s ease-in forwards;\n}\n\n@keyframes popoverSlideOut {\n 0% {\n opacity: 1;\n transform: translateY(0);\n }\n 100% {\n opacity: 0;\n transform: translateY(-12px);\n }\n}\n\n/* Product Item */\n.product-item {\n display: flex;\n align-items: center;\n gap: var(--spacing-lg);\n width: 100%;\n padding: var(--spacing-sm) var(--spacing-lg) var(--spacing-sm) var(--spacing-sm);\n border-radius: var(--radius-md);\n cursor: pointer;\n transition: background-color 0.2s ease;\n}\n\n.product-item:hover {\n background-color: var(--color-neutral-100);\n}\n\n.product-item.current {\n background-color: var(--color-brand-50);\n}\n\n/* Product Icon Container */\n.product-icon-container {\n width: 36px;\n height: 36px;\n background: var(--color-white);\n border: 1px solid var(--color-neutral-100);\n border-radius: var(--radius-md);\n display: flex;\n align-items: center;\n justify-content: center;\n flex-shrink: 0;\n padding: var(--spacing-xs);\n}\n\n.product-icon {\n width: 100%;\n height: 100%;\n object-fit: contain;\n object-position: center;\n filter: invert(25%) sepia(190%) saturate(210%) hue-rotate(190deg) brightness(120%) contrast(210%);\n}\n\n.product-icon svg path {\n fill: var(--color-brand-600);\n}\n\n/* Product Info */\n.product-info {\n display: flex;\n flex-direction: column;\n flex: 1;\n}\n\n.product-name {\n font-weight: var(--weight-semibold);\n font-size: var(--text-md-size);\n line-height: var(--text-md-line);\n color: var(--color-neutral-900);\n}\n\n.product-description {\n font-weight: var(--weight-regular);\n font-size: var(--text-sm-size);\n line-height: var(--text-sm-line);\n color: var(--color-neutral-600);\n}","import { Component, Prop, Event, EventEmitter, State, h, Host, Listen } from '@stencil/core';\n\nexport interface BhProduct {\n id: string;\n name: string;\n description: string;\n logo: string;\n current?: boolean;\n}\n\nexport interface AnchorPosition {\n top: number;\n left: number;\n}\n\n@Component({\n tag: 'bh-product-switcher',\n styleUrl: 'bh-product-switcher.css',\n shadow: true,\n})\nexport class BhProductSwitcher {\n /**\n * Whether the product switcher is open\n */\n @Prop() isOpen: boolean = false;\n\n /**\n * Position to anchor the popover\n */\n @Prop() anchorPosition: AnchorPosition = { top: 0, left: 0 };\n\n /**\n * Array of products to display\n */\n @Prop() products: BhProduct[] = [\n {\n id: 'alice',\n name: 'Alice',\n description: 'Housekeeping & Guest Services',\n logo: './assets/logos/AL.svg',\n },\n {\n id: 'hotel-effectiveness',\n name: 'Hotel Effectiveness',\n description: 'Labor planning',\n logo: './assets/logos/HE.svg',\n },\n {\n id: 'profit-sword',\n name: 'ProfitSword',\n description: 'B.I and Finance',\n logo: './assets/logos/PS.svg',\n },\n {\n id: 'transcendent',\n name: 'Transcendent',\n description: 'Asset Management & CapEx',\n logo: './assets/logos/TR.svg',\n },\n ];\n\n /**\n * Event emitted when the switcher should close\n */\n @Event() bhClose!: EventEmitter<void>;\n\n /**\n * Event emitted when a product is selected\n */\n @Event() bhProductSelect!: EventEmitter<BhProduct>;\n\n @State() isClosing: boolean = false;\n\n private containerRef?: HTMLDivElement;\n\n @Listen('click', { target: 'document' })\n handleDocumentClick(event: MouseEvent) {\n const target = event.target as HTMLElement;\n if (\n this.isOpen &&\n this.containerRef &&\n !this.containerRef.contains(target) &&\n !target.closest('.logo-active')\n ) {\n this.handleClose();\n }\n }\n\n private handleClose = () => {\n this.isClosing = true;\n setTimeout(() => {\n this.bhClose.emit();\n this.isClosing = false;\n }, 200);\n };\n\n private handleProductClick = (product: BhProduct) => {\n this.bhProductSelect.emit(product);\n this.handleClose();\n };\n\n render() {\n if (!this.isOpen) return null;\n\n const containerClasses = {\n 'product-switcher-container': true,\n 'closing': this.isClosing,\n };\n\n return (\n <Host>\n {/* Backdrop */}\n <div class=\"product-switcher-backdrop\" onClick={this.handleClose}></div>\n\n {/* Product Switcher Container */}\n <div\n ref={(el) => this.containerRef = el}\n class={containerClasses}\n style={{\n top: `${this.anchorPosition.top}px`,\n left: `${this.anchorPosition.left}px`,\n }}\n >\n <div class=\"product-switcher-popover\">\n {this.products.map((product) => {\n const itemClasses = {\n 'product-item': true,\n 'current': product.current || false,\n };\n\n return (\n <div\n key={product.id}\n class={itemClasses}\n onClick={() => this.handleProductClick(product)}\n >\n <div class=\"product-icon-container\">\n <img\n src={product.logo}\n alt={`${product.name} logo`}\n class=\"product-icon\"\n />\n </div>\n\n <div class=\"product-info\">\n <div class=\"product-name\">{product.name}</div>\n <div class=\"product-description\">{product.description}</div>\n </div>\n </div>\n );\n })}\n </div>\n </div>\n </Host>\n );\n }\n}\n"],"version":3}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"file":"p-CMomxDPL.js","mappings":"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","names":["__stencil_proxyCustomElement","HTMLElement"],"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"],"version":3}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"file":"p-CWGpUs1b.js","mappings":";;AAAA,MAAM,iBAAiB,GAAG,qvMAAqvM;;MCalwM,cAAc,iBAAAA,kBAAA,CAAA,MAAA,cAAA,SAAAC,CAAA,CAAA;;;;;;;;AACzB;;AAEG;IACK,OAAO,GAAY,KAAK;AAEhC;;AAEG;IACK,CAAC,GAAW,CAAC;AAErB;;AAEG;IACK,CAAC,GAAW,CAAC;AAErB;;AAEG;IACK,MAAM,GAAW,EAAE;AAE3B;;AAEG;IACK,KAAK,GAAkB,EAAE;AAEjC;;AAEG;IACK,KAAK,GAAW,EAAE;AAE1B;;AAEG;IACK,SAAS,GAAY,KAAK;AAElC;;AAEG;IACK,aAAa,GAAY,KAAK;IAEtC,MAAM,GAAA;QACJ,QACE,EAAC,IAAI,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,EACH,CAAA,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EACE,KAAK,EAAE;AACL,gBAAA,eAAe,EAAE,IAAI;gBACrB,OAAO,EAAE,IAAI,CAAC,OAAO;gBACrB,gBAAgB,EAAE,IAAI,CAAC,aAAa;AACrC,aAAA,EACD,KAAK,EAAE;AACL,gBAAA,IAAI,EAAE,CAAA,EAAG,IAAI,CAAC,CAAC,CAAI,EAAA,CAAA;AACnB,gBAAA,GAAG,EAAE,CAAA,EAAG,IAAI,CAAC,CAAC,CAAI,EAAA,CAAA;aACnB,EAAA,EAED,CAAK,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,iBAAiB,EAAA,EACzB,IAAI,CAAC,MAAM,IAAI,CAAK,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,gBAAgB,EAAE,EAAA,IAAI,CAAC,MAAM,CAAO,EAC/D,CAAK,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,eAAe,EACvB,EAAA,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,MAC1B,CAAA,CAAA,KAAA,EAAA,EAAK,GAAG,EAAE,KAAK,EAAE,KAAK,EAAC,cAAc,EAAA,EAClC,IAAI,CAAC,KAAK,KACT,CACE,CAAA,MAAA,EAAA,EAAA,KAAK,EAAC,aAAa,EACnB,KAAK,EAAE,EAAE,eAAe,EAAE,IAAI,CAAC,KAAK,EAAE,GACtC,CACH,EACA,IAAI,CAAC,KAAK,KACT,CAAM,CAAA,MAAA,EAAA,EAAA,KAAK,EAAC,eAAe,EAAA,EAAE,IAAI,CAAC,KAAK,MAAS,CACjD,EACD,CAAM,CAAA,MAAA,EAAA,EAAA,KAAK,EAAC,eAAe,EAAE,EAAA,IAAI,CAAC,KAAK,CAAQ,CAC3C,CACP,CAAC,CACE,EACL,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,KAAK,KAC3B,CAAA,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAK,KAAK,EAAC,eAAe,EAAA,EACxB,CAAM,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,aAAa,EAAc,EAAA,QAAA,CAAA,EACvC,CAAA,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAM,KAAK,EAAC,aAAa,EAAA,EAAE,IAAI,CAAC,KAAK,CAAQ,CACzC,CACP,CACG,CACF,CACD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":["__stencil_proxyCustomElement","HTMLElement"],"sources":["src/components/bh-chart-tooltip/bh-chart-tooltip.css?tag=bh-chart-tooltip&encapsulation=shadow","src/components/bh-chart-tooltip/bh-chart-tooltip.tsx"],"sourcesContent":["@import '../../global/global.css';\n\n:host {\n display: block;\n}\n\n.chart-tooltip {\n position: fixed;\n z-index: 10000;\n pointer-events: none;\n opacity: 0;\n transition: opacity 0.15s ease;\n transform: translate(-50%, -100%);\n margin-top: var(--spacing-sm);\n width: max-content;\n min-width: 120px;\n max-width: 240px;\n}\n\n.chart-tooltip.storybook-mode {\n position: absolute;\n transform: translate(-50%, -100%);\n margin-top: -10px;\n}\n\n.chart-tooltip.visible {\n opacity: 1;\n}\n\n.tooltip-content {\n background: var(--color-white);\n color: var(--color-neutral-900);\n padding: var(--spacing-sm) var(--spacing-md);\n border-radius: var(--radius-md);\n font-family: var(--font-inter);\n font-size: var(--text-xs-size);\n line-height: var(--text-xs-line);\n box-shadow: 0 2px 8px rgba(0, 0, 0, 0.12), 0 0 1px rgba(0, 0, 0, 0.08);\n border: 1px solid rgba(0, 0, 0, 0.05);\n}\n\n.tooltip-header {\n font-weight: var(--weight-semibold);\n margin-bottom: var(--spacing-xs);\n padding-bottom: var(--spacing-xs);\n border-bottom: 1px solid var(--color-neutral-100);\n}\n\n.tooltip-items {\n display: flex;\n flex-direction: column;\n gap: var(--spacing-xs);\n}\n\n.tooltip-item {\n display: flex;\n align-items: center;\n gap: var(--spacing-sm);\n white-space: nowrap;\n}\n\n.tooltip-dot {\n width: var(--spacing-sm);\n height: var(--spacing-sm);\n border-radius: 50%;\n flex-shrink: 0;\n}\n\n.tooltip-label {\n color: var(--color-neutral-600);\n font-weight: var(--weight-regular);\n flex-shrink: 0;\n}\n\n.tooltip-value {\n color: var(--color-neutral-900);\n font-weight: var(--weight-medium);\n}\n\n.tooltip-total {\n margin-top: var(--spacing-xs);\n padding-top: var(--spacing-xs);\n border-top: 1px solid var(--color-neutral-100);\n display: flex;\n justify-content: space-between;\n gap: var(--spacing-md);\n}\n\n.total-label {\n color: var(--color-neutral-600);\n font-weight: var(--weight-medium);\n}\n\n.total-value {\n color: var(--color-neutral-900);\n font-weight: var(--weight-semibold);\n}\n","import { Component, Prop, h, Host } from '@stencil/core';\n\nexport interface TooltipItem {\n color?: string;\n label?: string;\n value: string;\n}\n\n@Component({\n tag: 'bh-chart-tooltip',\n styleUrl: 'bh-chart-tooltip.css',\n shadow: true,\n})\nexport class BhChartTooltip {\n /**\n * Whether the tooltip is visible\n */\n @Prop() visible: boolean = false;\n\n /**\n * X position of the tooltip (in pixels)\n */\n @Prop() x: number = 0;\n\n /**\n * Y position of the tooltip (in pixels)\n */\n @Prop() y: number = 0;\n\n /**\n * Header text for the tooltip\n */\n @Prop() header: string = '';\n\n /**\n * Items to display in the tooltip\n */\n @Prop() items: TooltipItem[] = [];\n\n /**\n * Total value to display\n */\n @Prop() total: string = '';\n\n /**\n * Whether to show the total\n */\n @Prop() showTotal: boolean = false;\n\n /**\n * Whether in storybook mode (for static positioning)\n */\n @Prop() storybookMode: boolean = false;\n\n render() {\n return (\n <Host>\n <div\n class={{\n 'chart-tooltip': true,\n visible: this.visible,\n 'storybook-mode': this.storybookMode,\n }}\n style={{\n left: `${this.x}px`,\n top: `${this.y}px`,\n }}\n >\n <div class=\"tooltip-content\">\n {this.header && <div class=\"tooltip-header\">{this.header}</div>}\n <div class=\"tooltip-items\">\n {this.items.map((item, index) => (\n <div key={index} class=\"tooltip-item\">\n {item.color && (\n <span\n class=\"tooltip-dot\"\n style={{ backgroundColor: item.color }}\n />\n )}\n {item.label && (\n <span class=\"tooltip-label\">{item.label}:</span>\n )}\n <span class=\"tooltip-value\">{item.value}</span>\n </div>\n ))}\n </div>\n {this.showTotal && this.total && (\n <div class=\"tooltip-total\">\n <span class=\"total-label\">Total:</span>\n <span class=\"total-value\">{this.total}</span>\n </div>\n )}\n </div>\n </div>\n </Host>\n );\n }\n}\n"],"version":3}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"file":"p-CbeeTFys.js","mappings":"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","names":["__stencil_proxyCustomElement","HTMLElement"],"sources":["src/components/bh-pagination/bh-pagination.css?tag=bh-pagination&encapsulation=shadow","src/components/bh-pagination/bh-pagination.tsx"],"sourcesContent":["/* =============================================================================\n bh-pagination Component Styles\n ============================================================================= */\n\n:host {\n display: block;\n font-family: var(--font-family-body, 'Inter', sans-serif);\n}\n\n/* -----------------------------------------------------------------------------\n Base Pagination Container\n ----------------------------------------------------------------------------- */\n\n.pagination {\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: var(--sp-4, 1rem);\n padding: var(--sp-3, 0.75rem) var(--sp-4, 1rem);\n background-color: var(--color-white, #fff);\n border-top: 1px solid var(--color-neutral-200, #e2e4eb);\n}\n\n/* -----------------------------------------------------------------------------\n Size Variants\n ----------------------------------------------------------------------------- */\n\n.pagination-sm {\n padding: var(--sp-2, 0.5rem) var(--sp-3, 0.75rem);\n gap: var(--sp-3, 0.75rem);\n}\n\n.pagination-sm .pagination-info-text,\n.pagination-sm .pagination-page-size-label {\n font-size: 0.75rem;\n}\n\n.pagination-sm .pagination-btn {\n width: 28px;\n height: 28px;\n}\n\n.pagination-sm .pagination-btn .material-symbols-outlined {\n font-size: 18px;\n}\n\n.pagination-sm .pagination-select {\n height: 28px;\n font-size: 0.75rem;\n padding: 0 var(--sp-5, 1.25rem) 0 var(--sp-2, 0.5rem);\n}\n\n.pagination-md {\n /* Default - no changes needed */\n}\n\n.pagination-lg {\n padding: var(--sp-4, 1rem) var(--sp-5, 1.25rem);\n gap: var(--sp-5, 1.25rem);\n}\n\n.pagination-lg .pagination-info-text,\n.pagination-lg .pagination-page-size-label {\n font-size: 0.9375rem;\n}\n\n.pagination-lg .pagination-btn {\n width: 40px;\n height: 40px;\n}\n\n.pagination-lg .pagination-btn .material-symbols-outlined {\n font-size: 24px;\n}\n\n.pagination-lg .pagination-select {\n height: 40px;\n font-size: 0.9375rem;\n}\n\n/* -----------------------------------------------------------------------------\n Disabled State\n ----------------------------------------------------------------------------- */\n\n.pagination-disabled {\n opacity: 0.5;\n pointer-events: none;\n}\n\n/* -----------------------------------------------------------------------------\n Info Section\n ----------------------------------------------------------------------------- */\n\n.pagination-info {\n display: flex;\n align-items: center;\n}\n\n.pagination-info-text {\n font-size: 0.875rem;\n color: var(--color-neutral-600, #5c627a);\n white-space: nowrap;\n}\n\n/* -----------------------------------------------------------------------------\n Controls Section\n ----------------------------------------------------------------------------- */\n\n.pagination-controls {\n display: flex;\n align-items: center;\n gap: var(--sp-4, 1rem);\n}\n\n/* -----------------------------------------------------------------------------\n Page Size Selector\n ----------------------------------------------------------------------------- */\n\n.pagination-page-size {\n display: flex;\n align-items: center;\n gap: var(--sp-2, 0.5rem);\n}\n\n.pagination-page-size-label {\n font-size: 0.875rem;\n color: var(--color-neutral-600, #5c627a);\n white-space: nowrap;\n}\n\n.pagination-select {\n appearance: none;\n -webkit-appearance: none;\n -moz-appearance: none;\n background-color: var(--color-white, #fff);\n border: 1px solid var(--color-neutral-300, #c0c4d4);\n border-radius: var(--radius-md, 6px);\n padding: 0 var(--sp-6, 1.5rem) 0 var(--sp-3, 0.75rem);\n height: 32px;\n font-size: 0.875rem;\n color: var(--color-neutral-900, #141624);\n cursor: pointer;\n transition: border-color 0.15s ease, box-shadow 0.15s ease;\n\n /* Custom dropdown arrow */\n background-image: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='%235c627a'%3E%3Cpath d='M7 10l5 5 5-5z'/%3E%3C/svg%3E\");\n background-repeat: no-repeat;\n background-position: right 4px center;\n background-size: 16px;\n}\n\n.pagination-select:hover:not(:disabled) {\n border-color: var(--color-neutral-400, #939ab4);\n}\n\n.pagination-select:focus {\n outline: none;\n border-color: var(--color-brand-500, #6366f1);\n box-shadow: 0 0 0 3px var(--color-brand-100, #e0e1fc);\n}\n\n.pagination-select:disabled {\n background-color: var(--color-neutral-100, #f0f1f5);\n cursor: not-allowed;\n}\n\n/* -----------------------------------------------------------------------------\n Navigation Buttons\n ----------------------------------------------------------------------------- */\n\n.pagination-nav {\n display: flex;\n align-items: center;\n gap: var(--sp-1, 0.25rem);\n}\n\n.pagination-btn {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: 32px;\n height: 32px;\n padding: 0;\n border: none;\n border-radius: var(--radius-md, 6px);\n background-color: transparent;\n color: var(--color-neutral-600, #5c627a);\n cursor: pointer;\n transition: background-color 0.15s ease, color 0.15s ease;\n}\n\n.pagination-btn .material-symbols-outlined {\n font-size: 20px;\n font-variation-settings: 'FILL' 0, 'wght' 400, 'GRAD' 0, 'opsz' 20;\n}\n\n.pagination-btn:hover:not(:disabled) {\n background-color: var(--color-neutral-100, #f0f1f5);\n color: var(--color-neutral-900, #141624);\n}\n\n.pagination-btn:focus {\n outline: none;\n box-shadow: 0 0 0 2px var(--color-brand-100, #e0e1fc);\n}\n\n.pagination-btn:active:not(:disabled) {\n background-color: var(--color-neutral-200, #e2e4eb);\n}\n\n.pagination-btn:disabled {\n opacity: 0.4;\n cursor: not-allowed;\n}\n\n/* -----------------------------------------------------------------------------\n Responsive Adjustments\n ----------------------------------------------------------------------------- */\n\n@media (max-width: 640px) {\n .pagination {\n flex-direction: column;\n align-items: stretch;\n gap: var(--sp-3, 0.75rem);\n }\n\n .pagination-info {\n justify-content: center;\n }\n\n .pagination-controls {\n justify-content: center;\n flex-wrap: wrap;\n }\n\n .pagination-page-size {\n width: 100%;\n justify-content: center;\n }\n\n .pagination-nav {\n justify-content: center;\n }\n}\n","import { Component, Prop, Event, EventEmitter, h, State } from '@stencil/core';\n\nexport type PaginationSize = 'sm' | 'md' | 'lg';\n\nexport interface PaginationChangeEvent {\n page: number;\n pageSize: number;\n}\n\n@Component({\n tag: 'bh-pagination',\n styleUrl: 'bh-pagination.css',\n shadow: true,\n})\nexport class BhPagination {\n /**\n * Current page (1-indexed)\n */\n @Prop({ mutable: true }) page: number = 1;\n\n /**\n * Total number of items\n */\n @Prop() totalItems: number = 0;\n\n /**\n * Number of items per page\n */\n @Prop({ mutable: true }) pageSize: number = 10;\n\n /**\n * Available page size options\n */\n @Prop() pageSizeOptions: number[] = [10, 25, 50, 100];\n\n /**\n * Show page size selector\n */\n @Prop() showPageSizeSelector: boolean = true;\n\n /**\n * Show item count info (e.g., \"Showing 1 to 10 of 100 results\")\n */\n @Prop() showItemCount: boolean = true;\n\n /**\n * Show first/last page buttons\n */\n @Prop() showFirstLastButtons: boolean = true;\n\n /**\n * Size variant of the pagination\n */\n @Prop() size: PaginationSize = 'md';\n\n /**\n * Whether the pagination is disabled\n */\n @Prop() disabled: boolean = false;\n\n /**\n * Label for \"Rows per page\" text (for i18n)\n */\n @Prop() rowsPerPageLabel: string = 'Rows per page:';\n\n /**\n * Label template for showing results (use {start}, {end}, {total} placeholders)\n */\n @Prop() showingResultsLabel: string = 'Showing {start} to {end} of {total} results';\n\n /**\n * Label template for page info when total items unknown (use {page}, {totalPages} placeholders)\n */\n @Prop() pageInfoLabel: string = 'Page {page} of {totalPages}';\n\n @State() internalPage: number = 1;\n @State() internalPageSize: number = 10;\n\n /**\n * Emitted when the page changes\n */\n @Event() bhPageChange!: EventEmitter<PaginationChangeEvent>;\n\n /**\n * Emitted when page size changes\n */\n @Event() bhPageSizeChange!: EventEmitter<PaginationChangeEvent>;\n\n componentWillLoad() {\n this.internalPage = this.page;\n this.internalPageSize = this.pageSize;\n }\n\n private get totalPages(): number {\n return Math.max(1, Math.ceil(this.totalItems / this.internalPageSize));\n }\n\n private get startItem(): number {\n if (this.totalItems === 0) return 0;\n return (this.internalPage - 1) * this.internalPageSize + 1;\n }\n\n private get endItem(): number {\n return Math.min(this.internalPage * this.internalPageSize, this.totalItems);\n }\n\n private get canGoPrevious(): boolean {\n return this.internalPage > 1 && !this.disabled;\n }\n\n private get canGoNext(): boolean {\n return this.internalPage < this.totalPages && !this.disabled;\n }\n\n private goToPage(newPage: number) {\n if (this.disabled) return;\n\n const page = Math.max(1, Math.min(newPage, this.totalPages));\n if (page !== this.internalPage) {\n this.internalPage = page;\n this.page = page;\n this.bhPageChange.emit({ page, pageSize: this.internalPageSize });\n }\n }\n\n private handlePageSizeChange(event: Event) {\n if (this.disabled) return;\n\n const select = event.target as HTMLSelectElement;\n const newPageSize = parseInt(select.value, 10);\n\n if (newPageSize !== this.internalPageSize) {\n this.internalPageSize = newPageSize;\n this.pageSize = newPageSize;\n\n // Reset to page 1 when page size changes, or adjust if current page is now out of bounds\n const newTotalPages = Math.max(1, Math.ceil(this.totalItems / newPageSize));\n const newPage = Math.min(this.internalPage, newTotalPages);\n\n if (newPage !== this.internalPage) {\n this.internalPage = newPage;\n this.page = newPage;\n }\n\n this.bhPageSizeChange.emit({ page: this.internalPage, pageSize: newPageSize });\n }\n }\n\n private goToFirst = () => this.goToPage(1);\n private goToPrevious = () => this.goToPage(this.internalPage - 1);\n private goToNext = () => this.goToPage(this.internalPage + 1);\n private goToLast = () => this.goToPage(this.totalPages);\n\n private getInfoText(): string {\n if (this.totalItems === 0) {\n return 'No results';\n }\n\n if (this.showItemCount && this.totalItems > 0) {\n return this.showingResultsLabel\n .replace('{start}', String(this.startItem))\n .replace('{end}', String(this.endItem))\n .replace('{total}', String(this.totalItems));\n }\n\n return this.pageInfoLabel\n .replace('{page}', String(this.internalPage))\n .replace('{totalPages}', String(this.totalPages));\n }\n\n render() {\n const paginationClasses = {\n 'pagination': true,\n [`pagination-${this.size}`]: true,\n 'pagination-disabled': this.disabled,\n };\n\n return (\n <div class={paginationClasses} role=\"navigation\" aria-label=\"Pagination\">\n {/* Info section */}\n <div class=\"pagination-info\">\n <span class=\"pagination-info-text\">{this.getInfoText()}</span>\n </div>\n\n {/* Controls section */}\n <div class=\"pagination-controls\">\n {/* Page size selector */}\n {this.showPageSizeSelector && (\n <div class=\"pagination-page-size\">\n <span class=\"pagination-page-size-label\">{this.rowsPerPageLabel}</span>\n <select\n class=\"pagination-select\"\n onChange={(e) => this.handlePageSizeChange(e)}\n disabled={this.disabled}\n aria-label=\"Select page size\"\n >\n {this.pageSizeOptions.map((size) => (\n <option key={size} value={String(size)} selected={size === this.internalPageSize}>\n {size}\n </option>\n ))}\n </select>\n </div>\n )}\n\n {/* Navigation buttons */}\n <div class=\"pagination-nav\">\n {this.showFirstLastButtons && (\n <button\n type=\"button\"\n class=\"pagination-btn\"\n onClick={this.goToFirst}\n disabled={!this.canGoPrevious}\n aria-label=\"Go to first page\"\n >\n <span class=\"material-symbols-outlined\">first_page</span>\n </button>\n )}\n\n <button\n type=\"button\"\n class=\"pagination-btn\"\n onClick={this.goToPrevious}\n disabled={!this.canGoPrevious}\n aria-label=\"Go to previous page\"\n >\n <span class=\"material-symbols-outlined\">chevron_left</span>\n </button>\n\n <button\n type=\"button\"\n class=\"pagination-btn\"\n onClick={this.goToNext}\n disabled={!this.canGoNext}\n aria-label=\"Go to next page\"\n >\n <span class=\"material-symbols-outlined\">chevron_right</span>\n </button>\n\n {this.showFirstLastButtons && (\n <button\n type=\"button\"\n class=\"pagination-btn\"\n onClick={this.goToLast}\n disabled={!this.canGoNext}\n aria-label=\"Go to last page\"\n >\n <span class=\"material-symbols-outlined\">last_page</span>\n </button>\n )}\n </div>\n </div>\n </div>\n );\n }\n}\n"],"version":3}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"file":"p-Ccq-Rk5W.js","mappings":"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","names":["__stencil_proxyCustomElement","HTMLElement"],"sources":["src/components/bh-checkbox-group-item/bh-checkbox-group-item.css?tag=bh-checkbox-group-item&encapsulation=shadow","src/components/bh-checkbox-group-item/bh-checkbox-group-item.tsx"],"sourcesContent":[":host {\n display: block;\n}\n\n.checkbox-group-item {\n display: flex;\n align-items: flex-start;\n background: var(--color-white);\n border: 1px solid var(--color-neutral-200);\n border-radius: var(--radius-xl);\n cursor: pointer;\n transition: all 0.2s ease;\n box-sizing: border-box;\n font-family: var(--font-inter);\n outline: none;\n}\n\n/* Size variants */\n.checkbox-group-item-sm {\n padding: var(--spacing-xl);\n gap: var(--spacing-md);\n}\n\n.checkbox-group-item-md {\n padding: var(--spacing-xl) var(--spacing-2xl);\n gap: var(--spacing-lg);\n}\n\n/* Icon simple type has more gap */\n.checkbox-group-item-icon-simple {\n gap: var(--spacing-lg);\n}\n\n/* Active/Selected state */\n.checkbox-group-item-active {\n border-color: var(--color-brand-600);\n box-shadow: inset 0 0 0 1px var(--color-brand-600);\n background: var(--color-brand-50);\n}\n\n/* Hover state */\n.checkbox-group-item-hovered:not(.checkbox-group-item-disabled):not(.checkbox-group-item-active) {\n background: var(--color-neutral-50);\n border-color: var(--color-neutral-300);\n}\n\n/* Focus state */\n.checkbox-group-item-focused:not(.checkbox-group-item-disabled):not(.checkbox-group-item-active) {\n box-shadow: 0px 0px 0px 4px var(--color-brand-100);\n}\n\n.checkbox-group-item-focused.checkbox-group-item-active:not(.checkbox-group-item-disabled) {\n box-shadow: inset 0 0 0 1px var(--color-brand-600),\n 0px 0px 0px 4px var(--color-brand-100);\n}\n\n/* Disabled state */\n.checkbox-group-item-disabled {\n background: var(--color-neutral-100);\n border-color: var(--color-neutral-200);\n cursor: not-allowed;\n opacity: 0.6;\n}\n\n/* Content container */\n.item-content {\n display: flex;\n flex-direction: column;\n flex: 1;\n gap: var(--spacing-xs);\n min-width: 0;\n}\n\n/* Title row with title and subtitle */\n.item-text-row {\n display: flex;\n align-items: center;\n gap: var(--spacing-sm);\n flex-wrap: wrap;\n}\n\n/* Title */\n.item-title {\n font-size: var(--text-sm-size);\n font-weight: var(--weight-semibold);\n line-height: var(--text-sm-line);\n color: var(--color-neutral-900);\n}\n\n/* Subtitle (inline with title) */\n.item-subtitle {\n font-size: var(--text-sm-size);\n font-weight: var(--weight-regular);\n line-height: var(--text-sm-line);\n color: var(--color-neutral-600);\n}\n\n/* Description */\n.item-description {\n font-size: var(--text-sm-size);\n font-weight: var(--weight-regular);\n line-height: var(--text-sm-line);\n color: var(--color-neutral-600);\n margin: 0;\n}\n\n/* Disabled text styles */\n.checkbox-group-item-disabled .item-title,\n.checkbox-group-item-disabled .item-subtitle,\n.checkbox-group-item-disabled .item-description {\n color: var(--color-neutral-400);\n}\n\n/* Prevent inner checkbox/radio from capturing clicks - let the card handle it */\n.checkbox-group-item bh-checkbox,\n.checkbox-group-item bh-radio-button {\n pointer-events: none;\n}\n","import { Component, Prop, State, Event, EventEmitter, h, Host } from '@stencil/core';\n\nexport type CheckboxGroupItemType = 'checkbox' | 'radio' | 'icon-simple';\nexport type CheckboxGroupItemSize = 'sm' | 'md';\n\n@Component({\n tag: 'bh-checkbox-group-item',\n styleUrl: 'bh-checkbox-group-item.css',\n shadow: true,\n})\nexport class BhCheckboxGroupItem {\n /**\n * The type of input control\n */\n @Prop() type: CheckboxGroupItemType = 'checkbox';\n\n /**\n * The size variant\n */\n @Prop() size: CheckboxGroupItemSize = 'sm';\n\n /**\n * Unique value identifier for this item\n */\n @Prop() value: string = '';\n\n /**\n * Whether the item is checked (for checkbox type)\n */\n @Prop({ mutable: true }) checked: boolean = false;\n\n /**\n * Whether the item is selected (for radio type)\n */\n @Prop({ mutable: true }) selected: boolean = false;\n\n /**\n * Whether the item is disabled\n */\n @Prop() disabled: boolean = false;\n\n /**\n * Material Symbol icon name (for icon-simple type)\n */\n @Prop() icon: string = '';\n\n\n /**\n * Title text\n */\n @Prop() itemTitle: string = '';\n\n /**\n * Subtitle text (inline with title)\n */\n @Prop() subtitle: string = '';\n\n /**\n * Description text\n */\n @Prop() description: string = '';\n\n /**\n * Radio group name (for radio type)\n */\n @Prop() name: string = '';\n\n @State() isHovered: boolean = false;\n @State() isFocused: boolean = false;\n\n /**\n * Emitted when the item state changes\n */\n @Event() bhItemChange!: EventEmitter<{ value: string; checked: boolean }>;\n\n private handleClick = () => {\n if (this.disabled) return;\n\n if (this.type === 'radio' || this.type === 'icon-simple') {\n if (!this.selected) {\n this.selected = true;\n this.bhItemChange.emit({ value: this.value, checked: true });\n }\n } else {\n this.checked = !this.checked;\n this.bhItemChange.emit({ value: this.value, checked: this.checked });\n }\n };\n\n private handleKeyDown = (event: KeyboardEvent) => {\n if (event.key === ' ' || event.key === 'Enter') {\n event.preventDefault();\n this.handleClick();\n }\n };\n\n private handleMouseEnter = () => {\n if (!this.disabled) this.isHovered = true;\n };\n\n private handleMouseLeave = () => {\n this.isHovered = false;\n };\n\n private handleFocus = () => {\n if (!this.disabled) this.isFocused = true;\n };\n\n private handleBlur = () => {\n this.isFocused = false;\n };\n\n private handleCheckboxChange = (event: CustomEvent<boolean>) => {\n event.stopPropagation();\n this.checked = event.detail;\n this.bhItemChange.emit({ value: this.value, checked: this.checked });\n };\n\n private handleRadioChange = (event: CustomEvent<string>) => {\n event.stopPropagation();\n this.selected = true;\n this.bhItemChange.emit({ value: this.value, checked: true });\n };\n\n render() {\n const isActive = (this.type === 'radio' || this.type === 'icon-simple') ? this.selected : this.checked;\n\n const containerClasses = {\n 'checkbox-group-item': true,\n [`checkbox-group-item-${this.size}`]: true,\n [`checkbox-group-item-${this.type}`]: true,\n 'checkbox-group-item-active': isActive,\n 'checkbox-group-item-disabled': this.disabled,\n 'checkbox-group-item-hovered': this.isHovered,\n 'checkbox-group-item-focused': this.isFocused,\n };\n\n const renderInput = () => {\n if (this.type === 'radio') {\n return (\n <bh-radio-button\n size={this.size}\n selected={this.selected}\n disabled={this.disabled}\n value={this.value}\n name={this.name}\n onBhChange={this.handleRadioChange}\n />\n );\n }\n // For icon-simple, use `selected` state; for checkbox, use `checked` state\n const isChecked = this.type === 'icon-simple' ? this.selected : this.checked;\n return (\n <bh-checkbox\n size={this.size}\n checked={isChecked}\n disabled={this.disabled}\n onBhChange={this.handleCheckboxChange}\n />\n );\n };\n\n const renderIcon = () => {\n if (this.type === 'icon-simple' && this.icon) {\n return (\n <bh-featured-icon\n size=\"sm\"\n icon={this.icon}\n color=\"gray\"\n iconStyle=\"outlined\"\n />\n );\n }\n return null;\n };\n\n const renderContent = () => (\n <div class=\"item-content\">\n <div class=\"item-text-row\">\n {this.itemTitle && <span class=\"item-title\">{this.itemTitle}</span>}\n {this.subtitle && <span class=\"item-subtitle\">{this.subtitle}</span>}\n </div>\n {this.description && <p class=\"item-description\">{this.description}</p>}\n </div>\n );\n\n return (\n <Host>\n <div\n class={containerClasses}\n onClick={this.handleClick}\n onKeyDown={this.handleKeyDown}\n onMouseEnter={this.handleMouseEnter}\n onMouseLeave={this.handleMouseLeave}\n onFocus={this.handleFocus}\n onBlur={this.handleBlur}\n tabIndex={this.disabled ? -1 : 0}\n role={this.type === 'radio' ? 'radio' : 'checkbox'}\n aria-checked={String(isActive)}\n aria-disabled={this.disabled ? 'true' : null}\n >\n {this.type === 'icon-simple' ? (\n // Icon Simple: icon + content | input\n [renderIcon(), renderContent(), renderInput()]\n ) : (\n // Checkbox/Radio: input | content\n [renderInput(), renderContent()]\n )}\n </div>\n </Host>\n );\n }\n}\n"],"version":3}
|