@actabldesign/bellhop-core 0.0.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +116 -0
- package/bellhop-core/bellhop-core.css +7 -0
- package/bellhop-core/bellhop-core.esm.js +2 -0
- package/bellhop-core/bellhop-core.esm.js.map +1 -0
- package/bellhop-core/bh-accordion-item.entry.esm.js.map +1 -0
- package/bellhop-core/bh-accordion.entry.esm.js.map +1 -0
- package/bellhop-core/bh-appbar.entry.esm.js.map +1 -0
- package/bellhop-core/bh-autocomplete-menu.bh-tag.entry.esm.js.map +1 -0
- package/bellhop-core/bh-avatar-add.entry.esm.js.map +1 -0
- package/bellhop-core/bh-avatar-stacked.entry.esm.js.map +1 -0
- package/bellhop-core/bh-avatar.entry.esm.js.map +1 -0
- package/bellhop-core/bh-badge-dot.bh-breadcrumbs.entry.esm.js.map +1 -0
- package/bellhop-core/bh-badge.entry.esm.js.map +1 -0
- package/bellhop-core/bh-bar-chart.entry.esm.js.map +1 -0
- package/bellhop-core/bh-button-icon.entry.esm.js.map +1 -0
- package/bellhop-core/bh-button.bh-loader-spinner.entry.esm.js.map +1 -0
- package/bellhop-core/bh-card-footer.entry.esm.js.map +1 -0
- package/bellhop-core/bh-card-header.entry.esm.js.map +1 -0
- package/bellhop-core/bh-card.entry.esm.js.map +1 -0
- package/bellhop-core/bh-chart-tooltip.entry.esm.js.map +1 -0
- package/bellhop-core/bh-checkbox-group-item.entry.esm.js.map +1 -0
- package/bellhop-core/bh-checkbox-group.entry.esm.js.map +1 -0
- package/bellhop-core/bh-checkbox.entry.esm.js.map +1 -0
- package/bellhop-core/bh-container-footer.entry.esm.js.map +1 -0
- package/bellhop-core/bh-container.entry.esm.js.map +1 -0
- package/bellhop-core/bh-data-grid.entry.esm.js.map +1 -0
- package/bellhop-core/bh-date-picker-content.bh-picker-menu.entry.esm.js.map +1 -0
- package/bellhop-core/bh-date-picker.bh-empty-state.entry.esm.js.map +1 -0
- package/bellhop-core/bh-date-range-picker-content.entry.esm.js.map +1 -0
- package/bellhop-core/bh-date-range-picker.entry.esm.js.map +1 -0
- package/bellhop-core/bh-dropdown-menu.entry.esm.js.map +1 -0
- package/bellhop-core/bh-dropdown.bh-logo-box.bh-nav-item.entry.esm.js.map +1 -0
- package/bellhop-core/bh-featured-icon.entry.esm.js.map +1 -0
- package/bellhop-core/bh-illustrations.entry.esm.js.map +1 -0
- package/bellhop-core/bh-input-autocomplete.entry.esm.js.map +1 -0
- package/bellhop-core/bh-input-number.entry.esm.js.map +1 -0
- package/bellhop-core/bh-input-password.entry.esm.js.map +1 -0
- package/bellhop-core/bh-input-text.entry.esm.js.map +1 -0
- package/bellhop-core/bh-input-verification.entry.esm.js.map +1 -0
- package/bellhop-core/bh-label.bh-tooltip.entry.esm.js.map +1 -0
- package/bellhop-core/bh-modal-actions.entry.esm.js.map +1 -0
- package/bellhop-core/bh-modal-header.entry.esm.js.map +1 -0
- package/bellhop-core/bh-modal.entry.esm.js.map +1 -0
- package/bellhop-core/bh-month-picker-content.entry.esm.js.map +1 -0
- package/bellhop-core/bh-month-picker.entry.esm.js.map +1 -0
- package/bellhop-core/bh-notification.entry.esm.js.map +1 -0
- package/bellhop-core/bh-page-navigation-child.entry.esm.js.map +1 -0
- package/bellhop-core/bh-page-navigation-multi-level.bh-page-navigation-single-level.entry.esm.js.map +1 -0
- package/bellhop-core/bh-page-navigation.entry.esm.js.map +1 -0
- package/bellhop-core/bh-pie-chart.entry.esm.js.map +1 -0
- package/bellhop-core/bh-popover.entry.esm.js.map +1 -0
- package/bellhop-core/bh-product-switcher.entry.esm.js.map +1 -0
- package/bellhop-core/bh-property-switcher.entry.esm.js.map +1 -0
- package/bellhop-core/bh-radio-button.entry.esm.js.map +1 -0
- package/bellhop-core/bh-sidebar.entry.esm.js.map +1 -0
- package/bellhop-core/bh-skeleton-loader.entry.esm.js.map +1 -0
- package/bellhop-core/bh-tab-item.entry.esm.js.map +1 -0
- package/bellhop-core/bh-tabs.entry.esm.js.map +1 -0
- package/bellhop-core/bh-textarea.entry.esm.js.map +1 -0
- package/bellhop-core/bh-toggle.entry.esm.js.map +1 -0
- package/bellhop-core/bh-trend-chart.entry.esm.js.map +1 -0
- package/bellhop-core/index.esm.js +2 -0
- package/bellhop-core/index.esm.js.map +1 -0
- package/bellhop-core/loader.esm.js.map +1 -0
- package/bellhop-core/p-051a25aa.entry.js +2 -0
- package/bellhop-core/p-051a25aa.entry.js.map +1 -0
- package/bellhop-core/p-0579ce8d.entry.js +2 -0
- package/bellhop-core/p-0579ce8d.entry.js.map +1 -0
- package/bellhop-core/p-05c13d72.entry.js +2 -0
- package/bellhop-core/p-05c13d72.entry.js.map +1 -0
- package/bellhop-core/p-0e013732.entry.js +2 -0
- package/bellhop-core/p-0e013732.entry.js.map +1 -0
- package/bellhop-core/p-1960c2d0.entry.js +2 -0
- package/bellhop-core/p-1960c2d0.entry.js.map +1 -0
- package/bellhop-core/p-2735c901.entry.js +2 -0
- package/bellhop-core/p-2735c901.entry.js.map +1 -0
- package/bellhop-core/p-2c80bc07.entry.js +2 -0
- package/bellhop-core/p-2c80bc07.entry.js.map +1 -0
- package/bellhop-core/p-2cc0c4cf.entry.js +2 -0
- package/bellhop-core/p-2cc0c4cf.entry.js.map +1 -0
- package/bellhop-core/p-3038cc1a.entry.js +2 -0
- package/bellhop-core/p-3038cc1a.entry.js.map +1 -0
- package/bellhop-core/p-324cad08.entry.js +2 -0
- package/bellhop-core/p-324cad08.entry.js.map +1 -0
- package/bellhop-core/p-3bf098fd.entry.js +2 -0
- package/bellhop-core/p-3bf098fd.entry.js.map +1 -0
- package/bellhop-core/p-3c739eea.entry.js +2 -0
- package/bellhop-core/p-3c739eea.entry.js.map +1 -0
- package/bellhop-core/p-4c71a0b6.entry.js +2 -0
- package/bellhop-core/p-4c71a0b6.entry.js.map +1 -0
- package/bellhop-core/p-5a220f12.entry.js +2 -0
- package/bellhop-core/p-5a220f12.entry.js.map +1 -0
- package/bellhop-core/p-5d844699.entry.js +2 -0
- package/bellhop-core/p-5d844699.entry.js.map +1 -0
- package/bellhop-core/p-5e8d2fc0.entry.js +2 -0
- package/bellhop-core/p-5e8d2fc0.entry.js.map +1 -0
- package/bellhop-core/p-71391701.entry.js +2 -0
- package/bellhop-core/p-71391701.entry.js.map +1 -0
- package/bellhop-core/p-7e67af77.entry.js +2 -0
- package/bellhop-core/p-7e67af77.entry.js.map +1 -0
- package/bellhop-core/p-7e908d03.entry.js +2 -0
- package/bellhop-core/p-7e908d03.entry.js.map +1 -0
- package/bellhop-core/p-8053e945.entry.js +2 -0
- package/bellhop-core/p-8053e945.entry.js.map +1 -0
- package/bellhop-core/p-852564d6.entry.js +2 -0
- package/bellhop-core/p-852564d6.entry.js.map +1 -0
- package/bellhop-core/p-86bbff38.entry.js +2 -0
- package/bellhop-core/p-86bbff38.entry.js.map +1 -0
- package/bellhop-core/p-87d1ed92.entry.js +2 -0
- package/bellhop-core/p-87d1ed92.entry.js.map +1 -0
- package/bellhop-core/p-94156013.entry.js +2 -0
- package/bellhop-core/p-94156013.entry.js.map +1 -0
- package/bellhop-core/p-954b9c38.entry.js +2 -0
- package/bellhop-core/p-954b9c38.entry.js.map +1 -0
- package/bellhop-core/p-9693180e.entry.js +2 -0
- package/bellhop-core/p-9693180e.entry.js.map +1 -0
- package/bellhop-core/p-98a336f7.entry.js +2 -0
- package/bellhop-core/p-98a336f7.entry.js.map +1 -0
- package/bellhop-core/p-98cc729f.entry.js +2 -0
- package/bellhop-core/p-98cc729f.entry.js.map +1 -0
- package/bellhop-core/p-9e7e64dc.entry.js +2 -0
- package/bellhop-core/p-9e7e64dc.entry.js.map +1 -0
- package/bellhop-core/p-9fe1fd2e.entry.js +2 -0
- package/bellhop-core/p-9fe1fd2e.entry.js.map +1 -0
- package/bellhop-core/p-CPgx0iFq.js +2 -0
- package/bellhop-core/p-CPgx0iFq.js.map +1 -0
- package/bellhop-core/p-DANVSPII.js +2 -0
- package/bellhop-core/p-DANVSPII.js.map +1 -0
- package/bellhop-core/p-DKeuA-TM.js +2 -0
- package/bellhop-core/p-DKeuA-TM.js.map +1 -0
- package/bellhop-core/p-DtVghh5W.js +3 -0
- package/bellhop-core/p-DtVghh5W.js.map +1 -0
- package/bellhop-core/p-a901ae33.entry.js +2 -0
- package/bellhop-core/p-a901ae33.entry.js.map +1 -0
- package/bellhop-core/p-abd6ade0.entry.js +2 -0
- package/bellhop-core/p-abd6ade0.entry.js.map +1 -0
- package/bellhop-core/p-abf68de4.entry.js +2 -0
- package/bellhop-core/p-abf68de4.entry.js.map +1 -0
- package/bellhop-core/p-ad15a4b9.entry.js +2 -0
- package/bellhop-core/p-ad15a4b9.entry.js.map +1 -0
- package/bellhop-core/p-b1affa8d.entry.js +2 -0
- package/bellhop-core/p-b1affa8d.entry.js.map +1 -0
- package/bellhop-core/p-b4104ae5.entry.js +2 -0
- package/bellhop-core/p-b4104ae5.entry.js.map +1 -0
- package/bellhop-core/p-c194883a.entry.js +2 -0
- package/bellhop-core/p-c194883a.entry.js.map +1 -0
- package/bellhop-core/p-c48ca590.entry.js +2 -0
- package/bellhop-core/p-c48ca590.entry.js.map +1 -0
- package/bellhop-core/p-c82e73aa.entry.js +2 -0
- package/bellhop-core/p-c82e73aa.entry.js.map +1 -0
- package/bellhop-core/p-d14192df.entry.js +2 -0
- package/bellhop-core/p-d14192df.entry.js.map +1 -0
- package/bellhop-core/p-d5fb8d0f.entry.js +2 -0
- package/bellhop-core/p-d5fb8d0f.entry.js.map +1 -0
- package/bellhop-core/p-d9106838.entry.js +2 -0
- package/bellhop-core/p-d9106838.entry.js.map +1 -0
- package/bellhop-core/p-d941cdba.entry.js +2 -0
- package/bellhop-core/p-d941cdba.entry.js.map +1 -0
- package/bellhop-core/p-d94b296e.entry.js +2 -0
- package/bellhop-core/p-d94b296e.entry.js.map +1 -0
- package/bellhop-core/p-df2728a1.entry.js +2 -0
- package/bellhop-core/p-df2728a1.entry.js.map +1 -0
- package/bellhop-core/p-df45027c.entry.js +2 -0
- package/bellhop-core/p-df45027c.entry.js.map +1 -0
- package/bellhop-core/p-dfe0574c.entry.js +2 -0
- package/bellhop-core/p-dfe0574c.entry.js.map +1 -0
- package/bellhop-core/p-e3c5d1e3.entry.js +2 -0
- package/bellhop-core/p-e3c5d1e3.entry.js.map +1 -0
- package/bellhop-core/p-e3d79592.entry.js +2 -0
- package/bellhop-core/p-e3d79592.entry.js.map +1 -0
- package/bellhop-core/p-e44539e9.entry.js +2 -0
- package/bellhop-core/p-e44539e9.entry.js.map +1 -0
- package/bellhop-core/p-e5b9a3de.entry.js +2 -0
- package/bellhop-core/p-e5b9a3de.entry.js.map +1 -0
- package/bellhop-core/p-e8e0739d.entry.js +2 -0
- package/bellhop-core/p-e8e0739d.entry.js.map +1 -0
- package/bellhop-core/p-ebb2492c.entry.js +2 -0
- package/bellhop-core/p-ebb2492c.entry.js.map +1 -0
- package/bellhop-core/p-ec894e11.entry.js +2 -0
- package/bellhop-core/p-ec894e11.entry.js.map +1 -0
- package/bellhop-core/p-f0cfc744.entry.js +2 -0
- package/bellhop-core/p-f0cfc744.entry.js.map +1 -0
- package/bellhop-core/p-f261bdae.entry.js +2 -0
- package/bellhop-core/p-f261bdae.entry.js.map +1 -0
- package/bellhop-core/p-f4c4c70d.entry.js +2 -0
- package/bellhop-core/p-f4c4c70d.entry.js.map +1 -0
- package/cjs/bellhop-core.cjs.js +25 -0
- package/cjs/bellhop-core.cjs.js.map +1 -0
- package/cjs/bh-accordion-item.cjs.entry.js +82 -0
- package/cjs/bh-accordion-item.entry.cjs.js.map +1 -0
- package/cjs/bh-accordion.cjs.entry.js +119 -0
- package/cjs/bh-accordion.entry.cjs.js.map +1 -0
- package/cjs/bh-appbar.cjs.entry.js +83 -0
- package/cjs/bh-appbar.entry.cjs.js.map +1 -0
- package/cjs/bh-autocomplete-menu.bh-tag.entry.cjs.js.map +1 -0
- package/cjs/bh-autocomplete-menu_2.cjs.entry.js +177 -0
- package/cjs/bh-avatar-add.cjs.entry.js +75 -0
- package/cjs/bh-avatar-add.entry.cjs.js.map +1 -0
- package/cjs/bh-avatar-stacked.cjs.entry.js +94 -0
- package/cjs/bh-avatar-stacked.entry.cjs.js.map +1 -0
- package/cjs/bh-avatar.cjs.entry.js +93 -0
- package/cjs/bh-avatar.entry.cjs.js.map +1 -0
- package/cjs/bh-badge-dot.bh-breadcrumbs.entry.cjs.js.map +1 -0
- package/cjs/bh-badge-dot_2.cjs.entry.js +134 -0
- package/cjs/bh-badge.cjs.entry.js +71 -0
- package/cjs/bh-badge.entry.cjs.js.map +1 -0
- package/cjs/bh-bar-chart.cjs.entry.js +164 -0
- package/cjs/bh-bar-chart.entry.cjs.js.map +1 -0
- package/cjs/bh-button-BKVcf-nK.js +117 -0
- package/cjs/bh-button-BKVcf-nK.js.map +1 -0
- package/cjs/bh-button-icon.cjs.entry.js +74 -0
- package/cjs/bh-button-icon.entry.cjs.js.map +1 -0
- package/cjs/bh-button.bh-loader-spinner.entry.cjs.js.map +1 -0
- package/cjs/bh-button_2.cjs.entry.js +47 -0
- package/cjs/bh-card-footer.cjs.entry.js +30 -0
- package/cjs/bh-card-footer.entry.cjs.js.map +1 -0
- package/cjs/bh-card-header.cjs.entry.js +74 -0
- package/cjs/bh-card-header.entry.cjs.js.map +1 -0
- package/cjs/bh-card.cjs.entry.js +48 -0
- package/cjs/bh-card.entry.cjs.js.map +1 -0
- package/cjs/bh-chart-tooltip.cjs.entry.js +57 -0
- package/cjs/bh-chart-tooltip.entry.cjs.js.map +1 -0
- package/cjs/bh-checkbox-group-item.cjs.entry.js +142 -0
- package/cjs/bh-checkbox-group-item.entry.cjs.js.map +1 -0
- package/cjs/bh-checkbox-group.cjs.entry.js +100 -0
- package/cjs/bh-checkbox-group.entry.cjs.js.map +1 -0
- package/cjs/bh-checkbox.cjs.entry.js +144 -0
- package/cjs/bh-checkbox.entry.cjs.js.map +1 -0
- package/cjs/bh-container-footer.cjs.entry.js +38 -0
- package/cjs/bh-container-footer.entry.cjs.js.map +1 -0
- package/cjs/bh-container.cjs.entry.js +26 -0
- package/cjs/bh-container.entry.cjs.js.map +1 -0
- package/cjs/bh-data-grid.cjs.entry.js +812 -0
- package/cjs/bh-data-grid.entry.cjs.js.map +1 -0
- package/cjs/bh-date-picker-content.bh-picker-menu.entry.cjs.js.map +1 -0
- package/cjs/bh-date-picker-content_2.cjs.entry.js +525 -0
- package/cjs/bh-date-picker.bh-empty-state.entry.cjs.js.map +1 -0
- package/cjs/bh-date-picker_2.cjs.entry.js +252 -0
- package/cjs/bh-date-range-picker-content.cjs.entry.js +151 -0
- package/cjs/bh-date-range-picker-content.entry.cjs.js.map +1 -0
- package/cjs/bh-date-range-picker.cjs.entry.js +167 -0
- package/cjs/bh-date-range-picker.entry.cjs.js.map +1 -0
- package/cjs/bh-dropdown-menu.cjs.entry.js +114 -0
- package/cjs/bh-dropdown-menu.entry.cjs.js.map +1 -0
- package/cjs/bh-dropdown.bh-logo-box.bh-nav-item.entry.cjs.js.map +1 -0
- package/cjs/bh-dropdown_3.cjs.entry.js +307 -0
- package/cjs/bh-featured-icon.cjs.entry.js +41 -0
- package/cjs/bh-featured-icon.entry.cjs.js.map +1 -0
- package/cjs/bh-illustrations.cjs.entry.js +65 -0
- package/cjs/bh-illustrations.entry.cjs.js.map +1 -0
- package/cjs/bh-input-autocomplete.cjs.entry.js +342 -0
- package/cjs/bh-input-autocomplete.entry.cjs.js.map +1 -0
- package/cjs/bh-input-number.cjs.entry.js +307 -0
- package/cjs/bh-input-number.entry.cjs.js.map +1 -0
- package/cjs/bh-input-password.cjs.entry.js +182 -0
- package/cjs/bh-input-password.entry.cjs.js.map +1 -0
- package/cjs/bh-input-text.cjs.entry.js +192 -0
- package/cjs/bh-input-text.entry.cjs.js.map +1 -0
- package/cjs/bh-input-verification.cjs.entry.js +203 -0
- package/cjs/bh-input-verification.entry.cjs.js.map +1 -0
- package/cjs/bh-label-DBqucnaO.js +110 -0
- package/cjs/bh-label-DBqucnaO.js.map +1 -0
- package/cjs/bh-label.bh-tooltip.entry.cjs.js.map +1 -0
- package/cjs/bh-label_2.cjs.entry.js +48 -0
- package/cjs/bh-modal-actions.cjs.entry.js +66 -0
- package/cjs/bh-modal-actions.entry.cjs.js.map +1 -0
- package/cjs/bh-modal-header.cjs.entry.js +76 -0
- package/cjs/bh-modal-header.entry.cjs.js.map +1 -0
- package/cjs/bh-modal.cjs.entry.js +56 -0
- package/cjs/bh-modal.entry.cjs.js.map +1 -0
- package/cjs/bh-month-picker-content.cjs.entry.js +189 -0
- package/cjs/bh-month-picker-content.entry.cjs.js.map +1 -0
- package/cjs/bh-month-picker.cjs.entry.js +152 -0
- package/cjs/bh-month-picker.entry.cjs.js.map +1 -0
- package/cjs/bh-notification.cjs.entry.js +128 -0
- package/cjs/bh-notification.entry.cjs.js.map +1 -0
- package/cjs/bh-page-navigation-child.cjs.entry.js +48 -0
- package/cjs/bh-page-navigation-child.entry.cjs.js.map +1 -0
- package/cjs/bh-page-navigation-multi-level.bh-page-navigation-single-level.entry.cjs.js.map +1 -0
- package/cjs/bh-page-navigation-multi-level_2.cjs.entry.js +146 -0
- package/cjs/bh-page-navigation.cjs.entry.js +72 -0
- package/cjs/bh-page-navigation.entry.cjs.js.map +1 -0
- package/cjs/bh-pie-chart.cjs.entry.js +157 -0
- package/cjs/bh-pie-chart.entry.cjs.js.map +1 -0
- package/cjs/bh-popover.cjs.entry.js +100 -0
- package/cjs/bh-popover.entry.cjs.js.map +1 -0
- package/cjs/bh-product-switcher.cjs.entry.js +102 -0
- package/cjs/bh-product-switcher.entry.cjs.js.map +1 -0
- package/cjs/bh-property-switcher.cjs.entry.js +231 -0
- package/cjs/bh-property-switcher.entry.cjs.js.map +1 -0
- package/cjs/bh-radio-button.cjs.entry.js +124 -0
- package/cjs/bh-radio-button.entry.cjs.js.map +1 -0
- package/cjs/bh-sidebar.cjs.entry.js +110 -0
- package/cjs/bh-sidebar.entry.cjs.js.map +1 -0
- package/cjs/bh-skeleton-loader.cjs.entry.js +34 -0
- package/cjs/bh-skeleton-loader.entry.cjs.js.map +1 -0
- package/cjs/bh-tab-item.cjs.entry.js +54 -0
- package/cjs/bh-tab-item.entry.cjs.js.map +1 -0
- package/cjs/bh-tabs.cjs.entry.js +52 -0
- package/cjs/bh-tabs.entry.cjs.js.map +1 -0
- package/cjs/bh-textarea.cjs.entry.js +161 -0
- package/cjs/bh-textarea.entry.cjs.js.map +1 -0
- package/cjs/bh-toggle.cjs.entry.js +141 -0
- package/cjs/bh-toggle.entry.cjs.js.map +1 -0
- package/cjs/bh-trend-chart.cjs.entry.js +121 -0
- package/cjs/bh-trend-chart.entry.cjs.js.map +1 -0
- package/cjs/form-9mbajZ3y.js +64 -0
- package/cjs/form-9mbajZ3y.js.map +1 -0
- package/cjs/index-tZqSQc8E.js +1951 -0
- package/cjs/index-tZqSQc8E.js.map +1 -0
- package/cjs/index.cjs.js +32 -0
- package/cjs/index.cjs.js.map +1 -0
- package/cjs/loader.cjs.js +13 -0
- package/cjs/loader.cjs.js.map +1 -0
- package/collection/collection-manifest.json +77 -0
- package/collection/components/bh-accordion/bh-accordion.css +30 -0
- package/collection/components/bh-accordion/bh-accordion.js +227 -0
- package/collection/components/bh-accordion/bh-accordion.js.map +1 -0
- package/collection/components/bh-accordion-item/bh-accordion-item.css +119 -0
- package/collection/components/bh-accordion-item/bh-accordion-item.js +207 -0
- package/collection/components/bh-accordion-item/bh-accordion-item.js.map +1 -0
- package/collection/components/bh-appbar/bh-appbar.css +80 -0
- package/collection/components/bh-appbar/bh-appbar.js +270 -0
- package/collection/components/bh-appbar/bh-appbar.js.map +1 -0
- package/collection/components/bh-autocomplete-menu/bh-autocomplete-menu.css +142 -0
- package/collection/components/bh-autocomplete-menu/bh-autocomplete-menu.js +301 -0
- package/collection/components/bh-autocomplete-menu/bh-autocomplete-menu.js.map +1 -0
- package/collection/components/bh-avatar/bh-avatar.css +257 -0
- package/collection/components/bh-avatar/bh-avatar.js +266 -0
- package/collection/components/bh-avatar/bh-avatar.js.map +1 -0
- package/collection/components/bh-avatar-add/bh-avatar-add.css +145 -0
- package/collection/components/bh-avatar-add/bh-avatar-add.js +194 -0
- package/collection/components/bh-avatar-add/bh-avatar-add.js.map +1 -0
- package/collection/components/bh-avatar-stacked/bh-avatar-stacked.css +29 -0
- package/collection/components/bh-avatar-stacked/bh-avatar-stacked.js +211 -0
- package/collection/components/bh-avatar-stacked/bh-avatar-stacked.js.map +1 -0
- package/collection/components/bh-badge/bh-badge.css +348 -0
- package/collection/components/bh-badge/bh-badge.js +250 -0
- package/collection/components/bh-badge/bh-badge.js.map +1 -0
- package/collection/components/bh-badge-dot/bh-badge-dot.css +77 -0
- package/collection/components/bh-badge-dot/bh-badge-dot.js +113 -0
- package/collection/components/bh-badge-dot/bh-badge-dot.js.map +1 -0
- package/collection/components/bh-bar-chart/bh-bar-chart.css +363 -0
- package/collection/components/bh-bar-chart/bh-bar-chart.js +316 -0
- package/collection/components/bh-bar-chart/bh-bar-chart.js.map +1 -0
- package/collection/components/bh-breadcrumbs/bh-breadcrumbs.css +158 -0
- package/collection/components/bh-breadcrumbs/bh-breadcrumbs.js +231 -0
- package/collection/components/bh-breadcrumbs/bh-breadcrumbs.js.map +1 -0
- package/collection/components/bh-button/bh-button.css +467 -0
- package/collection/components/bh-button/bh-button.js +350 -0
- package/collection/components/bh-button/bh-button.js.map +1 -0
- package/collection/components/bh-button-icon/bh-button-icon.css +187 -0
- package/collection/components/bh-button-icon/bh-button-icon.js +259 -0
- package/collection/components/bh-button-icon/bh-button-icon.js.map +1 -0
- package/collection/components/bh-card/bh-card.css +57 -0
- package/collection/components/bh-card/bh-card.js +139 -0
- package/collection/components/bh-card/bh-card.js.map +1 -0
- package/collection/components/bh-card-footer/bh-card-footer.css +54 -0
- package/collection/components/bh-card-footer/bh-card-footer.js +81 -0
- package/collection/components/bh-card-footer/bh-card-footer.js.map +1 -0
- package/collection/components/bh-card-header/bh-card-header.css +68 -0
- package/collection/components/bh-card-header/bh-card-header.js +348 -0
- package/collection/components/bh-card-header/bh-card-header.js.map +1 -0
- package/collection/components/bh-chart-tooltip/bh-chart-tooltip.css +301 -0
- package/collection/components/bh-chart-tooltip/bh-chart-tooltip.js +226 -0
- package/collection/components/bh-chart-tooltip/bh-chart-tooltip.js.map +1 -0
- package/collection/components/bh-checkbox/bh-checkbox.css +179 -0
- package/collection/components/bh-checkbox/bh-checkbox.js +378 -0
- package/collection/components/bh-checkbox/bh-checkbox.js.map +1 -0
- package/collection/components/bh-checkbox-group/bh-checkbox-group.css +10 -0
- package/collection/components/bh-checkbox-group/bh-checkbox-group.js +218 -0
- package/collection/components/bh-checkbox-group/bh-checkbox-group.js.map +1 -0
- package/collection/components/bh-checkbox-group-item/bh-checkbox-group-item.css +118 -0
- package/collection/components/bh-checkbox-group-item/bh-checkbox-group-item.js +402 -0
- package/collection/components/bh-checkbox-group-item/bh-checkbox-group-item.js.map +1 -0
- package/collection/components/bh-container/bh-container.css +21 -0
- package/collection/components/bh-container/bh-container.js +51 -0
- package/collection/components/bh-container/bh-container.js.map +1 -0
- package/collection/components/bh-container-footer/bh-container-footer.css +22 -0
- package/collection/components/bh-container-footer/bh-container-footer.js +106 -0
- package/collection/components/bh-container-footer/bh-container-footer.js.map +1 -0
- package/collection/components/bh-data-grid/bh-data-grid.css +602 -0
- package/collection/components/bh-data-grid/bh-data-grid.js +1488 -0
- package/collection/components/bh-data-grid/bh-data-grid.js.map +1 -0
- package/collection/components/bh-date-picker/bh-date-picker.css +251 -0
- package/collection/components/bh-date-picker/bh-date-picker.js +485 -0
- package/collection/components/bh-date-picker/bh-date-picker.js.map +1 -0
- package/collection/components/bh-date-picker-content/bh-date-picker-content.css +541 -0
- package/collection/components/bh-date-picker-content/bh-date-picker-content.js +711 -0
- package/collection/components/bh-date-picker-content/bh-date-picker-content.js.map +1 -0
- package/collection/components/bh-date-range-picker/bh-date-range-picker.css +247 -0
- package/collection/components/bh-date-range-picker/bh-date-range-picker.js +528 -0
- package/collection/components/bh-date-range-picker/bh-date-range-picker.js.map +1 -0
- package/collection/components/bh-date-range-picker-content/bh-date-range-picker-content.css +275 -0
- package/collection/components/bh-date-range-picker-content/bh-date-range-picker-content.js +338 -0
- package/collection/components/bh-date-range-picker-content/bh-date-range-picker-content.js.map +1 -0
- package/collection/components/bh-dropdown/bh-dropdown.css +64 -0
- package/collection/components/bh-dropdown/bh-dropdown.js +512 -0
- package/collection/components/bh-dropdown/bh-dropdown.js.map +1 -0
- package/collection/components/bh-dropdown-menu/bh-dropdown-menu.css +227 -0
- package/collection/components/bh-dropdown-menu/bh-dropdown-menu.js +262 -0
- package/collection/components/bh-dropdown-menu/bh-dropdown-menu.js.map +1 -0
- package/collection/components/bh-empty-state/bh-empty-state.css +89 -0
- package/collection/components/bh-empty-state/bh-empty-state.js +306 -0
- package/collection/components/bh-empty-state/bh-empty-state.js.map +1 -0
- package/collection/components/bh-featured-icon/bh-featured-icon.css +198 -0
- package/collection/components/bh-featured-icon/bh-featured-icon.js +144 -0
- package/collection/components/bh-featured-icon/bh-featured-icon.js.map +1 -0
- package/collection/components/bh-illustrations/bh-illustrations.css +328 -0
- package/collection/components/bh-illustrations/bh-illustrations.js +174 -0
- package/collection/components/bh-illustrations/bh-illustrations.js.map +1 -0
- package/collection/components/bh-input-autocomplete/bh-input-autocomplete.css +301 -0
- package/collection/components/bh-input-autocomplete/bh-input-autocomplete.js +872 -0
- package/collection/components/bh-input-autocomplete/bh-input-autocomplete.js.map +1 -0
- package/collection/components/bh-input-number/bh-input-number.css +192 -0
- package/collection/components/bh-input-number/bh-input-number.js +818 -0
- package/collection/components/bh-input-number/bh-input-number.js.map +1 -0
- package/collection/components/bh-input-password/bh-input-password.css +164 -0
- package/collection/components/bh-input-password/bh-input-password.js +581 -0
- package/collection/components/bh-input-password/bh-input-password.js.map +1 -0
- package/collection/components/bh-input-text/bh-input-text.css +153 -0
- package/collection/components/bh-input-text/bh-input-text.js +696 -0
- package/collection/components/bh-input-text/bh-input-text.js.map +1 -0
- package/collection/components/bh-input-verification/bh-input-verification.css +125 -0
- package/collection/components/bh-input-verification/bh-input-verification.js +523 -0
- package/collection/components/bh-input-verification/bh-input-verification.js.map +1 -0
- package/collection/components/bh-label/bh-label.css +143 -0
- package/collection/components/bh-label/bh-label.js +302 -0
- package/collection/components/bh-label/bh-label.js.map +1 -0
- package/collection/components/bh-loader-spinner/bh-loader-spinner.css +153 -0
- package/collection/components/bh-loader-spinner/bh-loader-spinner.js +182 -0
- package/collection/components/bh-loader-spinner/bh-loader-spinner.js.map +1 -0
- package/collection/components/bh-logo-box/bh-logo-box.css +85 -0
- package/collection/components/bh-logo-box/bh-logo-box.js +184 -0
- package/collection/components/bh-logo-box/bh-logo-box.js.map +1 -0
- package/collection/components/bh-modal/bh-modal.css +87 -0
- package/collection/components/bh-modal/bh-modal.js +144 -0
- package/collection/components/bh-modal/bh-modal.js.map +1 -0
- package/collection/components/bh-modal-actions/bh-modal-actions.css +124 -0
- package/collection/components/bh-modal-actions/bh-modal-actions.js +208 -0
- package/collection/components/bh-modal-actions/bh-modal-actions.js.map +1 -0
- package/collection/components/bh-modal-header/bh-modal-header.css +106 -0
- package/collection/components/bh-modal-header/bh-modal-header.js +275 -0
- package/collection/components/bh-modal-header/bh-modal-header.js.map +1 -0
- package/collection/components/bh-month-picker/bh-month-picker.css +251 -0
- package/collection/components/bh-month-picker/bh-month-picker.js +444 -0
- package/collection/components/bh-month-picker/bh-month-picker.js.map +1 -0
- package/collection/components/bh-month-picker-content/bh-month-picker-content.css +406 -0
- package/collection/components/bh-month-picker-content/bh-month-picker-content.js +437 -0
- package/collection/components/bh-month-picker-content/bh-month-picker-content.js.map +1 -0
- package/collection/components/bh-notification/bh-notification.css +117 -0
- package/collection/components/bh-notification/bh-notification.js +324 -0
- package/collection/components/bh-notification/bh-notification.js.map +1 -0
- package/collection/components/bh-page-navigation/bh-page-navigation.css +253 -0
- package/collection/components/bh-page-navigation/bh-page-navigation.js +146 -0
- package/collection/components/bh-page-navigation/bh-page-navigation.js.map +1 -0
- package/collection/components/bh-page-navigation-child/bh-page-navigation-child.css +281 -0
- package/collection/components/bh-page-navigation-child/bh-page-navigation-child.js +148 -0
- package/collection/components/bh-page-navigation-child/bh-page-navigation-child.js.map +1 -0
- package/collection/components/bh-page-navigation-multi-level/bh-page-navigation-multi-level.css +372 -0
- package/collection/components/bh-page-navigation-multi-level/bh-page-navigation-multi-level.js +268 -0
- package/collection/components/bh-page-navigation-multi-level/bh-page-navigation-multi-level.js.map +1 -0
- package/collection/components/bh-page-navigation-single-level/bh-page-navigation-single-level.css +294 -0
- package/collection/components/bh-page-navigation-single-level/bh-page-navigation-single-level.js +126 -0
- package/collection/components/bh-page-navigation-single-level/bh-page-navigation-single-level.js.map +1 -0
- package/collection/components/bh-picker-menu/bh-picker-menu.css +284 -0
- package/collection/components/bh-picker-menu/bh-picker-menu.js +470 -0
- package/collection/components/bh-picker-menu/bh-picker-menu.js.map +1 -0
- package/collection/components/bh-pie-chart/bh-pie-chart.css +292 -0
- package/collection/components/bh-pie-chart/bh-pie-chart.js +280 -0
- package/collection/components/bh-pie-chart/bh-pie-chart.js.map +1 -0
- package/collection/components/bh-popover/bh-popover.css +310 -0
- package/collection/components/bh-popover/bh-popover.js +326 -0
- package/collection/components/bh-popover/bh-popover.js.map +1 -0
- package/collection/components/bh-product-switcher/bh-product-switcher.css +128 -0
- package/collection/components/bh-product-switcher/bh-product-switcher.js +226 -0
- package/collection/components/bh-product-switcher/bh-product-switcher.js.map +1 -0
- package/collection/components/bh-property-switcher/bh-property-switcher.css +346 -0
- package/collection/components/bh-property-switcher/bh-property-switcher.js +360 -0
- package/collection/components/bh-property-switcher/bh-property-switcher.js.map +1 -0
- package/collection/components/bh-radio-button/bh-radio-button.css +159 -0
- package/collection/components/bh-radio-button/bh-radio-button.js +292 -0
- package/collection/components/bh-radio-button/bh-radio-button.js.map +1 -0
- package/collection/components/bh-sidebar/bh-nav-item.css +114 -0
- package/collection/components/bh-sidebar/bh-nav-item.js +157 -0
- package/collection/components/bh-sidebar/bh-nav-item.js.map +1 -0
- package/collection/components/bh-sidebar/bh-sidebar.css +178 -0
- package/collection/components/bh-sidebar/bh-sidebar.js +344 -0
- package/collection/components/bh-sidebar/bh-sidebar.js.map +1 -0
- package/collection/components/bh-skeleton-loader/bh-skeleton-loader.css +50 -0
- package/collection/components/bh-skeleton-loader/bh-skeleton-loader.js +99 -0
- package/collection/components/bh-skeleton-loader/bh-skeleton-loader.js.map +1 -0
- package/collection/components/bh-tab-item/bh-tab-item.css +132 -0
- package/collection/components/bh-tab-item/bh-tab-item.js +158 -0
- package/collection/components/bh-tab-item/bh-tab-item.js.map +1 -0
- package/collection/components/bh-tabs/bh-tabs.css +71 -0
- package/collection/components/bh-tabs/bh-tabs.js +178 -0
- package/collection/components/bh-tabs/bh-tabs.js.map +1 -0
- package/collection/components/bh-tag/bh-tag.css +180 -0
- package/collection/components/bh-tag/bh-tag.js +238 -0
- package/collection/components/bh-tag/bh-tag.js.map +1 -0
- package/collection/components/bh-textarea/bh-textarea.css +115 -0
- package/collection/components/bh-textarea/bh-textarea.js +569 -0
- package/collection/components/bh-textarea/bh-textarea.js.map +1 -0
- package/collection/components/bh-toggle/bh-toggle.css +290 -0
- package/collection/components/bh-toggle/bh-toggle.js +369 -0
- package/collection/components/bh-toggle/bh-toggle.js.map +1 -0
- package/collection/components/bh-tooltip/bh-tooltip.css +88 -0
- package/collection/components/bh-tooltip/bh-tooltip.js +162 -0
- package/collection/components/bh-tooltip/bh-tooltip.js.map +1 -0
- package/collection/components/bh-trend-chart/bh-trend-chart.css +299 -0
- package/collection/components/bh-trend-chart/bh-trend-chart.js +256 -0
- package/collection/components/bh-trend-chart/bh-trend-chart.js.map +1 -0
- package/collection/index.js +22 -0
- package/collection/index.js.map +1 -0
- package/collection/utils/form.js +68 -0
- package/collection/utils/form.js.map +1 -0
- package/components/bh-accordion-item.d.ts +11 -0
- package/components/bh-accordion-item.js +111 -0
- package/components/bh-accordion-item.js.map +1 -0
- package/components/bh-accordion.d.ts +11 -0
- package/components/bh-accordion.js +147 -0
- package/components/bh-accordion.js.map +1 -0
- package/components/bh-appbar.d.ts +11 -0
- package/components/bh-appbar.js +128 -0
- package/components/bh-appbar.js.map +1 -0
- package/components/bh-autocomplete-menu.d.ts +11 -0
- package/components/bh-autocomplete-menu.js +9 -0
- package/components/bh-autocomplete-menu.js.map +1 -0
- package/components/bh-avatar-add.d.ts +11 -0
- package/components/bh-avatar-add.js +9 -0
- package/components/bh-avatar-add.js.map +1 -0
- package/components/bh-avatar-stacked.d.ts +11 -0
- package/components/bh-avatar-stacked.js +141 -0
- package/components/bh-avatar-stacked.js.map +1 -0
- package/components/bh-avatar.d.ts +11 -0
- package/components/bh-avatar.js +9 -0
- package/components/bh-avatar.js.map +1 -0
- package/components/bh-badge-dot.d.ts +11 -0
- package/components/bh-badge-dot.js +9 -0
- package/components/bh-badge-dot.js.map +1 -0
- package/components/bh-badge.d.ts +11 -0
- package/components/bh-badge.js +9 -0
- package/components/bh-badge.js.map +1 -0
- package/components/bh-bar-chart.d.ts +11 -0
- package/components/bh-bar-chart.js +205 -0
- package/components/bh-bar-chart.js.map +1 -0
- package/components/bh-breadcrumbs.d.ts +11 -0
- package/components/bh-breadcrumbs.js +9 -0
- package/components/bh-breadcrumbs.js.map +1 -0
- package/components/bh-button-icon.d.ts +11 -0
- package/components/bh-button-icon.js +9 -0
- package/components/bh-button-icon.js.map +1 -0
- package/components/bh-button.d.ts +11 -0
- package/components/bh-button.js +9 -0
- package/components/bh-button.js.map +1 -0
- package/components/bh-card-footer.d.ts +11 -0
- package/components/bh-card-footer.js +9 -0
- package/components/bh-card-footer.js.map +1 -0
- package/components/bh-card-header.d.ts +11 -0
- package/components/bh-card-header.js +9 -0
- package/components/bh-card-header.js.map +1 -0
- package/components/bh-card.d.ts +11 -0
- package/components/bh-card.js +9 -0
- package/components/bh-card.js.map +1 -0
- package/components/bh-chart-tooltip.d.ts +11 -0
- package/components/bh-chart-tooltip.js +9 -0
- package/components/bh-chart-tooltip.js.map +1 -0
- package/components/bh-checkbox-group-item.d.ts +11 -0
- package/components/bh-checkbox-group-item.js +9 -0
- package/components/bh-checkbox-group-item.js.map +1 -0
- package/components/bh-checkbox-group.d.ts +11 -0
- package/components/bh-checkbox-group.js +9 -0
- package/components/bh-checkbox-group.js.map +1 -0
- package/components/bh-checkbox.d.ts +11 -0
- package/components/bh-checkbox.js +9 -0
- package/components/bh-checkbox.js.map +1 -0
- package/components/bh-container-footer.d.ts +11 -0
- package/components/bh-container-footer.js +74 -0
- package/components/bh-container-footer.js.map +1 -0
- package/components/bh-container.d.ts +11 -0
- package/components/bh-container.js +49 -0
- package/components/bh-container.js.map +1 -0
- package/components/bh-data-grid.d.ts +11 -0
- package/components/bh-data-grid.js +9 -0
- package/components/bh-data-grid.js.map +1 -0
- package/components/bh-date-picker-content.d.ts +11 -0
- package/components/bh-date-picker-content.js +9 -0
- package/components/bh-date-picker-content.js.map +1 -0
- package/components/bh-date-picker.d.ts +11 -0
- package/components/bh-date-picker.js +9 -0
- package/components/bh-date-picker.js.map +1 -0
- package/components/bh-date-range-picker-content.d.ts +11 -0
- package/components/bh-date-range-picker-content.js +9 -0
- package/components/bh-date-range-picker-content.js.map +1 -0
- package/components/bh-date-range-picker.d.ts +11 -0
- package/components/bh-date-range-picker.js +269 -0
- package/components/bh-date-range-picker.js.map +1 -0
- package/components/bh-dropdown-menu.d.ts +11 -0
- package/components/bh-dropdown-menu.js +9 -0
- package/components/bh-dropdown-menu.js.map +1 -0
- package/components/bh-dropdown.d.ts +11 -0
- package/components/bh-dropdown.js +9 -0
- package/components/bh-dropdown.js.map +1 -0
- package/components/bh-empty-state.d.ts +11 -0
- package/components/bh-empty-state.js +9 -0
- package/components/bh-empty-state.js.map +1 -0
- package/components/bh-featured-icon.d.ts +11 -0
- package/components/bh-featured-icon.js +9 -0
- package/components/bh-featured-icon.js.map +1 -0
- package/components/bh-illustrations.d.ts +11 -0
- package/components/bh-illustrations.js +92 -0
- package/components/bh-illustrations.js.map +1 -0
- package/components/bh-input-autocomplete.d.ts +11 -0
- package/components/bh-input-autocomplete.js +433 -0
- package/components/bh-input-autocomplete.js.map +1 -0
- package/components/bh-input-number.d.ts +11 -0
- package/components/bh-input-number.js +370 -0
- package/components/bh-input-number.js.map +1 -0
- package/components/bh-input-password.d.ts +11 -0
- package/components/bh-input-password.js +229 -0
- package/components/bh-input-password.js.map +1 -0
- package/components/bh-input-text.d.ts +11 -0
- package/components/bh-input-text.js +9 -0
- package/components/bh-input-text.js.map +1 -0
- package/components/bh-input-verification.d.ts +11 -0
- package/components/bh-input-verification.js +255 -0
- package/components/bh-input-verification.js.map +1 -0
- package/components/bh-label.d.ts +11 -0
- package/components/bh-label.js +9 -0
- package/components/bh-label.js.map +1 -0
- package/components/bh-loader-spinner.d.ts +11 -0
- package/components/bh-loader-spinner.js +9 -0
- package/components/bh-loader-spinner.js.map +1 -0
- package/components/bh-logo-box.d.ts +11 -0
- package/components/bh-logo-box.js +9 -0
- package/components/bh-logo-box.js.map +1 -0
- package/components/bh-modal-actions.d.ts +11 -0
- package/components/bh-modal-actions.js +105 -0
- package/components/bh-modal-actions.js.map +1 -0
- package/components/bh-modal-header.d.ts +11 -0
- package/components/bh-modal-header.js +119 -0
- package/components/bh-modal-header.js.map +1 -0
- package/components/bh-modal.d.ts +11 -0
- package/components/bh-modal.js +9 -0
- package/components/bh-modal.js.map +1 -0
- package/components/bh-month-picker-content.d.ts +11 -0
- package/components/bh-month-picker-content.js +9 -0
- package/components/bh-month-picker-content.js.map +1 -0
- package/components/bh-month-picker.d.ts +11 -0
- package/components/bh-month-picker.js +233 -0
- package/components/bh-month-picker.js.map +1 -0
- package/components/bh-nav-item.d.ts +11 -0
- package/components/bh-nav-item.js +9 -0
- package/components/bh-nav-item.js.map +1 -0
- package/components/bh-notification.d.ts +11 -0
- package/components/bh-notification.js +175 -0
- package/components/bh-notification.js.map +1 -0
- package/components/bh-page-navigation-child.d.ts +11 -0
- package/components/bh-page-navigation-child.js +9 -0
- package/components/bh-page-navigation-child.js.map +1 -0
- package/components/bh-page-navigation-multi-level.d.ts +11 -0
- package/components/bh-page-navigation-multi-level.js +9 -0
- package/components/bh-page-navigation-multi-level.js.map +1 -0
- package/components/bh-page-navigation-single-level.d.ts +11 -0
- package/components/bh-page-navigation-single-level.js +9 -0
- package/components/bh-page-navigation-single-level.js.map +1 -0
- package/components/bh-page-navigation.d.ts +11 -0
- package/components/bh-page-navigation.js +129 -0
- package/components/bh-page-navigation.js.map +1 -0
- package/components/bh-picker-menu.d.ts +11 -0
- package/components/bh-picker-menu.js +9 -0
- package/components/bh-picker-menu.js.map +1 -0
- package/components/bh-pie-chart.d.ts +11 -0
- package/components/bh-pie-chart.js +194 -0
- package/components/bh-pie-chart.js.map +1 -0
- package/components/bh-popover.d.ts +11 -0
- package/components/bh-popover.js +131 -0
- package/components/bh-popover.js.map +1 -0
- package/components/bh-product-switcher.d.ts +11 -0
- package/components/bh-product-switcher.js +9 -0
- package/components/bh-product-switcher.js.map +1 -0
- package/components/bh-property-switcher.d.ts +11 -0
- package/components/bh-property-switcher.js +261 -0
- package/components/bh-property-switcher.js.map +1 -0
- package/components/bh-radio-button.d.ts +11 -0
- package/components/bh-radio-button.js +9 -0
- package/components/bh-radio-button.js.map +1 -0
- package/components/bh-sidebar.d.ts +11 -0
- package/components/bh-sidebar.js +195 -0
- package/components/bh-sidebar.js.map +1 -0
- package/components/bh-skeleton-loader.d.ts +11 -0
- package/components/bh-skeleton-loader.js +59 -0
- package/components/bh-skeleton-loader.js.map +1 -0
- package/components/bh-tab-item.d.ts +11 -0
- package/components/bh-tab-item.js +80 -0
- package/components/bh-tab-item.js.map +1 -0
- package/components/bh-tabs.d.ts +11 -0
- package/components/bh-tabs.js +78 -0
- package/components/bh-tabs.js.map +1 -0
- package/components/bh-tag.d.ts +11 -0
- package/components/bh-tag.js +9 -0
- package/components/bh-tag.js.map +1 -0
- package/components/bh-textarea.d.ts +11 -0
- package/components/bh-textarea.js +207 -0
- package/components/bh-textarea.js.map +1 -0
- package/components/bh-toggle.d.ts +11 -0
- package/components/bh-toggle.js +9 -0
- package/components/bh-toggle.js.map +1 -0
- package/components/bh-tooltip.d.ts +11 -0
- package/components/bh-tooltip.js +9 -0
- package/components/bh-tooltip.js.map +1 -0
- package/components/bh-trend-chart.d.ts +11 -0
- package/components/bh-trend-chart.js +149 -0
- package/components/bh-trend-chart.js.map +1 -0
- package/components/index.d.ts +33 -0
- package/components/index.js +16 -0
- package/components/index.js.map +1 -0
- package/components/p-2KjdCYlS.js +59 -0
- package/components/p-2KjdCYlS.js.map +1 -0
- package/components/p-54wXxbeh.js +213 -0
- package/components/p-54wXxbeh.js.map +1 -0
- package/components/p-9a7sQzad.js +1463 -0
- package/components/p-9a7sQzad.js.map +1 -0
- package/components/p-B3doeS-4.js +158 -0
- package/components/p-B3doeS-4.js.map +1 -0
- package/components/p-B4TBDBoW.js +71 -0
- package/components/p-B4TBDBoW.js.map +1 -0
- package/components/p-BBenNW93.js +184 -0
- package/components/p-BBenNW93.js.map +1 -0
- package/components/p-BLRNfy0t.js +84 -0
- package/components/p-BLRNfy0t.js.map +1 -0
- package/components/p-BYhYSIIs.js +941 -0
- package/components/p-BYhYSIIs.js.map +1 -0
- package/components/p-Bbo_Dwmk.js +70 -0
- package/components/p-Bbo_Dwmk.js.map +1 -0
- package/components/p-BdcGkck5.js +72 -0
- package/components/p-BdcGkck5.js.map +1 -0
- package/components/p-Bk8GbEQp.js +132 -0
- package/components/p-Bk8GbEQp.js.map +1 -0
- package/components/p-CDPKBnfQ.js +92 -0
- package/components/p-CDPKBnfQ.js.map +1 -0
- package/components/p-CDgBIIbC.js +224 -0
- package/components/p-CDgBIIbC.js.map +1 -0
- package/components/p-CErNA5c8.js +204 -0
- package/components/p-CErNA5c8.js.map +1 -0
- package/components/p-CQBqn1IO.js +67 -0
- package/components/p-CQBqn1IO.js.map +1 -0
- package/components/p-CTjPiCcp.js +51 -0
- package/components/p-CTjPiCcp.js.map +1 -0
- package/components/p-CciWcvHP.js +123 -0
- package/components/p-CciWcvHP.js.map +1 -0
- package/components/p-CiQqgc-m.js +434 -0
- package/components/p-CiQqgc-m.js.map +1 -0
- package/components/p-CsRNKalM.js +166 -0
- package/components/p-CsRNKalM.js.map +1 -0
- package/components/p-CuVsQ9St.js +123 -0
- package/components/p-CuVsQ9St.js.map +1 -0
- package/components/p-D3OkBDd3.js +100 -0
- package/components/p-D3OkBDd3.js.map +1 -0
- package/components/p-D6cM-mvE.js +64 -0
- package/components/p-D6cM-mvE.js.map +1 -0
- package/components/p-D6kh9oF2.js +70 -0
- package/components/p-D6kh9oF2.js.map +1 -0
- package/components/p-DHSWIF-h.js +214 -0
- package/components/p-DHSWIF-h.js.map +1 -0
- package/components/p-DNhCX5eS.js +153 -0
- package/components/p-DNhCX5eS.js.map +1 -0
- package/components/p-DRGkYX1u.js +78 -0
- package/components/p-DRGkYX1u.js.map +1 -0
- package/components/p-DRJW4zBc.js +58 -0
- package/components/p-DRJW4zBc.js.map +1 -0
- package/components/p-DTgHvmlL.js +149 -0
- package/components/p-DTgHvmlL.js.map +1 -0
- package/components/p-DVhHZCku.js +220 -0
- package/components/p-DVhHZCku.js.map +1 -0
- package/components/p-DWpdUpK5.js +264 -0
- package/components/p-DWpdUpK5.js.map +1 -0
- package/components/p-D_DKZMpk.js +78 -0
- package/components/p-D_DKZMpk.js.map +1 -0
- package/components/p-Dbl0HXBJ.js +241 -0
- package/components/p-Dbl0HXBJ.js.map +1 -0
- package/components/p-DecYIvq4.js +124 -0
- package/components/p-DecYIvq4.js.map +1 -0
- package/components/p-DfXkVfrE.js +129 -0
- package/components/p-DfXkVfrE.js.map +1 -0
- package/components/p-HEcFS8Jc.js +125 -0
- package/components/p-HEcFS8Jc.js.map +1 -0
- package/components/p-MIbEYjCv.js +142 -0
- package/components/p-MIbEYjCv.js.map +1 -0
- package/components/p-NXL0pYS_.js +97 -0
- package/components/p-NXL0pYS_.js.map +1 -0
- package/components/p-X9MH3dtg.js +154 -0
- package/components/p-X9MH3dtg.js.map +1 -0
- package/components/p-YJm8-pxX.js +118 -0
- package/components/p-YJm8-pxX.js.map +1 -0
- package/components/p-ghuDbZwh.js +148 -0
- package/components/p-ghuDbZwh.js.map +1 -0
- package/components/p-p8W0xKpn.js +106 -0
- package/components/p-p8W0xKpn.js.map +1 -0
- package/esm/bellhop-core.js +21 -0
- package/esm/bellhop-core.js.map +1 -0
- package/esm/bh-accordion-item.entry.js +80 -0
- package/esm/bh-accordion-item.entry.js.map +1 -0
- package/esm/bh-accordion.entry.js +117 -0
- package/esm/bh-accordion.entry.js.map +1 -0
- package/esm/bh-appbar.entry.js +81 -0
- package/esm/bh-appbar.entry.js.map +1 -0
- package/esm/bh-autocomplete-menu.bh-tag.entry.js.map +1 -0
- package/esm/bh-autocomplete-menu_2.entry.js +174 -0
- package/esm/bh-avatar-add.entry.js +73 -0
- package/esm/bh-avatar-add.entry.js.map +1 -0
- package/esm/bh-avatar-stacked.entry.js +92 -0
- package/esm/bh-avatar-stacked.entry.js.map +1 -0
- package/esm/bh-avatar.entry.js +91 -0
- package/esm/bh-avatar.entry.js.map +1 -0
- package/esm/bh-badge-dot.bh-breadcrumbs.entry.js.map +1 -0
- package/esm/bh-badge-dot_2.entry.js +131 -0
- package/esm/bh-badge.entry.js +69 -0
- package/esm/bh-badge.entry.js.map +1 -0
- package/esm/bh-bar-chart.entry.js +162 -0
- package/esm/bh-bar-chart.entry.js.map +1 -0
- package/esm/bh-button-CBZGiLVh.js +115 -0
- package/esm/bh-button-CBZGiLVh.js.map +1 -0
- package/esm/bh-button-icon.entry.js +72 -0
- package/esm/bh-button-icon.entry.js.map +1 -0
- package/esm/bh-button.bh-loader-spinner.entry.js.map +1 -0
- package/esm/bh-button_2.entry.js +44 -0
- package/esm/bh-card-footer.entry.js +28 -0
- package/esm/bh-card-footer.entry.js.map +1 -0
- package/esm/bh-card-header.entry.js +72 -0
- package/esm/bh-card-header.entry.js.map +1 -0
- package/esm/bh-card.entry.js +46 -0
- package/esm/bh-card.entry.js.map +1 -0
- package/esm/bh-chart-tooltip.entry.js +55 -0
- package/esm/bh-chart-tooltip.entry.js.map +1 -0
- package/esm/bh-checkbox-group-item.entry.js +140 -0
- package/esm/bh-checkbox-group-item.entry.js.map +1 -0
- package/esm/bh-checkbox-group.entry.js +98 -0
- package/esm/bh-checkbox-group.entry.js.map +1 -0
- package/esm/bh-checkbox.entry.js +142 -0
- package/esm/bh-checkbox.entry.js.map +1 -0
- package/esm/bh-container-footer.entry.js +36 -0
- package/esm/bh-container-footer.entry.js.map +1 -0
- package/esm/bh-container.entry.js +24 -0
- package/esm/bh-container.entry.js.map +1 -0
- package/esm/bh-data-grid.entry.js +810 -0
- package/esm/bh-data-grid.entry.js.map +1 -0
- package/esm/bh-date-picker-content.bh-picker-menu.entry.js.map +1 -0
- package/esm/bh-date-picker-content_2.entry.js +522 -0
- package/esm/bh-date-picker.bh-empty-state.entry.js.map +1 -0
- package/esm/bh-date-picker_2.entry.js +249 -0
- package/esm/bh-date-range-picker-content.entry.js +149 -0
- package/esm/bh-date-range-picker-content.entry.js.map +1 -0
- package/esm/bh-date-range-picker.entry.js +165 -0
- package/esm/bh-date-range-picker.entry.js.map +1 -0
- package/esm/bh-dropdown-menu.entry.js +112 -0
- package/esm/bh-dropdown-menu.entry.js.map +1 -0
- package/esm/bh-dropdown.bh-logo-box.bh-nav-item.entry.js.map +1 -0
- package/esm/bh-dropdown_3.entry.js +303 -0
- package/esm/bh-featured-icon.entry.js +39 -0
- package/esm/bh-featured-icon.entry.js.map +1 -0
- package/esm/bh-illustrations.entry.js +63 -0
- package/esm/bh-illustrations.entry.js.map +1 -0
- package/esm/bh-input-autocomplete.entry.js +340 -0
- package/esm/bh-input-autocomplete.entry.js.map +1 -0
- package/esm/bh-input-number.entry.js +305 -0
- package/esm/bh-input-number.entry.js.map +1 -0
- package/esm/bh-input-password.entry.js +180 -0
- package/esm/bh-input-password.entry.js.map +1 -0
- package/esm/bh-input-text.entry.js +190 -0
- package/esm/bh-input-text.entry.js.map +1 -0
- package/esm/bh-input-verification.entry.js +201 -0
- package/esm/bh-input-verification.entry.js.map +1 -0
- package/esm/bh-label-DqsVrCg_.js +108 -0
- package/esm/bh-label-DqsVrCg_.js.map +1 -0
- package/esm/bh-label.bh-tooltip.entry.js.map +1 -0
- package/esm/bh-label_2.entry.js +45 -0
- package/esm/bh-modal-actions.entry.js +64 -0
- package/esm/bh-modal-actions.entry.js.map +1 -0
- package/esm/bh-modal-header.entry.js +74 -0
- package/esm/bh-modal-header.entry.js.map +1 -0
- package/esm/bh-modal.entry.js +54 -0
- package/esm/bh-modal.entry.js.map +1 -0
- package/esm/bh-month-picker-content.entry.js +187 -0
- package/esm/bh-month-picker-content.entry.js.map +1 -0
- package/esm/bh-month-picker.entry.js +150 -0
- package/esm/bh-month-picker.entry.js.map +1 -0
- package/esm/bh-notification.entry.js +126 -0
- package/esm/bh-notification.entry.js.map +1 -0
- package/esm/bh-page-navigation-child.entry.js +46 -0
- package/esm/bh-page-navigation-child.entry.js.map +1 -0
- package/esm/bh-page-navigation-multi-level.bh-page-navigation-single-level.entry.js.map +1 -0
- package/esm/bh-page-navigation-multi-level_2.entry.js +143 -0
- package/esm/bh-page-navigation.entry.js +70 -0
- package/esm/bh-page-navigation.entry.js.map +1 -0
- package/esm/bh-pie-chart.entry.js +155 -0
- package/esm/bh-pie-chart.entry.js.map +1 -0
- package/esm/bh-popover.entry.js +98 -0
- package/esm/bh-popover.entry.js.map +1 -0
- package/esm/bh-product-switcher.entry.js +100 -0
- package/esm/bh-product-switcher.entry.js.map +1 -0
- package/esm/bh-property-switcher.entry.js +229 -0
- package/esm/bh-property-switcher.entry.js.map +1 -0
- package/esm/bh-radio-button.entry.js +122 -0
- package/esm/bh-radio-button.entry.js.map +1 -0
- package/esm/bh-sidebar.entry.js +108 -0
- package/esm/bh-sidebar.entry.js.map +1 -0
- package/esm/bh-skeleton-loader.entry.js +32 -0
- package/esm/bh-skeleton-loader.entry.js.map +1 -0
- package/esm/bh-tab-item.entry.js +52 -0
- package/esm/bh-tab-item.entry.js.map +1 -0
- package/esm/bh-tabs.entry.js +50 -0
- package/esm/bh-tabs.entry.js.map +1 -0
- package/esm/bh-textarea.entry.js +159 -0
- package/esm/bh-textarea.entry.js.map +1 -0
- package/esm/bh-toggle.entry.js +139 -0
- package/esm/bh-toggle.entry.js.map +1 -0
- package/esm/bh-trend-chart.entry.js +119 -0
- package/esm/bh-trend-chart.entry.js.map +1 -0
- package/esm/form-CPgx0iFq.js +59 -0
- package/esm/form-CPgx0iFq.js.map +1 -0
- package/esm/index-DtVghh5W.js +1922 -0
- package/esm/index-DtVghh5W.js.map +1 -0
- package/esm/index.js +15 -0
- package/esm/index.js.map +1 -0
- package/esm/loader.js +11 -0
- package/esm/loader.js.map +1 -0
- package/index.cjs.js +1 -0
- package/index.js +1 -0
- package/loader/cdn.js +1 -0
- package/loader/index.cjs.js +1 -0
- package/loader/index.d.ts +24 -0
- package/loader/index.es2017.js +1 -0
- package/loader/index.js +2 -0
- package/package.json +32 -0
- package/types/components/bh-accordion/bh-accordion.d.ts +42 -0
- package/types/components/bh-accordion-item/bh-accordion-item.d.ts +41 -0
- package/types/components/bh-appbar/bh-appbar.d.ts +54 -0
- package/types/components/bh-autocomplete-menu/bh-autocomplete-menu.d.ts +54 -0
- package/types/components/bh-avatar/bh-avatar.d.ts +43 -0
- package/types/components/bh-avatar-add/bh-avatar-add.d.ts +35 -0
- package/types/components/bh-avatar-stacked/bh-avatar-stacked.d.ts +42 -0
- package/types/components/bh-badge/bh-badge.d.ts +40 -0
- package/types/components/bh-badge-dot/bh-badge-dot.d.ts +17 -0
- package/types/components/bh-bar-chart/bh-bar-chart.d.ts +50 -0
- package/types/components/bh-breadcrumbs/bh-breadcrumbs.d.ts +40 -0
- package/types/components/bh-button/bh-button.d.ts +57 -0
- package/types/components/bh-button-icon/bh-button-icon.d.ts +44 -0
- package/types/components/bh-card/bh-card.d.ts +23 -0
- package/types/components/bh-card-footer/bh-card-footer.d.ts +12 -0
- package/types/components/bh-card-header/bh-card-header.d.ts +59 -0
- package/types/components/bh-chart-tooltip/bh-chart-tooltip.d.ts +40 -0
- package/types/components/bh-checkbox/bh-checkbox.d.ts +45 -0
- package/types/components/bh-checkbox-group/bh-checkbox-group.d.ts +34 -0
- package/types/components/bh-checkbox-group-item/bh-checkbox-group-item.d.ts +67 -0
- package/types/components/bh-container/bh-container.d.ts +7 -0
- package/types/components/bh-container-footer/bh-container-footer.d.ts +18 -0
- package/types/components/bh-data-grid/bh-data-grid.d.ts +235 -0
- package/types/components/bh-date-picker/bh-date-picker.d.ts +78 -0
- package/types/components/bh-date-picker-content/bh-date-picker-content.d.ts +112 -0
- package/types/components/bh-date-range-picker/bh-date-range-picker.d.ts +85 -0
- package/types/components/bh-date-range-picker-content/bh-date-range-picker-content.d.ts +55 -0
- package/types/components/bh-dropdown/bh-dropdown.d.ts +78 -0
- package/types/components/bh-dropdown-menu/bh-dropdown-menu.d.ts +51 -0
- package/types/components/bh-empty-state/bh-empty-state.d.ts +52 -0
- package/types/components/bh-featured-icon/bh-featured-icon.d.ts +22 -0
- package/types/components/bh-illustrations/bh-illustrations.d.ts +25 -0
- package/types/components/bh-input-autocomplete/bh-input-autocomplete.d.ts +130 -0
- package/types/components/bh-input-number/bh-input-number.d.ts +137 -0
- package/types/components/bh-input-password/bh-input-password.d.ts +111 -0
- package/types/components/bh-input-text/bh-input-text.d.ts +126 -0
- package/types/components/bh-input-verification/bh-input-verification.d.ts +79 -0
- package/types/components/bh-label/bh-label.d.ts +54 -0
- package/types/components/bh-loader-spinner/bh-loader-spinner.d.ts +19 -0
- package/types/components/bh-logo-box/bh-logo-box.d.ts +28 -0
- package/types/components/bh-modal/bh-modal.d.ts +23 -0
- package/types/components/bh-modal-actions/bh-modal-actions.d.ts +38 -0
- package/types/components/bh-modal-header/bh-modal-header.d.ts +45 -0
- package/types/components/bh-month-picker/bh-month-picker.d.ts +73 -0
- package/types/components/bh-month-picker-content/bh-month-picker-content.d.ts +77 -0
- package/types/components/bh-notification/bh-notification.d.ts +51 -0
- package/types/components/bh-page-navigation/bh-page-navigation.d.ts +45 -0
- package/types/components/bh-page-navigation-child/bh-page-navigation-child.d.ts +26 -0
- package/types/components/bh-page-navigation-multi-level/bh-page-navigation-multi-level.d.ts +60 -0
- package/types/components/bh-page-navigation-single-level/bh-page-navigation-single-level.d.ts +22 -0
- package/types/components/bh-picker-menu/bh-picker-menu.d.ts +76 -0
- package/types/components/bh-pie-chart/bh-pie-chart.d.ts +50 -0
- package/types/components/bh-popover/bh-popover.d.ts +60 -0
- package/types/components/bh-product-switcher/bh-product-switcher.d.ts +40 -0
- package/types/components/bh-property-switcher/bh-property-switcher.d.ts +63 -0
- package/types/components/bh-radio-button/bh-radio-button.d.ts +56 -0
- package/types/components/bh-sidebar/bh-nav-item.d.ts +26 -0
- package/types/components/bh-sidebar/bh-sidebar.d.ts +70 -0
- package/types/components/bh-skeleton-loader/bh-skeleton-loader.d.ts +15 -0
- package/types/components/bh-tab-item/bh-tab-item.d.ts +29 -0
- package/types/components/bh-tabs/bh-tabs.d.ts +30 -0
- package/types/components/bh-tag/bh-tag.d.ts +25 -0
- package/types/components/bh-textarea/bh-textarea.d.ts +101 -0
- package/types/components/bh-toggle/bh-toggle.d.ts +66 -0
- package/types/components/bh-tooltip/bh-tooltip.d.ts +25 -0
- package/types/components/bh-trend-chart/bh-trend-chart.d.ts +34 -0
- package/types/components.d.ts +7199 -0
- package/types/index.d.ts +12 -0
- package/types/stencil-public-runtime.d.ts +1756 -0
- package/types/utils/form.d.ts +39 -0
package/README.md
ADDED
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
# @actabldesign/bellhop-core
|
|
2
|
+
|
|
3
|
+
BellhopOS Web Components Library built with StencilJS.
|
|
4
|
+
|
|
5
|
+
## Overview
|
|
6
|
+
|
|
7
|
+
This package provides framework-agnostic web components that can be used in any frontend application, including vanilla JavaScript, React, Angular, and Vue.
|
|
8
|
+
|
|
9
|
+
## Installation
|
|
10
|
+
|
|
11
|
+
```bash
|
|
12
|
+
npm install @actabldesign/bellhop-core
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
## Usage
|
|
16
|
+
|
|
17
|
+
### Vanilla JavaScript / HTML
|
|
18
|
+
|
|
19
|
+
```html
|
|
20
|
+
<!DOCTYPE html>
|
|
21
|
+
<html>
|
|
22
|
+
<head>
|
|
23
|
+
<script type="module" src="node_modules/@actabldesign/bellhop-core/dist/bellhop-core/bellhop-core.esm.js"></script>
|
|
24
|
+
</head>
|
|
25
|
+
<body>
|
|
26
|
+
<bh-button label="Click Me" hierarchy="primary"></bh-button>
|
|
27
|
+
</body>
|
|
28
|
+
</html>
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
### React
|
|
32
|
+
|
|
33
|
+
Use the React wrapper package for better integration:
|
|
34
|
+
|
|
35
|
+
```bash
|
|
36
|
+
npm install @actabldesign/bellhop-react
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
```tsx
|
|
40
|
+
import { BhButton } from '@actabldesign/bellhop-react';
|
|
41
|
+
|
|
42
|
+
function App() {
|
|
43
|
+
return (
|
|
44
|
+
<BhButton
|
|
45
|
+
label="Click Me"
|
|
46
|
+
hierarchy="primary"
|
|
47
|
+
onBhClick={(e) => console.log('Clicked!', e)}
|
|
48
|
+
/>
|
|
49
|
+
);
|
|
50
|
+
}
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
### Angular
|
|
54
|
+
|
|
55
|
+
Import and register the custom elements in your `main.ts`:
|
|
56
|
+
|
|
57
|
+
```typescript
|
|
58
|
+
import { defineCustomElements } from '@actabldesign/bellhop-core/loader';
|
|
59
|
+
|
|
60
|
+
defineCustomElements();
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
Add `CUSTOM_ELEMENTS_SCHEMA` to your module:
|
|
64
|
+
|
|
65
|
+
```typescript
|
|
66
|
+
import { CUSTOM_ELEMENTS_SCHEMA, NgModule } from '@angular/core';
|
|
67
|
+
|
|
68
|
+
@NgModule({
|
|
69
|
+
schemas: [CUSTOM_ELEMENTS_SCHEMA]
|
|
70
|
+
})
|
|
71
|
+
export class AppModule {}
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
Use in templates:
|
|
75
|
+
|
|
76
|
+
```html
|
|
77
|
+
<bh-button label="Click Me" hierarchy="primary" (bhClick)="handleClick($event)"></bh-button>
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
## Available Components
|
|
81
|
+
|
|
82
|
+
| Component | Tag | Description |
|
|
83
|
+
|-----------|-----|-------------|
|
|
84
|
+
| Button | `<bh-button>` | Versatile button with multiple variants |
|
|
85
|
+
|
|
86
|
+
## Development
|
|
87
|
+
|
|
88
|
+
```bash
|
|
89
|
+
# Build the library
|
|
90
|
+
npm run build
|
|
91
|
+
|
|
92
|
+
# Run tests
|
|
93
|
+
npm run test
|
|
94
|
+
|
|
95
|
+
# Start dev server
|
|
96
|
+
npm run start
|
|
97
|
+
```
|
|
98
|
+
|
|
99
|
+
## Component Naming Convention
|
|
100
|
+
|
|
101
|
+
All components use the `bh-` prefix to avoid conflicts with other libraries:
|
|
102
|
+
- `<bh-button>` - Button component
|
|
103
|
+
- `<bh-input-text>` - Text input (coming soon)
|
|
104
|
+
- `<bh-badge>` - Badge component (coming soon)
|
|
105
|
+
|
|
106
|
+
## Design Tokens
|
|
107
|
+
|
|
108
|
+
The components use CSS custom properties for theming. Import the global styles or define your own variables:
|
|
109
|
+
|
|
110
|
+
```css
|
|
111
|
+
:root {
|
|
112
|
+
--color-brand-600: #4338ca;
|
|
113
|
+
--color-neutral-600: #475569;
|
|
114
|
+
/* ... other tokens */
|
|
115
|
+
}
|
|
116
|
+
```
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap'); @import url('https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@20..48,100..700,0..1,-50..200&display=swap'); :root{--color-white:hsl(0, 0%, 100%);--color-black:hsl(0, 0%, 0%);--color-transparent:hsla(0, 0%, 100%, 0);--color-neutral-25:hsl(240, 20%, 99%);--color-neutral-50:hsl(240, 20%, 98%);--color-neutral-100:hsl(240, 17%, 95%);--color-neutral-200:hsl(227, 25%, 89%);--color-neutral-300:hsl(224, 24%, 78%);--color-neutral-400:hsl(226, 24%, 59%);--color-neutral-500:hsl(226, 24%, 48%);--color-neutral-600:hsl(226, 24%, 38%);--color-neutral-700:hsl(226, 24%, 25%);--color-neutral-800:hsl(233, 33%, 10%);--color-neutral-900:hsl(231, 32%, 8%);--color-neutral-950:hsl(231, 32%, 8%);--color-brand-25:hsl(220, 82%, 98%);--color-brand-50:hsl(222, 87%, 97%);--color-brand-100:hsl(221, 94%, 94%);--color-brand-200:hsl(221, 92%, 86%);--color-brand-300:hsl(224, 95%, 77%);--color-brand-400:hsl(224, 94%, 72%);--color-brand-500:hsl(230, 67%, 58%);--color-brand-600:hsl(230, 69%, 48%);--color-brand-700:hsl(230, 75%, 34%);--color-brand-800:hsl(243, 86%, 44%);--color-brand-900:hsl(237, 69%, 24%);--color-brand-950:hsl(237, 61%, 20%);--color-error-25:hsl(12, 100%, 99%);--color-error-50:hsl(5, 86%, 97%);--color-error-100:hsl(4, 93%, 94%);--color-error-200:hsl(3, 96%, 89%);--color-error-300:hsl(4, 96%, 80%);--color-error-400:hsl(4, 92%, 69%);--color-error-500:hsl(4, 86%, 58%);--color-error-600:hsl(4, 74%, 49%);--color-error-700:hsl(4, 76%, 40%);--color-error-800:hsl(4, 72%, 33%);--color-error-900:hsl(8, 65%, 29%);--color-error-950:hsl(8, 75%, 19%);--color-warning-25:hsl(42, 100%, 98%);--color-warning-50:hsl(45, 100%, 96%);--color-warning-100:hsl(45, 96%, 89%);--color-warning-200:hsl(44, 98%, 77%);--color-warning-300:hsl(42, 99%, 65%);--color-warning-400:hsl(39, 98%, 56%);--color-warning-500:hsl(34, 94%, 50%);--color-warning-600:hsl(28, 97%, 44%);--color-warning-700:hsl(22, 92%, 37%);--color-warning-800:hsl(19, 84%, 31%);--color-warning-900:hsl(18, 79%, 27%);--color-warning-950:hsl(17, 79%, 17%);--color-success-25:hsl(142, 80%, 98%);--color-success-50:hsl(145, 81%, 96%);--color-success-100:hsl(140, 80%, 90%);--color-success-200:hsl(144, 78%, 80%);--color-success-300:hsl(148, 63%, 67%);--color-success-400:hsl(150, 57%, 54%);--color-success-500:hsl(152, 77%, 39%);--color-success-600:hsl(153, 91%, 30%);--color-success-700:hsl(155, 90%, 24%);--color-success-800:hsl(155, 84%, 20%);--color-success-900:hsl(156, 83%, 16%);--color-success-950:hsl(157, 82%, 11%);--font-inter:'Inter', ui-sans-serif, system-ui, -apple-system, 'Segoe UI',
|
|
2
|
+
Roboto, 'Helvetica Neue', Arial, 'Noto Sans', sans-serif;--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas,
|
|
3
|
+
'Liberation Mono', 'Courier New', monospace;--weight-regular:400;--weight-medium:500;--weight-semibold:600;--weight-bold:700;--text-xl-size:1.25rem;--text-lg-size:1.125rem;--text-md-size:1rem;--text-sm-size:0.875rem;--text-xs-size:0.75rem;--text-xl-line:1.875rem;--text-lg-line:1.75rem;--text-md-line:1.5rem;--text-sm-line:1.25rem;--text-xs-line:1.125rem;--spacing-none:0rem;--spacing-xxs:0.125rem;--spacing-xs:0.25rem;--spacing-sm:0.375rem;--spacing-md:0.5rem;--spacing-lg:0.75rem;--spacing-xl:1rem;--spacing-2xl:1.25rem;--spacing-3xl:1.5rem;--spacing-4xl:2rem;--spacing-5xl:2.5rem;--spacing-6xl:3rem;--radius-none:0rem;--radius-xxs:0.125rem;--radius-xs:0.25rem;--radius-sm:0.375rem;--radius-md:0.5rem;--radius-lg:0.625rem;--radius-xl:0.75rem;--radius-2xl:1rem;--radius-3xl:1.25rem;--radius-4xl:1.5rem;--radius-full:9999px;--shadow-xs:0px 1px 2px rgba(16, 24, 40, 0.05);--shadow-sm:0px 1px 3px rgba(16, 24, 40, 0.1),
|
|
4
|
+
0px 1px 2px rgba(16, 24, 40, 0.06);--shadow-md:0px 4px 8px -2px rgba(16, 24, 40, 0.1),
|
|
5
|
+
0px 2px 4px -2px rgba(16, 24, 40, 0.06);--shadow-lg:0px 12px 16px -4px rgba(16, 24, 40, 0.08),
|
|
6
|
+
0px 4px 6px -2px rgba(16, 24, 40, 0.03);--shadow-xl:0px 20px 24px -4px rgba(16, 24, 40, 0.08),
|
|
7
|
+
0px 8px 8px -4px rgba(16, 24, 40, 0.03);--icon-compensation-xs-btn:calc(var(--spacing-lg) - var(--spacing-xs));--icon-compensation-sm-btn:calc(var(--spacing-xl) - var(--spacing-xs));--icon-compensation-md-btn:calc(var(--spacing-xl) - var(--spacing-xs));--icon-compensation-lg-btn:calc(var(--spacing-xl) - var(--spacing-xs))}*,*::before,*::after{box-sizing:border-box}.material-symbols-outlined{font-family:'Material Symbols Outlined';font-weight:normal;font-style:normal;font-size:24px;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;white-space:nowrap;word-wrap:normal;direction:ltr;font-feature-settings:'liga';-webkit-font-feature-settings:'liga';-webkit-font-smoothing:antialiased}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{p as e,g as a,b as t}from"./p-DtVghh5W.js";export{s as setNonce}from"./p-DtVghh5W.js";var i=()=>{const a=import.meta.url;const t={};if(a!==""){t.resourcesUrl=new URL(".",a).href}return e(t)};i().then((async e=>{await a();return t(JSON.parse('[["p-f0cfc744",[[769,"bh-data-grid",{"data":[16],"columns":[16],"rowKey":[1,"row-key"],"enableSelection":[4,"enable-selection"],"selectionMode":[1,"selection-mode"],"selectedKeys":[1040],"enableSorting":[4,"enable-sorting"],"multiSort":[4,"multi-sort"],"sortState":[1040],"enableFiltering":[4,"enable-filtering"],"showFilterRow":[4,"show-filter-row"],"filterState":[1040],"enableGrouping":[4,"enable-grouping"],"groupBy":[16],"enableEditing":[4,"enable-editing"],"editMode":[1,"edit-mode"],"showEditActions":[4,"show-edit-actions"],"showHeader":[4,"show-header"],"showRowBorders":[4,"show-row-borders"],"striped":[4],"compact":[4],"emptyMessage":[1,"empty-message"],"loading":[4],"internalSelectedKeys":[32],"internalSortState":[32],"internalFilterState":[32],"expandedGroups":[32],"hoveredRowIndex":[32],"filterInputValues":[32],"editingRowKey":[32],"editingColumnId":[32],"editingValues":[32],"showEditPopup":[32],"activeFilterColumn":[32]},null,{"selectedKeys":["handleSelectedKeysChange"],"sortState":["handleSortStateChange"],"filterState":["handleFilterStateChange"]}]]],["p-4c71a0b6",[[769,"bh-date-range-picker",{"variant":[1],"minYear":[2,"min-year"],"maxYear":[2,"max-year"],"disabled":[4],"disabledDates":[16],"startLabel":[1,"start-label"],"endLabel":[1,"end-label"],"startPlaceholder":[1,"start-placeholder"],"endPlaceholder":[1,"end-placeholder"],"inputWidth":[1,"input-width"],"showLabel":[4,"show-label"],"showFooter":[4,"show-footer"],"showOtherMonthDays":[4,"show-other-month-days"],"value":[16],"selectedValue":[32],"tempSelection":[32],"isMenuOpen":[32],"isMenuClosing":[32]},[[0,"bhDateRangeSelect","handleDateRangeSelectEvent"]],{"value":["handleValueChange"]}]]],["p-d9106838",[[769,"bh-sidebar",{"logoType":[1,"logo-type"],"avatarUrl":[1,"avatar-url"],"avatarInitials":[1,"avatar-initials"],"avatarName":[1,"avatar-name"],"avatarEmail":[1,"avatar-email"],"menuItems":[16],"footerItems":[16],"collapsed":[4],"activeItem":[32]}]]],["p-98a336f7",[[769,"bh-input-autocomplete",{"state":[1],"error":[4],"required":[4],"disabled":[4],"showHelpIcon":[4,"show-help-icon"],"showLeadingIcon":[4,"show-leading-icon"],"showLabel":[4,"show-label"],"showHintText":[4,"show-hint-text"],"label":[1],"placeholder":[1],"hintText":[1,"hint-text"],"leadingIcon":[1,"leading-icon"],"helpIconTooltip":[1,"help-icon-tooltip"],"value":[1025],"width":[1],"options":[16],"maxOptions":[2,"max-options"],"multiSelect":[4,"multi-select"],"minSearchLength":[2,"min-search-length"],"selectedItems":[1040],"showDropdown":[32],"focusedOptionIndex":[32],"isFocused":[32],"isHovered":[32],"isTagClickOpen":[32]},null,{"value":["handleValueChange"]}]]],["p-2cc0c4cf",[[769,"bh-month-picker",{"variant":[1],"minYear":[2,"min-year"],"maxYear":[2,"max-year"],"disabled":[4],"disabledMonths":[16],"label":[1],"placeholder":[1],"inputWidth":[1,"input-width"],"showLabel":[4,"show-label"],"showFooter":[4,"show-footer"],"value":[16],"selectedValue":[32],"tempSelection":[32],"isMenuOpen":[32],"isMenuClosing":[32]},null,{"value":["handleValueChange"]}]]],["p-86bbff38",[[769,"bh-checkbox-group-item",{"type":[1],"size":[1],"value":[1],"checked":[1028],"selected":[1028],"disabled":[4],"icon":[1],"itemTitle":[1,"item-title"],"subtitle":[1],"description":[1],"name":[1],"isHovered":[32],"isFocused":[32]}]]],["p-b4104ae5",[[769,"bh-page-navigation",{"navTitle":[1,"nav-title"],"navigationItems":[16],"items":[32]},null,{"navigationItems":["handleNavigationItemsChange"]}]]],["p-c48ca590",[[769,"bh-appbar",{"isMenuOpen":[4,"is-menu-open"],"logoSrc":[1,"logo-src"],"logoAlt":[1,"logo-alt"],"breadcrumbItems":[16],"notificationCount":[2,"notification-count"]}]]],["p-954b9c38",[[769,"bh-avatar-stacked",{"size":[1],"avatars":[1],"maxVisible":[2,"max-visible"],"showAddButton":[4,"show-add-button"],"addTooltipText":[1,"add-tooltip-text"],"hoveredIndex":[32],"addButtonHovered":[32]}]]],["p-0579ce8d",[[769,"bh-card-header",{"showFeaturedIcon":[4,"show-featured-icon"],"featuredIcon":[1,"featured-icon"],"featuredIconStyle":[1,"featured-icon-style"],"featuredIconColor":[1,"featured-icon-color"],"showTitle":[4,"show-title"],"headerTitle":[1,"header-title"],"showBadge":[4,"show-badge"],"badgeText":[1,"badge-text"],"showSupportingText":[4,"show-supporting-text"],"supportingText":[1,"supporting-text"],"showDropdown":[4,"show-dropdown"],"showDivider":[4,"show-divider"]}]]],["p-d941cdba",[[833,"bh-input-number",{"error":[4],"required":[4],"disabled":[4],"showHelpIcon":[4,"show-help-icon"],"showLeadingIcon":[4,"show-leading-icon"],"showLabel":[4,"show-label"],"showHintText":[4,"show-hint-text"],"label":[1],"placeholder":[1],"hintText":[1,"hint-text"],"leadingIcon":[1,"leading-icon"],"helpIconTooltip":[1,"help-icon-tooltip"],"value":[1026],"min":[2],"max":[2],"step":[2],"prefixText":[1,"prefix-text"],"suffixText":[1,"suffix-text"],"width":[1],"name":[1],"defaultValue":[2,"default-value"],"validationMessage":[1,"validation-message"],"internalState":[32],"isHovered":[32],"isFocused":[32],"internalValue":[32],"hasValidationError":[32]},null,{"value":["watchValue"]}]]],["p-98cc729f",[[769,"bh-notification",{"type":[1],"notificationTitle":[1,"notification-title"],"description":[1],"actionText":[1,"action-text"],"dismissText":[1,"dismiss-text"],"dismissible":[4],"icon":[1]}]]],["p-87d1ed92",[[769,"bh-container-footer",{"size":[1],"buttonLabel":[1,"button-label"]}]]],["p-9fe1fd2e",[[833,"bh-input-password",{"label":[1],"placeholder":[1],"hintText":[1,"hint-text"],"showLabel":[4,"show-label"],"showHintText":[4,"show-hint-text"],"showHelpIcon":[4,"show-help-icon"],"showLeadingIcon":[4,"show-leading-icon"],"error":[4],"disabled":[4],"required":[4],"helpIconTooltip":[1,"help-icon-tooltip"],"leadingIcon":[1,"leading-icon"],"value":[1025],"name":[1],"defaultValue":[1,"default-value"],"validationMessage":[1,"validation-message"],"isFocused":[32],"isHovered":[32],"showPassword":[32]}]]],["p-7e67af77",[[769,"bh-input-verification",{"size":[1],"digits":[2],"label":[1],"showLabel":[4,"show-label"],"hintText":[1,"hint-text"],"showHintText":[4,"show-hint-text"],"error":[4],"disabled":[4],"required":[4],"showSeparator":[4,"show-separator"],"placeholder":[1],"width":[1],"value":[1025],"values":[32],"inputRefs":[32]},null,{"value":["watchValue"],"digits":["watchDigits"]}]]],["p-f4c4c70d",[[769,"bh-modal-actions",{"type":[1],"destructive":[4],"primaryLabel":[1,"primary-label"],"secondaryLabel":[1,"secondary-label"],"divider":[4]}]]],["p-e3c5d1e3",[[769,"bh-modal-header",{"modalTitle":[1,"modal-title"],"description":[1],"icon":[1],"iconColor":[1,"icon-color"],"showIcon":[4,"show-icon"],"showCloseButton":[4,"show-close-button"],"type":[1],"paddingBottom":[4,"padding-bottom"],"divider":[4]}]]],["p-ebb2492c",[[833,"bh-textarea",{"label":[1],"placeholder":[1],"hintText":[1,"hint-text"],"showLabel":[4,"show-label"],"showHintText":[4,"show-hint-text"],"showHelpIcon":[4,"show-help-icon"],"error":[4],"disabled":[4],"required":[4],"helpIconTooltip":[1,"help-icon-tooltip"],"value":[1025],"name":[1],"defaultValue":[1,"default-value"],"validationMessage":[1,"validation-message"],"rows":[2],"resize":[1],"maxLength":[2,"max-length"],"isFocused":[32]}]]],["p-94156013",[[769,"bh-card",{"showHeader":[4,"show-header"],"showFooter":[4,"show-footer"],"contentMinHeight":[2,"content-min-height"],"placeholderText":[1,"placeholder-text"],"hasContent":[32]}]]],["p-d94b296e",[[769,"bh-card-footer",{"showDivider":[4,"show-divider"],"alignment":[1]}]]],["p-3038cc1a",[[769,"bh-checkbox-group",{"type":[1],"name":[1],"value":[1025],"disabled":[4]},[[0,"bhItemChange","handleItemChange"]]]]],["p-f261bdae",[[833,"bh-checkbox",{"size":[1],"checked":[1540],"indeterminate":[1028],"disabled":[4],"name":[1],"value":[1],"label":[1],"supportingText":[1,"supporting-text"],"required":[4],"defaultChecked":[4,"default-checked"],"isHovered":[32],"isFocused":[32]},null,{"checked":["handleCheckedChange"],"indeterminate":["handleIndeterminateChange"]}]]],["p-5e8d2fc0",[[769,"bh-dropdown-menu",{"header":[1],"menuItems":[1,"menu-items"],"visible":[4],"showIcons":[4,"show-icons"],"scrollable":[4],"isClosing":[32],"shouldRender":[32]},null,{"visible":["watchVisible"]}]]],["p-e5b9a3de",[[769,"bh-chart-tooltip",{"visible":[4],"x":[2],"y":[2],"header":[1],"items":[16],"total":[1],"showTotal":[4,"show-total"],"storybookMode":[4,"storybook-mode"]}]]],["p-71391701",[[769,"bh-bar-chart",{"data":[16],"type":[1],"orientation":[1],"animated":[4],"maxHeight":[2,"max-height"],"maxWidth":[2,"max-width"],"tooltipVisible":[32],"tooltipX":[32],"tooltipY":[32],"tooltipHeader":[32],"tooltipItems":[32],"tooltipTotal":[32],"showTooltipTotal":[32]}]]],["p-05c13d72",[[769,"bh-pie-chart",{"data":[16],"hole":[1],"size":[2],"animated":[4],"gap":[2],"tooltipVisible":[32],"tooltipX":[32],"tooltipY":[32],"tooltipSegment":[32]}]]],["p-d14192df",[[769,"bh-accordion",{"mode":[1],"value":[1025],"collapsible":[4],"expandedItems":[32]},[[0,"bhAccordionToggle","handleAccordionToggle"]],{"value":["handleValueChange"]}]]],["p-324cad08",[[769,"bh-accordion-item",{"value":[1],"header":[1],"expanded":[1540],"disabled":[4],"isAnimating":[32]},null,{"expanded":["handleExpandedChange"]}]]],["p-9e7e64dc",[[769,"bh-container",{"withFooter":[4,"with-footer"]}]]],["p-8053e945",[[769,"bh-illustrations",{"size":[1],"illustrationTitle":[1,"illustration-title"],"description":[1],"svgPath":[1,"svg-path"],"alt":[1]}]]],["p-852564d6",[[769,"bh-modal",{"visible":[4],"overlay":[4],"width":[1]}]]],["p-2c80bc07",[[769,"bh-popover",{"popoverTitle":[1,"popover-title"],"viewPortfolioText":[1,"view-portfolio-text"],"searchPlaceholder":[1,"search-placeholder"],"width":[1],"showSearch":[4,"show-search"],"showAvatar":[4,"show-avatar"],"avatarSrc":[1,"avatar-src"],"items":[1],"searchTerm":[32]}]]],["p-e8e0739d",[[769,"bh-property-switcher",{"selectedProperty":[1,"selected-property"],"properties":[16],"grouped":[4],"searchPlaceholder":[1,"search-placeholder"],"isExpanded":[32],"searchQuery":[32],"expandedGroups":[32],"internalSelectedProperty":[32]},[[4,"click","handleDocumentClick"]]]]],["p-abd6ade0",[[769,"bh-skeleton-loader",{"width":[1],"height":[1],"circle":[4]}]]],["p-0e013732",[[769,"bh-tab-item",{"value":[1],"label":[1],"active":[4],"disabled":[4]}]]],["p-ad15a4b9",[[769,"bh-tabs",{"type":[1],"orientation":[1],"fullWidth":[4,"full-width"],"value":[1025]},[[0,"bhTabItemClick","handleTabItemClick"]]]]],["p-1960c2d0",[[833,"bh-toggle",{"size":[1],"showText":[4,"show-text"],"label":[1],"supportingText":[1,"supporting-text"],"disabled":[4],"checked":[1028],"name":[1],"value":[1],"required":[4],"defaultChecked":[4,"default-checked"],"isFocused":[32],"isHovered":[32]}]]],["p-df2728a1",[[769,"bh-trend-chart",{"trend":[1],"data":[16],"animated":[4],"variant":[1],"width":[2],"height":[2]}]]],["p-051a25aa",[[769,"bh-button",{"hierarchy":[1],"kind":[1],"icon":[1],"size":[1],"label":[1],"iconName":[1,"icon-name"],"disabled":[4],"loading":[4],"type":[1]}],[769,"bh-loader-spinner",{"size":[1],"variant":[1],"overlay":[4],"overlayMessage":[1,"overlay-message"],"showMessage":[4,"show-message"],"message":[1]}]]],["p-b1affa8d",[[769,"bh-date-picker-content",{"minYear":[2,"min-year"],"maxYear":[2,"max-year"],"disabled":[4],"disabledDates":[16],"initialMonth":[2,"initial-month"],"initialYear":[2,"initial-year"],"displayMonth":[2,"display-month"],"displayYear":[2,"display-year"],"rangeStart":[16],"rangeEnd":[16],"value":[16],"showOtherMonthDays":[4,"show-other-month-days"],"selectedDate":[32],"currentMonth":[32],"currentYear":[32],"isMonthDropdownOpen":[32],"isMonthDropdownClosing":[32]},null,{"value":["handleValueChange"],"displayMonth":["handleDisplayMonthChange"],"displayYear":["handleDisplayYearChange"]}],[769,"bh-picker-menu",{"minYear":[2,"min-year"],"maxYear":[2,"max-year"],"disabled":[4],"disabledMonths":[16],"animationClass":[1,"animation-class"],"visible":[4],"showFooter":[4,"show-footer"],"showTodayButton":[4,"show-today-button"],"disableApply":[4,"disable-apply"],"value":[16],"isClosing":[32],"shouldRender":[32],"selectedMonth":[32],"selectedYear":[32]},null,{"visible":["handleVisibleChange"],"value":["handleValueChange"]}]]],["p-e3d79592",[[769,"bh-date-range-picker-content",{"minYear":[2,"min-year"],"maxYear":[2,"max-year"],"disabled":[4],"disabledDates":[16],"showOtherMonthDays":[4,"show-other-month-days"],"value":[16],"selectedRange":[32],"leftMonth":[32],"leftYear":[32],"rightMonth":[32],"rightYear":[32]},null,{"value":["handleValueChange"]}]]],["p-2735c901",[[833,"bh-radio-button",{"size":[1],"selected":[1028],"disabled":[4],"value":[1],"name":[1],"label":[1],"supportingText":[1,"supporting-text"],"isFocused":[32],"isHovered":[32]}]]],["p-9693180e",[[769,"bh-avatar-add",{"size":[1],"disabled":[4],"showTooltip":[4,"show-tooltip"],"tooltipText":[1,"tooltip-text"],"isHovered":[32],"isFocused":[32]}]]],["p-c82e73aa",[[769,"bh-badge",{"variant":[1],"size":[1],"emphasis":[1],"label":[1],"icon":[1],"dismissible":[4],"disabled":[4]}]]],["p-7e908d03",[[769,"bh-date-picker",{"variant":[1],"minYear":[2,"min-year"],"maxYear":[2,"max-year"],"disabled":[4],"disabledDates":[16],"label":[1],"placeholder":[1],"inputWidth":[1,"input-width"],"showLabel":[4,"show-label"],"showFooter":[4,"show-footer"],"showOtherMonthDays":[4,"show-other-month-days"],"value":[16],"selectedValue":[32],"tempSelection":[32],"isMenuOpen":[32],"isMenuClosing":[32]},null,{"value":["handleValueChange"]}],[769,"bh-empty-state",{"emptyTitle":[1,"empty-title"],"description":[1],"illustrationSize":[1,"illustration-size"],"illustrationPath":[1,"illustration-path"],"primaryActionText":[1,"primary-action-text"],"primaryActionIcon":[1,"primary-action-icon"],"secondaryActionText":[1,"secondary-action-text"],"secondaryActionIcon":[1,"secondary-action-icon"],"maxWidth":[1,"max-width"]}]]],["p-3c739eea",[[769,"bh-page-navigation-multi-level",{"label":[1],"icon":[1],"badge":[8],"childItems":[16],"isExpanded":[1028,"is-expanded"],"isHovered":[32],"isAnimating":[32],"animationClass":[32]},null,{"isExpanded":["handleExpandedChange"]}],[769,"bh-page-navigation-single-level",{"label":[1],"icon":[1],"isActive":[4,"is-active"]}]]],["p-abf68de4",[[769,"bh-tag",{"variant":[1],"size":[1],"label":[1],"dismissible":[4],"disabled":[4],"maxWidth":[2,"max-width"],"avatarSrc":[1,"avatar-src"],"isDismissing":[32]}],[769,"bh-autocomplete-menu",{"menuItems":[16],"visible":[4],"selectedIndex":[2,"selected-index"],"maxHeight":[2,"max-height"],"multiSelect":[4,"multi-select"],"searchQuery":[1,"search-query"],"isAnimating":[32],"shouldRender":[32],"items":[32]},null,{"visible":["watchVisible"],"menuItems":["watchMenuItems"]}]]],["p-d5fb8d0f",[[769,"bh-breadcrumbs",{"items":[1],"separator":[1],"showHome":[4,"show-home"],"maxVisibleItems":[2,"max-visible-items"]}],[769,"bh-badge-dot",{"size":[1],"color":[1],"outline":[4]}]]],["p-e44539e9",[[769,"bh-page-navigation-child",{"label":[1],"badge":[8],"showBadge":[4,"show-badge"],"isActive":[4,"is-active"]}]]],["p-5d844699",[[769,"bh-product-switcher",{"isOpen":[4,"is-open"],"anchorPosition":[16],"products":[16],"isClosing":[32]},[[4,"click","handleDocumentClick"]]]]],["p-a901ae33",[[769,"bh-dropdown",{"size":[1],"state":[1],"variant":[1],"label":[1],"iconName":[1,"icon-name"],"disabled":[4],"menuItems":[1,"menu-items"],"header":[1],"avatarSrc":[1,"avatar-src"],"avatarAlt":[1,"avatar-alt"],"avatarSize":[1,"avatar-size"],"avatarName":[1,"avatar-name"],"avatarEmail":[1,"avatar-email"],"showIcons":[4,"show-icons"],"isOpen":[32]},[[4,"click","handleClickOutside"]]],[769,"bh-logo-box",{"logoType":[1,"logo-type"],"products":[16],"isOpen":[32],"anchorPosition":[32]}],[769,"bh-nav-item",{"icon":[1],"label":[1],"isActive":[4,"is-active"],"disabled":[4]}]]],["p-c194883a",[[769,"bh-featured-icon",{"size":[1],"color":[1],"iconStyle":[1,"icon-style"],"icon":[1]}]]],["p-df45027c",[[833,"bh-input-text",{"label":[1],"placeholder":[1],"hintText":[1,"hint-text"],"showLabel":[4,"show-label"],"showHintText":[4,"show-hint-text"],"showHelpIcon":[4,"show-help-icon"],"showLeadingIcon":[4,"show-leading-icon"],"showTrailingIcon":[4,"show-trailing-icon"],"error":[4],"disabled":[4],"required":[4],"helpIconTooltip":[1,"help-icon-tooltip"],"leadingIcon":[1,"leading-icon"],"trailingIcon":[1,"trailing-icon"],"value":[1025],"name":[1],"defaultValue":[1,"default-value"],"validationMessage":[1,"validation-message"],"type":[1],"width":[1],"readOnly":[4,"read-only"],"state":[1],"isFocused":[32],"isHovered":[32]}]]],["p-5a220f12",[[769,"bh-avatar",{"size":[1],"type":[1],"status":[1],"text":[1],"imageSrc":[1,"image-src"],"alt":[1]}]]],["p-ec894e11",[[769,"bh-month-picker-content",{"minYear":[2,"min-year"],"maxYear":[2,"max-year"],"disabled":[4],"disabledMonths":[16],"scrollable":[4],"selectedMonth":[2,"selected-month"],"selectedYear":[2,"selected-year"],"height":[1],"value":[16],"internalSelectedMonth":[32],"internalSelectedYear":[32],"isUsingKeyboard":[32]},null,{"value":["handleValueChange"],"selectedMonth":["handleSelectedMonthChange"],"selectedYear":["handleSelectedYearChange"]}]]],["p-3bf098fd",[[769,"bh-button-icon",{"hierarchy":[1],"size":[1],"iconName":[1,"icon-name"],"disabled":[4],"loading":[4],"type":[1],"ariaLabel":[1,"aria-label"]}]]],["p-dfe0574c",[[769,"bh-label",{"label":[1],"layout":[1],"for":[1],"supportingText":[1,"supporting-text"],"required":[4],"showHelpIcon":[4,"show-help-icon"],"helpIconTooltip":[1,"help-icon-tooltip"],"disabled":[4],"showHelpTooltip":[32]}],[769,"bh-tooltip",{"text":[1],"position":[1],"variant":[1],"visible":[4],"maxWidth":[2,"max-width"]}]]]]'),e)}));
|
|
2
|
+
//# sourceMappingURL=bellhop-core.esm.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bellhop-core.esm.js","sources":["../../node_modules/@stencil/core/internal/client/patch-browser.js","@lazy-browser-entrypoint?app-data=conditional"],"sourcesContent":["/*\n Stencil Client Patch Browser v4.38.3 | MIT Licensed | https://stenciljs.com\n */\n\n// src/client/client-patch-browser.ts\nimport { BUILD, NAMESPACE } from \"@stencil/core/internal/app-data\";\nimport { consoleDevInfo, H, promiseResolve, win } from \"@stencil/core\";\nvar patchBrowser = () => {\n if (BUILD.isDev && !BUILD.isTesting) {\n consoleDevInfo(\"Running in development mode.\");\n }\n if (BUILD.cloneNodeFix) {\n patchCloneNodeFix(H.prototype);\n }\n const scriptElm = BUILD.scriptDataOpts ? win.document && Array.from(win.document.querySelectorAll(\"script\")).find(\n (s) => new RegExp(`/${NAMESPACE}(\\\\.esm)?\\\\.js($|\\\\?|#)`).test(s.src) || s.getAttribute(\"data-stencil-namespace\") === NAMESPACE\n ) : null;\n const importMeta = import.meta.url;\n const opts = BUILD.scriptDataOpts ? (scriptElm || {})[\"data-opts\"] || {} : {};\n if (importMeta !== \"\") {\n opts.resourcesUrl = new URL(\".\", importMeta).href;\n }\n return promiseResolve(opts);\n};\nvar patchCloneNodeFix = (HTMLElementPrototype) => {\n const nativeCloneNodeFn = HTMLElementPrototype.cloneNode;\n HTMLElementPrototype.cloneNode = function(deep) {\n if (this.nodeName === \"TEMPLATE\") {\n return nativeCloneNodeFn.call(this, deep);\n }\n const clonedNode = nativeCloneNodeFn.call(this, false);\n const srcChildNodes = this.childNodes;\n if (deep) {\n for (let i = 0; i < srcChildNodes.length; i++) {\n if (srcChildNodes[i].nodeType !== 2) {\n clonedNode.appendChild(srcChildNodes[i].cloneNode(true));\n }\n }\n }\n return clonedNode;\n };\n};\nexport {\n patchBrowser\n};\n","export { setNonce } from '@stencil/core';\nimport { bootstrapLazy } from '@stencil/core';\nimport { patchBrowser } from '@stencil/core/internal/client/patch-browser';\nimport { globalScripts } from '@stencil/core/internal/app-globals';\npatchBrowser().then(async (options) => {\n await globalScripts();\n return bootstrapLazy([/*!__STENCIL_LAZY_DATA__*/], options);\n});\n"],"names":[],"mappings":";;;AAAA;AACA;AACA;;AAKA,IAAI,YAAY,GAAG,MAAM;AAUzB,EAAE,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG;AACpC,EAAE,MAAM,IAAI,GAAiE,EAAE;AAC/E,EAAE,IAAI,UAAU,KAAK,EAAE,EAAE;AACzB,IAAI,IAAI,CAAC,YAAY,GAAG,IAAI,GAAG,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC,IAAI;AACrD;AACA,EAAE,OAAO,cAAc,CAAC,IAAI,CAAC;AAC7B,CAAC;;ACnBD,YAAY,EAAE,CAAC,IAAI,CAAC,OAAO,OAAO,KAAK;AACvC,EAAE,MAAM,aAAa,EAAE;AACvB,EAAE,OAAO,aAAa,CAAC,4BAA4B,EAAE,OAAO,CAAC;AAC7D,CAAC,CAAC","x_google_ignoreList":[0]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bh-accordion-item.entry.esm.js","sources":["src/components/bh-accordion-item/bh-accordion-item.css?tag=bh-accordion-item&encapsulation=shadow","src/components/bh-accordion-item/bh-accordion-item.tsx"],"sourcesContent":["/* ==========================================================================\n BH-ACCORDION-ITEM COMPONENT STYLES\n ========================================================================== */\n\n:host {\n display: flex;\n flex-direction: column;\n width: 100%;\n background-color: var(--color-white);\n}\n\n/* Header */\n.accordion-header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: var(--spacing-lg);\n padding: var(--spacing-lg) var(--spacing-2xl);\n cursor: pointer;\n background-color: var(--color-white);\n border: none;\n border-bottom: 1px solid var(--color-neutral-100);\n transition: background-color 0.15s ease;\n}\n\n.accordion-header:hover {\n background-color: var(--color-neutral-25);\n}\n\n.accordion-header:focus {\n outline: none;\n}\n\n.accordion-header:focus-visible {\n outline: 2px solid var(--color-brand-500);\n outline-offset: -2px;\n}\n\n/* Header Content */\n.accordion-header-content {\n display: flex;\n flex-direction: column;\n gap: var(--spacing-xxs);\n flex: 1;\n min-width: 0;\n}\n\n/* Title */\n.accordion-title {\n font-family: var(--font-family-body);\n font-size: var(--font-size-text-md);\n font-weight: var(--font-weight-semibold);\n line-height: var(--line-height-text-md);\n color: var(--color-neutral-900);\n}\n\n/* Icon */\n.accordion-icon {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 24px;\n height: 24px;\n font-size: 24px;\n color: var(--color-neutral-500);\n transition: transform 0.2s ease;\n flex-shrink: 0;\n}\n\n/* Content */\n.accordion-content {\n display: grid;\n grid-template-rows: 0fr;\n transition: grid-template-rows 0.2s ease;\n overflow: hidden;\n}\n\n.accordion-content-inner {\n min-height: 0;\n overflow: hidden;\n}\n\n/* ==========================================================================\n EXPANDED STATE\n ========================================================================== */\n\n:host(.accordion-item-expanded) .accordion-header {\n border-bottom-color: transparent;\n}\n\n:host(.accordion-item-expanded) .accordion-content {\n grid-template-rows: 1fr;\n}\n\n:host(.accordion-item-expanded) .accordion-content-inner {\n padding: var(--spacing-lg) var(--spacing-2xl) var(--spacing-2xl);\n border-bottom: 1px solid var(--color-neutral-100);\n}\n\n/* ==========================================================================\n DISABLED STATE\n ========================================================================== */\n\n:host(.accordion-item-disabled) {\n opacity: 0.5;\n pointer-events: none;\n}\n\n:host(.accordion-item-disabled) .accordion-header {\n cursor: not-allowed;\n}\n\n/* ==========================================================================\n ANIMATION STATE\n ========================================================================== */\n\n:host(.accordion-item-animating) .accordion-content-inner {\n overflow: hidden;\n}\n","import {\n Component,\n Prop,\n State,\n Event,\n EventEmitter,\n h,\n Host,\n Watch,\n} from '@stencil/core';\n\n/**\n * @slot - Content displayed when the accordion item is expanded\n */\n@Component({\n tag: 'bh-accordion-item',\n styleUrl: 'bh-accordion-item.css',\n shadow: true,\n})\nexport class BhAccordionItem {\n /**\n * Unique identifier for this accordion item\n */\n @Prop() value!: string;\n\n /**\n * The header/title text for the accordion item\n */\n @Prop() header!: string;\n\n /**\n * Whether this accordion item is currently expanded\n */\n @Prop({ mutable: true, reflect: true }) expanded: boolean = false;\n\n /**\n * Whether this accordion item is disabled\n */\n @Prop() disabled: boolean = false;\n\n /**\n * Internal state for animation\n */\n @State() isAnimating: boolean = false;\n\n /**\n * Emitted when the accordion item is toggled\n */\n @Event({ bubbles: true, composed: true })\n bhAccordionToggle!: EventEmitter<{ value: string; expanded: boolean }>;\n\n /**\n * Emitted when the accordion header is clicked\n */\n @Event({ bubbles: true, composed: true })\n bhAccordionClick!: EventEmitter<string>;\n\n @Watch('expanded')\n handleExpandedChange(): void {\n this.isAnimating = true;\n setTimeout(() => {\n this.isAnimating = false;\n }, 200);\n }\n\n private handleHeaderClick = (): void => {\n if (this.disabled) return;\n\n this.expanded = !this.expanded;\n this.bhAccordionClick.emit(this.value);\n this.bhAccordionToggle.emit({\n value: this.value,\n expanded: this.expanded,\n });\n };\n\n private handleKeyDown = (event: KeyboardEvent): void => {\n if (this.disabled) return;\n\n if (event.key === 'Enter' || event.key === ' ') {\n event.preventDefault();\n this.handleHeaderClick();\n }\n };\n\n render() {\n const hostClasses = {\n 'accordion-item': true,\n 'accordion-item-expanded': this.expanded,\n 'accordion-item-disabled': this.disabled,\n 'accordion-item-animating': this.isAnimating,\n };\n\n const iconName = this.expanded ? 'expand_less' : 'expand_more';\n\n return (\n <Host class={hostClasses}>\n <div\n class=\"accordion-header\"\n part=\"header\"\n role=\"button\"\n tabindex={this.disabled ? -1 : 0}\n aria-expanded={this.expanded ? 'true' : 'false'}\n aria-disabled={this.disabled ? 'true' : 'false'}\n aria-controls={`content-${this.value}`}\n onClick={this.handleHeaderClick}\n onKeyDown={this.handleKeyDown}\n >\n <div class=\"accordion-header-content\">\n <span class=\"accordion-title\" part=\"title\">\n {this.header}\n </span>\n </div>\n <span class=\"accordion-icon material-symbols-outlined\" part=\"icon\">\n {iconName}\n </span>\n </div>\n <div\n id={`content-${this.value}`}\n class=\"accordion-content\"\n part=\"content\"\n role=\"region\"\n aria-labelledby={`header-${this.value}`}\n aria-hidden={!this.expanded ? 'true' : 'false'}\n >\n <div class=\"accordion-content-inner\">\n <slot />\n </div>\n </div>\n </Host>\n );\n }\n}\n"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bh-accordion.entry.esm.js","sources":["src/components/bh-accordion/bh-accordion.css?tag=bh-accordion&encapsulation=shadow","src/components/bh-accordion/bh-accordion.tsx"],"sourcesContent":["/* ==========================================================================\n BH-ACCORDION COMPONENT STYLES\n ========================================================================== */\n\n:host {\n display: block;\n width: 100%;\n}\n\n/* Container */\n.accordion-container {\n display: flex;\n flex-direction: column;\n width: 100%;\n background-color: var(--color-white);\n}\n\n/* ==========================================================================\n MODE VARIATIONS\n ========================================================================== */\n\n/* Single mode - no specific styles needed */\n.accordion-single .accordion-container {\n /* Default behavior */\n}\n\n/* Multiple mode - no specific styles needed */\n.accordion-multiple .accordion-container {\n /* Default behavior */\n}\n","import {\n Component,\n Prop,\n Event,\n EventEmitter,\n h,\n Host,\n Listen,\n State,\n Watch,\n} from '@stencil/core';\n\nexport type AccordionMode = 'single' | 'multiple';\n\n/**\n * @slot - Accordion items (bh-accordion-item components)\n */\n@Component({\n tag: 'bh-accordion',\n styleUrl: 'bh-accordion.css',\n shadow: true,\n})\nexport class BhAccordion {\n /**\n * The mode of the accordion:\n * - 'single': Only one item can be expanded at a time\n * - 'multiple': Multiple items can be expanded simultaneously\n */\n @Prop() mode: AccordionMode = 'single';\n\n /**\n * The value(s) of the currently expanded item(s).\n * For single mode: a string value\n * For multiple mode: an array of string values (comma-separated string)\n */\n @Prop({ mutable: true }) value: string = '';\n\n /**\n * Whether to collapse other items when one is expanded (only applies in single mode)\n */\n @Prop() collapsible: boolean = true;\n\n /**\n * Internal state to track expanded items\n */\n @State() expandedItems: Set<string> = new Set();\n\n /**\n * Emitted when the expanded state changes\n */\n @Event({ bubbles: true, composed: true })\n bhAccordionChange!: EventEmitter<string | string[]>;\n\n componentWillLoad(): void {\n this.parseValue();\n }\n\n @Watch('value')\n handleValueChange(): void {\n this.parseValue();\n this.updateChildItems();\n }\n\n private parseValue(): void {\n if (!this.value) {\n this.expandedItems = new Set();\n return;\n }\n\n if (this.mode === 'multiple') {\n this.expandedItems = new Set(this.value.split(',').filter(Boolean));\n } else {\n this.expandedItems = new Set([this.value]);\n }\n }\n\n private updateChildItems(): void {\n const slot = this.getSlot();\n if (!slot) return;\n\n const items = slot.assignedElements() as HTMLBhAccordionItemElement[];\n items.forEach((item) => {\n if (item.tagName.toLowerCase() === 'bh-accordion-item') {\n item.expanded = this.expandedItems.has(item.value);\n }\n });\n }\n\n private getSlot(): HTMLSlotElement | null {\n const host = document.querySelector('bh-accordion');\n if (!host?.shadowRoot) return null;\n return host.shadowRoot.querySelector('slot');\n }\n\n @Listen('bhAccordionToggle')\n handleAccordionToggle(\n event: CustomEvent<{ value: string; expanded: boolean }>\n ): void {\n const { value, expanded } = event.detail;\n\n if (this.mode === 'single') {\n if (expanded) {\n this.expandedItems = new Set([value]);\n } else if (this.collapsible) {\n this.expandedItems = new Set();\n }\n } else {\n if (expanded) {\n this.expandedItems.add(value);\n } else {\n this.expandedItems.delete(value);\n }\n this.expandedItems = new Set(this.expandedItems);\n }\n\n this.updateValue();\n this.updateChildItems();\n }\n\n private updateValue(): void {\n const items = Array.from(this.expandedItems);\n\n if (this.mode === 'multiple') {\n this.value = items.join(',');\n this.bhAccordionChange.emit(items);\n } else {\n this.value = items[0] || '';\n this.bhAccordionChange.emit(this.value);\n }\n }\n\n render() {\n const hostClasses = {\n accordion: true,\n [`accordion-${this.mode}`]: true,\n };\n\n return (\n <Host class={hostClasses}>\n <div class=\"accordion-container\" part=\"container\" role=\"presentation\">\n <slot />\n </div>\n </Host>\n );\n }\n}\n\ninterface HTMLBhAccordionItemElement extends HTMLElement {\n value: string;\n expanded: boolean;\n}\n"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bh-appbar.entry.esm.js","sources":["src/components/bh-appbar/bh-appbar.css?tag=bh-appbar&encapsulation=shadow","src/components/bh-appbar/bh-appbar.tsx"],"sourcesContent":[".appbar {\n display: flex;\n align-items: center;\n justify-content: space-between;\n height: 56px;\n padding: 0 var(--spacing-sm);\n background-color: var(--color-white);\n border-bottom: 1px solid var(--color-neutral-200);\n font-family: var(--font-inter);\n position: sticky;\n top: 0;\n z-index: 1000;\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/* Left Section */\n.left-section {\n display: flex;\n align-items: center;\n gap: var(--spacing-xl);\n flex-shrink: 0;\n}\n\n.logo {\n display: flex;\n align-items: center;\n justify-content: center;\n width: var(--spacing-4xl);\n height: var(--spacing-4xl);\n color: var(--color-brand-500);\n}\n\n.logo-image {\n width: 36px;\n height: 36px;\n object-fit: contain;\n}\n\n/* Right Section */\n.right-section {\n display: flex;\n align-items: center;\n gap: var(--spacing-md);\n flex-shrink: 0;\n}\n\n.icon-button-wrapper {\n position: relative;\n}\n\n.icon-badge-dot {\n position: absolute;\n top: -8px;\n right: 2px;\n}\n\n/* Responsive Design */\n@media (max-width: 768px) {\n .appbar {\n padding: 0 16px;\n }\n\n .left-section {\n gap: 12px;\n }\n}\n\n@media (max-width: 480px) {\n .appbar {\n padding: 0 12px;\n }\n\n .right-section {\n gap: 4px;\n }\n}\n","import { Component, Prop, Event, EventEmitter, h, Host } from '@stencil/core';\n\nexport interface BreadcrumbItem {\n label: string;\n path?: string;\n isActive?: boolean;\n}\n\n@Component({\n tag: 'bh-appbar',\n styleUrl: 'bh-appbar.css',\n shadow: true,\n})\nexport class BhAppbar {\n /**\n * Whether the menu is open\n */\n @Prop() isMenuOpen: boolean = false;\n\n /**\n * Logo source URL\n */\n @Prop() logoSrc?: string;\n\n /**\n * Logo alt text\n */\n @Prop() logoAlt: string = 'Solstice';\n\n /**\n * Breadcrumb items\n */\n @Prop() breadcrumbItems: BreadcrumbItem[] = [\n { label: 'Dashboard', path: '/dashboard' },\n { label: 'Dashboards', isActive: true },\n ];\n\n /**\n * Notification count\n */\n @Prop() notificationCount: number = 0;\n\n /**\n * Event emitted when menu toggle is clicked\n */\n @Event() bhMenuToggle!: EventEmitter<void>;\n\n /**\n * Event emitted when a breadcrumb is clicked\n */\n @Event() bhBreadcrumbClick!: EventEmitter<BreadcrumbItem>;\n\n /**\n * Event emitted when notification icon is clicked\n */\n @Event() bhNotificationClick!: EventEmitter<void>;\n\n /**\n * Event emitted when calendar icon is clicked\n */\n @Event() bhCalendarClick!: EventEmitter<void>;\n\n /**\n * Event emitted when settings icon is clicked\n */\n @Event() bhSettingsClick!: EventEmitter<void>;\n\n private handleMenuToggle = () => {\n this.bhMenuToggle.emit();\n };\n\n private handleBreadcrumbClick = (item: BreadcrumbItem) => {\n if (item.path && !item.isActive) {\n this.bhBreadcrumbClick.emit(item);\n }\n };\n\n private handleNotificationClick = () => {\n this.bhNotificationClick.emit();\n };\n\n private handleCalendarClick = () => {\n this.bhCalendarClick.emit();\n };\n\n private handleSettingsClick = () => {\n this.bhSettingsClick.emit();\n };\n\n render() {\n return (\n <Host>\n <header class=\"appbar\">\n {/* Left Section */}\n <div class=\"left-section\">\n {/* Menu Toggle */}\n <bh-button-icon\n hierarchy=\"quaternary\"\n size=\"sm\"\n iconName={this.isMenuOpen ? 'menu_open' : 'last_page'}\n onClick={this.handleMenuToggle}\n ></bh-button-icon>\n\n {/* Logo */}\n {this.logoSrc && (\n <div class=\"logo\">\n <img src={this.logoSrc} alt={this.logoAlt} class=\"logo-image\" />\n </div>\n )}\n\n {/* Property Switcher Slot */}\n <slot name=\"property-switcher\"></slot>\n\n {/* Breadcrumbs */}\n <bh-breadcrumbs\n items={this.breadcrumbItems}\n showHome={true}\n onBhItemClick={(e) => this.handleBreadcrumbClick(e.detail)}\n ></bh-breadcrumbs>\n </div>\n\n {/* Right Section */}\n <div class=\"right-section\">\n {/* Calendar Icon */}\n <div class=\"icon-button-wrapper\">\n <bh-button-icon\n hierarchy=\"quaternary\"\n size=\"sm\"\n iconName=\"calendar_today\"\n onClick={this.handleCalendarClick}\n ></bh-button-icon>\n <bh-badge-dot\n size=\"sm\"\n color=\"success\"\n outline={true}\n class=\"icon-badge-dot\"\n ></bh-badge-dot>\n </div>\n\n {/* Settings Icon */}\n <div class=\"icon-button-wrapper\">\n <bh-button-icon\n hierarchy=\"quaternary\"\n size=\"sm\"\n iconName=\"settings\"\n onClick={this.handleSettingsClick}\n ></bh-button-icon>\n <bh-badge-dot\n size=\"sm\"\n color=\"blue\"\n outline={true}\n class=\"icon-badge-dot\"\n ></bh-badge-dot>\n </div>\n\n {/* Notifications */}\n <div class=\"icon-button-wrapper\">\n <bh-button-icon\n hierarchy=\"quaternary\"\n size=\"sm\"\n iconName=\"notifications\"\n onClick={this.handleNotificationClick}\n ></bh-button-icon>\n {this.notificationCount > 0 && (\n <bh-badge-dot\n size=\"sm\"\n color=\"error\"\n outline={true}\n class=\"icon-badge-dot\"\n ></bh-badge-dot>\n )}\n </div>\n </div>\n </header>\n </Host>\n );\n }\n}\n"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bh-autocomplete-menu.bh-tag.entry.esm.js","sources":["src/components/bh-autocomplete-menu/bh-autocomplete-menu.css?tag=bh-autocomplete-menu&encapsulation=shadow","src/components/bh-autocomplete-menu/bh-autocomplete-menu.tsx","src/components/bh-tag/bh-tag.css?tag=bh-tag&encapsulation=shadow","src/components/bh-tag/bh-tag.tsx"],"sourcesContent":["/* ==========================================================================\n AUTOCOMPLETE MENU COMPONENT\n Shared styles for all frameworks\n ========================================================================== */\n\n.autocomplete-menu {\n position: absolute;\n z-index: 1000;\n top: calc(100% + var(--spacing-sm));\n left: 0;\n right: 0;\n width: 100%;\n min-width: 240px;\n background: var(--color-white);\n border-radius: var(--radius-md);\n box-shadow: 0px 32px 64px -12px rgba(64, 73, 104, 0.14),\n 0px 0px 1px 1px rgba(64, 73, 104, 0.1);\n border: 1px solid var(--color-neutral-200);\n overflow: hidden;\n overflow-y: auto;\n /* Add padding like dropdown-menu items container */\n padding: var(--spacing-xs) 0;\n /* Optimizations for stable layout */\n box-sizing: border-box;\n transform: translateZ(0); /* Hardware acceleration */\n will-change: opacity, transform;\n}\n\n\n/* Menu Items - Match dropdown-menu styling exactly */\n.autocomplete-item {\n padding: var(--spacing-none) var(--spacing-sm);\n cursor: pointer;\n}\n\n.autocomplete-item.disabled {\n opacity: 0.5;\n cursor: not-allowed;\n}\n\n.item-content {\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: var(--spacing-lg);\n padding: var(--spacing-md) var(--spacing-md);\n border-radius: var(--radius-sm);\n transition: background-color 0.15s ease;\n}\n\n.autocomplete-item:hover:not(.disabled) .item-content {\n background: var(--color-neutral-100);\n}\n\n.autocomplete-item.selected .item-content {\n background: var(--color-neutral-100);\n}\n\n.item-text {\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 flex: 1;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n min-width: 0;\n}\n\n.autocomplete-item.selected .item-text {\n color: var(--color-neutral-700);\n font-weight: var(--weight-medium);\n}\n\n.autocomplete-item.disabled .item-text {\n color: var(--color-neutral-400);\n}\n\n/* Highlight matching text */\n.item-text .highlight {\n font-weight: var(--weight-semibold);\n color: var(--color-neutral-800);\n}\n\n/* Check icon for multi-select */\n.check-icon {\n font-size: var(--text-xl-size);\n color: var(--color-brand-600);\n flex-shrink: 0;\n font-variation-settings: 'FILL' 1, 'wght' 500, 'GRAD' 0, 'opsz' 24;\n}\n\n/* Custom Scrollbar */\n.autocomplete-menu::-webkit-scrollbar {\n width: 6px;\n}\n\n.autocomplete-menu::-webkit-scrollbar-track {\n background: var(--color-neutral-50);\n border-radius: var(--radius-xs);\n}\n\n.autocomplete-menu::-webkit-scrollbar-thumb {\n background: var(--color-neutral-200);\n border-radius: var(--radius-xs);\n}\n\n.autocomplete-menu::-webkit-scrollbar-thumb:hover {\n background: var(--color-neutral-300);\n}\n\n/* Firefox scrollbar */\n.autocomplete-menu {\n scrollbar-width: thin;\n scrollbar-color: var(--color-neutral-200) var(--color-neutral-50);\n}\n\n/* High contrast mode support */\n@media (prefers-contrast: high) {\n .autocomplete-menu {\n border-width: 2px;\n }\n\n .autocomplete-item.selected {\n outline: 2px solid var(--color-brand-500);\n outline-offset: -2px;\n }\n}\n\n/* Reduced motion support */\n@media (prefers-reduced-motion: reduce) {\n .autocomplete-menu.animate-dropdown-enter,\n .autocomplete-menu.animate-dropdown-exit {\n animation: none;\n }\n\n .autocomplete-item {\n transition: none;\n }\n}\n","import { Component, Prop, Event, EventEmitter, State, Watch, h, Host } from '@stencil/core';\n\nexport interface AutocompleteMenuItem {\n id: string;\n label: string;\n disabled?: boolean;\n selected?: boolean;\n}\n\n@Component({\n tag: 'bh-autocomplete-menu',\n styleUrl: 'bh-autocomplete-menu.css',\n shadow: true,\n})\nexport class BhAutocompleteMenu {\n /**\n * Array of menu items\n */\n @Prop() menuItems: AutocompleteMenuItem[] = [];\n\n /**\n * Whether the menu is visible\n */\n @Prop() visible: boolean = false;\n\n /**\n * Currently selected item index\n */\n @Prop() selectedIndex: number = -1;\n\n /**\n * Maximum height of the menu in pixels\n */\n @Prop() maxHeight: number = 280;\n\n /**\n * Enable multi-select mode with checkmarks\n */\n @Prop() multiSelect: boolean = false;\n\n /**\n * Search query for highlighting text\n */\n @Prop() searchQuery: string = '';\n\n /**\n * Event emitted when an item is clicked\n */\n @Event() bhItemClick!: EventEmitter<AutocompleteMenuItem>;\n\n /**\n * Event emitted when an item is hovered\n */\n @Event() bhItemHover!: EventEmitter<number>;\n\n @State() isAnimating: boolean = false;\n @State() shouldRender: boolean = false;\n @State() items: AutocompleteMenuItem[] = [];\n\n @Watch('visible')\n watchVisible(newValue: boolean) {\n if (newValue) {\n this.shouldRender = true;\n this.isAnimating = false;\n } else {\n this.isAnimating = true;\n setTimeout(() => {\n this.shouldRender = false;\n this.isAnimating = false;\n }, 150);\n }\n }\n\n @Watch('menuItems')\n watchMenuItems(newValue: AutocompleteMenuItem[]) {\n this.items = [...newValue];\n }\n\n componentWillLoad() {\n this.shouldRender = this.visible;\n this.items = [...this.menuItems];\n }\n\n private handleItemClick = (item: AutocompleteMenuItem) => {\n if (!item.disabled) {\n if (this.multiSelect) {\n // Toggle selection in multi-select mode\n this.items = this.items.map(i =>\n i.id === item.id ? { ...i, selected: !i.selected } : i\n );\n const updatedItem = this.items.find(i => i.id === item.id)!;\n this.bhItemClick.emit(updatedItem);\n } else {\n this.bhItemClick.emit(item);\n }\n }\n };\n\n private handleItemMouseEnter = (index: number) => {\n this.bhItemHover.emit(index);\n };\n\n private handleMouseDown = (e: MouseEvent) => {\n e.preventDefault();\n };\n\n private getMenuClasses = () => {\n return {\n 'autocomplete-menu': true,\n 'animate-dropdown-exit': this.isAnimating && !this.visible,\n 'animate-dropdown-enter': this.visible && !this.isAnimating,\n };\n };\n\n private getItemClasses = (index: number, item: AutocompleteMenuItem) => {\n return {\n 'autocomplete-item': true,\n 'disabled': !!item.disabled,\n 'selected': index === this.selectedIndex,\n };\n };\n\n private getHighlightedText = (text: string) => {\n if (!this.searchQuery || this.searchQuery.length < 3) {\n return text;\n }\n\n const regex = new RegExp(`(${this.searchQuery})`, 'gi');\n const parts = text.split(regex);\n\n return parts.map((part, index) =>\n regex.test(part) ? (\n <span key={index} class=\"highlight\">{part}</span>\n ) : (\n <span key={index}>{part}</span>\n )\n );\n };\n\n render() {\n if (!this.shouldRender || this.items.length === 0) {\n return null;\n }\n\n return (\n <Host>\n <div\n class={this.getMenuClasses()}\n style={{ maxHeight: `${this.maxHeight}px` }}\n >\n {this.items.map((item, index) => (\n <div\n key={item.id}\n class={this.getItemClasses(index, item)}\n onMouseEnter={() => this.handleItemMouseEnter(index)}\n role=\"option\"\n aria-selected={index === this.selectedIndex ? 'true' : 'false'}\n aria-disabled={item.disabled ? 'true' : 'false'}\n >\n <div\n class=\"item-content\"\n onClick={() => this.handleItemClick(item)}\n onMouseDown={this.handleMouseDown}\n >\n <span class=\"item-text\" title={item.label}>\n {this.getHighlightedText(item.label)}\n </span>\n {this.multiSelect && item.selected && (\n <span class=\"check-icon material-symbols-outlined\">\n check\n </span>\n )}\n </div>\n </div>\n ))}\n </div>\n </Host>\n );\n }\n}\n","/* Tag Base Styles */\n:host {\n display: inline-block;\n}\n\n.tag {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n gap: var(--spacing-sm);\n font-family: var(--font-inter);\n font-weight: var(--weight-medium);\n background-color: var(--color-white);\n border: 1px solid var(--color-neutral-200);\n border-radius: var(--radius-sm);\n white-space: nowrap;\n cursor: default;\n user-select: none;\n}\n\n/* Clickable Tags */\n.tag-dismissible {\n cursor: pointer;\n}\n\n/* Size Variants */\n.tag-sm {\n padding: var(--spacing-xxs) var(--spacing-md);\n font-size: var(--text-sm-size);\n line-height: var(--text-sm-line);\n}\n\n.tag-sm.tag-dismissible {\n padding: var(--spacing-xxs) var(--spacing-xs) var(--spacing-xxs) var(--spacing-md);\n}\n\n.tag-md {\n padding: var(--spacing-xxs) var(--spacing-md);\n font-size: var(--text-md-size);\n line-height: var(--text-md-line);\n}\n\n.tag-md.tag-dismissible {\n padding: var(--spacing-xxs) var(--spacing-xs) var(--spacing-xxs) var(--spacing-md);\n}\n\n.tag-lg {\n padding: var(--spacing-xs) var(--spacing-lg);\n font-size: var(--text-md-size);\n line-height: var(--text-md-line);\n}\n\n.tag-lg.tag-dismissible {\n padding: var(--spacing-xs) var(--spacing-xs) var(--spacing-xs) var(--spacing-lg);\n}\n\n/* Content Layout */\n.tag-content {\n display: flex;\n align-items: center;\n gap: var(--spacing-xs);\n}\n\n/* Avatar Variant - specific adjustments */\n.tag-avatar .tag-content {\n gap: var(--spacing-sm);\n}\n\n.tag-sm.tag-avatar {\n padding-left: var(--spacing-xs);\n}\n\n.tag-sm.tag-avatar.tag-dismissible {\n padding-left: var(--spacing-xs);\n}\n\n.tag-md.tag-avatar {\n padding-left: var(--spacing-sm);\n}\n\n.tag-md.tag-avatar.tag-dismissible {\n padding-left: var(--spacing-sm);\n}\n\n.tag-lg.tag-avatar {\n padding-left: var(--spacing-sm);\n}\n\n.tag-lg.tag-avatar.tag-dismissible {\n padding-left: var(--spacing-sm);\n}\n\n/* Label wrapper for tooltip positioning */\n.tag-label-wrapper {\n position: relative;\n display: inline-flex;\n align-items: center;\n max-width: 100%;\n}\n\n/* Label */\n.tag-label {\n color: var(--color-neutral-700);\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n\n/* Dismiss Button */\n.tag-dismiss {\n display: flex;\n align-items: center;\n justify-content: center;\n background: none;\n border: none;\n cursor: pointer;\n padding: var(--spacing-xxs);\n border-radius: var(--radius-xs);\n transition: background-color 0.2s ease;\n width: var(--spacing-xl);\n height: var(--spacing-xl);\n flex-shrink: 0;\n}\n\n.tag-lg .tag-dismiss {\n padding: var(--spacing-xs);\n width: var(--spacing-2xl);\n height: var(--spacing-2xl);\n}\n\n.tag-dismiss:hover {\n background-color: var(--color-neutral-100);\n}\n\n.tag-dismiss:disabled {\n cursor: not-allowed;\n opacity: 0.5;\n}\n\n.tag-dismiss-icon {\n font-size: var(--text-sm-size);\n color: var(--color-neutral-500);\n line-height: 1;\n font-variation-settings: 'FILL' 0, 'wght' 400, 'GRAD' 0, 'opsz' 20;\n}\n\n.tag-lg .tag-dismiss-icon {\n font-size: var(--text-md-size);\n}\n\n/* Disabled State */\n.tag-disabled {\n opacity: 0.5;\n cursor: not-allowed;\n}\n\n/* Hover State for Dismissible Tags */\n.tag:hover {\n border-color: var(--color-neutral-300);\n}\n\n.tag-disabled:hover {\n border-color: var(--color-neutral-200);\n}\n\n/* Dismiss animation */\n.animate-dismiss {\n animation: dismiss 0.2s ease-out forwards;\n}\n\n@keyframes dismiss {\n from {\n opacity: 1;\n transform: scale(1);\n }\n to {\n opacity: 0;\n transform: scale(0.8);\n }\n}\n","import { Component, Prop, State, Event, EventEmitter, h } from '@stencil/core';\n\nexport type TagVariant = 'text-only' | 'avatar';\nexport type TagSize = 'sm' | 'md' | 'lg';\n\n@Component({\n tag: 'bh-tag',\n styleUrl: 'bh-tag.css',\n shadow: true,\n})\nexport class BhTag {\n /** Tag variant */\n @Prop() variant: TagVariant = 'text-only';\n\n /** Tag size */\n @Prop() size: TagSize = 'md';\n\n /** Tag label text */\n @Prop() label: string = 'Label';\n\n /** Whether the tag is dismissible */\n @Prop() dismissible: boolean = false;\n\n /** Whether the tag is disabled */\n @Prop() disabled: boolean = false;\n\n /** Maximum width for the label (in pixels) */\n @Prop() maxWidth: number = 120;\n\n /** Avatar image source (for avatar variant) */\n @Prop() avatarSrc: string = '';\n\n /** Internal dismissing state */\n @State() isDismissing: boolean = false;\n\n /** Emitted when dismiss button is clicked */\n @Event() bhDismiss!: EventEmitter<void>;\n\n private handleDismiss = (event: MouseEvent) => {\n event.stopPropagation();\n\n if (this.dismissible && !this.disabled && !this.isDismissing) {\n this.isDismissing = true;\n\n // Simulate animation duration\n setTimeout(() => {\n this.bhDismiss.emit();\n this.isDismissing = false;\n }, 200);\n }\n };\n\n render() {\n const classes = {\n 'tag': true,\n [`tag-${this.size}`]: true,\n [`tag-${this.variant}`]: true,\n 'tag-dismissible': this.dismissible,\n 'tag-disabled': this.disabled,\n 'animate-dismiss': this.isDismissing,\n };\n\n const labelStyle = {\n maxWidth: `${this.maxWidth}px`,\n };\n\n return (\n <span class={classes}>\n <div class=\"tag-content\">\n {/* Avatar variant */}\n {this.variant === 'avatar' && (\n <bh-avatar size=\"xxs\" type={this.avatarSrc ? 'image' : 'placeholder'} imageSrc={this.avatarSrc}></bh-avatar>\n )}\n\n {/* Label */}\n <span class=\"tag-label-wrapper\">\n <span class=\"tag-label\" style={labelStyle}>\n {this.label}\n </span>\n </span>\n </div>\n\n {/* Dismiss button (if dismissible) */}\n {this.dismissible && (\n <button\n class=\"tag-dismiss\"\n onClick={this.handleDismiss}\n disabled={this.disabled}\n type=\"button\"\n aria-label=\"Dismiss\"\n >\n <span class=\"material-symbols-outlined tag-dismiss-icon\">\n close\n </span>\n </button>\n )}\n </span>\n );\n }\n}\n"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bh-avatar-add.entry.esm.js","sources":["src/components/bh-avatar-add/bh-avatar-add.css?tag=bh-avatar-add&encapsulation=shadow","src/components/bh-avatar-add/bh-avatar-add.tsx"],"sourcesContent":[":host {\n display: inline-block;\n font-family: var(\n --font-inter,\n 'Inter',\n -apple-system,\n BlinkMacSystemFont,\n sans-serif\n );\n}\n\n/* Container */\n.avatar-add-container {\n position: relative;\n display: inline-flex;\n}\n\n/* Base Button */\n.avatar-add {\n position: relative;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n background-color: var(--color-white, #ffffff);\n border: 1px dashed var(--color-neutral-300, #d0d5dd);\n border-radius: 50%;\n cursor: pointer;\n transition: all 0.2s ease-in-out;\n padding: 0;\n outline: none;\n}\n\n/* Button Sizes */\n.avatar-add-xs {\n width: 24px;\n height: 24px;\n}\n\n.avatar-add-xs .avatar-add-icon {\n font-size: 14px;\n}\n\n.avatar-add-sm {\n width: 32px;\n height: 32px;\n}\n\n.avatar-add-sm .avatar-add-icon {\n font-size: 16px;\n}\n\n.avatar-add-md {\n width: 40px;\n height: 40px;\n}\n\n.avatar-add-md .avatar-add-icon {\n font-size: 20px;\n}\n\n.avatar-add-lg {\n width: 48px;\n height: 48px;\n}\n\n.avatar-add-lg .avatar-add-icon {\n font-size: 24px;\n}\n\n.avatar-add-xl {\n width: 56px;\n height: 56px;\n}\n\n.avatar-add-xl .avatar-add-icon {\n font-size: 28px;\n}\n\n.avatar-add-2xl {\n width: 64px;\n height: 64px;\n}\n\n.avatar-add-2xl .avatar-add-icon {\n font-size: 32px;\n}\n\n/* Hover State */\n.avatar-add-hover {\n background-color: var(--color-neutral-50, #f9fafb);\n border-color: var(--color-brand-500, #7f56d9);\n}\n\n.avatar-add-hover .avatar-add-icon {\n color: var(--color-brand-500, #7f56d9);\n}\n\n/* Focus State */\n.avatar-add-focus {\n background-color: var(--color-white, #ffffff);\n box-shadow: 0 0 0 2px var(--color-white, #ffffff),\n 0 0 0 4px var(--color-brand-500, #7f56d9);\n}\n\n/* Disabled State */\n.avatar-add-disabled {\n background-color: var(--color-neutral-50, #f9fafb);\n cursor: not-allowed;\n pointer-events: none;\n}\n\n.avatar-add-disabled .avatar-add-icon {\n color: var(--color-neutral-300, #d0d5dd);\n}\n\n/* Content Container */\n.avatar-add-content {\n display: flex;\n align-items: center;\n justify-content: center;\n}\n\n/* Icon */\n.avatar-add-icon {\n color: var(--color-neutral-500, #667085);\n line-height: 1;\n transition: color 0.2s ease-in-out;\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, State, Event, EventEmitter, h } from '@stencil/core';\n\nexport type AvatarAddSize = 'xs' | 'sm' | 'md' | 'lg' | 'xl' | '2xl';\n\n@Component({\n tag: 'bh-avatar-add',\n styleUrl: 'bh-avatar-add.css',\n shadow: true,\n})\nexport class BhAvatarAdd {\n /**\n * Size of the avatar add button\n */\n @Prop() size: AvatarAddSize = 'md';\n\n /**\n * Whether the button is disabled\n */\n @Prop() disabled: boolean = false;\n\n /**\n * Whether to show tooltip on hover\n */\n @Prop() showTooltip: boolean = false;\n\n /**\n * Tooltip text\n */\n @Prop() tooltipText: string = 'Add user';\n\n /**\n * Track hover state\n */\n @State() isHovered: boolean = false;\n\n /**\n * Track focus state\n */\n @State() isFocused: boolean = false;\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) {\n this.bhClick.emit(event);\n }\n };\n\n private handleKeyDown = (event: KeyboardEvent): void => {\n if ((event.key === 'Enter' || event.key === ' ') && !this.disabled) {\n event.preventDefault();\n this.bhClick.emit(event as unknown as MouseEvent);\n }\n };\n\n render() {\n const buttonClasses = {\n 'avatar-add': true,\n [`avatar-add-${this.size}`]: true,\n 'avatar-add-hover': this.isHovered && !this.disabled,\n 'avatar-add-focus': this.isFocused && !this.disabled,\n 'avatar-add-disabled': this.disabled,\n };\n\n return (\n <div class=\"avatar-add-container\">\n <button\n type=\"button\"\n class={buttonClasses}\n disabled={this.disabled}\n onClick={this.handleClick}\n onKeyDown={this.handleKeyDown}\n onMouseEnter={() => {\n if (!this.disabled) this.isHovered = true;\n }}\n onMouseLeave={() => {\n this.isHovered = false;\n }}\n onFocus={() => {\n if (!this.disabled) this.isFocused = true;\n }}\n onBlur={() => {\n this.isFocused = false;\n }}\n aria-label={this.tooltipText}\n part=\"button\"\n >\n <span class=\"avatar-add-content\">\n <span class=\"material-symbols-outlined avatar-add-icon\">add</span>\n </span>\n </button>\n\n {this.showTooltip && (\n <bh-tooltip\n text={this.tooltipText}\n visible={this.isHovered && !this.disabled}\n position=\"bottom\"\n />\n )}\n </div>\n );\n }\n}\n"],"names":[],"mappings":";;AAAA,MAAM,cAAc,GAAG,qhEAAqhE;;MCS/hE,WAAW,GAAA,MAAA;;;;;AACtB;;AAEG;IACK,IAAI,GAAkB,IAAI;AAElC;;AAEG;IACK,QAAQ,GAAY,KAAK;AAEjC;;AAEG;IACK,WAAW,GAAY,KAAK;AAEpC;;AAEG;IACK,WAAW,GAAW,UAAU;AAExC;;AAEG;IACM,SAAS,GAAY,KAAK;AAEnC;;AAEG;IACM,SAAS,GAAY,KAAK;AAEnC;;AAEG;AACM,IAAA,OAAO;AAER,IAAA,WAAW,GAAG,CAAC,KAAiB,KAAU;AAChD,QAAA,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;AAClB,YAAA,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC;;AAE5B,KAAC;AAEO,IAAA,aAAa,GAAG,CAAC,KAAoB,KAAU;AACrD,QAAA,IAAI,CAAC,KAAK,CAAC,GAAG,KAAK,OAAO,IAAI,KAAK,CAAC,GAAG,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE;YAClE,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,YAAY,EAAE,IAAI;AAClB,YAAA,CAAC,cAAc,IAAI,CAAC,IAAI,CAAE,CAAA,GAAG,IAAI;YACjC,kBAAkB,EAAE,IAAI,CAAC,SAAS,IAAI,CAAC,IAAI,CAAC,QAAQ;YACpD,kBAAkB,EAAE,IAAI,CAAC,SAAS,IAAI,CAAC,IAAI,CAAC,QAAQ;YACpD,qBAAqB,EAAE,IAAI,CAAC,QAAQ;SACrC;QAED,QACE,CAAA,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAK,KAAK,EAAC,sBAAsB,EAAA,EAC/B,CAAA,CAAA,QAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EACE,IAAI,EAAC,QAAQ,EACb,KAAK,EAAE,aAAa,EACpB,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,OAAO,EAAE,IAAI,CAAC,WAAW,EACzB,SAAS,EAAE,IAAI,CAAC,aAAa,EAC7B,YAAY,EAAE,MAAK;gBACjB,IAAI,CAAC,IAAI,CAAC,QAAQ;AAAE,oBAAA,IAAI,CAAC,SAAS,GAAG,IAAI;AAC3C,aAAC,EACD,YAAY,EAAE,MAAK;AACjB,gBAAA,IAAI,CAAC,SAAS,GAAG,KAAK;AACxB,aAAC,EACD,OAAO,EAAE,MAAK;gBACZ,IAAI,CAAC,IAAI,CAAC,QAAQ;AAAE,oBAAA,IAAI,CAAC,SAAS,GAAG,IAAI;AAC3C,aAAC,EACD,MAAM,EAAE,MAAK;AACX,gBAAA,IAAI,CAAC,SAAS,GAAG,KAAK;AACxB,aAAC,gBACW,IAAI,CAAC,WAAW,EAC5B,IAAI,EAAC,QAAQ,EAAA,EAEb,CAAM,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,oBAAoB,EAAA,EAC9B,CAAA,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAM,KAAK,EAAC,2CAA2C,EAAA,EAAA,KAAA,CAAW,CAC7D,CACA,EAER,IAAI,CAAC,WAAW,KACf,CACE,CAAA,YAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,IAAI,EAAE,IAAI,CAAC,WAAW,EACtB,OAAO,EAAE,IAAI,CAAC,SAAS,IAAI,CAAC,IAAI,CAAC,QAAQ,EACzC,QAAQ,EAAC,QAAQ,EAAA,CACjB,CACH,CACG;;;;;;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bh-avatar-stacked.entry.esm.js","sources":["src/components/bh-avatar-stacked/bh-avatar-stacked.css?tag=bh-avatar-stacked&encapsulation=shadow","src/components/bh-avatar-stacked/bh-avatar-stacked.tsx"],"sourcesContent":[":host {\n display: inline-block;\n font-family: var(\n --font-inter,\n 'Inter',\n -apple-system,\n BlinkMacSystemFont,\n sans-serif\n );\n}\n\n/* Container */\n.avatar-stacked {\n display: flex;\n align-items: center;\n}\n\n/* Avatar Item Wrapper */\n.avatar-item {\n position: relative;\n display: inline-flex;\n}\n\n/* Add white border around nested avatars for visual separation */\n.avatar-item bh-avatar,\n.avatar-item bh-avatar-add {\n box-shadow: 0 0 0 2px var(--color-white, #ffffff);\n border-radius: 50%;\n}\n","import { Component, Prop, State, h } from '@stencil/core';\n\nexport type AvatarStackedSize = 'xs' | 'sm' | 'md' | 'lg' | 'xl' | '2xl';\n\nexport interface AvatarData {\n type: 'image' | 'text' | 'icon';\n imageSrc?: string;\n text?: string;\n tooltipText?: string;\n}\n\n@Component({\n tag: 'bh-avatar-stacked',\n styleUrl: 'bh-avatar-stacked.css',\n shadow: true,\n})\nexport class BhAvatarStacked {\n /**\n * The size of the avatars in the stack\n */\n @Prop() size: AvatarStackedSize = 'md';\n\n /**\n * JSON array of avatar data\n */\n @Prop() avatars: string = '[]';\n\n /**\n * Maximum number of visible avatars before showing count\n */\n @Prop() maxVisible: number = 10;\n\n /**\n * Whether to show the add button\n */\n @Prop() showAddButton: boolean = true;\n\n /**\n * Tooltip text for the add button\n */\n @Prop() addTooltipText: string = 'Add member';\n\n /**\n * Track hovered avatar index for tooltips\n */\n @State() hoveredIndex: number = -1;\n\n /**\n * Track add button hover state\n */\n @State() addButtonHovered: boolean = false;\n\n private getParsedAvatars(): AvatarData[] {\n try {\n return JSON.parse(this.avatars) as AvatarData[];\n } catch {\n return [];\n }\n }\n\n private getAvatarSize(): number {\n const sizeMap: Record<AvatarStackedSize, number> = {\n xs: 24,\n sm: 32,\n md: 40,\n lg: 48,\n xl: 56,\n '2xl': 64,\n };\n return sizeMap[this.size] || 40;\n }\n\n private getOffset(): number {\n const avatarSize = this.getAvatarSize();\n return Math.floor(avatarSize * 0.3);\n }\n\n private mapAvatarType(\n type: 'image' | 'text' | 'icon'\n ): 'image' | 'text' | 'placeholder' {\n if (type === 'icon') {\n return 'placeholder';\n }\n return type;\n }\n\n render() {\n const parsedAvatars = this.getParsedAvatars();\n const visibleAvatars = parsedAvatars.slice(0, this.maxVisible - 1);\n const remainingCount = parsedAvatars.length - (this.maxVisible - 1);\n const showCountAvatar = remainingCount > 0;\n const offset = this.getOffset();\n\n return (\n <div\n class={`avatar-stacked avatar-stacked-${this.size}`}\n part=\"container\"\n >\n {visibleAvatars.map((avatar, index) => (\n <div\n class=\"avatar-item\"\n style={{ marginLeft: index > 0 ? `-${offset}px` : '0' }}\n onMouseEnter={() => {\n this.hoveredIndex = index;\n }}\n onMouseLeave={() => {\n this.hoveredIndex = -1;\n }}\n >\n <bh-avatar\n type={this.mapAvatarType(avatar.type)}\n size={this.size}\n imageSrc={avatar.imageSrc}\n text={avatar.text || '?'}\n alt={avatar.text || 'Avatar'}\n />\n {avatar.tooltipText && (\n <bh-tooltip\n text={avatar.tooltipText}\n visible={this.hoveredIndex === index}\n position=\"bottom\"\n />\n )}\n </div>\n ))}\n\n {showCountAvatar && (\n <div\n class=\"avatar-item\"\n style={{\n marginLeft: visibleAvatars.length > 0 ? `-${offset}px` : '0',\n }}\n >\n <bh-avatar\n type=\"text\"\n size={this.size}\n text={`+${remainingCount}`}\n alt={`${remainingCount} more`}\n />\n </div>\n )}\n\n {this.showAddButton && (\n <div\n class=\"avatar-item\"\n style={{\n marginLeft:\n visibleAvatars.length > 0 || showCountAvatar\n ? `-${offset}px`\n : '0',\n }}\n onMouseEnter={() => {\n this.addButtonHovered = true;\n }}\n onMouseLeave={() => {\n this.addButtonHovered = false;\n }}\n >\n <bh-avatar-add\n size={this.size}\n showTooltip={true}\n tooltipText={this.addTooltipText}\n />\n </div>\n )}\n </div>\n );\n }\n}\n"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bh-avatar.entry.esm.js","sources":["src/components/bh-avatar/bh-avatar.css?tag=bh-avatar&encapsulation=shadow","src/components/bh-avatar/bh-avatar.tsx"],"sourcesContent":["/* ==========================================================================\n BH-AVATAR COMPONENT STYLES\n ========================================================================== */\n\n:host {\n display: inline-block;\n}\n\n/* Base Avatar */\n.avatar {\n position: relative;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n border-radius: 50%;\n background-color: var(--color-neutral-100);\n flex-shrink: 0;\n}\n\n/* Avatar Sizes */\n.avatar-xxs {\n width: 16px;\n height: 16px;\n}\n\n.avatar-xs {\n width: 24px;\n height: 24px;\n}\n\n.avatar-sm {\n width: 32px;\n height: 32px;\n}\n\n.avatar-md {\n width: 40px;\n height: 40px;\n}\n\n.avatar-lg {\n width: 48px;\n height: 48px;\n}\n\n.avatar-xl {\n width: 56px;\n height: 56px;\n}\n\n.avatar-2xl {\n width: 64px;\n height: 64px;\n}\n\n/* ==========================================================================\n AVATAR CONTENT ELEMENTS\n ========================================================================== */\n\n/* Avatar Border */\n.avatar-border {\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n border-radius: 50%;\n pointer-events: none;\n z-index: 1;\n}\n\n.avatar-xs .avatar-border,\n.avatar-sm .avatar-border {\n border: 0.5px solid var(--color-neutral-400);\n}\n\n.avatar-md .avatar-border,\n.avatar-lg .avatar-border,\n.avatar-xl .avatar-border,\n.avatar-2xl .avatar-border {\n border: 0.75px solid var(--color-neutral-400);\n}\n\n/* Avatar Content Container */\n.avatar-content {\n position: relative;\n width: 100%;\n height: 100%;\n display: flex;\n align-items: center;\n justify-content: center;\n border-radius: 50%;\n overflow: hidden;\n z-index: 0;\n}\n\n/* Avatar Image */\n.avatar-image {\n width: 100%;\n height: 100%;\n object-fit: cover;\n border-radius: 50%;\n aspect-ratio: 1 / 1;\n}\n\n/* Avatar Placeholder Icon */\n.avatar-placeholder-icon {\n color: var(--color-neutral-500);\n line-height: 1;\n display: flex;\n align-items: center;\n justify-content: center;\n}\n\n/* Avatar Text (for text-type avatars) */\n.avatar-text {\n color: var(--color-neutral-500);\n font-family: var(--font-inter);\n font-weight: var(--weight-semibold);\n text-align: center;\n line-height: 1;\n}\n\n/* Text Size Classes */\n.text-xxs {\n font-size: 10px;\n line-height: 1.6em;\n}\n\n.text-xs {\n font-size: 12px;\n line-height: 1.5em;\n}\n\n.text-sm {\n font-size: var(--text-sm-size);\n line-height: var(--text-sm-line);\n}\n\n.text-md {\n font-size: var(--text-md-size);\n line-height: var(--text-md-line);\n}\n\n.text-lg {\n font-size: 18px;\n line-height: 1.56em;\n}\n\n.text-xl {\n font-size: 20px;\n line-height: 1.5em;\n}\n\n.text-2xl {\n font-size: 24px;\n line-height: 1.33em;\n}\n\n/* Icon Size Classes */\n.icon-sm {\n font-size: 16px;\n}\n\n.icon-md {\n font-size: 20px;\n}\n\n.icon-lg {\n font-size: 24px;\n}\n\n.icon-xl {\n font-size: 28px;\n}\n\n.icon-2xl {\n font-size: 32px;\n}\n\n.icon-3xl {\n font-size: 36px;\n}\n\n.icon-4xl {\n font-size: 40px;\n}\n\n/* ==========================================================================\n STATUS INDICATOR\n ========================================================================== */\n\n.avatar-status {\n position: absolute;\n border-radius: 50%;\n background-color: var(--color-success-500);\n border: 1.5px solid var(--color-white);\n z-index: 2;\n}\n\n.avatar-status-online {\n background-color: var(--color-success-500);\n}\n\n.avatar-status-offline {\n background-color: var(--color-neutral-400);\n}\n\n/* Status Indicator Sizes */\n.avatar-status-xxs {\n width: 4px;\n height: 4px;\n bottom: 0;\n right: 0;\n}\n\n.avatar-status-xs {\n width: 6px;\n height: 6px;\n bottom: 0;\n right: 0;\n}\n\n.avatar-status-sm {\n width: 8px;\n height: 8px;\n bottom: 0;\n right: 0;\n}\n\n.avatar-status-md {\n width: 10px;\n height: 10px;\n bottom: 0;\n right: 0;\n}\n\n.avatar-status-lg {\n width: 12px;\n height: 12px;\n bottom: 0;\n right: 0;\n}\n\n.avatar-status-xl {\n width: 14px;\n height: 14px;\n bottom: 0;\n right: 0;\n}\n\n.avatar-status-2xl {\n width: 16px;\n height: 16px;\n bottom: 0;\n right: 0;\n}\n","import { Component, Prop, Event, EventEmitter, h } from '@stencil/core';\n\nexport type AvatarSize = 'xxs' | 'xs' | 'sm' | 'md' | 'lg' | 'xl' | '2xl';\nexport type AvatarType = 'image' | 'placeholder' | 'text';\nexport type AvatarStatus = 'online' | 'offline' | 'none';\n\n@Component({\n tag: 'bh-avatar',\n styleUrl: 'bh-avatar.css',\n shadow: true,\n})\nexport class BhAvatar {\n /**\n * The size of the avatar\n */\n @Prop() size: AvatarSize = 'md';\n\n /**\n * The type of avatar content\n */\n @Prop() type: AvatarType = 'image';\n\n /**\n * The status indicator (online, offline, or none)\n */\n @Prop() status: AvatarStatus = 'none';\n\n /**\n * Text to display for text-type avatars (initials)\n */\n @Prop() text: string = 'RD';\n\n /**\n * Image source URL for image-type avatars\n */\n @Prop() imageSrc?: string;\n\n /**\n * Alt text for the avatar image\n */\n @Prop() alt: string = 'Avatar';\n\n /**\n * Emitted when the avatar is hovered\n */\n @Event() bhMouseEnter!: EventEmitter<void>;\n\n /**\n * Emitted when the mouse leaves the avatar\n */\n @Event() bhMouseLeave!: EventEmitter<void>;\n\n private handleMouseEnter = (): void => {\n this.bhMouseEnter.emit();\n };\n\n private handleMouseLeave = (): void => {\n this.bhMouseLeave.emit();\n };\n\n private getTextSizeClass(): string {\n const sizeMap: Record<AvatarSize, string> = {\n 'xxs': 'text-xxs',\n 'xs': 'text-xs',\n 'sm': 'text-sm',\n 'md': 'text-md',\n 'lg': 'text-lg',\n 'xl': 'text-xl',\n '2xl': 'text-2xl',\n };\n return sizeMap[this.size] || 'text-md';\n }\n\n private getIconSizeClass(): string {\n const sizeMap: Record<AvatarSize, string> = {\n 'xxs': 'icon-sm',\n 'xs': 'icon-md',\n 'sm': 'icon-lg',\n 'md': 'icon-xl',\n 'lg': 'icon-2xl',\n 'xl': 'icon-3xl',\n '2xl': 'icon-4xl',\n };\n return sizeMap[this.size] || 'icon-xl';\n }\n\n render() {\n const avatarClasses = {\n 'avatar': true,\n [`avatar-${this.size}`]: true,\n 'avatar-with-status': this.status !== 'none',\n };\n\n const statusClasses = {\n 'avatar-status': true,\n [`avatar-status-${this.size}`]: true,\n 'avatar-status-online': this.status === 'online',\n 'avatar-status-offline': this.status === 'offline',\n };\n\n return (\n <div\n class={avatarClasses}\n onMouseEnter={this.handleMouseEnter}\n onMouseLeave={this.handleMouseLeave}\n part=\"avatar\"\n >\n <div class=\"avatar-border\"></div>\n\n <div class=\"avatar-content\">\n {this.type === 'image' && (\n <img\n src={this.imageSrc}\n alt={this.alt}\n class=\"avatar-image\"\n />\n )}\n\n {this.type === 'placeholder' && (\n <span class={`material-symbols-outlined avatar-placeholder-icon ${this.getIconSizeClass()}`}>\n person\n </span>\n )}\n\n {this.type === 'text' && (\n <span class={`avatar-text ${this.getTextSizeClass()}`}>\n {this.text}\n </span>\n )}\n </div>\n\n {this.status !== 'none' && (\n <div class={statusClasses}></div>\n )}\n </div>\n );\n }\n}\n"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bh-badge-dot.bh-breadcrumbs.entry.esm.js","sources":["src/components/bh-badge-dot/bh-badge-dot.css?tag=bh-badge-dot&encapsulation=shadow","src/components/bh-badge-dot/bh-badge-dot.tsx","src/components/bh-breadcrumbs/bh-breadcrumbs.css?tag=bh-breadcrumbs&encapsulation=shadow","src/components/bh-breadcrumbs/bh-breadcrumbs.tsx"],"sourcesContent":[":host {\n display: inline-block;\n}\n\n/* Base Badge Dot */\n.badge-dot {\n border-radius: 9999px;\n position: relative;\n display: inline-block;\n box-sizing: border-box;\n}\n\n/* Sizes */\n.badge-dot-sm {\n width: 6px;\n height: 6px;\n}\n\n.badge-dot-md {\n width: 8px;\n height: 8px;\n}\n\n.badge-dot-lg {\n width: 10px;\n height: 10px;\n}\n\n/* Colors */\n.badge-dot-success {\n background-color: var(--color-success-500, #17B26A);\n}\n\n.badge-dot-blue {\n background-color: var(--color-blue-500, #5068DD);\n}\n\n.badge-dot-error {\n background-color: var(--color-error-500, #F05250);\n}\n\n.badge-dot-warning {\n background-color: var(--color-warning-500, #F79009);\n}\n\n/* Outline versions */\n.badge-dot-outline.badge-dot-sm {\n outline: 3px solid;\n outline-offset: 0;\n}\n\n.badge-dot-outline.badge-dot-md {\n outline: 4px solid;\n outline-offset: 0;\n}\n\n.badge-dot-outline.badge-dot-lg {\n outline: 5px solid;\n outline-offset: 0;\n}\n\n/* Outline colors */\n.badge-dot-outline.badge-dot-success {\n outline-color: var(--color-success-100, #D1FADF);\n}\n\n.badge-dot-outline.badge-dot-blue {\n outline-color: var(--color-blue-200, #E1EAFE);\n}\n\n.badge-dot-outline.badge-dot-error {\n outline-color: var(--color-error-200, #FEE4E2);\n}\n\n.badge-dot-outline.badge-dot-warning {\n outline-color: var(--color-warning-200, #FEF0C7);\n}\n","import { Component, Prop, h } from '@stencil/core';\n\nexport type BadgeDotSize = 'sm' | 'md' | 'lg';\nexport type BadgeDotColor = 'success' | 'blue' | 'error' | 'warning';\n\n@Component({\n tag: 'bh-badge-dot',\n styleUrl: 'bh-badge-dot.css',\n shadow: true,\n})\nexport class BhBadgeDot {\n /**\n * The size of the badge dot\n */\n @Prop() size: BadgeDotSize = 'md';\n\n /**\n * The color of the badge dot\n */\n @Prop() color: BadgeDotColor = 'error';\n\n /**\n * Whether to show an outline ring around the dot\n */\n @Prop() outline: boolean = false;\n\n render() {\n const dotClasses = {\n 'badge-dot': true,\n [`badge-dot-${this.size}`]: true,\n [`badge-dot-${this.color}`]: true,\n 'badge-dot-outline': this.outline,\n };\n\n return <div class={dotClasses} part=\"dot\"></div>;\n }\n}\n",":host {\n display: block;\n}\n\n/* Breadcrumbs Navigation - Matching Figma Design */\n.breadcrumbs {\n font-family: var(--font-inter);\n user-select: none;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n}\n\n.breadcrumbs-container {\n display: flex;\n align-items: center;\n gap: var(--spacing-xs);\n flex-wrap: wrap;\n}\n\n.breadcrumb-item {\n display: flex;\n align-items: center;\n}\n\n/* Breadcrumb Buttons - Matching Figma Design */\n.breadcrumb-button {\n display: flex;\n align-items: center;\n justify-content: center;\n padding: var(--spacing-xs) var(--spacing-sm);\n border: none;\n background: transparent;\n border-radius: 6px;\n cursor: pointer;\n transition: all 0.15s ease;\n color: var(--color-neutral-600);\n text-decoration: none;\n font-family: var(--font-inter);\n font-size: var(--text-sm-size);\n font-weight: 500;\n line-height: 1.4285714285714286em;\n min-height: 24px;\n box-sizing: border-box;\n}\n\n.breadcrumb-button:hover {\n background-color: var(--color-neutral-50);\n color: var(--color-neutral-900);\n}\n\n.breadcrumb-button:focus-visible {\n outline: 2px solid var(--color-brand-500);\n outline-offset: 2px;\n}\n\n/* Home button styling */\n.breadcrumb-home {\n padding: var(--spacing-xs);\n min-width: 24px;\n min-height: 24px;\n}\n\n/* Current/Active breadcrumb item - Matching Figma highlighted state */\n.breadcrumb-current {\n background-color: var(--color-neutral-50);\n color: var(--color-neutral-800);\n font-weight: 500;\n cursor: default;\n}\n\n.breadcrumb-current:hover {\n background-color: var(--color-neutral-50);\n color: var(--color-neutral-800);\n}\n\n/* Ellipsis button */\n.breadcrumb-ellipsis {\n color: var(--color-neutral-600);\n font-weight: 500;\n}\n\n.breadcrumb-ellipsis:hover {\n background-color: var(--color-neutral-50);\n color: var(--color-neutral-900);\n}\n\n/* Breadcrumb text */\n.breadcrumb-text {\n white-space: nowrap;\n max-width: 200px;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n\n/* Breadcrumb icons */\n.breadcrumb-icon {\n flex-shrink: 0;\n font-size: 20px;\n width: 20px;\n height: 20px;\n color: var(--color-neutral-600);\n}\n\n.breadcrumb-home .breadcrumb-icon {\n font-size: 20px;\n width: 20px;\n height: 20px;\n}\n\n/* Separators - Matching Figma chevron color */\n.breadcrumb-separator {\n display: flex;\n align-items: center;\n color: var(--color-neutral-300);\n font-size: 20px;\n flex-shrink: 0;\n}\n\n.breadcrumb-separator .material-symbols-outlined {\n font-size: 20px;\n width: 20px;\n height: 20px;\n}\n\n/* Material Symbols Support */\n.material-symbols-outlined {\n font-family: 'Material Symbols Outlined';\n font-weight: normal;\n font-style: normal;\n font-size: 24px;\n line-height: 1;\n letter-spacing: normal;\n text-transform: none;\n display: inline-block;\n white-space: nowrap;\n word-wrap: normal;\n direction: ltr;\n -webkit-font-feature-settings: 'liga';\n -webkit-font-smoothing: antialiased;\n font-variation-settings: 'FILL' 0, 'wght' 400, 'GRAD' 0, 'opsz' 24;\n}\n\n/* Responsive behavior */\n@media (max-width: 640px) {\n .breadcrumb-text {\n max-width: 120px;\n }\n\n .breadcrumbs-container {\n gap: var(--spacing-xxs);\n }\n\n .breadcrumb-button {\n padding: var(--spacing-xxs) var(--spacing-xs);\n font-size: 12px;\n }\n}\n","import { Component, Prop, Event, EventEmitter, h, Fragment } from '@stencil/core';\n\nexport interface BreadcrumbItem {\n label: string;\n path?: string;\n isActive?: boolean;\n}\n\n@Component({\n tag: 'bh-breadcrumbs',\n styleUrl: 'bh-breadcrumbs.css',\n shadow: true,\n})\nexport class BhBreadcrumbs {\n /**\n * Array of breadcrumb items\n */\n @Prop() items: BreadcrumbItem[] | string = [];\n\n /**\n * Separator icon name (Material Symbols)\n */\n @Prop() separator: string = 'chevron_right';\n\n /**\n * Whether to show the home button\n */\n @Prop() showHome: boolean = true;\n\n /**\n * Maximum number of visible items before collapsing\n */\n @Prop() maxVisibleItems: number = 4;\n\n /**\n * Event emitted when a breadcrumb item is clicked\n */\n @Event() bhItemClick!: EventEmitter<BreadcrumbItem>;\n\n /**\n * Event emitted when navigating to a path\n */\n @Event() bhNavigate!: EventEmitter<string>;\n\n private get parsedItems(): BreadcrumbItem[] {\n if (typeof this.items === 'string') {\n try {\n return JSON.parse(this.items);\n } catch {\n return [];\n }\n }\n return this.items || [];\n }\n\n private get displayData() {\n const items = this.parsedItems;\n if (!items || items.length <= this.maxVisibleItems) {\n return {\n displayItems: items ? [...items] : [],\n showEllipsis: false,\n collapsedItems: [],\n };\n } else {\n const lastItems = items.slice(-(this.maxVisibleItems - 2));\n return {\n displayItems: [items[0], ...lastItems],\n showEllipsis: true,\n collapsedItems: items.slice(1, -(this.maxVisibleItems - 2)),\n };\n }\n }\n\n private handleItemClick(item: BreadcrumbItem) {\n if (!item.isActive && item.path) {\n this.bhItemClick.emit(item);\n this.bhNavigate.emit(item.path);\n }\n }\n\n private handleHomeClick = () => {\n const homeItem: BreadcrumbItem = {\n label: 'Home',\n path: '/',\n };\n this.bhItemClick.emit(homeItem);\n this.bhNavigate.emit('/');\n };\n\n private handleEllipsisClick = () => {\n const { collapsedItems } = this.displayData;\n if (collapsedItems.length > 0) {\n this.handleItemClick(collapsedItems[0]);\n }\n };\n\n private renderBreadcrumbItem(item: BreadcrumbItem, index: number) {\n if (item.isActive || !item.path) {\n return (\n <div\n key={index}\n class=\"breadcrumb-button breadcrumb-current\"\n aria-current=\"page\"\n >\n <span class=\"breadcrumb-text\">{item.label}</span>\n </div>\n );\n }\n\n return (\n <button\n key={index}\n type=\"button\"\n class=\"breadcrumb-button\"\n onClick={() => this.handleItemClick(item)}\n >\n <span class=\"breadcrumb-text\">{item.label}</span>\n </button>\n );\n }\n\n private renderSeparator() {\n return (\n <div class=\"breadcrumb-separator\">\n <span class=\"material-symbols-outlined\">{this.separator}</span>\n </div>\n );\n }\n\n render() {\n const { displayItems, showEllipsis, collapsedItems } = this.displayData;\n\n return (\n <nav class=\"breadcrumbs\" aria-label=\"Breadcrumb\">\n <div class=\"breadcrumbs-container\">\n {/* Home button */}\n {this.showHome && (\n <div class=\"breadcrumb-item\">\n <bh-button-icon\n hierarchy=\"quaternary\"\n size=\"xs\"\n iconName=\"cottage\"\n onClick={this.handleHomeClick}\n aria-label=\"Home\"\n />\n </div>\n )}\n\n {/* Separator after home */}\n {this.showHome && (displayItems.length > 0 || showEllipsis) && this.renderSeparator()}\n\n {/* With ellipsis */}\n {showEllipsis && displayItems.length > 0 && (\n <Fragment>\n <div class=\"breadcrumb-item\">\n {this.renderBreadcrumbItem(displayItems[0], 0)}\n </div>\n\n {this.renderSeparator()}\n\n {/* Ellipsis button */}\n <div class=\"breadcrumb-item\">\n <button\n type=\"button\"\n class=\"breadcrumb-button breadcrumb-ellipsis\"\n onClick={this.handleEllipsisClick}\n title={`Show ${collapsedItems.length} hidden items`}\n >\n <span class=\"breadcrumb-text\">...</span>\n </button>\n </div>\n\n {this.renderSeparator()}\n\n {/* Remaining items */}\n {displayItems.slice(1).map((item, index) => (\n <Fragment>\n <div class=\"breadcrumb-item\" key={`item-${index + 1}`}>\n {this.renderBreadcrumbItem(item, index + 1)}\n </div>\n\n {index < displayItems.slice(1).length - 1 && this.renderSeparator()}\n </Fragment>\n ))}\n </Fragment>\n )}\n\n {/* Without ellipsis */}\n {!showEllipsis && displayItems.map((item, index) => (\n <Fragment>\n <div class=\"breadcrumb-item\" key={`item-${index}`}>\n {this.renderBreadcrumbItem(item, index)}\n </div>\n\n {index < displayItems.length - 1 && this.renderSeparator()}\n </Fragment>\n ))}\n </div>\n </nav>\n );\n }\n}\n"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bh-badge.entry.esm.js","sources":["src/components/bh-badge/bh-badge.css?tag=bh-badge&encapsulation=shadow","src/components/bh-badge/bh-badge.tsx"],"sourcesContent":["/* ==========================================================================\n BH-BADGE COMPONENT STYLES\n ========================================================================== */\n\n:host {\n display: inline-block;\n}\n\n/* Base Badge Styles */\n.badge {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n gap: var(--spacing-sm);\n font-family: var(--font-inter);\n font-weight: var(--weight-medium);\n border-radius: var(--radius-full);\n white-space: nowrap;\n text-align: center;\n transition: all 0.2s ease;\n border: 1px solid transparent;\n user-select: none;\n cursor: default;\n}\n\n/* Size Variants */\n.badge-sm {\n padding: var(--spacing-xxs) var(--spacing-md);\n font-size: var(--text-sm-size);\n line-height: var(--text-xs-line);\n}\n\n.badge-md {\n padding: var(--spacing-xs) var(--spacing-lg);\n font-size: var(--text-sm-size);\n line-height: var(--text-sm-line);\n}\n\n.badge-lg {\n padding: var(--spacing-sm) var(--spacing-xl);\n font-size: var(--text-md-size);\n line-height: var(--text-md-line);\n}\n\n/* Badge Icon - Dot */\n.badge-icon-dot {\n font-size: 8px !important;\n width: 8px;\n height: 8px;\n line-height: 1;\n flex-shrink: 0;\n font-variation-settings: 'FILL' 1, 'wght' 400, 'GRAD' 0, 'opsz' 16;\n}\n\n.badge-sm .badge-icon-dot {\n font-size: 6px !important;\n width: 6px;\n height: 6px;\n}\n\n.badge-lg .badge-icon-dot {\n font-size: 10px !important;\n width: 10px;\n height: 10px;\n}\n\n/* Custom icon styling */\n.badge-icon-custom {\n font-size: 16px !important;\n font-variation-settings: 'FILL' 0, 'wght' 400, 'GRAD' 0, 'opsz' 16;\n}\n\n.badge-sm .badge-icon-custom {\n font-size: 12px !important;\n}\n\n.badge-lg .badge-icon-custom {\n font-size: 20px !important;\n}\n\n/* Badge Label */\n.badge-label {\n flex-shrink: 0;\n font-weight: inherit;\n}\n\n/* Dismiss Button */\n.badge-dismiss {\n display: flex;\n align-items: center;\n justify-content: center;\n background: none;\n border: none;\n cursor: pointer;\n padding: 0;\n margin-left: var(--spacing-xxs);\n border-radius: var(--radius-full);\n transition: all 0.2s ease;\n width: 16px;\n height: 16px;\n}\n\n.badge-dismiss-icon {\n font-size: 14px !important;\n width: 14px;\n height: 14px;\n line-height: 1;\n font-variation-settings: 'FILL' 0, 'wght' 400, 'GRAD' 0, 'opsz' 14;\n}\n\n.badge-sm .badge-dismiss {\n width: 14px;\n height: 14px;\n}\n\n.badge-sm .badge-dismiss-icon {\n font-size: 12px !important;\n width: 12px;\n height: 12px;\n}\n\n.badge-lg .badge-dismiss {\n width: 18px;\n height: 18px;\n}\n\n.badge-lg .badge-dismiss-icon {\n font-size: 16px !important;\n width: 16px;\n height: 16px;\n}\n\n.badge-dismiss:hover {\n background-color: rgba(255, 255, 255, 0.2);\n}\n\n.badge-dismiss:disabled {\n cursor: not-allowed;\n opacity: 0.5;\n}\n\n/* ==========================================================================\n HIGH EMPHASIS VARIANTS\n ========================================================================== */\n\n.badge-high.badge-gray {\n background-color: var(--color-neutral-200);\n color: var(--color-neutral-800);\n}\n\n.badge-high.badge-blue {\n background-color: var(--color-brand-200);\n color: var(--color-brand-800);\n}\n\n.badge-high.badge-red {\n background-color: var(--color-error-200);\n color: var(--color-error-800);\n}\n\n.badge-high.badge-yellow {\n background-color: var(--color-warning-200);\n color: var(--color-warning-800);\n}\n\n.badge-high.badge-green {\n background-color: var(--color-success-200);\n color: var(--color-success-800);\n}\n\n.badge-high.badge-purple {\n background-color: hsl(270, 70%, 85%);\n color: hsl(270, 70%, 35%);\n}\n\n.badge-high.badge-pink {\n background-color: hsl(330, 70%, 85%);\n color: hsl(330, 70%, 35%);\n}\n\n.badge-high.badge-orange {\n background-color: hsl(25, 90%, 85%);\n color: hsl(25, 90%, 35%);\n}\n\n/* Icon colors for high emphasis */\n.badge-high .badge-icon-gray-high,\n.badge-high .badge-dismiss-icon.badge-icon-gray-high { color: var(--color-neutral-800) !important; }\n.badge-high .badge-icon-blue-high,\n.badge-high .badge-dismiss-icon.badge-icon-blue-high { color: var(--color-brand-800) !important; }\n.badge-high .badge-icon-red-high,\n.badge-high .badge-dismiss-icon.badge-icon-red-high { color: var(--color-error-800) !important; }\n.badge-high .badge-icon-yellow-high,\n.badge-high .badge-dismiss-icon.badge-icon-yellow-high { color: var(--color-warning-800) !important; }\n.badge-high .badge-icon-green-high,\n.badge-high .badge-dismiss-icon.badge-icon-green-high { color: var(--color-success-800) !important; }\n.badge-high .badge-icon-purple-high,\n.badge-high .badge-dismiss-icon.badge-icon-purple-high { color: hsl(270, 70%, 35%) !important; }\n.badge-high .badge-icon-pink-high,\n.badge-high .badge-dismiss-icon.badge-icon-pink-high { color: hsl(330, 70%, 35%) !important; }\n.badge-high .badge-icon-orange-high,\n.badge-high .badge-dismiss-icon.badge-icon-orange-high { color: hsl(25, 90%, 35%) !important; }\n\n/* ==========================================================================\n MEDIUM EMPHASIS VARIANTS\n ========================================================================== */\n\n.badge-medium.badge-gray {\n background-color: var(--color-neutral-50);\n color: var(--color-neutral-700);\n border-color: var(--color-neutral-200);\n}\n\n.badge-medium.badge-blue {\n background-color: var(--color-brand-50);\n color: var(--color-brand-700);\n border-color: var(--color-brand-200);\n}\n\n.badge-medium.badge-red {\n background-color: var(--color-error-50);\n color: var(--color-error-700);\n border-color: var(--color-error-200);\n}\n\n.badge-medium.badge-yellow {\n background-color: var(--color-warning-50);\n color: var(--color-warning-700);\n border-color: var(--color-warning-200);\n}\n\n.badge-medium.badge-green {\n background-color: var(--color-success-50);\n color: var(--color-success-700);\n border-color: var(--color-success-200);\n}\n\n.badge-medium.badge-purple {\n background-color: hsl(270, 70%, 97%);\n color: hsl(270, 70%, 40%);\n border-color: hsl(270, 70%, 85%);\n}\n\n.badge-medium.badge-pink {\n background-color: hsl(330, 70%, 97%);\n color: hsl(330, 70%, 40%);\n border-color: hsl(330, 70%, 85%);\n}\n\n.badge-medium.badge-orange {\n background-color: hsl(25, 90%, 97%);\n color: hsl(25, 90%, 40%);\n border-color: hsl(25, 90%, 85%);\n}\n\n/* Icon colors for medium emphasis */\n.badge-medium .badge-icon-gray-medium,\n.badge-medium .badge-dismiss-icon.badge-icon-gray-medium { color: var(--color-neutral-700) !important; }\n.badge-medium .badge-icon-blue-medium,\n.badge-medium .badge-dismiss-icon.badge-icon-blue-medium { color: var(--color-brand-700) !important; }\n.badge-medium .badge-icon-red-medium,\n.badge-medium .badge-dismiss-icon.badge-icon-red-medium { color: var(--color-error-700) !important; }\n.badge-medium .badge-icon-yellow-medium,\n.badge-medium .badge-dismiss-icon.badge-icon-yellow-medium { color: var(--color-warning-700) !important; }\n.badge-medium .badge-icon-green-medium,\n.badge-medium .badge-dismiss-icon.badge-icon-green-medium { color: var(--color-success-700) !important; }\n.badge-medium .badge-icon-purple-medium,\n.badge-medium .badge-dismiss-icon.badge-icon-purple-medium { color: hsl(270, 70%, 40%) !important; }\n.badge-medium .badge-icon-pink-medium,\n.badge-medium .badge-dismiss-icon.badge-icon-pink-medium { color: hsl(330, 70%, 40%) !important; }\n.badge-medium .badge-icon-orange-medium,\n.badge-medium .badge-dismiss-icon.badge-icon-orange-medium { color: hsl(25, 90%, 40%) !important; }\n\n/* ==========================================================================\n LOW EMPHASIS VARIANTS\n ========================================================================== */\n\n.badge-low.badge-gray {\n background-color: transparent;\n color: var(--color-neutral-600);\n border-color: var(--color-neutral-600);\n}\n\n.badge-low.badge-blue {\n background-color: transparent;\n color: var(--color-brand-600);\n border-color: var(--color-brand-600);\n}\n\n.badge-low.badge-red {\n background-color: transparent;\n color: var(--color-error-600);\n border-color: var(--color-error-600);\n}\n\n.badge-low.badge-yellow {\n background-color: transparent;\n color: var(--color-warning-600);\n border-color: var(--color-warning-600);\n}\n\n.badge-low.badge-green {\n background-color: transparent;\n color: var(--color-success-600);\n border-color: var(--color-success-600);\n}\n\n.badge-low.badge-purple {\n background-color: transparent;\n color: hsl(270, 70%, 45%);\n border-color: hsl(270, 70%, 45%);\n}\n\n.badge-low.badge-pink {\n background-color: transparent;\n color: hsl(330, 70%, 45%);\n border-color: hsl(330, 70%, 45%);\n}\n\n.badge-low.badge-orange {\n background-color: transparent;\n color: hsl(25, 90%, 45%);\n border-color: hsl(25, 90%, 45%);\n}\n\n/* Icon colors for low emphasis */\n.badge-low .badge-icon-gray-low,\n.badge-low .badge-dismiss-icon.badge-icon-gray-low { color: var(--color-neutral-600) !important; }\n.badge-low .badge-icon-blue-low,\n.badge-low .badge-dismiss-icon.badge-icon-blue-low { color: var(--color-brand-600) !important; }\n.badge-low .badge-icon-red-low,\n.badge-low .badge-dismiss-icon.badge-icon-red-low { color: var(--color-error-600) !important; }\n.badge-low .badge-icon-yellow-low,\n.badge-low .badge-dismiss-icon.badge-icon-yellow-low { color: var(--color-warning-600) !important; }\n.badge-low .badge-icon-green-low,\n.badge-low .badge-dismiss-icon.badge-icon-green-low { color: var(--color-success-600) !important; }\n.badge-low .badge-icon-purple-low,\n.badge-low .badge-dismiss-icon.badge-icon-purple-low { color: hsl(270, 70%, 45%) !important; }\n.badge-low .badge-icon-pink-low,\n.badge-low .badge-dismiss-icon.badge-icon-pink-low { color: hsl(330, 70%, 45%) !important; }\n.badge-low .badge-icon-orange-low,\n.badge-low .badge-dismiss-icon.badge-icon-orange-low { color: hsl(25, 90%, 45%) !important; }\n\n/* Disabled State */\n.badge-disabled {\n opacity: 0.5;\n cursor: not-allowed;\n}\n","import { Component, Prop, Event, EventEmitter, h } from '@stencil/core';\n\nexport type BadgeVariant = 'gray' | 'blue' | 'red' | 'yellow' | 'green' | 'purple' | 'pink' | 'orange';\nexport type BadgeSize = 'sm' | 'md' | 'lg';\nexport type BadgeEmphasis = 'high' | 'medium' | 'low';\n\n@Component({\n tag: 'bh-badge',\n styleUrl: 'bh-badge.css',\n shadow: true,\n})\nexport class BhBadge {\n /**\n * The color variant of the badge\n */\n @Prop() variant: BadgeVariant = 'gray';\n\n /**\n * The size of the badge\n */\n @Prop() size: BadgeSize = 'md';\n\n /**\n * The emphasis level (affects background/border styling)\n */\n @Prop() emphasis: BadgeEmphasis = 'high';\n\n /**\n * The text label to display\n */\n @Prop() label: string = 'Label';\n\n /**\n * Material Symbols icon name, or 'dot' for a dot indicator\n */\n @Prop() icon?: string;\n\n /**\n * Whether the badge can be dismissed\n */\n @Prop() dismissible: boolean = false;\n\n /**\n * Whether the badge is disabled\n */\n @Prop() disabled: boolean = false;\n\n /**\n * Emitted when the dismiss button is clicked\n */\n @Event() bhDismiss!: EventEmitter<void>;\n\n private handleDismiss = (e: MouseEvent): void => {\n e.stopPropagation();\n if (this.dismissible && !this.disabled) {\n this.bhDismiss.emit();\n }\n };\n\n render() {\n const badgeClasses = {\n 'badge': true,\n [`badge-${this.variant}`]: true,\n [`badge-${this.size}`]: true,\n [`badge-${this.emphasis}`]: true,\n 'badge-disabled': this.disabled,\n };\n\n const iconColorClass = `badge-icon-${this.variant}-${this.emphasis}`;\n const isDot = this.icon === 'dot';\n\n return (\n <span class={badgeClasses} part=\"badge\">\n {this.icon && (\n <span\n class={{\n 'material-symbols-outlined': true,\n [iconColorClass]: true,\n 'badge-icon-dot': isDot,\n 'badge-icon-custom': !isDot,\n }}\n >\n {isDot ? 'fiber_manual_record' : this.icon}\n </span>\n )}\n\n <span class=\"badge-label\">{this.label}</span>\n\n {this.dismissible && (\n <button\n class=\"badge-dismiss\"\n onClick={this.handleDismiss}\n disabled={this.disabled}\n type=\"button\"\n aria-label=\"Dismiss\"\n part=\"dismiss-button\"\n >\n <span class={`material-symbols-outlined badge-dismiss-icon ${iconColorClass}`}>\n close\n </span>\n </button>\n )}\n </span>\n );\n }\n}\n"],"names":[],"mappings":";;AAAA,MAAM,UAAU,GAAG,ipPAAipP;;MCWvpP,OAAO,GAAA,MAAA;;;;;AAClB;;AAEG;IACK,OAAO,GAAiB,MAAM;AAEtC;;AAEG;IACK,IAAI,GAAc,IAAI;AAE9B;;AAEG;IACK,QAAQ,GAAkB,MAAM;AAExC;;AAEG;IACK,KAAK,GAAW,OAAO;AAE/B;;AAEG;AACK,IAAA,IAAI;AAEZ;;AAEG;IACK,WAAW,GAAY,KAAK;AAEpC;;AAEG;IACK,QAAQ,GAAY,KAAK;AAEjC;;AAEG;AACM,IAAA,SAAS;AAEV,IAAA,aAAa,GAAG,CAAC,CAAa,KAAU;QAC9C,CAAC,CAAC,eAAe,EAAE;QACnB,IAAI,IAAI,CAAC,WAAW,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;AACtC,YAAA,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE;;AAEzB,KAAC;IAED,MAAM,GAAA;AACJ,QAAA,MAAM,YAAY,GAAG;AACnB,YAAA,OAAO,EAAE,IAAI;AACb,YAAA,CAAC,SAAS,IAAI,CAAC,OAAO,CAAE,CAAA,GAAG,IAAI;AAC/B,YAAA,CAAC,SAAS,IAAI,CAAC,IAAI,CAAE,CAAA,GAAG,IAAI;AAC5B,YAAA,CAAC,SAAS,IAAI,CAAC,QAAQ,CAAE,CAAA,GAAG,IAAI;YAChC,gBAAgB,EAAE,IAAI,CAAC,QAAQ;SAChC;QAED,MAAM,cAAc,GAAG,CAAA,WAAA,EAAc,IAAI,CAAC,OAAO,CAAA,CAAA,EAAI,IAAI,CAAC,QAAQ,CAAA,CAAE;AACpE,QAAA,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,KAAK,KAAK;AAEjC,QAAA,QACE,6DAAM,KAAK,EAAE,YAAY,EAAE,IAAI,EAAC,OAAO,EAAA,EACpC,IAAI,CAAC,IAAI,KACR,CAAA,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EACE,KAAK,EAAE;AACL,gBAAA,2BAA2B,EAAE,IAAI;gBACjC,CAAC,cAAc,GAAG,IAAI;AACtB,gBAAA,gBAAgB,EAAE,KAAK;gBACvB,mBAAmB,EAAE,CAAC,KAAK;aAC5B,EAAA,EAEA,KAAK,GAAG,qBAAqB,GAAG,IAAI,CAAC,IAAI,CACrC,CACR,EAED,CAAA,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAM,KAAK,EAAC,aAAa,IAAE,IAAI,CAAC,KAAK,CAAQ,EAE5C,IAAI,CAAC,WAAW,KACf,CACE,CAAA,QAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,eAAe,EACrB,OAAO,EAAE,IAAI,CAAC,aAAa,EAC3B,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,IAAI,EAAC,QAAQ,EACF,YAAA,EAAA,SAAS,EACpB,IAAI,EAAC,gBAAgB,EAAA,EAErB,CAAM,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAE,gDAAgD,cAAc,CAAA,CAAE,YAEtE,CACA,CACV,CACI;;;;;;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bh-bar-chart.entry.esm.js","sources":["src/components/bh-bar-chart/bh-bar-chart.css?tag=bh-bar-chart&encapsulation=shadow","src/components/bh-bar-chart/bh-bar-chart.tsx"],"sourcesContent":["@import '../../global/global.css';\n\n:host {\n display: block;\n}\n\n/* Vertical Layout */\n.vertical-container {\n display: flex;\n align-items: flex-end;\n height: 180px;\n width: 100%;\n}\n\n.vertical-container.simple {\n height: 180px;\n width: 100%;\n}\n\n.bar-column.vertical {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: flex-end;\n height: 100%;\n flex: 1;\n gap: var(--spacing-xxs, 2px);\n margin: 0 2px;\n border-radius: 4px;\n transition: background-color 0.2s ease;\n}\n\n.vertical-container.simple .bar-column.vertical {\n flex: 1;\n margin: 0 2px;\n}\n\n.bar-segment.vertical {\n width: 6px;\n border-radius: 2px;\n min-height: 2px;\n transition: all 0.3s ease;\n transform-origin: bottom;\n}\n\n/* Horizontal Layout */\n.horizontal-container {\n display: flex;\n flex-direction: column;\n justify-content: space-between;\n height: auto;\n min-height: 140px;\n gap: var(--spacing-lg, 12px);\n}\n\n.horizontal-container.simple {\n height: auto;\n min-height: 140px;\n gap: var(--spacing-lg, 12px);\n}\n\n.bar-row.horizontal {\n display: flex;\n align-items: center;\n width: 100%;\n height: 6px;\n min-height: 6px;\n max-height: 6px;\n gap: var(--spacing-xxs, 2px);\n margin: 2px 0;\n border-radius: 4px;\n transition: background-color 0.2s ease;\n padding: 2px;\n}\n\n.horizontal-container.simple .bar-row.horizontal {\n height: 6px;\n min-height: 6px;\n max-height: 6px;\n margin: 2px 0;\n padding: 2px;\n}\n\n.bar-segment.horizontal {\n height: 100%;\n min-height: 6px;\n max-height: 6px;\n border-radius: 2px;\n min-width: 2px;\n transition: all 0.3s ease;\n transform-origin: left;\n}\n\n.horizontal-container.simple .bar-segment.horizontal {\n min-width: 2px;\n height: 6px;\n min-height: 6px;\n max-height: 6px;\n}\n\n/* Hover effects */\n.bar-column,\n.bar-row {\n cursor: pointer;\n}\n\n.bar-column:hover {\n background-color: color-mix(in srgb, var(--color-neutral-100) 50%, transparent);\n}\n\n.bar-row:hover {\n background-color: color-mix(in srgb, var(--color-neutral-100) 50%, transparent);\n}\n\n.bar-column:hover .bar-segment,\n.bar-row:hover .bar-segment {\n opacity: 0.9;\n filter: brightness(1.05);\n}\n\n/* Animations */\n.bar-chart-animated .bar-segment.vertical {\n animation: barGrowVertical 0.8s cubic-bezier(0.4, 0, 0.2, 1) both;\n}\n\n.bar-chart-animated .bar-segment.horizontal {\n animation: barGrowHorizontal 0.8s cubic-bezier(0.4, 0, 0.2, 1) both;\n}\n\n@keyframes barGrowVertical {\n from {\n transform: scaleY(0);\n opacity: 0;\n }\n to {\n transform: scaleY(1);\n opacity: 1;\n }\n}\n\n@keyframes barGrowHorizontal {\n from {\n transform: scaleX(0);\n opacity: 0;\n }\n to {\n transform: scaleX(1);\n opacity: 1;\n }\n}\n\n@media (prefers-reduced-motion: reduce) {\n .bar-chart-animated .bar-segment.vertical,\n .bar-chart-animated .bar-segment.horizontal {\n animation: none;\n opacity: 1;\n transform: none;\n }\n}\n","import { Component, Prop, State, h, Host } from '@stencil/core';\nimport type { TooltipItem } from '../bh-chart-tooltip/bh-chart-tooltip';\n\nexport type BarChartType = 'simple' | 'stacked';\nexport type BarChartOrientation = 'vertical' | 'horizontal';\n\nexport interface BarChartSeries {\n name: string;\n values: number[];\n color?: string;\n}\n\nexport interface BarChartData {\n series: BarChartSeries[];\n categories?: string[];\n}\n\ninterface BarSegment {\n value: number;\n height: number;\n width: number;\n color: string;\n seriesName?: string;\n}\n\ninterface ProcessedBar {\n segments: BarSegment[];\n totalValue: number;\n category?: string;\n}\n\nconst DEFAULT_COLORS = [\n 'var(--color-brand-600)',\n 'var(--color-orange-500)',\n 'var(--color-success-500)',\n 'var(--color-purple-600)',\n 'var(--color-accent-500)',\n 'var(--color-teal-500)',\n 'var(--color-lime-500)',\n 'var(--color-amber-500)',\n];\n\n@Component({\n tag: 'bh-bar-chart',\n styleUrl: 'bh-bar-chart.css',\n shadow: true,\n})\nexport class BhBarChart {\n /**\n * Chart data\n */\n @Prop() data: BarChartData = {\n series: [\n { name: 'Series 1', values: [30, 45, 20, 35, 50, 40, 60, 35, 25, 55, 40], color: '#94a3b8' },\n { name: 'Series 2', values: [20, 25, 40, 30, 35, 45, 25, 30, 40, 20, 50], color: '#2563eb' },\n { name: 'Series 3', values: [25, 15, 35, 20, 15, 20, 30, 25, 30, 35, 25], color: '#7c3aed' },\n ],\n };\n\n /**\n * Chart type: simple or stacked\n */\n @Prop() type: BarChartType = 'stacked';\n\n /**\n * Chart orientation: vertical or horizontal\n */\n @Prop() orientation: BarChartOrientation = 'vertical';\n\n /**\n * Whether to animate the chart\n */\n @Prop() animated: boolean = true;\n\n /**\n * Maximum height for vertical bars\n */\n @Prop() maxHeight: number = 150;\n\n /**\n * Maximum width for horizontal bars\n */\n @Prop() maxWidth: number = 200;\n\n @State() tooltipVisible: boolean = false;\n @State() tooltipX: number = 0;\n @State() tooltipY: number = 0;\n @State() tooltipHeader: string = '';\n @State() tooltipItems: TooltipItem[] = [];\n @State() tooltipTotal: string = '';\n @State() showTooltipTotal: boolean = false;\n\n private processData(): ProcessedBar[] {\n if (!this.data.series?.length || !this.data.series[0].values.length) {\n return [];\n }\n\n const bars: ProcessedBar[] = [];\n\n if (this.type === 'simple') {\n const values = this.data.series[0].values;\n const maxValue = Math.max(...values);\n\n for (let i = 0; i < values.length; i++) {\n const value = values[i] || 0;\n const segments: BarSegment[] = [];\n\n if (value > 0) {\n const height = (value / maxValue) * this.maxHeight;\n const width = (value / maxValue) * this.maxWidth;\n segments.push({\n value,\n height,\n width,\n color: DEFAULT_COLORS[i % DEFAULT_COLORS.length],\n seriesName: this.data.categories?.[i] || `Bar ${i + 1}`,\n });\n }\n\n bars.push({\n segments,\n totalValue: value,\n category: this.data.categories?.[i],\n });\n }\n } else {\n const numBars = this.data.series[0].values.length;\n const maxTotal = Math.max(\n ...Array.from({ length: numBars }, (_, i) =>\n this.data.series.reduce((sum, series) => sum + (series.values[i] || 0), 0)\n )\n );\n\n for (let barIndex = 0; barIndex < numBars; barIndex++) {\n const segments: BarSegment[] = [];\n let totalValue = 0;\n\n for (const series of this.data.series) {\n const value = series.values[barIndex] || 0;\n totalValue += value;\n\n if (value > 0) {\n const height = (value / maxTotal) * this.maxHeight;\n const width = (value / maxTotal) * this.maxWidth;\n segments.push({\n value,\n height,\n width,\n color: series.color || '#64748b',\n seriesName: series.name,\n });\n }\n }\n\n bars.push({\n segments,\n totalValue,\n category: this.data.categories?.[barIndex],\n });\n }\n }\n\n return bars;\n }\n\n private handleColumnHover = (event: MouseEvent, bar: ProcessedBar, columnIndex: number) => {\n this.tooltipVisible = true;\n this.tooltipX = event.clientX;\n this.tooltipY = event.clientY;\n this.tooltipHeader = bar.category || `Column ${columnIndex + 1}`;\n\n const items: TooltipItem[] = [];\n bar.segments.forEach((segment) => {\n if (segment.seriesName && segment.value > 0) {\n items.push({\n color: segment.color,\n label: segment.seriesName,\n value: segment.value.toString(),\n });\n }\n });\n\n this.tooltipItems = items;\n this.tooltipTotal = bar.totalValue.toString();\n this.showTooltipTotal = items.length > 1;\n };\n\n private handleColumnMove = (event: MouseEvent) => {\n if (this.tooltipVisible) {\n this.tooltipX = event.clientX;\n this.tooltipY = event.clientY;\n }\n };\n\n private handleColumnLeave = () => {\n this.tooltipVisible = false;\n };\n\n render() {\n const processedData = this.processData();\n\n return (\n <Host>\n <div\n class={{\n 'bar-chart': true,\n [this.type]: true,\n [this.orientation]: true,\n 'bar-chart-animated': this.animated,\n }}\n >\n {this.orientation === 'vertical' ? (\n <div class=\"vertical-container\">\n {processedData.map((bar, i) => (\n <div\n key={i}\n class=\"bar-column vertical\"\n onMouseEnter={(e) => this.handleColumnHover(e, bar, i)}\n onMouseMove={this.handleColumnMove}\n onMouseLeave={this.handleColumnLeave}\n >\n {bar.segments.map((segment, segIndex) => (\n <div\n key={segIndex}\n class=\"bar-segment vertical\"\n style={{\n height: `${segment.height}px`,\n backgroundColor: segment.color,\n }}\n />\n ))}\n </div>\n ))}\n </div>\n ) : (\n <div class=\"horizontal-container\">\n {processedData.map((bar, i) => (\n <div\n key={i}\n class=\"bar-row horizontal\"\n onMouseEnter={(e) => this.handleColumnHover(e, bar, i)}\n onMouseMove={this.handleColumnMove}\n onMouseLeave={this.handleColumnLeave}\n >\n {bar.segments.map((segment, segIndex) => (\n <div\n key={segIndex}\n class=\"bar-segment horizontal\"\n style={{\n width: `${(segment.value / bar.totalValue) * 100}%`,\n backgroundColor: segment.color,\n }}\n />\n ))}\n </div>\n ))}\n </div>\n )}\n </div>\n\n <bh-chart-tooltip\n visible={this.tooltipVisible}\n x={this.tooltipX}\n y={this.tooltipY}\n header={this.tooltipHeader}\n items={this.tooltipItems}\n total={this.tooltipTotal}\n showTotal={this.showTooltipTotal}\n />\n </Host>\n );\n }\n}\n"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bh-button-icon.entry.esm.js","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"],"names":[],"mappings":";;AAAA,MAAM,eAAe,GAAG,+4FAA+4F;;MCe15F,YAAY,GAAA,MAAA;;;;;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;;;;;;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bh-button.bh-loader-spinner.entry.esm.js","sources":["src/components/bh-loader-spinner/bh-loader-spinner.css?tag=bh-loader-spinner&encapsulation=shadow","src/components/bh-loader-spinner/bh-loader-spinner.tsx"],"sourcesContent":["/* ==========================================================================\n LOADER SPINNER COMPONENT - StencilJS\n ========================================================================== */\n\n:host {\n display: inline-block;\n}\n\n/* Overlay styles */\n.loader-overlay {\n position: fixed;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n background-color: rgba(0, 0, 0, 0.3);\n backdrop-filter: blur(4px);\n display: flex;\n align-items: center;\n justify-content: center;\n z-index: 9999;\n}\n\n.loader-overlay-content {\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: var(--spacing-md);\n}\n\n/* Container styles */\n.loader-container {\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: var(--spacing-sm);\n}\n\n.loader-spinner {\n position: relative;\n display: inline-block;\n}\n\n/* Message styles */\n.loader-message {\n color: var(--color-neutral-700);\n font-size: var(--text-sm-size);\n line-height: var(--text-sm-line);\n font-weight: var(--weight-medium);\n text-align: center;\n margin-top: var(--spacing-xs);\n}\n\n.loader-overlay .loader-message {\n color: var(--color-white);\n}\n\n/* =========================\n GRADIENT VARIANT - BellhopOS Sidebar Style\n ========================= */\n.spinner-gradient {\n animation: gradient-rotate 2s linear infinite;\n will-change: transform;\n}\n\n.gradient-svg {\n display: block;\n transform-origin: 50% 50%;\n}\n\n.gradient-path {\n stroke-dasharray: 90, 150;\n stroke-dashoffset: 0;\n animation: gradient-dash 1.5s ease-in-out infinite;\n transform-origin: 50% 50%;\n}\n\n/* Size variations for gradient */\n.size-sm .gradient-svg {\n width: 20px;\n height: 20px;\n}\n\n.size-sm .gradient-path {\n stroke-width: 5;\n}\n\n.size-md .gradient-svg {\n width: 30px;\n height: 30px;\n}\n\n.size-md .gradient-path {\n stroke-width: 5;\n}\n\n.size-lg .gradient-svg {\n width: 40px;\n height: 40px;\n}\n\n.size-lg .gradient-path {\n stroke-width: 5;\n}\n\n.size-xl .gradient-svg {\n width: 60px;\n height: 60px;\n}\n\n.size-xl .gradient-path {\n stroke-width: 6;\n}\n\n@keyframes gradient-rotate {\n 100% {\n transform: rotate(360deg);\n }\n}\n\n@keyframes gradient-dash {\n 0% {\n stroke-dasharray: 1, 150;\n stroke-dashoffset: 0;\n }\n 50% {\n stroke-dasharray: 90, 150;\n stroke-dashoffset: -35;\n }\n 100% {\n stroke-dasharray: 90, 150;\n stroke-dashoffset: -124;\n }\n}\n\n/* Hover effects - Ultra smooth acceleration */\n.loader-container:hover .spinner-gradient {\n animation-duration: 1s;\n}\n\n.loader-container:hover .gradient-path {\n animation-duration: 0.6s;\n}\n\n/* Performance optimizations */\n.spinner-gradient {\n backface-visibility: hidden;\n perspective: 1000px;\n}\n\n.gradient-svg {\n transform: translateZ(0);\n}\n","import { Component, Prop, h } from '@stencil/core';\n\nexport type LoaderSize = 'sm' | 'md' | 'lg' | 'xl';\nexport type LoaderVariant = 'default' | 'white';\n\n@Component({\n tag: 'bh-loader-spinner',\n styleUrl: 'bh-loader-spinner.css',\n shadow: true,\n})\nexport class BhLoaderSpinner {\n /** Loader size */\n @Prop() size: LoaderSize = 'md';\n\n /** Loader color variant - use 'white' for dark surfaces like buttons */\n @Prop() variant: LoaderVariant = 'default';\n\n /** Whether to show as overlay */\n @Prop() overlay: boolean = false;\n\n /** Message to show in overlay mode */\n @Prop() overlayMessage: string = '';\n\n /** Whether to show message */\n @Prop() showMessage: boolean = false;\n\n /** Message text */\n @Prop() message: string = 'Loading...';\n\n private renderSpinner() {\n const gradientId = this.variant === 'white' ? 'bellhop-gradient-white' : 'bellhop-gradient';\n\n return (\n <div class={`loader-spinner variant-${this.variant}`}>\n <div class=\"spinner-gradient\">\n <svg class=\"gradient-svg\" viewBox=\"0 0 50 50\">\n <defs>\n {this.variant === 'white' ? (\n <linearGradient\n id=\"bellhop-gradient-white\"\n x1=\"0%\"\n y1=\"0%\"\n x2=\"0%\"\n y2=\"100%\"\n >\n <stop offset=\"0%\" style={{ stopColor: 'rgba(255, 255, 255, 1)' }} />\n <stop offset=\"50%\" style={{ stopColor: 'rgba(255, 255, 255, 0.8)' }} />\n <stop offset=\"100%\" style={{ stopColor: 'rgba(255, 255, 255, 0.5)' }} />\n </linearGradient>\n ) : (\n <linearGradient\n id=\"bellhop-gradient\"\n x1=\"0%\"\n y1=\"0%\"\n x2=\"0%\"\n y2=\"100%\"\n >\n <stop offset=\"0%\" style={{ stopColor: 'var(--color-accent-300)' }} />\n <stop offset=\"51%\" style={{ stopColor: 'var(--color-brand-400)' }} />\n <stop offset=\"100%\" style={{ stopColor: 'var(--color-brand-600)' }} />\n </linearGradient>\n )}\n </defs>\n <circle\n class=\"gradient-path\"\n cx=\"25\"\n cy=\"25\"\n r=\"20\"\n fill=\"none\"\n stroke={`url(#${gradientId})`}\n stroke-width=\"4\"\n stroke-linecap=\"round\"\n />\n </svg>\n </div>\n </div>\n );\n }\n\n private renderMessage(isOverlay: boolean) {\n const shouldShowMessage = isOverlay\n ? (this.showMessage || this.overlayMessage)\n : this.showMessage;\n\n if (!shouldShowMessage) return null;\n\n return (\n <div class=\"loader-message\">\n {isOverlay ? (this.overlayMessage || this.message) : this.message}\n </div>\n );\n }\n\n render() {\n if (this.overlay) {\n return (\n <div class=\"loader-overlay\">\n <div class=\"loader-overlay-content\">\n <div class={`loader-container size-${this.size}`}>\n {this.renderSpinner()}\n </div>\n {this.renderMessage(true)}\n </div>\n </div>\n );\n }\n\n return (\n <div class={`loader-container size-${this.size}`}>\n {this.renderSpinner()}\n {this.renderMessage(false)}\n </div>\n );\n }\n}\n"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bh-card-footer.entry.esm.js","sources":["src/components/bh-card-footer/bh-card-footer.css?tag=bh-card-footer&encapsulation=shadow","src/components/bh-card-footer/bh-card-footer.tsx"],"sourcesContent":[":host {\n display: block;\n}\n\n.card-footer {\n display: flex;\n flex-direction: column;\n gap: var(--spacing-xs);\n background: var(--color-white);\n}\n\n.card-footer-divider {\n height: 1px;\n background: var(--color-neutral-200);\n}\n\n.card-footer-content {\n display: flex;\n align-items: center;\n gap: var(--spacing-md);\n padding: var(--spacing-lg) var(--spacing-xl);\n}\n\n.card-footer-align-left {\n justify-content: flex-start;\n}\n\n.card-footer-align-right {\n justify-content: flex-end;\n}\n\n.card-footer-align-space-between {\n justify-content: space-between;\n}\n\n.card-footer-primary-actions {\n display: flex;\n flex: 1 0 0;\n align-items: center;\n gap: var(--spacing-none);\n min-width: 0;\n}\n\n.card-footer-secondary-actions {\n display: flex;\n align-items: center;\n gap: var(--spacing-md);\n}\n\n/* Hide empty slots */\n.card-footer-primary-actions:empty,\n.card-footer-secondary-actions:empty {\n display: none;\n}\n","import { Component, Prop, h, Host } from '@stencil/core';\n\nexport type CardFooterAlignment = 'left' | 'right' | 'space-between';\n\n@Component({\n tag: 'bh-card-footer',\n styleUrl: 'bh-card-footer.css',\n shadow: true,\n})\nexport class BhCardFooter {\n /**\n * Whether to show the divider above the footer\n */\n @Prop() showDivider: boolean = true;\n\n /**\n * Alignment of the footer content\n */\n @Prop() alignment: CardFooterAlignment = 'space-between';\n\n render() {\n const footerContentClasses = {\n 'card-footer-content': true,\n [`card-footer-align-${this.alignment}`]: true,\n };\n\n return (\n <Host>\n <div class=\"card-footer\">\n {this.showDivider && <div class=\"card-footer-divider\" />}\n <div class={footerContentClasses}>\n <div class=\"card-footer-primary-actions\">\n <slot name=\"primary-actions\" />\n </div>\n <div class=\"card-footer-secondary-actions\">\n <slot name=\"secondary-actions\" />\n </div>\n </div>\n </div>\n </Host>\n );\n }\n}\n"],"names":[],"mappings":";;AAAA,MAAM,eAAe,GAAG,+uBAA+uB;;MCS1vB,YAAY,GAAA,MAAA;;;;AACvB;;AAEG;IACK,WAAW,GAAY,IAAI;AAEnC;;AAEG;IACK,SAAS,GAAwB,eAAe;IAExD,MAAM,GAAA;AACJ,QAAA,MAAM,oBAAoB,GAAG;AAC3B,YAAA,qBAAqB,EAAE,IAAI;AAC3B,YAAA,CAAC,qBAAqB,IAAI,CAAC,SAAS,CAAE,CAAA,GAAG,IAAI;SAC9C;QAED,QACE,EAAC,IAAI,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,EACH,CAAK,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,aAAa,EAAA,EACrB,IAAI,CAAC,WAAW,IAAI,4DAAK,KAAK,EAAC,qBAAqB,EAAG,CAAA,EACxD,CAAK,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAE,oBAAoB,EAAA,EAC9B,CAAK,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,6BAA6B,EAAA,EACtC,CAAA,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAM,IAAI,EAAC,iBAAiB,EAAA,CAAG,CAC3B,EACN,CAAK,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,+BAA+B,EAAA,EACxC,CAAM,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,IAAI,EAAC,mBAAmB,EAAA,CAAG,CAC7B,CACF,CACF,CACD;;;;;;;"}
|