@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":"bh-modal-header.js","mappings":";;;;AAAA,MAAM,gBAAgB,GAAG,kvDAAkvD;;MCO9vDA,eAAa,iBAAAC,kBAAA,CAAA,MAAA,aAAA,SAAAC,CAAA,CAAA;;;;;;;;;AACxB;;AAEG;AACK,IAAA,UAAU;AAElB;;AAEG;AACK,IAAA,WAAW;AAEnB;;AAEG;AACK,IAAA,IAAI;AAEZ;;AAEG;IACK,SAAS,GAMC,SAAS;AAE3B;;AAEG;IACK,QAAQ,GAAY,IAAI;AAEhC;;AAEG;IACK,eAAe,GAAY,IAAI;AAEvC;;AAEG;IACK,IAAI,GACV,cAAc;AAEhB;;AAEG;IACK,aAAa,GAAY,IAAI;AAErC;;AAEG;IACK,OAAO,GAAY,KAAK;AAEhC;;AAEG;AACM,IAAA,OAAO;IAER,WAAW,GAAG,MAAW;AAC/B,QAAA,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE;AACrB,KAAC;IAED,MAAM,GAAA;AACJ,QAAA,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,KAAK,yBAAyB;AAC5D,QAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,KAAK,gBAAgB;QAE/C,QACE,EAAC,IAAI,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,EACH,CAAA,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EACE,KAAK,EAAE;AACL,gBAAA,cAAc,EAAE,IAAI;AACpB,gBAAA,sBAAsB,EAAE,QAAQ;AAChC,gBAAA,0BAA0B,EAAE,YAAY;aACzC,EAAA,EAED,CAAA,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EACE,KAAK,EAAE;AACL,gBAAA,sBAAsB,EAAE,IAAI;AAC5B,gBAAA,8BAA8B,EAAE,QAAQ;AACxC,gBAAA,kCAAkC,EAAE,YAAY;aACjD,EAAA,EAEA,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,IAAI,KACzB,CACE,CAAA,kBAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,IAAI,EAAE,IAAI,CAAC,IAAI,EACf,KAAK,EAAE,IAAI,CAAC,SAAS,EACrB,IAAI,EAAC,IAAI,EACT,SAAS,EAAC,UAAU,GACpB,CACH,EAED,CAAA,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EACE,KAAK,EAAE;AACL,gBAAA,oBAAoB,EAAE,IAAI;AAC1B,gBAAA,4BAA4B,EAAE,QAAQ;AACtC,gBAAA,gCAAgC,EAAE,YAAY;AAC/C,aAAA,EAAA,EAED,CAAA,CAAA,IAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAI,KAAK,EAAC,aAAa,IAAE,IAAI,CAAC,UAAU,CAAM,EAC7C,IAAI,CAAC,WAAW,KACf,0DAAG,KAAK,EAAC,mBAAmB,EAAA,EAAE,IAAI,CAAC,WAAW,CAAK,CACpD,CACG,CACF,EAEL,IAAI,CAAC,eAAe,KACnB,uEACE,KAAK,EAAC,cAAc,EACpB,SAAS,EAAC,YAAY,EACtB,IAAI,EAAC,IAAI,EACT,QAAQ,EAAC,OAAO,EAChB,SAAS,EAAC,aAAa,EACvB,SAAS,EAAE,IAAI,CAAC,WAAW,EAAA,CAC3B,CACH,CACG,EAEL,IAAI,CAAC,aAAa,IAAI,4DAAK,KAAK,EAAC,gBAAgB,EAAG,CAAA,EAEpD,IAAI,CAAC,OAAO,IAAI,CAAK,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,SAAS,EAAA,CAAG,CACnC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":["BhModalHeader","__stencil_proxyCustomElement","HTMLElement"],"sources":["src/components/bh-modal-header/bh-modal-header.css?tag=bh-modal-header&encapsulation=shadow","src/components/bh-modal-header/bh-modal-header.tsx"],"sourcesContent":[":host {\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: var(--spacing-none, 0px);\n width: 100%;\n}\n\n.modal-header {\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n gap: var(--spacing-none, 0px);\n width: 100%;\n position: relative;\n}\n\n.modal-header--center {\n align-items: center;\n}\n\n.modal-header--horizontal {\n flex-direction: row;\n align-items: flex-start;\n}\n\n.modal-header-content {\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n gap: var(--spacing-xl, 16px);\n padding: var(--spacing-3xl, 24px);\n padding-bottom: var(--spacing-none, 0px);\n width: 100%;\n}\n\n.modal-header-content--center {\n align-items: center;\n}\n\n.modal-header-content--horizontal {\n flex-direction: row;\n align-items: flex-start;\n}\n\n.modal-text-content {\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n gap: var(--spacing-xs, 4px);\n width: 100%;\n flex: 1;\n min-width: 0;\n}\n\n.modal-text-content--center {\n align-items: center;\n text-align: center;\n}\n\n.modal-text-content--horizontal {\n flex: 1;\n min-width: 1px;\n min-height: 1px;\n}\n\n.modal-title {\n margin: 0;\n font-family: var(--font-family-body, 'Inter', sans-serif);\n font-weight: var(--weight-semibold, 600);\n font-size: var(--text-lg-size, 18px);\n line-height: var(--text-lg-line-height, 28px);\n letter-spacing: var(--letter-spacing-normal, 0px);\n color: var(--color-text-primary, #111322);\n width: 100%;\n}\n\n.modal-description {\n margin: 0;\n font-family: var(--font-family-body, 'Inter', sans-serif);\n font-weight: var(--weight-regular, 400);\n font-size: var(--text-sm-size, 14px);\n line-height: var(--text-sm-line-height, 20px);\n letter-spacing: var(--letter-spacing-normal, 0px);\n color: var(--color-text-tertiary, #4a5578);\n width: 100%;\n}\n\n.close-button {\n position: absolute;\n top: var(--spacing-lg, 12px);\n right: var(--spacing-lg, 12px);\n}\n\n.padding-bottom {\n height: 20px;\n width: 100%;\n flex-shrink: 0;\n}\n\n.divider {\n height: 1px;\n width: 100%;\n flex-shrink: 0;\n background-color: var(--color-border-secondary, #dcdfea);\n}\n","import { Component, Prop, Event, EventEmitter, h, Host } from '@stencil/core';\n\n@Component({\n tag: 'bh-modal-header',\n styleUrl: 'bh-modal-header.css',\n shadow: true,\n})\nexport class BhModalHeader {\n /**\n * Modal title (required)\n */\n @Prop() modalTitle!: string;\n\n /**\n * Modal description/supporting text\n */\n @Prop() description?: string;\n\n /**\n * Icon name for the featured icon (Material Symbols)\n */\n @Prop() icon?: string;\n\n /**\n * Color theme for the featured icon\n */\n @Prop() iconColor:\n | 'brand'\n | 'gray'\n | 'error'\n | 'warning'\n | 'success'\n | 'highlight' = 'success';\n\n /**\n * Whether to show the featured icon\n */\n @Prop() showIcon: boolean = true;\n\n /**\n * Whether to show the close button\n */\n @Prop() showCloseButton: boolean = true;\n\n /**\n * Header alignment type\n */\n @Prop() type: 'left-aligned' | 'center-aligned' | 'horizontal-left-aligned' =\n 'left-aligned';\n\n /**\n * Whether to show padding at the bottom\n */\n @Prop() paddingBottom: boolean = true;\n\n /**\n * Whether to show the divider line\n */\n @Prop() divider: boolean = false;\n\n /**\n * Emitted when the close button is clicked\n */\n @Event() bhClose!: EventEmitter<void>;\n\n private handleClose = (): void => {\n this.bhClose.emit();\n };\n\n render() {\n const isHorizontal = this.type === 'horizontal-left-aligned';\n const isCenter = this.type === 'center-aligned';\n\n return (\n <Host>\n <div\n class={{\n 'modal-header': true,\n 'modal-header--center': isCenter,\n 'modal-header--horizontal': isHorizontal,\n }}\n >\n <div\n class={{\n 'modal-header-content': true,\n 'modal-header-content--center': isCenter,\n 'modal-header-content--horizontal': isHorizontal,\n }}\n >\n {this.showIcon && this.icon && (\n <bh-featured-icon\n icon={this.icon}\n color={this.iconColor}\n size=\"md\"\n iconStyle=\"outlined\"\n />\n )}\n\n <div\n class={{\n 'modal-text-content': true,\n 'modal-text-content--center': isCenter,\n 'modal-text-content--horizontal': isHorizontal,\n }}\n >\n <h3 class=\"modal-title\">{this.modalTitle}</h3>\n {this.description && (\n <p class=\"modal-description\">{this.description}</p>\n )}\n </div>\n </div>\n\n {this.showCloseButton && (\n <bh-button-icon\n class=\"close-button\"\n hierarchy=\"quaternary\"\n size=\"sm\"\n iconName=\"close\"\n ariaLabel=\"Close modal\"\n onBhClick={this.handleClose}\n />\n )}\n </div>\n\n {this.paddingBottom && <div class=\"padding-bottom\" />}\n\n {this.divider && <div class=\"divider\" />}\n </Host>\n );\n }\n}\n"],"version":3}
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import { B as BhModal$1, d as defineCustomElement$1 } from './p-DURWm67o.js';
|
|
2
|
-
|
|
3
|
-
const BhModal = BhModal$1;
|
|
4
|
-
const defineCustomElement = defineCustomElement$1;
|
|
5
|
-
|
|
6
|
-
export { BhModal, defineCustomElement };
|
|
7
|
-
//# sourceMappingURL=bh-modal.js.map
|
|
8
|
-
|
|
9
|
-
//# sourceMappingURL=bh-modal.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"file":"bh-modal.js","mappings":";;;;;;;","names":[],"sources":[],"sourcesContent":[],"version":3}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"file":"bh-month-picker.js","mappings":"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","names":["BhMonthPicker","__stencil_proxyCustomElement","HTMLElement"],"sources":["src/components/bh-month-picker/bh-month-picker.css?tag=bh-month-picker&encapsulation=shadow","src/components/bh-month-picker/bh-month-picker.tsx"],"sourcesContent":["@import '../../global/global.css';\n\n:host {\n display: inline-block;\n position: relative;\n}\n\n.month-picker-container {\n position: relative;\n display: inline-block;\n}\n\n.month-picker-trigger {\n cursor: pointer;\n}\n\n.month-picker-trigger.input-field-container {\n position: relative;\n}\n\n.calendar-icon-overlay {\n position: absolute;\n top: 0;\n right: 0;\n width: 40px;\n height: 100%;\n cursor: pointer;\n z-index: 1;\n}\n\n.month-picker-menu-container {\n position: absolute;\n top: 100%;\n left: 0;\n z-index: 1000;\n margin-top: var(--spacing-xs);\n}\n\n.month-picker-backdrop {\n position: fixed;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n z-index: 999;\n background: transparent;\n}\n","import { Component, Prop, State, Event, EventEmitter, Watch, h, Host } from '@stencil/core';\nimport { MonthYear, DisabledMonth } from '../bh-month-picker-content/bh-month-picker-content';\n\nexport type MonthPickerVariant = 'dropdown-outlined' | 'dropdown-ghost' | 'input';\n\n@Component({\n tag: 'bh-month-picker',\n styleUrl: 'bh-month-picker.css',\n shadow: true,\n})\nexport class BhMonthPicker {\n /**\n * Variant of the month picker trigger\n */\n @Prop() variant: MonthPickerVariant = 'dropdown-outlined';\n\n /**\n * Minimum year in the picker\n */\n @Prop() minYear: number = 1998;\n\n /**\n * Maximum year in the picker\n */\n @Prop() maxYear: number = 2060;\n\n /**\n * Whether the picker is disabled\n */\n @Prop() disabled: boolean = false;\n\n /**\n * Array of disabled months\n */\n @Prop() disabledMonths: DisabledMonth[] = [];\n\n /**\n * Label for input variant\n */\n @Prop() label: string = 'Select Month';\n\n /**\n * Placeholder text\n */\n @Prop() placeholder: string = 'Choose month and year';\n\n /**\n * Width for input variant\n */\n @Prop() inputWidth: string = '200px';\n\n /**\n * Whether to show the label\n */\n @Prop() showLabel: boolean = true;\n\n /**\n * Whether to show the footer\n */\n @Prop() showFooter: boolean = true;\n\n /**\n * Currently selected value\n */\n @Prop() value?: MonthYear;\n\n @State() selectedValue: MonthYear | null = null;\n @State() tempSelection: MonthYear | null = null;\n @State() isMenuOpen: boolean = false;\n @State() isMenuClosing: boolean = false;\n\n /**\n * Event emitted when value changes\n */\n @Event() bhChange!: EventEmitter<MonthYear | null>;\n\n /**\n * Event emitted when a month/year is selected\n */\n @Event() bhMonthYearSelect!: EventEmitter<MonthYear>;\n\n @Watch('value')\n handleValueChange(newValue: MonthYear | undefined) {\n if (newValue !== undefined) {\n this.selectedValue = newValue;\n }\n }\n\n componentWillLoad() {\n if (this.value) {\n this.selectedValue = this.value;\n }\n }\n\n private getDisplayValue(): string {\n if (!this.selectedValue) return '';\n // US convention: MM/YYYY (01/2025)\n const month = (this.selectedValue.month + 1).toString().padStart(2, '0');\n return `${month}/${this.selectedValue.year}`;\n }\n\n private getButtonLabel(): string {\n return this.getDisplayValue() || this.placeholder;\n }\n\n private handleTriggerClick = () => {\n if (this.disabled) return;\n if (!this.isMenuOpen && this.showFooter) {\n this.tempSelection = this.selectedValue;\n }\n this.isMenuOpen = !this.isMenuOpen;\n };\n\n private handleInputFocus = () => {\n if (this.disabled) return;\n if (!this.isMenuOpen && this.showFooter) {\n this.tempSelection = this.selectedValue;\n }\n this.isMenuOpen = true;\n };\n\n private handleMonthYearSelect = (event: CustomEvent<MonthYear | null>) => {\n const monthYear = event.detail;\n if (!monthYear) return;\n if (this.showFooter) {\n this.tempSelection = monthYear;\n } else {\n this.selectedValue = monthYear;\n this.bhChange.emit(monthYear);\n this.bhMonthYearSelect.emit(monthYear);\n this.closeMenu();\n }\n };\n\n private handleMenuCancel = () => {\n this.tempSelection = null;\n this.closeMenu();\n };\n\n private handleMenuApply = () => {\n if (this.tempSelection) {\n this.selectedValue = this.tempSelection;\n this.bhChange.emit(this.tempSelection);\n this.bhMonthYearSelect.emit(this.tempSelection);\n this.tempSelection = null;\n }\n this.closeMenu();\n };\n\n private closeMenu() {\n this.isMenuClosing = true;\n setTimeout(() => {\n this.isMenuOpen = false;\n this.isMenuClosing = false;\n }, 150);\n }\n\n private handleBackdropClick = () => {\n this.handleMenuCancel();\n };\n\n render() {\n return (\n <Host>\n <div class=\"month-picker-container\">\n {/* Dropdown Outlined Variant */}\n {this.variant === 'dropdown-outlined' && (\n <div class=\"month-picker-trigger\" onClick={this.handleTriggerClick}>\n <bh-button\n hierarchy=\"secondary\"\n \n size=\"sm\"\n icon=\"trailing\"\n label={this.getButtonLabel()}\n iconName=\"expand_more\"\n disabled={this.disabled}\n ></bh-button>\n </div>\n )}\n\n {/* Dropdown Ghost Variant */}\n {this.variant === 'dropdown-ghost' && (\n <div class=\"month-picker-trigger\" onClick={this.handleTriggerClick}>\n <bh-button\n hierarchy=\"tertiary\"\n \n size=\"sm\"\n icon=\"trailing\"\n label={this.getButtonLabel()}\n iconName=\"expand_more\"\n disabled={this.disabled}\n ></bh-button>\n </div>\n )}\n\n {/* Input Variant */}\n {this.variant === 'input' && (\n <div class=\"month-picker-trigger input-field-container\">\n <bh-input-text\n label={this.label}\n placeholder={this.placeholder}\n value={this.getDisplayValue()}\n disabled={this.disabled}\n showTrailingIcon={true}\n trailingIcon=\"calendar_month\"\n showHelpIcon={false}\n showHintText={false}\n showLabel={this.showLabel}\n width={this.inputWidth}\n onBhFocus={this.handleInputFocus}\n ></bh-input-text>\n <div class=\"calendar-icon-overlay\" onClick={this.handleTriggerClick}></div>\n </div>\n )}\n\n {/* Month Picker Menu */}\n <div class=\"month-picker-menu-container\">\n <bh-picker-menu\n visible={this.isMenuOpen}\n minYear={this.minYear}\n maxYear={this.maxYear}\n disabled={this.disabled}\n disabledMonths={this.disabledMonths}\n showFooter={this.showFooter}\n value={this.tempSelection || this.selectedValue || undefined}\n onBhChange={this.handleMonthYearSelect}\n onBhMonthYearSelect={this.handleMonthYearSelect}\n onBhCancel={this.handleMenuCancel}\n onBhApply={this.handleMenuApply}\n ></bh-picker-menu>\n </div>\n </div>\n\n {/* Backdrop */}\n {(this.isMenuOpen || this.isMenuClosing) && (\n <div class=\"month-picker-backdrop\" onClick={this.handleBackdropClick}></div>\n )}\n </Host>\n );\n }\n}\n"],"version":3}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"file":"bh-notification.js","mappings":"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","names":["BhNotification","__stencil_proxyCustomElement","HTMLElement"],"sources":["src/components/bh-notification/bh-notification.css?tag=bh-notification&encapsulation=shadow","src/components/bh-notification/bh-notification.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/* Base Notification */\n.notification {\n display: flex;\n align-items: flex-start;\n gap: 16px;\n padding: 16px;\n background: var(--color-white, #ffffff);\n border: 1px solid var(--color-neutral-200, #eaecf0);\n border-radius: 12px;\n box-shadow: 0 1px 3px rgba(16, 24, 40, 0.1), 0 1px 2px rgba(16, 24, 40, 0.06);\n position: relative;\n}\n\n/* Content Area */\n.notification-content {\n display: flex;\n gap: 12px;\n flex: 1;\n min-width: 0;\n}\n\n/* Icon Wrapper */\n.notification-icon-wrapper {\n flex-shrink: 0;\n}\n\n/* Text Content */\n.notification-text {\n display: flex;\n flex-direction: column;\n gap: 12px;\n flex: 1;\n min-width: 0;\n}\n\n.notification-text-wrapper {\n display: flex;\n flex-direction: column;\n gap: 4px;\n}\n\n.notification-title {\n font-size: var(--text-sm-size, 14px);\n font-weight: 600;\n color: var(--color-neutral-900, #101828);\n margin: 0;\n line-height: 1.43;\n}\n\n.notification-description {\n font-size: var(--text-sm-size, 14px);\n font-weight: 400;\n color: var(--color-neutral-600, #475467);\n margin: 0;\n line-height: 1.43;\n}\n\n/* Actions */\n.notification-actions {\n display: flex;\n gap: 12px;\n}\n\n/* Close Button */\n.notification-close {\n position: absolute;\n top: 8px;\n right: 8px;\n display: flex;\n align-items: center;\n justify-content: center;\n width: 20px;\n height: 20px;\n padding: 0;\n border: none;\n background: transparent;\n cursor: pointer;\n border-radius: 4px;\n transition: background 0.2s ease-in-out;\n}\n\n.notification-close:hover {\n background: var(--color-neutral-100, #f2f4f7);\n}\n\n.close-icon {\n font-size: 16px;\n color: var(--color-neutral-400, #98a2b3);\n}\n\n/* Material Symbols */\n.material-symbols-outlined {\n font-family: 'Material Symbols Outlined';\n font-weight: normal;\n font-style: normal;\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, Event, EventEmitter, h } from '@stencil/core';\n\nexport type NotificationType =\n | 'primary'\n | 'default'\n | 'success'\n | 'error'\n | 'warning'\n | 'feature';\n\n@Component({\n tag: 'bh-notification',\n styleUrl: 'bh-notification.css',\n shadow: true,\n})\nexport class BhNotification {\n /**\n * Type of notification (determines color and icon)\n */\n @Prop() type: NotificationType = 'default';\n\n /**\n * Notification title\n */\n @Prop() notificationTitle: string = '';\n\n /**\n * Notification description\n */\n @Prop() description: string = '';\n\n /**\n * Text for the action button\n */\n @Prop() actionText: string = '';\n\n /**\n * Text for the dismiss button\n */\n @Prop() dismissText: string = '';\n\n /**\n * Whether to show the close button\n */\n @Prop() dismissible: boolean = true;\n\n /**\n * Custom icon name (overrides type-based icon)\n */\n @Prop() icon: string = '';\n\n /**\n * Emitted when action button is clicked\n */\n @Event() bhAction!: EventEmitter<void>;\n\n /**\n * Emitted when dismiss button is clicked\n */\n @Event() bhDismiss!: EventEmitter<void>;\n\n /**\n * Emitted when close button is clicked\n */\n @Event() bhClose!: EventEmitter<void>;\n\n private getIconName(): string {\n if (this.icon) return this.icon;\n\n switch (this.type) {\n case 'primary':\n return 'new_releases';\n case 'success':\n return 'check_circle';\n case 'error':\n return 'error';\n case 'warning':\n return 'warning';\n case 'feature':\n return 'rocket_launch';\n case 'default':\n return 'info';\n default:\n return 'info';\n }\n }\n\n private getIconColor(): 'brand' | 'gray' | 'error' | 'warning' | 'success' | 'highlight' {\n switch (this.type) {\n case 'primary':\n return 'brand';\n case 'success':\n return 'success';\n case 'error':\n return 'error';\n case 'warning':\n return 'warning';\n case 'feature':\n return 'highlight';\n case 'default':\n default:\n return 'gray';\n }\n }\n\n private getIconStyle(): 'outlined' | 'filled' {\n switch (this.type) {\n case 'primary':\n return 'outlined';\n case 'success':\n return 'filled';\n case 'error':\n return 'filled';\n case 'warning':\n return 'filled';\n case 'feature':\n return 'outlined';\n case 'default':\n default:\n return 'outlined';\n }\n }\n\n private handleAction = (): void => {\n this.bhAction.emit();\n };\n\n private handleDismiss = (): void => {\n this.bhDismiss.emit();\n };\n\n private handleClose = (): void => {\n this.bhClose.emit();\n };\n\n render() {\n const notificationClasses = {\n notification: true,\n [`notification-${this.type}`]: true,\n };\n\n return (\n <div class={notificationClasses} role=\"alert\" part=\"container\">\n <div class=\"notification-content\">\n {/* Icon */}\n <div class=\"notification-icon-wrapper\">\n <bh-featured-icon\n icon={this.getIconName()}\n color={this.getIconColor()}\n size=\"sm\"\n iconStyle={this.getIconStyle()}\n />\n </div>\n\n {/* Text Content */}\n <div class=\"notification-text\">\n <div class=\"notification-text-wrapper\">\n {this.notificationTitle && (\n <h3 class=\"notification-title\">{this.notificationTitle}</h3>\n )}\n {this.description && (\n <p class=\"notification-description\">{this.description}</p>\n )}\n </div>\n\n {/* Actions */}\n {(this.actionText || this.dismissText) && (\n <div class=\"notification-actions\">\n {this.dismissText && (\n <bh-button\n hierarchy=\"quaternary\"\n size=\"sm\"\n label={this.dismissText}\n icon=\"none\"\n onBhClick={this.handleDismiss}\n />\n )}\n {this.actionText && (\n <bh-button\n hierarchy=\"quaternary\"\n size=\"sm\"\n label={this.actionText}\n icon=\"none\"\n onBhClick={this.handleAction}\n />\n )}\n </div>\n )}\n </div>\n </div>\n\n {/* Close Button */}\n {this.dismissible && (\n <button\n class=\"notification-close\"\n onClick={this.handleClose}\n aria-label=\"Close notification\"\n >\n <span class=\"material-symbols-outlined close-icon\">close</span>\n </button>\n )}\n </div>\n );\n }\n}"],"version":3}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"file":"bh-page-navigation.js","mappings":";;;;;;;AAAA,MAAM,mBAAmB,GAAG,u4KAAu4K;;MCyBt5KA,kBAAgB,iBAAAC,kBAAA,CAAA,MAAA,gBAAA,SAAAC,CAAA,CAAA;;;;;;;;;AAC3B;;AAEG;IACK,QAAQ,GAAW,YAAY;AAEvC;;AAEG;IACK,eAAe,GAAqB,EAAE;AAE9C;;AAEG;IACM,KAAK,GAAqB,EAAE;AAErC;;AAEG;AACM,IAAA,WAAW;AAGpB,IAAA,2BAA2B,CAAC,QAA0B,EAAA;AACpD,QAAA,IAAI,CAAC,KAAK,GAAG,CAAC,GAAG,QAAQ,CAAC;;IAG5B,iBAAiB,GAAA;QACf,IAAI,CAAC,KAAK,GAAG,CAAC,GAAG,IAAI,CAAC,eAAe,CAAC;;IAGhC,kBAAkB,GAAA;AACxB,QAAA,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,KAAK;AACnC,YAAA,GAAG,IAAI;AACP,YAAA,QAAQ,EAAE,KAAK;YACf,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,KAAK,KAAK,EAAE,GAAG,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;AACvE,SAAA,CAAC,CAAC;;AAGG,IAAA,sBAAsB,GAAG,CAAC,MAAc,KAAI;QAClD,IAAI,CAAC,kBAAkB,EAAE;AACzB,QAAA,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,IAC9B,IAAI,CAAC,EAAE,KAAK,MAAM,GAAG,EAAE,GAAG,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,IAAI,CACxD;QACD,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;AACnC,KAAC;AAEO,IAAA,sBAAsB,GAAG,CAAC,MAAc,KAAI;AAClD,QAAA,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,IAC9B,IAAI,CAAC,EAAE,KAAK,MAAM,GAAG,EAAE,GAAG,IAAI,EAAE,UAAU,EAAE,CAAC,IAAI,CAAC,UAAU,EAAE,GAAG,IAAI,CACtE;AACH,KAAC;AAEO,IAAA,0BAA0B,GAAG,CAAC,MAAc,EAAE,UAAkB,KAAI;QAC1E,IAAI,CAAC,kBAAkB,EAAE;QACzB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,IAC9B,IAAI,CAAC,EAAE,KAAK,MAAM,IAAI,IAAI,CAAC;AACzB,cAAE;AACE,gBAAA,GAAG,IAAI;AACP,gBAAA,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,KAAK,MAAM;AAC7C,oBAAA,GAAG,KAAK;oBACR,QAAQ,EAAE,KAAK,KAAK,UAAU;AAC/B,iBAAA,CAAC,CAAC;AACJ;cACD,IAAI,CACT;QACD,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC;AAC/C,KAAC;IAED,MAAM,GAAA;QACJ,QACE,EAAC,IAAI,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,EACH,CAAK,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,iBAAiB,EAAA,EAC1B,CAAK,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,wBAAwB,EAAA,EACjC,CAAI,CAAA,IAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,uBAAuB,EAAA,EAAE,IAAI,CAAC,QAAQ,CAAM,CAClD,EAEN,CAAA,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAK,KAAK,EAAC,sBAAsB,EAAA,EAC9B,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,IAClB,IAAI,CAAC,IAAI,KAAK,QAAQ,IACpB,CACE,CAAA,iCAAA,EAAA,EAAA,GAAG,EAAE,IAAI,CAAC,EAAE,EACZ,KAAK,EAAE,IAAI,CAAC,KAAK,EACjB,IAAI,EAAE,IAAI,CAAC,IAAI,EACf,QAAQ,EAAE,IAAI,CAAC,QAAQ,IAAI,KAAK,EAChC,aAAa,EAAE,MAAM,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,EAAE,CAAC,EAAA,CACxB,KAEnC,sCACE,GAAG,EAAE,IAAI,CAAC,EAAE,EACZ,KAAK,EAAE,IAAI,CAAC,KAAK,EACjB,IAAI,EAAE,IAAI,CAAC,IAAI,EACf,UAAU,EAAE,IAAI,CAAC,QAAQ,IAAI,EAAE,EAC/B,UAAU,EAAE,IAAI,CAAC,UAAU,IAAI,KAAK,EACpC,UAAU,EAAE,MAAM,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,EAAE,CAAC,EACtD,cAAc,EAAE,CAAC,CAAsB,KACrC,IAAI,CAAC,0BAA0B,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,EAAA,CAEpB,CACnC,CACF,CACG,CACF,CACD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":["BhPageNavigation","__stencil_proxyCustomElement","HTMLElement"],"sources":["src/components/bh-page-navigation/bh-page-navigation.css?tag=bh-page-navigation&encapsulation=shadow","src/components/bh-page-navigation/bh-page-navigation.tsx"],"sourcesContent":["@import '../../global/global.css';\n\n:host {\n display: block;\n}\n\n/* Main Page Navigation Container */\n.page-navigation {\n width: 320px;\n min-width: 280px;\n background-color: var(--color-white);\n padding: var(--spacing-xl) var(--spacing-md);\n font-family: var(--font-inter);\n height: 100vh;\n overflow-y: auto;\n border-right: 1px solid var(--color-neutral-200);\n box-sizing: border-box;\n user-select: none;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n}\n\n.page-navigation-header {\n margin-bottom: var(--spacing-3xl);\n}\n\n.page-navigation-title {\n font-size: var(--text-xl-size);\n font-weight: var(--weight-semibold);\n line-height: var(--text-xl-line);\n color: var(--color-neutral-900);\n padding: var(--spacing-none) var(--spacing-xl);\n margin: 0;\n}\n\n.page-navigation-list {\n display: flex;\n flex-direction: column;\n gap: var(--spacing-sm);\n}\n\n/* Responsive Design */\n@media (max-width: 768px) {\n .page-navigation {\n width: 280px;\n min-width: 280px;\n }\n}\n","import { Component, Prop, State, Event, EventEmitter, h, Host, Watch } from '@stencil/core';\n\nexport interface ChildItem {\n label: string;\n badge?: string | number;\n showBadge?: boolean;\n isActive?: boolean;\n}\n\nexport interface NavigationItem {\n id: string;\n label: string;\n icon?: string;\n type: 'single' | 'expandable';\n isActive?: boolean;\n isExpanded?: boolean;\n badge?: string | number;\n children?: ChildItem[];\n}\n\n@Component({\n tag: 'bh-page-navigation',\n styleUrl: 'bh-page-navigation.css',\n shadow: true,\n})\nexport class BhPageNavigation {\n /**\n * Title displayed at the top of the navigation\n */\n @Prop() navTitle: string = 'Navigation';\n\n /**\n * Array of navigation items\n */\n @Prop() navigationItems: NavigationItem[] = [];\n\n /**\n * Internal state to track navigation items\n */\n @State() items: NavigationItem[] = [];\n\n /**\n * Event emitted when a navigation item is clicked\n */\n @Event() bhItemClick!: EventEmitter<{ itemId: string; childIndex?: number }>;\n\n @Watch('navigationItems')\n handleNavigationItemsChange(newValue: NavigationItem[]) {\n this.items = [...newValue];\n }\n\n componentWillLoad() {\n this.items = [...this.navigationItems];\n }\n\n private clearAllSelections() {\n this.items = this.items.map(item => ({\n ...item,\n isActive: false,\n children: item.children?.map(child => ({ ...child, isActive: false })),\n }));\n }\n\n private handleSingleLevelClick = (itemId: string) => {\n this.clearAllSelections();\n this.items = this.items.map(item =>\n item.id === itemId ? { ...item, isActive: true } : item,\n );\n this.bhItemClick.emit({ itemId });\n };\n\n private handleMultiLevelToggle = (itemId: string) => {\n this.items = this.items.map(item =>\n item.id === itemId ? { ...item, isExpanded: !item.isExpanded } : item,\n );\n };\n\n private handleMultiLevelChildClick = (itemId: string, childIndex: number) => {\n this.clearAllSelections();\n this.items = this.items.map(item =>\n item.id === itemId && item.children\n ? {\n ...item,\n children: item.children.map((child, index) => ({\n ...child,\n isActive: index === childIndex,\n })),\n }\n : item,\n );\n this.bhItemClick.emit({ itemId, childIndex });\n };\n\n render() {\n return (\n <Host>\n <div class=\"page-navigation\">\n <div class=\"page-navigation-header\">\n <h2 class=\"page-navigation-title\">{this.navTitle}</h2>\n </div>\n\n <nav class=\"page-navigation-list\">\n {this.items.map(item =>\n item.type === 'single' ? (\n <bh-page-navigation-single-level\n key={item.id}\n label={item.label}\n icon={item.icon}\n isActive={item.isActive || false}\n onBhItemClick={() => this.handleSingleLevelClick(item.id)}\n ></bh-page-navigation-single-level>\n ) : (\n <bh-page-navigation-multi-level\n key={item.id}\n label={item.label}\n icon={item.icon}\n childItems={item.children || []}\n isExpanded={item.isExpanded || false}\n onBhToggle={() => this.handleMultiLevelToggle(item.id)}\n onBhChildClick={(e: CustomEvent<number>) =>\n this.handleMultiLevelChildClick(item.id, e.detail)\n }\n ></bh-page-navigation-multi-level>\n ),\n )}\n </nav>\n </div>\n </Host>\n );\n }\n}\n"],"version":3}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"file":"bh-pie-chart.js","mappings":"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","names":["BhPieChart","__stencil_proxyCustomElement","HTMLElement"],"sources":["src/components/bh-pie-chart/bh-pie-chart.css?tag=bh-pie-chart&encapsulation=shadow","src/components/bh-pie-chart/bh-pie-chart.tsx"],"sourcesContent":["@import '../../global/global.css';\n\n:host {\n display: inline-block;\n}\n\n.pie-chart-container {\n display: inline-block;\n width: 160px;\n height: 160px;\n overflow: visible;\n}\n\n.pie-chart-svg {\n width: 100%;\n height: 100%;\n overflow: visible;\n}\n\n.pie-segment {\n cursor: pointer;\n transition: opacity var(--animation-duration-fast, 0.1s) var(--animation-ease-smooth, ease);\n transform-origin: 80px 80px;\n}\n\n.pie-segment.animated {\n opacity: 0;\n transform: scale(0.3) rotate(-180deg);\n animation: pieSliceReveal 0.8s var(--animation-ease-enter, ease-out) forwards;\n}\n\n.pie-segment:hover {\n opacity: 0.85;\n transform: scale(1.05);\n filter: brightness(1.1);\n transition: all var(--animation-duration-fast, 0.1s) var(--animation-ease-smooth, ease);\n}\n\n.pie-background {\n pointer-events: none;\n}\n\n.pie-inner-hole {\n pointer-events: none;\n}\n\n.pie-segment-group {\n pointer-events: auto;\n}\n\n@keyframes pieSliceReveal {\n 0% {\n opacity: 0;\n transform: scale(0.3) rotate(-180deg);\n }\n 15% {\n opacity: 0.2;\n transform: scale(0.45) rotate(-135deg);\n }\n 30% {\n opacity: 0.5;\n transform: scale(0.7) rotate(-70deg);\n }\n 45% {\n opacity: 0.7;\n transform: scale(0.9) rotate(-25deg);\n }\n 60% {\n opacity: 0.85;\n transform: scale(1.05) rotate(-8deg);\n }\n 80% {\n opacity: 0.95;\n transform: scale(1.01) rotate(-1deg);\n }\n 100% {\n opacity: 1;\n transform: scale(1) rotate(0deg);\n }\n}\n\n@media (prefers-reduced-motion: reduce) {\n .pie-segment.animated {\n animation: none;\n opacity: 1;\n transform: none;\n }\n}\n","import { Component, Prop, State, h, Host } from '@stencil/core';\n\nexport interface PieChartSeriesItem {\n name: string;\n value: number;\n color?: string;\n}\n\nexport interface PieChartData {\n series: PieChartSeriesItem[];\n}\n\nexport interface PieSegment {\n value: number;\n percentage: number;\n startAngle: number;\n endAngle: number;\n color: string;\n name: string;\n path: string;\n}\n\nexport type PieChartHole = 'none' | '25%' | '50%' | '75%' | '85%';\n\nconst DEFAULT_COLORS = [\n '#2642CF', // Blue\n '#8E4B9B', // Purple\n '#BB81BA', // Light Purple\n '#E14C94', // Pink\n '#E47789', // Coral\n '#E9AAAE', // Light Coral\n '#BACEFC', // Light Blue\n];\n\n@Component({\n tag: 'bh-pie-chart',\n styleUrl: 'bh-pie-chart.css',\n shadow: true,\n})\nexport class BhPieChart {\n /**\n * Chart data containing series\n */\n @Prop() data: PieChartData = {\n series: [\n { name: 'Series 1', value: 30, color: '#2642CF' },\n { name: 'Series 2', value: 25, color: '#8E4B9B' },\n { name: 'Series 3', value: 20, color: '#BB81BA' },\n { name: 'Series 4', value: 15, color: '#E14C94' },\n { name: 'Series 5', value: 10, color: '#E47789' },\n ],\n };\n\n /**\n * Size of the donut hole\n */\n @Prop() hole: PieChartHole = 'none';\n\n /**\n * Size of the chart in pixels\n */\n @Prop() size: number = 160;\n\n /**\n * Whether to animate the chart\n */\n @Prop() animated: boolean = true;\n\n /**\n * Gap between segments in degrees\n */\n @Prop() gap: number = 0;\n\n @State() tooltipVisible: boolean = false;\n @State() tooltipX: number = 0;\n @State() tooltipY: number = 0;\n @State() tooltipSegment: PieSegment | null = null;\n\n private getInnerRadius(): number {\n switch (this.hole) {\n case '25%':\n return 20;\n case '50%':\n return 40;\n case '75%':\n return 60;\n case '85%':\n return 68;\n default:\n return 0;\n }\n }\n\n private createArcPath(\n centerX: number,\n centerY: number,\n outerRadius: number,\n innerRadius: number,\n startAngle: number,\n endAngle: number\n ): string {\n const startAngleRad = (startAngle * Math.PI) / 180;\n const endAngleRad = (endAngle * Math.PI) / 180;\n\n const outerStartX = centerX + outerRadius * Math.cos(startAngleRad);\n const outerStartY = centerY + outerRadius * Math.sin(startAngleRad);\n const outerEndX = centerX + outerRadius * Math.cos(endAngleRad);\n const outerEndY = centerY + outerRadius * Math.sin(endAngleRad);\n\n const largeArcFlag = endAngle - startAngle > 180 ? 1 : 0;\n\n if (innerRadius === 0) {\n return [\n 'M', centerX, centerY,\n 'L', outerStartX, outerStartY,\n 'A', outerRadius, outerRadius, 0, largeArcFlag, 1, outerEndX, outerEndY,\n 'Z',\n ].join(' ');\n } else {\n const innerStartX = centerX + innerRadius * Math.cos(startAngleRad);\n const innerStartY = centerY + innerRadius * Math.sin(startAngleRad);\n const innerEndX = centerX + innerRadius * Math.cos(endAngleRad);\n const innerEndY = centerY + innerRadius * Math.sin(endAngleRad);\n\n return [\n 'M', outerStartX, outerStartY,\n 'A', outerRadius, outerRadius, 0, largeArcFlag, 1, outerEndX, outerEndY,\n 'L', innerEndX, innerEndY,\n 'A', innerRadius, innerRadius, 0, largeArcFlag, 0, innerStartX, innerStartY,\n 'Z',\n ].join(' ');\n }\n }\n\n private getSegments(): PieSegment[] {\n if (!this.data.series?.length) {\n return [];\n }\n\n const total = this.data.series.reduce((sum, item) => sum + item.value, 0);\n if (total === 0) {\n return [];\n }\n\n const segments: PieSegment[] = [];\n let currentAngle = -90;\n const radius = 80;\n const centerX = 80;\n const centerY = 80;\n const innerRadius = this.getInnerRadius();\n\n const totalGaps = this.data.series.length * this.gap;\n const availableAngle = 360 - totalGaps;\n\n this.data.series.forEach((item, index) => {\n const percentage = (item.value / total) * 100;\n const angleSize = (item.value / total) * availableAngle;\n const startAngle = currentAngle;\n const endAngle = currentAngle + angleSize;\n\n const path = this.createArcPath(centerX, centerY, radius, innerRadius, startAngle, endAngle);\n\n segments.push({\n value: item.value,\n percentage,\n startAngle,\n endAngle,\n color: item.color || DEFAULT_COLORS[index % DEFAULT_COLORS.length],\n name: item.name,\n path,\n });\n\n currentAngle = endAngle + this.gap;\n });\n\n return segments;\n }\n\n private handleSegmentHover = (event: MouseEvent, segment: PieSegment) => {\n this.tooltipVisible = true;\n this.tooltipX = event.clientX;\n this.tooltipY = event.clientY;\n this.tooltipSegment = segment;\n };\n\n private handleSegmentLeave = () => {\n this.tooltipVisible = false;\n };\n\n render() {\n const segments = this.getSegments();\n const innerRadius = this.getInnerRadius();\n\n return (\n <Host>\n <div class=\"pie-chart-container\" style={{ width: `${this.size}px`, height: `${this.size}px` }}>\n <svg\n width={this.size}\n height={this.size}\n viewBox=\"0 0 160 160\"\n class=\"pie-chart-svg\"\n >\n {/* Background circle */}\n <circle cx=\"80\" cy=\"80\" r=\"80\" fill=\"transparent\" class=\"pie-background\" />\n\n {/* Pie segments */}\n {segments.map((segment, index) => (\n <g key={index} class=\"pie-segment-group\">\n <path\n d={segment.path}\n fill={segment.color}\n class={{ 'pie-segment': true, animated: this.animated }}\n style={{ animationDelay: this.animated ? `${index * 0.03}s` : '0s' }}\n onMouseEnter={(e) => this.handleSegmentHover(e, segment)}\n onMouseLeave={this.handleSegmentLeave}\n />\n </g>\n ))}\n\n {/* Inner hole for donut charts */}\n {this.hole !== 'none' && (\n <circle cx=\"80\" cy=\"80\" r={innerRadius} fill=\"white\" class=\"pie-inner-hole\" />\n )}\n </svg>\n </div>\n\n {/* Tooltip */}\n <bh-chart-tooltip\n visible={this.tooltipVisible}\n x={this.tooltipX}\n y={this.tooltipY}\n items={\n this.tooltipSegment\n ? [\n {\n label: this.tooltipSegment.name,\n value: `${this.tooltipSegment.percentage.toFixed(0)}%`,\n color: this.tooltipSegment.color,\n },\n ]\n : []\n }\n />\n </Host>\n );\n }\n}\n"],"version":3}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"file":"bh-popover.js","mappings":"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","names":["BhPopover","__stencil_proxyCustomElement","HTMLElement"],"sources":["src/components/bh-popover/bh-popover.css?tag=bh-popover&encapsulation=shadow","src/components/bh-popover/bh-popover.tsx"],"sourcesContent":["/* Popover Container */\n.popover {\n position: relative;\n border-radius: var(--radius-md);\n width: 320px;\n}\n\n.popover-content {\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n justify-content: flex-start;\n overflow: hidden;\n position: relative;\n width: 100%;\n height: 100%;\n}\n\n.popover-menu {\n background-color: #ffffff;\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n justify-content: flex-start;\n overflow: hidden;\n position: relative;\n border-radius: var(--radius-md);\n flex-shrink: 0;\n width: 100%;\n max-height: 400px;\n border: 1px solid #dcdfea;\n box-shadow: var(--shadow-popover);\n}\n\n/* Header */\n.popover-header {\n box-sizing: border-box;\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n justify-content: flex-start;\n padding: var(--spacing-lg) var(--spacing-xl);\n position: relative;\n flex-shrink: 0;\n width: 100%;\n border-bottom: 1px solid #dcdfea;\n}\n\n.avatar-group {\n display: flex;\n gap: var(--spacing-lg);\n align-items: center;\n justify-content: flex-start;\n position: relative;\n flex-shrink: 0;\n width: 100%;\n}\n\n.avatar {\n background-color: #ffffff;\n position: relative;\n border-radius: var(--radius-full);\n flex-shrink: 0;\n width: 40px;\n height: 40px;\n border: 0.75px solid rgba(0, 0, 0, 0.08);\n overflow: hidden;\n display: flex;\n align-items: center;\n justify-content: center;\n}\n\n.avatar-image {\n width: 100%;\n height: 100%;\n object-fit: cover;\n}\n\n.brand-info {\n flex-basis: 0;\n display: flex;\n flex-direction: column;\n flex-grow: 1;\n align-items: flex-start;\n justify-content: flex-start;\n line-height: 0;\n min-height: 1px;\n min-width: 1px;\n position: relative;\n flex-shrink: 0;\n}\n\n.brand-name {\n font-family: var(--font-inter);\n font-weight: 600;\n position: relative;\n flex-shrink: 0;\n color: #404968;\n font-size: 14px;\n line-height: 20px;\n width: 100%;\n text-overflow: ellipsis;\n overflow: hidden;\n white-space: nowrap;\n}\n\n.portfolio-link {\n font-family: var(--font-inter);\n font-weight: 400;\n position: relative;\n flex-shrink: 0;\n color: #2642cf;\n font-size: 14px;\n line-height: 20px;\n width: 100%;\n text-decoration: underline;\n text-decoration-skip-ink: none;\n text-underline-position: from-font;\n background: none;\n border: none;\n cursor: pointer;\n text-align: left;\n padding: 0;\n}\n\n.portfolio-link:hover {\n color: #1a2bb8;\n}\n\n/* Search Container */\n.search-container {\n box-sizing: border-box;\n display: flex;\n flex-direction: column;\n gap: 6px;\n align-items: center;\n justify-content: center;\n overflow: visible;\n padding: 0;\n position: relative;\n flex-shrink: 0;\n width: 100%;\n}\n\n.search-input {\n display: flex;\n flex-direction: column;\n gap: var(--spacing-sm);\n padding: var(--spacing-xs) var(--spacing-none) var(--spacing-none) var(--spacing-lg);\n align-items: flex-start;\n justify-content: flex-start;\n position: relative;\n flex-shrink: 0;\n width: 100%;\n}\n\n.search-content {\n background-color: #ffffff;\n box-sizing: border-box;\n display: flex;\n gap: var(--spacing-md);\n height: var(--spacing-4xl);\n align-items: center;\n justify-content: flex-start;\n overflow: hidden;\n padding: var(--spacing-none);\n position: relative;\n border-radius: var(--radius-md);\n flex-shrink: 0;\n width: 100%;\n border: none;\n}\n\n.search-icon {\n width: 20px;\n height: 20px;\n flex-shrink: 0;\n color: #5d6b98;\n}\n\n.search-field {\n flex-basis: 0;\n font-family: var(--font-inter);\n font-weight: 500;\n flex-grow: 1;\n line-height: 0;\n min-height: 1px;\n min-width: 1px;\n overflow: hidden;\n text-overflow: ellipsis;\n position: relative;\n flex-shrink: 0;\n color: #404968;\n font-size: 14px;\n line-height: 20px;\n white-space: nowrap;\n border: none;\n outline: none;\n background: none;\n}\n\n.search-field::placeholder {\n color: #5d6b98;\n}\n\n/* Menu Items */\n.menu-items {\n box-sizing: border-box;\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n justify-content: flex-start;\n overflow-y: auto;\n padding: var(--spacing-xs) var(--spacing-none);\n position: relative;\n flex-grow: 1;\n width: 100%;\n max-height: calc(400px - 180px);\n}\n\n.menu-header {\n box-sizing: border-box;\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n justify-content: flex-start;\n padding: var(--spacing-lg) var(--spacing-xl);\n position: relative;\n flex-shrink: 0;\n width: 100%;\n border-top: 1px solid #dcdfea;\n border-bottom: 1px solid #dcdfea;\n font-family: var(--font-inter);\n font-weight: 600;\n line-height: 0;\n color: #404968;\n font-size: 14px;\n line-height: 20px;\n}\n\n.menu-item-container {\n box-sizing: border-box;\n display: flex;\n align-items: center;\n justify-content: flex-start;\n padding: var(--spacing-xxs) var(--spacing-sm);\n position: relative;\n flex-shrink: 0;\n width: 100%;\n}\n\n.menu-item {\n flex-basis: 0;\n box-sizing: border-box;\n display: flex;\n flex-grow: 1;\n align-items: center;\n justify-content: flex-start;\n min-height: 1px;\n min-width: 1px;\n overflow: hidden;\n padding: var(--spacing-md) var(--spacing-lg);\n position: relative;\n border-radius: var(--radius-sm);\n flex-shrink: 0;\n font-family: var(--font-inter);\n font-weight: 500;\n line-height: 0;\n color: #404968;\n font-size: 14px;\n line-height: 20px;\n background: none;\n border: none;\n cursor: pointer;\n text-align: left;\n width: 100%;\n transition: all 0.2s ease;\n}\n\n.menu-item:hover {\n background-color: #f9f9fb;\n color: #30374f;\n}\n\n.menu-item.selected {\n background-color: #f9f9fb;\n color: #30374f;\n}\n\n/* Property Type Styling */\n.menu-item-portfolio {\n font-weight: 600;\n color: #2642cf;\n}\n\n.menu-item-portfolio:hover {\n color: #1a2bb8;\n}\n\n.menu-item-region {\n font-weight: 500;\n padding-left: 26px;\n color: #404968;\n font-size: 13px;\n}\n\n.menu-item-property {\n color: #5d6b98;\n font-size: 13px;\n}\n","import { Component, Prop, State, Event, EventEmitter, h, Host } from '@stencil/core';\n\nexport interface PopoverItem {\n id: string;\n label: string;\n type?: 'portfolio' | 'region' | 'property' | 'header';\n selected?: boolean;\n}\n\n@Component({\n tag: 'bh-popover',\n styleUrl: 'bh-popover.css',\n shadow: true,\n})\nexport class BhPopover {\n /**\n * Title displayed in the header\n */\n @Prop() popoverTitle: string = 'Brand Name';\n\n /**\n * Text for the portfolio link\n */\n @Prop() viewPortfolioText: string = 'view portfolio';\n\n /**\n * Placeholder text for search input\n */\n @Prop() searchPlaceholder: string = 'Search by name or region';\n\n /**\n * Width of the popover\n */\n @Prop() width: string = '240px';\n\n /**\n * Whether to show search input\n */\n @Prop() showSearch: boolean = true;\n\n /**\n * Whether to show avatar section\n */\n @Prop() showAvatar: boolean = true;\n\n /**\n * Avatar image source URL\n */\n @Prop() avatarSrc?: string;\n\n /**\n * Menu items array (JSON string or array)\n */\n @Prop() items: PopoverItem[] | string = [];\n\n @State() searchTerm: string = '';\n\n /**\n * Event emitted when a menu item is selected\n */\n @Event() bhItemSelect!: EventEmitter<PopoverItem>;\n\n /**\n * Event emitted when portfolio link is clicked\n */\n @Event() bhPortfolioClick!: EventEmitter<void>;\n\n /**\n * Event emitted when search input changes\n */\n @Event() bhSearchChange!: EventEmitter<string>;\n\n private get parsedItems(): PopoverItem[] {\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 handleItemClick = (item: PopoverItem) => {\n if (item.type !== 'header') {\n this.bhItemSelect.emit(item);\n }\n };\n\n private handlePortfolioClick = () => {\n this.bhPortfolioClick.emit();\n };\n\n private handleSearchInput = (event: Event) => {\n const target = event.target as HTMLInputElement;\n this.searchTerm = target.value;\n this.bhSearchChange.emit(this.searchTerm);\n };\n\n private getItemClasses(item: PopoverItem): Record<string, boolean> {\n return {\n 'menu-item': true,\n 'selected': !!item.selected,\n 'menu-item-portfolio': item.type === 'portfolio',\n 'menu-item-region': item.type === 'region',\n 'menu-item-property': item.type === 'property',\n };\n }\n\n render() {\n const items = this.parsedItems;\n\n return (\n <Host>\n <div class=\"popover\" style={{ width: this.width }}>\n <div class=\"popover-content\">\n <div class=\"popover-menu\">\n {/* Header with Brand/Avatar */}\n {this.showAvatar && (\n <div class=\"popover-header\">\n <div class=\"avatar-group\">\n <div class=\"avatar\">\n {this.avatarSrc ? (\n <img src={this.avatarSrc} alt={this.popoverTitle} class=\"avatar-image\" />\n ) : (\n <slot name=\"avatar\" />\n )}\n </div>\n <div class=\"brand-info\">\n <div class=\"brand-name\">{this.popoverTitle}</div>\n {this.viewPortfolioText && (\n <button\n class=\"portfolio-link\"\n onClick={this.handlePortfolioClick}\n type=\"button\"\n >\n {this.viewPortfolioText}\n </button>\n )}\n </div>\n </div>\n </div>\n )}\n\n {/* Search Input */}\n {this.showSearch && (\n <div class=\"search-container\">\n <div class=\"search-input\">\n <div class=\"search-content\">\n <span class=\"material-symbols-outlined search-icon\">search</span>\n <input\n type=\"text\"\n placeholder={this.searchPlaceholder}\n value={this.searchTerm}\n onInput={this.handleSearchInput}\n class=\"search-field\"\n />\n </div>\n </div>\n </div>\n )}\n\n {/* Menu Items */}\n <div class=\"menu-items\">\n {items.map((item) => (\n <div key={item.id}>\n {/* Header Item */}\n {item.type === 'header' && (\n <div class=\"menu-header\">{item.label}</div>\n )}\n\n {/* Regular Item */}\n {item.type !== 'header' && (\n <div class=\"menu-item-container\">\n <button\n class={this.getItemClasses(item)}\n onClick={() => this.handleItemClick(item)}\n type=\"button\"\n >\n {item.label}\n </button>\n </div>\n )}\n </div>\n ))}\n </div>\n </div>\n </div>\n </div>\n </Host>\n );\n }\n}\n"],"version":3}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"file":"bh-property-switcher.js","mappings":"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","names":["BhPropertySwitcher","__stencil_proxyCustomElement","HTMLElement"],"sources":["src/components/bh-property-switcher/bh-property-switcher.css?tag=bh-property-switcher&encapsulation=shadow","src/components/bh-property-switcher/bh-property-switcher.tsx"],"sourcesContent":[".property-switcher {\n position: relative;\n display: inline-block;\n width: 220px;\n}\n\n.property-selector {\n display: flex;\n align-items: center;\n justify-content: flex-start;\n gap: var(--spacing-xs);\n padding: var(--spacing-xs) var(--spacing-sm);\n border: none;\n background: transparent;\n cursor: pointer;\n border-radius: var(--radius-sm);\n transition: background-color 0.2s ease;\n width: 100%;\n height: 36px;\n min-width: 0;\n}\n\n.property-selector:hover {\n background-color: var(--color-neutral-100);\n}\n\n.selector-icon {\n font-size: 18px;\n color: var(--color-neutral-500);\n flex-shrink: 0;\n}\n\n.property-name {\n font-family: var(--font-inter);\n font-weight: var(--weight-medium);\n font-size: var(--text-sm-size);\n line-height: var(--text-sm-line);\n color: var(--color-neutral-700);\n text-overflow: ellipsis;\n overflow: hidden;\n white-space: nowrap;\n flex-grow: 1;\n min-width: 0;\n text-align: left;\n}\n\n.expand-icon {\n font-size: 18px;\n flex-shrink: 0;\n color: var(--color-neutral-400);\n transition: color 0.2s ease;\n}\n\n/* Dropdown Panel */\n.dropdown-panel {\n position: absolute;\n top: 100%;\n left: 0;\n z-index: 1000;\n margin-top: var(--spacing-xs);\n background-color: var(--color-white);\n border: 1px solid var(--color-neutral-200);\n border-radius: var(--radius-lg);\n box-shadow: 0 4px 16px rgba(0, 0, 0, 0.12), 0 1px 4px rgba(0, 0, 0, 0.08);\n min-width: 280px;\n max-width: 360px;\n animation: dropdownSlideIn 0.15s ease-out;\n overflow: hidden;\n}\n\n@keyframes dropdownSlideIn {\n 0% {\n opacity: 0;\n transform: translateY(-8px);\n }\n 100% {\n opacity: 1;\n transform: translateY(0);\n }\n}\n\n/* Search Container */\n.search-container {\n display: flex;\n align-items: center;\n gap: var(--spacing-xs);\n padding: var(--spacing-sm);\n background-color: var(--color-white);\n border-bottom: 1px solid var(--color-neutral-200);\n}\n\n.search-icon {\n font-size: 20px;\n color: var(--color-neutral-500);\n flex-shrink: 0;\n}\n\n.search-input {\n flex: 1;\n border: none;\n outline: none;\n font-family: var(--font-inter);\n font-size: var(--text-sm-size);\n line-height: var(--text-sm-line);\n color: var(--color-neutral-900);\n background: transparent;\n min-width: 0;\n}\n\n.search-input::placeholder {\n color: var(--color-neutral-400);\n}\n\n.clear-search {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 24px;\n height: 24px;\n border: none;\n background: transparent;\n cursor: pointer;\n border-radius: var(--radius-sm);\n color: var(--color-neutral-400);\n transition: color 0.15s ease, background-color 0.15s ease;\n}\n\n.clear-search:hover {\n color: var(--color-neutral-600);\n background-color: var(--color-neutral-200);\n}\n\n.clear-search .material-symbols-outlined {\n font-size: 18px;\n}\n\n/* Dropdown Content */\n.dropdown-content {\n max-height: 360px;\n overflow-y: auto;\n}\n\n/* Flat List Container */\n.flat-list-container {\n padding: var(--spacing-xs) 0;\n}\n\n/* Groups Container */\n.groups-container {\n padding: var(--spacing-xs) 0;\n}\n\n/* Property Group */\n.property-group {\n border-bottom: 1px solid var(--color-neutral-100);\n}\n\n.property-group:last-child {\n border-bottom: none;\n}\n\n/* Group Header */\n.group-header {\n display: flex;\n align-items: center;\n gap: var(--spacing-xs);\n width: 100%;\n padding: var(--spacing-sm) var(--spacing-md);\n border: none;\n background: var(--color-neutral-50);\n cursor: pointer;\n font-family: var(--font-inter);\n font-size: var(--text-xs-size);\n font-weight: var(--weight-semibold);\n color: var(--color-neutral-600);\n text-transform: uppercase;\n letter-spacing: 0.5px;\n transition: background-color 0.15s ease;\n}\n\n.group-header:hover {\n background-color: var(--color-neutral-200);\n}\n\n.group-expand-icon {\n font-size: 18px;\n color: var(--color-neutral-500);\n transition: transform 0.15s ease;\n}\n\n.group-name {\n flex: 1;\n text-align: left;\n}\n\n.group-count {\n font-size: 11px;\n font-weight: var(--weight-semibold);\n color: var(--color-neutral-500);\n background-color: var(--color-neutral-200);\n padding: 2px 8px;\n border-radius: var(--radius-full);\n min-width: 20px;\n text-align: center;\n}\n\n/* Group Properties */\n.group-properties {\n padding: var(--spacing-xs) 0;\n}\n\n/* Property Item */\n.property-item {\n display: flex;\n align-items: center;\n gap: var(--spacing-sm);\n width: 100%;\n padding: var(--spacing-sm) var(--spacing-md);\n padding-left: calc(var(--spacing-md) + 26px);\n border: none;\n background: transparent;\n cursor: pointer;\n font-family: var(--font-inter);\n font-size: var(--text-sm-size);\n line-height: var(--text-sm-line);\n color: var(--color-neutral-700);\n text-align: left;\n transition: background-color 0.15s ease;\n}\n\n.flat-list-container .property-item {\n padding-left: var(--spacing-md);\n}\n\n.property-item:hover {\n background-color: var(--color-neutral-100);\n}\n\n.property-item.selected {\n background-color: var(--color-brand-50);\n color: var(--color-brand-700);\n}\n\n.property-item.selected .property-icon {\n color: var(--color-brand-600);\n}\n\n.property-icon {\n font-size: 20px;\n color: var(--color-neutral-400);\n flex-shrink: 0;\n}\n\n.property-item-name {\n flex: 1;\n min-width: 0;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n font-weight: var(--weight-regular);\n}\n\n.property-item.selected .property-item-name {\n font-weight: var(--weight-medium);\n}\n\n.check-icon {\n font-size: 18px;\n color: var(--color-brand-600);\n flex-shrink: 0;\n}\n\n/* Menu Divider */\n.menu-divider {\n height: 1px;\n background-color: var(--color-neutral-150);\n margin: var(--spacing-xs) var(--spacing-md);\n}\n\n/* Empty State */\n.empty-state {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n padding: var(--spacing-2xl) var(--spacing-lg);\n gap: var(--spacing-sm);\n}\n\n.empty-icon {\n font-size: 40px;\n color: var(--color-neutral-300);\n}\n\n.empty-text {\n font-family: var(--font-inter);\n font-size: var(--text-sm-size);\n color: var(--color-neutral-500);\n}\n\n/* Legacy dropdown menu container (for backwards compatibility) */\n.dropdown-menu-container {\n position: absolute;\n top: 100%;\n left: 0;\n z-index: 1000;\n margin-top: var(--spacing-xs);\n max-height: 320px;\n}\n\n/* Legacy popover animations */\n.popover-container {\n position: absolute;\n top: 100%;\n left: 0;\n z-index: 1000;\n margin-top: var(--spacing-xs);\n animation: popoverSlideIn 0.3s ease-out;\n transform-origin: top center;\n}\n\n@keyframes popoverSlideIn {\n 0% {\n opacity: 0;\n transform: translateY(calc(-1 * var(--spacing-lg)));\n }\n 100% {\n opacity: 1;\n transform: translateY(0);\n }\n}\n\n.popover-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(calc(-1 * var(--spacing-lg)));\n }\n}\n","import { Component, Prop, Event, EventEmitter, State, h, Host, Listen } from '@stencil/core';\n\nexport interface PropertyOption {\n id: string;\n name: string;\n type: 'portfolio' | 'region' | 'property';\n group?: string;\n}\n\nexport interface PropertyGroup {\n id: string;\n name: string;\n properties: PropertyOption[];\n}\n\nexport interface DropdownMenuItem {\n id: string;\n label?: string;\n icon?: string;\n divider?: boolean;\n}\n\n@Component({\n tag: 'bh-property-switcher',\n styleUrl: 'bh-property-switcher.css',\n shadow: true,\n})\nexport class BhPropertySwitcher {\n /**\n * Selected property name to display (initial value)\n */\n @Prop() selectedProperty: string = 'Select a property';\n\n /**\n * Array of property options\n */\n @Prop() properties: PropertyOption[] = [];\n\n /**\n * Whether to group properties by their group field\n */\n @Prop() grouped: boolean = false;\n\n /**\n * Placeholder text for search input\n */\n @Prop() searchPlaceholder: string = 'Search properties...';\n\n /**\n * Event emitted when a property is selected\n */\n @Event() bhPropertyChange!: EventEmitter<PropertyOption>;\n\n @State() isExpanded: boolean = false;\n @State() searchQuery: string = '';\n @State() expandedGroups: Set<string> = new Set();\n @State() internalSelectedProperty: string = '';\n\n private switcherRef?: HTMLDivElement;\n private searchInputRef?: HTMLInputElement;\n\n componentWillLoad() {\n this.internalSelectedProperty = this.selectedProperty;\n }\n\n @Listen('click', { target: 'document' })\n handleDocumentClick(event: MouseEvent) {\n if (!this.isExpanded) {\n return;\n }\n\n // Check if click is on this component or inside it using composedPath for Shadow DOM\n const clickedInside = event.composedPath().includes(this.switcherRef as any);\n\n if (!clickedInside) {\n this.isExpanded = false;\n }\n }\n\n private handleToggle = () => {\n this.isExpanded = !this.isExpanded;\n if (this.isExpanded) {\n this.searchQuery = '';\n // Initialize all groups as expanded when opening\n if (this.grouped) {\n const groups = this.getPropertyGroups();\n this.expandedGroups = new Set(groups.map(g => g.id));\n }\n // Focus search input when opening\n setTimeout(() => {\n if (this.searchInputRef) {\n this.searchInputRef.focus();\n }\n }, 50);\n }\n }\n\n private handleSearchInput = (event: Event) => {\n const target = event.target as HTMLInputElement;\n this.searchQuery = target.value;\n }\n\n private handleGroupToggle = (groupId: string) => {\n const newSet = new Set(this.expandedGroups);\n if (newSet.has(groupId)) {\n newSet.delete(groupId);\n } else {\n newSet.add(groupId);\n }\n this.expandedGroups = newSet;\n }\n\n private handlePropertySelect = (property: PropertyOption) => {\n this.internalSelectedProperty = property.name;\n this.bhPropertyChange.emit(property);\n this.isExpanded = false;\n this.searchQuery = '';\n }\n\n private getPropertyGroups = (): PropertyGroup[] => {\n const groupMap = new Map<string, PropertyOption[]>();\n const ungrouped: PropertyOption[] = [];\n\n this.properties.forEach((property) => {\n if (property.group) {\n const existing = groupMap.get(property.group) || [];\n existing.push(property);\n groupMap.set(property.group, existing);\n } else {\n ungrouped.push(property);\n }\n });\n\n const groups: PropertyGroup[] = [];\n\n groupMap.forEach((properties, name) => {\n groups.push({\n id: name.toLowerCase().replace(/\\s+/g, '-'),\n name,\n properties,\n });\n });\n\n // Add ungrouped properties as a special group if any exist\n if (ungrouped.length > 0) {\n groups.push({\n id: 'ungrouped',\n name: 'Other',\n properties: ungrouped,\n });\n }\n\n return groups;\n }\n\n private filterProperties = (properties: PropertyOption[]): PropertyOption[] => {\n if (!this.searchQuery.trim()) {\n return properties;\n }\n const query = this.searchQuery.toLowerCase();\n return properties.filter((p) =>\n p.name.toLowerCase().includes(query)\n );\n }\n\n private filterGroups = (groups: PropertyGroup[]): PropertyGroup[] => {\n if (!this.searchQuery.trim()) {\n return groups;\n }\n const query = this.searchQuery.toLowerCase();\n\n return groups\n .map((group) => {\n // Check if group name matches\n const groupMatches = group.name.toLowerCase().includes(query);\n // Filter properties within the group\n const filteredProperties = group.properties.filter((p) =>\n p.name.toLowerCase().includes(query)\n );\n\n // Include group if group name matches (show all properties) or if any properties match\n if (groupMatches) {\n return { ...group }; // Return group with all properties\n } else if (filteredProperties.length > 0) {\n return { ...group, properties: filteredProperties };\n }\n return null;\n })\n .filter((g): g is PropertyGroup => g !== null);\n }\n\n private getPropertyIcon = (type: PropertyOption['type']): string => {\n switch (type) {\n case 'portfolio':\n return 'business';\n case 'region':\n return 'public';\n case 'property':\n default:\n return 'location_on';\n }\n }\n\n private renderSearchInput() {\n return (\n <div class=\"search-container\">\n <span class=\"material-symbols-outlined search-icon\">search</span>\n <input\n ref={(el) => (this.searchInputRef = el)}\n type=\"text\"\n class=\"search-input\"\n placeholder={this.searchPlaceholder}\n value={this.searchQuery}\n onInput={this.handleSearchInput}\n onClick={(e) => e.stopPropagation()}\n />\n {this.searchQuery && (\n <button\n class=\"clear-search\"\n onClick={(e) => {\n e.stopPropagation();\n this.searchQuery = '';\n this.searchInputRef?.focus();\n }}\n aria-label=\"Clear search\"\n >\n <span class=\"material-symbols-outlined\">close</span>\n </button>\n )}\n </div>\n );\n }\n\n private renderPropertyItem(property: PropertyOption) {\n const isSelected = property.name === this.internalSelectedProperty;\n return (\n <button\n class={{\n 'property-item': true,\n 'selected': isSelected,\n }}\n onClick={() => this.handlePropertySelect(property)}\n >\n <span class=\"material-symbols-outlined property-icon\">\n {this.getPropertyIcon(property.type)}\n </span>\n <span class=\"property-item-name\" title={property.name}>\n {property.name}\n </span>\n {isSelected && (\n <span class=\"material-symbols-outlined check-icon\">check</span>\n )}\n </button>\n );\n }\n\n private renderGroupedView() {\n const groups = this.getPropertyGroups();\n const filteredGroups = this.filterGroups(groups);\n\n if (filteredGroups.length === 0) {\n return this.renderEmptyState();\n }\n\n return (\n <div class=\"groups-container\">\n {filteredGroups.map((group) => {\n const isExpanded = this.expandedGroups.has(group.id);\n return (\n <div class=\"property-group\" key={group.id}>\n <button\n class={{\n 'group-header': true,\n 'expanded': isExpanded,\n }}\n onClick={() => this.handleGroupToggle(group.id)}\n aria-expanded={isExpanded ? 'true' : 'false'}\n >\n <span class=\"material-symbols-outlined group-expand-icon\">\n {isExpanded ? 'expand_more' : 'chevron_right'}\n </span>\n <span class=\"group-name\">{group.name}</span>\n <span class=\"group-count\">{group.properties.length}</span>\n </button>\n {isExpanded && (\n <div class=\"group-properties\">\n {group.properties.map((property) => (\n <div key={property.id}>\n {this.renderPropertyItem(property)}\n </div>\n ))}\n </div>\n )}\n </div>\n );\n })}\n </div>\n );\n }\n\n private renderFlatView() {\n const filteredProperties = this.filterProperties(this.properties);\n\n if (filteredProperties.length === 0) {\n return this.renderEmptyState();\n }\n\n // Legacy behavior: render portfolios with dividers, skip regions\n const items: (PropertyOption | { divider: true })[] = [];\n\n filteredProperties.forEach((property) => {\n if (property.type === 'portfolio') {\n items.push(property);\n items.push({ divider: true });\n } else if (property.type === 'property') {\n items.push(property);\n }\n });\n\n return (\n <div class=\"flat-list-container\">\n {items.map((item, index) => {\n if ('divider' in item) {\n return <div class=\"menu-divider\" key={`divider-${index}`} />;\n }\n return (\n <div key={item.id}>\n {this.renderPropertyItem(item)}\n </div>\n );\n })}\n </div>\n );\n }\n\n private renderEmptyState() {\n return (\n <div class=\"empty-state\">\n <span class=\"material-symbols-outlined empty-icon\">search_off</span>\n <span class=\"empty-text\">No properties found</span>\n </div>\n );\n }\n\n private getSelectedProperty(): PropertyOption | undefined {\n return this.properties.find(p => p.name === this.internalSelectedProperty);\n }\n\n render() {\n const containerClasses = {\n 'property-switcher': true,\n 'expanded': this.isExpanded,\n };\n\n const selectedProp = this.getSelectedProperty();\n const displayName = this.internalSelectedProperty || this.selectedProperty;\n\n return (\n <Host>\n <div\n ref={(el) => (this.switcherRef = el)}\n class={containerClasses}\n >\n <button\n class=\"property-selector\"\n onClick={() => this.handleToggle()}\n aria-expanded={this.isExpanded ? 'true' : 'false'}\n aria-label={`Property selector: ${displayName}`}\n >\n {selectedProp && (\n <span class=\"material-symbols-outlined selector-icon\">\n {this.getPropertyIcon(selectedProp.type)}\n </span>\n )}\n <span class=\"property-name\">{displayName}</span>\n <span\n class=\"material-symbols-outlined expand-icon\"\n aria-label={this.isExpanded ? 'Collapse Options' : 'Expand Options'}\n >\n {this.isExpanded ? 'unfold_less' : 'unfold_more'}\n </span>\n </button>\n\n {this.isExpanded && (\n <div class=\"dropdown-panel\">\n {this.renderSearchInput()}\n <div class=\"dropdown-content\">\n {this.grouped\n ? this.renderGroupedView()\n : this.renderFlatView()\n }\n </div>\n </div>\n )}\n </div>\n </Host>\n );\n }\n}\n"],"version":3}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"file":"bh-sidebar.js","mappings":"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","names":["BhSidebar","__stencil_proxyCustomElement","HTMLElement"],"sources":["src/components/bh-sidebar/bh-sidebar.css?tag=bh-sidebar&encapsulation=shadow","src/components/bh-sidebar/bh-sidebar.tsx"],"sourcesContent":["/* ==========================================================================\n SIDEBAR COMPONENT\n Vertical navigation sidebar with gradient bar\n ========================================================================== */\n\n.sidebar-container {\n width: fit-content;\n height: 100vh;\n background-color: var(--color-white);\n position: relative;\n display: flex;\n}\n\n.navigation {\n background-color: var(--color-white);\n display: flex;\n height: 100%;\n align-items: flex-start;\n justify-content: flex-start;\n position: relative;\n border-right: 1px solid var(--color-neutral-200);\n z-index: 100;\n}\n\n/* Gradient bar on the left edge */\n.gradient-bar {\n position: relative;\n width: var(--spacing-xs);\n height: 100%;\n flex-shrink: 0;\n}\n\n.detail-bar {\n position: absolute;\n background: linear-gradient(\n 180deg,\n var(--color-accent-300) 0%,\n var(--color-brand-400) 51%,\n var(--color-brand-800) 100%\n );\n inset: 0;\n}\n\n/* Main sidebar content */\n.sidebar-content {\n box-sizing: border-box;\n display: flex;\n flex-direction: column;\n gap: var(--spacing-2xl);\n height: 100%;\n align-items: center;\n justify-content: flex-start;\n padding: var(--spacing-md) var(--spacing-md) var(--spacing-lg)\n var(--spacing-md);\n position: relative;\n flex-shrink: 0;\n width: 60px;\n}\n\n/* Navigation section that contains search and nav items */\n.navigation-section {\n flex: 1 1 0%;\n display: flex;\n flex-direction: column;\n gap: var(--spacing-xl);\n flex-grow: 1;\n align-items: center;\n justify-content: flex-start;\n min-height: 0;\n position: relative;\n flex-shrink: 0;\n width: 100%;\n overflow-y: auto;\n overflow-x: hidden;\n}\n\n/* Search container */\n.search-container {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n position: relative;\n flex-shrink: 0;\n width: 100%;\n}\n\n/* Nav items container */\n.nav-items {\n display: flex;\n flex-direction: column;\n gap: var(--spacing-xs);\n align-items: center;\n justify-content: flex-start;\n position: relative;\n flex-shrink: 0;\n width: 100%;\n}\n\n/* Footer section with footer nav and avatar */\n.sidebar-footer {\n display: flex;\n flex-direction: column;\n gap: var(--spacing-lg);\n align-items: center;\n justify-content: end;\n position: relative;\n flex-shrink: 0;\n width: 100%;\n}\n\n.footer-navigation {\n display: flex;\n flex-direction: column;\n gap: var(--spacing-xs);\n align-items: center;\n justify-content: center;\n position: relative;\n flex-shrink: 0;\n width: 100%;\n}\n\n/* Collapsed state */\n.sidebar-collapsed .sidebar-content {\n width: 60px;\n}\n\n.sidebar-collapsed .nav-item-label {\n display: none;\n}\n\n/* Scrollbar styling for navigation section */\n.navigation-section::-webkit-scrollbar {\n width: 4px;\n}\n\n.navigation-section::-webkit-scrollbar-track {\n background: transparent;\n}\n\n.navigation-section::-webkit-scrollbar-thumb {\n background: var(--color-neutral-200);\n border-radius: var(--radius-xs);\n}\n\n.navigation-section::-webkit-scrollbar-thumb:hover {\n background: var(--color-neutral-300);\n}\n\n/* Firefox scrollbar */\n.navigation-section {\n scrollbar-width: thin;\n scrollbar-color: var(--color-neutral-200) transparent;\n}\n\n/* Expanded state (optional future enhancement) */\n.sidebar-expanded .sidebar-content {\n width: 240px;\n}\n\n.sidebar-expanded .nav-items {\n align-items: flex-start;\n}\n\n.sidebar-expanded .nav-item {\n width: 100%;\n flex-direction: row;\n justify-content: flex-start;\n gap: var(--spacing-md);\n}\n\n.sidebar-expanded .nav-item-label {\n display: block;\n text-align: left;\n font-size: var(--text-sm-size);\n height: auto;\n line-height: var(--text-sm-line);\n}\n","import { Component, Prop, Event, EventEmitter, State, h, Host } from '@stencil/core';\nimport { LogoType } from '../bh-logo-box/bh-logo-box';\n\nexport interface MenuItem {\n label: string;\n icon: string;\n isActive?: boolean;\n}\n\nexport interface FooterItem {\n label: string;\n icon: string;\n}\n\nexport interface DropdownMenuItem {\n id: string;\n label?: string;\n icon?: string;\n shortcut?: string;\n divider?: boolean;\n}\n\n@Component({\n tag: 'bh-sidebar',\n styleUrl: 'bh-sidebar.css',\n shadow: true,\n})\nexport class BhSidebar {\n /**\n * Type of logo to display\n */\n @Prop() logoType: LogoType = 'actabl';\n\n /**\n * Avatar image URL\n */\n @Prop() avatarUrl?: string;\n\n /**\n * Avatar initials (used if avatarUrl is not provided)\n */\n @Prop() avatarInitials: string = 'DM';\n\n /**\n * Avatar name for dropdown\n */\n @Prop() avatarName: string = 'Daniel Mobara';\n\n /**\n * Avatar email for dropdown\n */\n @Prop() avatarEmail: string = 'daniel@solsticehospitality.com';\n\n /**\n * Main menu navigation items\n */\n @Prop() menuItems: MenuItem[] = [\n { label: 'Dashboard', icon: 'dashboard', isActive: true },\n { label: 'Analytics', icon: 'analytics', isActive: false },\n { label: 'Reports', icon: 'assessment', isActive: false },\n { label: 'Calendar', icon: 'calendar_today', isActive: false },\n { label: 'Messages', icon: 'message', isActive: false },\n { label: 'Contacts', icon: 'contacts', isActive: false },\n { label: 'Files', icon: 'folder', isActive: false },\n ];\n\n /**\n * Footer navigation items\n */\n @Prop() footerItems: FooterItem[] = [\n { label: 'Help', icon: 'help_outline' },\n { label: 'Settings', icon: 'settings' },\n ];\n\n /**\n * Whether sidebar is collapsed\n */\n @Prop() collapsed: boolean = false;\n\n /**\n * Event emitted when a menu item is clicked\n */\n @Event() bhMenuItemClick!: EventEmitter<string>;\n\n /**\n * Event emitted when search button is clicked\n */\n @Event() bhSearchClick!: EventEmitter<void>;\n\n /**\n * Event emitted when avatar menu item is clicked\n */\n @Event() bhAvatarMenuClick!: EventEmitter<DropdownMenuItem>;\n\n @State() activeItem: string = '';\n\n componentWillLoad() {\n const activeMenuItem = this.menuItems.find(item => item.isActive);\n this.activeItem = activeMenuItem?.label || '';\n }\n\n private handleNavItemClick = (label: string) => {\n this.activeItem = label;\n this.bhMenuItemClick.emit(label);\n };\n\n private handleSearchClick = () => {\n this.bhSearchClick.emit();\n };\n\n private handleAvatarMenuClick = (event: CustomEvent<DropdownMenuItem>) => {\n this.bhAvatarMenuClick.emit(event.detail);\n };\n\n render() {\n const sidebarClasses = {\n 'sidebar-container': true,\n 'sidebar-collapsed': this.collapsed,\n };\n\n const avatarMenuItems: DropdownMenuItem[] = [\n { id: '1', label: 'View profile', icon: 'person', shortcut: '⌘P' },\n { id: '2', label: 'Account settings', icon: 'settings', shortcut: '⌘,' },\n { id: '3', label: 'Notifications', icon: 'notifications', shortcut: '⌘N' },\n { id: '4', label: 'Privacy & Security', icon: 'shield', shortcut: '⌘S' },\n { id: '5', divider: true },\n { id: '6', label: 'Billing', icon: 'credit_card', shortcut: '⌘B' },\n { id: '7', label: 'Team management', icon: 'group', shortcut: '⌘T' },\n { id: '8', label: 'Integrations', icon: 'extension', shortcut: '⌘I' },\n { id: '9', divider: true },\n { id: '10', label: 'Help center', icon: 'help', shortcut: '⌘H' },\n { id: '11', label: 'Keyboard shortcuts', icon: 'keyboard', shortcut: '?' },\n { id: '12', divider: true },\n { id: '13', label: 'Sign out', icon: 'logout', shortcut: '⇧⌘Q' },\n ];\n\n return (\n <Host>\n <div class={sidebarClasses}>\n <div class=\"navigation\">\n {/* Gradient bar */}\n <div class=\"gradient-bar\">\n <div class=\"detail-bar\"></div>\n </div>\n\n {/* Main content */}\n <div class=\"sidebar-content\">\n {/* Logo box */}\n <bh-logo-box logoType={this.logoType}></bh-logo-box>\n\n {/* Navigation section */}\n <div class=\"navigation-section\">\n {/* Search */}\n <div class=\"search-container\">\n <bh-button-icon\n hierarchy=\"secondary\"\n size=\"sm\"\n iconName=\"search\"\n onClick={this.handleSearchClick}\n ></bh-button-icon>\n </div>\n\n {/* Nav items */}\n <div class=\"nav-items\">\n {this.menuItems.map((item) => (\n <bh-nav-item\n key={item.label}\n icon={item.icon}\n label={item.label}\n isActive={this.activeItem === item.label}\n onBhClick={() => this.handleNavItemClick(item.label)}\n ></bh-nav-item>\n ))}\n </div>\n </div>\n\n {/* Footer */}\n <div class=\"sidebar-footer\">\n <div class=\"footer-navigation\">\n {this.footerItems.map((item) => (\n <bh-nav-item\n key={item.label}\n icon={item.icon}\n label={item.label}\n isActive={false}\n onBhClick={() => this.handleNavItemClick(item.label)}\n ></bh-nav-item>\n ))}\n </div>\n\n {/* Avatar Dropdown */}\n <bh-dropdown\n variant=\"avatar\"\n size=\"md\"\n avatarSize=\"md\"\n avatarSrc={this.avatarUrl}\n avatarName={this.avatarName}\n avatarEmail={this.avatarEmail}\n menuItems={avatarMenuItems}\n showIcons={true}\n onBhItemClick={this.handleAvatarMenuClick}\n ></bh-dropdown>\n </div>\n </div>\n </div>\n </div>\n </Host>\n );\n }\n}\n"],"version":3}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"file":"bh-tab-item.js","mappings":";;AAAA,MAAM,YAAY,GAAG,orEAAorE;;MCkB5rEA,WAAS,iBAAAC,kBAAA,CAAA,MAAA,SAAA,SAAAC,CAAA,CAAA;;;;;;;;;;AAGpB;;AAEG;AACK,IAAA,KAAK;AAEb;;AAEG;AACK,IAAA,KAAK;AAEb;;AAEG;IACK,MAAM,GAAY,KAAK;AAE/B;;AAEG;IACK,QAAQ,GAAY,KAAK;AAEjC;;AAEG;AAEH,IAAA,cAAc;IAEN,WAAW,GAAG,MAAW;AAC/B,QAAA,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;YAClB,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;;AAExC,KAAC;IAED,MAAM,GAAA;AACJ,QAAA,MAAM,aAAa,GAAG;AACpB,YAAA,YAAY,EAAE,IAAI;YAClB,mBAAmB,EAAE,IAAI,CAAC,MAAM;YAChC,qBAAqB,EAAE,IAAI,CAAC,QAAQ;SACrC;QAED,QACE,CAAA,CAAC,IAAI,EAAA,EAAA,GAAA,EAAA,0CAAA,EACH,KAAK,EAAE;AACL,gBAAA,UAAU,EAAE,IAAI;gBAChB,iBAAiB,EAAE,IAAI,CAAC,MAAM;gBAC9B,mBAAmB,EAAE,IAAI,CAAC,QAAQ;aACnC,EAAA,EAED,CACE,CAAA,QAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAE,aAAa,EACpB,IAAI,EAAC,QAAQ,EACb,IAAI,EAAC,KAAK,mBACK,IAAI,CAAC,MAAM,GAAG,MAAM,GAAG,OAAO,EAC9B,eAAA,EAAA,IAAI,CAAC,QAAQ,GAAG,MAAM,GAAG,OAAO,EAC/C,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,OAAO,EAAE,IAAI,CAAC,WAAW,EACzB,IAAI,EAAC,QAAQ,EAAA,EAEb,CAAM,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,WAAW,EAAC,IAAI,EAAC,OAAO,EACjC,EAAA,IAAI,CAAC,KAAK,CACN,EACP,CAAQ,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,CAAA,CACD,CACJ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":["BhTabItem","__stencil_proxyCustomElement","HTMLElement"],"sources":["src/components/bh-tab-item/bh-tab-item.css?tag=bh-tab-item&encapsulation=shadow","src/components/bh-tab-item/bh-tab-item.tsx"],"sourcesContent":["/* ==========================================================================\n BH-TAB-ITEM COMPONENT STYLES\n ========================================================================== */\n\n:host {\n display: flex;\n}\n\n/* Full Width for Tab Items inside Full Width Tabs */\n:host(.tab-item-full) {\n flex: 1 0 0;\n min-width: 0;\n}\n\n/* Tab Button Base */\n.tab-button {\n display: flex;\n align-items: center;\n justify-content: center;\n gap: var(--spacing-xs);\n padding: var(--spacing-sm) var(--spacing-md);\n min-height: 36px;\n font-family: var(--font-inter);\n font-size: var(--text-sm-size);\n line-height: var(--text-sm-line);\n font-weight: var(--weight-semibold);\n color: var(--color-neutral-600);\n background: transparent;\n border: none;\n border-radius: var(--radius-sm);\n cursor: pointer;\n transition: all 0.2s ease-in-out;\n white-space: nowrap;\n outline: none;\n width: 100%;\n}\n\n/* Underline Type Specific Styles */\n:host-context(.tabs-underline) .tab-button {\n border-radius: 0;\n padding-top: var(--spacing-xs);\n padding-bottom: var(--spacing-md);\n border-bottom: 2px solid transparent;\n}\n\n/* Full Width Tab Items */\n:host-context(.tabs-full-width) .tab-button {\n justify-content: center;\n}\n\n/* Active State - Contained Type */\n:host-context(.tabs-contained) .tab-button-active {\n color: var(--color-brand-600);\n background-color: var(--color-brand-50);\n}\n\n/* Active State - Underline Type */\n:host-context(.tabs-underline) .tab-button-active {\n color: var(--color-brand-600);\n border-bottom-color: var(--color-brand-600);\n}\n\n/* Hover State - Contained Type */\n:host-context(.tabs-contained)\n .tab-button:hover:not(.tab-button-disabled):not(.tab-button-active) {\n background-color: var(--color-neutral-50);\n color: var(--color-neutral-700);\n}\n\n/* Hover State - Underline Type */\n:host-context(.tabs-underline)\n .tab-button:hover:not(.tab-button-disabled):not(.tab-button-active) {\n color: var(--color-neutral-700);\n}\n\n/* Active/Pressed State - Contained Type */\n:host-context(.tabs-contained) .tab-button:active:not(.tab-button-disabled) {\n background-color: var(--color-neutral-100);\n}\n\n/* Focus State */\n.tab-button:focus-visible {\n outline: 2px solid var(--color-brand-500);\n outline-offset: 2px;\n}\n\n/* Disabled State */\n.tab-button-disabled {\n cursor: not-allowed;\n opacity: 0.5;\n pointer-events: none;\n}\n\n/* Tab Label */\n.tab-label {\n display: inline-block;\n}\n\n/* ==========================================================================\n VERTICAL ORIENTATION STYLES\n ========================================================================== */\n\n/* Vertical Tab Items take full width */\n:host-context(.tabs-vertical) {\n width: 100%;\n}\n\n:host-context(.tabs-vertical) .tab-button {\n justify-content: flex-start;\n width: 100%;\n}\n\n/* Vertical Contained - Active State */\n:host-context(.tabs-vertical.tabs-contained) .tab-button-active {\n color: var(--color-brand-600);\n background-color: var(--color-brand-50);\n}\n\n/* Vertical Underline - Uses left border instead of bottom */\n:host-context(.tabs-vertical.tabs-underline) .tab-button {\n border-radius: 0;\n border-bottom: none;\n border-left: 2px solid transparent;\n padding: var(--spacing-sm) var(--spacing-md) var(--spacing-sm) var(--spacing-lg);\n}\n\n/* Vertical Underline - Active State */\n:host-context(.tabs-vertical.tabs-underline) .tab-button-active {\n color: var(--color-brand-600);\n border-left-color: var(--color-brand-600);\n border-bottom-color: transparent;\n}\n","import {\n Component,\n Prop,\n Event,\n EventEmitter,\n h,\n Host,\n Element,\n} from '@stencil/core';\n\n/**\n * @slot - Tab content (usually just text, but can include badges)\n */\n@Component({\n tag: 'bh-tab-item',\n styleUrl: 'bh-tab-item.css',\n shadow: true,\n})\nexport class BhTabItem {\n @Element() el!: HTMLElement;\n\n /**\n * Unique identifier for this tab\n */\n @Prop() value!: string;\n\n /**\n * The label text for the tab\n */\n @Prop() label!: string;\n\n /**\n * Whether this tab is currently active\n */\n @Prop() active: boolean = false;\n\n /**\n * Whether this tab is disabled\n */\n @Prop() disabled: boolean = false;\n\n /**\n * Emitted when the tab is clicked\n */\n @Event({ bubbles: true, composed: true })\n bhTabItemClick!: EventEmitter<string>;\n\n private handleClick = (): void => {\n if (!this.disabled) {\n this.bhTabItemClick.emit(this.value);\n }\n };\n\n render() {\n const buttonClasses = {\n 'tab-button': true,\n 'tab-button-active': this.active,\n 'tab-button-disabled': this.disabled,\n };\n\n return (\n <Host\n class={{\n 'tab-item': true,\n 'tab-item-active': this.active,\n 'tab-item-disabled': this.disabled,\n }}\n >\n <button\n class={buttonClasses}\n part=\"button\"\n role=\"tab\"\n aria-selected={this.active ? 'true' : 'false'}\n aria-disabled={this.disabled ? 'true' : 'false'}\n disabled={this.disabled}\n onClick={this.handleClick}\n type=\"button\"\n >\n <span class=\"tab-label\" part=\"label\">\n {this.label}\n </span>\n <slot />\n </button>\n </Host>\n );\n }\n}\n"],"version":3}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"file":"bh-tabs.js","mappings":";;AAAA,MAAM,SAAS,GAAG,0wBAA0wB;;MCqB/wBA,QAAM,iBAAAC,kBAAA,CAAA,MAAA,MAAA,SAAAC,CAAA,CAAA;;;;;;;;;AACjB;;AAEG;IACK,IAAI,GAAa,WAAW;AAEpC;;AAEG;IACK,WAAW,GAAoB,YAAY;AAEnD;;AAEG;IACK,SAAS,GAAY,KAAK;AAElC;;AAEG;IACsB,KAAK,GAAW,EAAE;AAE3C;;AAEG;AACuC,IAAA,WAAW;AAGrD,IAAA,kBAAkB,CAAC,KAA0B,EAAA;AAC3C,QAAA,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM;AAC1B,QAAA,IAAI,IAAI,CAAC,KAAK,KAAK,KAAK,EAAE;AACxB,YAAA,IAAI,CAAC,KAAK,GAAG,KAAK;AAClB,YAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC;;;IAIhC,MAAM,GAAA;AACJ,QAAA,MAAM,WAAW,GAAG;AAClB,YAAA,IAAI,EAAE,IAAI;AACV,YAAA,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAE,CAAA,GAAG,IAAI;AAC3B,YAAA,CAAC,QAAQ,IAAI,CAAC,WAAW,CAAE,CAAA,GAAG,IAAI;YAClC,iBAAiB,EAAE,IAAI,CAAC,SAAS;SAClC;AAED,QAAA,QACE,CAAC,CAAA,IAAI,EAAC,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAE,WAAW,EAAA,EACtB,CAAA,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAK,KAAK,EAAC,gBAAgB,EAAC,IAAI,EAAC,WAAW,EAAA,EAC1C,CAAA,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EACE,KAAK,EAAC,WAAW,EACjB,IAAI,EAAC,MAAM,EACX,IAAI,EAAC,SAAS,EACI,kBAAA,EAAA,IAAI,CAAC,WAAW,EAAA,EAElC,CAAA,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,CAAQ,CACJ,CACF,CACD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":["BhTabs","__stencil_proxyCustomElement","HTMLElement"],"sources":["src/components/bh-tabs/bh-tabs.css?tag=bh-tabs&encapsulation=shadow","src/components/bh-tabs/bh-tabs.tsx"],"sourcesContent":["/* ==========================================================================\n BH-TABS COMPONENT STYLES\n ========================================================================== */\n\n:host {\n display: block;\n width: 100%;\n}\n\n/* Tabs Container */\n.tabs-container {\n display: flex;\n flex-direction: column;\n width: 100%;\n}\n\n/* Tabs List */\n.tabs-list {\n display: flex;\n gap: var(--spacing-xs);\n padding: var(--spacing-none);\n position: relative;\n}\n\n/* Full Width */\n.tabs-full-width .tabs-list {\n width: 100%;\n gap: var(--spacing-lg);\n justify-content: center;\n}\n\n/* Underline Type - Horizontal */\n.tabs-underline.tabs-horizontal .tabs-container {\n border-bottom: 1px solid var(--color-neutral-200);\n}\n\n.tabs-underline.tabs-horizontal .tabs-list {\n gap: var(--spacing-lg);\n}\n\n.tabs-underline.tabs-horizontal.tabs-full-width .tabs-list {\n gap: var(--spacing-lg);\n}\n\n/* Contained Type */\n.tabs-contained .tabs-list {\n gap: var(--spacing-xs);\n}\n\n/* ==========================================================================\n VERTICAL ORIENTATION\n ========================================================================== */\n\n.tabs-vertical {\n width: auto;\n}\n\n.tabs-vertical .tabs-container {\n width: auto;\n}\n\n.tabs-vertical .tabs-list {\n flex-direction: column;\n gap: var(--spacing-xs);\n width: 204px;\n}\n\n/* Vertical Underline Type - Left border instead of bottom */\n.tabs-underline.tabs-vertical .tabs-container {\n border-bottom: none;\n}\n","import {\n Component,\n Prop,\n Event,\n EventEmitter,\n h,\n Host,\n Listen,\n} from '@stencil/core';\n\nexport type TabsType = 'underline' | 'contained';\nexport type TabsOrientation = 'horizontal' | 'vertical';\n\n/**\n * @slot - Tab items (bh-tab-item components)\n */\n@Component({\n tag: 'bh-tabs',\n styleUrl: 'bh-tabs.css',\n shadow: true,\n})\nexport class BhTabs {\n /**\n * The type of tabs: underline or contained style\n */\n @Prop() type: TabsType = 'contained';\n\n /**\n * The orientation of the tabs: horizontal or vertical\n */\n @Prop() orientation: TabsOrientation = 'horizontal';\n\n /**\n * Whether the tabs should take up the full width of the container\n */\n @Prop() fullWidth: boolean = false;\n\n /**\n * The value of the currently active tab\n */\n @Prop({ mutable: true }) value: string = '';\n\n /**\n * Emitted when the active tab changes\n */\n @Event({ bubbles: true, composed: true }) bhTabChange!: EventEmitter<string>;\n\n @Listen('bhTabItemClick')\n handleTabItemClick(event: CustomEvent<string>): void {\n const value = event.detail;\n if (this.value !== value) {\n this.value = value;\n this.bhTabChange.emit(value);\n }\n }\n\n render() {\n const hostClasses = {\n tabs: true,\n [`tabs-${this.type}`]: true,\n [`tabs-${this.orientation}`]: true,\n 'tabs-full-width': this.fullWidth,\n };\n\n return (\n <Host class={hostClasses}>\n <div class=\"tabs-container\" part=\"container\">\n <div\n class=\"tabs-list\"\n part=\"list\"\n role=\"tablist\"\n aria-orientation={this.orientation}\n >\n <slot />\n </div>\n </div>\n </Host>\n );\n }\n}\n"],"version":3}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"file":"bh-textarea.js","mappings":"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","names":["BhTextarea","__stencil_proxyCustomElement","HTMLElement"],"sources":["src/components/bh-textarea/bh-textarea.css?tag=bh-textarea&encapsulation=shadow","src/components/bh-textarea/bh-textarea.tsx"],"sourcesContent":["/* ==========================================================================\n BH-TEXTAREA COMPONENT STYLES\n ========================================================================== */\n\n:host {\n display: block;\n}\n\n.textarea-wrapper {\n display: flex;\n flex-direction: column;\n gap: var(--spacing-sm);\n width: 100%;\n}\n\n/* Container */\n.textarea-container {\n position: relative;\n display: flex;\n flex-direction: column;\n background: var(--color-white);\n border: 1px solid var(--color-neutral-300);\n border-radius: 8px;\n box-shadow: 0px 1px 2px rgba(64, 73, 104, 0.06);\n transition: all 0.2s ease-in-out;\n min-height: 128px;\n}\n\n.textarea-container:hover:not(.textarea-container-disabled):not(.textarea-container-focused) {\n border-color: var(--color-brand-500);\n}\n\n.textarea-container-focused {\n border-color: var(--color-brand-500);\n box-shadow: 0 0 0 1px var(--color-brand-500);\n}\n\n.textarea-container-error {\n border-color: var(--color-error-300);\n}\n\n.textarea-container-error:hover:not(.textarea-container-focused) {\n border-color: var(--color-error-500);\n}\n\n.textarea-container-error.textarea-container-focused {\n border-color: var(--color-brand-500);\n box-shadow: 0 0 0 1px var(--color-brand-500);\n}\n\n.textarea-container-disabled {\n opacity: 0.5;\n cursor: not-allowed;\n background: var(--color-neutral-50);\n}\n\n/* Textarea Content */\n.textarea-content {\n width: 100%;\n}\n\n/* Textarea */\n.textarea {\n box-sizing: border-box;\n padding: 12px 14px;\n background: transparent;\n border: none;\n outline: none;\n font-family: var(--font-inter);\n font-weight: 400;\n font-size: var(--text-sm-size);\n line-height: 1.5;\n color: var(--color-neutral-900);\n width: 100%;\n min-height: 96px;\n resize: none;\n caret-color: var(--color-brand-500);\n flex: 1;\n box-shadow: none;\n}\n\n.textarea:focus {\n outline: none;\n border: none;\n box-shadow: none;\n}\n\n.textarea::placeholder {\n color: var(--color-neutral-400);\n}\n\n.textarea:disabled {\n cursor: not-allowed;\n color: var(--color-neutral-400);\n}\n\n/* Hint Text */\n.hint-text {\n font-family: var(--font-inter);\n font-weight: 400;\n font-size: var(--text-sm-size);\n line-height: 1.43;\n color: var(--color-neutral-600);\n}\n\n.hint-text.hint-error {\n color: var(--color-error-600);\n}\n\n/* Responsive adjustments */\n@media (max-width: 768px) {\n .textarea {\n font-size: 16px; /* Prevent zoom on iOS */\n }\n}\n","import { Component, Prop, State, Event, EventEmitter, h, AttachInternals } from '@stencil/core';\nimport { syncFormValue, updateValidity } from '../../utils/form';\n\nexport type TextareaResize = 'none' | 'both' | 'horizontal' | 'vertical';\n\n@Component({\n tag: 'bh-textarea',\n styleUrl: 'bh-textarea.css',\n shadow: true,\n formAssociated: true,\n})\nexport class BhTextarea {\n @AttachInternals() internals!: ElementInternals;\n\n private textareaEl?: HTMLTextAreaElement;\n /**\n * The label for the textarea\n */\n @Prop() label: string = 'Comment';\n\n /**\n * Placeholder text\n */\n @Prop() placeholder: string = 'Write a message...';\n\n /**\n * Hint text shown below the textarea\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 the field has an error\n */\n @Prop() error: boolean = false;\n\n /**\n * Whether the textarea 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 * The textarea 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 * Number of visible rows\n */\n @Prop() rows: number = 4;\n\n /**\n * Resize behavior\n */\n @Prop() resize: TextareaResize = 'none';\n\n /**\n * Maximum character length\n */\n @Prop() maxLength?: number;\n\n /**\n * Track focus state\n */\n @State() isFocused: boolean = false;\n\n /**\n * Emitted when the value changes\n */\n @Event() bhInput!: EventEmitter<string>;\n\n /**\n * Emitted when the textarea gains focus\n */\n @Event() bhFocus!: EventEmitter<void>;\n\n /**\n * Emitted when the textarea 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 componentDidLoad() {\n syncFormValue(this);\n updateValidity(this.internals, this.textareaEl, this.validationMessage);\n }\n\n formResetCallback() {\n this.value = this.defaultValue;\n if (this.textareaEl) {\n this.textareaEl.value = this.defaultValue;\n }\n syncFormValue(this);\n updateValidity(this.internals, this.textareaEl);\n }\n\n private handleInput = (event: Event): void => {\n const target = event.target as HTMLTextAreaElement;\n this.value = target.value;\n this.bhInput.emit(this.value);\n syncFormValue(this);\n updateValidity(this.internals, this.textareaEl, this.validationMessage);\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 handleHelpClick = (): void => {\n this.bhHelpClick.emit();\n };\n\n render() {\n const containerClasses = {\n 'textarea-container': true,\n 'textarea-container-focused': this.isFocused,\n 'textarea-container-error': this.error,\n 'textarea-container-disabled': this.disabled,\n };\n\n const textareaClasses = {\n 'textarea': true,\n 'textarea-error': this.error,\n };\n\n return (\n <div class=\"textarea-wrapper\" part=\"wrapper\">\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 class={containerClasses}>\n <div class=\"textarea-content\">\n <textarea\n ref={(el) => (this.textareaEl = el)}\n class={textareaClasses}\n name={this.name}\n value={this.value}\n placeholder={this.placeholder}\n disabled={this.disabled}\n required={this.required}\n rows={this.rows}\n maxLength={this.maxLength}\n style={{ resize: this.resize }}\n aria-label={this.label}\n aria-describedby={this.showHintText && this.hintText ? 'hint-text' : undefined}\n aria-invalid={String(this.error)}\n onInput={this.handleInput}\n onFocus={this.handleFocus}\n onBlur={this.handleBlur}\n part=\"textarea\"\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,9 +0,0 @@
|
|
|
1
|
-
import { B as BhToggle$1, d as defineCustomElement$1 } from './p-dlKpBGSA.js';
|
|
2
|
-
|
|
3
|
-
const BhToggle = BhToggle$1;
|
|
4
|
-
const defineCustomElement = defineCustomElement$1;
|
|
5
|
-
|
|
6
|
-
export { BhToggle, defineCustomElement };
|
|
7
|
-
//# sourceMappingURL=bh-toggle.js.map
|
|
8
|
-
|
|
9
|
-
//# sourceMappingURL=bh-toggle.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"file":"bh-toggle.js","mappings":";;;;;;;","names":[],"sources":[],"sourcesContent":[],"version":3}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"file":"bh-trend-chart.js","mappings":"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","names":["BhTrendChart","__stencil_proxyCustomElement","HTMLElement"],"sources":["src/components/bh-trend-chart/bh-trend-chart.css?tag=bh-trend-chart&encapsulation=shadow","src/components/bh-trend-chart/bh-trend-chart.tsx"],"sourcesContent":["@import '../../global/global.css';\n\n:host {\n display: inline-block;\n}\n\n.trend-chart {\n position: relative;\n display: inline-block;\n width: fit-content;\n height: fit-content;\n}\n\n/* Chart SVG container */\n.chart-svg {\n overflow: visible;\n}\n\n/* Smooth Airbnb-style reveal animations */\n@keyframes chartFadeIn {\n from {\n opacity: 0;\n transform: translateY(10px) scale(0.95);\n }\n to {\n opacity: 1;\n transform: translateY(0) scale(1);\n }\n}\n\n@keyframes backgroundFill {\n from {\n opacity: 0;\n transform: scaleY(0);\n }\n to {\n opacity: 1;\n transform: scaleY(1);\n }\n}\n\n/* Animation timing */\n.trend-chart-animated {\n animation: chartFadeIn 0.6s var(--animation-ease-smooth, ease-out) forwards;\n}\n\n.trend-chart-animated .chart-line {\n stroke-dasharray: 1000;\n stroke-dashoffset: 1000;\n animation: pathDraw 1.2s var(--animation-ease-smooth, ease-out) 0.3s forwards;\n}\n\n@keyframes pathDraw {\n to {\n stroke-dashoffset: 0;\n }\n}\n\n.trend-chart-animated .chart-background {\n transform-origin: bottom;\n animation: backgroundFill 0.8s var(--animation-ease-smooth, ease-out) 0.3s forwards;\n opacity: 0;\n}\n\n/* Line-only variant - slower animation */\n.trend-chart-animated.trend-chart-line-only .chart-line {\n animation: pathDrawSlow 4s var(--animation-ease-smooth, ease-out) 0.3s forwards;\n}\n\n@keyframes pathDrawSlow {\n to {\n stroke-dashoffset: 0;\n }\n}\n\n/* Static styles for non-animated */\n.trend-chart:not(.trend-chart-animated) .chart-line {\n stroke-dasharray: none;\n}\n\n.trend-chart:not(.trend-chart-animated) .chart-background {\n opacity: 1;\n}\n\n/* Responsive behavior */\n@media (prefers-reduced-motion: reduce) {\n .trend-chart-animated,\n .trend-chart-animated .chart-line,\n .trend-chart-animated .chart-background {\n animation: none;\n opacity: 1;\n transform: none;\n stroke-dasharray: none;\n }\n}\n","import { Component, Prop, h, Host } from '@stencil/core';\n\nexport type TrendDirection = 'positive' | 'negative' | 'neutral';\nexport type TrendVariant = 'line-only' | 'fill-only' | 'line-fill';\n\n@Component({\n tag: 'bh-trend-chart',\n styleUrl: 'bh-trend-chart.css',\n shadow: true,\n})\nexport class BhTrendChart {\n /**\n * The trend direction (affects color)\n */\n @Prop() trend: TrendDirection = 'positive';\n\n /**\n * Data points for the chart\n */\n @Prop() data: number[] = [20, 45, 30, 60, 35, 70, 40];\n\n /**\n * Whether to animate the chart\n */\n @Prop() animated: boolean = true;\n\n /**\n * Chart variant: line-only, fill-only, or line-fill\n */\n @Prop() variant: TrendVariant = 'line-only';\n\n /**\n * Width of the chart in pixels\n */\n @Prop() width: number = 112;\n\n /**\n * Height of the chart in pixels\n */\n @Prop() height: number = 56;\n\n private normalizeData(): Array<{ x: number; y: number }> {\n const maxValue = Math.max(...this.data);\n const minValue = Math.min(...this.data);\n const range = maxValue - minValue || 1;\n\n return this.data.map((value, index) => ({\n x: (index / (this.data.length - 1)) * this.width,\n y: this.height - ((value - minValue) / range) * (this.height - 20) - 10,\n }));\n }\n\n private generatePath(points: Array<{ x: number; y: number }>): string {\n if (points.length < 2) return '';\n\n let path = `M ${points[0].x} ${points[0].y}`;\n\n for (let i = 1; i < points.length; i++) {\n const prev = points[i - 1];\n const curr = points[i];\n const tension = 0.5;\n\n const cp1x = prev.x + (curr.x - prev.x) * tension;\n const cp1y = prev.y;\n const cp2x = curr.x - (curr.x - prev.x) * tension;\n const cp2y = curr.y;\n\n path += ` C ${cp1x} ${cp1y}, ${cp2x} ${cp2y}, ${curr.x} ${curr.y}`;\n }\n\n return path;\n }\n\n private generateBackgroundPath(points: Array<{ x: number; y: number }>): string {\n if (points.length < 2) return '';\n\n let path = `M ${points[0].x} ${this.height}`;\n path += ` L ${points[0].x} ${points[0].y}`;\n\n for (let i = 1; i < points.length; i++) {\n const prev = points[i - 1];\n const curr = points[i];\n const tension = 0.5;\n\n const cp1x = prev.x + (curr.x - prev.x) * tension;\n const cp1y = prev.y;\n const cp2x = curr.x - (curr.x - prev.x) * tension;\n const cp2y = curr.y;\n path += ` C ${cp1x} ${cp1y}, ${cp2x} ${cp2y}, ${curr.x} ${curr.y}`;\n }\n\n path += ` L ${points[points.length - 1].x} ${this.height}`;\n path += ' Z';\n\n return path;\n }\n\n private getStrokeColor(): string {\n switch (this.trend) {\n case 'positive':\n return 'var(--color-success-500)';\n case 'negative':\n return 'var(--color-error-500)';\n case 'neutral':\n return 'var(--color-neutral-500)';\n default:\n return 'var(--color-neutral-500)';\n }\n }\n\n private getFillColor(): string {\n switch (this.trend) {\n case 'positive':\n return 'var(--color-success-600)';\n case 'negative':\n return 'var(--color-error-600)';\n case 'neutral':\n return 'var(--color-neutral-600)';\n default:\n return 'var(--color-neutral-600)';\n }\n }\n\n render() {\n const points = this.normalizeData();\n const pathData = this.generatePath(points);\n const backgroundPath = this.variant !== 'line-only' ? this.generateBackgroundPath(points) : '';\n const strokeColor = this.getStrokeColor();\n const fillColor = this.getFillColor();\n const gradientId = `gradient-${this.trend}`;\n\n return (\n <Host>\n <div\n class={{\n 'trend-chart': true,\n [`trend-chart-${this.trend}`]: true,\n [`trend-chart-${this.variant}`]: true,\n 'trend-chart-animated': this.animated,\n }}\n >\n <svg\n width={this.width}\n height={this.height}\n viewBox={`0 0 ${this.width} ${this.height}`}\n class=\"chart-svg\"\n >\n <defs>\n <linearGradient id={gradientId} x1=\"0%\" y1=\"0%\" x2=\"0%\" y2=\"100%\">\n <stop\n offset=\"0%\"\n stop-color={fillColor}\n stop-opacity={this.variant === 'fill-only' ? 0.4 : 0.2}\n />\n <stop\n offset=\"100%\"\n stop-color={fillColor}\n stop-opacity={this.variant === 'fill-only' ? 0.1 : 0.05}\n />\n </linearGradient>\n </defs>\n\n {/* Background fill (for fill-only and line-fill variants) */}\n {backgroundPath && this.variant !== 'line-only' && (\n <path\n class=\"chart-background\"\n d={backgroundPath}\n fill={`url(#${gradientId})`}\n />\n )}\n\n {/* Stroke line (for line-only and line-fill variants) */}\n {pathData && this.variant !== 'fill-only' && (\n <path\n class=\"chart-line\"\n d={pathData}\n stroke={strokeColor}\n stroke-width=\"2\"\n fill=\"none\"\n />\n )}\n </svg>\n </div>\n </Host>\n );\n }\n}\n"],"version":3}
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Get the base path to where the assets can be found. Use "setAssetPath(path)"
|
|
3
|
-
* if the path needs to be customized.
|
|
4
|
-
*/
|
|
5
|
-
export declare const getAssetPath: (path: string) => string;
|
|
6
|
-
|
|
7
|
-
/**
|
|
8
|
-
* Used to manually set the base path where assets can be found.
|
|
9
|
-
* If the script is used as "module", it's recommended to use "import.meta.url",
|
|
10
|
-
* such as "setAssetPath(import.meta.url)". Other options include
|
|
11
|
-
* "setAssetPath(document.currentScript.src)", or using a bundler's replace plugin to
|
|
12
|
-
* dynamically set the path at build time, such as "setAssetPath(process.env.ASSET_PATH)".
|
|
13
|
-
* But do note that this configuration depends on how your script is bundled, or lack of
|
|
14
|
-
* bundling, and where your assets can be loaded from. Additionally custom bundling
|
|
15
|
-
* will have to ensure the static assets are copied to its build directory.
|
|
16
|
-
*/
|
|
17
|
-
export declare const setAssetPath: (path: string) => void;
|
|
18
|
-
|
|
19
|
-
/**
|
|
20
|
-
* Used to specify a nonce value that corresponds with an application's CSP.
|
|
21
|
-
* When set, the nonce will be added to all dynamically created script and style tags at runtime.
|
|
22
|
-
* Alternatively, the nonce value can be set on a meta tag in the DOM head
|
|
23
|
-
* (<meta name="csp-nonce" content="{ nonce value here }" />) which
|
|
24
|
-
* will result in the same behavior.
|
|
25
|
-
*/
|
|
26
|
-
export declare const setNonce: (nonce: string) => void
|
|
27
|
-
|
|
28
|
-
export interface SetPlatformOptions {
|
|
29
|
-
raf?: (c: FrameRequestCallback) => number;
|
|
30
|
-
ael?: (el: EventTarget, eventName: string, listener: EventListenerOrEventListenerObject, options: boolean | AddEventListenerOptions) => void;
|
|
31
|
-
rel?: (el: EventTarget, eventName: string, listener: EventListenerOrEventListenerObject, options: boolean | AddEventListenerOptions) => void;
|
|
32
|
-
}
|
|
33
|
-
export declare const setPlatformOptions: (opts: SetPlatformOptions) => void;
|
package/dist/components/index.js
DELETED
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
export { g as getAssetPath, r as render, s as setAssetPath, a as setNonce, b as setPlatformOptions } from './p-ChfLhYiJ.js';
|
|
2
|
-
export { B as BhButton } from './p-BFhwq3_y.js';
|
|
3
|
-
export { B as BhBadge } from './p-BpXkE6y8.js';
|
|
4
|
-
export { B as BhLabel } from './p-DufL1yr4.js';
|
|
5
|
-
export { B as BhModal } from './p-DURWm67o.js';
|
|
6
|
-
export { B as BhAvatar } from './p-CMomxDPL.js';
|
|
7
|
-
export { B as BhToggle } from './p-dlKpBGSA.js';
|
|
8
|
-
export { B as BhCard } from './p-DtbXB8r4.js';
|
|
9
|
-
export { B as BhCardHeader } from './p-BNeBcvHu.js';
|
|
10
|
-
export { B as BhCardFooter } from './p-DK92X9HV.js';
|
|
11
|
-
export { B as BhCheckboxGroup } from './p-BOk69MBi.js';
|
|
12
|
-
export { B as BhCheckboxGroupItem } from './p-Ccq-Rk5W.js';
|
|
13
|
-
export { B as BhDataGrid } from './p-D-RHfFhc.js';
|
|
14
|
-
export { B as BhPagination } from './p-CbeeTFys.js';
|
|
15
|
-
//# sourceMappingURL=index.js.map
|
|
16
|
-
|
|
17
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"file":"index.js","mappings":";;;;;;;;;;;;;","names":[],"sources":[],"sourcesContent":[],"version":3}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"file":"p-5LJWVh2v.js","mappings":";;AAAA,MAAM,YAAY,GAAG,ggCAAggC;;MCUxgC,SAAS,iBAAAA,kBAAA,CAAA,MAAA,SAAA,SAAAC,CAAA,CAAA;;;;;;;;AACpB;;AAEG;IACK,IAAI,GAAW,EAAE;AAEzB;;AAEG;IACK,QAAQ,GAAoB,KAAK;AAEzC;;AAEG;IACK,OAAO,GAAmB,SAAS;AAE3C;;AAEG;IACK,OAAO,GAAY,KAAK;AAEhC;;AAEG;AACK,IAAA,QAAQ;IAEhB,MAAM,GAAA;AACJ,QAAA,MAAM,cAAc,GAAG;AACrB,YAAA,SAAS,EAAE,IAAI;AACf,YAAA,CAAC,WAAW,IAAI,CAAC,QAAQ,CAAE,CAAA,GAAG,IAAI;AAClC,YAAA,CAAC,WAAW,IAAI,CAAC,OAAO,CAAE,CAAA,GAAG,IAAI;YACjC,iBAAiB,EAAE,IAAI,CAAC,OAAO;YAC/B,WAAW,EAAE,IAAI,CAAC,QAAQ,KAAK,SAAS,IAAI,IAAI,CAAC,QAAQ,GAAG,GAAG;SAChE;QAED,MAAM,aAAa,GAAG,IAAI,CAAC,QAAQ,GAAG,EAAE,QAAQ,EAAE,CAAG,EAAA,IAAI,CAAC,QAAQ,CAAA,EAAA,CAAI,EAAE,GAAG,EAAE;QAE7E,QACE,CAAK,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAE,cAAc,EAAE,KAAK,EAAE,aAAa,EAAE,IAAI,EAAC,SAAS,EAAC,IAAI,EAAC,SAAS,EAAA,EAC7E,CAAK,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,iBAAiB,EAAE,EAAA,IAAI,CAAC,IAAI,CAAO,CAC1C;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":["__stencil_proxyCustomElement","HTMLElement"],"sources":["src/components/bh-tooltip/bh-tooltip.css?tag=bh-tooltip&encapsulation=shadow","src/components/bh-tooltip/bh-tooltip.tsx"],"sourcesContent":["/* ==========================================================================\n BH-TOOLTIP COMPONENT STYLES\n ========================================================================== */\n\n:host {\n display: inline-block;\n}\n\n.tooltip {\n position: absolute;\n z-index: 10000;\n pointer-events: none;\n opacity: 0;\n transition: opacity 0.2s ease-in-out;\n white-space: nowrap;\n}\n\n.tooltip-visible {\n opacity: 1;\n}\n\n.tooltip-content {\n background-color: var(--color-neutral-900);\n color: var(--color-white);\n font-family: var(--font-inter);\n font-weight: var(--weight-semibold);\n font-size: 12px;\n line-height: 1.5em;\n padding: 8px 12px;\n border-radius: 8px;\n box-shadow: var(--shadow-popover);\n position: relative;\n}\n\n/* Position variants */\n.tooltip-top {\n bottom: 100%;\n left: 50%;\n transform: translateX(-50%);\n margin-bottom: 6px;\n}\n\n.tooltip-bottom {\n top: 100%;\n left: 50%;\n transform: translateX(-50%);\n margin-top: 6px;\n}\n\n.tooltip-left {\n right: 100%;\n top: 50%;\n transform: translateY(-50%);\n margin-right: 6px;\n}\n\n.tooltip-right {\n left: 100%;\n top: 50%;\n transform: translateY(-50%);\n margin-left: 6px;\n}\n\n/* Multiline support */\n.tooltip.multiline {\n white-space: normal;\n}\n\n.tooltip.multiline .tooltip-content {\n max-width: 240px;\n}\n\n/* Icon variant - positioning adjustments for tooltips on icons */\n.tooltip-icon.tooltip-top {\n margin-bottom: 4px;\n}\n\n.tooltip-icon.tooltip-bottom {\n margin-top: 4px;\n}\n\n.tooltip-icon.tooltip-left {\n margin-right: 4px;\n}\n\n.tooltip-icon.tooltip-right {\n margin-left: 4px;\n}\n","import { Component, Prop, h } from '@stencil/core';\n\nexport type TooltipPosition = 'top' | 'bottom' | 'left' | 'right';\nexport type TooltipVariant = 'default' | 'icon';\n\n@Component({\n tag: 'bh-tooltip',\n styleUrl: 'bh-tooltip.css',\n shadow: true,\n})\nexport class BhTooltip {\n /**\n * The tooltip text content\n */\n @Prop() text: string = '';\n\n /**\n * Position of the tooltip relative to its target\n */\n @Prop() position: TooltipPosition = 'top';\n\n /**\n * Variant of the tooltip (default or icon)\n */\n @Prop() variant: TooltipVariant = 'default';\n\n /**\n * Whether the tooltip is visible\n */\n @Prop() visible: boolean = false;\n\n /**\n * Maximum width in pixels (enables multiline if > 240)\n */\n @Prop() maxWidth?: number;\n\n render() {\n const tooltipClasses = {\n 'tooltip': true,\n [`tooltip-${this.position}`]: true,\n [`tooltip-${this.variant}`]: true,\n 'tooltip-visible': this.visible,\n 'multiline': this.maxWidth !== undefined && this.maxWidth > 240,\n };\n\n const tooltipStyles = this.maxWidth ? { maxWidth: `${this.maxWidth}px` } : {};\n\n return (\n <div class={tooltipClasses} style={tooltipStyles} role=\"tooltip\" part=\"tooltip\">\n <div class=\"tooltip-content\">{this.text}</div>\n </div>\n );\n }\n}\n"],"version":3}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"file":"p-B2edfvL2.js","mappings":";;AAAA,MAAM,wBAAwB,GAAG,u2LAAu2L;;MCO33L,qBAAqB,iBAAAA,kBAAA,CAAA,MAAA,qBAAA,SAAAC,CAAA,CAAA;;;;;;;;;AAChC;;AAEG;AACK,IAAA,KAAK;AAEb;;AAEG;AACK,IAAA,KAAK;AAEb;;AAEG;IACK,SAAS,GAAY,IAAI;AAEjC;;AAEG;IACK,QAAQ,GAAY,KAAK;AAEjC;;AAEG;AACM,IAAA,WAAW;IAEZ,WAAW,GAAG,MAAK;AACzB,QAAA,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE;AACzB,KAAC;IAEO,cAAc,GAAA;QACpB,OAAO;AACL,YAAA,uBAAuB,EAAE,IAAI;YAC7B,QAAQ,EAAE,IAAI,CAAC,QAAQ;SACxB;;IAGH,MAAM,GAAA;QACJ,QACE,EAAC,IAAI,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,EACH,CAAK,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAE,IAAI,CAAC,cAAc,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,WAAW,EAAA,EAC1D,CAAK,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,+BAA+B,EAAA,EACxC,CAAA,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAM,KAAK,EAAC,6BAA6B,IAAE,IAAI,CAAC,KAAK,CAAQ,EAC5D,IAAI,CAAC,KAAK,KAAK,SAAS,IAAI,IAAI,CAAC,SAAS,KACzC,CAAM,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,6BAA6B,EAAA,EAAE,IAAI,CAAC,KAAK,CAAQ,CAC9D,CACG,CACF,CACD;;;;;;;;;;;;;;;;;;;;;;;;;;","names":["__stencil_proxyCustomElement","HTMLElement"],"sources":["src/components/bh-page-navigation-child/bh-page-navigation-child.css?tag=bh-page-navigation-child&encapsulation=shadow","src/components/bh-page-navigation-child/bh-page-navigation-child.tsx"],"sourcesContent":["@import '../../global/global.css';\n\n:host {\n display: block;\n}\n\n.page-navigation-child {\n display: flex;\n align-items: center;\n padding: var(--spacing-md) var(--spacing-lg);\n cursor: pointer;\n gap: var(--spacing-md);\n position: relative;\n transition: all 0.15s ease;\n min-height: 36px;\n box-sizing: border-box;\n border-radius: var(--radius-sm);\n margin: var(--spacing-none) var(--spacing-xs);\n background-color: transparent;\n border: 1px solid transparent;\n margin-left: 9px;\n}\n\n/* Hover state for child items */\n.page-navigation-child:hover:not(.active) {\n background-color: var(--color-neutral-50);\n position: relative;\n z-index: 1;\n}\n\n/* Active/Selected state for child items */\n.page-navigation-child.active {\n background-color: transparent;\n}\n\n/* Active line indicator for child items */\n.page-navigation-child.active::before {\n content: '';\n position: absolute;\n left: -4.5px;\n top: 50%;\n transform: translateY(-50%);\n width: 2px;\n height: 24px;\n background-color: var(--color-brand-600);\n z-index: 3;\n}\n\n.page-navigation-child-content {\n display: flex;\n align-items: center;\n gap: var(--spacing-md);\n width: 100%;\n}\n\n.page-navigation-child-label {\n font-family: var(--font-inter);\n font-size: 14px;\n font-weight: 500;\n line-height: 20px;\n color: var(--color-neutral-600);\n flex: 1;\n transition: all 0.15s ease;\n}\n\n.page-navigation-child.active .page-navigation-child-label {\n color: var(--color-brand-600);\n font-weight: 600;\n}\n\n.page-navigation-child-badge {\n margin-left: auto;\n font-family: var(--font-inter);\n font-size: 12px;\n font-weight: 500;\n color: var(--color-neutral-500);\n}\n","import { Component, Prop, Event, EventEmitter, h, Host } from '@stencil/core';\n\n@Component({\n tag: 'bh-page-navigation-child',\n styleUrl: 'bh-page-navigation-child.css',\n shadow: true,\n})\nexport class BhPageNavigationChild {\n /**\n * Label text for the navigation item\n */\n @Prop() label!: string;\n\n /**\n * Optional badge text/number to display\n */\n @Prop() badge?: string | number;\n\n /**\n * Whether to show the badge (when badge prop is provided)\n */\n @Prop() showBadge: boolean = true;\n\n /**\n * Whether the item is currently active/selected\n */\n @Prop() isActive: boolean = false;\n\n /**\n * Event emitted when the navigation item is clicked\n */\n @Event() bhItemClick!: EventEmitter<void>;\n\n private handleClick = () => {\n this.bhItemClick.emit();\n };\n\n private getItemClasses() {\n return {\n 'page-navigation-child': true,\n 'active': this.isActive,\n };\n }\n\n render() {\n return (\n <Host>\n <div class={this.getItemClasses()} onClick={this.handleClick}>\n <div class=\"page-navigation-child-content\">\n <span class=\"page-navigation-child-label\">{this.label}</span>\n {this.badge !== undefined && this.showBadge && (\n <span class=\"page-navigation-child-badge\">{this.badge}</span>\n )}\n </div>\n </div>\n </Host>\n );\n }\n}\n"],"version":3}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"file":"p-B7eVYv2t.js","mappings":";;AAAA,MAAM,eAAe,GAAG,+4FAA+4F;;MCe15F,YAAY,iBAAAA,kBAAA,CAAA,MAAA,YAAA,SAAAC,CAAA,CAAA;;;;;;;;;AACvB;;AAEG;IACK,SAAS,GAAwB,SAAS;AAElD;;AAEG;IACK,IAAI,GAAmB,IAAI;AAEnC;;AAEG;IACK,QAAQ,GAAW,KAAK;AAEhC;;AAEG;IACK,QAAQ,GAAY,KAAK;AAEjC;;AAEG;IACK,OAAO,GAAY,KAAK;AAEhC;;;;;AAKG;IACK,IAAI,GAAmB,QAAQ;AAEvC;;AAEG;IACK,SAAS,GAAkB,IAAI;AAEvC;;AAEG;AACM,IAAA,OAAO;AAER,IAAA,WAAW,GAAG,CAAC,KAAiB,KAAU;QAChD,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;AACnC,YAAA,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC;;AAE5B,KAAC;AAEO,IAAA,aAAa,GAAG,CAAC,KAAoB,KAAU;AACrD,QAAA,IACE,CAAC,KAAK,CAAC,GAAG,KAAK,OAAO,IAAI,KAAK,CAAC,GAAG,KAAK,GAAG;YAC3C,CAAC,IAAI,CAAC,QAAQ;AACd,YAAA,CAAC,IAAI,CAAC,OAAO,EACb;YACA,KAAK,CAAC,cAAc,EAAE;AACtB,YAAA,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAA8B,CAAC;;AAErD,KAAC;IAED,MAAM,GAAA;AACJ,QAAA,MAAM,aAAa,GAAG;AACpB,YAAA,aAAa,EAAE,IAAI;AACnB,YAAA,CAAC,eAAe,IAAI,CAAC,SAAS,CAAE,CAAA,GAAG,IAAI;AACvC,YAAA,CAAC,eAAe,IAAI,CAAC,IAAI,CAAE,CAAA,GAAG,IAAI;YAClC,sBAAsB,EAAE,IAAI,CAAC,QAAQ;YACrC,qBAAqB,EAAE,IAAI,CAAC,OAAO;SACpC;QAED,QACE,CACE,CAAA,QAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,IAAI,EAAE,IAAI,CAAC,IAAI,EACf,KAAK,EAAE,aAAa,EACpB,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAA,YAAA,EACX,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,QAAQ,EAC5B,eAAA,EAAA,IAAI,CAAC,QAAQ,GAAG,MAAM,GAAG,SAAS,EACjD,OAAO,EAAE,IAAI,CAAC,WAAW,EACzB,SAAS,EAAE,IAAI,CAAC,aAAa,EAC7B,IAAI,EAAC,QAAQ,EAAA,EAEZ,IAAI,CAAC,OAAO,IACX,CAAM,CAAA,MAAA,EAAA,EAAA,KAAK,EAAC,iBAAiB,EAAC,IAAI,EAAC,SAAS,GAAQ,KAEpD,YAAM,KAAK,EAAC,gCAAgC,EAAC,IAAI,EAAC,MAAM,EAAA,EACrD,IAAI,CAAC,QAAQ,CACT,CACR,CACM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":["__stencil_proxyCustomElement","HTMLElement"],"sources":["src/components/bh-button-icon/bh-button-icon.css?tag=bh-button-icon&encapsulation=shadow","src/components/bh-button-icon/bh-button-icon.tsx"],"sourcesContent":[":host {\n display: inline-block;\n font-family: var(--font-inter, 'Inter', -apple-system, BlinkMacSystemFont, sans-serif);\n}\n\n/* Base Button Icon */\n.button-icon {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n border: none;\n border-radius: var(--radius-md, 8px);\n cursor: pointer;\n transition: all 0.2s ease-in-out;\n font-family: inherit;\n outline: none;\n padding: 0;\n}\n\n.button-icon:focus-visible {\n box-shadow: 0 0 0 2px var(--color-white, #FFFFFF), 0 0 0 4px var(--color-brand-500, #7F56D9);\n}\n\n/* Sizes */\n.button-icon-xs {\n width: 24px;\n height: 24px;\n}\n\n.button-icon-xs .icon {\n font-size: 16px;\n}\n\n.button-icon-sm {\n width: 32px;\n height: 32px;\n}\n\n.button-icon-sm .icon {\n font-size: 18px;\n}\n\n.button-icon-md {\n width: 40px;\n height: 40px;\n}\n\n.button-icon-md .icon {\n font-size: 20px;\n}\n\n.button-icon-lg {\n width: 48px;\n height: 48px;\n}\n\n.button-icon-lg .icon {\n font-size: 24px;\n}\n\n/* Primary Hierarchy */\n.button-icon-primary {\n background: var(--color-brand-600, #6941C6);\n color: var(--color-white, #FFFFFF);\n}\n\n.button-icon-primary:hover:not(.button-icon-disabled) {\n background: var(--color-brand-700, #5235A8);\n}\n\n.button-icon-primary:active:not(.button-icon-disabled) {\n background: var(--color-brand-800, #42298F);\n}\n\n/* Secondary Hierarchy */\n.button-icon-secondary {\n background: var(--color-white, #FFFFFF);\n color: var(--color-neutral-700, #344054);\n border: 1px solid var(--color-neutral-300, #D0D5DD);\n}\n\n.button-icon-secondary:hover:not(.button-icon-disabled) {\n background: var(--color-neutral-50, #F9FAFB);\n border-color: var(--color-neutral-400, #98A2B3);\n}\n\n.button-icon-secondary:active:not(.button-icon-disabled) {\n background: var(--color-neutral-100, #F2F4F7);\n}\n\n/* Tertiary Hierarchy */\n.button-icon-tertiary {\n background: transparent;\n color: var(--color-brand-600, #6941C6);\n}\n\n.button-icon-tertiary:hover:not(.button-icon-disabled) {\n background: var(--color-brand-50, #F9F5FF);\n}\n\n.button-icon-tertiary:active:not(.button-icon-disabled) {\n background: var(--color-brand-100, #F4EBFF);\n}\n\n/* Quaternary Hierarchy */\n.button-icon-quaternary {\n background: transparent;\n color: var(--color-neutral-500, #667085);\n}\n\n.button-icon-quaternary:hover:not(.button-icon-disabled) {\n background: var(--color-neutral-100, #F2F4F7);\n color: var(--color-neutral-700, #344054);\n}\n\n.button-icon-quaternary:active:not(.button-icon-disabled) {\n background: var(--color-neutral-200, #EAECF0);\n}\n\n/* Disabled State */\n.button-icon-disabled {\n opacity: 0.5;\n cursor: not-allowed;\n}\n\n/* Loading State */\n.button-icon-loading {\n cursor: wait;\n}\n\n/* Loading Spinner */\n.loading-spinner {\n width: 16px;\n height: 16px;\n border: 2px solid currentColor;\n border-top-color: transparent;\n border-radius: 50%;\n animation: spin 0.8s linear infinite;\n}\n\n.button-icon-sm .loading-spinner {\n width: 14px;\n height: 14px;\n}\n\n.button-icon-xs .loading-spinner {\n width: 12px;\n height: 12px;\n}\n\n.button-icon-lg .loading-spinner {\n width: 20px;\n height: 20px;\n}\n\n@keyframes spin {\n from {\n transform: rotate(0deg);\n }\n to {\n transform: rotate(360deg);\n }\n}\n\n/* Icon */\n.icon {\n display: flex;\n align-items: center;\n justify-content: center;\n}\n\n/* Material Symbols */\n.material-symbols-outlined {\n font-family: 'Material Symbols Outlined';\n font-weight: normal;\n font-style: normal;\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, Event, EventEmitter, h } from '@stencil/core';\n\nexport type ButtonIconHierarchy =\n | 'primary'\n | 'secondary'\n | 'tertiary'\n | 'quaternary';\nexport type ButtonIconSize = 'xs' | 'sm' | 'md' | 'lg';\nexport type ButtonIconType = 'button' | 'submit' | 'reset';\n\n@Component({\n tag: 'bh-button-icon',\n styleUrl: 'bh-button-icon.css',\n shadow: true,\n})\nexport class BhButtonIcon {\n /**\n * The visual hierarchy of the button\n */\n @Prop() hierarchy: ButtonIconHierarchy = 'primary';\n\n /**\n * The size of the button\n */\n @Prop() size: ButtonIconSize = 'md';\n\n /**\n * The icon name (Material Symbols)\n */\n @Prop() iconName: string = 'add';\n\n /**\n * Whether the button is disabled\n */\n @Prop() disabled: boolean = false;\n\n /**\n * Whether the button is in 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: ButtonIconType = 'button';\n\n /**\n * Accessible label for the button\n */\n @Prop() ariaLabel: string | null = null;\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 handleKeyDown = (event: KeyboardEvent): void => {\n if (\n (event.key === 'Enter' || event.key === ' ') &&\n !this.disabled &&\n !this.loading\n ) {\n event.preventDefault();\n this.bhClick.emit(event as unknown as MouseEvent);\n }\n };\n\n render() {\n const buttonClasses = {\n 'button-icon': true,\n [`button-icon-${this.hierarchy}`]: true,\n [`button-icon-${this.size}`]: true,\n 'button-icon-disabled': this.disabled,\n 'button-icon-loading': this.loading,\n };\n\n return (\n <button\n type={this.type}\n class={buttonClasses}\n disabled={this.disabled}\n aria-label={this.ariaLabel || this.iconName}\n aria-disabled={this.disabled ? 'true' : undefined}\n onClick={this.handleClick}\n onKeyDown={this.handleKeyDown}\n part=\"button\"\n >\n {this.loading ? (\n <span class=\"loading-spinner\" part=\"spinner\"></span>\n ) : (\n <span class=\"material-symbols-outlined icon\" part=\"icon\">\n {this.iconName}\n </span>\n )}\n </button>\n );\n }\n}\n"],"version":3}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"file":"p-B8MWhPHT.js","mappings":"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","names":["__stencil_proxyCustomElement","HTMLElement"],"sources":["src/components/bh-page-navigation-multi-level/bh-page-navigation-multi-level.css?tag=bh-page-navigation-multi-level&encapsulation=shadow","src/components/bh-page-navigation-multi-level/bh-page-navigation-multi-level.tsx"],"sourcesContent":["@import '../../global/global.css';\n\n:host {\n display: block;\n}\n\n.page-navigation-multi-level {\n margin: var(--spacing-none) var(--spacing-xs);\n}\n\n.page-navigation-multi-level-parent {\n display: flex;\n align-items: center;\n padding: var(--spacing-lg);\n cursor: pointer;\n gap: var(--spacing-md);\n position: relative;\n transition: all 0.15s ease;\n min-height: 40px;\n max-height: 44px;\n box-sizing: border-box;\n border-radius: var(--radius-sm);\n background-color: transparent;\n border: 1px solid transparent;\n}\n\n/* Has active child state */\n.page-navigation-multi-level.has-active-child .page-navigation-multi-level-parent {\n background-color: transparent;\n border: 1px solid transparent;\n}\n\n/* Hover state for multi level parent */\n.page-navigation-multi-level-parent:hover {\n background-color: var(--color-neutral-50) !important;\n}\n\n/* Children container with smooth animation */\n.page-navigation-children {\n margin-top: var(--spacing-xs);\n margin-bottom: var(--spacing-xs);\n position: relative;\n margin-left: var(--spacing-xl);\n display: flex;\n flex-direction: column;\n gap: var(--spacing-xs);\n max-height: 1000px;\n opacity: 1;\n transition: max-height 0.4s cubic-bezier(0.08, 0.52, 0.52, 1),\n opacity 0.4s cubic-bezier(0.08, 0.52, 0.52, 1),\n margin 0.4s cubic-bezier(0.08, 0.52, 0.52, 1);\n}\n\n.page-navigation-children.collapsed {\n max-height: 0;\n opacity: 0;\n margin-top: 0;\n margin-bottom: 0;\n}\n\n/* Vertical line indicator for children */\n.page-navigation-children::before {\n content: '';\n position: absolute;\n left: 0;\n top: -2px;\n height: calc(100% + 4px);\n width: 2px;\n background-color: var(--color-neutral-200);\n margin-left: var(--spacing-sm);\n z-index: 2;\n}\n\n/* Animation classes */\n.page-navigation-children.animate-slide-down-enter {\n animation: slideDownEnter 0.15s ease-out forwards;\n}\n\n.page-navigation-children.animate-slide-down-exit {\n animation: slideDownExit 0.15s ease-out forwards;\n}\n\n@keyframes slideDownEnter {\n from {\n opacity: 0;\n max-height: 0;\n transform: translateY(-10px);\n }\n to {\n opacity: 1;\n max-height: 1000px;\n transform: translateY(0);\n }\n}\n\n@keyframes slideDownExit {\n from {\n opacity: 1;\n max-height: 1000px;\n transform: translateY(0);\n }\n to {\n opacity: 0;\n max-height: 0;\n transform: translateY(-10px);\n }\n}\n\n/* Item content and common elements */\n.page-navigation-item-content {\n display: flex;\n align-items: center;\n gap: var(--spacing-md);\n width: 100%;\n}\n\n/* Icons */\n.page-navigation-item-icon {\n flex-shrink: 0;\n color: var(--color-neutral-600);\n font-size: 20px;\n width: 20px;\n height: 20px;\n transition: color 0.15s ease;\n}\n\n/* Smooth animation class for page navigation items */\n.page-navigation-animate-smooth {\n transform-origin: top center;\n transition: all var(--animation-duration-normal, 0.2s) var(--animation-ease-enter, ease);\n}\n\n/* Chevron icon styling */\n.page-navigation-chevron-icon {\n flex-shrink: 0;\n color: var(--color-neutral-600);\n font-size: 20px;\n width: 20px;\n height: 20px;\n transition: color 0.15s ease, transform var(--animation-duration-fast, 0.1s) var(--animation-ease-smooth, ease);\n}\n\n/* Chevron rotation when expanded */\n.page-navigation-chevron-icon.expanded {\n transform: rotate(180deg);\n}\n\n/* Icon color changes for active states */\n.page-navigation-multi-level.has-active-child .page-navigation-item-icon {\n color: var(--color-neutral-900);\n}\n\n/* Labels */\n.page-navigation-item-label {\n font-family: var(--font-inter);\n font-size: 14px;\n font-weight: 500;\n line-height: 20px;\n color: var(--color-neutral-600);\n flex: 1;\n transition: all 0.15s ease;\n}\n\n/* Label color and weight changes for active states */\n.page-navigation-multi-level.has-active-child .page-navigation-item-label {\n color: var(--color-neutral-900);\n font-weight: 600;\n}\n","import { Component, Prop, State, Event, EventEmitter, h, Host, Watch } from '@stencil/core';\n\nexport interface ChildItem {\n label: string;\n badge?: string | number;\n showBadge?: boolean;\n isActive?: boolean;\n}\n\n@Component({\n tag: 'bh-page-navigation-multi-level',\n styleUrl: 'bh-page-navigation-multi-level.css',\n shadow: true,\n})\nexport class BhPageNavigationMultiLevel {\n /**\n * Label text for the navigation item\n */\n @Prop() label!: string;\n\n /**\n * Material icon name\n */\n @Prop() icon: string = 'radio_button_unchecked';\n\n /**\n * Optional badge text/number to display\n */\n @Prop() badge?: string | number;\n\n /**\n * Child navigation items\n */\n @Prop() childItems: ChildItem[] = [];\n\n /**\n * Whether the item is expanded to show children\n */\n @Prop({ mutable: true }) isExpanded: boolean = false;\n\n /**\n * Internal state for hover\n */\n @State() isHovered: boolean = false;\n\n /**\n * Internal state for animation\n */\n @State() isAnimating: boolean = false;\n\n /**\n * Animation class\n */\n @State() animationClass: string = '';\n\n /**\n * Event emitted when the parent item is clicked (to toggle expansion)\n */\n @Event() bhToggle!: EventEmitter<void>;\n\n /**\n * Event emitted when a child item is clicked\n */\n @Event() bhChildClick!: EventEmitter<number>;\n\n /**\n * Event emitted when add button is clicked\n */\n @Event() bhAddClick!: EventEmitter<void>;\n\n @Watch('isExpanded')\n handleExpandedChange(newValue: boolean) {\n if (newValue) {\n this.isAnimating = true;\n this.animationClass = 'animate-slide-down-enter';\n } else if (this.isAnimating) {\n this.animationClass = 'animate-slide-down-exit';\n setTimeout(() => {\n this.isAnimating = false;\n this.animationClass = '';\n }, 150);\n }\n }\n\n private get hasActiveChild(): boolean {\n return this.childItems.some(child => child.isActive);\n }\n\n private handleParentClick = () => {\n this.bhToggle.emit();\n };\n\n private handleChildClick = (index: number) => {\n this.bhChildClick.emit(index);\n };\n\n private handleAddClick = (e: MouseEvent) => {\n e.stopPropagation();\n this.bhAddClick.emit();\n };\n\n private getItemClasses() {\n return {\n 'page-navigation-multi-level': true,\n 'page-navigation-animate-smooth': true,\n 'has-active-child': this.hasActiveChild,\n 'expanded': this.isExpanded,\n };\n }\n\n render() {\n return (\n <Host>\n <div class={this.getItemClasses()}>\n <div\n class=\"page-navigation-multi-level-parent\"\n onClick={this.handleParentClick}\n onMouseEnter={() => (this.isHovered = true)}\n onMouseLeave={() => (this.isHovered = false)}\n >\n <div class=\"page-navigation-item-content\">\n {!this.isHovered && (\n <span class=\"page-navigation-item-icon material-symbols-outlined\">\n {this.icon}\n </span>\n )}\n {this.isHovered && (\n <span\n class={{\n 'page-navigation-chevron-icon': true,\n 'material-symbols-outlined': true,\n 'expanded': this.isExpanded,\n }}\n >\n expand_more\n </span>\n )}\n <span class=\"page-navigation-item-label\">{this.label}</span>\n <bh-button\n hierarchy=\"tertiary\"\n icon=\"only\"\n size=\"xs\"\n iconName=\"add\"\n onClick={this.handleAddClick}\n ></bh-button>\n </div>\n </div>\n\n {(this.isExpanded || this.isAnimating) && (\n <div class={`page-navigation-children ${this.animationClass}`}>\n {this.childItems.map((child, index) => (\n <bh-page-navigation-child\n key={index}\n label={child.label}\n badge={child.badge}\n showBadge={child.showBadge}\n isActive={child.isActive}\n onBhItemClick={() => this.handleChildClick(index)}\n ></bh-page-navigation-child>\n ))}\n </div>\n )}\n </div>\n </Host>\n );\n }\n}\n"],"version":3}
|