@hermes-ui/angular 0.1.4
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 +52 -0
- package/accordion/_accordion.clarity.scss +81 -0
- package/accordion/_properties.accordion.scss +45 -0
- package/accordion/_variables.accordion.scss +91 -0
- package/addons/a11y/README.md +157 -0
- package/addons/a11y/forms/required-field-legend.component.scss +17 -0
- package/addons/card-container/card/appfx-card.component.scss +137 -0
- package/addons/card-container/container/appfx-card-container.component.scss +17 -0
- package/addons/card-container/settings/appfx-card-container-settings.component.scss +62 -0
- package/addons/certificate-viewer/certificate-viewer/certificate-viewer.component.scss +69 -0
- package/addons/certificate-viewer/certificate-viewer-details/certificate-viewer-details.component.scss +49 -0
- package/addons/certificate-viewer/certificate-viewer-general/certificate-viewer-general.component.scss +38 -0
- package/addons/datagrid/README.md +289 -0
- package/addons/datagrid/addons/action-bar/datagrid-action-bar.component.scss +81 -0
- package/addons/datagrid/addons/column-toggle/datagrid-column-toggle.component.scss +99 -0
- package/addons/datagrid/addons/export/export-datagrid.component.scss +9 -0
- package/addons/datagrid/datagrid.component.scss +339 -0
- package/addons/datagrid-filters/README.md +223 -0
- package/addons/datagrid-filters/advanced-filters/date-time-filter.component.scss +10 -0
- package/addons/datagrid-filters/advanced-filters/enum-filter.component.scss +40 -0
- package/addons/datagrid-filters/advanced-filters/users-filter.component.scss +11 -0
- package/addons/datagrid-filters/common-styles.scss +98 -0
- package/addons/datagrid-filters/composite-filters.component.scss +26 -0
- package/addons/datagrid-filters/datagrid-filters.component.scss +22 -0
- package/addons/datagrid-filters/manage-filters/manage-filter.component.scss +42 -0
- package/addons/dialog/README.md +112 -0
- package/addons/dialog/multi-page-dialog.a11y.scss +203 -0
- package/addons/dialog/multi-page-dialog.component.scss +102 -0
- package/addons/dialog/toggle-component/toggle.component.scss +15 -0
- package/addons/drag-and-drop/README.md +48 -0
- package/addons/menu/menu.component.scss +120 -0
- package/addons/property-view/components/property-view-category.component.scss +38 -0
- package/addons/property-view/components/property-view-message.component.scss +48 -0
- package/addons/property-view/components/property-view-property.component.scss +122 -0
- package/addons/property-view/components/property-view-section.component.scss +59 -0
- package/addons/property-view/components/property-view.component.scss +23 -0
- package/addons/stepper/stepper.component.scss +53 -0
- package/addons/tabs/tab-links/tab-links.component.scss +61 -0
- package/addons/tabs/tabs.a11y.scss +26 -0
- package/addons/tabs/tabs.component.scss +95 -0
- package/addons/theme-builder/README.md +70 -0
- package/addons/theme-builder/theme-builder.component.scss +194 -0
- package/addons/translate/README.md +124 -0
- package/addons/var/debug/workflow-model-monitor.component.scss +50 -0
- package/addons/var/error/error.component.scss +38 -0
- package/addons/var/spinner/spinner.component.scss +33 -0
- package/addons/wizard/summary/summary.component.scss +22 -0
- package/addons/wizard/wizard.component.scss +251 -0
- package/button/_buttons.clarity.scss +388 -0
- package/button/_mixins.buttons.scss +241 -0
- package/button/_properties.buttons.scss +387 -0
- package/button/_properties.toggles.scss +35 -0
- package/button/_variables.buttons.scss +905 -0
- package/button/_variables.toggles.scss +41 -0
- package/button/button-group/_button-group.clarity.scss +202 -0
- package/collapsible-panel/_mixins.collapsible-panel.scss +189 -0
- package/collapsible-panel/_properties.collapsible-panel.scss +42 -0
- package/collapsible-panel/_variables.collapsible-panel.scss +40 -0
- package/data/_mixins.tables.scss +114 -0
- package/data/_properties.tables.scss +77 -0
- package/data/_tables.clarity.scss +120 -0
- package/data/_variables.tables.scss +42 -0
- package/data/datagrid/_datagrid.clarity.scss +1871 -0
- package/data/datagrid/_mixins.datagrid.scss +102 -0
- package/data/datagrid/_properties.datagrid.scss +98 -0
- package/data/datagrid/_variables.datagrid.scss +98 -0
- package/data/stack-view/_properties.stack-view.scss +50 -0
- package/data/stack-view/_stack-view.clarity.scss +267 -0
- package/data/stack-view/_variables.stack-view.scss +32 -0
- package/data/tree-view/_properties.tree-view.scss +41 -0
- package/data/tree-view/_tree-view.clarity.scss +281 -0
- package/data/tree-view/_variables.tree-view.scss +51 -0
- package/emphasis/alert/_alert.clarity.scss +467 -0
- package/emphasis/alert/_mixins.alert.scss +96 -0
- package/emphasis/alert/_properties.alert.scss +183 -0
- package/emphasis/alert/_variables.alert.scss +502 -0
- package/emphasis/badge/_badges.clarity.scss +61 -0
- package/emphasis/badge/_mixins.bades.scss +34 -0
- package/emphasis/badge/_properties.badges.scss +82 -0
- package/emphasis/badge/_variables.badges.scss +160 -0
- package/emphasis/label/_labels.clarity.scss +179 -0
- package/emphasis/label/_mixins.label.scss +77 -0
- package/emphasis/label/_properties.label.scss +105 -0
- package/emphasis/label/_variables.label.scss +181 -0
- package/fesm2022/hermes-ui-angular-accordion.mjs +355 -0
- package/fesm2022/hermes-ui-angular-accordion.mjs.map +1 -0
- package/fesm2022/hermes-ui-angular-addons-a11y.mjs +544 -0
- package/fesm2022/hermes-ui-angular-addons-a11y.mjs.map +1 -0
- package/fesm2022/hermes-ui-angular-addons-card-container.mjs +1082 -0
- package/fesm2022/hermes-ui-angular-addons-card-container.mjs.map +1 -0
- package/fesm2022/hermes-ui-angular-addons-certificate-viewer.mjs +2520 -0
- package/fesm2022/hermes-ui-angular-addons-certificate-viewer.mjs.map +1 -0
- package/fesm2022/hermes-ui-angular-addons-datagrid-filters.mjs +2818 -0
- package/fesm2022/hermes-ui-angular-addons-datagrid-filters.mjs.map +1 -0
- package/fesm2022/hermes-ui-angular-addons-datagrid.mjs +3131 -0
- package/fesm2022/hermes-ui-angular-addons-datagrid.mjs.map +1 -0
- package/fesm2022/hermes-ui-angular-addons-dialog.mjs +386 -0
- package/fesm2022/hermes-ui-angular-addons-dialog.mjs.map +1 -0
- package/fesm2022/hermes-ui-angular-addons-drag-and-drop.mjs +78 -0
- package/fesm2022/hermes-ui-angular-addons-drag-and-drop.mjs.map +1 -0
- package/fesm2022/hermes-ui-angular-addons-menu.mjs +559 -0
- package/fesm2022/hermes-ui-angular-addons-menu.mjs.map +1 -0
- package/fesm2022/hermes-ui-angular-addons-property-view.mjs +1142 -0
- package/fesm2022/hermes-ui-angular-addons-property-view.mjs.map +1 -0
- package/fesm2022/hermes-ui-angular-addons-stepper.mjs +716 -0
- package/fesm2022/hermes-ui-angular-addons-stepper.mjs.map +1 -0
- package/fesm2022/hermes-ui-angular-addons-tabs.mjs +539 -0
- package/fesm2022/hermes-ui-angular-addons-tabs.mjs.map +1 -0
- package/fesm2022/hermes-ui-angular-addons-testing.mjs +2010 -0
- package/fesm2022/hermes-ui-angular-addons-testing.mjs.map +1 -0
- package/fesm2022/hermes-ui-angular-addons-theme-builder.mjs +922 -0
- package/fesm2022/hermes-ui-angular-addons-theme-builder.mjs.map +1 -0
- package/fesm2022/hermes-ui-angular-addons-translate.mjs +295 -0
- package/fesm2022/hermes-ui-angular-addons-translate.mjs.map +1 -0
- package/fesm2022/hermes-ui-angular-addons-var.mjs +2028 -0
- package/fesm2022/hermes-ui-angular-addons-var.mjs.map +1 -0
- package/fesm2022/hermes-ui-angular-addons-wizard.mjs +610 -0
- package/fesm2022/hermes-ui-angular-addons-wizard.mjs.map +1 -0
- package/fesm2022/hermes-ui-angular-addons-workflow-strings.mjs +121 -0
- package/fesm2022/hermes-ui-angular-addons-workflow-strings.mjs.map +1 -0
- package/fesm2022/hermes-ui-angular-addons-workflow.mjs +88 -0
- package/fesm2022/hermes-ui-angular-addons-workflow.mjs.map +1 -0
- package/fesm2022/hermes-ui-angular-button.mjs +719 -0
- package/fesm2022/hermes-ui-angular-button.mjs.map +1 -0
- package/fesm2022/hermes-ui-angular-collapsible-panel.mjs +201 -0
- package/fesm2022/hermes-ui-angular-collapsible-panel.mjs.map +1 -0
- package/fesm2022/hermes-ui-angular-data-datagrid.mjs +8045 -0
- package/fesm2022/hermes-ui-angular-data-datagrid.mjs.map +1 -0
- package/fesm2022/hermes-ui-angular-data-stack-view.mjs +442 -0
- package/fesm2022/hermes-ui-angular-data-stack-view.mjs.map +1 -0
- package/fesm2022/hermes-ui-angular-data-tree-view.mjs +1106 -0
- package/fesm2022/hermes-ui-angular-data-tree-view.mjs.map +1 -0
- package/fesm2022/hermes-ui-angular-data.mjs +40 -0
- package/fesm2022/hermes-ui-angular-data.mjs.map +1 -0
- package/fesm2022/hermes-ui-angular-emphasis-alert.mjs +624 -0
- package/fesm2022/hermes-ui-angular-emphasis-alert.mjs.map +1 -0
- package/fesm2022/hermes-ui-angular-emphasis-badge.mjs +69 -0
- package/fesm2022/hermes-ui-angular-emphasis-badge.mjs.map +1 -0
- package/fesm2022/hermes-ui-angular-emphasis-common.mjs +25 -0
- package/fesm2022/hermes-ui-angular-emphasis-common.mjs.map +1 -0
- package/fesm2022/hermes-ui-angular-emphasis-label.mjs +105 -0
- package/fesm2022/hermes-ui-angular-emphasis-label.mjs.map +1 -0
- package/fesm2022/hermes-ui-angular-emphasis.mjs +41 -0
- package/fesm2022/hermes-ui-angular-emphasis.mjs.map +1 -0
- package/fesm2022/hermes-ui-angular-forms-checkbox.mjs +279 -0
- package/fesm2022/hermes-ui-angular-forms-checkbox.mjs.map +1 -0
- package/fesm2022/hermes-ui-angular-forms-combobox.mjs +1775 -0
- package/fesm2022/hermes-ui-angular-forms-combobox.mjs.map +1 -0
- package/fesm2022/hermes-ui-angular-forms-common.mjs +1251 -0
- package/fesm2022/hermes-ui-angular-forms-common.mjs.map +1 -0
- package/fesm2022/hermes-ui-angular-forms-datalist.mjs +263 -0
- package/fesm2022/hermes-ui-angular-forms-datalist.mjs.map +1 -0
- package/fesm2022/hermes-ui-angular-forms-datepicker.mjs +3274 -0
- package/fesm2022/hermes-ui-angular-forms-datepicker.mjs.map +1 -0
- package/fesm2022/hermes-ui-angular-forms-file-input.mjs +826 -0
- package/fesm2022/hermes-ui-angular-forms-file-input.mjs.map +1 -0
- package/fesm2022/hermes-ui-angular-forms-input.mjs +153 -0
- package/fesm2022/hermes-ui-angular-forms-input.mjs.map +1 -0
- package/fesm2022/hermes-ui-angular-forms-native-select.mjs +153 -0
- package/fesm2022/hermes-ui-angular-forms-native-select.mjs.map +1 -0
- package/fesm2022/hermes-ui-angular-forms-number-input.mjs +236 -0
- package/fesm2022/hermes-ui-angular-forms-number-input.mjs.map +1 -0
- package/fesm2022/hermes-ui-angular-forms-password.mjs +233 -0
- package/fesm2022/hermes-ui-angular-forms-password.mjs.map +1 -0
- package/fesm2022/hermes-ui-angular-forms-radio.mjs +224 -0
- package/fesm2022/hermes-ui-angular-forms-radio.mjs.map +1 -0
- package/fesm2022/hermes-ui-angular-forms-range.mjs +186 -0
- package/fesm2022/hermes-ui-angular-forms-range.mjs.map +1 -0
- package/fesm2022/hermes-ui-angular-forms-select.mjs +606 -0
- package/fesm2022/hermes-ui-angular-forms-select.mjs.map +1 -0
- package/fesm2022/hermes-ui-angular-forms-textarea.mjs +136 -0
- package/fesm2022/hermes-ui-angular-forms-textarea.mjs.map +1 -0
- package/fesm2022/hermes-ui-angular-forms.mjs +105 -0
- package/fesm2022/hermes-ui-angular-forms.mjs.map +1 -0
- package/fesm2022/hermes-ui-angular-icon.mjs +7413 -0
- package/fesm2022/hermes-ui-angular-icon.mjs.map +1 -0
- package/fesm2022/hermes-ui-angular-layout-breadcrumbs.mjs +120 -0
- package/fesm2022/hermes-ui-angular-layout-breadcrumbs.mjs.map +1 -0
- package/fesm2022/hermes-ui-angular-layout-main-container.mjs +100 -0
- package/fesm2022/hermes-ui-angular-layout-main-container.mjs.map +1 -0
- package/fesm2022/hermes-ui-angular-layout-nav.mjs +582 -0
- package/fesm2022/hermes-ui-angular-layout-nav.mjs.map +1 -0
- package/fesm2022/hermes-ui-angular-layout-tabs.mjs +807 -0
- package/fesm2022/hermes-ui-angular-layout-tabs.mjs.map +1 -0
- package/fesm2022/hermes-ui-angular-layout-vertical-nav.mjs +507 -0
- package/fesm2022/hermes-ui-angular-layout-vertical-nav.mjs.map +1 -0
- package/fesm2022/hermes-ui-angular-layout.mjs +44 -0
- package/fesm2022/hermes-ui-angular-layout.mjs.map +1 -0
- package/fesm2022/hermes-ui-angular-modal.mjs +619 -0
- package/fesm2022/hermes-ui-angular-modal.mjs.map +1 -0
- package/fesm2022/hermes-ui-angular-popover-common.mjs +1371 -0
- package/fesm2022/hermes-ui-angular-popover-common.mjs.map +1 -0
- package/fesm2022/hermes-ui-angular-popover-dropdown.mjs +492 -0
- package/fesm2022/hermes-ui-angular-popover-dropdown.mjs.map +1 -0
- package/fesm2022/hermes-ui-angular-popover-signpost.mjs +494 -0
- package/fesm2022/hermes-ui-angular-popover-signpost.mjs.map +1 -0
- package/fesm2022/hermes-ui-angular-popover-tooltip.mjs +293 -0
- package/fesm2022/hermes-ui-angular-popover-tooltip.mjs.map +1 -0
- package/fesm2022/hermes-ui-angular-popover.mjs +41 -0
- package/fesm2022/hermes-ui-angular-popover.mjs.map +1 -0
- package/fesm2022/hermes-ui-angular-progress-progress-bars.mjs +217 -0
- package/fesm2022/hermes-ui-angular-progress-progress-bars.mjs.map +1 -0
- package/fesm2022/hermes-ui-angular-progress-spinner.mjs +132 -0
- package/fesm2022/hermes-ui-angular-progress-spinner.mjs.map +1 -0
- package/fesm2022/hermes-ui-angular-stepper.mjs +694 -0
- package/fesm2022/hermes-ui-angular-stepper.mjs.map +1 -0
- package/fesm2022/hermes-ui-angular-timeline.mjs +316 -0
- package/fesm2022/hermes-ui-angular-timeline.mjs.map +1 -0
- package/fesm2022/hermes-ui-angular-toast.mjs +373 -0
- package/fesm2022/hermes-ui-angular-toast.mjs.map +1 -0
- package/fesm2022/hermes-ui-angular-utils-conditional.mjs +351 -0
- package/fesm2022/hermes-ui-angular-utils-conditional.mjs.map +1 -0
- package/fesm2022/hermes-ui-angular-utils-loading.mjs +107 -0
- package/fesm2022/hermes-ui-angular-utils-loading.mjs.map +1 -0
- package/fesm2022/hermes-ui-angular-utils.mjs +2086 -0
- package/fesm2022/hermes-ui-angular-utils.mjs.map +1 -0
- package/fesm2022/hermes-ui-angular-wizard.mjs +3074 -0
- package/fesm2022/hermes-ui-angular-wizard.mjs.map +1 -0
- package/fesm2022/hermes-ui-angular.mjs +130 -0
- package/fesm2022/hermes-ui-angular.mjs.map +1 -0
- package/forms/combobox/_combobox.clarity.scss +330 -0
- package/forms/combobox/_properties.combobox.scss +46 -0
- package/forms/combobox/_variables.combobox.scss +32 -0
- package/forms/datepicker/_datepicker.clarity.scss +259 -0
- package/forms/datepicker/_mixins.datepicker.scss +89 -0
- package/forms/datepicker/_properties.datepicker.scss +46 -0
- package/forms/datepicker/_variables.datepicker.scss +74 -0
- package/forms/styles/_checkbox.clarity.scss +193 -0
- package/forms/styles/_containers.clarity.scss +230 -0
- package/forms/styles/_datalist.clarity.scss +47 -0
- package/forms/styles/_file-input.clarity.scss +134 -0
- package/forms/styles/_file.clarity.scss +52 -0
- package/forms/styles/_form.clarity.scss +87 -0
- package/forms/styles/_input-group.clarity.scss +126 -0
- package/forms/styles/_input.clarity.scss +83 -0
- package/forms/styles/_mixins.forms.scss +193 -0
- package/forms/styles/_native-select.clarity.scss +178 -0
- package/forms/styles/_number-input.clarity.scss +58 -0
- package/forms/styles/_password.clarity.scss +26 -0
- package/forms/styles/_properties.forms.scss +180 -0
- package/forms/styles/_radio.clarity.scss +120 -0
- package/forms/styles/_range.clarity.scss +124 -0
- package/forms/styles/_select.clarity.scss +158 -0
- package/forms/styles/_textarea.clarity.scss +71 -0
- package/forms/styles/_toggles.clarity.scss +209 -0
- package/forms/styles/_variables.forms.scss +156 -0
- package/hermes-ui.scss +7 -0
- package/icon/icon.component.scss +247 -0
- package/image/_icons.clarity.scss +101 -0
- package/image/_images.clarity.scss +42 -0
- package/image/_mixins.images.scss +11 -0
- package/layout/_card.clarity.scss +318 -0
- package/layout/_login.clarity.scss +240 -0
- package/layout/_properties.card.scss +39 -0
- package/layout/_properties.login.scss +32 -0
- package/layout/_variables.card.scss +24 -0
- package/layout/_variables.login.scss +22 -0
- package/layout/breadcrumbs/_breadcrumbs.clarity.scss +60 -0
- package/layout/breadcrumbs/_properties.breadcrumbs.scss +18 -0
- package/layout/breadcrumbs/_variables.breadcrumbs.scss +11 -0
- package/layout/grid/_grid.scss +23 -0
- package/layout/grid/grid/_grid.scss +39 -0
- package/layout/grid/mixins/_breakpoint.scss +83 -0
- package/layout/grid/mixins/_clearfix.scss +13 -0
- package/layout/grid/mixins/_grid-framework.scss +91 -0
- package/layout/grid/mixins/_grid.scss +39 -0
- package/layout/grid/utilities/_align.scss +30 -0
- package/layout/grid/utilities/_clearfix.scss +12 -0
- package/layout/grid/utilities/_display.scss +18 -0
- package/layout/grid/utilities/_flex.scss +222 -0
- package/layout/grid/utilities/_float.scss +26 -0
- package/layout/grid/utilities/_visibility.scss +60 -0
- package/layout/main-container/_layout.clarity.scss +87 -0
- package/layout/main-container/_properties.header.scss +55 -0
- package/layout/main-container/_variables.header.scss +32 -0
- package/layout/nav/_header.clarity.scss +40 -0
- package/layout/nav/_links.clarity.scss +84 -0
- package/layout/nav/_mixins.header.scss +332 -0
- package/layout/nav/_mixins.responsive-nav.scss +75 -0
- package/layout/nav/_nav.clarity.scss +100 -0
- package/layout/nav/_properties.nav.scss +27 -0
- package/layout/nav/_properties.responsive-nav.scss +23 -0
- package/layout/nav/_properties.subnav.scss +19 -0
- package/layout/nav/_responsive-nav.clarity.scss +490 -0
- package/layout/nav/_subnav.clarity.scss +48 -0
- package/layout/nav/_variables.nav.scss +13 -0
- package/layout/nav/_variables.responsive-nav.scss +28 -0
- package/layout/nav/_variables.subnav.scss +21 -0
- package/layout/tabs/_mixins.tabs.scss +41 -0
- package/layout/tabs/_properties.tabs.scss +25 -0
- package/layout/tabs/_tabs.clarity.scss +110 -0
- package/layout/tabs/_variables.tabs.scss +17 -0
- package/layout/vertical-nav/_mixins.vertical-nav.scss +52 -0
- package/layout/vertical-nav/_properties.vertical-nav.scss +73 -0
- package/layout/vertical-nav/_variables.vertical-nav.scss +52 -0
- package/layout/vertical-nav/_vertical-nav.clarity.scss +469 -0
- package/main.scss +14 -0
- package/modal/_modal.clarity.scss +379 -0
- package/modal/_properties.modal.scss +57 -0
- package/modal/_variables.modal.scss +41 -0
- package/package.json +325 -0
- package/popover/common/README.md +112 -0
- package/popover/common/_popover.clarity.scss +28 -0
- package/popover/dropdown/_dropdown.clarity.scss +326 -0
- package/popover/dropdown/_menu-mixins.clarity.scss +132 -0
- package/popover/dropdown/_properties.dropdown.scss +50 -0
- package/popover/dropdown/_variables.dropdown.scss +36 -0
- package/popover/signpost/_properties.signpost.scss +34 -0
- package/popover/signpost/_signposts.clarity.scss +414 -0
- package/popover/signpost/_variables.signpost.scss +21 -0
- package/popover/tooltip/_mixins.tooltip.scss +186 -0
- package/popover/tooltip/_properties.tooltip.scss +28 -0
- package/popover/tooltip/_tooltips.clarity.scss +122 -0
- package/popover/tooltip/_variables.tooltip.scss +20 -0
- package/progress/progress-bars/_progress-bars.clarity.scss +616 -0
- package/progress/progress-bars/_properties.progress-bars.scss +24 -0
- package/progress/progress-bars/_variables.progress-bars.scss +15 -0
- package/progress/progress-bars/utils/_mixins.clarity.scss +18 -0
- package/progress/spinner/_mixins.spinner.scss +30 -0
- package/progress/spinner/_properties.spinner.scss +37 -0
- package/progress/spinner/_spinner.clarity.scss +148 -0
- package/progress/spinner/_variables.spinner.scss +25 -0
- package/schematics/collection.json +14 -0
- package/stepper/_properties.stepper.scss +29 -0
- package/stepper/_stepper.clarity.scss +184 -0
- package/stepper/_variables.stepper.scss +13 -0
- package/styles/_a11y.scss +14 -0
- package/styles/_close.clarity.scss +60 -0
- package/styles/_components.clarity.scss +189 -0
- package/styles/_mixins.scss +460 -0
- package/styles/_normalize.scss +292 -0
- package/styles/_reboot.clarity.scss +374 -0
- package/styles/_variables.clarity.scss +139 -0
- package/styles/core/base/base.element.scss +97 -0
- package/styles/core/global.scss +12 -0
- package/styles/core/layout/_alignments.scss +18 -0
- package/styles/core/layout/_container.scss +29 -0
- package/styles/core/layout/_display.scss +58 -0
- package/styles/core/layout/_optimize.scss +60 -0
- package/styles/core/layout/_shadow-dom.scss +47 -0
- package/styles/core/layout/_spacing.scss +31 -0
- package/styles/core/layout/_type-grid.scss +66 -0
- package/styles/core/layout/_type-horizontal.scss +33 -0
- package/styles/core/layout/_type-vertical.scss +26 -0
- package/styles/core/layout/mixins/_mixins.alignment.scss +35 -0
- package/styles/core/layout/mixins/_mixins.display.scss +23 -0
- package/styles/core/layout/mixins/_mixins.grid.scss +105 -0
- package/styles/core/layout/mixins/_mixins.scss +106 -0
- package/styles/core/layout/mixins/_mixins.shadow-dom.scss +106 -0
- package/styles/core/layout/mixins/_mixins.type-horizontal.scss +113 -0
- package/styles/core/layout/mixins/_mixins.type-vertical.scss +108 -0
- package/styles/core/module.layout.scss +22 -0
- package/styles/core/module.reset.scss +48 -0
- package/styles/core/module.typography.scss +9 -0
- package/styles/core/theme.dark.scss +298 -0
- package/styles/core/theme.high-contrast.scss +42 -0
- package/styles/core/theme.low-motion.scss +20 -0
- package/styles/core/tokens/_alias-interaction.scss +74 -0
- package/styles/core/tokens/_alias-object-background.scss +29 -0
- package/styles/core/tokens/_alias-object-border.scss +21 -0
- package/styles/core/tokens/_alias-object-container.scss +20 -0
- package/styles/core/tokens/_alias-object-opacity.scss +15 -0
- package/styles/core/tokens/_alias-object-shadow.scss +17 -0
- package/styles/core/tokens/_alias-primary.scss +21 -0
- package/styles/core/tokens/_alias-status.scss +40 -0
- package/styles/core/tokens/_alias-typography.scss +107 -0
- package/styles/core/tokens/_alias-utility.scss +42 -0
- package/styles/core/tokens/_alias-viz-colors.scss +170 -0
- package/styles/core/tokens/_global-animation.scss +32 -0
- package/styles/core/tokens/_global-colors.scss +249 -0
- package/styles/core/tokens/_global-space.scss +52 -0
- package/styles/core/tokens/_internal-scale.scss +14 -0
- package/styles/core/tokens/_properties.tokens.scss +22 -0
- package/styles/core/tokens/_variables.tokens.scss +787 -0
- package/styles/core/typography/_legacy-typography.scss +328 -0
- package/styles/core/typography/_mixins.typography.scss +18 -0
- package/styles/core/typography/_typography.scss +328 -0
- package/styles/variables/_properties.density.scss +225 -0
- package/styles/variables/_properties.global.scss +51 -0
- package/styles/variables/_properties.layout.scss +21 -0
- package/styles/variables/_properties.scss +11 -0
- package/styles/variables/_properties.typography.scss +164 -0
- package/styles/variables/_variables.density.scss +116 -0
- package/styles/variables/_variables.global.scss +87 -0
- package/styles/variables/_variables.layout.scss +37 -0
- package/styles/variables/_variables.scss +11 -0
- package/styles/variables/_variables.typography.scss +156 -0
- package/timeline/_properties.timeline.scss +38 -0
- package/timeline/_timeline.clarity.scss +172 -0
- package/timeline/_variables.timeline.scss +29 -0
- package/toast/README.md +65 -0
- package/toast/_properties.toast.scss +56 -0
- package/toast/_toast.clarity.scss +190 -0
- package/toast/_variables.toast.scss +33 -0
- package/types/hermes-ui-angular-accordion.d.ts +101 -0
- package/types/hermes-ui-angular-accordion.d.ts.map +1 -0
- package/types/hermes-ui-angular-addons-a11y.d.ts +187 -0
- package/types/hermes-ui-angular-addons-a11y.d.ts.map +1 -0
- package/types/hermes-ui-angular-addons-card-container.d.ts +482 -0
- package/types/hermes-ui-angular-addons-card-container.d.ts.map +1 -0
- package/types/hermes-ui-angular-addons-certificate-viewer.d.ts +404 -0
- package/types/hermes-ui-angular-addons-certificate-viewer.d.ts.map +1 -0
- package/types/hermes-ui-angular-addons-datagrid-filters.d.ts +911 -0
- package/types/hermes-ui-angular-addons-datagrid-filters.d.ts.map +1 -0
- package/types/hermes-ui-angular-addons-datagrid.d.ts +1529 -0
- package/types/hermes-ui-angular-addons-datagrid.d.ts.map +1 -0
- package/types/hermes-ui-angular-addons-dialog.d.ts +233 -0
- package/types/hermes-ui-angular-addons-dialog.d.ts.map +1 -0
- package/types/hermes-ui-angular-addons-drag-and-drop.d.ts +35 -0
- package/types/hermes-ui-angular-addons-drag-and-drop.d.ts.map +1 -0
- package/types/hermes-ui-angular-addons-menu.d.ts +197 -0
- package/types/hermes-ui-angular-addons-menu.d.ts.map +1 -0
- package/types/hermes-ui-angular-addons-property-view.d.ts +387 -0
- package/types/hermes-ui-angular-addons-property-view.d.ts.map +1 -0
- package/types/hermes-ui-angular-addons-stepper.d.ts +298 -0
- package/types/hermes-ui-angular-addons-stepper.d.ts.map +1 -0
- package/types/hermes-ui-angular-addons-tabs.d.ts +173 -0
- package/types/hermes-ui-angular-addons-tabs.d.ts.map +1 -0
- package/types/hermes-ui-angular-addons-testing.d.ts +592 -0
- package/types/hermes-ui-angular-addons-testing.d.ts.map +1 -0
- package/types/hermes-ui-angular-addons-theme-builder.d.ts +200 -0
- package/types/hermes-ui-angular-addons-theme-builder.d.ts.map +1 -0
- package/types/hermes-ui-angular-addons-translate.d.ts +149 -0
- package/types/hermes-ui-angular-addons-translate.d.ts.map +1 -0
- package/types/hermes-ui-angular-addons-var.d.ts +923 -0
- package/types/hermes-ui-angular-addons-var.d.ts.map +1 -0
- package/types/hermes-ui-angular-addons-wizard.d.ts +241 -0
- package/types/hermes-ui-angular-addons-wizard.d.ts.map +1 -0
- package/types/hermes-ui-angular-addons-workflow-strings.d.ts +124 -0
- package/types/hermes-ui-angular-addons-workflow-strings.d.ts.map +1 -0
- package/types/hermes-ui-angular-addons-workflow.d.ts +15 -0
- package/types/hermes-ui-angular-addons-workflow.d.ts.map +1 -0
- package/types/hermes-ui-angular-button.d.ts +170 -0
- package/types/hermes-ui-angular-button.d.ts.map +1 -0
- package/types/hermes-ui-angular-collapsible-panel.d.ts +74 -0
- package/types/hermes-ui-angular-collapsible-panel.d.ts.map +1 -0
- package/types/hermes-ui-angular-data-datagrid.d.ts +1938 -0
- package/types/hermes-ui-angular-data-datagrid.d.ts.map +1 -0
- package/types/hermes-ui-angular-data-stack-view.d.ts +88 -0
- package/types/hermes-ui-angular-data-stack-view.d.ts.map +1 -0
- package/types/hermes-ui-angular-data-tree-view.d.ts +230 -0
- package/types/hermes-ui-angular-data-tree-view.d.ts.map +1 -0
- package/types/hermes-ui-angular-data.d.ts +16 -0
- package/types/hermes-ui-angular-data.d.ts.map +1 -0
- package/types/hermes-ui-angular-emphasis-alert.d.ts +176 -0
- package/types/hermes-ui-angular-emphasis-alert.d.ts.map +1 -0
- package/types/hermes-ui-angular-emphasis-badge.d.ts +26 -0
- package/types/hermes-ui-angular-emphasis-badge.d.ts.map +1 -0
- package/types/hermes-ui-angular-emphasis-common.d.ts +7 -0
- package/types/hermes-ui-angular-emphasis-common.d.ts.map +1 -0
- package/types/hermes-ui-angular-emphasis-label.d.ts +30 -0
- package/types/hermes-ui-angular-emphasis-label.d.ts.map +1 -0
- package/types/hermes-ui-angular-emphasis.d.ts +16 -0
- package/types/hermes-ui-angular-emphasis.d.ts.map +1 -0
- package/types/hermes-ui-angular-forms-checkbox.d.ts +73 -0
- package/types/hermes-ui-angular-forms-checkbox.d.ts.map +1 -0
- package/types/hermes-ui-angular-forms-combobox.d.ts +354 -0
- package/types/hermes-ui-angular-forms-combobox.d.ts.map +1 -0
- package/types/hermes-ui-angular-forms-common.d.ts +340 -0
- package/types/hermes-ui-angular-forms-common.d.ts.map +1 -0
- package/types/hermes-ui-angular-forms-datalist.d.ts +60 -0
- package/types/hermes-ui-angular-forms-datalist.d.ts.map +1 -0
- package/types/hermes-ui-angular-forms-datepicker.d.ts +987 -0
- package/types/hermes-ui-angular-forms-datepicker.d.ts.map +1 -0
- package/types/hermes-ui-angular-forms-file-input.d.ts +194 -0
- package/types/hermes-ui-angular-forms-file-input.d.ts.map +1 -0
- package/types/hermes-ui-angular-forms-input.d.ts +30 -0
- package/types/hermes-ui-angular-forms-input.d.ts.map +1 -0
- package/types/hermes-ui-angular-forms-native-select.d.ts +37 -0
- package/types/hermes-ui-angular-forms-native-select.d.ts.map +1 -0
- package/types/hermes-ui-angular-forms-number-input.d.ts +44 -0
- package/types/hermes-ui-angular-forms-number-input.d.ts.map +1 -0
- package/types/hermes-ui-angular-forms-password.d.ts +53 -0
- package/types/hermes-ui-angular-forms-password.d.ts.map +1 -0
- package/types/hermes-ui-angular-forms-radio.d.ts +50 -0
- package/types/hermes-ui-angular-forms-radio.d.ts.map +1 -0
- package/types/hermes-ui-angular-forms-range.d.ts +38 -0
- package/types/hermes-ui-angular-forms-range.d.ts.map +1 -0
- package/types/hermes-ui-angular-forms-select.d.ts +211 -0
- package/types/hermes-ui-angular-forms-select.d.ts.map +1 -0
- package/types/hermes-ui-angular-forms-textarea.d.ts +30 -0
- package/types/hermes-ui-angular-forms-textarea.d.ts.map +1 -0
- package/types/hermes-ui-angular-forms.d.ts +39 -0
- package/types/hermes-ui-angular-forms.d.ts.map +1 -0
- package/types/hermes-ui-angular-icon.d.ts +1504 -0
- package/types/hermes-ui-angular-icon.d.ts.map +1 -0
- package/types/hermes-ui-angular-layout-breadcrumbs.d.ts +46 -0
- package/types/hermes-ui-angular-layout-breadcrumbs.d.ts.map +1 -0
- package/types/hermes-ui-angular-layout-main-container.d.ts +29 -0
- package/types/hermes-ui-angular-layout-main-container.d.ts.map +1 -0
- package/types/hermes-ui-angular-layout-nav.d.ts +143 -0
- package/types/hermes-ui-angular-layout-nav.d.ts.map +1 -0
- package/types/hermes-ui-angular-layout-tabs.d.ts +159 -0
- package/types/hermes-ui-angular-layout-tabs.d.ts.map +1 -0
- package/types/hermes-ui-angular-layout-vertical-nav.d.ts +129 -0
- package/types/hermes-ui-angular-layout-vertical-nav.d.ts.map +1 -0
- package/types/hermes-ui-angular-layout.d.ts +20 -0
- package/types/hermes-ui-angular-layout.d.ts.map +1 -0
- package/types/hermes-ui-angular-modal.d.ts +161 -0
- package/types/hermes-ui-angular-modal.d.ts.map +1 -0
- package/types/hermes-ui-angular-popover-common.d.ts +317 -0
- package/types/hermes-ui-angular-popover-common.d.ts.map +1 -0
- package/types/hermes-ui-angular-popover-dropdown.d.ts +124 -0
- package/types/hermes-ui-angular-popover-dropdown.d.ts.map +1 -0
- package/types/hermes-ui-angular-popover-signpost.d.ts +158 -0
- package/types/hermes-ui-angular-popover-signpost.d.ts.map +1 -0
- package/types/hermes-ui-angular-popover-tooltip.d.ts +84 -0
- package/types/hermes-ui-angular-popover-tooltip.d.ts.map +1 -0
- package/types/hermes-ui-angular-popover.d.ts +17 -0
- package/types/hermes-ui-angular-popover.d.ts.map +1 -0
- package/types/hermes-ui-angular-progress-progress-bars.d.ts +58 -0
- package/types/hermes-ui-angular-progress-progress-bars.d.ts.map +1 -0
- package/types/hermes-ui-angular-progress-spinner.d.ts +45 -0
- package/types/hermes-ui-angular-progress-spinner.d.ts.map +1 -0
- package/types/hermes-ui-angular-stepper.d.ts +180 -0
- package/types/hermes-ui-angular-stepper.d.ts.map +1 -0
- package/types/hermes-ui-angular-timeline.d.ts +87 -0
- package/types/hermes-ui-angular-timeline.d.ts.map +1 -0
- package/types/hermes-ui-angular-toast.d.ts +131 -0
- package/types/hermes-ui-angular-toast.d.ts.map +1 -0
- package/types/hermes-ui-angular-utils-conditional.d.ts +133 -0
- package/types/hermes-ui-angular-utils-conditional.d.ts.map +1 -0
- package/types/hermes-ui-angular-utils-loading.d.ts +39 -0
- package/types/hermes-ui-angular-utils-loading.d.ts.map +1 -0
- package/types/hermes-ui-angular-utils.d.ts +914 -0
- package/types/hermes-ui-angular-utils.d.ts.map +1 -0
- package/types/hermes-ui-angular-wizard.d.ts +1509 -0
- package/types/hermes-ui-angular-wizard.d.ts.map +1 -0
- package/types/hermes-ui-angular.d.ts +44 -0
- package/types/hermes-ui-angular.d.ts.map +1 -0
- package/typography/_code.scss +36 -0
- package/typography/_font-metropolis.scss +45 -0
- package/typography/_lists.scss +81 -0
- package/typography/_typography.scss +322 -0
- package/utils/animations/_animations.clarity.scss +44 -0
- package/utils/animations/_mixins.animations.scss +33 -0
- package/wizard/_properties.wizard.scss +54 -0
- package/wizard/_variables.wizard.scss +59 -0
- package/wizard/_wizard.clarity.scss +692 -0
|
@@ -0,0 +1,606 @@
|
|
|
1
|
+
import * as i0 from '@angular/core';
|
|
2
|
+
import { Injectable, forwardRef, Input, Component, ViewChild, HostBinding, ContentChildren, NgModule } from '@angular/core';
|
|
3
|
+
import { NG_VALUE_ACCESSOR } from '@angular/forms';
|
|
4
|
+
import * as i2 from '@hermes-ui/angular/popover/common';
|
|
5
|
+
import { HermesPopoverHostDirective, HermesPopoverType, HermesPopoverPosition, mapPopoverKeyToPosition, HermesPopoverContent, HermesPopoverModuleNext } from '@hermes-ui/angular/popover/common';
|
|
6
|
+
import { uniqueIdFactory, Keys } from '@hermes-ui/angular/utils';
|
|
7
|
+
import { Subject } from 'rxjs';
|
|
8
|
+
import * as i3 from '@hermes-ui/angular/icon';
|
|
9
|
+
import { ClarityIcons, angleIcon, checkIcon, HermesIcon } from '@hermes-ui/angular/icon';
|
|
10
|
+
import * as i2$1 from '@angular/platform-browser';
|
|
11
|
+
import { CommonModule } from '@angular/common';
|
|
12
|
+
|
|
13
|
+
/*
|
|
14
|
+
* Copyright (c) 2016-2026 Broadcom. All Rights Reserved.
|
|
15
|
+
* The term "Broadcom" refers to Broadcom Inc. and/or its subsidiaries.
|
|
16
|
+
* This software is released under MIT license.
|
|
17
|
+
* The full license information can be found in LICENSE in the root directory of this project.
|
|
18
|
+
*/
|
|
19
|
+
/**
|
|
20
|
+
* Shared state for a single hermes-select instance, provided at the HermesSelect component
|
|
21
|
+
* level so the trigger, value, content, and every item can all read/mutate the same value
|
|
22
|
+
* and item registry without prop-drilling through content projection.
|
|
23
|
+
*/
|
|
24
|
+
class HermesSelectStateService {
|
|
25
|
+
constructor() {
|
|
26
|
+
this.disabled = false;
|
|
27
|
+
this.placeholder = '';
|
|
28
|
+
this.items = [];
|
|
29
|
+
this.listboxId = uniqueIdFactory();
|
|
30
|
+
this.valueChange = new Subject();
|
|
31
|
+
this.onChange = () => { };
|
|
32
|
+
this.onTouched = () => { };
|
|
33
|
+
}
|
|
34
|
+
get value() {
|
|
35
|
+
return this._value;
|
|
36
|
+
}
|
|
37
|
+
set value(value) {
|
|
38
|
+
this._value = value;
|
|
39
|
+
}
|
|
40
|
+
get selectedItem() {
|
|
41
|
+
return this.items.find(item => this.isSelected(item.value));
|
|
42
|
+
}
|
|
43
|
+
isSelected(value) {
|
|
44
|
+
return this._value !== undefined && this._value !== null && this._value === value;
|
|
45
|
+
}
|
|
46
|
+
registerItem(item) {
|
|
47
|
+
this.items.push(item);
|
|
48
|
+
}
|
|
49
|
+
unregisterItem(item) {
|
|
50
|
+
const index = this.items.indexOf(item);
|
|
51
|
+
if (index > -1) {
|
|
52
|
+
this.items.splice(index, 1);
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
selectValue(value) {
|
|
56
|
+
if (this.disabled || this._value === value) {
|
|
57
|
+
return;
|
|
58
|
+
}
|
|
59
|
+
this._value = value;
|
|
60
|
+
this.onChange(value);
|
|
61
|
+
this.valueChange.next(value);
|
|
62
|
+
}
|
|
63
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.22", ngImport: i0, type: HermesSelectStateService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
64
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.22", ngImport: i0, type: HermesSelectStateService }); }
|
|
65
|
+
}
|
|
66
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.22", ngImport: i0, type: HermesSelectStateService, decorators: [{
|
|
67
|
+
type: Injectable
|
|
68
|
+
}] });
|
|
69
|
+
|
|
70
|
+
/*
|
|
71
|
+
* Copyright (c) 2016-2026 Broadcom. All Rights Reserved.
|
|
72
|
+
* The term "Broadcom" refers to Broadcom Inc. and/or its subsidiaries.
|
|
73
|
+
* This software is released under MIT license.
|
|
74
|
+
* The full license information can be found in LICENSE in the root directory of this project.
|
|
75
|
+
*/
|
|
76
|
+
/**
|
|
77
|
+
* Root of a hermes-select. Renders nothing itself besides its projected content
|
|
78
|
+
* (typically a HermesSelectTrigger and a HermesSelectContent) and provides the
|
|
79
|
+
* HermesSelectStateService every descendant reads/writes through.
|
|
80
|
+
*/
|
|
81
|
+
class HermesSelect {
|
|
82
|
+
constructor(state, popoverService) {
|
|
83
|
+
this.state = state;
|
|
84
|
+
this.popoverService = popoverService;
|
|
85
|
+
}
|
|
86
|
+
get disabled() {
|
|
87
|
+
return this.state.disabled;
|
|
88
|
+
}
|
|
89
|
+
get placeholder() {
|
|
90
|
+
return this.state.placeholder;
|
|
91
|
+
}
|
|
92
|
+
set placeholder(value) {
|
|
93
|
+
this.state.placeholder = value ?? '';
|
|
94
|
+
}
|
|
95
|
+
ngOnInit() {
|
|
96
|
+
// A close (regardless of whether it happened through a selection, Escape, or an
|
|
97
|
+
// outside click) is the closest thing a listbox-style control has to a "blur".
|
|
98
|
+
this.subscription = this.popoverService.openChange.subscribe(open => {
|
|
99
|
+
if (!open) {
|
|
100
|
+
this.state.onTouched();
|
|
101
|
+
}
|
|
102
|
+
});
|
|
103
|
+
}
|
|
104
|
+
ngOnDestroy() {
|
|
105
|
+
this.subscription?.unsubscribe();
|
|
106
|
+
}
|
|
107
|
+
writeValue(value) {
|
|
108
|
+
this.state.value = value;
|
|
109
|
+
}
|
|
110
|
+
registerOnChange(fn) {
|
|
111
|
+
this.state.onChange = fn;
|
|
112
|
+
}
|
|
113
|
+
registerOnTouched(fn) {
|
|
114
|
+
this.state.onTouched = fn;
|
|
115
|
+
}
|
|
116
|
+
setDisabledState(isDisabled) {
|
|
117
|
+
this.state.disabled = isDisabled;
|
|
118
|
+
}
|
|
119
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.22", ngImport: i0, type: HermesSelect, deps: [{ token: HermesSelectStateService }, { token: i2.HermesPopoverService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
120
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.22", type: HermesSelect, isStandalone: false, selector: "hermes-select", inputs: { placeholder: "placeholder" }, host: { properties: { "class.hermes-select": "true", "attr.data-disabled": "disabled || null" } }, providers: [
|
|
121
|
+
HermesSelectStateService,
|
|
122
|
+
{ provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => HermesSelect), multi: true },
|
|
123
|
+
], hostDirectives: [{ directive: i2.HermesPopoverHostDirective }], ngImport: i0, template: '<ng-content></ng-content>', isInline: true }); }
|
|
124
|
+
}
|
|
125
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.22", ngImport: i0, type: HermesSelect, decorators: [{
|
|
126
|
+
type: Component,
|
|
127
|
+
args: [{
|
|
128
|
+
selector: 'hermes-select',
|
|
129
|
+
template: '<ng-content></ng-content>',
|
|
130
|
+
providers: [
|
|
131
|
+
HermesSelectStateService,
|
|
132
|
+
{ provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => HermesSelect), multi: true },
|
|
133
|
+
],
|
|
134
|
+
hostDirectives: [HermesPopoverHostDirective],
|
|
135
|
+
host: {
|
|
136
|
+
'[class.hermes-select]': 'true',
|
|
137
|
+
'[attr.data-disabled]': 'disabled || null',
|
|
138
|
+
},
|
|
139
|
+
standalone: false,
|
|
140
|
+
}]
|
|
141
|
+
}], ctorParameters: () => [{ type: HermesSelectStateService }, { type: i2.HermesPopoverService }], propDecorators: { placeholder: [{
|
|
142
|
+
type: Input
|
|
143
|
+
}] } });
|
|
144
|
+
|
|
145
|
+
/*
|
|
146
|
+
* Copyright (c) 2016-2026 Broadcom. All Rights Reserved.
|
|
147
|
+
* The term "Broadcom" refers to Broadcom Inc. and/or its subsidiaries.
|
|
148
|
+
* This software is released under MIT license.
|
|
149
|
+
* The full license information can be found in LICENSE in the root directory of this project.
|
|
150
|
+
*/
|
|
151
|
+
/**
|
|
152
|
+
* The button that opens the listbox. A real <button> so Enter/Space activation and tab
|
|
153
|
+
* order come from the browser for free; only ArrowUp/ArrowDown need their own handling
|
|
154
|
+
* here, matching how a native <select> also opens on either arrow key.
|
|
155
|
+
*/
|
|
156
|
+
class HermesSelectTrigger {
|
|
157
|
+
constructor(state, popoverService) {
|
|
158
|
+
this.state = state;
|
|
159
|
+
this.popoverService = popoverService;
|
|
160
|
+
this.size = 'default';
|
|
161
|
+
}
|
|
162
|
+
ngAfterViewInit() {
|
|
163
|
+
this.state.triggerElement = this.buttonRef.nativeElement;
|
|
164
|
+
}
|
|
165
|
+
openOnArrowKey(event) {
|
|
166
|
+
if (this.state.disabled) {
|
|
167
|
+
return;
|
|
168
|
+
}
|
|
169
|
+
event.preventDefault();
|
|
170
|
+
if (!this.popoverService.open) {
|
|
171
|
+
this.popoverService.open = true;
|
|
172
|
+
}
|
|
173
|
+
}
|
|
174
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.22", ngImport: i0, type: HermesSelectTrigger, deps: [{ token: HermesSelectStateService }, { token: i2.HermesPopoverService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
175
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.22", type: HermesSelectTrigger, isStandalone: false, selector: "hermes-select-trigger", inputs: { size: "size" }, host: { properties: { "class.hermes-select-trigger": "true", "attr.data-size": "size" } }, viewQueries: [{ propertyName: "buttonRef", first: true, predicate: ["triggerButton"], descendants: true, static: true }], ngImport: i0, template: "<!--\n ~ Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\n ~ The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\n ~ This software is released under MIT license.\n ~ The full license information can be found in LICENSE in the root directory of this project.\n -->\n\n<button\n #triggerButton\n type=\"button\"\n class=\"hermes-select-trigger-button\"\n role=\"combobox\"\n hermesPopoverOrigin\n hermesPopoverOpenCloseButton\n [disabled]=\"state.disabled\"\n [attr.aria-expanded]=\"popoverService.open\"\n [attr.aria-controls]=\"state.listboxId\"\n aria-haspopup=\"listbox\"\n (keydown.ArrowDown)=\"openOnArrowKey($event)\"\n (keydown.ArrowUp)=\"openOnArrowKey($event)\"\n>\n <ng-content></ng-content>\n <hermes-icon shape=\"angle\" direction=\"down\" size=\"16\" class=\"hermes-select-trigger-icon\"></hermes-icon>\n</button>\n", dependencies: [{ kind: "component", type: i3.HermesIcon, selector: "hermes-icon, hermes-icon", inputs: ["shape", "size", "direction", "flip", "solid", "status", "inverse", "badge"] }, { kind: "directive", type: i2.HermesPopoverOrigin, selector: "[hermesPopoverOrigin]" }, { kind: "directive", type: i2.HermesPopoverOpenCloseButton, selector: "[hermesPopoverOpenCloseButton]", outputs: ["hermesPopoverOpenCloseChange"] }] }); }
|
|
176
|
+
}
|
|
177
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.22", ngImport: i0, type: HermesSelectTrigger, decorators: [{
|
|
178
|
+
type: Component,
|
|
179
|
+
args: [{ selector: 'hermes-select-trigger', host: {
|
|
180
|
+
'[class.hermes-select-trigger]': 'true',
|
|
181
|
+
'[attr.data-size]': 'size',
|
|
182
|
+
}, standalone: false, template: "<!--\n ~ Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\n ~ The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\n ~ This software is released under MIT license.\n ~ The full license information can be found in LICENSE in the root directory of this project.\n -->\n\n<button\n #triggerButton\n type=\"button\"\n class=\"hermes-select-trigger-button\"\n role=\"combobox\"\n hermesPopoverOrigin\n hermesPopoverOpenCloseButton\n [disabled]=\"state.disabled\"\n [attr.aria-expanded]=\"popoverService.open\"\n [attr.aria-controls]=\"state.listboxId\"\n aria-haspopup=\"listbox\"\n (keydown.ArrowDown)=\"openOnArrowKey($event)\"\n (keydown.ArrowUp)=\"openOnArrowKey($event)\"\n>\n <ng-content></ng-content>\n <hermes-icon shape=\"angle\" direction=\"down\" size=\"16\" class=\"hermes-select-trigger-icon\"></hermes-icon>\n</button>\n" }]
|
|
183
|
+
}], ctorParameters: () => [{ type: HermesSelectStateService }, { type: i2.HermesPopoverService }], propDecorators: { size: [{
|
|
184
|
+
type: Input
|
|
185
|
+
}], buttonRef: [{
|
|
186
|
+
type: ViewChild,
|
|
187
|
+
args: ['triggerButton', { static: true }]
|
|
188
|
+
}] } });
|
|
189
|
+
|
|
190
|
+
/*
|
|
191
|
+
* Copyright (c) 2016-2026 Broadcom. All Rights Reserved.
|
|
192
|
+
* The term "Broadcom" refers to Broadcom Inc. and/or its subsidiaries.
|
|
193
|
+
* This software is released under MIT license.
|
|
194
|
+
* The full license information can be found in LICENSE in the root directory of this project.
|
|
195
|
+
*/
|
|
196
|
+
/**
|
|
197
|
+
* Displays a snapshot of the selected item's rendered markup inside the trigger, or the
|
|
198
|
+
* placeholder text when nothing is selected yet - mirrors shadcn's <SelectValue>.
|
|
199
|
+
*
|
|
200
|
+
* Reads HermesSelectItem.getLabelHtml() (an innerHTML snapshot) rather than re-rendering the
|
|
201
|
+
* item's projected content through a shared TemplateRef: <ng-content> hands out one real set
|
|
202
|
+
* of DOM nodes, and instantiating that same template a second time here would move them out
|
|
203
|
+
* of the item's own row instead of cloning them.
|
|
204
|
+
*/
|
|
205
|
+
class HermesSelectValue {
|
|
206
|
+
constructor(state, sanitizer) {
|
|
207
|
+
this.state = state;
|
|
208
|
+
this.sanitizer = sanitizer;
|
|
209
|
+
}
|
|
210
|
+
get resolvedPlaceholder() {
|
|
211
|
+
return this.placeholder ?? this.state.placeholder;
|
|
212
|
+
}
|
|
213
|
+
get valueHtml() {
|
|
214
|
+
const item = this.state.selectedItem;
|
|
215
|
+
// Trusted: this is a snapshot of markup this same app already rendered from its own
|
|
216
|
+
// hermes-select-item templates, not third-party or user-supplied HTML.
|
|
217
|
+
return item ? this.sanitizer.bypassSecurityTrustHtml(item.getLabelHtml()) : null;
|
|
218
|
+
}
|
|
219
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.22", ngImport: i0, type: HermesSelectValue, deps: [{ token: HermesSelectStateService }, { token: i2$1.DomSanitizer }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
220
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.22", type: HermesSelectValue, isStandalone: false, selector: "hermes-select-value", inputs: { placeholder: "placeholder" }, host: { properties: { "class.hermes-select-value": "true", "class.hermes-select-placeholder": "!state.selectedItem" } }, ngImport: i0, template: "<!--\n ~ Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\n ~ The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\n ~ This software is released under MIT license.\n ~ The full license information can be found in LICENSE in the root directory of this project.\n -->\n\n@if (state.selectedItem) {\n <span [innerHTML]=\"valueHtml\"></span>\n} @else {\n {{ resolvedPlaceholder }}\n}\n" }); }
|
|
221
|
+
}
|
|
222
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.22", ngImport: i0, type: HermesSelectValue, decorators: [{
|
|
223
|
+
type: Component,
|
|
224
|
+
args: [{ selector: 'hermes-select-value', host: {
|
|
225
|
+
'[class.hermes-select-value]': 'true',
|
|
226
|
+
'[class.hermes-select-placeholder]': '!state.selectedItem',
|
|
227
|
+
}, standalone: false, template: "<!--\n ~ Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\n ~ The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\n ~ This software is released under MIT license.\n ~ The full license information can be found in LICENSE in the root directory of this project.\n -->\n\n@if (state.selectedItem) {\n <span [innerHTML]=\"valueHtml\"></span>\n} @else {\n {{ resolvedPlaceholder }}\n}\n" }]
|
|
228
|
+
}], ctorParameters: () => [{ type: HermesSelectStateService }, { type: i2$1.DomSanitizer }], propDecorators: { placeholder: [{
|
|
229
|
+
type: Input
|
|
230
|
+
}] } });
|
|
231
|
+
|
|
232
|
+
/*
|
|
233
|
+
* Copyright (c) 2016-2026 Broadcom. All Rights Reserved.
|
|
234
|
+
* The term "Broadcom" refers to Broadcom Inc. and/or its subsidiaries.
|
|
235
|
+
* This software is released under MIT license.
|
|
236
|
+
* The full license information can be found in LICENSE in the root directory of this project.
|
|
237
|
+
*/
|
|
238
|
+
class HermesSelectItem {
|
|
239
|
+
constructor(state, elementRef) {
|
|
240
|
+
this.state = state;
|
|
241
|
+
this.elementRef = elementRef;
|
|
242
|
+
this._disabled = false;
|
|
243
|
+
}
|
|
244
|
+
get disabled() {
|
|
245
|
+
return this._disabled;
|
|
246
|
+
}
|
|
247
|
+
set disabled(value) {
|
|
248
|
+
this._disabled = !!value || value === '';
|
|
249
|
+
}
|
|
250
|
+
get selected() {
|
|
251
|
+
return this.state.isSelected(this.value);
|
|
252
|
+
}
|
|
253
|
+
get nativeElement() {
|
|
254
|
+
return this.elementRef.nativeElement;
|
|
255
|
+
}
|
|
256
|
+
focus() {
|
|
257
|
+
this.elementRef.nativeElement.focus();
|
|
258
|
+
}
|
|
259
|
+
getLabelHtml() {
|
|
260
|
+
return this.textEl?.nativeElement.innerHTML ?? '';
|
|
261
|
+
}
|
|
262
|
+
ngOnInit() {
|
|
263
|
+
this.state.registerItem(this);
|
|
264
|
+
}
|
|
265
|
+
ngOnDestroy() {
|
|
266
|
+
this.state.unregisterItem(this);
|
|
267
|
+
}
|
|
268
|
+
onSelect() {
|
|
269
|
+
if (this.disabled) {
|
|
270
|
+
return;
|
|
271
|
+
}
|
|
272
|
+
this.state.selectValue(this.value);
|
|
273
|
+
}
|
|
274
|
+
onKeydownSelect(event) {
|
|
275
|
+
// Space normally scrolls the page; both keys should only ever select.
|
|
276
|
+
event.preventDefault();
|
|
277
|
+
this.onSelect();
|
|
278
|
+
}
|
|
279
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.22", ngImport: i0, type: HermesSelectItem, deps: [{ token: HermesSelectStateService }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
280
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.22", type: HermesSelectItem, isStandalone: false, selector: "hermes-select-item", inputs: { value: "value", disabled: "disabled" }, host: { attributes: { "role": "option" }, listeners: { "click": "onSelect()", "keydown.enter": "onKeydownSelect($event)", "keydown.space": "onKeydownSelect($event)" }, properties: { "attr.aria-selected": "selected", "attr.aria-disabled": "disabled || null", "attr.tabindex": "-1", "class.hermes-select-item": "true", "class.selected": "selected", "class.disabled": "disabled" } }, viewQueries: [{ propertyName: "textEl", first: true, predicate: ["text"], descendants: true, static: true }], ngImport: i0, template: "<!--\n ~ Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\n ~ The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\n ~ This software is released under MIT license.\n ~ The full license information can be found in LICENSE in the root directory of this project.\n -->\n\n<span #text class=\"hermes-select-item-text\">\n <ng-content></ng-content>\n</span>\n<span class=\"hermes-select-item-indicator\">\n @if (selected) {\n <hermes-icon shape=\"check\" size=\"16\"></hermes-icon>\n }\n</span>\n", dependencies: [{ kind: "component", type: i3.HermesIcon, selector: "hermes-icon, hermes-icon", inputs: ["shape", "size", "direction", "flip", "solid", "status", "inverse", "badge"] }] }); }
|
|
281
|
+
}
|
|
282
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.22", ngImport: i0, type: HermesSelectItem, decorators: [{
|
|
283
|
+
type: Component,
|
|
284
|
+
args: [{ selector: 'hermes-select-item', host: {
|
|
285
|
+
role: 'option',
|
|
286
|
+
'[attr.aria-selected]': 'selected',
|
|
287
|
+
'[attr.aria-disabled]': 'disabled || null',
|
|
288
|
+
'[attr.tabindex]': '-1',
|
|
289
|
+
'[class.hermes-select-item]': 'true',
|
|
290
|
+
'[class.selected]': 'selected',
|
|
291
|
+
'[class.disabled]': 'disabled',
|
|
292
|
+
'(click)': 'onSelect()',
|
|
293
|
+
'(keydown.enter)': 'onKeydownSelect($event)',
|
|
294
|
+
'(keydown.space)': 'onKeydownSelect($event)',
|
|
295
|
+
}, standalone: false, template: "<!--\n ~ Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\n ~ The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\n ~ This software is released under MIT license.\n ~ The full license information can be found in LICENSE in the root directory of this project.\n -->\n\n<span #text class=\"hermes-select-item-text\">\n <ng-content></ng-content>\n</span>\n<span class=\"hermes-select-item-indicator\">\n @if (selected) {\n <hermes-icon shape=\"check\" size=\"16\"></hermes-icon>\n }\n</span>\n" }]
|
|
296
|
+
}], ctorParameters: () => [{ type: HermesSelectStateService }, { type: i0.ElementRef }], propDecorators: { value: [{
|
|
297
|
+
type: Input
|
|
298
|
+
}], textEl: [{
|
|
299
|
+
type: ViewChild,
|
|
300
|
+
args: ['text', { static: true }]
|
|
301
|
+
}], disabled: [{
|
|
302
|
+
type: Input
|
|
303
|
+
}] } });
|
|
304
|
+
|
|
305
|
+
const TYPEAHEAD_RESET_MS = 500;
|
|
306
|
+
/**
|
|
307
|
+
* The listbox popup. Hosts HermesPopoverContent for positioning/overlay/outside-click/escape
|
|
308
|
+
* handling (the same primitive hermes-dropdown-menu uses) and owns arrow-key navigation,
|
|
309
|
+
* Home/End, and single-character typeahead across its projected hermes-select-item children.
|
|
310
|
+
*/
|
|
311
|
+
class HermesSelectContent {
|
|
312
|
+
constructor(state, popoverService, popoverContent, elementRef) {
|
|
313
|
+
this.state = state;
|
|
314
|
+
this.popoverService = popoverService;
|
|
315
|
+
this.popoverContent = popoverContent;
|
|
316
|
+
this.elementRef = elementRef;
|
|
317
|
+
this.canScrollUp = false;
|
|
318
|
+
this.canScrollDown = false;
|
|
319
|
+
this.subscriptions = [];
|
|
320
|
+
this.typeaheadBuffer = '';
|
|
321
|
+
popoverContent.contentType = HermesPopoverType.DROPDOWN;
|
|
322
|
+
popoverContent.contentAt = HermesPopoverPosition.BOTTOM_LEFT;
|
|
323
|
+
popoverService.panelClass.push('hermes-select-content-panel');
|
|
324
|
+
}
|
|
325
|
+
/**
|
|
326
|
+
* Fallback to hide when the overlay hasn't attached (or has just detached) this
|
|
327
|
+
* element's DOM node yet - mirrors hermes-dropdown-menu's own off-screen fallback.
|
|
328
|
+
*/
|
|
329
|
+
get isOffScreen() {
|
|
330
|
+
return !this.popoverService.open;
|
|
331
|
+
}
|
|
332
|
+
ngAfterContentInit() {
|
|
333
|
+
this.subscriptions.push(this.popoverService.popoverVisible.subscribe(visible => {
|
|
334
|
+
if (visible) {
|
|
335
|
+
this.focusInitialItem();
|
|
336
|
+
// Wait for layout so scrollHeight reflects the now-visible content.
|
|
337
|
+
setTimeout(() => this.updateScrollButtonsVisibility());
|
|
338
|
+
}
|
|
339
|
+
}), this.state.valueChange.subscribe(() => this.updateItemAlignedPosition()), this.items.changes.subscribe(() => this.updateItemAlignedPosition()));
|
|
340
|
+
// Deferred one tick: HermesSelectTrigger sets state.triggerElement in its own
|
|
341
|
+
// ngAfterViewInit, which may not have run yet by the time this fires.
|
|
342
|
+
setTimeout(() => this.updateItemAlignedPosition());
|
|
343
|
+
}
|
|
344
|
+
onViewportScroll() {
|
|
345
|
+
this.updateScrollButtonsVisibility();
|
|
346
|
+
}
|
|
347
|
+
ngOnDestroy() {
|
|
348
|
+
this.subscriptions.forEach(subscription => subscription.unsubscribe());
|
|
349
|
+
clearTimeout(this.typeaheadTimeout);
|
|
350
|
+
}
|
|
351
|
+
scrollBy(delta) {
|
|
352
|
+
this.viewport?.nativeElement.scrollBy({ top: delta });
|
|
353
|
+
}
|
|
354
|
+
/**
|
|
355
|
+
* Mirrors the "item-aligned" positioning a native <select> (and shadcn/Radix's Select)
|
|
356
|
+
* uses: instead of always dropping the popup below the trigger, it opens with the
|
|
357
|
+
* currently selected item lined up against the trigger, so the control feels like it
|
|
358
|
+
* expands in place rather than sliding a menu out from under itself. Falls back to a
|
|
359
|
+
* plain below-the-trigger dropdown position when there's no selection yet.
|
|
360
|
+
*/
|
|
361
|
+
updateItemAlignedPosition() {
|
|
362
|
+
const base = mapPopoverKeyToPosition(HermesPopoverPosition.BOTTOM_LEFT, HermesPopoverType.DROPDOWN);
|
|
363
|
+
const trigger = this.state.triggerElement;
|
|
364
|
+
const selected = this.state.selectedItem;
|
|
365
|
+
if (!trigger || !selected) {
|
|
366
|
+
this.popoverContent.contentAt = base;
|
|
367
|
+
return;
|
|
368
|
+
}
|
|
369
|
+
const itemOffsetTop = this.offsetTopWithin(selected.nativeElement, this.elementRef.nativeElement);
|
|
370
|
+
const triggerHeight = trigger.getBoundingClientRect().height;
|
|
371
|
+
const itemHeight = selected.nativeElement.getBoundingClientRect().height;
|
|
372
|
+
this.popoverContent.contentAt = {
|
|
373
|
+
...base,
|
|
374
|
+
originY: 'top',
|
|
375
|
+
overlayY: 'top',
|
|
376
|
+
// Centers the selected item's row against the trigger's own height, then cancels out
|
|
377
|
+
// how far that item already sits from the top of the (still off-screen) popup.
|
|
378
|
+
offsetY: (triggerHeight - itemHeight) / 2 - itemOffsetTop,
|
|
379
|
+
};
|
|
380
|
+
}
|
|
381
|
+
/**
|
|
382
|
+
* Walks the offsetParent chain rather than comparing getBoundingClientRect()s: while
|
|
383
|
+
* closed this element is `position: fixed` off-screen (see isOffScreen), so absolute
|
|
384
|
+
* screen coordinates aren't meaningful yet, but relative offsetTop distances still are.
|
|
385
|
+
*/
|
|
386
|
+
offsetTopWithin(element, ancestor) {
|
|
387
|
+
let top = 0;
|
|
388
|
+
let node = element;
|
|
389
|
+
while (node && node !== ancestor) {
|
|
390
|
+
top += node.offsetTop;
|
|
391
|
+
node = node.offsetParent;
|
|
392
|
+
}
|
|
393
|
+
return top;
|
|
394
|
+
}
|
|
395
|
+
updateScrollButtonsVisibility() {
|
|
396
|
+
const el = this.viewport?.nativeElement;
|
|
397
|
+
if (!el) {
|
|
398
|
+
return;
|
|
399
|
+
}
|
|
400
|
+
this.canScrollUp = el.scrollTop > 0;
|
|
401
|
+
this.canScrollDown = Math.ceil(el.scrollTop + el.clientHeight) < el.scrollHeight;
|
|
402
|
+
}
|
|
403
|
+
onKeydown(event) {
|
|
404
|
+
const items = this.enabledItems();
|
|
405
|
+
if (!items.length) {
|
|
406
|
+
return;
|
|
407
|
+
}
|
|
408
|
+
const currentIndex = items.findIndex(item => item.nativeElement === document.activeElement);
|
|
409
|
+
switch (event.key) {
|
|
410
|
+
case Keys.ArrowDown:
|
|
411
|
+
event.preventDefault();
|
|
412
|
+
this.focusAt(items, currentIndex + 1 < items.length ? currentIndex + 1 : 0);
|
|
413
|
+
break;
|
|
414
|
+
case Keys.ArrowUp:
|
|
415
|
+
event.preventDefault();
|
|
416
|
+
this.focusAt(items, currentIndex > 0 ? currentIndex - 1 : items.length - 1);
|
|
417
|
+
break;
|
|
418
|
+
case Keys.Home:
|
|
419
|
+
event.preventDefault();
|
|
420
|
+
this.focusAt(items, 0);
|
|
421
|
+
break;
|
|
422
|
+
case Keys.End:
|
|
423
|
+
event.preventDefault();
|
|
424
|
+
this.focusAt(items, items.length - 1);
|
|
425
|
+
break;
|
|
426
|
+
default:
|
|
427
|
+
this.handleTypeahead(event, items);
|
|
428
|
+
}
|
|
429
|
+
}
|
|
430
|
+
enabledItems() {
|
|
431
|
+
return this.items?.filter(item => !item.disabled) ?? [];
|
|
432
|
+
}
|
|
433
|
+
focusAt(items, index) {
|
|
434
|
+
items[index]?.focus();
|
|
435
|
+
}
|
|
436
|
+
focusInitialItem() {
|
|
437
|
+
// The overlay's own content isn't attached/focusable synchronously with this emission.
|
|
438
|
+
setTimeout(() => {
|
|
439
|
+
const items = this.enabledItems();
|
|
440
|
+
if (!items.length) {
|
|
441
|
+
return;
|
|
442
|
+
}
|
|
443
|
+
(items.find(item => item.selected) ?? items[0]).focus();
|
|
444
|
+
});
|
|
445
|
+
}
|
|
446
|
+
handleTypeahead(event, items) {
|
|
447
|
+
if (event.key.length !== 1 || event.metaKey || event.ctrlKey || event.altKey) {
|
|
448
|
+
return;
|
|
449
|
+
}
|
|
450
|
+
event.preventDefault();
|
|
451
|
+
clearTimeout(this.typeaheadTimeout);
|
|
452
|
+
this.typeaheadBuffer += event.key.toLowerCase();
|
|
453
|
+
this.typeaheadTimeout = setTimeout(() => (this.typeaheadBuffer = ''), TYPEAHEAD_RESET_MS);
|
|
454
|
+
const match = items.find(item => item.nativeElement.textContent?.trim().toLowerCase().startsWith(this.typeaheadBuffer));
|
|
455
|
+
match?.focus();
|
|
456
|
+
}
|
|
457
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.22", ngImport: i0, type: HermesSelectContent, deps: [{ token: HermesSelectStateService }, { token: i2.HermesPopoverService }, { token: i2.HermesPopoverContent }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
458
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.22", type: HermesSelectContent, isStandalone: false, selector: "hermes-select-content", host: { attributes: { "role": "listbox" }, listeners: { "keydown": "onKeydown($event)" }, properties: { "attr.id": "state.listboxId", "class.hermes-select-content": "true", "class.is-off-screen": "this.isOffScreen" } }, queries: [{ propertyName: "items", predicate: HermesSelectItem, descendants: true }], viewQueries: [{ propertyName: "viewport", first: true, predicate: ["viewport"], descendants: true, static: true }], hostDirectives: [{ directive: i2.HermesPopoverContent }], ngImport: i0, template: "<!--\n ~ Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\n ~ The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\n ~ This software is released under MIT license.\n ~ The full license information can be found in LICENSE in the root directory of this project.\n -->\n\n@if (canScrollUp) {\n <button type=\"button\" class=\"hermes-select-scroll-button\" aria-hidden=\"true\" tabindex=\"-1\" (click)=\"scrollBy(-40)\">\n <hermes-icon shape=\"angle\" direction=\"up\" size=\"16\"></hermes-icon>\n </button>\n}\n<div #viewport class=\"hermes-select-viewport\" (scroll)=\"onViewportScroll()\">\n <ng-content></ng-content>\n</div>\n@if (canScrollDown) {\n <button type=\"button\" class=\"hermes-select-scroll-button\" aria-hidden=\"true\" tabindex=\"-1\" (click)=\"scrollBy(40)\">\n <hermes-icon shape=\"angle\" direction=\"down\" size=\"16\"></hermes-icon>\n </button>\n}\n", dependencies: [{ kind: "component", type: i3.HermesIcon, selector: "hermes-icon, hermes-icon", inputs: ["shape", "size", "direction", "flip", "solid", "status", "inverse", "badge"] }] }); }
|
|
459
|
+
}
|
|
460
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.22", ngImport: i0, type: HermesSelectContent, decorators: [{
|
|
461
|
+
type: Component,
|
|
462
|
+
args: [{ selector: 'hermes-select-content', hostDirectives: [HermesPopoverContent], host: {
|
|
463
|
+
role: 'listbox',
|
|
464
|
+
'[attr.id]': 'state.listboxId',
|
|
465
|
+
'[class.hermes-select-content]': 'true',
|
|
466
|
+
'(keydown)': 'onKeydown($event)',
|
|
467
|
+
}, standalone: false, template: "<!--\n ~ Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\n ~ The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\n ~ This software is released under MIT license.\n ~ The full license information can be found in LICENSE in the root directory of this project.\n -->\n\n@if (canScrollUp) {\n <button type=\"button\" class=\"hermes-select-scroll-button\" aria-hidden=\"true\" tabindex=\"-1\" (click)=\"scrollBy(-40)\">\n <hermes-icon shape=\"angle\" direction=\"up\" size=\"16\"></hermes-icon>\n </button>\n}\n<div #viewport class=\"hermes-select-viewport\" (scroll)=\"onViewportScroll()\">\n <ng-content></ng-content>\n</div>\n@if (canScrollDown) {\n <button type=\"button\" class=\"hermes-select-scroll-button\" aria-hidden=\"true\" tabindex=\"-1\" (click)=\"scrollBy(40)\">\n <hermes-icon shape=\"angle\" direction=\"down\" size=\"16\"></hermes-icon>\n </button>\n}\n" }]
|
|
468
|
+
}], ctorParameters: () => [{ type: HermesSelectStateService }, { type: i2.HermesPopoverService }, { type: i2.HermesPopoverContent }, { type: i0.ElementRef }], propDecorators: { items: [{
|
|
469
|
+
type: ContentChildren,
|
|
470
|
+
args: [HermesSelectItem, { descendants: true }]
|
|
471
|
+
}], viewport: [{
|
|
472
|
+
type: ViewChild,
|
|
473
|
+
args: ['viewport', { static: true }]
|
|
474
|
+
}], isOffScreen: [{
|
|
475
|
+
type: HostBinding,
|
|
476
|
+
args: ['class.is-off-screen']
|
|
477
|
+
}] } });
|
|
478
|
+
|
|
479
|
+
/*
|
|
480
|
+
* Copyright (c) 2016-2026 Broadcom. All Rights Reserved.
|
|
481
|
+
* The term "Broadcom" refers to Broadcom Inc. and/or its subsidiaries.
|
|
482
|
+
* This software is released under MIT license.
|
|
483
|
+
* The full license information can be found in LICENSE in the root directory of this project.
|
|
484
|
+
*/
|
|
485
|
+
class HermesSelectGroup {
|
|
486
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.22", ngImport: i0, type: HermesSelectGroup, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
487
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.22", type: HermesSelectGroup, isStandalone: false, selector: "hermes-select-group", host: { attributes: { "role": "group" }, properties: { "class.hermes-select-group": "true" } }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true }); }
|
|
488
|
+
}
|
|
489
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.22", ngImport: i0, type: HermesSelectGroup, decorators: [{
|
|
490
|
+
type: Component,
|
|
491
|
+
args: [{
|
|
492
|
+
selector: 'hermes-select-group',
|
|
493
|
+
template: '<ng-content></ng-content>',
|
|
494
|
+
host: {
|
|
495
|
+
role: 'group',
|
|
496
|
+
'[class.hermes-select-group]': 'true',
|
|
497
|
+
},
|
|
498
|
+
standalone: false,
|
|
499
|
+
}]
|
|
500
|
+
}] });
|
|
501
|
+
|
|
502
|
+
/*
|
|
503
|
+
* Copyright (c) 2016-2026 Broadcom. All Rights Reserved.
|
|
504
|
+
* The term "Broadcom" refers to Broadcom Inc. and/or its subsidiaries.
|
|
505
|
+
* This software is released under MIT license.
|
|
506
|
+
* The full license information can be found in LICENSE in the root directory of this project.
|
|
507
|
+
*/
|
|
508
|
+
class HermesSelectLabel {
|
|
509
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.22", ngImport: i0, type: HermesSelectLabel, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
510
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.22", type: HermesSelectLabel, isStandalone: false, selector: "hermes-select-label", host: { properties: { "class.hermes-select-label": "true" } }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true }); }
|
|
511
|
+
}
|
|
512
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.22", ngImport: i0, type: HermesSelectLabel, decorators: [{
|
|
513
|
+
type: Component,
|
|
514
|
+
args: [{
|
|
515
|
+
selector: 'hermes-select-label',
|
|
516
|
+
template: '<ng-content></ng-content>',
|
|
517
|
+
host: {
|
|
518
|
+
'[class.hermes-select-label]': 'true',
|
|
519
|
+
},
|
|
520
|
+
standalone: false,
|
|
521
|
+
}]
|
|
522
|
+
}] });
|
|
523
|
+
|
|
524
|
+
/*
|
|
525
|
+
* Copyright (c) 2016-2026 Broadcom. All Rights Reserved.
|
|
526
|
+
* The term "Broadcom" refers to Broadcom Inc. and/or its subsidiaries.
|
|
527
|
+
* This software is released under MIT license.
|
|
528
|
+
* The full license information can be found in LICENSE in the root directory of this project.
|
|
529
|
+
*/
|
|
530
|
+
class HermesSelectSeparator {
|
|
531
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.22", ngImport: i0, type: HermesSelectSeparator, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
532
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.22", type: HermesSelectSeparator, isStandalone: false, selector: "hermes-select-separator", host: { attributes: { "role": "separator" }, properties: { "class.hermes-select-separator": "true" } }, ngImport: i0, template: '', isInline: true }); }
|
|
533
|
+
}
|
|
534
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.22", ngImport: i0, type: HermesSelectSeparator, decorators: [{
|
|
535
|
+
type: Component,
|
|
536
|
+
args: [{
|
|
537
|
+
selector: 'hermes-select-separator',
|
|
538
|
+
template: '',
|
|
539
|
+
host: {
|
|
540
|
+
role: 'separator',
|
|
541
|
+
'[class.hermes-select-separator]': 'true',
|
|
542
|
+
},
|
|
543
|
+
standalone: false,
|
|
544
|
+
}]
|
|
545
|
+
}] });
|
|
546
|
+
|
|
547
|
+
/*
|
|
548
|
+
* Copyright (c) 2016-2026 Broadcom. All Rights Reserved.
|
|
549
|
+
* The term "Broadcom" refers to Broadcom Inc. and/or its subsidiaries.
|
|
550
|
+
* This software is released under MIT license.
|
|
551
|
+
* The full license information can be found in LICENSE in the root directory of this project.
|
|
552
|
+
*/
|
|
553
|
+
const HERMES_SELECT_DIRECTIVES = [
|
|
554
|
+
HermesSelect,
|
|
555
|
+
HermesSelectTrigger,
|
|
556
|
+
HermesSelectValue,
|
|
557
|
+
HermesSelectContent,
|
|
558
|
+
HermesSelectItem,
|
|
559
|
+
HermesSelectGroup,
|
|
560
|
+
HermesSelectLabel,
|
|
561
|
+
HermesSelectSeparator,
|
|
562
|
+
];
|
|
563
|
+
class HermesSelectModule {
|
|
564
|
+
constructor() {
|
|
565
|
+
ClarityIcons.addIcons(angleIcon, checkIcon);
|
|
566
|
+
}
|
|
567
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.22", ngImport: i0, type: HermesSelectModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
568
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.22", ngImport: i0, type: HermesSelectModule, declarations: [HermesSelect,
|
|
569
|
+
HermesSelectTrigger,
|
|
570
|
+
HermesSelectValue,
|
|
571
|
+
HermesSelectContent,
|
|
572
|
+
HermesSelectItem,
|
|
573
|
+
HermesSelectGroup,
|
|
574
|
+
HermesSelectLabel,
|
|
575
|
+
HermesSelectSeparator], imports: [CommonModule, HermesIcon, HermesPopoverModuleNext], exports: [HermesSelect,
|
|
576
|
+
HermesSelectTrigger,
|
|
577
|
+
HermesSelectValue,
|
|
578
|
+
HermesSelectContent,
|
|
579
|
+
HermesSelectItem,
|
|
580
|
+
HermesSelectGroup,
|
|
581
|
+
HermesSelectLabel,
|
|
582
|
+
HermesSelectSeparator] }); }
|
|
583
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.22", ngImport: i0, type: HermesSelectModule, imports: [CommonModule, HermesIcon, HermesPopoverModuleNext] }); }
|
|
584
|
+
}
|
|
585
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.22", ngImport: i0, type: HermesSelectModule, decorators: [{
|
|
586
|
+
type: NgModule,
|
|
587
|
+
args: [{
|
|
588
|
+
imports: [CommonModule, HermesIcon, HermesPopoverModuleNext],
|
|
589
|
+
declarations: [HERMES_SELECT_DIRECTIVES],
|
|
590
|
+
exports: [HERMES_SELECT_DIRECTIVES],
|
|
591
|
+
}]
|
|
592
|
+
}], ctorParameters: () => [] });
|
|
593
|
+
|
|
594
|
+
/*
|
|
595
|
+
* Copyright (c) 2016-2026 Broadcom. All Rights Reserved.
|
|
596
|
+
* The term "Broadcom" refers to Broadcom Inc. and/or its subsidiaries.
|
|
597
|
+
* This software is released under MIT license.
|
|
598
|
+
* The full license information can be found in LICENSE in the root directory of this project.
|
|
599
|
+
*/
|
|
600
|
+
|
|
601
|
+
/**
|
|
602
|
+
* Generated bundle index. Do not edit.
|
|
603
|
+
*/
|
|
604
|
+
|
|
605
|
+
export { HermesSelect, HermesSelectContent, HermesSelectGroup, HermesSelectItem, HermesSelectLabel, HermesSelectModule, HermesSelectSeparator, HermesSelectStateService, HermesSelectTrigger, HermesSelectValue };
|
|
606
|
+
//# sourceMappingURL=hermes-ui-angular-forms-select.mjs.map
|