@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
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bh-date-range-picker.entry.cjs.js","sources":["src/components/bh-date-range-picker/bh-date-range-picker.css?tag=bh-date-range-picker&encapsulation=shadow","src/components/bh-date-range-picker/bh-date-range-picker.tsx"],"sourcesContent":["@import '../../global/global.css';\n\n:host {\n display: inline-block;\n position: relative;\n}\n\n.date-range-picker-container {\n position: relative;\n display: inline-block;\n}\n\n.date-range-picker-trigger {\n cursor: pointer;\n}\n\n.date-range-inputs {\n display: flex;\n gap: var(--spacing-md);\n}\n\n.date-range-picker-menu-container {\n position: absolute;\n top: 100%;\n left: 0;\n z-index: 1000;\n margin-top: var(--spacing-xs);\n}\n\n/* Override picker-menu width for date range */\n.date-range-picker-menu-container bh-picker-menu::part(menu) {\n width: auto;\n}\n\n.date-range-picker-backdrop {\n position: fixed;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n z-index: 999;\n background: transparent;\n}\n","import { Component, Prop, State, Event, EventEmitter, Watch, Listen, h, Host } from '@stencil/core';\nimport { SelectedDate, DisabledDate } from '../bh-date-picker-content/bh-date-picker-content';\nimport { SelectedDateRange } from '../bh-date-range-picker-content/bh-date-range-picker-content';\n\nexport type DateRangePickerVariant = 'dropdown-outlined' | 'dropdown-ghost' | 'input';\n\n@Component({\n tag: 'bh-date-range-picker',\n styleUrl: 'bh-date-range-picker.css',\n shadow: true,\n})\nexport class BhDateRangePicker {\n /**\n * Variant of the date range picker trigger\n */\n @Prop() variant: DateRangePickerVariant = 'input';\n\n /**\n * Minimum year in the picker\n */\n @Prop() minYear: number = 1998;\n\n /**\n * Maximum year in the picker\n */\n @Prop() maxYear: number = 2060;\n\n /**\n * Whether the picker is disabled\n */\n @Prop() disabled: boolean = false;\n\n /**\n * Array of disabled dates\n */\n @Prop() disabledDates: DisabledDate[] = [];\n\n /**\n * Label for start date input\n */\n @Prop() startLabel: string = 'Start Date';\n\n /**\n * Label for end date input\n */\n @Prop() endLabel: string = 'End Date';\n\n /**\n * Placeholder for start date\n */\n @Prop() startPlaceholder: string = 'Choose start date';\n\n /**\n * Placeholder for end date\n */\n @Prop() endPlaceholder: string = 'Choose end date';\n\n /**\n * Width for input variant\n */\n @Prop() inputWidth: string = '200px';\n\n /**\n * Whether to show the label\n */\n @Prop() showLabel: boolean = true;\n\n /**\n * Whether to show the footer\n */\n @Prop() showFooter: boolean = true;\n\n /**\n * Whether to show days from other months\n */\n @Prop() showOtherMonthDays: boolean = false;\n\n /**\n * Currently selected value\n */\n @Prop() value?: SelectedDateRange;\n\n @State() selectedValue: SelectedDateRange | null = null;\n @State() tempSelection: SelectedDateRange | null = null;\n @State() isMenuOpen: boolean = false;\n @State() isMenuClosing: boolean = false;\n\n /**\n * Event emitted when value changes\n */\n @Event() bhChange!: EventEmitter<SelectedDateRange | null>;\n\n /**\n * Event emitted when a date range is selected\n */\n @Event() bhDateRangeSelect!: EventEmitter<SelectedDateRange | null>;\n\n @Watch('value')\n handleValueChange(newValue: SelectedDateRange | undefined) {\n if (newValue !== undefined) {\n this.selectedValue = newValue;\n }\n }\n\n componentWillLoad() {\n if (this.value) {\n this.selectedValue = this.value;\n }\n }\n\n private formatDate(date: SelectedDate | null): string {\n if (!date) return '';\n const month = (date.month + 1).toString().padStart(2, '0');\n const day = date.day.toString().padStart(2, '0');\n return `${month}/${day}/${date.year}`;\n }\n\n private getButtonLabel(): string {\n if (!this.selectedValue || !this.selectedValue.startDate) return 'Select date range';\n\n const startStr = this.formatDate(this.selectedValue.startDate);\n const endStr = this.selectedValue.endDate ? this.formatDate(this.selectedValue.endDate) : '';\n\n if (endStr) {\n return `${startStr} - ${endStr}`;\n }\n return startStr;\n }\n\n private handleTriggerClick = () => {\n if (this.disabled) return;\n if (!this.isMenuOpen && this.showFooter) {\n this.tempSelection = this.selectedValue;\n }\n this.isMenuOpen = !this.isMenuOpen;\n };\n\n @Listen('bhDateRangeSelect')\n handleDateRangeSelectEvent(event: CustomEvent<SelectedDateRange | null>) {\n // Stop propagation to prevent the event from bubbling further\n event.stopPropagation();\n\n const range = event.detail;\n if (this.showFooter) {\n // With footer: update temp selection, user clicks Apply to confirm\n this.tempSelection = range;\n } else {\n // Without footer: update value immediately, close only when range is complete\n this.selectedValue = range;\n if (range?.startDate && range?.endDate) {\n this.bhChange.emit(range);\n this.bhDateRangeSelect.emit(range);\n this.closeMenu();\n }\n }\n }\n\n private handleMenuCancel = () => {\n this.tempSelection = null;\n this.closeMenu();\n };\n\n private handleMenuApply = () => {\n if (this.tempSelection) {\n this.selectedValue = this.tempSelection;\n this.bhChange.emit(this.tempSelection);\n this.bhDateRangeSelect.emit(this.tempSelection);\n this.tempSelection = null;\n }\n this.closeMenu();\n };\n\n private closeMenu() {\n this.isMenuClosing = true;\n setTimeout(() => {\n this.isMenuOpen = false;\n this.isMenuClosing = false;\n }, 150);\n }\n\n private handleBackdropClick = () => {\n this.handleMenuCancel();\n };\n\n render() {\n return (\n <Host>\n <div class=\"date-range-picker-container\">\n {/* Dropdown Outlined Variant */}\n {this.variant === 'dropdown-outlined' && (\n <div class=\"date-range-picker-trigger\" onClick={this.handleTriggerClick}>\n <bh-button\n hierarchy=\"secondary\"\n \n size=\"sm\"\n icon=\"trailing\"\n label={this.getButtonLabel()}\n iconName=\"expand_more\"\n disabled={this.disabled}\n ></bh-button>\n </div>\n )}\n\n {/* Dropdown Ghost Variant */}\n {this.variant === 'dropdown-ghost' && (\n <div class=\"date-range-picker-trigger\" onClick={this.handleTriggerClick}>\n <bh-button\n hierarchy=\"tertiary\"\n \n size=\"sm\"\n icon=\"trailing\"\n label={this.getButtonLabel()}\n iconName=\"expand_more\"\n disabled={this.disabled}\n ></bh-button>\n </div>\n )}\n\n {/* Input Variant */}\n {this.variant === 'input' && (\n <div class=\"date-range-picker-trigger\">\n <div class=\"date-range-inputs\" onClick={this.handleTriggerClick}>\n <bh-input-text\n label={this.startLabel}\n placeholder={this.startPlaceholder}\n value={this.formatDate(this.selectedValue?.startDate || null)}\n disabled={this.disabled}\n showTrailingIcon={true}\n trailingIcon=\"calendar_today\"\n showHelpIcon={false}\n showHintText={false}\n showLabel={this.showLabel}\n width={this.inputWidth}\n readOnly={true}\n ></bh-input-text>\n <bh-input-text\n label={this.endLabel}\n placeholder={this.endPlaceholder}\n value={this.formatDate(this.selectedValue?.endDate || null)}\n disabled={this.disabled}\n showTrailingIcon={true}\n trailingIcon=\"calendar_today\"\n showHelpIcon={false}\n showHintText={false}\n showLabel={this.showLabel}\n width={this.inputWidth}\n readOnly={true}\n ></bh-input-text>\n </div>\n </div>\n )}\n\n {/* Date Range Picker Menu */}\n <div class=\"date-range-picker-menu-container\">\n <bh-picker-menu\n visible={this.isMenuOpen}\n showFooter={this.showFooter}\n disableApply={this.showFooter && (!this.tempSelection?.startDate || !this.tempSelection?.endDate)}\n onBhCancel={this.handleMenuCancel}\n onBhApply={this.handleMenuApply}\n >\n <bh-date-range-picker-content\n minYear={this.minYear}\n maxYear={this.maxYear}\n disabled={this.disabled}\n disabledDates={this.disabledDates}\n showOtherMonthDays={this.showOtherMonthDays}\n value={this.tempSelection ?? this.selectedValue ?? undefined}\n ></bh-date-range-picker-content>\n </bh-picker-menu>\n </div>\n </div>\n\n {/* Backdrop */}\n {(this.isMenuOpen || this.isMenuClosing) && (\n <div class=\"date-range-picker-backdrop\" onClick={this.handleBackdropClick}></div>\n )}\n </Host>\n );\n }\n}\n"],"names":["h","Host"],"mappings":"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"}
|
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var index = require('./index-tZqSQc8E.js');
|
|
4
|
+
|
|
5
|
+
const bhDropdownMenuCss = ":host{display:block}.dropdown-menu{width:240px;background:var(--color-white);border-radius:var(--radius-md);box-shadow:0px 32px 64px -12px rgba(64, 73, 104, 0.14),\n 0px 0px 1px 1px rgba(64, 73, 104, 0.1);overflow:hidden;flex-shrink:0;position:relative;box-sizing:border-box}.animate-dropdown-enter{animation:dropdownEnter 0.15s ease-out forwards}.animate-dropdown-exit{animation:dropdownExit 0.15s ease-in forwards}@keyframes dropdownEnter{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@keyframes dropdownExit{from{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-8px)}}.dropdown-header{padding:var(--spacing-lg) var(--spacing-xl);border-bottom:1px solid var(--color-neutral-200)}.dropdown-header-avatar{padding:var(--spacing-lg) var(--spacing-xl)}.avatar-group{display:flex;align-items:center;gap:var(--spacing-lg);width:100%}.avatar-text{display:flex;flex-direction:column;flex:1;min-width:0}.avatar-name{font-family:var(--font-inter);font-weight:var(--weight-semibold);font-size:var(--text-sm-size);text-align:left;line-height:1.43;color:var(--color-neutral-800);margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.avatar-email{font-family:var(--font-inter);font-weight:var(--weight-regular);font-size:var(--text-sm-size);line-height:1.43;color:var(--color-neutral-600);margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.header-title{font-family:var(--font-inter);font-weight:var(--weight-semibold);font-size:var(--text-sm-size);line-height:1.43;color:var(--color-neutral-800);margin:0}.menu-items{padding:var(--spacing-xs) 0}.dropdown-item{padding:var(--spacing-none) var(--spacing-sm);cursor:pointer}.dropdown-item-disabled{opacity:0.5;cursor:not-allowed}.item-content{display:flex;align-items:center;gap:var(--spacing-lg);padding:var(--spacing-md) var(--spacing-md);border-radius:var(--radius-sm);transition:background-color 0.15s ease}.dropdown-item:hover:not(.dropdown-item-disabled) .item-content{background:var(--color-neutral-100)}.item-main{display:flex;align-items:center;gap:var(--spacing-md);flex:1;min-width:0}.item-icon{font-size:var(--icon-size-md, 20px);color:var(--color-neutral-600);flex-shrink:0;display:flex;align-items:center;justify-content:center}.item-text{font-family:var(--font-inter);font-weight:var(--weight-medium);font-size:var(--text-sm-size);line-height:var(--text-sm-line);color:var(--color-neutral-700);flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.item-shortcut{font-family:var(--font-inter);font-weight:var(--weight-regular);font-size:var(--text-xs-size);line-height:1.5;color:var(--color-neutral-500);flex-shrink:0}.menu-divider{height:1px;background:var(--color-neutral-200);margin:var(--spacing-xs) 0}.dropdown-menu-scrollable .menu-items{max-height:280px;overflow-y:auto;overflow-x:hidden}.dropdown-menu-scrollable .menu-items::-webkit-scrollbar{width:6px}.dropdown-menu-scrollable .menu-items::-webkit-scrollbar-track{background:var(--color-neutral-50);border-radius:var(--radius-xs)}.dropdown-menu-scrollable .menu-items::-webkit-scrollbar-thumb{background:var(--color-neutral-200);border-radius:var(--radius-xs)}.dropdown-menu-scrollable .menu-items::-webkit-scrollbar-thumb:hover{background:var(--color-neutral-300)}.dropdown-menu-scrollable .menu-items{scrollbar-width:thin;scrollbar-color:var(--color-neutral-200) var(--color-neutral-50)}";
|
|
6
|
+
|
|
7
|
+
const BhDropdownMenu = class {
|
|
8
|
+
constructor(hostRef) {
|
|
9
|
+
index.registerInstance(this, hostRef);
|
|
10
|
+
this.bhItemClick = index.createEvent(this, "bhItemClick");
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Header configuration (JSON string or object)
|
|
14
|
+
*/
|
|
15
|
+
header;
|
|
16
|
+
/**
|
|
17
|
+
* Menu items array (JSON string or array)
|
|
18
|
+
*/
|
|
19
|
+
menuItems = [];
|
|
20
|
+
/**
|
|
21
|
+
* Whether the menu is visible
|
|
22
|
+
*/
|
|
23
|
+
visible = true;
|
|
24
|
+
/**
|
|
25
|
+
* Whether to show icons in menu items
|
|
26
|
+
*/
|
|
27
|
+
showIcons = true;
|
|
28
|
+
/**
|
|
29
|
+
* Whether the menu should be scrollable
|
|
30
|
+
*/
|
|
31
|
+
scrollable = false;
|
|
32
|
+
isClosing = false;
|
|
33
|
+
shouldRender = true;
|
|
34
|
+
/**
|
|
35
|
+
* Event emitted when a menu item is clicked
|
|
36
|
+
*/
|
|
37
|
+
bhItemClick;
|
|
38
|
+
get parsedHeader() {
|
|
39
|
+
if (!this.header)
|
|
40
|
+
return undefined;
|
|
41
|
+
if (typeof this.header === 'string') {
|
|
42
|
+
try {
|
|
43
|
+
return JSON.parse(this.header);
|
|
44
|
+
}
|
|
45
|
+
catch {
|
|
46
|
+
return undefined;
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
return this.header;
|
|
50
|
+
}
|
|
51
|
+
get parsedMenuItems() {
|
|
52
|
+
if (typeof this.menuItems === 'string') {
|
|
53
|
+
try {
|
|
54
|
+
return JSON.parse(this.menuItems);
|
|
55
|
+
}
|
|
56
|
+
catch {
|
|
57
|
+
return [];
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
return this.menuItems || [];
|
|
61
|
+
}
|
|
62
|
+
watchVisible(newValue) {
|
|
63
|
+
if (newValue) {
|
|
64
|
+
this.shouldRender = true;
|
|
65
|
+
this.isClosing = false;
|
|
66
|
+
}
|
|
67
|
+
else {
|
|
68
|
+
this.isClosing = true;
|
|
69
|
+
setTimeout(() => {
|
|
70
|
+
this.shouldRender = false;
|
|
71
|
+
this.isClosing = false;
|
|
72
|
+
}, 150);
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
componentWillLoad() {
|
|
76
|
+
this.shouldRender = this.visible;
|
|
77
|
+
}
|
|
78
|
+
handleItemClick(item) {
|
|
79
|
+
if (!item.disabled && !item.divider) {
|
|
80
|
+
this.bhItemClick.emit(item);
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
getMenuItemClasses(item) {
|
|
84
|
+
return {
|
|
85
|
+
'dropdown-item': true,
|
|
86
|
+
'dropdown-item-disabled': !!item.disabled,
|
|
87
|
+
};
|
|
88
|
+
}
|
|
89
|
+
render() {
|
|
90
|
+
if (!this.visible) {
|
|
91
|
+
return null;
|
|
92
|
+
}
|
|
93
|
+
const header = this.parsedHeader;
|
|
94
|
+
const items = this.parsedMenuItems;
|
|
95
|
+
const dropdownClasses = {
|
|
96
|
+
'dropdown-menu': true,
|
|
97
|
+
'dropdown-menu-scrollable': this.scrollable,
|
|
98
|
+
'animate-dropdown-enter': true,
|
|
99
|
+
'animate-dropdown-exit': false,
|
|
100
|
+
};
|
|
101
|
+
const headerClasses = {
|
|
102
|
+
'dropdown-header': true,
|
|
103
|
+
'dropdown-header-avatar': !!header?.avatarGroup,
|
|
104
|
+
};
|
|
105
|
+
return (index.h("div", { class: dropdownClasses }, header && (index.h("div", { class: headerClasses }, header.avatarGroup && (index.h("div", { class: "avatar-group" }, index.h("bh-avatar", { size: "md", type: "image", status: "online", imageSrc: header.avatarSrc || '', alt: header.name || 'Avatar' }), index.h("div", { class: "avatar-text" }, index.h("div", { class: "avatar-name" }, header.name), index.h("div", { class: "avatar-email" }, header.email)))), !header.avatarGroup && header.title && (index.h("div", { class: "header-title" }, header.title)))), index.h("div", { class: "menu-items" }, items.map((item) => (index.h("div", { key: item.id }, item.divider && index.h("div", { class: "menu-divider" }), !item.divider && (index.h("div", { class: this.getMenuItemClasses(item), onClick: () => this.handleItemClick(item) }, index.h("div", { class: "item-content" }, index.h("div", { class: "item-main" }, item.icon && this.showIcons && (index.h("span", { class: "material-symbols-outlined item-icon" }, item.icon)), index.h("span", { class: "item-text", title: item.label }, item.label)), item.shortcut && (index.h("span", { class: "item-shortcut" }, item.shortcut)))))))))));
|
|
106
|
+
}
|
|
107
|
+
static get watchers() { return {
|
|
108
|
+
"visible": ["watchVisible"]
|
|
109
|
+
}; }
|
|
110
|
+
};
|
|
111
|
+
BhDropdownMenu.style = bhDropdownMenuCss;
|
|
112
|
+
|
|
113
|
+
exports.bh_dropdown_menu = BhDropdownMenu;
|
|
114
|
+
//# sourceMappingURL=bh-dropdown-menu.entry.cjs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bh-dropdown-menu.entry.cjs.js","sources":["src/components/bh-dropdown-menu/bh-dropdown-menu.css?tag=bh-dropdown-menu&encapsulation=shadow","src/components/bh-dropdown-menu/bh-dropdown-menu.tsx"],"sourcesContent":["/* ==========================================================================\n BH-DROPDOWN-MENU COMPONENT STYLES\n ========================================================================== */\n\n:host {\n display: block;\n}\n\n/* Base dropdown menu styles */\n.dropdown-menu {\n 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 overflow: hidden;\n flex-shrink: 0;\n position: relative;\n box-sizing: border-box;\n}\n\n/* Animation classes */\n.animate-dropdown-enter {\n animation: dropdownEnter 0.15s ease-out forwards;\n}\n\n.animate-dropdown-exit {\n animation: dropdownExit 0.15s ease-in forwards;\n}\n\n@keyframes dropdownEnter {\n from {\n opacity: 0;\n transform: translateY(-8px);\n }\n to {\n opacity: 1;\n transform: translateY(0);\n }\n}\n\n@keyframes dropdownExit {\n from {\n opacity: 1;\n transform: translateY(0);\n }\n to {\n opacity: 0;\n transform: translateY(-8px);\n }\n}\n\n/* ==========================================================================\n HEADER SECTION\n ========================================================================== */\n\n.dropdown-header {\n padding: var(--spacing-lg) var(--spacing-xl);\n border-bottom: 1px solid var(--color-neutral-200);\n}\n\n.dropdown-header-avatar {\n padding: var(--spacing-lg) var(--spacing-xl);\n}\n\n.avatar-group {\n display: flex;\n align-items: center;\n gap: var(--spacing-lg);\n width: 100%;\n}\n\n.avatar-text {\n display: flex;\n flex-direction: column;\n flex: 1;\n min-width: 0;\n}\n\n.avatar-name {\n font-family: var(--font-inter);\n font-weight: var(--weight-semibold);\n font-size: var(--text-sm-size);\n text-align: left;\n line-height: 1.43;\n color: var(--color-neutral-800);\n margin: 0;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n\n.avatar-email {\n font-family: var(--font-inter);\n font-weight: var(--weight-regular);\n font-size: var(--text-sm-size);\n line-height: 1.43;\n color: var(--color-neutral-600);\n margin: 0;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n\n.header-title {\n font-family: var(--font-inter);\n font-weight: var(--weight-semibold);\n font-size: var(--text-sm-size);\n line-height: 1.43;\n color: var(--color-neutral-800);\n margin: 0;\n}\n\n/* ==========================================================================\n MENU ITEMS SECTION\n ========================================================================== */\n\n.menu-items {\n padding: var(--spacing-xs) 0;\n}\n\n.dropdown-item {\n padding: var(--spacing-none) var(--spacing-sm);\n cursor: pointer;\n}\n\n.dropdown-item-disabled {\n opacity: 0.5;\n cursor: not-allowed;\n}\n\n.item-content {\n display: flex;\n align-items: center;\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.dropdown-item:hover:not(.dropdown-item-disabled) .item-content {\n background: var(--color-neutral-100);\n}\n\n.item-main {\n display: flex;\n align-items: center;\n gap: var(--spacing-md);\n flex: 1;\n min-width: 0;\n}\n\n.item-icon {\n font-size: var(--icon-size-md, 20px);\n color: var(--color-neutral-600);\n flex-shrink: 0;\n display: flex;\n align-items: center;\n justify-content: center;\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.item-shortcut {\n font-family: var(--font-inter);\n font-weight: var(--weight-regular);\n font-size: var(--text-xs-size);\n line-height: 1.5;\n color: var(--color-neutral-500);\n flex-shrink: 0;\n}\n\n/* ==========================================================================\n DIVIDER\n ========================================================================== */\n\n.menu-divider {\n height: 1px;\n background: var(--color-neutral-200);\n margin: var(--spacing-xs) 0;\n}\n\n/* ==========================================================================\n SCROLLABLE VARIANT\n ========================================================================== */\n\n.dropdown-menu-scrollable .menu-items {\n max-height: 280px;\n overflow-y: auto;\n overflow-x: hidden;\n}\n\n/* Custom scrollbar styling */\n.dropdown-menu-scrollable .menu-items::-webkit-scrollbar {\n width: 6px;\n}\n\n.dropdown-menu-scrollable .menu-items::-webkit-scrollbar-track {\n background: var(--color-neutral-50);\n border-radius: var(--radius-xs);\n}\n\n.dropdown-menu-scrollable .menu-items::-webkit-scrollbar-thumb {\n background: var(--color-neutral-200);\n border-radius: var(--radius-xs);\n}\n\n.dropdown-menu-scrollable .menu-items::-webkit-scrollbar-thumb:hover {\n background: var(--color-neutral-300);\n}\n\n/* Firefox scrollbar */\n.dropdown-menu-scrollable .menu-items {\n scrollbar-width: thin;\n scrollbar-color: var(--color-neutral-200) var(--color-neutral-50);\n}\n","import { Component, Prop, State, Event, EventEmitter, Watch, h } from '@stencil/core';\n\nexport interface DropdownMenuItem {\n id: string;\n label?: string;\n icon?: string;\n shortcut?: string;\n disabled?: boolean;\n divider?: boolean;\n}\n\nexport interface DropdownMenuHeader {\n title?: string;\n avatarGroup?: boolean;\n avatarSrc?: string;\n name?: string;\n email?: string;\n}\n\n@Component({\n tag: 'bh-dropdown-menu',\n styleUrl: 'bh-dropdown-menu.css',\n shadow: true,\n})\nexport class BhDropdownMenu {\n /**\n * Header configuration (JSON string or object)\n */\n @Prop() header?: DropdownMenuHeader | string;\n\n /**\n * Menu items array (JSON string or array)\n */\n @Prop() menuItems: DropdownMenuItem[] | string = [];\n\n /**\n * Whether the menu is visible\n */\n @Prop() visible: boolean = true;\n\n /**\n * Whether to show icons in menu items\n */\n @Prop() showIcons: boolean = true;\n\n /**\n * Whether the menu should be scrollable\n */\n @Prop() scrollable: boolean = false;\n\n @State() isClosing: boolean = false;\n @State() shouldRender: boolean = true;\n\n /**\n * Event emitted when a menu item is clicked\n */\n @Event() bhItemClick!: EventEmitter<DropdownMenuItem>;\n\n private get parsedHeader(): DropdownMenuHeader | undefined {\n if (!this.header) return undefined;\n if (typeof this.header === 'string') {\n try {\n return JSON.parse(this.header);\n } catch {\n return undefined;\n }\n }\n return this.header;\n }\n\n private get parsedMenuItems(): DropdownMenuItem[] {\n if (typeof this.menuItems === 'string') {\n try {\n return JSON.parse(this.menuItems);\n } catch {\n return [];\n }\n }\n return this.menuItems || [];\n }\n\n @Watch('visible')\n watchVisible(newValue: boolean) {\n if (newValue) {\n this.shouldRender = true;\n this.isClosing = false;\n } else {\n this.isClosing = true;\n setTimeout(() => {\n this.shouldRender = false;\n this.isClosing = false;\n }, 150);\n }\n }\n\n componentWillLoad() {\n this.shouldRender = this.visible;\n }\n\n private handleItemClick(item: DropdownMenuItem) {\n if (!item.disabled && !item.divider) {\n this.bhItemClick.emit(item);\n }\n }\n\n private getMenuItemClasses(item: DropdownMenuItem) {\n return {\n 'dropdown-item': true,\n 'dropdown-item-disabled': !!item.disabled,\n };\n }\n\n render() {\n if (!this.visible) {\n return null;\n }\n\n const header = this.parsedHeader;\n const items = this.parsedMenuItems;\n\n const dropdownClasses = {\n 'dropdown-menu': true,\n 'dropdown-menu-scrollable': this.scrollable,\n 'animate-dropdown-enter': true,\n 'animate-dropdown-exit': false,\n };\n\n const headerClasses = {\n 'dropdown-header': true,\n 'dropdown-header-avatar': !!header?.avatarGroup,\n };\n\n return (\n <div class={dropdownClasses}>\n {/* Header Section */}\n {header && (\n <div class={headerClasses}>\n {/* Avatar Group Header */}\n {header.avatarGroup && (\n <div class=\"avatar-group\">\n <bh-avatar\n size=\"md\"\n type=\"image\"\n status=\"online\"\n imageSrc={header.avatarSrc || ''}\n alt={header.name || 'Avatar'}\n />\n <div class=\"avatar-text\">\n <div class=\"avatar-name\">{header.name}</div>\n <div class=\"avatar-email\">{header.email}</div>\n </div>\n </div>\n )}\n {/* Simple Text Header */}\n {!header.avatarGroup && header.title && (\n <div class=\"header-title\">{header.title}</div>\n )}\n </div>\n )}\n\n {/* Menu Items Section */}\n <div class=\"menu-items\">\n {items.map((item) => (\n <div key={item.id}>\n {/* Divider */}\n {item.divider && <div class=\"menu-divider\" />}\n\n {/* Menu Item */}\n {!item.divider && (\n <div\n class={this.getMenuItemClasses(item)}\n onClick={() => this.handleItemClick(item)}\n >\n <div class=\"item-content\">\n <div class=\"item-main\">\n {item.icon && this.showIcons && (\n <span class=\"material-symbols-outlined item-icon\">\n {item.icon}\n </span>\n )}\n <span class=\"item-text\" title={item.label}>\n {item.label}\n </span>\n </div>\n {item.shortcut && (\n <span class=\"item-shortcut\">{item.shortcut}</span>\n )}\n </div>\n </div>\n )}\n </div>\n ))}\n </div>\n </div>\n );\n }\n}\n"],"names":["h"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bh-dropdown.bh-logo-box.bh-nav-item.entry.cjs.js","sources":["src/components/bh-dropdown/bh-dropdown.css?tag=bh-dropdown&encapsulation=shadow","src/components/bh-dropdown/bh-dropdown.tsx","src/components/bh-logo-box/bh-logo-box.css?tag=bh-logo-box&encapsulation=shadow","src/components/bh-logo-box/bh-logo-box.tsx","src/components/bh-sidebar/bh-nav-item.css?tag=bh-nav-item&encapsulation=shadow","src/components/bh-sidebar/bh-nav-item.tsx"],"sourcesContent":["/* ==========================================================================\n BH-DROPDOWN COMPONENT STYLES\n ========================================================================== */\n\n:host {\n display: inline-block;\n position: relative;\n}\n\n.dropdown-container {\n position: relative;\n display: inline-block;\n}\n\n/* Position the dropdown menu */\n.dropdown-container bh-dropdown-menu {\n position: absolute;\n z-index: 1000;\n}\n\n/* Default positioning for button variants (below trigger) */\n.dropdown-container:not(.dropdown-avatar-variant) bh-dropdown-menu {\n top: 100%;\n right: 0;\n margin-top: var(--spacing-sm);\n}\n\n/* Avatar variant positioning (to the left of avatar for sidebars) */\n.dropdown-avatar-variant bh-dropdown-menu {\n bottom: 0;\n left: calc(100% + var(--spacing-sm));\n}\n\n/* Avatar trigger styles */\n.dropdown-avatar {\n cursor: pointer;\n border-radius: 50%;\n transition: box-shadow 0.2s ease;\n outline: none;\n display: inline-block;\n user-select: none;\n}\n\n.dropdown-avatar:hover:not(.dropdown-avatar-disabled) {\n box-shadow: 0 0 0 2px var(--color-neutral-200);\n}\n\n.dropdown-avatar:focus:not(.dropdown-avatar-disabled) {\n box-shadow: 0 0 0 2px var(--color-brand-500);\n}\n\n.dropdown-avatar-focus {\n box-shadow: 0 0 0 2px var(--color-brand-500);\n}\n\n.dropdown-avatar-disabled {\n cursor: not-allowed;\n opacity: 0.5;\n}\n\n/* Button state when dropdown is open */\n.dropdown-open bh-button {\n --button-focus-ring: 0 0 0 2px var(--color-brand-100);\n}\n","import {\n Component,\n Prop,\n State,\n Event,\n EventEmitter,\n Element,\n h,\n Listen,\n} from '@stencil/core';\nimport type {\n DropdownMenuItem,\n DropdownMenuHeader,\n} from '../bh-dropdown-menu/bh-dropdown-menu';\n\nexport type DropdownSize = 'sm' | 'md';\nexport type DropdownState = 'default' | 'focus' | 'disabled';\nexport type DropdownVariant =\n | 'outlined'\n | 'ghost'\n | 'icon-only-outlined'\n | 'icon-only-ghost'\n | 'avatar';\n\n@Component({\n tag: 'bh-dropdown',\n styleUrl: 'bh-dropdown.css',\n shadow: true,\n})\nexport class BhDropdown {\n @Element() el!: HTMLElement;\n\n /**\n * Size of the dropdown trigger\n */\n @Prop() size: DropdownSize = 'md';\n\n /**\n * State of the dropdown\n */\n @Prop() state: DropdownState = 'default';\n\n /**\n * Visual variant of the dropdown trigger\n */\n @Prop() variant: DropdownVariant = 'outlined';\n\n /**\n * Label for the dropdown button\n */\n @Prop() label: string = 'Options';\n\n /**\n * Icon name for icon-only variants\n */\n @Prop() iconName: string = 'more_vert';\n\n /**\n * Whether the dropdown is disabled\n */\n @Prop() disabled: boolean = false;\n\n /**\n * Menu items (JSON string or array)\n */\n @Prop() menuItems: DropdownMenuItem[] | string = [];\n\n /**\n * Header configuration (JSON string or object)\n */\n @Prop() header?: DropdownMenuHeader | string;\n\n /**\n * Avatar image source for avatar variant\n */\n @Prop() avatarSrc: string = '';\n\n /**\n * Avatar alt text\n */\n @Prop() avatarAlt: string = 'Avatar';\n\n /**\n * Avatar size for avatar variant\n */\n @Prop() avatarSize: 'sm' | 'md' | 'lg' = 'md';\n\n /**\n * Avatar name for header\n */\n @Prop() avatarName?: string;\n\n /**\n * Avatar email for header\n */\n @Prop() avatarEmail?: string;\n\n /**\n * Whether to show icons in menu items\n */\n @Prop() showIcons: boolean = true;\n\n @State() isOpen: boolean = false;\n\n /**\n * Event emitted when a menu item is clicked\n */\n @Event() bhItemClick!: EventEmitter<DropdownMenuItem>;\n\n @Listen('click', { target: 'document' })\n handleClickOutside(event: MouseEvent) {\n if (this.isOpen && !this.el.contains(event.target as Node)) {\n this.isOpen = false;\n }\n }\n\n private get parsedMenuItems(): DropdownMenuItem[] {\n if (typeof this.menuItems === 'string') {\n try {\n return JSON.parse(this.menuItems);\n } catch {\n return [];\n }\n }\n return this.menuItems || [];\n }\n\n private get parsedHeader(): DropdownMenuHeader | undefined {\n if (this.variant === 'avatar') {\n return {\n avatarGroup: true,\n avatarSrc: this.avatarSrc,\n name: this.avatarName,\n email: this.avatarEmail,\n };\n }\n if (!this.header) return undefined;\n if (typeof this.header === 'string') {\n try {\n return JSON.parse(this.header);\n } catch {\n return undefined;\n }\n }\n return this.header;\n }\n\n private toggleDropdown = () => {\n if (this.disabled) return;\n this.isOpen = !this.isOpen;\n };\n\n private handleMenuItemClick = (event: CustomEvent<DropdownMenuItem>) => {\n const item = event.detail;\n if (!item.disabled) {\n this.bhItemClick.emit(item);\n this.isOpen = false;\n }\n };\n\n private get isIconOnly(): boolean {\n return (\n this.variant === 'icon-only-outlined' ||\n this.variant === 'icon-only-ghost'\n );\n }\n\n private get showAvatar(): boolean {\n return this.variant === 'avatar';\n }\n\n private get buttonHierarchy(): 'secondary' | 'tertiary' {\n return this.variant === 'ghost' || this.variant === 'icon-only-ghost'\n ? 'tertiary'\n : 'secondary';\n }\n\n render() {\n const containerClasses = {\n 'dropdown-container': true,\n 'dropdown-open': this.isOpen,\n 'dropdown-avatar-variant': this.variant === 'avatar',\n };\n\n const avatarClasses = {\n 'dropdown-avatar': true,\n 'dropdown-avatar-focus': this.isOpen,\n 'dropdown-avatar-disabled': this.disabled,\n };\n\n return (\n <div class={containerClasses}>\n {/* Button variants */}\n {!this.showAvatar && (\n <bh-button\n hierarchy={this.buttonHierarchy}\n icon={this.isIconOnly ? 'only' : 'trailing'}\n size={this.size}\n label={this.isIconOnly ? '' : this.label}\n iconName={this.isIconOnly ? this.iconName : 'expand_more'}\n disabled={this.disabled}\n onClick={this.toggleDropdown}\n />\n )}\n\n {/* Avatar variant */}\n {this.showAvatar && (\n <div\n class={avatarClasses}\n onClick={(e) => {\n if (!this.disabled) {\n e.stopPropagation();\n this.toggleDropdown();\n }\n }}\n role=\"button\"\n tabindex={this.disabled ? -1 : 0}\n onKeyDown={(e: KeyboardEvent) => {\n if (!this.disabled && (e.key === 'Enter' || e.key === ' ')) {\n e.preventDefault();\n this.toggleDropdown();\n }\n }}\n >\n <bh-avatar\n type=\"image\"\n size={this.avatarSize}\n imageSrc={this.avatarSrc}\n alt={this.avatarAlt}\n />\n </div>\n )}\n\n {/* Menu */}\n <bh-dropdown-menu\n visible={this.isOpen}\n showIcons={this.showIcons}\n menuItems={JSON.stringify(this.parsedMenuItems)}\n header={\n this.parsedHeader ? JSON.stringify(this.parsedHeader) : undefined\n }\n onBhItemClick={this.handleMenuItemClick}\n />\n </div>\n );\n }\n}\n",".logo-box {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: flex-start;\n position: relative;\n width: 40px;\n flex-shrink: 0;\n isolation: isolate;\n}\n\n.logo-active {\n background-color: var(--color-brand-600);\n box-sizing: border-box;\n display: flex;\n gap: var(--spacing-lg);\n align-items: center;\n justify-content: center;\n padding: var(--spacing-sm);\n position: relative;\n border-radius: var(--radius-md);\n flex-shrink: 0;\n width: 40px;\n height: 40px;\n z-index: 2;\n transition: background-color 0.3s ease;\n cursor: pointer;\n}\n\n/* Hover effect for logo-active */\n.logo-box:hover .logo-active,\n.logo-box.dropdown-open .logo-active {\n background-color: var(--color-brand-700);\n}\n\n.logo {\n overflow: hidden;\n position: relative;\n flex-shrink: 0;\n width: 32px;\n height: 32px;\n background-size: contain;\n background-repeat: no-repeat;\n background-position: center;\n transition: background-image 0.4s cubic-bezier(0.08, 0.52, 0.52, 1);\n}\n\n/* Logo variations - Background images must be configured by the consuming application */\n.logo-actabl {\n /* background-image should be set by consuming application */\n}\n\n.logo-al {\n /* background-image should be set by consuming application */\n}\n\n.logo-he {\n /* background-image should be set by consuming application */\n}\n\n.logo-ps {\n /* background-image should be set by consuming application */\n}\n\n.logo-tr {\n /* background-image should be set by consuming application */\n}\n\n.logo-more-products {\n position: absolute;\n background-color: var(--color-brand-200);\n right: 2px;\n bottom: -4px;\n border-radius: 5px;\n width: 36px;\n height: 35px;\n z-index: 1;\n transition: transform 0.3s ease;\n}\n\n/* Slide-up animation for logo-more-products */\n.logo-box:hover .logo-more-products,\n.logo-box.dropdown-open .logo-more-products {\n transform: translateY(-4px);\n}\n","import { Component, Prop, Event, EventEmitter, State, h, Host } from '@stencil/core';\nimport { BhProduct } from '../bh-product-switcher/bh-product-switcher';\n\nexport type LogoType = 'actabl' | 'al' | 'he' | 'ps' | 'tr';\n\n@Component({\n tag: 'bh-logo-box',\n styleUrl: 'bh-logo-box.css',\n shadow: true,\n})\nexport class BhLogoBox {\n /**\n * Type of logo to display\n */\n @Prop() logoType: LogoType = 'actabl';\n\n /**\n * Array of products to display in the switcher\n */\n @Prop() products: BhProduct[] = [\n {\n id: 'alice',\n name: 'Alice',\n description: 'Housekeeping & Guest Services',\n logo: './assets/logos/AL.svg',\n },\n {\n id: 'hotel-effectiveness',\n name: 'Hotel Effectiveness',\n description: 'Labor planning',\n logo: './assets/logos/HE.svg',\n },\n {\n id: 'profit-sword',\n name: 'ProfitSword',\n description: 'B.I and Finance',\n logo: './assets/logos/PS.svg',\n },\n {\n id: 'transcendent',\n name: 'Transcendent',\n description: 'Asset Management & CapEx',\n logo: './assets/logos/TR.svg',\n },\n ];\n\n /**\n * Event emitted when a product is selected\n */\n @Event() bhProductSelect!: EventEmitter<BhProduct>;\n\n @State() isOpen: boolean = false;\n @State() anchorPosition = { top: 0, left: 0 };\n\n private logoActiveRef?: HTMLDivElement;\n\n private handleLogoClick = () => {\n if (this.logoActiveRef) {\n const rect = this.logoActiveRef.getBoundingClientRect();\n this.anchorPosition = {\n top: rect.bottom + 8,\n left: rect.left,\n };\n this.isOpen = !this.isOpen;\n }\n };\n\n private handleClose = () => {\n this.isOpen = false;\n };\n\n private handleProductSelect = (event: CustomEvent<BhProduct>) => {\n this.bhProductSelect.emit(event.detail);\n this.isOpen = false;\n };\n\n private getLogoSrc = () => {\n switch (this.logoType) {\n case 'actabl':\n return './assets/logos/actabl.svg';\n case 'al':\n return './assets/logos/AL.svg';\n case 'he':\n return './assets/logos/HE.svg';\n case 'ps':\n return './assets/logos/PS.svg';\n case 'tr':\n return './assets/logos/TR.svg';\n default:\n return './assets/logos/actabl.svg';\n }\n };\n\n render() {\n const logoBoxClasses = {\n 'logo-box': true,\n 'dropdown-open': this.isOpen,\n };\n\n const logoClasses = {\n 'logo': true,\n [`logo-${this.logoType}`]: true,\n };\n\n return (\n <Host>\n <div class={logoBoxClasses}>\n <div\n ref={(el) => (this.logoActiveRef = el)}\n class=\"logo-active\"\n onClick={this.handleLogoClick}\n >\n <img\n src={this.getLogoSrc()}\n alt={`${this.logoType} logo`}\n class={logoClasses}\n />\n </div>\n <div class=\"logo-more-products\"></div>\n </div>\n\n <bh-product-switcher\n isOpen={this.isOpen}\n anchorPosition={this.anchorPosition}\n products={this.products}\n onBhClose={this.handleClose}\n onBhProductSelect={this.handleProductSelect}\n ></bh-product-switcher>\n </Host>\n );\n }\n}\n","/* ==========================================================================\n BH-NAV-ITEM COMPONENT STYLES\n Navigation item for sidebar navigation\n ========================================================================== */\n\n:host {\n display: inline-block;\n}\n\n.nav-item {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: flex-start;\n position: relative;\n flex-shrink: 0;\n width: 100%;\n max-width: 52px;\n height: fit-content;\n}\n\n.nav-item-button {\n background-color: var(--color-white);\n box-sizing: border-box;\n display: flex;\n align-items: center;\n justify-content: center;\n overflow: hidden;\n padding: var(--spacing-md);\n position: relative;\n border-radius: var(--radius-sm);\n flex-shrink: 0;\n transition: background-color 0.2s ease;\n cursor: pointer;\n border: none;\n outline: none;\n}\n\n.nav-item-button:hover {\n background-color: var(--color-neutral-50);\n}\n\n.nav-item-button:focus-visible {\n box-shadow: 0 0 0 2px var(--color-brand-100);\n}\n\n.nav-item.active .nav-item-button {\n background-color: var(--color-brand-50);\n}\n\n.nav-item-button .icon {\n width: 20px;\n height: 20px;\n display: block;\n flex-shrink: 0;\n color: var(--color-neutral-500);\n transition: color 0.2s ease;\n font-size: 20px;\n font-variation-settings: 'FILL' 0, 'wght' 400, 'GRAD' 0, 'opsz' 20;\n}\n\n.nav-item-button:hover .icon {\n color: var(--color-neutral-700);\n}\n\n.nav-item.active .nav-item-button .icon {\n color: var(--color-brand-600);\n font-variation-settings: 'FILL' 0, 'wght' 400, 'GRAD' 0, 'opsz' 20;\n}\n\n.nav-item-label {\n font-family: var(--font-inter);\n font-weight: var(--weight-medium);\n height: 18px;\n line-height: 18px;\n font-style: normal;\n overflow: hidden;\n text-overflow: ellipsis;\n position: relative;\n flex-shrink: 0;\n color: var(--color-neutral-700);\n font-size: 10px;\n text-align: center;\n white-space: nowrap;\n width: 100%;\n max-width: 100%;\n margin: var(--spacing-none);\n margin-top: var(--spacing-xxs);\n box-sizing: border-box;\n direction: ltr;\n}\n\n.nav-item.active .nav-item-label {\n color: var(--color-neutral-700);\n font-weight: var(--weight-semibold);\n}\n\n/* Disabled state */\n.nav-item.disabled .nav-item-button {\n cursor: not-allowed;\n opacity: 0.5;\n}\n\n.nav-item.disabled .nav-item-button:hover {\n background-color: var(--color-white);\n}\n\n.nav-item.disabled .nav-item-button .icon {\n color: var(--color-neutral-400);\n}\n\n.nav-item.disabled .nav-item-label {\n color: var(--color-neutral-400);\n}\n","import { Component, Prop, Event, EventEmitter, h } from '@stencil/core';\n\n@Component({\n tag: 'bh-nav-item',\n styleUrl: 'bh-nav-item.css',\n shadow: true,\n})\nexport class BhNavItem {\n /**\n * Material Symbols icon name\n */\n @Prop() icon: string = 'home';\n\n /**\n * Label text displayed below the icon\n */\n @Prop() label: string = 'Home';\n\n /**\n * Whether the nav item is active/selected\n */\n @Prop() isActive: boolean = false;\n\n /**\n * Whether the nav item is disabled\n */\n @Prop() disabled: boolean = false;\n\n /**\n * Event emitted when the nav item is clicked\n */\n @Event() bhClick!: EventEmitter<void>;\n\n private handleClick = () => {\n if (!this.disabled) {\n this.bhClick.emit();\n }\n };\n\n private handleKeyDown = (event: KeyboardEvent) => {\n if ((event.key === 'Enter' || event.key === ' ') && !this.disabled) {\n event.preventDefault();\n this.bhClick.emit();\n }\n };\n\n render() {\n const navItemClasses = {\n 'nav-item': true,\n 'active': this.isActive,\n 'disabled': this.disabled,\n };\n\n return (\n <div class={navItemClasses}>\n <button\n class=\"nav-item-button\"\n aria-label={this.label}\n type=\"button\"\n onClick={this.handleClick}\n onKeyDown={this.handleKeyDown}\n disabled={this.disabled}\n tabIndex={this.disabled ? -1 : 0}\n >\n <span class=\"material-symbols-outlined icon\">{this.icon}</span>\n </button>\n <p class=\"nav-item-label\">{this.label}</p>\n </div>\n );\n }\n}\n"],"names":["h","Host"],"mappings":";;;;AAAA,MAAM,aAAa,GAAG,24BAA24B;;MC6Bp5B,UAAU,GAAA,MAAA;;;;;;AAGrB;;AAEG;IACK,IAAI,GAAiB,IAAI;AAEjC;;AAEG;IACK,KAAK,GAAkB,SAAS;AAExC;;AAEG;IACK,OAAO,GAAoB,UAAU;AAE7C;;AAEG;IACK,KAAK,GAAW,SAAS;AAEjC;;AAEG;IACK,QAAQ,GAAW,WAAW;AAEtC;;AAEG;IACK,QAAQ,GAAY,KAAK;AAEjC;;AAEG;IACK,SAAS,GAAgC,EAAE;AAEnD;;AAEG;AACK,IAAA,MAAM;AAEd;;AAEG;IACK,SAAS,GAAW,EAAE;AAE9B;;AAEG;IACK,SAAS,GAAW,QAAQ;AAEpC;;AAEG;IACK,UAAU,GAAuB,IAAI;AAE7C;;AAEG;AACK,IAAA,UAAU;AAElB;;AAEG;AACK,IAAA,WAAW;AAEnB;;AAEG;IACK,SAAS,GAAY,IAAI;IAExB,MAAM,GAAY,KAAK;AAEhC;;AAEG;AACM,IAAA,WAAW;AAGpB,IAAA,kBAAkB,CAAC,KAAiB,EAAA;AAClC,QAAA,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAc,CAAC,EAAE;AAC1D,YAAA,IAAI,CAAC,MAAM,GAAG,KAAK;;;AAIvB,IAAA,IAAY,eAAe,GAAA;AACzB,QAAA,IAAI,OAAO,IAAI,CAAC,SAAS,KAAK,QAAQ,EAAE;AACtC,YAAA,IAAI;gBACF,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC;;AACjC,YAAA,MAAM;AACN,gBAAA,OAAO,EAAE;;;AAGb,QAAA,OAAO,IAAI,CAAC,SAAS,IAAI,EAAE;;AAG7B,IAAA,IAAY,YAAY,GAAA;AACtB,QAAA,IAAI,IAAI,CAAC,OAAO,KAAK,QAAQ,EAAE;YAC7B,OAAO;AACL,gBAAA,WAAW,EAAE,IAAI;gBACjB,SAAS,EAAE,IAAI,CAAC,SAAS;gBACzB,IAAI,EAAE,IAAI,CAAC,UAAU;gBACrB,KAAK,EAAE,IAAI,CAAC,WAAW;aACxB;;QAEH,IAAI,CAAC,IAAI,CAAC,MAAM;AAAE,YAAA,OAAO,SAAS;AAClC,QAAA,IAAI,OAAO,IAAI,CAAC,MAAM,KAAK,QAAQ,EAAE;AACnC,YAAA,IAAI;gBACF,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC;;AAC9B,YAAA,MAAM;AACN,gBAAA,OAAO,SAAS;;;QAGpB,OAAO,IAAI,CAAC,MAAM;;IAGZ,cAAc,GAAG,MAAK;QAC5B,IAAI,IAAI,CAAC,QAAQ;YAAE;AACnB,QAAA,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,MAAM;AAC5B,KAAC;AAEO,IAAA,mBAAmB,GAAG,CAAC,KAAoC,KAAI;AACrE,QAAA,MAAM,IAAI,GAAG,KAAK,CAAC,MAAM;AACzB,QAAA,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;AAClB,YAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC;AAC3B,YAAA,IAAI,CAAC,MAAM,GAAG,KAAK;;AAEvB,KAAC;AAED,IAAA,IAAY,UAAU,GAAA;AACpB,QAAA,QACE,IAAI,CAAC,OAAO,KAAK,oBAAoB;AACrC,YAAA,IAAI,CAAC,OAAO,KAAK,iBAAiB;;AAItC,IAAA,IAAY,UAAU,GAAA;AACpB,QAAA,OAAO,IAAI,CAAC,OAAO,KAAK,QAAQ;;AAGlC,IAAA,IAAY,eAAe,GAAA;QACzB,OAAO,IAAI,CAAC,OAAO,KAAK,OAAO,IAAI,IAAI,CAAC,OAAO,KAAK;AAClD,cAAE;cACA,WAAW;;IAGjB,MAAM,GAAA;AACJ,QAAA,MAAM,gBAAgB,GAAG;AACvB,YAAA,oBAAoB,EAAE,IAAI;YAC1B,eAAe,EAAE,IAAI,CAAC,MAAM;AAC5B,YAAA,yBAAyB,EAAE,IAAI,CAAC,OAAO,KAAK,QAAQ;SACrD;AAED,QAAA,MAAM,aAAa,GAAG;AACpB,YAAA,iBAAiB,EAAE,IAAI;YACvB,uBAAuB,EAAE,IAAI,CAAC,MAAM;YACpC,0BAA0B,EAAE,IAAI,CAAC,QAAQ;SAC1C;AAED,QAAA,QACEA,OAAA,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAK,KAAK,EAAE,gBAAgB,EAAA,EAEzB,CAAC,IAAI,CAAC,UAAU,KACfA,wEACE,SAAS,EAAE,IAAI,CAAC,eAAe,EAC/B,IAAI,EAAE,IAAI,CAAC,UAAU,GAAG,MAAM,GAAG,UAAU,EAC3C,IAAI,EAAE,IAAI,CAAC,IAAI,EACf,KAAK,EAAE,IAAI,CAAC,UAAU,GAAG,EAAE,GAAG,IAAI,CAAC,KAAK,EACxC,QAAQ,EAAE,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,QAAQ,GAAG,aAAa,EACzD,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,OAAO,EAAE,IAAI,CAAC,cAAc,GAC5B,CACH,EAGA,IAAI,CAAC,UAAU,KACdA,kEACE,KAAK,EAAE,aAAa,EACpB,OAAO,EAAE,CAAC,CAAC,KAAI;AACb,gBAAA,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;oBAClB,CAAC,CAAC,eAAe,EAAE;oBACnB,IAAI,CAAC,cAAc,EAAE;;aAExB,EACD,IAAI,EAAC,QAAQ,EACb,QAAQ,EAAE,IAAI,CAAC,QAAQ,GAAG,EAAE,GAAG,CAAC,EAChC,SAAS,EAAE,CAAC,CAAgB,KAAI;AAC9B,gBAAA,IAAI,CAAC,IAAI,CAAC,QAAQ,KAAK,CAAC,CAAC,GAAG,KAAK,OAAO,IAAI,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,EAAE;oBAC1D,CAAC,CAAC,cAAc,EAAE;oBAClB,IAAI,CAAC,cAAc,EAAE;;aAExB,EAAA,EAEDA,OACE,CAAA,WAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,IAAI,EAAC,OAAO,EACZ,IAAI,EAAE,IAAI,CAAC,UAAU,EACrB,QAAQ,EAAE,IAAI,CAAC,SAAS,EACxB,GAAG,EAAE,IAAI,CAAC,SAAS,EACnB,CAAA,CACE,CACP,EAGDA,OACE,CAAA,kBAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,OAAO,EAAE,IAAI,CAAC,MAAM,EACpB,SAAS,EAAE,IAAI,CAAC,SAAS,EACzB,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,eAAe,CAAC,EAC/C,MAAM,EACJ,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,SAAS,EAEnE,aAAa,EAAE,IAAI,CAAC,mBAAmB,EAAA,CACvC,CACE;;;;;ACnPZ,MAAM,YAAY,GAAG,ioCAAioC;;MCUzoC,SAAS,GAAA,MAAA;;;;;AACpB;;AAEG;IACK,QAAQ,GAAa,QAAQ;AAErC;;AAEG;AACK,IAAA,QAAQ,GAAgB;AAC9B,QAAA;AACE,YAAA,EAAE,EAAE,OAAO;AACX,YAAA,IAAI,EAAE,OAAO;AACb,YAAA,WAAW,EAAE,+BAA+B;AAC5C,YAAA,IAAI,EAAE,uBAAuB;AAC9B,SAAA;AACD,QAAA;AACE,YAAA,EAAE,EAAE,qBAAqB;AACzB,YAAA,IAAI,EAAE,qBAAqB;AAC3B,YAAA,WAAW,EAAE,gBAAgB;AAC7B,YAAA,IAAI,EAAE,uBAAuB;AAC9B,SAAA;AACD,QAAA;AACE,YAAA,EAAE,EAAE,cAAc;AAClB,YAAA,IAAI,EAAE,aAAa;AACnB,YAAA,WAAW,EAAE,iBAAiB;AAC9B,YAAA,IAAI,EAAE,uBAAuB;AAC9B,SAAA;AACD,QAAA;AACE,YAAA,EAAE,EAAE,cAAc;AAClB,YAAA,IAAI,EAAE,cAAc;AACpB,YAAA,WAAW,EAAE,0BAA0B;AACvC,YAAA,IAAI,EAAE,uBAAuB;AAC9B,SAAA;KACF;AAED;;AAEG;AACM,IAAA,eAAe;IAEf,MAAM,GAAY,KAAK;IACvB,cAAc,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE;AAErC,IAAA,aAAa;IAEb,eAAe,GAAG,MAAK;AAC7B,QAAA,IAAI,IAAI,CAAC,aAAa,EAAE;YACtB,MAAM,IAAI,GAAG,IAAI,CAAC,aAAa,CAAC,qBAAqB,EAAE;YACvD,IAAI,CAAC,cAAc,GAAG;AACpB,gBAAA,GAAG,EAAE,IAAI,CAAC,MAAM,GAAG,CAAC;gBACpB,IAAI,EAAE,IAAI,CAAC,IAAI;aAChB;AACD,YAAA,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,MAAM;;AAE9B,KAAC;IAEO,WAAW,GAAG,MAAK;AACzB,QAAA,IAAI,CAAC,MAAM,GAAG,KAAK;AACrB,KAAC;AAEO,IAAA,mBAAmB,GAAG,CAAC,KAA6B,KAAI;QAC9D,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;AACvC,QAAA,IAAI,CAAC,MAAM,GAAG,KAAK;AACrB,KAAC;IAEO,UAAU,GAAG,MAAK;AACxB,QAAA,QAAQ,IAAI,CAAC,QAAQ;AACnB,YAAA,KAAK,QAAQ;AACX,gBAAA,OAAO,2BAA2B;AACpC,YAAA,KAAK,IAAI;AACP,gBAAA,OAAO,uBAAuB;AAChC,YAAA,KAAK,IAAI;AACP,gBAAA,OAAO,uBAAuB;AAChC,YAAA,KAAK,IAAI;AACP,gBAAA,OAAO,uBAAuB;AAChC,YAAA,KAAK,IAAI;AACP,gBAAA,OAAO,uBAAuB;AAChC,YAAA;AACE,gBAAA,OAAO,2BAA2B;;AAExC,KAAC;IAED,MAAM,GAAA;AACJ,QAAA,MAAM,cAAc,GAAG;AACrB,YAAA,UAAU,EAAE,IAAI;YAChB,eAAe,EAAE,IAAI,CAAC,MAAM;SAC7B;AAED,QAAA,MAAM,WAAW,GAAG;AAClB,YAAA,MAAM,EAAE,IAAI;AACZ,YAAA,CAAC,QAAQ,IAAI,CAAC,QAAQ,CAAE,CAAA,GAAG,IAAI;SAChC;AAED,QAAA,QACEA,QAACC,UAAI,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,EACHD,OAAK,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAE,cAAc,EAAA,EACxBA,OACE,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,GAAG,EAAE,CAAC,EAAE,MAAM,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC,EACtC,KAAK,EAAC,aAAa,EACnB,OAAO,EAAE,IAAI,CAAC,eAAe,EAAA,EAE7BA,OAAA,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EACE,GAAG,EAAE,IAAI,CAAC,UAAU,EAAE,EACtB,GAAG,EAAE,CAAG,EAAA,IAAI,CAAC,QAAQ,CAAA,KAAA,CAAO,EAC5B,KAAK,EAAE,WAAW,GAClB,CACE,EACNA,OAAA,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAK,KAAK,EAAC,oBAAoB,EAAA,CAAO,CAClC,EAENA,OAAA,CAAA,qBAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EACE,MAAM,EAAE,IAAI,CAAC,MAAM,EACnB,cAAc,EAAE,IAAI,CAAC,cAAc,EACnC,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,SAAS,EAAE,IAAI,CAAC,WAAW,EAC3B,iBAAiB,EAAE,IAAI,CAAC,mBAAmB,EACtB,CAAA,CAClB;;;;;AChIb,MAAM,YAAY,GAAG,w3DAAw3D;;MCOh4D,SAAS,GAAA,MAAA;;;;;AACpB;;AAEG;IACK,IAAI,GAAW,MAAM;AAE7B;;AAEG;IACK,KAAK,GAAW,MAAM;AAE9B;;AAEG;IACK,QAAQ,GAAY,KAAK;AAEjC;;AAEG;IACK,QAAQ,GAAY,KAAK;AAEjC;;AAEG;AACM,IAAA,OAAO;IAER,WAAW,GAAG,MAAK;AACzB,QAAA,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;AAClB,YAAA,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE;;AAEvB,KAAC;AAEO,IAAA,aAAa,GAAG,CAAC,KAAoB,KAAI;AAC/C,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,EAAE;;AAEvB,KAAC;IAED,MAAM,GAAA;AACJ,QAAA,MAAM,cAAc,GAAG;AACrB,YAAA,UAAU,EAAE,IAAI;YAChB,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,UAAU,EAAE,IAAI,CAAC,QAAQ;SAC1B;QAED,QACEA,OAAA,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAK,KAAK,EAAE,cAAc,EAAA,EACxBA,OAAA,CAAA,QAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EACE,KAAK,EAAC,iBAAiB,gBACX,IAAI,CAAC,KAAK,EACtB,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,IAAI,CAAC,WAAW,EACzB,SAAS,EAAE,IAAI,CAAC,aAAa,EAC7B,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,QAAQ,EAAE,IAAI,CAAC,QAAQ,GAAG,EAAE,GAAG,CAAC,EAAA,EAEhCA,OAAM,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,gCAAgC,EAAA,EAAE,IAAI,CAAC,IAAI,CAAQ,CACxD,EACTA,OAAG,CAAA,GAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,gBAAgB,EAAE,EAAA,IAAI,CAAC,KAAK,CAAK,CACtC;;;;;;;;;"}
|
|
@@ -0,0 +1,307 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var index = require('./index-tZqSQc8E.js');
|
|
4
|
+
|
|
5
|
+
const bhDropdownCss = ":host{display:inline-block;position:relative}.dropdown-container{position:relative;display:inline-block}.dropdown-container bh-dropdown-menu{position:absolute;z-index:1000}.dropdown-container:not(.dropdown-avatar-variant) bh-dropdown-menu{top:100%;right:0;margin-top:var(--spacing-sm)}.dropdown-avatar-variant bh-dropdown-menu{bottom:0;left:calc(100% + var(--spacing-sm))}.dropdown-avatar{cursor:pointer;border-radius:50%;transition:box-shadow 0.2s ease;outline:none;display:inline-block;user-select:none}.dropdown-avatar:hover:not(.dropdown-avatar-disabled){box-shadow:0 0 0 2px var(--color-neutral-200)}.dropdown-avatar:focus:not(.dropdown-avatar-disabled){box-shadow:0 0 0 2px var(--color-brand-500)}.dropdown-avatar-focus{box-shadow:0 0 0 2px var(--color-brand-500)}.dropdown-avatar-disabled{cursor:not-allowed;opacity:0.5}.dropdown-open bh-button{--button-focus-ring:0 0 0 2px var(--color-brand-100)}";
|
|
6
|
+
|
|
7
|
+
const BhDropdown = class {
|
|
8
|
+
constructor(hostRef) {
|
|
9
|
+
index.registerInstance(this, hostRef);
|
|
10
|
+
this.bhItemClick = index.createEvent(this, "bhItemClick");
|
|
11
|
+
}
|
|
12
|
+
get el() { return index.getElement(this); }
|
|
13
|
+
/**
|
|
14
|
+
* Size of the dropdown trigger
|
|
15
|
+
*/
|
|
16
|
+
size = 'md';
|
|
17
|
+
/**
|
|
18
|
+
* State of the dropdown
|
|
19
|
+
*/
|
|
20
|
+
state = 'default';
|
|
21
|
+
/**
|
|
22
|
+
* Visual variant of the dropdown trigger
|
|
23
|
+
*/
|
|
24
|
+
variant = 'outlined';
|
|
25
|
+
/**
|
|
26
|
+
* Label for the dropdown button
|
|
27
|
+
*/
|
|
28
|
+
label = 'Options';
|
|
29
|
+
/**
|
|
30
|
+
* Icon name for icon-only variants
|
|
31
|
+
*/
|
|
32
|
+
iconName = 'more_vert';
|
|
33
|
+
/**
|
|
34
|
+
* Whether the dropdown is disabled
|
|
35
|
+
*/
|
|
36
|
+
disabled = false;
|
|
37
|
+
/**
|
|
38
|
+
* Menu items (JSON string or array)
|
|
39
|
+
*/
|
|
40
|
+
menuItems = [];
|
|
41
|
+
/**
|
|
42
|
+
* Header configuration (JSON string or object)
|
|
43
|
+
*/
|
|
44
|
+
header;
|
|
45
|
+
/**
|
|
46
|
+
* Avatar image source for avatar variant
|
|
47
|
+
*/
|
|
48
|
+
avatarSrc = '';
|
|
49
|
+
/**
|
|
50
|
+
* Avatar alt text
|
|
51
|
+
*/
|
|
52
|
+
avatarAlt = 'Avatar';
|
|
53
|
+
/**
|
|
54
|
+
* Avatar size for avatar variant
|
|
55
|
+
*/
|
|
56
|
+
avatarSize = 'md';
|
|
57
|
+
/**
|
|
58
|
+
* Avatar name for header
|
|
59
|
+
*/
|
|
60
|
+
avatarName;
|
|
61
|
+
/**
|
|
62
|
+
* Avatar email for header
|
|
63
|
+
*/
|
|
64
|
+
avatarEmail;
|
|
65
|
+
/**
|
|
66
|
+
* Whether to show icons in menu items
|
|
67
|
+
*/
|
|
68
|
+
showIcons = true;
|
|
69
|
+
isOpen = false;
|
|
70
|
+
/**
|
|
71
|
+
* Event emitted when a menu item is clicked
|
|
72
|
+
*/
|
|
73
|
+
bhItemClick;
|
|
74
|
+
handleClickOutside(event) {
|
|
75
|
+
if (this.isOpen && !this.el.contains(event.target)) {
|
|
76
|
+
this.isOpen = false;
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
get parsedMenuItems() {
|
|
80
|
+
if (typeof this.menuItems === 'string') {
|
|
81
|
+
try {
|
|
82
|
+
return JSON.parse(this.menuItems);
|
|
83
|
+
}
|
|
84
|
+
catch {
|
|
85
|
+
return [];
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
return this.menuItems || [];
|
|
89
|
+
}
|
|
90
|
+
get parsedHeader() {
|
|
91
|
+
if (this.variant === 'avatar') {
|
|
92
|
+
return {
|
|
93
|
+
avatarGroup: true,
|
|
94
|
+
avatarSrc: this.avatarSrc,
|
|
95
|
+
name: this.avatarName,
|
|
96
|
+
email: this.avatarEmail,
|
|
97
|
+
};
|
|
98
|
+
}
|
|
99
|
+
if (!this.header)
|
|
100
|
+
return undefined;
|
|
101
|
+
if (typeof this.header === 'string') {
|
|
102
|
+
try {
|
|
103
|
+
return JSON.parse(this.header);
|
|
104
|
+
}
|
|
105
|
+
catch {
|
|
106
|
+
return undefined;
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
return this.header;
|
|
110
|
+
}
|
|
111
|
+
toggleDropdown = () => {
|
|
112
|
+
if (this.disabled)
|
|
113
|
+
return;
|
|
114
|
+
this.isOpen = !this.isOpen;
|
|
115
|
+
};
|
|
116
|
+
handleMenuItemClick = (event) => {
|
|
117
|
+
const item = event.detail;
|
|
118
|
+
if (!item.disabled) {
|
|
119
|
+
this.bhItemClick.emit(item);
|
|
120
|
+
this.isOpen = false;
|
|
121
|
+
}
|
|
122
|
+
};
|
|
123
|
+
get isIconOnly() {
|
|
124
|
+
return (this.variant === 'icon-only-outlined' ||
|
|
125
|
+
this.variant === 'icon-only-ghost');
|
|
126
|
+
}
|
|
127
|
+
get showAvatar() {
|
|
128
|
+
return this.variant === 'avatar';
|
|
129
|
+
}
|
|
130
|
+
get buttonHierarchy() {
|
|
131
|
+
return this.variant === 'ghost' || this.variant === 'icon-only-ghost'
|
|
132
|
+
? 'tertiary'
|
|
133
|
+
: 'secondary';
|
|
134
|
+
}
|
|
135
|
+
render() {
|
|
136
|
+
const containerClasses = {
|
|
137
|
+
'dropdown-container': true,
|
|
138
|
+
'dropdown-open': this.isOpen,
|
|
139
|
+
'dropdown-avatar-variant': this.variant === 'avatar',
|
|
140
|
+
};
|
|
141
|
+
const avatarClasses = {
|
|
142
|
+
'dropdown-avatar': true,
|
|
143
|
+
'dropdown-avatar-focus': this.isOpen,
|
|
144
|
+
'dropdown-avatar-disabled': this.disabled,
|
|
145
|
+
};
|
|
146
|
+
return (index.h("div", { key: '203d4ee8afd1f081c90d19e3befb59794658bb86', class: containerClasses }, !this.showAvatar && (index.h("bh-button", { key: '43362ec4952a03d0b26676ac7b7a066e122da142', hierarchy: this.buttonHierarchy, icon: this.isIconOnly ? 'only' : 'trailing', size: this.size, label: this.isIconOnly ? '' : this.label, iconName: this.isIconOnly ? this.iconName : 'expand_more', disabled: this.disabled, onClick: this.toggleDropdown })), this.showAvatar && (index.h("div", { key: '44221c66ba3b6ed22dd877baf9d382d1408c8878', class: avatarClasses, onClick: (e) => {
|
|
147
|
+
if (!this.disabled) {
|
|
148
|
+
e.stopPropagation();
|
|
149
|
+
this.toggleDropdown();
|
|
150
|
+
}
|
|
151
|
+
}, role: "button", tabindex: this.disabled ? -1 : 0, onKeyDown: (e) => {
|
|
152
|
+
if (!this.disabled && (e.key === 'Enter' || e.key === ' ')) {
|
|
153
|
+
e.preventDefault();
|
|
154
|
+
this.toggleDropdown();
|
|
155
|
+
}
|
|
156
|
+
} }, index.h("bh-avatar", { key: '0eb6fd5ae65d93c996ba703f1ab044227760f78f', type: "image", size: this.avatarSize, imageSrc: this.avatarSrc, alt: this.avatarAlt }))), index.h("bh-dropdown-menu", { key: '5f5dc22d2983af6ba6f5331e4c2259555ed6d498', visible: this.isOpen, showIcons: this.showIcons, menuItems: JSON.stringify(this.parsedMenuItems), header: this.parsedHeader ? JSON.stringify(this.parsedHeader) : undefined, onBhItemClick: this.handleMenuItemClick })));
|
|
157
|
+
}
|
|
158
|
+
};
|
|
159
|
+
BhDropdown.style = bhDropdownCss;
|
|
160
|
+
|
|
161
|
+
const bhLogoBoxCss = ".logo-box{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;position:relative;width:40px;flex-shrink:0;isolation:isolate}.logo-active{background-color:var(--color-brand-600);box-sizing:border-box;display:flex;gap:var(--spacing-lg);align-items:center;justify-content:center;padding:var(--spacing-sm);position:relative;border-radius:var(--radius-md);flex-shrink:0;width:40px;height:40px;z-index:2;transition:background-color 0.3s ease;cursor:pointer}.logo-box:hover .logo-active,.logo-box.dropdown-open .logo-active{background-color:var(--color-brand-700)}.logo{overflow:hidden;position:relative;flex-shrink:0;width:32px;height:32px;background-size:contain;background-repeat:no-repeat;background-position:center;transition:background-image 0.4s cubic-bezier(0.08, 0.52, 0.52, 1)}.logo-actabl{}.logo-al{}.logo-he{}.logo-ps{}.logo-tr{}.logo-more-products{position:absolute;background-color:var(--color-brand-200);right:2px;bottom:-4px;border-radius:5px;width:36px;height:35px;z-index:1;transition:transform 0.3s ease}.logo-box:hover .logo-more-products,.logo-box.dropdown-open .logo-more-products{transform:translateY(-4px)}";
|
|
162
|
+
|
|
163
|
+
const BhLogoBox = class {
|
|
164
|
+
constructor(hostRef) {
|
|
165
|
+
index.registerInstance(this, hostRef);
|
|
166
|
+
this.bhProductSelect = index.createEvent(this, "bhProductSelect");
|
|
167
|
+
}
|
|
168
|
+
/**
|
|
169
|
+
* Type of logo to display
|
|
170
|
+
*/
|
|
171
|
+
logoType = 'actabl';
|
|
172
|
+
/**
|
|
173
|
+
* Array of products to display in the switcher
|
|
174
|
+
*/
|
|
175
|
+
products = [
|
|
176
|
+
{
|
|
177
|
+
id: 'alice',
|
|
178
|
+
name: 'Alice',
|
|
179
|
+
description: 'Housekeeping & Guest Services',
|
|
180
|
+
logo: './assets/logos/AL.svg',
|
|
181
|
+
},
|
|
182
|
+
{
|
|
183
|
+
id: 'hotel-effectiveness',
|
|
184
|
+
name: 'Hotel Effectiveness',
|
|
185
|
+
description: 'Labor planning',
|
|
186
|
+
logo: './assets/logos/HE.svg',
|
|
187
|
+
},
|
|
188
|
+
{
|
|
189
|
+
id: 'profit-sword',
|
|
190
|
+
name: 'ProfitSword',
|
|
191
|
+
description: 'B.I and Finance',
|
|
192
|
+
logo: './assets/logos/PS.svg',
|
|
193
|
+
},
|
|
194
|
+
{
|
|
195
|
+
id: 'transcendent',
|
|
196
|
+
name: 'Transcendent',
|
|
197
|
+
description: 'Asset Management & CapEx',
|
|
198
|
+
logo: './assets/logos/TR.svg',
|
|
199
|
+
},
|
|
200
|
+
];
|
|
201
|
+
/**
|
|
202
|
+
* Event emitted when a product is selected
|
|
203
|
+
*/
|
|
204
|
+
bhProductSelect;
|
|
205
|
+
isOpen = false;
|
|
206
|
+
anchorPosition = { top: 0, left: 0 };
|
|
207
|
+
logoActiveRef;
|
|
208
|
+
handleLogoClick = () => {
|
|
209
|
+
if (this.logoActiveRef) {
|
|
210
|
+
const rect = this.logoActiveRef.getBoundingClientRect();
|
|
211
|
+
this.anchorPosition = {
|
|
212
|
+
top: rect.bottom + 8,
|
|
213
|
+
left: rect.left,
|
|
214
|
+
};
|
|
215
|
+
this.isOpen = !this.isOpen;
|
|
216
|
+
}
|
|
217
|
+
};
|
|
218
|
+
handleClose = () => {
|
|
219
|
+
this.isOpen = false;
|
|
220
|
+
};
|
|
221
|
+
handleProductSelect = (event) => {
|
|
222
|
+
this.bhProductSelect.emit(event.detail);
|
|
223
|
+
this.isOpen = false;
|
|
224
|
+
};
|
|
225
|
+
getLogoSrc = () => {
|
|
226
|
+
switch (this.logoType) {
|
|
227
|
+
case 'actabl':
|
|
228
|
+
return './assets/logos/actabl.svg';
|
|
229
|
+
case 'al':
|
|
230
|
+
return './assets/logos/AL.svg';
|
|
231
|
+
case 'he':
|
|
232
|
+
return './assets/logos/HE.svg';
|
|
233
|
+
case 'ps':
|
|
234
|
+
return './assets/logos/PS.svg';
|
|
235
|
+
case 'tr':
|
|
236
|
+
return './assets/logos/TR.svg';
|
|
237
|
+
default:
|
|
238
|
+
return './assets/logos/actabl.svg';
|
|
239
|
+
}
|
|
240
|
+
};
|
|
241
|
+
render() {
|
|
242
|
+
const logoBoxClasses = {
|
|
243
|
+
'logo-box': true,
|
|
244
|
+
'dropdown-open': this.isOpen,
|
|
245
|
+
};
|
|
246
|
+
const logoClasses = {
|
|
247
|
+
'logo': true,
|
|
248
|
+
[`logo-${this.logoType}`]: true,
|
|
249
|
+
};
|
|
250
|
+
return (index.h(index.Host, { key: '7701200e2297867a3188f74663d5dcfc3c1bddbe' }, index.h("div", { key: 'c625d8d74cd94e2e2abfa283f45a79a6928e3868', class: logoBoxClasses }, index.h("div", { key: 'bcc3c1e4dfd02e590264ac1075632af0c0626edb', ref: (el) => (this.logoActiveRef = el), class: "logo-active", onClick: this.handleLogoClick }, index.h("img", { key: '592a65fe63945bcb878a0065c4427f19e1bac041', src: this.getLogoSrc(), alt: `${this.logoType} logo`, class: logoClasses })), index.h("div", { key: '552fbdbb59627349a60f86724677cbec7403ddf8', class: "logo-more-products" })), index.h("bh-product-switcher", { key: '588e16d9ad19f15c2c46509562ca78bd0aa5f7ae', isOpen: this.isOpen, anchorPosition: this.anchorPosition, products: this.products, onBhClose: this.handleClose, onBhProductSelect: this.handleProductSelect })));
|
|
251
|
+
}
|
|
252
|
+
};
|
|
253
|
+
BhLogoBox.style = bhLogoBoxCss;
|
|
254
|
+
|
|
255
|
+
const bhNavItemCss = ":host{display:inline-block}.nav-item{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;position:relative;flex-shrink:0;width:100%;max-width:52px;height:fit-content}.nav-item-button{background-color:var(--color-white);box-sizing:border-box;display:flex;align-items:center;justify-content:center;overflow:hidden;padding:var(--spacing-md);position:relative;border-radius:var(--radius-sm);flex-shrink:0;transition:background-color 0.2s ease;cursor:pointer;border:none;outline:none}.nav-item-button:hover{background-color:var(--color-neutral-50)}.nav-item-button:focus-visible{box-shadow:0 0 0 2px var(--color-brand-100)}.nav-item.active .nav-item-button{background-color:var(--color-brand-50)}.nav-item-button .icon{width:20px;height:20px;display:block;flex-shrink:0;color:var(--color-neutral-500);transition:color 0.2s ease;font-size:20px;font-variation-settings:'FILL' 0, 'wght' 400, 'GRAD' 0, 'opsz' 20}.nav-item-button:hover .icon{color:var(--color-neutral-700)}.nav-item.active .nav-item-button .icon{color:var(--color-brand-600);font-variation-settings:'FILL' 0, 'wght' 400, 'GRAD' 0, 'opsz' 20}.nav-item-label{font-family:var(--font-inter);font-weight:var(--weight-medium);height:18px;line-height:18px;font-style:normal;overflow:hidden;text-overflow:ellipsis;position:relative;flex-shrink:0;color:var(--color-neutral-700);font-size:10px;text-align:center;white-space:nowrap;width:100%;max-width:100%;margin:var(--spacing-none);margin-top:var(--spacing-xxs);box-sizing:border-box;direction:ltr}.nav-item.active .nav-item-label{color:var(--color-neutral-700);font-weight:var(--weight-semibold)}.nav-item.disabled .nav-item-button{cursor:not-allowed;opacity:0.5}.nav-item.disabled .nav-item-button:hover{background-color:var(--color-white)}.nav-item.disabled .nav-item-button .icon{color:var(--color-neutral-400)}.nav-item.disabled .nav-item-label{color:var(--color-neutral-400)}";
|
|
256
|
+
|
|
257
|
+
const BhNavItem = class {
|
|
258
|
+
constructor(hostRef) {
|
|
259
|
+
index.registerInstance(this, hostRef);
|
|
260
|
+
this.bhClick = index.createEvent(this, "bhClick");
|
|
261
|
+
}
|
|
262
|
+
/**
|
|
263
|
+
* Material Symbols icon name
|
|
264
|
+
*/
|
|
265
|
+
icon = 'home';
|
|
266
|
+
/**
|
|
267
|
+
* Label text displayed below the icon
|
|
268
|
+
*/
|
|
269
|
+
label = 'Home';
|
|
270
|
+
/**
|
|
271
|
+
* Whether the nav item is active/selected
|
|
272
|
+
*/
|
|
273
|
+
isActive = false;
|
|
274
|
+
/**
|
|
275
|
+
* Whether the nav item is disabled
|
|
276
|
+
*/
|
|
277
|
+
disabled = false;
|
|
278
|
+
/**
|
|
279
|
+
* Event emitted when the nav item is clicked
|
|
280
|
+
*/
|
|
281
|
+
bhClick;
|
|
282
|
+
handleClick = () => {
|
|
283
|
+
if (!this.disabled) {
|
|
284
|
+
this.bhClick.emit();
|
|
285
|
+
}
|
|
286
|
+
};
|
|
287
|
+
handleKeyDown = (event) => {
|
|
288
|
+
if ((event.key === 'Enter' || event.key === ' ') && !this.disabled) {
|
|
289
|
+
event.preventDefault();
|
|
290
|
+
this.bhClick.emit();
|
|
291
|
+
}
|
|
292
|
+
};
|
|
293
|
+
render() {
|
|
294
|
+
const navItemClasses = {
|
|
295
|
+
'nav-item': true,
|
|
296
|
+
'active': this.isActive,
|
|
297
|
+
'disabled': this.disabled,
|
|
298
|
+
};
|
|
299
|
+
return (index.h("div", { key: 'eff7adc93f70b788035ee175f06b84dfaa3eafaa', class: navItemClasses }, index.h("button", { key: '37cf2ec326fd00b03c71967e5395a9a64fabac2d', class: "nav-item-button", "aria-label": this.label, type: "button", onClick: this.handleClick, onKeyDown: this.handleKeyDown, disabled: this.disabled, tabIndex: this.disabled ? -1 : 0 }, index.h("span", { key: '098fb47a65ed3b3e2409273ae7932c820870484d', class: "material-symbols-outlined icon" }, this.icon)), index.h("p", { key: '112cc6fae3e4f5e9c44e2ffab69e86908b35c629', class: "nav-item-label" }, this.label)));
|
|
300
|
+
}
|
|
301
|
+
};
|
|
302
|
+
BhNavItem.style = bhNavItemCss;
|
|
303
|
+
|
|
304
|
+
exports.bh_dropdown = BhDropdown;
|
|
305
|
+
exports.bh_logo_box = BhLogoBox;
|
|
306
|
+
exports.bh_nav_item = BhNavItem;
|
|
307
|
+
//# sourceMappingURL=bh-dropdown.bh-logo-box.bh-nav-item.entry.cjs.js.map
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var index = require('./index-tZqSQc8E.js');
|
|
4
|
+
|
|
5
|
+
const bhFeaturedIconCss = ":host{display:inline-block}.featured-icon{display:inline-flex;align-items:center;justify-content:center;transition:all 0.2s ease}.featured-icon-sm{width:32px;height:32px;border-radius:6px}.featured-icon-md{width:40px;height:40px;border-radius:8px}.featured-icon-lg{width:48px;height:48px;border-radius:10px}.featured-icon-xl{width:56px;height:56px;border-radius:12px}.icon-sm{font-size:var(--icon-size-xs);width:var(--icon-size-xs);height:var(--icon-size-xs);line-height:1}.icon-md{font-size:var(--icon-size-md);width:var(--icon-size-md);height:var(--icon-size-md);line-height:1}.icon-lg{font-size:var(--icon-size-lg);width:var(--icon-size-lg);height:var(--icon-size-lg);line-height:1}.icon-xl{font-size:var(--icon-size-2xl);width:var(--icon-size-2xl);height:var(--icon-size-2xl);line-height:1}.featured-icon-brand.featured-icon-outlined{background-color:transparent;border:1px solid var(--color-neutral-200)}.featured-icon-brand.featured-icon-outlined .material-symbols-outlined{color:var(--color-brand-600)}.featured-icon-gray.featured-icon-outlined{border:1px solid var(--color-neutral-200)}.featured-icon-gray.featured-icon-outlined .material-symbols-outlined{color:var(--color-neutral-600)}.featured-icon-error.featured-icon-outlined{border:1px solid var(--color-neutral-200)}.featured-icon-error.featured-icon-outlined .material-symbols-outlined{color:var(--color-error-600)}.featured-icon-warning.featured-icon-outlined{border:1px solid var(--color-neutral-200)}.featured-icon-warning.featured-icon-outlined .material-symbols-outlined{color:var(--color-warning-600)}.featured-icon-success.featured-icon-outlined{border:1px solid var(--color-neutral-200)}.featured-icon-success.featured-icon-outlined .material-symbols-outlined{color:var(--color-success-600)}.featured-icon-highlight.featured-icon-outlined{border:1px solid var(--color-neutral-200)}.featured-icon-highlight.featured-icon-outlined .material-symbols-outlined{color:var(--color-purple-600)}.featured-icon-brand.featured-icon-filled{background-color:var(--color-brand-100);border:none}.featured-icon-brand.featured-icon-filled .material-symbols-outlined{color:var(--color-brand-600)}.featured-icon-gray.featured-icon-filled{background-color:var(--color-neutral-100);border:none}.featured-icon-gray.featured-icon-filled .material-symbols-outlined{color:var(--color-neutral-600)}.featured-icon-error.featured-icon-filled{background-color:var(--color-error-100);border:none}.featured-icon-error.featured-icon-filled .material-symbols-outlined{color:var(--color-error-600)}.featured-icon-warning.featured-icon-filled{background-color:var(--color-warning-200);border:none}.featured-icon-warning.featured-icon-filled .material-symbols-outlined{color:var(--color-warning-600)}.featured-icon-success.featured-icon-filled{background-color:var(--color-success-100);border:none}.featured-icon-success.featured-icon-filled .material-symbols-outlined{color:var(--color-success-600)}.featured-icon-highlight.featured-icon-filled{background-color:var(--color-purple-200);border:none}.featured-icon-highlight.featured-icon-filled .material-symbols-outlined{color:var(--color-purple-600)}.material-symbols-outlined{font-family:'Material Symbols Outlined';font-variation-settings:'FILL' 0, 'wght' 400, 'GRAD' 0, 'opsz' 24;user-select:none}";
|
|
6
|
+
|
|
7
|
+
const BhFeaturedIcon = class {
|
|
8
|
+
constructor(hostRef) {
|
|
9
|
+
index.registerInstance(this, hostRef);
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* The size of the featured icon
|
|
13
|
+
*/
|
|
14
|
+
size = 'md';
|
|
15
|
+
/**
|
|
16
|
+
* The color theme of the featured icon
|
|
17
|
+
*/
|
|
18
|
+
color = 'gray';
|
|
19
|
+
/**
|
|
20
|
+
* The style variant (outlined or filled)
|
|
21
|
+
*/
|
|
22
|
+
iconStyle = 'outlined';
|
|
23
|
+
/**
|
|
24
|
+
* The Material Symbol icon name
|
|
25
|
+
*/
|
|
26
|
+
icon = 'star';
|
|
27
|
+
render() {
|
|
28
|
+
const containerClasses = {
|
|
29
|
+
'featured-icon': true,
|
|
30
|
+
[`featured-icon-${this.size}`]: true,
|
|
31
|
+
[`featured-icon-${this.color}`]: true,
|
|
32
|
+
[`featured-icon-${this.iconStyle}`]: true,
|
|
33
|
+
};
|
|
34
|
+
const iconClasses = `material-symbols-outlined icon-${this.size}`;
|
|
35
|
+
return (index.h("div", { key: 'f28b347b9594d65de9d253da980bd43da0d02055', class: containerClasses, part: "container" }, index.h("span", { key: '9986022247eb8e6f3cde419b22d5f277796386f3', class: iconClasses }, this.icon)));
|
|
36
|
+
}
|
|
37
|
+
};
|
|
38
|
+
BhFeaturedIcon.style = bhFeaturedIconCss;
|
|
39
|
+
|
|
40
|
+
exports.bh_featured_icon = BhFeaturedIcon;
|
|
41
|
+
//# sourceMappingURL=bh-featured-icon.entry.cjs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bh-featured-icon.entry.cjs.js","sources":["src/components/bh-featured-icon/bh-featured-icon.css?tag=bh-featured-icon&encapsulation=shadow","src/components/bh-featured-icon/bh-featured-icon.tsx"],"sourcesContent":["/* ==========================================================================\n BH-FEATURED-ICON COMPONENT STYLES\n ========================================================================== */\n\n:host {\n display: inline-block;\n}\n\n.featured-icon {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n transition: all 0.2s ease;\n}\n\n/* Size variations */\n.featured-icon-sm {\n width: 32px;\n height: 32px;\n border-radius: 6px;\n}\n\n.featured-icon-md {\n width: 40px;\n height: 40px;\n border-radius: 8px;\n}\n\n.featured-icon-lg {\n width: 48px;\n height: 48px;\n border-radius: 10px;\n}\n\n.featured-icon-xl {\n width: 56px;\n height: 56px;\n border-radius: 12px;\n}\n\n/* Icon sizes - matching Figma specs */\n.icon-sm {\n font-size: var(--icon-size-xs);\n width: var(--icon-size-xs);\n height: var(--icon-size-xs);\n line-height: 1;\n}\n\n.icon-md {\n font-size: var(--icon-size-md);\n width: var(--icon-size-md);\n height: var(--icon-size-md);\n line-height: 1;\n}\n\n.icon-lg {\n font-size: var(--icon-size-lg);\n width: var(--icon-size-lg);\n height: var(--icon-size-lg);\n line-height: 1;\n}\n\n.icon-xl {\n font-size: var(--icon-size-2xl);\n width: var(--icon-size-2xl);\n height: var(--icon-size-2xl);\n line-height: 1;\n}\n\n/* ============================================\n OUTLINED STYLES\n ============================================ */\n\n/* Brand color - Outlined */\n.featured-icon-brand.featured-icon-outlined {\n background-color: transparent;\n border: 1px solid var(--color-neutral-200);\n}\n\n.featured-icon-brand.featured-icon-outlined .material-symbols-outlined {\n color: var(--color-brand-600);\n}\n\n/* Gray color - Outlined */\n.featured-icon-gray.featured-icon-outlined {\n border: 1px solid var(--color-neutral-200);\n}\n\n.featured-icon-gray.featured-icon-outlined .material-symbols-outlined {\n color: var(--color-neutral-600);\n}\n\n/* Error color - Outlined */\n.featured-icon-error.featured-icon-outlined {\n border: 1px solid var(--color-neutral-200);\n}\n\n.featured-icon-error.featured-icon-outlined .material-symbols-outlined {\n color: var(--color-error-600);\n}\n\n/* Warning color - Outlined */\n.featured-icon-warning.featured-icon-outlined {\n border: 1px solid var(--color-neutral-200);\n}\n\n.featured-icon-warning.featured-icon-outlined .material-symbols-outlined {\n color: var(--color-warning-600);\n}\n\n/* Success color - Outlined */\n.featured-icon-success.featured-icon-outlined {\n border: 1px solid var(--color-neutral-200);\n}\n\n.featured-icon-success.featured-icon-outlined .material-symbols-outlined {\n color: var(--color-success-600);\n}\n\n/* Highlight color - Outlined */\n.featured-icon-highlight.featured-icon-outlined {\n border: 1px solid var(--color-neutral-200);\n}\n\n.featured-icon-highlight.featured-icon-outlined .material-symbols-outlined {\n color: var(--color-purple-600);\n}\n\n/* ============================================\n FILLED STYLES\n ============================================ */\n\n/* Brand color - Filled */\n.featured-icon-brand.featured-icon-filled {\n background-color: var(--color-brand-100);\n border: none;\n}\n\n.featured-icon-brand.featured-icon-filled .material-symbols-outlined {\n color: var(--color-brand-600);\n}\n\n/* Gray color - Filled */\n.featured-icon-gray.featured-icon-filled {\n background-color: var(--color-neutral-100);\n border: none;\n}\n\n.featured-icon-gray.featured-icon-filled .material-symbols-outlined {\n color: var(--color-neutral-600);\n}\n\n/* Error color - Filled */\n.featured-icon-error.featured-icon-filled {\n background-color: var(--color-error-100);\n border: none;\n}\n\n.featured-icon-error.featured-icon-filled .material-symbols-outlined {\n color: var(--color-error-600);\n}\n\n/* Warning color - Filled */\n.featured-icon-warning.featured-icon-filled {\n background-color: var(--color-warning-200);\n border: none;\n}\n\n.featured-icon-warning.featured-icon-filled .material-symbols-outlined {\n color: var(--color-warning-600);\n}\n\n/* Success color - Filled */\n.featured-icon-success.featured-icon-filled {\n background-color: var(--color-success-100);\n border: none;\n}\n\n.featured-icon-success.featured-icon-filled .material-symbols-outlined {\n color: var(--color-success-600);\n}\n\n/* Highlight color - Filled */\n.featured-icon-highlight.featured-icon-filled {\n background-color: var(--color-purple-200);\n border: none;\n}\n\n.featured-icon-highlight.featured-icon-filled .material-symbols-outlined {\n color: var(--color-purple-600);\n}\n\n/* Material Symbols base styles */\n.material-symbols-outlined {\n font-family: 'Material Symbols Outlined';\n font-variation-settings: 'FILL' 0, 'wght' 400, 'GRAD' 0, 'opsz' 24;\n user-select: none;\n}\n","import { Component, Prop, h } from '@stencil/core';\n\nexport type FeaturedIconSize = 'sm' | 'md' | 'lg' | 'xl';\nexport type FeaturedIconColor = 'brand' | 'gray' | 'error' | 'warning' | 'success' | 'highlight';\nexport type FeaturedIconStyle = 'outlined' | 'filled';\n\n@Component({\n tag: 'bh-featured-icon',\n styleUrl: 'bh-featured-icon.css',\n shadow: true,\n})\nexport class BhFeaturedIcon {\n /**\n * The size of the featured icon\n */\n @Prop() size: FeaturedIconSize = 'md';\n\n /**\n * The color theme of the featured icon\n */\n @Prop() color: FeaturedIconColor = 'gray';\n\n /**\n * The style variant (outlined or filled)\n */\n @Prop() iconStyle: FeaturedIconStyle = 'outlined';\n\n /**\n * The Material Symbol icon name\n */\n @Prop() icon: string = 'star';\n\n render() {\n const containerClasses = {\n 'featured-icon': true,\n [`featured-icon-${this.size}`]: true,\n [`featured-icon-${this.color}`]: true,\n [`featured-icon-${this.iconStyle}`]: true,\n };\n\n const iconClasses = `material-symbols-outlined icon-${this.size}`;\n\n return (\n <div class={containerClasses} part=\"container\">\n <span class={iconClasses}>{this.icon}</span>\n </div>\n );\n }\n}\n"],"names":["h"],"mappings":";;;;AAAA,MAAM,iBAAiB,GAAG,4tGAA4tG;;MCWzuG,cAAc,GAAA,MAAA;;;;AACzB;;AAEG;IACK,IAAI,GAAqB,IAAI;AAErC;;AAEG;IACK,KAAK,GAAsB,MAAM;AAEzC;;AAEG;IACK,SAAS,GAAsB,UAAU;AAEjD;;AAEG;IACK,IAAI,GAAW,MAAM;IAE7B,MAAM,GAAA;AACJ,QAAA,MAAM,gBAAgB,GAAG;AACvB,YAAA,eAAe,EAAE,IAAI;AACrB,YAAA,CAAC,iBAAiB,IAAI,CAAC,IAAI,CAAE,CAAA,GAAG,IAAI;AACpC,YAAA,CAAC,iBAAiB,IAAI,CAAC,KAAK,CAAE,CAAA,GAAG,IAAI;AACrC,YAAA,CAAC,iBAAiB,IAAI,CAAC,SAAS,CAAE,CAAA,GAAG,IAAI;SAC1C;AAED,QAAA,MAAM,WAAW,GAAG,CAAA,+BAAA,EAAkC,IAAI,CAAC,IAAI,EAAE;AAEjE,QAAA,QACEA,kEAAK,KAAK,EAAE,gBAAgB,EAAE,IAAI,EAAC,WAAW,EAAA,EAC5CA,OAAM,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAE,WAAW,EAAG,EAAA,IAAI,CAAC,IAAI,CAAQ,CACxC;;;;;;;"}
|