@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,192 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var index = require('./index-tZqSQc8E.js');
|
|
4
|
+
var form = require('./form-9mbajZ3y.js');
|
|
5
|
+
|
|
6
|
+
const bhInputTextCss = ":host{display:block;font-family:var(\n --font-inter,\n 'Inter',\n -apple-system,\n BlinkMacSystemFont,\n sans-serif\n )}.input-wrapper{display:flex;flex-direction:column;gap:var(--spacing-sm, 8px);width:100%}.input-container{display:flex;align-items:center;gap:var(--spacing-md, 12px);padding:var(--spacing-md, 12px);height:36px;width:100%;background:var(--color-white, #ffffff);border:1px solid var(--color-neutral-300, #d0d5dd);border-radius:var(--spacing-md, 8px);transition:all 0.2s ease-in-out;cursor:text;box-sizing:border-box}.input-container.input-container-with-leading{padding:var(--spacing-md, 12px) var(--spacing-lg, 16px)}.input-container.input-container-hover{border-color:var(--color-brand-500, #7f56d9)}.input-container.input-container-focused{border-color:var(--color-brand-500, #7f56d9);box-shadow:0 0 0 1px var(--color-brand-500, #7f56d9)}.input-container.input-container-disabled{opacity:0.5;cursor:not-allowed;background:var(--color-neutral-50, #f9fafb)}.input-container.input-container-error{border-color:var(--color-error-300, #fda29b)}.input-container.input-container-error.input-container-hover{border-color:var(--color-error-500, #f05250)}.input-container.input-container-error.input-container-focused{border-color:var(--color-brand-600, #6941c6)}.input-content{display:flex;align-items:center;gap:var(--spacing-md, 12px);flex:1;height:100%;min-width:0}.input-element{flex:1;height:100%;border:none;outline:none;background:transparent;font-family:inherit;font-weight:400;font-size:var(--text-sm-size, 14px);line-height:1.43;color:var(--color-neutral-800, #1d2939);min-width:60px;padding:0}.input-element:focus{outline:none;border:none;box-shadow:none}.input-element::placeholder{color:var(--color-neutral-500, #667085)}.input-element:disabled{cursor:not-allowed}.leading-icon,.trailing-icon{font-size:var(--text-xl-size, 20px);color:var(--color-neutral-500, #667085);user-select:none;flex-shrink:0;cursor:default;transition:color 0.2s ease-in-out}.input-container-focused .leading-icon,.input-container-focused .trailing-icon{color:var(--color-brand-600, #6941c6)}.hint-text{font-family:inherit;font-weight:400;font-size:var(--text-sm-size, 14px);line-height:1.43;color:var(--color-neutral-600, #475467)}.hint-text.hint-error{color:var(--color-error-600, #dc2626)}.material-symbols-outlined{font-family:'Material Symbols Outlined';font-weight:normal;font-style:normal;font-size:20px;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;white-space:nowrap;word-wrap:normal;direction:ltr;font-feature-settings:'liga';-webkit-font-smoothing:antialiased;font-variation-settings:'FILL' 0, 'wght' 400, 'GRAD' 0, 'opsz' 24}";
|
|
7
|
+
|
|
8
|
+
const BhInputText = class {
|
|
9
|
+
constructor(hostRef) {
|
|
10
|
+
index.registerInstance(this, hostRef);
|
|
11
|
+
this.bhInput = index.createEvent(this, "bhInput");
|
|
12
|
+
this.bhFocus = index.createEvent(this, "bhFocus");
|
|
13
|
+
this.bhBlur = index.createEvent(this, "bhBlur");
|
|
14
|
+
this.bhHelpClick = index.createEvent(this, "bhHelpClick");
|
|
15
|
+
if (hostRef.$hostElement$["s-ei"]) {
|
|
16
|
+
this.internals = hostRef.$hostElement$["s-ei"];
|
|
17
|
+
}
|
|
18
|
+
else {
|
|
19
|
+
this.internals = hostRef.$hostElement$.attachInternals();
|
|
20
|
+
hostRef.$hostElement$["s-ei"] = this.internals;
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
internals;
|
|
24
|
+
inputEl;
|
|
25
|
+
/**
|
|
26
|
+
* The label for the input
|
|
27
|
+
*/
|
|
28
|
+
label = 'Email';
|
|
29
|
+
/**
|
|
30
|
+
* Placeholder text
|
|
31
|
+
*/
|
|
32
|
+
placeholder = 'fujiwara@act-hq.com';
|
|
33
|
+
/**
|
|
34
|
+
* Hint text shown below the input
|
|
35
|
+
*/
|
|
36
|
+
hintText = '';
|
|
37
|
+
/**
|
|
38
|
+
* Whether to show the label
|
|
39
|
+
*/
|
|
40
|
+
showLabel = true;
|
|
41
|
+
/**
|
|
42
|
+
* Whether to show hint text
|
|
43
|
+
*/
|
|
44
|
+
showHintText = true;
|
|
45
|
+
/**
|
|
46
|
+
* Whether to show the help icon
|
|
47
|
+
*/
|
|
48
|
+
showHelpIcon = false;
|
|
49
|
+
/**
|
|
50
|
+
* Whether to show a leading icon
|
|
51
|
+
*/
|
|
52
|
+
showLeadingIcon = false;
|
|
53
|
+
/**
|
|
54
|
+
* Whether to show a trailing icon
|
|
55
|
+
*/
|
|
56
|
+
showTrailingIcon = false;
|
|
57
|
+
/**
|
|
58
|
+
* Whether the field has an error
|
|
59
|
+
*/
|
|
60
|
+
error = false;
|
|
61
|
+
/**
|
|
62
|
+
* Whether the input is disabled
|
|
63
|
+
*/
|
|
64
|
+
disabled = false;
|
|
65
|
+
/**
|
|
66
|
+
* Whether the field is required
|
|
67
|
+
*/
|
|
68
|
+
required = false;
|
|
69
|
+
/**
|
|
70
|
+
* Tooltip text for the help icon
|
|
71
|
+
*/
|
|
72
|
+
helpIconTooltip = 'Help';
|
|
73
|
+
/**
|
|
74
|
+
* Leading icon name (Material Symbols)
|
|
75
|
+
*/
|
|
76
|
+
leadingIcon = 'mail';
|
|
77
|
+
/**
|
|
78
|
+
* Trailing icon name (Material Symbols)
|
|
79
|
+
*/
|
|
80
|
+
trailingIcon = 'search';
|
|
81
|
+
/**
|
|
82
|
+
* The input value
|
|
83
|
+
*/
|
|
84
|
+
value = '';
|
|
85
|
+
/**
|
|
86
|
+
* Name attribute for form submission
|
|
87
|
+
*/
|
|
88
|
+
name = '';
|
|
89
|
+
/**
|
|
90
|
+
* Default value for form reset
|
|
91
|
+
*/
|
|
92
|
+
defaultValue = '';
|
|
93
|
+
/**
|
|
94
|
+
* Custom validation message
|
|
95
|
+
*/
|
|
96
|
+
validationMessage = '';
|
|
97
|
+
/**
|
|
98
|
+
* Input type (text, email, tel, url, etc.)
|
|
99
|
+
*/
|
|
100
|
+
type = 'text';
|
|
101
|
+
/**
|
|
102
|
+
* Width of the input (e.g., '100%', '200px')
|
|
103
|
+
*/
|
|
104
|
+
width = '';
|
|
105
|
+
/**
|
|
106
|
+
* Whether the input is read-only
|
|
107
|
+
*/
|
|
108
|
+
readOnly = false;
|
|
109
|
+
/**
|
|
110
|
+
* Visual state of the input (for programmatic control)
|
|
111
|
+
*/
|
|
112
|
+
state = 'default';
|
|
113
|
+
/**
|
|
114
|
+
* Track focus state
|
|
115
|
+
*/
|
|
116
|
+
isFocused = false;
|
|
117
|
+
/**
|
|
118
|
+
* Track hover state
|
|
119
|
+
*/
|
|
120
|
+
isHovered = false;
|
|
121
|
+
/**
|
|
122
|
+
* Emitted when the value changes
|
|
123
|
+
*/
|
|
124
|
+
bhInput;
|
|
125
|
+
/**
|
|
126
|
+
* Emitted when the input gains focus
|
|
127
|
+
*/
|
|
128
|
+
bhFocus;
|
|
129
|
+
/**
|
|
130
|
+
* Emitted when the input loses focus
|
|
131
|
+
*/
|
|
132
|
+
bhBlur;
|
|
133
|
+
/**
|
|
134
|
+
* Emitted when the help icon is clicked
|
|
135
|
+
*/
|
|
136
|
+
bhHelpClick;
|
|
137
|
+
handleInput = (event) => {
|
|
138
|
+
const target = event.target;
|
|
139
|
+
this.value = target.value;
|
|
140
|
+
this.bhInput.emit(this.value);
|
|
141
|
+
form.syncFormValue(this);
|
|
142
|
+
form.updateValidity(this.internals, this.inputEl, this.validationMessage);
|
|
143
|
+
};
|
|
144
|
+
componentDidLoad() {
|
|
145
|
+
form.syncFormValue(this);
|
|
146
|
+
form.updateValidity(this.internals, this.inputEl, this.validationMessage);
|
|
147
|
+
}
|
|
148
|
+
formResetCallback() {
|
|
149
|
+
this.value = this.defaultValue;
|
|
150
|
+
if (this.inputEl) {
|
|
151
|
+
this.inputEl.value = this.defaultValue;
|
|
152
|
+
}
|
|
153
|
+
form.syncFormValue(this);
|
|
154
|
+
form.updateValidity(this.internals, this.inputEl);
|
|
155
|
+
}
|
|
156
|
+
handleFocus = () => {
|
|
157
|
+
this.isFocused = true;
|
|
158
|
+
this.bhFocus.emit();
|
|
159
|
+
};
|
|
160
|
+
handleBlur = () => {
|
|
161
|
+
this.isFocused = false;
|
|
162
|
+
this.bhBlur.emit();
|
|
163
|
+
};
|
|
164
|
+
handleMouseEnter = () => {
|
|
165
|
+
if (!this.isFocused) {
|
|
166
|
+
this.isHovered = true;
|
|
167
|
+
}
|
|
168
|
+
};
|
|
169
|
+
handleMouseLeave = () => {
|
|
170
|
+
this.isHovered = false;
|
|
171
|
+
};
|
|
172
|
+
handleHelpClick = () => {
|
|
173
|
+
this.bhHelpClick.emit();
|
|
174
|
+
};
|
|
175
|
+
render() {
|
|
176
|
+
const containerClasses = {
|
|
177
|
+
'input-container': true,
|
|
178
|
+
'input-container-focused': this.isFocused,
|
|
179
|
+
'input-container-hover': this.isHovered && !this.isFocused,
|
|
180
|
+
'input-container-error': this.error,
|
|
181
|
+
'input-container-disabled': this.disabled,
|
|
182
|
+
'input-container-with-leading': this.showLeadingIcon,
|
|
183
|
+
};
|
|
184
|
+
const wrapperStyle = this.width ? { width: this.width } : {};
|
|
185
|
+
return (index.h("div", { key: '8be476e7f8d85ed21706e81315a7fe40588ace3a', class: "input-wrapper", part: "wrapper", style: wrapperStyle }, index.h("bh-label", { key: '55bb3367d150c5db61d74ed25226d69438f66270', label: this.showLabel ? this.label : '', required: this.required, showHelpIcon: this.showHelpIcon, helpIconTooltip: this.helpIconTooltip, disabled: this.disabled, onBhHelpClick: this.handleHelpClick }, index.h("div", { key: '2169c7fc04983918bebcf5d5a70a29fe815bd505', class: containerClasses, onMouseEnter: this.handleMouseEnter, onMouseLeave: this.handleMouseLeave }, index.h("div", { key: '3d6d5214a7ed55b056ffdd6a122f7fbdcf07bc6a', class: "input-content" }, this.showLeadingIcon && (index.h("span", { key: 'd965c766b8a9a5161eeee18bbce611743690d083', class: "material-symbols-outlined leading-icon" }, this.leadingIcon)), index.h("input", { key: '8e2f44e90820c1610668cb8b3a358db7ae9064e3', ref: (el) => (this.inputEl = el), type: this.type, class: "input-element", name: this.name, value: this.value, placeholder: this.placeholder, disabled: this.disabled, readOnly: this.readOnly, required: this.required, "aria-label": this.label, "aria-describedby": this.showHintText && this.hintText ? 'hint-text' : undefined, "aria-invalid": String(this.error), onInput: this.handleInput, onFocus: this.handleFocus, onBlur: this.handleBlur, part: "input" }), this.showTrailingIcon && (index.h("span", { key: 'b46caa1cbec2f649ee5cb2a098e4f4241ab4eabb', class: "material-symbols-outlined trailing-icon" }, this.trailingIcon))))), this.showHintText && this.hintText && (index.h("div", { key: 'd33e25eda39c460df62e77a07dae8ebf69938f57', class: { 'hint-text': true, 'hint-error': this.error }, id: "hint-text" }, this.hintText))));
|
|
186
|
+
}
|
|
187
|
+
static get formAssociated() { return true; }
|
|
188
|
+
};
|
|
189
|
+
BhInputText.style = bhInputTextCss;
|
|
190
|
+
|
|
191
|
+
exports.bh_input_text = BhInputText;
|
|
192
|
+
//# sourceMappingURL=bh-input-text.entry.cjs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bh-input-text.entry.cjs.js","sources":["src/components/bh-input-text/bh-input-text.css?tag=bh-input-text&encapsulation=shadow","src/components/bh-input-text/bh-input-text.tsx"],"sourcesContent":[":host {\n display: block;\n font-family: var(\n --font-inter,\n 'Inter',\n -apple-system,\n BlinkMacSystemFont,\n sans-serif\n );\n}\n\n/* Input Wrapper */\n.input-wrapper {\n display: flex;\n flex-direction: column;\n gap: var(--spacing-sm, 8px);\n width: 100%;\n}\n\n/* Input Container */\n.input-container {\n display: flex;\n align-items: center;\n gap: var(--spacing-md, 12px);\n padding: var(--spacing-md, 12px);\n height: 36px;\n width: 100%;\n background: var(--color-white, #ffffff);\n border: 1px solid var(--color-neutral-300, #d0d5dd);\n border-radius: var(--spacing-md, 8px);\n transition: all 0.2s ease-in-out;\n cursor: text;\n box-sizing: border-box;\n}\n\n.input-container.input-container-with-leading {\n padding: var(--spacing-md, 12px) var(--spacing-lg, 16px);\n}\n\n/* Input States */\n.input-container.input-container-hover {\n border-color: var(--color-brand-500, #7f56d9);\n}\n\n.input-container.input-container-focused {\n border-color: var(--color-brand-500, #7f56d9);\n box-shadow: 0 0 0 1px var(--color-brand-500, #7f56d9);\n}\n\n.input-container.input-container-disabled {\n opacity: 0.5;\n cursor: not-allowed;\n background: var(--color-neutral-50, #f9fafb);\n}\n\n.input-container.input-container-error {\n border-color: var(--color-error-300, #fda29b);\n}\n\n.input-container.input-container-error.input-container-hover {\n border-color: var(--color-error-500, #f05250);\n}\n\n.input-container.input-container-error.input-container-focused {\n border-color: var(--color-brand-600, #6941c6);\n}\n\n/* Input Content */\n.input-content {\n display: flex;\n align-items: center;\n gap: var(--spacing-md, 12px);\n flex: 1;\n height: 100%;\n min-width: 0;\n}\n\n/* Input Element */\n.input-element {\n flex: 1;\n height: 100%;\n border: none;\n outline: none;\n background: transparent;\n font-family: inherit;\n font-weight: 400;\n font-size: var(--text-sm-size, 14px);\n line-height: 1.43;\n color: var(--color-neutral-800, #1d2939);\n min-width: 60px;\n padding: 0;\n}\n\n.input-element:focus {\n outline: none;\n border: none;\n box-shadow: none;\n}\n\n.input-element::placeholder {\n color: var(--color-neutral-500, #667085);\n}\n\n.input-element:disabled {\n cursor: not-allowed;\n}\n\n/* Icons */\n.leading-icon,\n.trailing-icon {\n font-size: var(--text-xl-size, 20px);\n color: var(--color-neutral-500, #667085);\n user-select: none;\n flex-shrink: 0;\n cursor: default;\n transition: color 0.2s ease-in-out;\n}\n\n.input-container-focused .leading-icon,\n.input-container-focused .trailing-icon {\n color: var(--color-brand-600, #6941c6);\n}\n\n/* Hint Text */\n.hint-text {\n font-family: inherit;\n font-weight: 400;\n font-size: var(--text-sm-size, 14px);\n line-height: 1.43;\n color: var(--color-neutral-600, #475467);\n}\n\n.hint-text.hint-error {\n color: var(--color-error-600, #dc2626);\n}\n\n/* Material Symbols */\n.material-symbols-outlined {\n font-family: 'Material Symbols Outlined';\n font-weight: normal;\n font-style: normal;\n font-size: 20px;\n line-height: 1;\n letter-spacing: normal;\n text-transform: none;\n display: inline-block;\n white-space: nowrap;\n word-wrap: normal;\n direction: ltr;\n font-feature-settings: 'liga';\n -webkit-font-smoothing: antialiased;\n font-variation-settings: 'FILL' 0, 'wght' 400, 'GRAD' 0, 'opsz' 24;\n}\n","import { Component, Prop, State, Event, EventEmitter, h, AttachInternals } from '@stencil/core';\nimport { syncFormValue, updateValidity } from '../../utils/form';\n\n@Component({\n tag: 'bh-input-text',\n styleUrl: 'bh-input-text.css',\n shadow: true,\n formAssociated: true,\n})\nexport class BhInputText {\n @AttachInternals() internals!: ElementInternals;\n\n private inputEl?: HTMLInputElement;\n /**\n * The label for the input\n */\n @Prop() label: string = 'Email';\n\n /**\n * Placeholder text\n */\n @Prop() placeholder: string = 'fujiwara@act-hq.com';\n\n /**\n * Hint text shown below the input\n */\n @Prop() hintText: string = '';\n\n /**\n * Whether to show the label\n */\n @Prop() showLabel: boolean = true;\n\n /**\n * Whether to show hint text\n */\n @Prop() showHintText: boolean = true;\n\n /**\n * Whether to show the help icon\n */\n @Prop() showHelpIcon: boolean = false;\n\n /**\n * Whether to show a leading icon\n */\n @Prop() showLeadingIcon: boolean = false;\n\n /**\n * Whether to show a trailing icon\n */\n @Prop() showTrailingIcon: boolean = false;\n\n /**\n * Whether the field has an error\n */\n @Prop() error: boolean = false;\n\n /**\n * Whether the input is disabled\n */\n @Prop() disabled: boolean = false;\n\n /**\n * Whether the field is required\n */\n @Prop() required: boolean = false;\n\n /**\n * Tooltip text for the help icon\n */\n @Prop() helpIconTooltip: string = 'Help';\n\n /**\n * Leading icon name (Material Symbols)\n */\n @Prop() leadingIcon: string = 'mail';\n\n /**\n * Trailing icon name (Material Symbols)\n */\n @Prop() trailingIcon: string = 'search';\n\n /**\n * The input value\n */\n @Prop({ mutable: true }) value: string = '';\n\n /**\n * Name attribute for form submission\n */\n @Prop() name: string = '';\n\n /**\n * Default value for form reset\n */\n @Prop() defaultValue: string = '';\n\n /**\n * Custom validation message\n */\n @Prop() validationMessage: string = '';\n\n /**\n * Input type (text, email, tel, url, etc.)\n */\n @Prop() type: string = 'text';\n\n /**\n * Width of the input (e.g., '100%', '200px')\n */\n @Prop() width: string = '';\n\n /**\n * Whether the input is read-only\n */\n @Prop() readOnly: boolean = false;\n\n /**\n * Visual state of the input (for programmatic control)\n */\n @Prop() state: 'default' | 'error' | 'disabled' | 'focus' | 'filled' | 'hover' = 'default';\n\n /**\n * Track focus state\n */\n @State() isFocused: boolean = false;\n\n /**\n * Track hover state\n */\n @State() isHovered: boolean = false;\n\n /**\n * Emitted when the value changes\n */\n @Event() bhInput!: EventEmitter<string>;\n\n /**\n * Emitted when the input gains focus\n */\n @Event() bhFocus!: EventEmitter<void>;\n\n /**\n * Emitted when the input loses focus\n */\n @Event() bhBlur!: EventEmitter<void>;\n\n /**\n * Emitted when the help icon is clicked\n */\n @Event() bhHelpClick!: EventEmitter<void>;\n\n private handleInput = (event: Event): void => {\n const target = event.target as HTMLInputElement;\n this.value = target.value;\n this.bhInput.emit(this.value);\n syncFormValue(this);\n updateValidity(this.internals, this.inputEl, this.validationMessage);\n };\n\n componentDidLoad() {\n syncFormValue(this);\n updateValidity(this.internals, this.inputEl, this.validationMessage);\n }\n\n formResetCallback() {\n this.value = this.defaultValue;\n if (this.inputEl) {\n this.inputEl.value = this.defaultValue;\n }\n syncFormValue(this);\n updateValidity(this.internals, this.inputEl);\n }\n\n private handleFocus = (): void => {\n this.isFocused = true;\n this.bhFocus.emit();\n };\n\n private handleBlur = (): void => {\n this.isFocused = false;\n this.bhBlur.emit();\n };\n\n private handleMouseEnter = (): void => {\n if (!this.isFocused) {\n this.isHovered = true;\n }\n };\n\n private handleMouseLeave = (): void => {\n this.isHovered = false;\n };\n\n private handleHelpClick = (): void => {\n this.bhHelpClick.emit();\n };\n\n render() {\n const containerClasses = {\n 'input-container': true,\n 'input-container-focused': this.isFocused,\n 'input-container-hover': this.isHovered && !this.isFocused,\n 'input-container-error': this.error,\n 'input-container-disabled': this.disabled,\n 'input-container-with-leading': this.showLeadingIcon,\n };\n\n const wrapperStyle = this.width ? { width: this.width } : {};\n\n return (\n <div class=\"input-wrapper\" part=\"wrapper\" style={wrapperStyle}>\n <bh-label\n label={this.showLabel ? this.label : ''}\n required={this.required}\n showHelpIcon={this.showHelpIcon}\n helpIconTooltip={this.helpIconTooltip}\n disabled={this.disabled}\n onBhHelpClick={this.handleHelpClick}\n >\n <div\n class={containerClasses}\n onMouseEnter={this.handleMouseEnter}\n onMouseLeave={this.handleMouseLeave}\n >\n <div class=\"input-content\">\n {this.showLeadingIcon && (\n <span class=\"material-symbols-outlined leading-icon\">\n {this.leadingIcon}\n </span>\n )}\n <input\n ref={(el) => (this.inputEl = el)}\n type={this.type}\n class=\"input-element\"\n name={this.name}\n value={this.value}\n placeholder={this.placeholder}\n disabled={this.disabled}\n readOnly={this.readOnly}\n required={this.required}\n aria-label={this.label}\n aria-describedby={\n this.showHintText && this.hintText ? 'hint-text' : undefined\n }\n aria-invalid={String(this.error)}\n onInput={this.handleInput}\n onFocus={this.handleFocus}\n onBlur={this.handleBlur}\n part=\"input\"\n />\n {this.showTrailingIcon && (\n <span class=\"material-symbols-outlined trailing-icon\">\n {this.trailingIcon}\n </span>\n )}\n </div>\n </div>\n </bh-label>\n\n {this.showHintText && this.hintText && (\n <div\n class={{ 'hint-text': true, 'hint-error': this.error }}\n id=\"hint-text\"\n >\n {this.hintText}\n </div>\n )}\n </div>\n );\n }\n}\n"],"names":["syncFormValue","updateValidity","h"],"mappings":"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"}
|
|
@@ -0,0 +1,203 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var index = require('./index-tZqSQc8E.js');
|
|
4
|
+
|
|
5
|
+
const bhInputVerificationCss = ":host{display:block}.input-verification-wrapper{display:flex;flex-direction:column;gap:var(--spacing-sm);width:fit-content}.input-verification-container{display:flex;align-items:center;gap:var(--spacing-sm)}.verification-input{width:64px;height:64px;padding:0;border:1px solid var(--color-neutral-300);border-radius:var(--radius-lg);background-color:var(--color-white);font-family:var(--font-inter);font-size:3rem;font-weight:var(--weight-medium);line-height:1;color:var(--color-neutral-900);transition:all 150ms ease;outline:none;box-sizing:border-box}.verification-input.size-sm{width:64px;height:64px;font-size:3rem;border-radius:var(--radius-lg);padding:var(--spacing-xl) var(--spacing-md)}.verification-input.size-md{width:80px;height:80px;font-size:3rem;border-radius:var(--radius-lg);padding:var(--spacing-2xl) var(--spacing-3xl)}.verification-input.size-lg{width:96px;height:96px;font-size:3.75rem;border-radius:var(--radius-lg);padding:var(--spacing-3xl) var(--spacing-4xl)}.verification-input:hover:not(:disabled){border-color:var(--color-neutral-400)}.verification-input:focus{border-color:var(--color-brand-300);box-shadow:0 0 0 4px var(--color-brand-100)}.verification-input.error{border-color:var(--color-error-300)}.verification-input.error:focus{border-color:var(--color-error-300);box-shadow:0 0 0 4px var(--color-error-100)}.verification-input:disabled{background-color:var(--color-neutral-50);border-color:var(--color-neutral-300);color:var(--color-neutral-400);cursor:not-allowed}.separator{font-family:var(--font-inter);font-size:1.5rem;font-weight:var(--weight-medium);color:var(--color-neutral-400);margin:0 var(--spacing-xs);line-height:1}.separator.size-sm{font-size:1.5rem}.separator.size-md{font-size:1.5rem}.separator.size-lg{font-size:1.875rem}.hint-text{font-family:var(--font-inter);font-size:var(--text-sm-size);font-weight:var(--weight-regular);line-height:var(--text-sm-line);color:var(--color-neutral-600);margin-top:var(--spacing-xs)}.hint-text.error{color:var(--color-error-600)}.verification-input::placeholder{color:var(--color-neutral-400);opacity:1;font-size:inherit;font-weight:var(--weight-regular)}";
|
|
6
|
+
|
|
7
|
+
const BhInputVerification = class {
|
|
8
|
+
constructor(hostRef) {
|
|
9
|
+
index.registerInstance(this, hostRef);
|
|
10
|
+
this.bhChange = index.createEvent(this, "bhChange");
|
|
11
|
+
this.bhComplete = index.createEvent(this, "bhComplete");
|
|
12
|
+
}
|
|
13
|
+
get el() { return index.getElement(this); }
|
|
14
|
+
/**
|
|
15
|
+
* Size variant of the input fields
|
|
16
|
+
*/
|
|
17
|
+
size = 'md';
|
|
18
|
+
/**
|
|
19
|
+
* Number of digits (4 or 6)
|
|
20
|
+
*/
|
|
21
|
+
digits = 4;
|
|
22
|
+
/**
|
|
23
|
+
* Label text for the input
|
|
24
|
+
*/
|
|
25
|
+
label = 'Secure code';
|
|
26
|
+
/**
|
|
27
|
+
* Whether to show the label
|
|
28
|
+
*/
|
|
29
|
+
showLabel = true;
|
|
30
|
+
/**
|
|
31
|
+
* Hint text displayed below the inputs
|
|
32
|
+
*/
|
|
33
|
+
hintText = 'This is a hint text to help user.';
|
|
34
|
+
/**
|
|
35
|
+
* Whether to show the hint text
|
|
36
|
+
*/
|
|
37
|
+
showHintText = true;
|
|
38
|
+
/**
|
|
39
|
+
* Whether the input is in an error state
|
|
40
|
+
*/
|
|
41
|
+
error = false;
|
|
42
|
+
/**
|
|
43
|
+
* Whether the input is disabled
|
|
44
|
+
*/
|
|
45
|
+
disabled = false;
|
|
46
|
+
/**
|
|
47
|
+
* Whether the field is required
|
|
48
|
+
*/
|
|
49
|
+
required = false;
|
|
50
|
+
/**
|
|
51
|
+
* Whether to show the separator for 6-digit codes
|
|
52
|
+
*/
|
|
53
|
+
showSeparator = true;
|
|
54
|
+
/**
|
|
55
|
+
* Placeholder character for empty inputs
|
|
56
|
+
*/
|
|
57
|
+
placeholder = '';
|
|
58
|
+
/**
|
|
59
|
+
* Width of the component
|
|
60
|
+
*/
|
|
61
|
+
width = '';
|
|
62
|
+
/**
|
|
63
|
+
* Current value of the verification code
|
|
64
|
+
*/
|
|
65
|
+
value = '';
|
|
66
|
+
values = [];
|
|
67
|
+
inputRefs = [];
|
|
68
|
+
/**
|
|
69
|
+
* Event emitted when the value changes
|
|
70
|
+
*/
|
|
71
|
+
bhChange;
|
|
72
|
+
/**
|
|
73
|
+
* Event emitted when all digits are filled
|
|
74
|
+
*/
|
|
75
|
+
bhComplete;
|
|
76
|
+
watchValue(newValue) {
|
|
77
|
+
const newValues = newValue.split('').concat(Array(this.digits).fill('')).slice(0, this.digits);
|
|
78
|
+
this.values = newValues;
|
|
79
|
+
}
|
|
80
|
+
watchDigits() {
|
|
81
|
+
this.values = Array(this.digits).fill('');
|
|
82
|
+
}
|
|
83
|
+
componentWillLoad() {
|
|
84
|
+
this.values = this.value
|
|
85
|
+
? this.value.split('').concat(Array(this.digits).fill('')).slice(0, this.digits)
|
|
86
|
+
: Array(this.digits).fill('');
|
|
87
|
+
}
|
|
88
|
+
componentDidLoad() {
|
|
89
|
+
// Focus first input on mount if not disabled
|
|
90
|
+
if (!this.disabled) {
|
|
91
|
+
const firstInput = this.el.shadowRoot?.querySelector('input');
|
|
92
|
+
firstInput?.focus();
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
updateValues(newValues) {
|
|
96
|
+
this.values = newValues;
|
|
97
|
+
const newValue = newValues.join('');
|
|
98
|
+
this.value = newValue;
|
|
99
|
+
this.bhChange.emit(newValue);
|
|
100
|
+
// Check if all fields are filled
|
|
101
|
+
if (newValues.every(val => val !== '')) {
|
|
102
|
+
this.bhComplete.emit(newValue);
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
handleInputChange(index, event) {
|
|
106
|
+
const input = event.target;
|
|
107
|
+
const inputValue = input.value;
|
|
108
|
+
// Only allow single digits
|
|
109
|
+
const digit = inputValue.replace(/\D/g, '').slice(-1);
|
|
110
|
+
const newValues = [...this.values];
|
|
111
|
+
newValues[index] = digit;
|
|
112
|
+
this.updateValues(newValues);
|
|
113
|
+
// Auto-advance to next input if digit entered
|
|
114
|
+
if (digit && index < this.digits - 1) {
|
|
115
|
+
const nextInput = this.el.shadowRoot?.querySelectorAll('input')[index + 1];
|
|
116
|
+
nextInput?.focus();
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
handleKeyDown(index, event) {
|
|
120
|
+
if (event.key === 'Backspace') {
|
|
121
|
+
event.preventDefault();
|
|
122
|
+
const newValues = [...this.values];
|
|
123
|
+
if (this.values[index]) {
|
|
124
|
+
// Clear current field
|
|
125
|
+
newValues[index] = '';
|
|
126
|
+
this.updateValues(newValues);
|
|
127
|
+
}
|
|
128
|
+
else if (index > 0) {
|
|
129
|
+
// Move to previous field and clear it
|
|
130
|
+
newValues[index - 1] = '';
|
|
131
|
+
this.updateValues(newValues);
|
|
132
|
+
const prevInput = this.el.shadowRoot?.querySelectorAll('input')[index - 1];
|
|
133
|
+
prevInput?.focus();
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
else if (event.key === 'ArrowLeft' && index > 0) {
|
|
137
|
+
event.preventDefault();
|
|
138
|
+
const prevInput = this.el.shadowRoot?.querySelectorAll('input')[index - 1];
|
|
139
|
+
prevInput?.focus();
|
|
140
|
+
}
|
|
141
|
+
else if (event.key === 'ArrowRight' && index < this.digits - 1) {
|
|
142
|
+
event.preventDefault();
|
|
143
|
+
const nextInput = this.el.shadowRoot?.querySelectorAll('input')[index + 1];
|
|
144
|
+
nextInput?.focus();
|
|
145
|
+
}
|
|
146
|
+
else if (event.key >= '0' && event.key <= '9') {
|
|
147
|
+
event.preventDefault();
|
|
148
|
+
const newValues = [...this.values];
|
|
149
|
+
newValues[index] = event.key;
|
|
150
|
+
this.updateValues(newValues);
|
|
151
|
+
// Auto-advance to next input
|
|
152
|
+
if (index < this.digits - 1) {
|
|
153
|
+
const nextInput = this.el.shadowRoot?.querySelectorAll('input')[index + 1];
|
|
154
|
+
nextInput?.focus();
|
|
155
|
+
}
|
|
156
|
+
}
|
|
157
|
+
}
|
|
158
|
+
handlePaste(event) {
|
|
159
|
+
event.preventDefault();
|
|
160
|
+
const pastedText = event.clipboardData?.getData('text') || '';
|
|
161
|
+
const pastedDigits = pastedText.replace(/\D/g, '').slice(0, this.digits);
|
|
162
|
+
if (pastedDigits) {
|
|
163
|
+
const newValues = pastedDigits.split('').concat(Array(this.digits).fill('')).slice(0, this.digits);
|
|
164
|
+
this.updateValues(newValues);
|
|
165
|
+
// Focus on the next empty input or last input
|
|
166
|
+
const nextEmptyIndex = newValues.findIndex(val => val === '');
|
|
167
|
+
const focusIndex = nextEmptyIndex === -1 ? this.digits - 1 : Math.min(nextEmptyIndex, this.digits - 1);
|
|
168
|
+
const inputToFocus = this.el.shadowRoot?.querySelectorAll('input')[focusIndex];
|
|
169
|
+
inputToFocus?.focus();
|
|
170
|
+
}
|
|
171
|
+
}
|
|
172
|
+
handleFocus(event) {
|
|
173
|
+
const input = event.target;
|
|
174
|
+
input.select();
|
|
175
|
+
}
|
|
176
|
+
renderInputs() {
|
|
177
|
+
const inputs = [];
|
|
178
|
+
for (let i = 0; i < this.digits; i++) {
|
|
179
|
+
// Add separator for 6-digit codes
|
|
180
|
+
if (this.digits === 6 && i === 3 && this.showSeparator) {
|
|
181
|
+
inputs.push(index.h("span", { key: "separator", class: { 'separator': true, [`size-${this.size}`]: true } }, "-"));
|
|
182
|
+
}
|
|
183
|
+
inputs.push(index.h("input", { key: i, type: "text", inputmode: "numeric", pattern: "[0-9]", maxLength: 1, value: this.values[i] || '', placeholder: this.placeholder && i < this.placeholder.length ? this.placeholder[i] : '', disabled: this.disabled, class: {
|
|
184
|
+
'verification-input': true,
|
|
185
|
+
[`size-${this.size}`]: true,
|
|
186
|
+
'error': this.error,
|
|
187
|
+
}, onInput: (e) => this.handleInputChange(i, e), onKeyDown: (e) => this.handleKeyDown(i, e), onPaste: (e) => this.handlePaste(e), onFocus: (e) => this.handleFocus(e), "aria-label": `Digit ${i + 1} of ${this.digits}` }));
|
|
188
|
+
}
|
|
189
|
+
return inputs;
|
|
190
|
+
}
|
|
191
|
+
render() {
|
|
192
|
+
const wrapperStyle = this.width ? { width: this.width } : {};
|
|
193
|
+
return (index.h("div", { key: 'a7068d5407c0d09021313fc6103b5073ca74f628', class: "input-verification-wrapper", style: wrapperStyle }, index.h("bh-label", { key: '7b62a57a432f3d8f4df7befb87f27a09afeb51fd', label: this.showLabel ? this.label : '', required: this.required, disabled: this.disabled }, index.h("div", { key: '99cb7311f66b69731dc1d286bd96662c4035affb', class: "input-verification-container" }, this.renderInputs())), this.showHintText && this.hintText && (index.h("div", { key: '5fbfc4b1f8c3a251a0d879b2554c390126a391c1', class: { 'hint-text': true, 'error': this.error } }, this.hintText))));
|
|
194
|
+
}
|
|
195
|
+
static get watchers() { return {
|
|
196
|
+
"value": ["watchValue"],
|
|
197
|
+
"digits": ["watchDigits"]
|
|
198
|
+
}; }
|
|
199
|
+
};
|
|
200
|
+
BhInputVerification.style = bhInputVerificationCss;
|
|
201
|
+
|
|
202
|
+
exports.bh_input_verification = BhInputVerification;
|
|
203
|
+
//# sourceMappingURL=bh-input-verification.entry.cjs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bh-input-verification.entry.cjs.js","sources":["src/components/bh-input-verification/bh-input-verification.css?tag=bh-input-verification&encapsulation=shadow","src/components/bh-input-verification/bh-input-verification.tsx"],"sourcesContent":[":host {\n display: block;\n}\n\n.input-verification-wrapper {\n display: flex;\n flex-direction: column;\n gap: var(--spacing-sm);\n width: fit-content;\n}\n\n.input-verification-container {\n display: flex;\n align-items: center;\n gap: var(--spacing-sm);\n}\n\n.verification-input {\n width: 64px;\n height: 64px;\n padding: 0;\n border: 1px solid var(--color-neutral-300);\n border-radius: var(--radius-lg);\n background-color: var(--color-white);\n font-family: var(--font-inter);\n font-size: 3rem;\n font-weight: var(--weight-medium);\n line-height: 1;\n color: var(--color-neutral-900);\n transition: all 150ms ease;\n outline: none;\n box-sizing: border-box;\n}\n\n/* Size variants */\n.verification-input.size-sm {\n width: 64px;\n height: 64px;\n font-size: 3rem;\n border-radius: var(--radius-lg);\n padding: var(--spacing-xl) var(--spacing-md);\n}\n\n.verification-input.size-md {\n width: 80px;\n height: 80px;\n font-size: 3rem;\n border-radius: var(--radius-lg);\n padding: var(--spacing-2xl) var(--spacing-3xl);\n}\n\n.verification-input.size-lg {\n width: 96px;\n height: 96px;\n font-size: 3.75rem;\n border-radius: var(--radius-lg);\n padding: var(--spacing-3xl) var(--spacing-4xl);\n}\n\n/* States */\n.verification-input:hover:not(:disabled) {\n border-color: var(--color-neutral-400);\n}\n\n.verification-input:focus {\n border-color: var(--color-brand-300);\n box-shadow: 0 0 0 4px var(--color-brand-100);\n}\n\n.verification-input.error {\n border-color: var(--color-error-300);\n}\n\n.verification-input.error:focus {\n border-color: var(--color-error-300);\n box-shadow: 0 0 0 4px var(--color-error-100);\n}\n\n.verification-input:disabled {\n background-color: var(--color-neutral-50);\n border-color: var(--color-neutral-300);\n color: var(--color-neutral-400);\n cursor: not-allowed;\n}\n\n.separator {\n font-family: var(--font-inter);\n font-size: 1.5rem;\n font-weight: var(--weight-medium);\n color: var(--color-neutral-400);\n margin: 0 var(--spacing-xs);\n line-height: 1;\n}\n\n.separator.size-sm {\n font-size: 1.5rem;\n}\n\n.separator.size-md {\n font-size: 1.5rem;\n}\n\n.separator.size-lg {\n font-size: 1.875rem;\n}\n\n.hint-text {\n font-family: var(--font-inter);\n font-size: var(--text-sm-size);\n font-weight: var(--weight-regular);\n line-height: var(--text-sm-line);\n color: var(--color-neutral-600);\n margin-top: var(--spacing-xs);\n}\n\n.hint-text.error {\n color: var(--color-error-600);\n}\n\n.verification-input::placeholder {\n color: var(--color-neutral-400);\n opacity: 1;\n font-size: inherit;\n font-weight: var(--weight-regular);\n}\n","import { Component, Prop, State, Event, EventEmitter, Element, h, Watch } from '@stencil/core';\n\nexport type InputVerificationSize = 'sm' | 'md' | 'lg';\nexport type InputVerificationDigits = 4 | 6;\n\n@Component({\n tag: 'bh-input-verification',\n styleUrl: 'bh-input-verification.css',\n shadow: true,\n})\nexport class BhInputVerification {\n @Element() el!: HTMLElement;\n\n /**\n * Size variant of the input fields\n */\n @Prop() size: InputVerificationSize = 'md';\n\n /**\n * Number of digits (4 or 6)\n */\n @Prop() digits: InputVerificationDigits = 4;\n\n /**\n * Label text for the input\n */\n @Prop() label: string = 'Secure code';\n\n /**\n * Whether to show the label\n */\n @Prop() showLabel: boolean = true;\n\n /**\n * Hint text displayed below the inputs\n */\n @Prop() hintText: string = 'This is a hint text to help user.';\n\n /**\n * Whether to show the hint text\n */\n @Prop() showHintText: boolean = true;\n\n /**\n * Whether the input is in an error state\n */\n @Prop() error: boolean = false;\n\n /**\n * Whether the input is disabled\n */\n @Prop() disabled: boolean = false;\n\n /**\n * Whether the field is required\n */\n @Prop() required: boolean = false;\n\n /**\n * Whether to show the separator for 6-digit codes\n */\n @Prop() showSeparator: boolean = true;\n\n /**\n * Placeholder character for empty inputs\n */\n @Prop() placeholder: string = '';\n\n /**\n * Width of the component\n */\n @Prop() width: string = '';\n\n /**\n * Current value of the verification code\n */\n @Prop({ mutable: true }) value: string = '';\n\n @State() values: string[] = [];\n @State() inputRefs: HTMLInputElement[] = [];\n\n /**\n * Event emitted when the value changes\n */\n @Event() bhChange!: EventEmitter<string>;\n\n /**\n * Event emitted when all digits are filled\n */\n @Event() bhComplete!: EventEmitter<string>;\n\n @Watch('value')\n watchValue(newValue: string) {\n const newValues = newValue.split('').concat(Array(this.digits).fill('')).slice(0, this.digits);\n this.values = newValues;\n }\n\n @Watch('digits')\n watchDigits() {\n this.values = Array(this.digits).fill('');\n }\n\n componentWillLoad() {\n this.values = this.value\n ? this.value.split('').concat(Array(this.digits).fill('')).slice(0, this.digits)\n : Array(this.digits).fill('');\n }\n\n componentDidLoad() {\n // Focus first input on mount if not disabled\n if (!this.disabled) {\n const firstInput = this.el.shadowRoot?.querySelector('input');\n firstInput?.focus();\n }\n }\n\n private updateValues(newValues: string[]) {\n this.values = newValues;\n const newValue = newValues.join('');\n this.value = newValue;\n this.bhChange.emit(newValue);\n\n // Check if all fields are filled\n if (newValues.every(val => val !== '')) {\n this.bhComplete.emit(newValue);\n }\n }\n\n private handleInputChange(index: number, event: Event) {\n const input = event.target as HTMLInputElement;\n const inputValue = input.value;\n\n // Only allow single digits\n const digit = inputValue.replace(/\\D/g, '').slice(-1);\n\n const newValues = [...this.values];\n newValues[index] = digit;\n this.updateValues(newValues);\n\n // Auto-advance to next input if digit entered\n if (digit && index < this.digits - 1) {\n const nextInput = this.el.shadowRoot?.querySelectorAll('input')[index + 1];\n nextInput?.focus();\n }\n }\n\n private handleKeyDown(index: number, event: KeyboardEvent) {\n if (event.key === 'Backspace') {\n event.preventDefault();\n const newValues = [...this.values];\n\n if (this.values[index]) {\n // Clear current field\n newValues[index] = '';\n this.updateValues(newValues);\n } else if (index > 0) {\n // Move to previous field and clear it\n newValues[index - 1] = '';\n this.updateValues(newValues);\n const prevInput = this.el.shadowRoot?.querySelectorAll('input')[index - 1];\n prevInput?.focus();\n }\n } else if (event.key === 'ArrowLeft' && index > 0) {\n event.preventDefault();\n const prevInput = this.el.shadowRoot?.querySelectorAll('input')[index - 1];\n prevInput?.focus();\n } else if (event.key === 'ArrowRight' && index < this.digits - 1) {\n event.preventDefault();\n const nextInput = this.el.shadowRoot?.querySelectorAll('input')[index + 1];\n nextInput?.focus();\n } else if (event.key >= '0' && event.key <= '9') {\n event.preventDefault();\n const newValues = [...this.values];\n newValues[index] = event.key;\n this.updateValues(newValues);\n\n // Auto-advance to next input\n if (index < this.digits - 1) {\n const nextInput = this.el.shadowRoot?.querySelectorAll('input')[index + 1];\n nextInput?.focus();\n }\n }\n }\n\n private handlePaste(event: ClipboardEvent) {\n event.preventDefault();\n\n const pastedText = event.clipboardData?.getData('text') || '';\n const pastedDigits = pastedText.replace(/\\D/g, '').slice(0, this.digits);\n\n if (pastedDigits) {\n const newValues = pastedDigits.split('').concat(Array(this.digits).fill('')).slice(0, this.digits);\n this.updateValues(newValues);\n\n // Focus on the next empty input or last input\n const nextEmptyIndex = newValues.findIndex(val => val === '');\n const focusIndex = nextEmptyIndex === -1 ? this.digits - 1 : Math.min(nextEmptyIndex, this.digits - 1);\n const inputToFocus = this.el.shadowRoot?.querySelectorAll('input')[focusIndex];\n inputToFocus?.focus();\n }\n }\n\n private handleFocus(event: Event) {\n const input = event.target as HTMLInputElement;\n input.select();\n }\n\n private renderInputs() {\n const inputs = [];\n\n for (let i = 0; i < this.digits; i++) {\n // Add separator for 6-digit codes\n if (this.digits === 6 && i === 3 && this.showSeparator) {\n inputs.push(\n <span key=\"separator\" class={{ 'separator': true, [`size-${this.size}`]: true }}>\n -\n </span>\n );\n }\n\n inputs.push(\n <input\n key={i}\n type=\"text\"\n inputmode=\"numeric\"\n pattern=\"[0-9]\"\n maxLength={1}\n value={this.values[i] || ''}\n placeholder={this.placeholder && i < this.placeholder.length ? this.placeholder[i] : ''}\n disabled={this.disabled}\n class={{\n 'verification-input': true,\n [`size-${this.size}`]: true,\n 'error': this.error,\n }}\n onInput={(e) => this.handleInputChange(i, e)}\n onKeyDown={(e) => this.handleKeyDown(i, e)}\n onPaste={(e) => this.handlePaste(e)}\n onFocus={(e) => this.handleFocus(e)}\n aria-label={`Digit ${i + 1} of ${this.digits}`}\n />\n );\n }\n\n return inputs;\n }\n\n render() {\n const wrapperStyle = this.width ? { width: this.width } : {};\n\n return (\n <div class=\"input-verification-wrapper\" style={wrapperStyle}>\n <bh-label\n label={this.showLabel ? this.label : ''}\n required={this.required}\n disabled={this.disabled}\n >\n <div class=\"input-verification-container\">\n {this.renderInputs()}\n </div>\n </bh-label>\n\n {this.showHintText && this.hintText && (\n <div class={{ 'hint-text': true, 'error': this.error }}>\n {this.hintText}\n </div>\n )}\n </div>\n );\n }\n}\n"],"names":["h"],"mappings":"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"}
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var index = require('./index-tZqSQc8E.js');
|
|
4
|
+
|
|
5
|
+
const bhLabelCss = ":host{display:block;font-family:var(--font-inter, 'Inter', sans-serif)}.label-container{display:flex;flex-direction:column;gap:var(--spacing-xs, 6px)}.label-container.layout-block{flex-direction:column}.label-container.layout-inline{flex-direction:row;align-items:flex-start;gap:var(--spacing-sm, 8px)}.label-container.layout-inline .label-wrapper{flex-shrink:0}.label-container.layout-inline-start{flex-direction:row;align-items:flex-start;gap:var(--spacing-sm, 8px)}.label-container.layout-inline-start .label-content{flex-shrink:0;width:auto}.label-container.layout-inline-start .label-text-group{display:flex;flex-direction:column;gap:2px}.label-container.layout-inline-start .label-wrapper{gap:var(--spacing-xxs, 4px)}.label-container.layout-inline-start .label-text{font-size:var(--text-md-size, 16px);color:var(--color-neutral-900, #101828);cursor:pointer}.label-container.layout-inline-start .supporting-text{font-size:var(--text-sm-size, 14px);color:var(--color-neutral-500, #667085)}.label-container.layout-inline-space-between{flex-direction:row;align-items:flex-start;justify-content:space-between;gap:var(--spacing-sm, 8px)}.label-container.layout-inline-space-between .label-wrapper{flex-shrink:0}.label-container.layout-inline-space-between .label-content{flex-grow:1;display:flex;justify-content:flex-end}.label-wrapper{display:flex;align-items:center;gap:var(--spacing-xxs, 4px)}.label-text{font-family:inherit;font-weight:500;font-size:var(--text-sm-size, 14px);line-height:1.43;color:var(--color-neutral-700, #344054);margin:0;cursor:default}.label-text.disabled{color:var(--color-neutral-400, #98a2b3)}.asterisk{font-family:inherit;font-weight:400;font-size:var(--text-sm-size, 14px);line-height:1.43;color:var(--color-error-600, #dc2626)}.supporting-text{font-family:inherit;font-weight:400;font-size:var(--text-sm-size, 14px);line-height:1.43;color:var(--color-neutral-500, #667085);margin:0}.supporting-text.disabled{color:var(--color-neutral-400, #98a2b3)}.label-content{width:100%}.icon-with-tooltip{position:relative;display:flex;align-items:center;flex-shrink:0;margin-left:auto}.help-icon{font-size:var(--text-xl-size, 20px);color:var(--color-neutral-400, #98a2b3);cursor:pointer;user-select:none;transition:color 0.2s ease-in-out}.help-icon:hover{color:var(--color-neutral-500, #667085)}.disabled .help-icon{color:var(--color-neutral-300, #d0d5dd);cursor:not-allowed}";
|
|
6
|
+
|
|
7
|
+
const BhLabel = class {
|
|
8
|
+
constructor(hostRef) {
|
|
9
|
+
index.registerInstance(this, hostRef);
|
|
10
|
+
this.bhHelpClick = index.createEvent(this, "bhHelpClick");
|
|
11
|
+
}
|
|
12
|
+
get el() { return index.getElement(this); }
|
|
13
|
+
tooltipTimerRef;
|
|
14
|
+
/**
|
|
15
|
+
* The label text to display
|
|
16
|
+
*/
|
|
17
|
+
label = '';
|
|
18
|
+
/**
|
|
19
|
+
* Layout style for the label container
|
|
20
|
+
* - block: Label above content (default for form fields)
|
|
21
|
+
* - inline: Label next to content (label first)
|
|
22
|
+
* - inline-start: Content next to label (content first, for checkboxes/radios)
|
|
23
|
+
* - inline-space-between: Label and content on opposite ends
|
|
24
|
+
*/
|
|
25
|
+
layout = 'block';
|
|
26
|
+
/**
|
|
27
|
+
* The id of the form element the label is bound to.
|
|
28
|
+
* Use when the labeled element is not a child of this component.
|
|
29
|
+
*/
|
|
30
|
+
for = '';
|
|
31
|
+
/**
|
|
32
|
+
* Supporting text displayed below the label (second line)
|
|
33
|
+
* for instructions or additional description
|
|
34
|
+
*/
|
|
35
|
+
supportingText = '';
|
|
36
|
+
/**
|
|
37
|
+
* Whether to show the required asterisk
|
|
38
|
+
*/
|
|
39
|
+
required = false;
|
|
40
|
+
/**
|
|
41
|
+
* Whether to show the help icon
|
|
42
|
+
*/
|
|
43
|
+
showHelpIcon = false;
|
|
44
|
+
/**
|
|
45
|
+
* Tooltip text for the help icon
|
|
46
|
+
*/
|
|
47
|
+
helpIconTooltip = 'Help';
|
|
48
|
+
/**
|
|
49
|
+
* Whether the label is disabled
|
|
50
|
+
*/
|
|
51
|
+
disabled = false;
|
|
52
|
+
showHelpTooltip = false;
|
|
53
|
+
/**
|
|
54
|
+
* Emitted when the help icon is clicked
|
|
55
|
+
*/
|
|
56
|
+
bhHelpClick;
|
|
57
|
+
disconnectedCallback() {
|
|
58
|
+
if (this.tooltipTimerRef) {
|
|
59
|
+
clearTimeout(this.tooltipTimerRef);
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
handleHelpIconMouseEnter = () => {
|
|
63
|
+
if (this.tooltipTimerRef) {
|
|
64
|
+
clearTimeout(this.tooltipTimerRef);
|
|
65
|
+
}
|
|
66
|
+
this.tooltipTimerRef = setTimeout(() => {
|
|
67
|
+
this.showHelpTooltip = true;
|
|
68
|
+
}, 300);
|
|
69
|
+
};
|
|
70
|
+
handleHelpIconMouseLeave = () => {
|
|
71
|
+
if (this.tooltipTimerRef) {
|
|
72
|
+
clearTimeout(this.tooltipTimerRef);
|
|
73
|
+
this.tooltipTimerRef = undefined;
|
|
74
|
+
}
|
|
75
|
+
this.showHelpTooltip = false;
|
|
76
|
+
};
|
|
77
|
+
handleHelpIconClick = () => {
|
|
78
|
+
this.bhHelpClick.emit();
|
|
79
|
+
};
|
|
80
|
+
render() {
|
|
81
|
+
const wrapperClasses = {
|
|
82
|
+
'label-container': true,
|
|
83
|
+
[`layout-${this.layout}`]: true,
|
|
84
|
+
'disabled': this.disabled,
|
|
85
|
+
};
|
|
86
|
+
const labelClasses = {
|
|
87
|
+
'label-text': true,
|
|
88
|
+
'disabled': this.disabled,
|
|
89
|
+
};
|
|
90
|
+
const supportingClasses = {
|
|
91
|
+
'supporting-text': true,
|
|
92
|
+
'disabled': this.disabled,
|
|
93
|
+
};
|
|
94
|
+
const labelWrapper = (index.h("div", { class: "label-wrapper" }, this.label && (index.h("label", { class: labelClasses, htmlFor: this.for || undefined }, this.label)), this.required && index.h("span", { class: "asterisk" }, "*"), this.showHelpIcon && (index.h("div", { class: "icon-with-tooltip" }, index.h("span", { class: "help-icon material-symbols-outlined", onClick: this.handleHelpIconClick, onMouseEnter: this.handleHelpIconMouseEnter, onMouseLeave: this.handleHelpIconMouseLeave }, "help"), index.h("bh-tooltip", { text: this.helpIconTooltip, position: "top", visible: this.showHelpTooltip })))));
|
|
95
|
+
const supportingTextEl = this.supportingText && (index.h("p", { class: supportingClasses }, this.supportingText));
|
|
96
|
+
const contentSlot = (index.h("div", { class: "label-content" }, index.h("slot", null)));
|
|
97
|
+
// For inline-start layout, content comes first (used for checkbox/radio)
|
|
98
|
+
if (this.layout === 'inline-start') {
|
|
99
|
+
return (index.h("div", { class: wrapperClasses }, contentSlot, index.h("div", { class: "label-text-group" }, labelWrapper, supportingTextEl)));
|
|
100
|
+
}
|
|
101
|
+
// Default layout: label wrapper first, then content
|
|
102
|
+
return (index.h("div", { class: wrapperClasses }, labelWrapper, supportingTextEl, contentSlot));
|
|
103
|
+
}
|
|
104
|
+
};
|
|
105
|
+
BhLabel.style = bhLabelCss;
|
|
106
|
+
|
|
107
|
+
exports.BhLabel = BhLabel;
|
|
108
|
+
//# sourceMappingURL=bh-label-DBqucnaO.js.map
|
|
109
|
+
|
|
110
|
+
//# sourceMappingURL=bh-label-DBqucnaO.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bh-label-DBqucnaO.js","sources":["src/components/bh-label/bh-label.css?tag=bh-label&encapsulation=shadow","src/components/bh-label/bh-label.tsx"],"sourcesContent":[":host {\n display: block;\n font-family: var(--font-inter, 'Inter', sans-serif);\n}\n\n.label-container {\n display: flex;\n flex-direction: column;\n gap: var(--spacing-xs, 6px);\n}\n\n.label-container.layout-block {\n flex-direction: column;\n}\n\n.label-container.layout-inline {\n flex-direction: row;\n align-items: flex-start;\n gap: var(--spacing-sm, 8px);\n}\n\n.label-container.layout-inline .label-wrapper {\n flex-shrink: 0;\n}\n\n.label-container.layout-inline-start {\n flex-direction: row;\n align-items: flex-start;\n gap: var(--spacing-sm, 8px);\n}\n\n.label-container.layout-inline-start .label-content {\n flex-shrink: 0;\n width: auto;\n}\n\n.label-container.layout-inline-start .label-text-group {\n display: flex;\n flex-direction: column;\n gap: 2px;\n}\n\n.label-container.layout-inline-start .label-wrapper {\n gap: var(--spacing-xxs, 4px);\n}\n\n.label-container.layout-inline-start .label-text {\n font-size: var(--text-md-size, 16px);\n color: var(--color-neutral-900, #101828);\n cursor: pointer;\n}\n\n.label-container.layout-inline-start .supporting-text {\n font-size: var(--text-sm-size, 14px);\n color: var(--color-neutral-500, #667085);\n}\n\n.label-container.layout-inline-space-between {\n flex-direction: row;\n align-items: flex-start;\n justify-content: space-between;\n gap: var(--spacing-sm, 8px);\n}\n\n.label-container.layout-inline-space-between .label-wrapper {\n flex-shrink: 0;\n}\n\n.label-container.layout-inline-space-between .label-content {\n flex-grow: 1;\n display: flex;\n justify-content: flex-end;\n}\n\n.label-wrapper {\n display: flex;\n align-items: center;\n gap: var(--spacing-xxs, 4px);\n}\n\n.label-text {\n font-family: inherit;\n font-weight: 500;\n font-size: var(--text-sm-size, 14px);\n line-height: 1.43;\n color: var(--color-neutral-700, #344054);\n margin: 0;\n cursor: default;\n}\n\n.label-text.disabled {\n color: var(--color-neutral-400, #98a2b3);\n}\n\n.asterisk {\n font-family: inherit;\n font-weight: 400;\n font-size: var(--text-sm-size, 14px);\n line-height: 1.43;\n color: var(--color-error-600, #dc2626);\n}\n\n.supporting-text {\n font-family: inherit;\n font-weight: 400;\n font-size: var(--text-sm-size, 14px);\n line-height: 1.43;\n color: var(--color-neutral-500, #667085);\n margin: 0;\n}\n\n.supporting-text.disabled {\n color: var(--color-neutral-400, #98a2b3);\n}\n\n.label-content {\n width: 100%;\n}\n\n.icon-with-tooltip {\n position: relative;\n display: flex;\n align-items: center;\n flex-shrink: 0;\n margin-left: auto;\n}\n\n.help-icon {\n font-size: var(--text-xl-size, 20px);\n color: var(--color-neutral-400, #98a2b3);\n cursor: pointer;\n user-select: none;\n transition: color 0.2s ease-in-out;\n}\n\n.help-icon:hover {\n color: var(--color-neutral-500, #667085);\n}\n\n.disabled .help-icon {\n color: var(--color-neutral-300, #d0d5dd);\n cursor: not-allowed;\n}\n","import { Component, Prop, h, Element, State, Event, EventEmitter } from '@stencil/core';\n\nexport type LabelLayout = 'block' | 'inline' | 'inline-start' | 'inline-space-between';\n\n@Component({\n tag: 'bh-label',\n styleUrl: 'bh-label.css',\n shadow: true,\n})\nexport class BhLabel {\n @Element() el!: HTMLElement;\n\n private tooltipTimerRef?: ReturnType<typeof setTimeout>;\n\n /**\n * The label text to display\n */\n @Prop() label: string = '';\n\n /**\n * Layout style for the label container\n * - block: Label above content (default for form fields)\n * - inline: Label next to content (label first)\n * - inline-start: Content next to label (content first, for checkboxes/radios)\n * - inline-space-between: Label and content on opposite ends\n */\n @Prop() layout: LabelLayout = 'block';\n\n /**\n * The id of the form element the label is bound to.\n * Use when the labeled element is not a child of this component.\n */\n @Prop() for: string = '';\n\n /**\n * Supporting text displayed below the label (second line)\n * for instructions or additional description\n */\n @Prop() supportingText: string = '';\n\n /**\n * Whether to show the required asterisk\n */\n @Prop() required: boolean = false;\n\n /**\n * Whether to show the help icon\n */\n @Prop() showHelpIcon: boolean = false;\n\n /**\n * Tooltip text for the help icon\n */\n @Prop() helpIconTooltip: string = 'Help';\n\n /**\n * Whether the label is disabled\n */\n @Prop() disabled: boolean = false;\n\n @State() showHelpTooltip: boolean = false;\n\n /**\n * Emitted when the help icon is clicked\n */\n @Event() bhHelpClick!: EventEmitter<void>;\n\n disconnectedCallback() {\n if (this.tooltipTimerRef) {\n clearTimeout(this.tooltipTimerRef);\n }\n }\n\n private handleHelpIconMouseEnter = () => {\n if (this.tooltipTimerRef) {\n clearTimeout(this.tooltipTimerRef);\n }\n this.tooltipTimerRef = setTimeout(() => {\n this.showHelpTooltip = true;\n }, 300);\n };\n\n private handleHelpIconMouseLeave = () => {\n if (this.tooltipTimerRef) {\n clearTimeout(this.tooltipTimerRef);\n this.tooltipTimerRef = undefined;\n }\n this.showHelpTooltip = false;\n };\n\n private handleHelpIconClick = () => {\n this.bhHelpClick.emit();\n };\n\n render() {\n const wrapperClasses = {\n 'label-container': true,\n [`layout-${this.layout}`]: true,\n 'disabled': this.disabled,\n };\n\n const labelClasses = {\n 'label-text': true,\n 'disabled': this.disabled,\n };\n\n const supportingClasses = {\n 'supporting-text': true,\n 'disabled': this.disabled,\n };\n\n const labelWrapper = (\n <div class=\"label-wrapper\">\n {this.label && (\n <label class={labelClasses} htmlFor={this.for || undefined}>\n {this.label}\n </label>\n )}\n {this.required && <span class=\"asterisk\">*</span>}\n {this.showHelpIcon && (\n <div class=\"icon-with-tooltip\">\n <span\n class=\"help-icon material-symbols-outlined\"\n onClick={this.handleHelpIconClick}\n onMouseEnter={this.handleHelpIconMouseEnter}\n onMouseLeave={this.handleHelpIconMouseLeave}\n >\n help\n </span>\n <bh-tooltip\n text={this.helpIconTooltip}\n position=\"top\"\n visible={this.showHelpTooltip}\n />\n </div>\n )}\n </div>\n );\n\n const supportingTextEl = this.supportingText && (\n <p class={supportingClasses}>{this.supportingText}</p>\n );\n\n const contentSlot = (\n <div class=\"label-content\">\n <slot></slot>\n </div>\n );\n\n // For inline-start layout, content comes first (used for checkbox/radio)\n if (this.layout === 'inline-start') {\n return (\n <div class={wrapperClasses}>\n {contentSlot}\n <div class=\"label-text-group\">\n {labelWrapper}\n {supportingTextEl}\n </div>\n </div>\n );\n }\n\n // Default layout: label wrapper first, then content\n return (\n <div class={wrapperClasses}>\n {labelWrapper}\n {supportingTextEl}\n {contentSlot}\n </div>\n );\n }\n}\n"],"names":["h"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bh-label.bh-tooltip.entry.cjs.js","sources":["src/components/bh-tooltip/bh-tooltip.css?tag=bh-tooltip&encapsulation=shadow","src/components/bh-tooltip/bh-tooltip.tsx"],"sourcesContent":["/* ==========================================================================\n BH-TOOLTIP COMPONENT STYLES\n ========================================================================== */\n\n:host {\n display: inline-block;\n}\n\n.tooltip {\n position: absolute;\n z-index: 10000;\n pointer-events: none;\n opacity: 0;\n transition: opacity 0.2s ease-in-out;\n white-space: nowrap;\n}\n\n.tooltip-visible {\n opacity: 1;\n}\n\n.tooltip-content {\n background-color: var(--color-neutral-900);\n color: var(--color-white);\n font-family: var(--font-inter);\n font-weight: var(--weight-semibold);\n font-size: 12px;\n line-height: 1.5em;\n padding: 8px 12px;\n border-radius: 8px;\n box-shadow: var(--shadow-popover);\n position: relative;\n}\n\n/* Position variants */\n.tooltip-top {\n bottom: 100%;\n left: 50%;\n transform: translateX(-50%);\n margin-bottom: 6px;\n}\n\n.tooltip-bottom {\n top: 100%;\n left: 50%;\n transform: translateX(-50%);\n margin-top: 6px;\n}\n\n.tooltip-left {\n right: 100%;\n top: 50%;\n transform: translateY(-50%);\n margin-right: 6px;\n}\n\n.tooltip-right {\n left: 100%;\n top: 50%;\n transform: translateY(-50%);\n margin-left: 6px;\n}\n\n/* Multiline support */\n.tooltip.multiline {\n white-space: normal;\n}\n\n.tooltip.multiline .tooltip-content {\n max-width: 240px;\n}\n\n/* Icon variant - positioning adjustments for tooltips on icons */\n.tooltip-icon.tooltip-top {\n margin-bottom: 4px;\n}\n\n.tooltip-icon.tooltip-bottom {\n margin-top: 4px;\n}\n\n.tooltip-icon.tooltip-left {\n margin-right: 4px;\n}\n\n.tooltip-icon.tooltip-right {\n margin-left: 4px;\n}\n","import { Component, Prop, h } from '@stencil/core';\n\nexport type TooltipPosition = 'top' | 'bottom' | 'left' | 'right';\nexport type TooltipVariant = 'default' | 'icon';\n\n@Component({\n tag: 'bh-tooltip',\n styleUrl: 'bh-tooltip.css',\n shadow: true,\n})\nexport class BhTooltip {\n /**\n * The tooltip text content\n */\n @Prop() text: string = '';\n\n /**\n * Position of the tooltip relative to its target\n */\n @Prop() position: TooltipPosition = 'top';\n\n /**\n * Variant of the tooltip (default or icon)\n */\n @Prop() variant: TooltipVariant = 'default';\n\n /**\n * Whether the tooltip is visible\n */\n @Prop() visible: boolean = false;\n\n /**\n * Maximum width in pixels (enables multiline if > 240)\n */\n @Prop() maxWidth?: number;\n\n render() {\n const tooltipClasses = {\n 'tooltip': true,\n [`tooltip-${this.position}`]: true,\n [`tooltip-${this.variant}`]: true,\n 'tooltip-visible': this.visible,\n 'multiline': this.maxWidth !== undefined && this.maxWidth > 240,\n };\n\n const tooltipStyles = this.maxWidth ? { maxWidth: `${this.maxWidth}px` } : {};\n\n return (\n <div class={tooltipClasses} style={tooltipStyles} role=\"tooltip\" part=\"tooltip\">\n <div class=\"tooltip-content\">{this.text}</div>\n </div>\n );\n }\n}\n"],"names":["h"],"mappings":";;;;;AAAA,MAAM,YAAY,GAAG,ggCAAggC;;MCUxgC,SAAS,GAAA,MAAA;;;;AACpB;;AAEG;IACK,IAAI,GAAW,EAAE;AAEzB;;AAEG;IACK,QAAQ,GAAoB,KAAK;AAEzC;;AAEG;IACK,OAAO,GAAmB,SAAS;AAE3C;;AAEG;IACK,OAAO,GAAY,KAAK;AAEhC;;AAEG;AACK,IAAA,QAAQ;IAEhB,MAAM,GAAA;AACJ,QAAA,MAAM,cAAc,GAAG;AACrB,YAAA,SAAS,EAAE,IAAI;AACf,YAAA,CAAC,WAAW,IAAI,CAAC,QAAQ,CAAE,CAAA,GAAG,IAAI;AAClC,YAAA,CAAC,WAAW,IAAI,CAAC,OAAO,CAAE,CAAA,GAAG,IAAI;YACjC,iBAAiB,EAAE,IAAI,CAAC,OAAO;YAC/B,WAAW,EAAE,IAAI,CAAC,QAAQ,KAAK,SAAS,IAAI,IAAI,CAAC,QAAQ,GAAG,GAAG;SAChE;QAED,MAAM,aAAa,GAAG,IAAI,CAAC,QAAQ,GAAG,EAAE,QAAQ,EAAE,CAAG,EAAA,IAAI,CAAC,QAAQ,CAAA,EAAA,CAAI,EAAE,GAAG,EAAE;QAE7E,QACEA,OAAK,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAE,cAAc,EAAE,KAAK,EAAE,aAAa,EAAE,IAAI,EAAC,SAAS,EAAC,IAAI,EAAC,SAAS,EAAA,EAC7EA,OAAK,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,iBAAiB,EAAE,EAAA,IAAI,CAAC,IAAI,CAAO,CAC1C;;;;;;;;"}
|