@helixui/library 2.1.2-next.53 → 2.1.2-next.57
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/custom-elements.json +847 -1038
- package/dist/base/helix-element.d.ts +20 -8
- package/dist/base/helix-element.d.ts.map +1 -1
- package/dist/components/hx-accordion/hx-accordion-item.d.ts +7 -2
- package/dist/components/hx-accordion/hx-accordion-item.d.ts.map +1 -1
- package/dist/components/hx-accordion/hx-accordion.d.ts +3 -2
- package/dist/components/hx-accordion/hx-accordion.d.ts.map +1 -1
- package/dist/components/hx-accordion/index.d.ts +1 -0
- package/dist/components/hx-accordion/index.d.ts.map +1 -1
- package/dist/components/hx-accordion/index.js +1 -1
- package/dist/components/hx-action-bar/hx-action-bar.d.ts +2 -11
- package/dist/components/hx-action-bar/hx-action-bar.d.ts.map +1 -1
- package/dist/components/hx-action-bar/hx-action-bar.styles.d.ts.map +1 -1
- package/dist/components/hx-action-bar/index.js +1 -1
- package/dist/components/hx-alert/hx-alert.d.ts +7 -2
- package/dist/components/hx-alert/hx-alert.d.ts.map +1 -1
- package/dist/components/hx-alert/index.d.ts +1 -0
- package/dist/components/hx-alert/index.d.ts.map +1 -1
- package/dist/components/hx-alert/index.js +1 -1
- package/dist/components/hx-avatar/hx-avatar.d.ts +3 -2
- package/dist/components/hx-avatar/hx-avatar.d.ts.map +1 -1
- package/dist/components/hx-avatar/index.js +1 -1
- package/dist/components/hx-badge/hx-badge.d.ts +2 -9
- package/dist/components/hx-badge/hx-badge.d.ts.map +1 -1
- package/dist/components/hx-badge/index.d.ts +1 -1
- package/dist/components/hx-badge/index.d.ts.map +1 -1
- package/dist/components/hx-badge/index.js +1 -1
- package/dist/components/hx-banner/hx-banner.d.ts +3 -2
- package/dist/components/hx-banner/hx-banner.d.ts.map +1 -1
- package/dist/components/hx-banner/index.js +1 -1
- package/dist/components/hx-breadcrumb/hx-breadcrumb-item.d.ts +2 -2
- package/dist/components/hx-breadcrumb/hx-breadcrumb-item.d.ts.map +1 -1
- package/dist/components/hx-breadcrumb/hx-breadcrumb.d.ts +9 -12
- package/dist/components/hx-breadcrumb/hx-breadcrumb.d.ts.map +1 -1
- package/dist/components/hx-breadcrumb/hx-breadcrumb.styles.d.ts.map +1 -1
- package/dist/components/hx-breadcrumb/index.js +1 -1
- package/dist/components/hx-button/hx-button.d.ts +22 -0
- package/dist/components/hx-button/hx-button.d.ts.map +1 -1
- package/dist/components/hx-button/index.d.ts +1 -0
- package/dist/components/hx-button/index.d.ts.map +1 -1
- package/dist/components/hx-button/index.js +1 -1
- package/dist/components/hx-button-group/hx-button-group.d.ts +3 -2
- package/dist/components/hx-button-group/hx-button-group.d.ts.map +1 -1
- package/dist/components/hx-button-group/hx-button-group.styles.d.ts.map +1 -1
- package/dist/components/hx-button-group/index.js +1 -1
- package/dist/components/hx-card/hx-card.d.ts +3 -2
- package/dist/components/hx-card/hx-card.d.ts.map +1 -1
- package/dist/components/hx-card/index.js +1 -1
- package/dist/components/hx-carousel/hx-carousel-item.d.ts +2 -2
- package/dist/components/hx-carousel/hx-carousel-item.d.ts.map +1 -1
- package/dist/components/hx-carousel/hx-carousel-item.styles.d.ts.map +1 -1
- package/dist/components/hx-carousel/hx-carousel.d.ts +2 -2
- package/dist/components/hx-carousel/hx-carousel.d.ts.map +1 -1
- package/dist/components/hx-carousel/index.js +1 -1
- package/dist/components/hx-checkbox/hx-checkbox.d.ts +44 -5
- package/dist/components/hx-checkbox/hx-checkbox.d.ts.map +1 -1
- package/dist/components/hx-checkbox/index.d.ts +1 -0
- package/dist/components/hx-checkbox/index.d.ts.map +1 -1
- package/dist/components/hx-checkbox/index.js +1 -1
- package/dist/components/hx-checkbox-group/hx-checkbox-group.d.ts +9 -13
- package/dist/components/hx-checkbox-group/hx-checkbox-group.d.ts.map +1 -1
- package/dist/components/hx-checkbox-group/index.d.ts +1 -0
- package/dist/components/hx-checkbox-group/index.d.ts.map +1 -1
- package/dist/components/hx-checkbox-group/index.js +1 -1
- package/dist/components/hx-clinical-status/hx-clinical-status.d.ts +0 -7
- package/dist/components/hx-clinical-status/hx-clinical-status.d.ts.map +1 -1
- package/dist/components/hx-clinical-status/index.js +1 -1
- package/dist/components/hx-code-snippet/index.js +1 -1
- package/dist/components/hx-color-picker/hx-color-picker.d.ts +8 -11
- package/dist/components/hx-color-picker/hx-color-picker.d.ts.map +1 -1
- package/dist/components/hx-color-picker/hx-color-picker.styles.d.ts.map +1 -1
- package/dist/components/hx-color-picker/index.d.ts +1 -0
- package/dist/components/hx-color-picker/index.d.ts.map +1 -1
- package/dist/components/hx-color-picker/index.js +1 -1
- package/dist/components/hx-combobox/hx-combobox.d.ts +32 -15
- package/dist/components/hx-combobox/hx-combobox.d.ts.map +1 -1
- package/dist/components/hx-combobox/hx-combobox.styles.d.ts.map +1 -1
- package/dist/components/hx-combobox/index.d.ts +1 -0
- package/dist/components/hx-combobox/index.d.ts.map +1 -1
- package/dist/components/hx-combobox/index.js +1 -1
- package/dist/components/hx-container/hx-container.d.ts +2 -4
- package/dist/components/hx-container/hx-container.d.ts.map +1 -1
- package/dist/components/hx-container/hx-container.styles.d.ts.map +1 -1
- package/dist/components/hx-container/index.d.ts +0 -1
- package/dist/components/hx-container/index.d.ts.map +1 -1
- package/dist/components/hx-container/index.js +1 -1
- package/dist/components/hx-copy-button/hx-copy-button.d.ts +2 -2
- package/dist/components/hx-copy-button/hx-copy-button.d.ts.map +1 -1
- package/dist/components/hx-copy-button/index.js +1 -1
- package/dist/components/hx-counter/hx-counter.d.ts +3 -2
- package/dist/components/hx-counter/hx-counter.d.ts.map +1 -1
- package/dist/components/hx-counter/hx-counter.styles.d.ts.map +1 -1
- package/dist/components/hx-counter/index.js +1 -1
- package/dist/components/hx-data-table/hx-data-table.d.ts +26 -2
- package/dist/components/hx-data-table/hx-data-table.d.ts.map +1 -1
- package/dist/components/hx-data-table/index.d.ts +1 -0
- package/dist/components/hx-data-table/index.d.ts.map +1 -1
- package/dist/components/hx-data-table/index.js +1 -1
- package/dist/components/hx-date-picker/hx-date-picker.d.ts +30 -19
- package/dist/components/hx-date-picker/hx-date-picker.d.ts.map +1 -1
- package/dist/components/hx-date-picker/hx-date-picker.styles.d.ts.map +1 -1
- package/dist/components/hx-date-picker/index.d.ts +1 -0
- package/dist/components/hx-date-picker/index.d.ts.map +1 -1
- package/dist/components/hx-date-picker/index.js +1 -1
- package/dist/components/hx-dialog/hx-dialog.d.ts +37 -5
- package/dist/components/hx-dialog/hx-dialog.d.ts.map +1 -1
- package/dist/components/hx-dialog/index.js +1 -1
- package/dist/components/hx-divider/hx-divider.d.ts +3 -4
- package/dist/components/hx-divider/hx-divider.d.ts.map +1 -1
- package/dist/components/hx-divider/index.d.ts +0 -1
- package/dist/components/hx-divider/index.d.ts.map +1 -1
- package/dist/components/hx-divider/index.js +1 -1
- package/dist/components/hx-drawer/hx-drawer.d.ts +32 -2
- package/dist/components/hx-drawer/hx-drawer.d.ts.map +1 -1
- package/dist/components/hx-drawer/index.js +1 -1
- package/dist/components/hx-dropdown/hx-dropdown.d.ts +3 -2
- package/dist/components/hx-dropdown/hx-dropdown.d.ts.map +1 -1
- package/dist/components/hx-dropdown/index.js +1 -1
- package/dist/components/hx-field/hx-field.d.ts +4 -3
- package/dist/components/hx-field/hx-field.d.ts.map +1 -1
- package/dist/components/hx-field/index.js +1 -1
- package/dist/components/hx-field-label/hx-field-label.d.ts +2 -2
- package/dist/components/hx-field-label/hx-field-label.d.ts.map +1 -1
- package/dist/components/hx-field-label/index.js +1 -1
- package/dist/components/hx-file-upload/hx-file-upload.d.ts +31 -5
- package/dist/components/hx-file-upload/hx-file-upload.d.ts.map +1 -1
- package/dist/components/hx-file-upload/index.d.ts +1 -0
- package/dist/components/hx-file-upload/index.d.ts.map +1 -1
- package/dist/components/hx-file-upload/index.js +1 -1
- package/dist/components/hx-form/hx-form.d.ts +2 -2
- package/dist/components/hx-form/hx-form.d.ts.map +1 -1
- package/dist/components/hx-form/hx-form.styles.d.ts +8 -0
- package/dist/components/hx-form/hx-form.styles.d.ts.map +1 -1
- package/dist/components/hx-form/index.js +1 -1
- package/dist/components/hx-format-date/hx-format-date.d.ts +2 -2
- package/dist/components/hx-format-date/hx-format-date.d.ts.map +1 -1
- package/dist/components/hx-format-date/hx-format-date.styles.d.ts.map +1 -1
- package/dist/components/hx-format-date/index.js +1 -1
- package/dist/components/hx-grid/hx-grid.d.ts +4 -3
- package/dist/components/hx-grid/hx-grid.d.ts.map +1 -1
- package/dist/components/hx-grid/hx-grid.styles.d.ts.map +1 -1
- package/dist/components/hx-grid/index.js +1 -1
- package/dist/components/hx-help-text/hx-help-text.d.ts +2 -4
- package/dist/components/hx-help-text/hx-help-text.d.ts.map +1 -1
- package/dist/components/hx-help-text/index.js +1 -1
- package/dist/components/hx-icon/hx-icon.d.ts +17 -2
- package/dist/components/hx-icon/hx-icon.d.ts.map +1 -1
- package/dist/components/hx-icon/index.js +1 -1
- package/dist/components/hx-icon-button/index.js +1 -1
- package/dist/components/hx-image/hx-image.d.ts +2 -2
- package/dist/components/hx-image/hx-image.d.ts.map +1 -1
- package/dist/components/hx-image/index.js +1 -1
- package/dist/components/hx-link/hx-link.d.ts +2 -2
- package/dist/components/hx-link/hx-link.d.ts.map +1 -1
- package/dist/components/hx-link/index.js +1 -1
- package/dist/components/hx-list/hx-list-item.d.ts +3 -2
- package/dist/components/hx-list/hx-list-item.d.ts.map +1 -1
- package/dist/components/hx-list/hx-list.d.ts +3 -2
- package/dist/components/hx-list/hx-list.d.ts.map +1 -1
- package/dist/components/hx-list/hx-list.styles.d.ts.map +1 -1
- package/dist/components/hx-list/index.js +1 -1
- package/dist/components/hx-menu/hx-menu-divider.d.ts +2 -2
- package/dist/components/hx-menu/hx-menu-divider.d.ts.map +1 -1
- package/dist/components/hx-menu/hx-menu-item.d.ts +2 -2
- package/dist/components/hx-menu/hx-menu-item.d.ts.map +1 -1
- package/dist/components/hx-menu/hx-menu-item.styles.d.ts.map +1 -1
- package/dist/components/hx-menu/hx-menu.d.ts +2 -2
- package/dist/components/hx-menu/hx-menu.d.ts.map +1 -1
- package/dist/components/hx-menu/hx-menu.styles.d.ts.map +1 -1
- package/dist/components/hx-menu/index.js +1 -1
- package/dist/components/hx-meter/hx-meter.d.ts +3 -2
- package/dist/components/hx-meter/hx-meter.d.ts.map +1 -1
- package/dist/components/hx-meter/index.js +1 -1
- package/dist/components/hx-nav/hx-nav.d.ts +2 -4
- package/dist/components/hx-nav/hx-nav.d.ts.map +1 -1
- package/dist/components/hx-nav/hx-nav.styles.d.ts.map +1 -1
- package/dist/components/hx-nav/index.d.ts +1 -1
- package/dist/components/hx-nav/index.d.ts.map +1 -1
- package/dist/components/hx-nav/index.js +1 -1
- package/dist/components/hx-number-input/hx-number-input.d.ts +9 -13
- package/dist/components/hx-number-input/hx-number-input.d.ts.map +1 -1
- package/dist/components/hx-number-input/index.d.ts +1 -0
- package/dist/components/hx-number-input/index.d.ts.map +1 -1
- package/dist/components/hx-number-input/index.js +1 -1
- package/dist/components/hx-overflow-menu/hx-overflow-menu.d.ts +2 -2
- package/dist/components/hx-overflow-menu/hx-overflow-menu.d.ts.map +1 -1
- package/dist/components/hx-overflow-menu/index.js +1 -1
- package/dist/components/hx-pagination/hx-pagination.d.ts +10 -2
- package/dist/components/hx-pagination/hx-pagination.d.ts.map +1 -1
- package/dist/components/hx-pagination/index.d.ts +1 -0
- package/dist/components/hx-pagination/index.d.ts.map +1 -1
- package/dist/components/hx-pagination/index.js +1 -1
- package/dist/components/hx-patient-banner/hx-patient-banner.d.ts +47 -5
- package/dist/components/hx-patient-banner/hx-patient-banner.d.ts.map +1 -1
- package/dist/components/hx-patient-banner/index.js +1 -1
- package/dist/components/hx-phi-field/hx-phi-field.d.ts +85 -5
- package/dist/components/hx-phi-field/hx-phi-field.d.ts.map +1 -1
- package/dist/components/hx-phi-field/hx-phi-field.styles.d.ts.map +1 -1
- package/dist/components/hx-phi-field/index.js +1 -1
- package/dist/components/hx-popover/hx-popover.d.ts +3 -2
- package/dist/components/hx-popover/hx-popover.d.ts.map +1 -1
- package/dist/components/hx-popover/index.js +1 -1
- package/dist/components/hx-popup/hx-popup.d.ts +7 -2
- package/dist/components/hx-popup/hx-popup.d.ts.map +1 -1
- package/dist/components/hx-popup/index.js +1 -1
- package/dist/components/hx-progress-bar/hx-progress-bar.d.ts +3 -2
- package/dist/components/hx-progress-bar/hx-progress-bar.d.ts.map +1 -1
- package/dist/components/hx-progress-bar/index.js +1 -1
- package/dist/components/hx-progress-ring/hx-progress-ring.d.ts +3 -2
- package/dist/components/hx-progress-ring/hx-progress-ring.d.ts.map +1 -1
- package/dist/components/hx-progress-ring/hx-progress-ring.styles.d.ts.map +1 -1
- package/dist/components/hx-progress-ring/index.js +1 -1
- package/dist/components/hx-prose/hx-prose.d.ts +3 -2
- package/dist/components/hx-prose/hx-prose.d.ts.map +1 -1
- package/dist/components/hx-prose/hx-prose.styles.d.ts +8 -0
- package/dist/components/hx-prose/hx-prose.styles.d.ts.map +1 -1
- package/dist/components/hx-prose/index.js +1 -1
- package/dist/components/hx-radio-group/hx-radio-group.d.ts +9 -29
- package/dist/components/hx-radio-group/hx-radio-group.d.ts.map +1 -1
- package/dist/components/hx-radio-group/hx-radio.d.ts +19 -4
- package/dist/components/hx-radio-group/hx-radio.d.ts.map +1 -1
- package/dist/components/hx-radio-group/index.d.ts +1 -0
- package/dist/components/hx-radio-group/index.d.ts.map +1 -1
- package/dist/components/hx-radio-group/index.js +1 -1
- package/dist/components/hx-rating/hx-rating.d.ts +4 -10
- package/dist/components/hx-rating/hx-rating.d.ts.map +1 -1
- package/dist/components/hx-rating/hx-rating.styles.d.ts.map +1 -1
- package/dist/components/hx-rating/index.d.ts +1 -0
- package/dist/components/hx-rating/index.d.ts.map +1 -1
- package/dist/components/hx-rating/index.js +1 -1
- package/dist/components/hx-select/hx-select.d.ts +26 -25
- package/dist/components/hx-select/hx-select.d.ts.map +1 -1
- package/dist/components/hx-select/index.d.ts +1 -0
- package/dist/components/hx-select/index.d.ts.map +1 -1
- package/dist/components/hx-select/index.js +1 -1
- package/dist/components/hx-side-nav/hx-nav-item.d.ts +2 -2
- package/dist/components/hx-side-nav/hx-nav-item.d.ts.map +1 -1
- package/dist/components/hx-side-nav/hx-nav-item.styles.d.ts.map +1 -1
- package/dist/components/hx-side-nav/hx-side-nav.d.ts +3 -2
- package/dist/components/hx-side-nav/hx-side-nav.d.ts.map +1 -1
- package/dist/components/hx-side-nav/hx-side-nav.styles.d.ts.map +1 -1
- package/dist/components/hx-side-nav/index.js +1 -1
- package/dist/components/hx-skeleton/hx-skeleton.d.ts +3 -2
- package/dist/components/hx-skeleton/hx-skeleton.d.ts.map +1 -1
- package/dist/components/hx-skeleton/index.js +1 -1
- package/dist/components/hx-slider/hx-slider.d.ts +7 -11
- package/dist/components/hx-slider/hx-slider.d.ts.map +1 -1
- package/dist/components/hx-slider/hx-slider.styles.d.ts.map +1 -1
- package/dist/components/hx-slider/index.d.ts +1 -0
- package/dist/components/hx-slider/index.d.ts.map +1 -1
- package/dist/components/hx-slider/index.js +1 -1
- package/dist/components/hx-spinner/hx-spinner.d.ts +2 -2
- package/dist/components/hx-spinner/hx-spinner.d.ts.map +1 -1
- package/dist/components/hx-spinner/index.js +1 -1
- package/dist/components/hx-split-button/hx-split-button.d.ts +10 -4
- package/dist/components/hx-split-button/hx-split-button.d.ts.map +1 -1
- package/dist/components/hx-split-button/index.js +1 -1
- package/dist/components/hx-split-panel/hx-split-panel.d.ts +12 -2
- package/dist/components/hx-split-panel/hx-split-panel.d.ts.map +1 -1
- package/dist/components/hx-split-panel/index.js +1 -1
- package/dist/components/hx-stack/hx-stack.d.ts +2 -2
- package/dist/components/hx-stack/hx-stack.d.ts.map +1 -1
- package/dist/components/hx-stack/hx-stack.styles.d.ts.map +1 -1
- package/dist/components/hx-stack/index.js +1 -1
- package/dist/components/hx-stat/hx-stat.d.ts +3 -2
- package/dist/components/hx-stat/hx-stat.d.ts.map +1 -1
- package/dist/components/hx-stat/index.js +1 -1
- package/dist/components/hx-status-indicator/hx-status-indicator.d.ts +3 -2
- package/dist/components/hx-status-indicator/hx-status-indicator.d.ts.map +1 -1
- package/dist/components/hx-status-indicator/index.js +1 -1
- package/dist/components/hx-steps/hx-step.d.ts +3 -2
- package/dist/components/hx-steps/hx-step.d.ts.map +1 -1
- package/dist/components/hx-steps/hx-step.styles.d.ts.map +1 -1
- package/dist/components/hx-steps/hx-steps.d.ts +11 -4
- package/dist/components/hx-steps/hx-steps.d.ts.map +1 -1
- package/dist/components/hx-steps/hx-steps.styles.d.ts.map +1 -1
- package/dist/components/hx-steps/index.js +1 -1
- package/dist/components/hx-structured-list/hx-structured-list.d.ts +3 -3
- package/dist/components/hx-structured-list/hx-structured-list.d.ts.map +1 -1
- package/dist/components/hx-structured-list/index.js +1 -1
- package/dist/components/hx-style-scope/hx-style-scope.d.ts +3 -2
- package/dist/components/hx-style-scope/hx-style-scope.d.ts.map +1 -1
- package/dist/components/hx-style-scope/hx-style-scope.styles.d.ts.map +1 -1
- package/dist/components/hx-style-scope/index.js +1 -1
- package/dist/components/hx-switch/hx-switch.d.ts +20 -21
- package/dist/components/hx-switch/hx-switch.d.ts.map +1 -1
- package/dist/components/hx-switch/index.d.ts +2 -1
- package/dist/components/hx-switch/index.d.ts.map +1 -1
- package/dist/components/hx-switch/index.js +1 -1
- package/dist/components/hx-table/hx-table.d.ts +3 -2
- package/dist/components/hx-table/hx-table.d.ts.map +1 -1
- package/dist/components/hx-table/hx-tbody.d.ts +2 -2
- package/dist/components/hx-table/hx-tbody.d.ts.map +1 -1
- package/dist/components/hx-table/hx-td.d.ts +2 -2
- package/dist/components/hx-table/hx-td.d.ts.map +1 -1
- package/dist/components/hx-table/hx-tfoot.d.ts +2 -2
- package/dist/components/hx-table/hx-tfoot.d.ts.map +1 -1
- package/dist/components/hx-table/hx-th.d.ts +2 -2
- package/dist/components/hx-table/hx-th.d.ts.map +1 -1
- package/dist/components/hx-table/hx-thead.d.ts +2 -2
- package/dist/components/hx-table/hx-thead.d.ts.map +1 -1
- package/dist/components/hx-table/hx-tr.d.ts +2 -2
- package/dist/components/hx-table/hx-tr.d.ts.map +1 -1
- package/dist/components/hx-table/index.js +1 -1
- package/dist/components/hx-tabs/hx-tab-panel.d.ts +2 -2
- package/dist/components/hx-tabs/hx-tab-panel.d.ts.map +1 -1
- package/dist/components/hx-tabs/hx-tab.d.ts +2 -2
- package/dist/components/hx-tabs/hx-tab.d.ts.map +1 -1
- package/dist/components/hx-tabs/hx-tab.styles.d.ts.map +1 -1
- package/dist/components/hx-tabs/hx-tabs.d.ts +8 -2
- package/dist/components/hx-tabs/hx-tabs.d.ts.map +1 -1
- package/dist/components/hx-tabs/index.d.ts +1 -0
- package/dist/components/hx-tabs/index.d.ts.map +1 -1
- package/dist/components/hx-tabs/index.js +1 -1
- package/dist/components/hx-tag/hx-tag.d.ts +2 -4
- package/dist/components/hx-tag/hx-tag.d.ts.map +1 -1
- package/dist/components/hx-tag/index.d.ts +0 -2
- package/dist/components/hx-tag/index.d.ts.map +1 -1
- package/dist/components/hx-tag/index.js +1 -1
- package/dist/components/hx-text/hx-text.d.ts +2 -2
- package/dist/components/hx-text/hx-text.d.ts.map +1 -1
- package/dist/components/hx-text/hx-text.styles.d.ts.map +1 -1
- package/dist/components/hx-text/index.js +1 -1
- package/dist/components/hx-text-input/hx-text-input.d.ts +29 -13
- package/dist/components/hx-text-input/hx-text-input.d.ts.map +1 -1
- package/dist/components/hx-text-input/index.d.ts +1 -0
- package/dist/components/hx-text-input/index.d.ts.map +1 -1
- package/dist/components/hx-text-input/index.js +1 -1
- package/dist/components/hx-textarea/hx-textarea.d.ts +32 -24
- package/dist/components/hx-textarea/hx-textarea.d.ts.map +1 -1
- package/dist/components/hx-textarea/hx-textarea.styles.d.ts.map +1 -1
- package/dist/components/hx-textarea/index.d.ts +1 -0
- package/dist/components/hx-textarea/index.d.ts.map +1 -1
- package/dist/components/hx-textarea/index.js +1 -1
- package/dist/components/hx-theme/hx-theme.d.ts +3 -11
- package/dist/components/hx-theme/hx-theme.d.ts.map +1 -1
- package/dist/components/hx-theme/hx-theme.styles.d.ts.map +1 -1
- package/dist/components/hx-theme/index.d.ts +0 -2
- package/dist/components/hx-theme/index.d.ts.map +1 -1
- package/dist/components/hx-theme/index.js +1 -1
- package/dist/components/hx-time-picker/hx-time-picker.d.ts +8 -15
- package/dist/components/hx-time-picker/hx-time-picker.d.ts.map +1 -1
- package/dist/components/hx-time-picker/hx-time-picker.styles.d.ts.map +1 -1
- package/dist/components/hx-time-picker/index.d.ts +1 -0
- package/dist/components/hx-time-picker/index.d.ts.map +1 -1
- package/dist/components/hx-time-picker/index.js +1 -1
- package/dist/components/hx-toast/hx-toast-stack.d.ts +2 -2
- package/dist/components/hx-toast/hx-toast-stack.d.ts.map +1 -1
- package/dist/components/hx-toast/hx-toast.d.ts +3 -2
- package/dist/components/hx-toast/hx-toast.d.ts.map +1 -1
- package/dist/components/hx-toast/hx-toast.styles.d.ts.map +1 -1
- package/dist/components/hx-toast/index.js +1 -1
- package/dist/components/hx-toggle-button/hx-toggle-button.d.ts +4 -0
- package/dist/components/hx-toggle-button/hx-toggle-button.d.ts.map +1 -1
- package/dist/components/hx-toggle-button/index.d.ts +1 -0
- package/dist/components/hx-toggle-button/index.d.ts.map +1 -1
- package/dist/components/hx-toggle-button/index.js +1 -1
- package/dist/components/hx-tooltip/hx-tooltip.d.ts +2 -2
- package/dist/components/hx-tooltip/hx-tooltip.d.ts.map +1 -1
- package/dist/components/hx-tooltip/index.js +1 -1
- package/dist/components/hx-top-nav/hx-top-nav.d.ts +2 -2
- package/dist/components/hx-top-nav/hx-top-nav.d.ts.map +1 -1
- package/dist/components/hx-top-nav/index.js +1 -1
- package/dist/components/hx-tree-view/hx-tree-item.d.ts +2 -4
- package/dist/components/hx-tree-view/hx-tree-item.d.ts.map +1 -1
- package/dist/components/hx-tree-view/hx-tree-item.styles.d.ts.map +1 -1
- package/dist/components/hx-tree-view/hx-tree-view.d.ts +2 -4
- package/dist/components/hx-tree-view/hx-tree-view.d.ts.map +1 -1
- package/dist/components/hx-tree-view/hx-tree-view.styles.d.ts.map +1 -1
- package/dist/components/hx-tree-view/index.d.ts +0 -4
- package/dist/components/hx-tree-view/index.d.ts.map +1 -1
- package/dist/components/hx-tree-view/index.js +1 -1
- package/dist/components/hx-visually-hidden/hx-visually-hidden.d.ts +2 -2
- package/dist/components/hx-visually-hidden/hx-visually-hidden.d.ts.map +1 -1
- package/dist/components/hx-visually-hidden/hx-visually-hidden.styles.d.ts.map +1 -1
- package/dist/components/hx-visually-hidden/index.js +1 -1
- package/dist/css/helix-all.css +2232 -680
- package/dist/css/helix-core.css +107 -49
- package/dist/css/helix-data.css +17 -7
- package/dist/css/helix-feedback.css +82 -61
- package/dist/css/helix-forms.css +1456 -131
- package/dist/css/helix-layout.css +31 -1
- package/dist/css/helix-media.css +16 -16
- package/dist/css/helix-navigation.css +99 -48
- package/dist/css/helix-overlay.css +12 -12
- package/dist/css/helix-tokens.css +30 -11
- package/dist/css/helix-utility.css +53 -10
- package/dist/css/hx-accordion.css +1 -1
- package/dist/css/hx-action-bar.css +17 -3
- package/dist/css/hx-alert.css +18 -18
- package/dist/css/hx-avatar.css +1 -1
- package/dist/css/hx-badge.css +15 -15
- package/dist/css/hx-banner.css +18 -18
- package/dist/css/hx-breadcrumb.css +27 -0
- package/dist/css/hx-button-group.css +13 -0
- package/dist/css/hx-button.css +2 -2
- package/dist/css/hx-card.css +6 -6
- package/dist/css/hx-carousel.css +16 -16
- package/dist/css/hx-checkbox-group.css +4 -4
- package/dist/css/hx-checkbox.css +8 -8
- package/dist/css/hx-clinical-status.css +23 -23
- package/dist/css/hx-code-snippet.css +3 -3
- package/dist/css/hx-color-picker.css +276 -1
- package/dist/css/hx-combobox.css +391 -1
- package/dist/css/hx-container.css +10 -0
- package/dist/css/hx-copy-button.css +3 -3
- package/dist/css/hx-counter.css +9 -2
- package/dist/css/hx-data-table.css +1 -1
- package/dist/css/hx-date-picker.css +437 -1
- package/dist/css/hx-dialog.css +2 -2
- package/dist/css/hx-drawer.css +1 -1
- package/dist/css/hx-dropdown.css +1 -1
- package/dist/css/hx-field-label.css +2 -2
- package/dist/css/hx-field.css +3 -3
- package/dist/css/hx-file-upload.css +12 -12
- package/dist/css/hx-format-date.css +11 -0
- package/dist/css/hx-grid.css +10 -0
- package/dist/css/hx-help-text.css +5 -5
- package/dist/css/hx-image.css +3 -3
- package/dist/css/hx-link.css +5 -5
- package/dist/css/hx-list.css +10 -0
- package/dist/css/hx-menu.css +1 -2
- package/dist/css/hx-meter.css +9 -9
- package/dist/css/hx-nav.css +11 -12
- package/dist/css/hx-overflow-menu.css +10 -10
- package/dist/css/hx-pagination.css +13 -13
- package/dist/css/hx-patient-banner.css +10 -10
- package/dist/css/hx-phi-field.css +5 -2
- package/dist/css/hx-popover.css +4 -4
- package/dist/css/hx-progress-bar.css +1 -1
- package/dist/css/hx-progress-ring.css +23 -1
- package/dist/css/hx-radio-group.css +3 -3
- package/dist/css/hx-rating.css +6 -4
- package/dist/css/hx-select.css +7 -7
- package/dist/css/hx-side-nav.css +5 -0
- package/dist/css/hx-slider.css +16 -11
- package/dist/css/hx-split-button.css +2 -2
- package/dist/css/hx-stack.css +10 -0
- package/dist/css/hx-stat.css +5 -5
- package/dist/css/hx-status-indicator.css +2 -2
- package/dist/css/hx-steps.css +12 -0
- package/dist/css/hx-structured-list.css +2 -2
- package/dist/css/hx-style-scope.css +11 -0
- package/dist/css/hx-switch.css +4 -4
- package/dist/css/hx-table.css +1 -1
- package/dist/css/hx-tabs.css +3 -3
- package/dist/css/hx-tag.css +12 -12
- package/dist/css/hx-text-input.css +9 -9
- package/dist/css/hx-text.css +38 -5
- package/dist/css/hx-textarea.css +9 -15
- package/dist/css/hx-theme.css +11 -0
- package/dist/css/hx-time-picker.css +224 -1
- package/dist/css/hx-toast.css +6 -7
- package/dist/css/hx-toggle-button.css +3 -3
- package/dist/css/hx-tooltip.css +4 -4
- package/dist/css/hx-top-nav.css +8 -8
- package/dist/css/hx-tree-view.css +9 -0
- package/dist/css/hx-visually-hidden.css +12 -0
- package/dist/css/index.css +1 -1
- package/dist/css/manifest.json +39 -7
- package/dist/form-test-utils.d.ts +45 -0
- package/dist/form-test-utils.d.ts.map +1 -0
- package/dist/index.d.ts +28 -14
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +189 -177
- package/dist/index.js.map +1 -1
- package/dist/mixins/FormMixin.d.ts +24 -5
- package/dist/mixins/FormMixin.d.ts.map +1 -1
- package/dist/mixins/aria-delegation.d.ts +0 -2
- package/dist/mixins/aria-delegation.d.ts.map +1 -1
- package/dist/mixins/index.d.ts +3 -1
- package/dist/mixins/index.d.ts.map +1 -1
- package/dist/shared/{FormMixin-Bjvw20G5.js → FormMixin-B8PXk5RQ.js} +31 -14
- package/dist/shared/FormMixin-B8PXk5RQ.js.map +1 -0
- package/dist/shared/aria-delegation-Doq6RRUy.js.map +1 -1
- package/dist/shared/{helix-element-BJh1Ffvi.js → helix-element-BNEYeiys.js} +30 -24
- package/dist/shared/helix-element-BNEYeiys.js.map +1 -0
- package/dist/shared/{hx-accordion-SlwR2C6S.js → hx-accordion-Wt52OOZD.js} +49 -49
- package/dist/shared/hx-accordion-Wt52OOZD.js.map +1 -0
- package/dist/shared/{hx-action-bar-CNLYufVd.js → hx-action-bar-BKMADbHj.js} +89 -85
- package/dist/shared/hx-action-bar-BKMADbHj.js.map +1 -0
- package/dist/shared/{hx-alert-DdlSyJGk.js → hx-alert-D7n94HwI.js} +26 -26
- package/dist/shared/hx-alert-D7n94HwI.js.map +1 -0
- package/dist/shared/{hx-avatar-an-WsuLl.js → hx-avatar-iLYzu8MJ.js} +10 -10
- package/dist/shared/hx-avatar-iLYzu8MJ.js.map +1 -0
- package/dist/shared/{hx-badge-B_PzGlUo.js → hx-badge-CVCmMPyW.js} +27 -27
- package/dist/shared/hx-badge-CVCmMPyW.js.map +1 -0
- package/dist/shared/{hx-banner-D8AxkCfc.js → hx-banner-C_He7Tr4.js} +51 -51
- package/dist/shared/hx-banner-C_He7Tr4.js.map +1 -0
- package/dist/shared/{hx-breadcrumb-item-BCUIvpYX.js → hx-breadcrumb-item-CldCwD1d.js} +105 -82
- package/dist/shared/hx-breadcrumb-item-CldCwD1d.js.map +1 -0
- package/dist/shared/{hx-button-BzqsDHmZ.js → hx-button-Ddl-T6T-.js} +110 -84
- package/dist/shared/hx-button-Ddl-T6T-.js.map +1 -0
- package/dist/shared/{hx-button-group-a5Pb_9fU.js → hx-button-group-BJOGWoMa.js} +30 -17
- package/dist/shared/hx-button-group-BJOGWoMa.js.map +1 -0
- package/dist/shared/{hx-card-DYlaxQy0.js → hx-card-ycveujjL.js} +13 -13
- package/dist/shared/hx-card-ycveujjL.js.map +1 -0
- package/dist/shared/{hx-carousel-item-KQfCekKF.js → hx-carousel-item-D_dCv61-.js} +37 -28
- package/dist/shared/hx-carousel-item-D_dCv61-.js.map +1 -0
- package/dist/shared/{hx-checkbox-DyDbR1B9.js → hx-checkbox-DkkoWoye.js} +77 -60
- package/dist/shared/hx-checkbox-DkkoWoye.js.map +1 -0
- package/dist/shared/{hx-checkbox-group-C8TaFqy0.js → hx-checkbox-group-C3poJ-Zw.js} +55 -64
- package/dist/shared/hx-checkbox-group-C3poJ-Zw.js.map +1 -0
- package/dist/shared/{hx-clinical-status-dDyk5oj1.js → hx-clinical-status-BS5lcddT.js} +52 -53
- package/dist/shared/hx-clinical-status-BS5lcddT.js.map +1 -0
- package/dist/shared/{hx-code-snippet-DasrRF9k.js → hx-code-snippet-B7wUKzyb.js} +12 -13
- package/dist/shared/hx-code-snippet-B7wUKzyb.js.map +1 -0
- package/dist/shared/{hx-color-picker-zv6wtok4.js → hx-color-picker-DBaKTVLr.js} +318 -57
- package/dist/shared/hx-color-picker-DBaKTVLr.js.map +1 -0
- package/dist/shared/hx-combobox-BmgYT7Ar.js +929 -0
- package/dist/shared/hx-combobox-BmgYT7Ar.js.map +1 -0
- package/dist/shared/{hx-container-BwWbMPTH.js → hx-container-DVI7sxfX.js} +25 -15
- package/dist/shared/hx-container-DVI7sxfX.js.map +1 -0
- package/dist/shared/{hx-copy-button-DikpbhWY.js → hx-copy-button-8deNUdwP.js} +20 -20
- package/dist/shared/hx-copy-button-8deNUdwP.js.map +1 -0
- package/dist/shared/{hx-counter-_m4cq45V.js → hx-counter-CKfl_g8K.js} +36 -29
- package/dist/shared/hx-counter-CKfl_g8K.js.map +1 -0
- package/dist/shared/{hx-data-table-609C-e9w.js → hx-data-table-B6h0RPn0.js} +107 -101
- package/dist/shared/hx-data-table-B6h0RPn0.js.map +1 -0
- package/dist/shared/hx-date-picker-Dq2Nb68_.js +1077 -0
- package/dist/shared/hx-date-picker-Dq2Nb68_.js.map +1 -0
- package/dist/shared/{hx-dialog-D_DeqcNS.js → hx-dialog-CvIlY0Tc.js} +66 -54
- package/dist/shared/hx-dialog-CvIlY0Tc.js.map +1 -0
- package/dist/shared/{hx-divider-lfOMElo2.js → hx-divider-DwpOrzMW.js} +7 -7
- package/dist/shared/hx-divider-DwpOrzMW.js.map +1 -0
- package/dist/shared/{hx-drawer-NleCbKuN.js → hx-drawer-Cx2ZJhBe.js} +14 -14
- package/dist/shared/hx-drawer-Cx2ZJhBe.js.map +1 -0
- package/dist/shared/{hx-dropdown-CA9WYdhm.js → hx-dropdown-BjDrPUq5.js} +30 -31
- package/dist/shared/hx-dropdown-BjDrPUq5.js.map +1 -0
- package/dist/shared/{hx-field-Duiib9Bj.js → hx-field-Dp3qQMut.js} +15 -15
- package/dist/shared/hx-field-Dp3qQMut.js.map +1 -0
- package/dist/shared/{hx-field-label-Dud-psvE.js → hx-field-label-BC8QViXv.js} +8 -8
- package/dist/shared/hx-field-label-BC8QViXv.js.map +1 -0
- package/dist/shared/{hx-file-upload-CmCCAvej.js → hx-file-upload-B6Yl1u0i.js} +101 -84
- package/dist/shared/hx-file-upload-B6Yl1u0i.js.map +1 -0
- package/dist/shared/{hx-form-BM6PHsw3.js → hx-form-ButQFt9A.js} +12 -11
- package/dist/shared/hx-form-ButQFt9A.js.map +1 -0
- package/dist/shared/{hx-format-date-B7L9odbA.js → hx-format-date-CKnlQOmV.js} +20 -9
- package/dist/shared/hx-format-date-CKnlQOmV.js.map +1 -0
- package/dist/shared/{hx-grid-BIAR5h9m.js → hx-grid-CXZf3jeK.js} +28 -18
- package/dist/shared/hx-grid-CXZf3jeK.js.map +1 -0
- package/dist/shared/{hx-help-text-DARi-Pfp.js → hx-help-text-D7eytSim.js} +12 -12
- package/dist/shared/hx-help-text-D7eytSim.js.map +1 -0
- package/dist/shared/{hx-icon-jWcGmn66.js → hx-icon-CcyDPDYY.js} +96 -62
- package/dist/shared/hx-icon-CcyDPDYY.js.map +1 -0
- package/dist/shared/{hx-icon-button-BcZtVVtH.js → hx-icon-button-BHneqPCU.js} +2 -3
- package/dist/shared/{hx-icon-button-BcZtVVtH.js.map → hx-icon-button-BHneqPCU.js.map} +1 -1
- package/dist/shared/{hx-image-DOjPp-K5.js → hx-image-2gt14zZd.js} +9 -9
- package/dist/shared/hx-image-2gt14zZd.js.map +1 -0
- package/dist/shared/{hx-link-DCBct0f4.js → hx-link-BESrWK8M.js} +17 -17
- package/dist/shared/hx-link-BESrWK8M.js.map +1 -0
- package/dist/shared/{hx-list-Dnei26t4.js → hx-list-_9qVv02L.js} +32 -22
- package/dist/shared/hx-list-_9qVv02L.js.map +1 -0
- package/dist/shared/{hx-menu-divider-DVWER7iT.js → hx-menu-divider-Ck-9Os1t.js} +19 -19
- package/dist/shared/hx-menu-divider-Ck-9Os1t.js.map +1 -0
- package/dist/shared/{hx-meter-ChZdWNF2.js → hx-meter-TbROk-dw.js} +18 -18
- package/dist/shared/hx-meter-TbROk-dw.js.map +1 -0
- package/dist/shared/{hx-nav-CHX1JOWB.js → hx-nav-BcYDmjf7.js} +59 -60
- package/dist/shared/hx-nav-BcYDmjf7.js.map +1 -0
- package/dist/shared/{hx-nav-item-CRAESq9s.js → hx-nav-item-pqPasRUm.js} +33 -23
- package/dist/shared/hx-nav-item-pqPasRUm.js.map +1 -0
- package/dist/shared/{hx-number-input-Cm682AVP.js → hx-number-input-mOIZ3-46.js} +57 -66
- package/dist/shared/hx-number-input-mOIZ3-46.js.map +1 -0
- package/dist/shared/{hx-overflow-menu-BDl6QfUD.js → hx-overflow-menu-Dprb9lnT.js} +46 -47
- package/dist/shared/hx-overflow-menu-Dprb9lnT.js.map +1 -0
- package/dist/shared/{hx-pagination-BNtx-LG6.js → hx-pagination-AguTQjYC.js} +35 -35
- package/dist/shared/hx-pagination-AguTQjYC.js.map +1 -0
- package/dist/shared/{hx-patient-banner-B4IjHeTx.js → hx-patient-banner-uE6gqLpT.js} +16 -16
- package/dist/shared/hx-patient-banner-uE6gqLpT.js.map +1 -0
- package/dist/shared/{hx-phi-field-DD1qcBSO.js → hx-phi-field-BC_XowhC.js} +138 -56
- package/dist/shared/hx-phi-field-BC_XowhC.js.map +1 -0
- package/dist/shared/{hx-popover-ZGRFgBbx.js → hx-popover-B2_203ct.js} +25 -25
- package/dist/shared/hx-popover-B2_203ct.js.map +1 -0
- package/dist/shared/{hx-popup-Cc4qz89i.js → hx-popup-DZXpsJ1R.js} +77 -64
- package/dist/shared/hx-popup-DZXpsJ1R.js.map +1 -0
- package/dist/shared/{hx-progress-bar-BY1uE6bN.js → hx-progress-bar-KjEkEJLy.js} +19 -19
- package/dist/shared/hx-progress-bar-KjEkEJLy.js.map +1 -0
- package/dist/shared/{hx-progress-ring-Cs0WgWDJ.js → hx-progress-ring-3zMwvrwD.js} +53 -31
- package/dist/shared/hx-progress-ring-3zMwvrwD.js.map +1 -0
- package/dist/shared/{hx-prose-Ml_L2zje.js → hx-prose-BCtK7YL6.js} +48 -15
- package/dist/shared/{hx-prose-Ml_L2zje.js.map → hx-prose-BCtK7YL6.js.map} +1 -1
- package/dist/shared/{hx-radio-YEEsbUPN.js → hx-radio-BBC5qZgE.js} +99 -105
- package/dist/shared/hx-radio-BBC5qZgE.js.map +1 -0
- package/dist/shared/{hx-rating-DjUJTT0M.js → hx-rating-C3E3ENJb.js} +42 -56
- package/dist/shared/hx-rating-C3E3ENJb.js.map +1 -0
- package/dist/shared/{hx-select-DZ7wfcJx.js → hx-select-CixTo7jp.js} +105 -116
- package/dist/shared/hx-select-CixTo7jp.js.map +1 -0
- package/dist/shared/{hx-skeleton-aqa-gr1S.js → hx-skeleton-LxkI0pxr.js} +15 -15
- package/dist/shared/hx-skeleton-LxkI0pxr.js.map +1 -0
- package/dist/shared/{hx-slider-DAilFrR_.js → hx-slider-DFHuzF3N.js} +74 -89
- package/dist/shared/hx-slider-DFHuzF3N.js.map +1 -0
- package/dist/shared/{hx-spinner-Dw3cRY-9.js → hx-spinner-BKjuCdZB.js} +9 -9
- package/dist/shared/hx-spinner-BKjuCdZB.js.map +1 -0
- package/dist/shared/{hx-split-button-Dk-zMDDo.js → hx-split-button-CGcJMmCG.js} +14 -14
- package/dist/shared/hx-split-button-CGcJMmCG.js.map +1 -0
- package/dist/shared/{hx-split-panel-Kdp4BiLz.js → hx-split-panel-C-1R10Mc.js} +57 -47
- package/dist/shared/hx-split-panel-C-1R10Mc.js.map +1 -0
- package/dist/shared/{hx-stack-B76_1O6g.js → hx-stack-DGfcOfWJ.js} +21 -11
- package/dist/shared/hx-stack-DGfcOfWJ.js.map +1 -0
- package/dist/shared/{hx-stat-DKlyBL_K.js → hx-stat-BTpykQAt.js} +14 -14
- package/dist/shared/hx-stat-BTpykQAt.js.map +1 -0
- package/dist/shared/{hx-status-indicator-DWSM0Ctm.js → hx-status-indicator-X2QEWNFt.js} +13 -13
- package/dist/shared/hx-status-indicator-X2QEWNFt.js.map +1 -0
- package/dist/shared/{hx-step-CuoOvcI8.js → hx-step-CRNQlmSo.js} +47 -30
- package/dist/shared/hx-step-CRNQlmSo.js.map +1 -0
- package/dist/shared/{hx-structured-list-CQCD7bCT.js → hx-structured-list-CqNbaEXg.js} +12 -12
- package/dist/shared/hx-structured-list-CqNbaEXg.js.map +1 -0
- package/dist/shared/hx-style-scope-TDnR8H4O.js +251 -0
- package/dist/shared/hx-style-scope-TDnR8H4O.js.map +1 -0
- package/dist/shared/{hx-switch-BdxKN9WM.js → hx-switch-DqOD9JR7.js} +56 -72
- package/dist/shared/hx-switch-DqOD9JR7.js.map +1 -0
- package/dist/shared/{hx-tab-panel-CwClQoWP.js → hx-tab-panel-BIzKfW5i.js} +29 -28
- package/dist/shared/hx-tab-panel-BIzKfW5i.js.map +1 -0
- package/dist/shared/{hx-tag-BL5qJJCN.js → hx-tag-CgnrNnte.js} +23 -23
- package/dist/shared/hx-tag-CgnrNnte.js.map +1 -0
- package/dist/shared/{hx-td-CzSvVKdp.js → hx-td-Bra35cH4.js} +37 -37
- package/dist/shared/hx-td-Bra35cH4.js.map +1 -0
- package/dist/shared/{hx-text-DcWBqZwx.js → hx-text-DMC2CPlL.js} +74 -41
- package/dist/shared/hx-text-DMC2CPlL.js.map +1 -0
- package/dist/shared/{hx-text-input-BfMrvN9N.js → hx-text-input--q0GH78x.js} +19 -20
- package/dist/shared/hx-text-input--q0GH78x.js.map +1 -0
- package/dist/shared/{hx-textarea-C-i_Vam6.js → hx-textarea-CK621vSL.js} +28 -54
- package/dist/shared/hx-textarea-CK621vSL.js.map +1 -0
- package/dist/shared/{hx-theme-pc1V7dyL.js → hx-theme-DfEy-SJA.js} +72 -64
- package/dist/shared/hx-theme-DfEy-SJA.js.map +1 -0
- package/dist/shared/{hx-time-picker-MZyLQPW9.js → hx-time-picker-tPUfgElQ.js} +264 -35
- package/dist/shared/hx-time-picker-tPUfgElQ.js.map +1 -0
- package/dist/shared/{hx-toggle-button-ClyNYNVI.js → hx-toggle-button-L-uBJr-a.js} +9 -10
- package/dist/shared/hx-toggle-button-L-uBJr-a.js.map +1 -0
- package/dist/shared/{hx-tooltip-ByWT987R.js → hx-tooltip-B_zfKvwc.js} +22 -23
- package/dist/shared/hx-tooltip-B_zfKvwc.js.map +1 -0
- package/dist/shared/{hx-top-nav-k7hY78kt.js → hx-top-nav-CATbRvIv.js} +24 -22
- package/dist/shared/hx-top-nav-CATbRvIv.js.map +1 -0
- package/dist/shared/{hx-tree-item-D0ZphA45.js → hx-tree-item-A45WCiBu.js} +29 -9
- package/dist/shared/hx-tree-item-A45WCiBu.js.map +1 -0
- package/dist/shared/hx-visually-hidden-0bZKOWgT.js +66 -0
- package/dist/shared/hx-visually-hidden-0bZKOWgT.js.map +1 -0
- package/dist/shared/id-counter-DuX8vsui.js +11 -0
- package/dist/shared/{id-counter-PTgF-zcG.js.map → id-counter-DuX8vsui.js.map} +1 -1
- package/dist/shared/{toast-factory-Cwd0PihS.js → toast-factory-BPPnG3mM.js} +23 -24
- package/dist/shared/toast-factory-BPPnG3mM.js.map +1 -0
- package/dist/utilities/injectLightStyles.d.ts.map +1 -1
- package/dist/utilities/sanitizeCss.d.ts +43 -0
- package/dist/utilities/sanitizeCss.d.ts.map +1 -0
- package/package.json +29 -13
- package/dist/shared/FormMixin-Bjvw20G5.js.map +0 -1
- package/dist/shared/document-token-adoption-DuYNKd4k.js +0 -21
- package/dist/shared/document-token-adoption-DuYNKd4k.js.map +0 -1
- package/dist/shared/helix-element-BJh1Ffvi.js.map +0 -1
- package/dist/shared/hx-accordion-SlwR2C6S.js.map +0 -1
- package/dist/shared/hx-action-bar-CNLYufVd.js.map +0 -1
- package/dist/shared/hx-alert-DdlSyJGk.js.map +0 -1
- package/dist/shared/hx-avatar-an-WsuLl.js.map +0 -1
- package/dist/shared/hx-badge-B_PzGlUo.js.map +0 -1
- package/dist/shared/hx-banner-D8AxkCfc.js.map +0 -1
- package/dist/shared/hx-breadcrumb-item-BCUIvpYX.js.map +0 -1
- package/dist/shared/hx-button-BzqsDHmZ.js.map +0 -1
- package/dist/shared/hx-button-group-a5Pb_9fU.js.map +0 -1
- package/dist/shared/hx-card-DYlaxQy0.js.map +0 -1
- package/dist/shared/hx-carousel-item-KQfCekKF.js.map +0 -1
- package/dist/shared/hx-checkbox-DyDbR1B9.js.map +0 -1
- package/dist/shared/hx-checkbox-group-C8TaFqy0.js.map +0 -1
- package/dist/shared/hx-clinical-status-dDyk5oj1.js.map +0 -1
- package/dist/shared/hx-code-snippet-DasrRF9k.js.map +0 -1
- package/dist/shared/hx-color-picker-zv6wtok4.js.map +0 -1
- package/dist/shared/hx-combobox-C-DVLFpu.js +0 -535
- package/dist/shared/hx-combobox-C-DVLFpu.js.map +0 -1
- package/dist/shared/hx-container-BwWbMPTH.js.map +0 -1
- package/dist/shared/hx-copy-button-DikpbhWY.js.map +0 -1
- package/dist/shared/hx-counter-_m4cq45V.js.map +0 -1
- package/dist/shared/hx-data-table-609C-e9w.js.map +0 -1
- package/dist/shared/hx-date-picker-Bh8410Sf.js +0 -618
- package/dist/shared/hx-date-picker-Bh8410Sf.js.map +0 -1
- package/dist/shared/hx-dialog-D_DeqcNS.js.map +0 -1
- package/dist/shared/hx-divider-lfOMElo2.js.map +0 -1
- package/dist/shared/hx-drawer-NleCbKuN.js.map +0 -1
- package/dist/shared/hx-dropdown-CA9WYdhm.js.map +0 -1
- package/dist/shared/hx-field-Duiib9Bj.js.map +0 -1
- package/dist/shared/hx-field-label-Dud-psvE.js.map +0 -1
- package/dist/shared/hx-file-upload-CmCCAvej.js.map +0 -1
- package/dist/shared/hx-form-BM6PHsw3.js.map +0 -1
- package/dist/shared/hx-format-date-B7L9odbA.js.map +0 -1
- package/dist/shared/hx-grid-BIAR5h9m.js.map +0 -1
- package/dist/shared/hx-help-text-DARi-Pfp.js.map +0 -1
- package/dist/shared/hx-icon-jWcGmn66.js.map +0 -1
- package/dist/shared/hx-image-DOjPp-K5.js.map +0 -1
- package/dist/shared/hx-link-DCBct0f4.js.map +0 -1
- package/dist/shared/hx-list-Dnei26t4.js.map +0 -1
- package/dist/shared/hx-menu-divider-DVWER7iT.js.map +0 -1
- package/dist/shared/hx-meter-ChZdWNF2.js.map +0 -1
- package/dist/shared/hx-nav-CHX1JOWB.js.map +0 -1
- package/dist/shared/hx-nav-item-CRAESq9s.js.map +0 -1
- package/dist/shared/hx-number-input-Cm682AVP.js.map +0 -1
- package/dist/shared/hx-overflow-menu-BDl6QfUD.js.map +0 -1
- package/dist/shared/hx-pagination-BNtx-LG6.js.map +0 -1
- package/dist/shared/hx-patient-banner-B4IjHeTx.js.map +0 -1
- package/dist/shared/hx-phi-field-DD1qcBSO.js.map +0 -1
- package/dist/shared/hx-popover-ZGRFgBbx.js.map +0 -1
- package/dist/shared/hx-popup-Cc4qz89i.js.map +0 -1
- package/dist/shared/hx-progress-bar-BY1uE6bN.js.map +0 -1
- package/dist/shared/hx-progress-ring-Cs0WgWDJ.js.map +0 -1
- package/dist/shared/hx-radio-YEEsbUPN.js.map +0 -1
- package/dist/shared/hx-rating-DjUJTT0M.js.map +0 -1
- package/dist/shared/hx-select-DZ7wfcJx.js.map +0 -1
- package/dist/shared/hx-skeleton-aqa-gr1S.js.map +0 -1
- package/dist/shared/hx-slider-DAilFrR_.js.map +0 -1
- package/dist/shared/hx-spinner-Dw3cRY-9.js.map +0 -1
- package/dist/shared/hx-split-button-Dk-zMDDo.js.map +0 -1
- package/dist/shared/hx-split-panel-Kdp4BiLz.js.map +0 -1
- package/dist/shared/hx-stack-B76_1O6g.js.map +0 -1
- package/dist/shared/hx-stat-DKlyBL_K.js.map +0 -1
- package/dist/shared/hx-status-indicator-DWSM0Ctm.js.map +0 -1
- package/dist/shared/hx-step-CuoOvcI8.js.map +0 -1
- package/dist/shared/hx-structured-list-CQCD7bCT.js.map +0 -1
- package/dist/shared/hx-style-scope-CsQ2Phf_.js +0 -126
- package/dist/shared/hx-style-scope-CsQ2Phf_.js.map +0 -1
- package/dist/shared/hx-switch-BdxKN9WM.js.map +0 -1
- package/dist/shared/hx-tab-panel-CwClQoWP.js.map +0 -1
- package/dist/shared/hx-tag-BL5qJJCN.js.map +0 -1
- package/dist/shared/hx-td-CzSvVKdp.js.map +0 -1
- package/dist/shared/hx-text-DcWBqZwx.js.map +0 -1
- package/dist/shared/hx-text-input-BfMrvN9N.js.map +0 -1
- package/dist/shared/hx-textarea-C-i_Vam6.js.map +0 -1
- package/dist/shared/hx-theme-pc1V7dyL.js.map +0 -1
- package/dist/shared/hx-time-picker-MZyLQPW9.js.map +0 -1
- package/dist/shared/hx-toggle-button-ClyNYNVI.js.map +0 -1
- package/dist/shared/hx-tooltip-ByWT987R.js.map +0 -1
- package/dist/shared/hx-top-nav-k7hY78kt.js.map +0 -1
- package/dist/shared/hx-tree-item-D0ZphA45.js.map +0 -1
- package/dist/shared/hx-visually-hidden-vKX8QjeX.js +0 -54
- package/dist/shared/hx-visually-hidden-vKX8QjeX.js.map +0 -1
- package/dist/shared/id-counter-PTgF-zcG.js +0 -15
- package/dist/shared/toast-factory-Cwd0PihS.js.map +0 -1
- package/dist/tools/cem-a11y-analyzer/analyzers/aria-analyzer.d.ts +0 -12
- package/dist/tools/cem-a11y-analyzer/analyzers/aria-analyzer.d.ts.map +0 -1
- package/dist/tools/cem-a11y-analyzer/analyzers/focus-analyzer.d.ts +0 -13
- package/dist/tools/cem-a11y-analyzer/analyzers/focus-analyzer.d.ts.map +0 -1
- package/dist/tools/cem-a11y-analyzer/analyzers/form-analyzer.d.ts +0 -13
- package/dist/tools/cem-a11y-analyzer/analyzers/form-analyzer.d.ts.map +0 -1
- package/dist/tools/cem-a11y-analyzer/analyzers/keyboard-analyzer.d.ts +0 -12
- package/dist/tools/cem-a11y-analyzer/analyzers/keyboard-analyzer.d.ts.map +0 -1
- package/dist/tools/cem-a11y-analyzer/analyzers/label-analyzer.d.ts +0 -13
- package/dist/tools/cem-a11y-analyzer/analyzers/label-analyzer.d.ts.map +0 -1
- package/dist/tools/cem-a11y-analyzer/analyzers/motion-analyzer.d.ts +0 -12
- package/dist/tools/cem-a11y-analyzer/analyzers/motion-analyzer.d.ts.map +0 -1
- package/dist/tools/cem-a11y-analyzer/index.d.ts +0 -14
- package/dist/tools/cem-a11y-analyzer/index.d.ts.map +0 -1
- package/dist/tools/cem-a11y-analyzer/reporter.d.ts +0 -6
- package/dist/tools/cem-a11y-analyzer/reporter.d.ts.map +0 -1
- package/dist/tools/cem-a11y-analyzer/scorer.d.ts +0 -22
- package/dist/tools/cem-a11y-analyzer/scorer.d.ts.map +0 -1
- package/dist/tools/cem-a11y-analyzer/types.d.ts +0 -171
- package/dist/tools/cem-a11y-analyzer/types.d.ts.map +0 -1
package/dist/css/helix-all.css
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
/* ── hx-accordion ── */
|
|
4
4
|
:host {
|
|
5
5
|
display: block;
|
|
6
|
-
font-family: var(--hx-font-family-sans, sans-serif);
|
|
6
|
+
font-family: var(--hx-accordion-font-family, var(--hx-font-family-sans, sans-serif));
|
|
7
7
|
}
|
|
8
8
|
|
|
9
9
|
.accordion {
|
|
@@ -70,10 +70,10 @@
|
|
|
70
70
|
/* ─── Variant: outlined ─── */
|
|
71
71
|
|
|
72
72
|
.base--outlined {
|
|
73
|
-
background: var(--hx-action-bar-bg, var(--hx-color-neutral-0, #
|
|
73
|
+
background: var(--hx-action-bar-bg, var(--hx-color-neutral-0, #ffffff));
|
|
74
74
|
border: var(
|
|
75
75
|
--hx-action-bar-border,
|
|
76
|
-
var(--hx-border-width-thin, 1px) solid var(--hx-color-neutral-200, #
|
|
76
|
+
var(--hx-border-width-thin, 1px) solid var(--hx-color-neutral-200, #e2e8f0)
|
|
77
77
|
);
|
|
78
78
|
border-radius: var(--hx-border-radius-md, 0.375rem);
|
|
79
79
|
}
|
|
@@ -81,7 +81,7 @@
|
|
|
81
81
|
/* ─── Variant: filled ─── */
|
|
82
82
|
|
|
83
83
|
.base--filled {
|
|
84
|
-
background: var(--hx-action-bar-bg, var(--hx-color-neutral-50, #
|
|
84
|
+
background: var(--hx-action-bar-bg, var(--hx-color-neutral-50, #f8fafc));
|
|
85
85
|
border-radius: var(--hx-border-radius-md, 0.375rem);
|
|
86
86
|
}
|
|
87
87
|
|
|
@@ -135,6 +135,20 @@
|
|
|
135
135
|
::slotted(*) {
|
|
136
136
|
flex-shrink: 0;
|
|
137
137
|
}
|
|
138
|
+
|
|
139
|
+
/* ─── High Contrast Mode (forced-colors) ─── */
|
|
140
|
+
|
|
141
|
+
@media (forced-colors: active) {
|
|
142
|
+
/* Outlined variant: border is already present and will be honored by the browser */
|
|
143
|
+
.base--outlined {
|
|
144
|
+
border: 1px solid CanvasText;
|
|
145
|
+
}
|
|
146
|
+
|
|
147
|
+
/* Filled variant: background is suppressed — add border to maintain visual separation */
|
|
148
|
+
.base--filled {
|
|
149
|
+
border: 1px solid CanvasText;
|
|
150
|
+
}
|
|
151
|
+
}
|
|
138
152
|
/* ── hx-alert ── */
|
|
139
153
|
:host {
|
|
140
154
|
display: block;
|
|
@@ -173,10 +187,10 @@
|
|
|
173
187
|
gap: var(--hx-alert-gap, var(--hx-space-3, 0.75rem));
|
|
174
188
|
padding: var(--hx-alert-padding, var(--hx-space-4, 1rem));
|
|
175
189
|
border: var(--hx-alert-border-width, var(--hx-border-width-thin, 1px)) solid
|
|
176
|
-
var(--hx-alert-border-color, var(--hx-color-info-200, #
|
|
190
|
+
var(--hx-alert-border-color, var(--hx-color-info-200, #bae6fd));
|
|
177
191
|
border-radius: var(--hx-alert-border-radius, var(--hx-border-radius-md, 0.375rem));
|
|
178
|
-
background-color: var(--hx-alert-bg, var(--hx-color-info-50, #
|
|
179
|
-
color: var(--hx-alert-color, var(--hx-color-info-800, #
|
|
192
|
+
background-color: var(--hx-alert-bg, var(--hx-color-info-50, #f0f9ff));
|
|
193
|
+
color: var(--hx-alert-color, var(--hx-color-info-800, #0c4a6e));
|
|
180
194
|
font-family: var(--hx-alert-font-family, var(--hx-font-family-sans, sans-serif));
|
|
181
195
|
font-size: var(--hx-font-size-sm, 0.875rem);
|
|
182
196
|
line-height: var(--hx-line-height-normal, 1.5);
|
|
@@ -189,7 +203,7 @@
|
|
|
189
203
|
.alert--accent {
|
|
190
204
|
border-width: 0;
|
|
191
205
|
border-inline-start: var(--hx-alert-accent-width, 4px) solid
|
|
192
|
-
var(--hx-alert-border-color, var(--hx-color-info-200, #
|
|
206
|
+
var(--hx-alert-border-color, var(--hx-color-info-200, #bae6fd));
|
|
193
207
|
border-radius: 0;
|
|
194
208
|
}
|
|
195
209
|
|
|
@@ -216,7 +230,7 @@
|
|
|
216
230
|
display: flex;
|
|
217
231
|
align-items: center;
|
|
218
232
|
flex-shrink: 0;
|
|
219
|
-
color: var(--hx-alert-icon-color, var(--hx-color-info-500, #
|
|
233
|
+
color: var(--hx-alert-icon-color, var(--hx-color-info-500, #0284c7));
|
|
220
234
|
}
|
|
221
235
|
|
|
222
236
|
.alert__icon svg {
|
|
@@ -276,7 +290,7 @@
|
|
|
276
290
|
border: none;
|
|
277
291
|
border-radius: var(--hx-border-radius-sm, 0.25rem);
|
|
278
292
|
background: transparent;
|
|
279
|
-
color: var(--hx-alert-color, var(--hx-color-info-800, #
|
|
293
|
+
color: var(--hx-alert-color, var(--hx-color-info-800, #0c4a6e));
|
|
280
294
|
cursor: pointer;
|
|
281
295
|
font-size: var(--hx-font-size-md, 1rem);
|
|
282
296
|
line-height: 1;
|
|
@@ -316,19 +330,19 @@
|
|
|
316
330
|
|
|
317
331
|
:host([variant='info']) .alert,
|
|
318
332
|
:host(:not([variant])) .alert {
|
|
319
|
-
--hx-alert-bg: var(--hx-color-info-50, #
|
|
320
|
-
--hx-alert-border-color: var(--hx-color-info-200, #
|
|
321
|
-
--hx-alert-color: var(--hx-color-info-800, #
|
|
322
|
-
--hx-alert-icon-color: var(--hx-color-info-500, #
|
|
333
|
+
--hx-alert-bg: var(--hx-color-info-50, #f0f9ff);
|
|
334
|
+
--hx-alert-border-color: var(--hx-color-info-200, #bae6fd);
|
|
335
|
+
--hx-alert-color: var(--hx-color-info-800, #0c4a6e);
|
|
336
|
+
--hx-alert-icon-color: var(--hx-color-info-500, #0284c7);
|
|
323
337
|
}
|
|
324
338
|
|
|
325
339
|
/* ─── Variant: success ─── */
|
|
326
340
|
|
|
327
341
|
:host([variant='success']) .alert {
|
|
328
|
-
--hx-alert-bg: var(--hx-color-success-50, #
|
|
329
|
-
--hx-alert-border-color: var(--hx-color-success-200, #
|
|
330
|
-
--hx-alert-color: var(--hx-color-success-800, #
|
|
331
|
-
--hx-alert-icon-color: var(--hx-color-success-500, #
|
|
342
|
+
--hx-alert-bg: var(--hx-color-success-50, #f0fdf4);
|
|
343
|
+
--hx-alert-border-color: var(--hx-color-success-200, #bbf7d0);
|
|
344
|
+
--hx-alert-color: var(--hx-color-success-800, #14532d);
|
|
345
|
+
--hx-alert-icon-color: var(--hx-color-success-500, #16a34a);
|
|
332
346
|
}
|
|
333
347
|
|
|
334
348
|
/* ─── Variant: warning ─── */
|
|
@@ -336,8 +350,8 @@
|
|
|
336
350
|
:host([variant='warning']) .alert {
|
|
337
351
|
--hx-alert-bg: var(--hx-color-warning-50, #fffbeb);
|
|
338
352
|
--hx-alert-border-color: var(--hx-color-warning-200, #fde68a);
|
|
339
|
-
--hx-alert-color: var(--hx-color-warning-800, #
|
|
340
|
-
--hx-alert-icon-color: var(--hx-color-warning-500, #
|
|
353
|
+
--hx-alert-color: var(--hx-color-warning-800, #78350f);
|
|
354
|
+
--hx-alert-icon-color: var(--hx-color-warning-500, #d97706);
|
|
341
355
|
}
|
|
342
356
|
|
|
343
357
|
/* ─── Variant: error ─── */
|
|
@@ -345,8 +359,8 @@
|
|
|
345
359
|
:host([variant='error']) .alert {
|
|
346
360
|
--hx-alert-bg: var(--hx-color-error-50, #fef2f2);
|
|
347
361
|
--hx-alert-border-color: var(--hx-color-error-200, #fecaca);
|
|
348
|
-
--hx-alert-color: var(--hx-color-error-800, #
|
|
349
|
-
--hx-alert-icon-color: var(--hx-color-error-500, #
|
|
362
|
+
--hx-alert-color: var(--hx-color-error-800, #7f1d1d);
|
|
363
|
+
--hx-alert-icon-color: var(--hx-color-error-500, #dc2626);
|
|
350
364
|
}
|
|
351
365
|
|
|
352
366
|
/* ─── Forced Colors (Windows High Contrast) ─── */
|
|
@@ -447,7 +461,7 @@
|
|
|
447
461
|
/* ─── Initials ─── */
|
|
448
462
|
|
|
449
463
|
.avatar__initials {
|
|
450
|
-
font-family: var(--hx-font-family-sans, sans-serif);
|
|
464
|
+
font-family: var(--hx-avatar-font-family, var(--hx-font-family-sans, sans-serif));
|
|
451
465
|
font-size: var(--hx-avatar-font-size);
|
|
452
466
|
font-weight: var(--hx-font-weight-semibold, 600);
|
|
453
467
|
line-height: 1;
|
|
@@ -556,29 +570,29 @@
|
|
|
556
570
|
}
|
|
557
571
|
|
|
558
572
|
.badge--secondary {
|
|
559
|
-
--hx-badge-bg: var(--hx-badge-secondary-bg, var(--hx-color-neutral-100, #
|
|
560
|
-
--hx-badge-color: var(--hx-badge-secondary-color, var(--hx-color-neutral-700, #
|
|
573
|
+
--hx-badge-bg: var(--hx-badge-secondary-bg, var(--hx-color-neutral-100, #f1f5f9));
|
|
574
|
+
--hx-badge-color: var(--hx-badge-secondary-color, var(--hx-color-neutral-700, #334155));
|
|
561
575
|
--hx-badge-pulse-color-internal: var(
|
|
562
576
|
--hx-badge-pulse-color,
|
|
563
|
-
var(--hx-badge-secondary-bg, var(--hx-color-neutral-100, #
|
|
577
|
+
var(--hx-badge-secondary-bg, var(--hx-color-neutral-100, #f1f5f9))
|
|
564
578
|
);
|
|
565
579
|
}
|
|
566
580
|
|
|
567
581
|
.badge--success {
|
|
568
|
-
--hx-badge-bg: var(--hx-color-success-700, #
|
|
582
|
+
--hx-badge-bg: var(--hx-color-success-700, #166534);
|
|
569
583
|
--hx-badge-color: var(--hx-color-neutral-0, #ffffff);
|
|
570
584
|
--hx-badge-pulse-color-internal: var(
|
|
571
585
|
--hx-badge-pulse-color,
|
|
572
|
-
var(--hx-color-success-700, #
|
|
586
|
+
var(--hx-color-success-700, #166534)
|
|
573
587
|
);
|
|
574
588
|
}
|
|
575
589
|
|
|
576
590
|
.badge--warning {
|
|
577
|
-
--hx-badge-bg: var(--hx-color-warning-500, #
|
|
578
|
-
--hx-badge-color: var(--hx-color-neutral-900, #
|
|
591
|
+
--hx-badge-bg: var(--hx-color-warning-500, #d97706);
|
|
592
|
+
--hx-badge-color: var(--hx-color-neutral-900, #0f172a);
|
|
579
593
|
--hx-badge-pulse-color-internal: var(
|
|
580
594
|
--hx-badge-pulse-color,
|
|
581
|
-
var(--hx-color-warning-500, #
|
|
595
|
+
var(--hx-color-warning-500, #d97706)
|
|
582
596
|
);
|
|
583
597
|
}
|
|
584
598
|
|
|
@@ -592,20 +606,20 @@
|
|
|
592
606
|
}
|
|
593
607
|
|
|
594
608
|
.badge--neutral {
|
|
595
|
-
--hx-badge-bg: var(--hx-color-neutral-200, #
|
|
596
|
-
--hx-badge-color: var(--hx-color-neutral-700, #
|
|
609
|
+
--hx-badge-bg: var(--hx-color-neutral-200, #e2e8f0);
|
|
610
|
+
--hx-badge-color: var(--hx-color-neutral-700, #334155);
|
|
597
611
|
--hx-badge-pulse-color-internal: var(
|
|
598
612
|
--hx-badge-pulse-color,
|
|
599
|
-
var(--hx-color-neutral-200, #
|
|
613
|
+
var(--hx-color-neutral-200, #e2e8f0)
|
|
600
614
|
);
|
|
601
615
|
}
|
|
602
616
|
|
|
603
617
|
.badge--info {
|
|
604
|
-
--hx-badge-bg: var(--hx-badge-info-bg, var(--hx-color-info-700, #
|
|
618
|
+
--hx-badge-bg: var(--hx-badge-info-bg, var(--hx-color-info-700, #075985));
|
|
605
619
|
--hx-badge-color: var(--hx-badge-info-color, var(--hx-color-neutral-0, #ffffff));
|
|
606
620
|
--hx-badge-pulse-color-internal: var(
|
|
607
621
|
--hx-badge-pulse-color,
|
|
608
|
-
var(--hx-badge-info-bg, var(--hx-color-info-700, #
|
|
622
|
+
var(--hx-badge-info-bg, var(--hx-color-info-700, #075985))
|
|
609
623
|
);
|
|
610
624
|
}
|
|
611
625
|
|
|
@@ -685,7 +699,7 @@
|
|
|
685
699
|
cursor: pointer;
|
|
686
700
|
color: inherit;
|
|
687
701
|
opacity: var(--hx-opacity-75, 0.75);
|
|
688
|
-
border-radius: var(--hx-border-radius-sm, 0.
|
|
702
|
+
border-radius: var(--hx-border-radius-sm, 0.25rem);
|
|
689
703
|
line-height: 0;
|
|
690
704
|
/* WCAG 2.5.5: minimum 44×44px touch target */
|
|
691
705
|
min-width: var(--hx-touch-target-min, 2.75rem);
|
|
@@ -698,7 +712,7 @@
|
|
|
698
712
|
|
|
699
713
|
.badge__remove-button:focus-visible {
|
|
700
714
|
outline: var(--hx-focus-ring-width, 2px) solid var(--hx-focus-ring-color, currentColor);
|
|
701
|
-
outline-offset: var(--hx-focus-ring-offset,
|
|
715
|
+
outline-offset: var(--hx-focus-ring-offset, 2px);
|
|
702
716
|
}
|
|
703
717
|
|
|
704
718
|
/* ─── Forced Colors (Windows High Contrast) ─── */
|
|
@@ -758,10 +772,10 @@
|
|
|
758
772
|
align-items: center;
|
|
759
773
|
gap: var(--hx-banner-gap, var(--hx-space-3, 0.75rem));
|
|
760
774
|
padding: var(--hx-banner-padding, var(--hx-space-3, 0.75rem) var(--hx-space-4, 1rem));
|
|
761
|
-
background-color: var(--hx-banner-bg, var(--hx-color-info-50, #
|
|
762
|
-
color: var(--hx-banner-color, var(--hx-color-info-800, #
|
|
775
|
+
background-color: var(--hx-banner-bg, var(--hx-color-info-50, #f0f9ff));
|
|
776
|
+
color: var(--hx-banner-color, var(--hx-color-info-800, #0c4a6e));
|
|
763
777
|
border-bottom: var(--hx-banner-border-width, var(--hx-border-width-thin, 1px)) solid
|
|
764
|
-
var(--hx-banner-border-color, var(--hx-color-info-200, #
|
|
778
|
+
var(--hx-banner-border-color, var(--hx-color-info-200, #bae6fd));
|
|
765
779
|
font-family: var(--hx-banner-font-family, var(--hx-font-family-sans, sans-serif));
|
|
766
780
|
font-size: var(--hx-font-size-sm, 0.875rem);
|
|
767
781
|
line-height: var(--hx-line-height-normal, 1.5);
|
|
@@ -774,7 +788,7 @@
|
|
|
774
788
|
display: flex;
|
|
775
789
|
align-items: center;
|
|
776
790
|
flex-shrink: 0;
|
|
777
|
-
color: var(--hx-banner-icon-color, var(--hx-color-info-500, #
|
|
791
|
+
color: var(--hx-banner-icon-color, var(--hx-color-info-500, #0284c7));
|
|
778
792
|
}
|
|
779
793
|
|
|
780
794
|
.banner__icon svg {
|
|
@@ -796,7 +810,7 @@
|
|
|
796
810
|
display: inline-flex;
|
|
797
811
|
align-items: center;
|
|
798
812
|
flex-shrink: 0;
|
|
799
|
-
color: var(--hx-banner-action-color, var(--hx-banner-color, var(--hx-color-info-800, #
|
|
813
|
+
color: var(--hx-banner-action-color, var(--hx-banner-color, var(--hx-color-info-800, #0c4a6e)));
|
|
800
814
|
font-weight: var(--hx-font-weight-semibold, 600);
|
|
801
815
|
text-decoration: underline;
|
|
802
816
|
text-underline-offset: 2px;
|
|
@@ -836,7 +850,7 @@
|
|
|
836
850
|
border: none;
|
|
837
851
|
border-radius: var(--hx-border-radius-sm, 0.25rem);
|
|
838
852
|
background: transparent;
|
|
839
|
-
color: var(--hx-banner-color, var(--hx-color-info-800, #
|
|
853
|
+
color: var(--hx-banner-color, var(--hx-color-info-800, #0c4a6e));
|
|
840
854
|
cursor: pointer;
|
|
841
855
|
font-size: var(--hx-font-size-md, 1rem);
|
|
842
856
|
line-height: 1;
|
|
@@ -870,19 +884,19 @@
|
|
|
870
884
|
|
|
871
885
|
:host([variant='info']) .banner,
|
|
872
886
|
:host(:not([variant])) .banner {
|
|
873
|
-
--hx-banner-bg: var(--hx-color-info-50, #
|
|
874
|
-
--hx-banner-border-color: var(--hx-color-info-200, #
|
|
875
|
-
--hx-banner-color: var(--hx-color-info-800, #
|
|
876
|
-
--hx-banner-icon-color: var(--hx-color-info-500, #
|
|
887
|
+
--hx-banner-bg: var(--hx-color-info-50, #f0f9ff);
|
|
888
|
+
--hx-banner-border-color: var(--hx-color-info-200, #bae6fd);
|
|
889
|
+
--hx-banner-color: var(--hx-color-info-800, #0c4a6e);
|
|
890
|
+
--hx-banner-icon-color: var(--hx-color-info-500, #0284c7);
|
|
877
891
|
}
|
|
878
892
|
|
|
879
893
|
/* ─── Variant: success ─── */
|
|
880
894
|
|
|
881
895
|
:host([variant='success']) .banner {
|
|
882
|
-
--hx-banner-bg: var(--hx-color-success-50, #
|
|
883
|
-
--hx-banner-border-color: var(--hx-color-success-200, #
|
|
884
|
-
--hx-banner-color: var(--hx-color-success-800, #
|
|
885
|
-
--hx-banner-icon-color: var(--hx-color-success-500, #
|
|
896
|
+
--hx-banner-bg: var(--hx-color-success-50, #f0fdf4);
|
|
897
|
+
--hx-banner-border-color: var(--hx-color-success-200, #bbf7d0);
|
|
898
|
+
--hx-banner-color: var(--hx-color-success-800, #14532d);
|
|
899
|
+
--hx-banner-icon-color: var(--hx-color-success-500, #16a34a);
|
|
886
900
|
}
|
|
887
901
|
|
|
888
902
|
/* ─── Variant: warning ─── */
|
|
@@ -890,8 +904,8 @@
|
|
|
890
904
|
:host([variant='warning']) .banner {
|
|
891
905
|
--hx-banner-bg: var(--hx-color-warning-50, #fffbeb);
|
|
892
906
|
--hx-banner-border-color: var(--hx-color-warning-200, #fde68a);
|
|
893
|
-
--hx-banner-color: var(--hx-color-warning-800, #
|
|
894
|
-
--hx-banner-icon-color: var(--hx-color-warning-500, #
|
|
907
|
+
--hx-banner-color: var(--hx-color-warning-800, #78350f);
|
|
908
|
+
--hx-banner-icon-color: var(--hx-color-warning-500, #d97706);
|
|
895
909
|
}
|
|
896
910
|
|
|
897
911
|
/* ─── Variant: error ─── */
|
|
@@ -899,8 +913,8 @@
|
|
|
899
913
|
:host([variant='error']) .banner {
|
|
900
914
|
--hx-banner-bg: var(--hx-color-error-50, #fef2f2);
|
|
901
915
|
--hx-banner-border-color: var(--hx-color-error-200, #fecaca);
|
|
902
|
-
--hx-banner-color: var(--hx-color-error-800, #
|
|
903
|
-
--hx-banner-icon-color: var(--hx-color-error-500, #
|
|
916
|
+
--hx-banner-color: var(--hx-color-error-800, #7f1d1d);
|
|
917
|
+
--hx-banner-icon-color: var(--hx-color-error-500, #dc2626);
|
|
904
918
|
}
|
|
905
919
|
|
|
906
920
|
/* ─── Position: fixed ─── */
|
|
@@ -965,6 +979,20 @@
|
|
|
965
979
|
display: none;
|
|
966
980
|
}
|
|
967
981
|
|
|
982
|
+
/*
|
|
983
|
+
* Ellipsis ordering when collapsed (FS-014 fix):
|
|
984
|
+
* The ellipsis <hx-breadcrumb-item> lives in shadow DOM to avoid mutating
|
|
985
|
+
* the consumer's light DOM. CSS order places it between the first item
|
|
986
|
+
* (order: 0, default) and the last item (order: 2) in the flex <ol>.
|
|
987
|
+
*/
|
|
988
|
+
.hx-bc-ellipsis {
|
|
989
|
+
order: 1;
|
|
990
|
+
}
|
|
991
|
+
|
|
992
|
+
::slotted([data-bc-last]) {
|
|
993
|
+
order: 2;
|
|
994
|
+
}
|
|
995
|
+
|
|
968
996
|
/* Visually hide the separator slot — used only to read text content.
|
|
969
997
|
* display:none is intentional: the slot contains no interactive or focusable
|
|
970
998
|
* content. If a future change adds focusable elements to this slot, switch to
|
|
@@ -972,6 +1000,19 @@
|
|
|
972
1000
|
.separator-slot {
|
|
973
1001
|
display: none;
|
|
974
1002
|
}
|
|
1003
|
+
|
|
1004
|
+
/* ─── High Contrast Mode (forced-colors) ─── */
|
|
1005
|
+
|
|
1006
|
+
/*
|
|
1007
|
+
* hx-breadcrumb is a nav container. Link colors and separators are handled
|
|
1008
|
+
* by hx-breadcrumb-item's own forced-colors block. No additional overrides needed
|
|
1009
|
+
* at the container level.
|
|
1010
|
+
*/
|
|
1011
|
+
@media (forced-colors: active) {
|
|
1012
|
+
:host {
|
|
1013
|
+
forced-color-adjust: auto;
|
|
1014
|
+
}
|
|
1015
|
+
}
|
|
975
1016
|
/* ── hx-button ── */
|
|
976
1017
|
:host {
|
|
977
1018
|
display: inline-block;
|
|
@@ -1114,7 +1155,7 @@
|
|
|
1114
1155
|
}
|
|
1115
1156
|
|
|
1116
1157
|
.button--primary:hover {
|
|
1117
|
-
--hx-button-bg: var(--hx-button-hover-bg, var(--hx-color-primary-
|
|
1158
|
+
--hx-button-bg: var(--hx-button-hover-bg, var(--hx-color-primary-600));
|
|
1118
1159
|
}
|
|
1119
1160
|
|
|
1120
1161
|
/* ─── Disabled ─── */
|
|
@@ -1181,7 +1222,7 @@
|
|
|
1181
1222
|
|
|
1182
1223
|
/* Primary inverted — slight transparent white overlay on hover */
|
|
1183
1224
|
:host([inverted]) .button--primary:hover {
|
|
1184
|
-
--hx-button-bg: var(--hx-color-primary-400, #
|
|
1225
|
+
--hx-button-bg: var(--hx-color-primary-400, #60a5fa);
|
|
1185
1226
|
}
|
|
1186
1227
|
|
|
1187
1228
|
/* Secondary inverted — white border and text */
|
|
@@ -1362,6 +1403,19 @@
|
|
|
1362
1403
|
z-index: 1;
|
|
1363
1404
|
position: relative;
|
|
1364
1405
|
}
|
|
1406
|
+
|
|
1407
|
+
/* ─── High Contrast Mode (forced-colors) ─── */
|
|
1408
|
+
|
|
1409
|
+
@media (forced-colors: active) {
|
|
1410
|
+
/*
|
|
1411
|
+
* In forced-colors mode, negative margins that collapse borders between grouped
|
|
1412
|
+
* buttons can obscure focus rings. Raise focused children so the Highlight
|
|
1413
|
+
* outline from hx-button's own forced-colors block is fully visible.
|
|
1414
|
+
*/
|
|
1415
|
+
.group ::slotted(:focus-within) {
|
|
1416
|
+
z-index: 2;
|
|
1417
|
+
}
|
|
1418
|
+
}
|
|
1365
1419
|
/* ── hx-card ── */
|
|
1366
1420
|
:host {
|
|
1367
1421
|
display: block;
|
|
@@ -1374,12 +1428,12 @@
|
|
|
1374
1428
|
flex-direction: column;
|
|
1375
1429
|
gap: var(--hx-card-gap, var(--hx-space-4, 1rem));
|
|
1376
1430
|
background-color: var(--hx-card-bg, var(--hx-color-neutral-0, #ffffff));
|
|
1377
|
-
color: var(--hx-card-color, var(--hx-color-neutral-800, #
|
|
1431
|
+
color: var(--hx-card-color, var(--hx-color-neutral-800, #1e293b));
|
|
1378
1432
|
border: var(--hx-border-width-thin, 1px) solid
|
|
1379
|
-
var(--hx-card-border-color, var(--hx-color-neutral-200, #
|
|
1433
|
+
var(--hx-card-border-color, var(--hx-color-neutral-200, #e2e8f0));
|
|
1380
1434
|
border-radius: var(--hx-card-border-radius, var(--hx-border-radius-lg, 0.5rem));
|
|
1381
1435
|
overflow: hidden;
|
|
1382
|
-
font-family: var(--hx-font-family-sans, sans-serif);
|
|
1436
|
+
font-family: var(--hx-card-font-family, var(--hx-font-family-sans, sans-serif));
|
|
1383
1437
|
transition:
|
|
1384
1438
|
box-shadow var(--hx-transition-normal, 250ms ease),
|
|
1385
1439
|
transform var(--hx-transition-normal, 250ms ease);
|
|
@@ -1440,7 +1494,7 @@
|
|
|
1440
1494
|
|
|
1441
1495
|
.card--interactive:hover {
|
|
1442
1496
|
box-shadow: var(--hx-shadow-lg, 0 10px 15px -3px rgb(0 0 0 / 0.1));
|
|
1443
|
-
transform: translateY(var(--hx-lift-md, -2px));
|
|
1497
|
+
transform: translateY(var(--hx-transform-lift-md, -2px));
|
|
1444
1498
|
}
|
|
1445
1499
|
|
|
1446
1500
|
.card--interactive:focus-visible {
|
|
@@ -1502,7 +1556,7 @@
|
|
|
1502
1556
|
flex: 1;
|
|
1503
1557
|
font-size: var(--hx-font-size-md, 1rem);
|
|
1504
1558
|
line-height: var(--hx-line-height-normal, 1.5);
|
|
1505
|
-
color: var(--hx-card-color, var(--hx-color-neutral-600, #
|
|
1559
|
+
color: var(--hx-card-color, var(--hx-color-neutral-600, #475569));
|
|
1506
1560
|
}
|
|
1507
1561
|
|
|
1508
1562
|
.card__footer {
|
|
@@ -1520,7 +1574,7 @@
|
|
|
1520
1574
|
padding-bottom: var(--hx-card-padding, var(--hx-space-6, 1.5rem));
|
|
1521
1575
|
padding-inline-start: var(--hx-card-padding, var(--hx-space-6, 1.5rem));
|
|
1522
1576
|
border-top: var(--hx-border-width-thin, 1px) solid
|
|
1523
|
-
var(--hx-card-border-color, var(--hx-color-neutral-200, #
|
|
1577
|
+
var(--hx-card-border-color, var(--hx-color-neutral-200, #e2e8f0));
|
|
1524
1578
|
margin-top: auto;
|
|
1525
1579
|
}
|
|
1526
1580
|
|
|
@@ -1575,22 +1629,22 @@
|
|
|
1575
1629
|
/* WCAG 2.5.5 (healthcare mandate): minimum 44x44px touch target */
|
|
1576
1630
|
min-width: var(--hx-touch-target-min, 2.75rem);
|
|
1577
1631
|
min-height: var(--hx-touch-target-min, 2.75rem);
|
|
1578
|
-
border: var(--hx-border-width-thin, 1px) solid var(--hx-color-neutral-200, #
|
|
1632
|
+
border: var(--hx-border-width-thin, 1px) solid var(--hx-color-neutral-200, #e2e8f0);
|
|
1579
1633
|
border-radius: var(--hx-border-radius-full, 9999px);
|
|
1580
|
-
background: var(--hx-color-neutral-0, #
|
|
1581
|
-
color: var(--hx-color-neutral-700, #
|
|
1634
|
+
background: var(--hx-color-neutral-0, #ffffff);
|
|
1635
|
+
color: var(--hx-color-neutral-700, #334155);
|
|
1582
1636
|
cursor: pointer;
|
|
1583
1637
|
padding: 0;
|
|
1584
1638
|
transition:
|
|
1585
|
-
background-color var(--hx-transition-fast,
|
|
1586
|
-
color var(--hx-transition-fast,
|
|
1587
|
-
border-color var(--hx-transition-fast,
|
|
1639
|
+
background-color var(--hx-transition-fast, 150ms ease),
|
|
1640
|
+
color var(--hx-transition-fast, 150ms ease),
|
|
1641
|
+
border-color var(--hx-transition-fast, 150ms ease);
|
|
1588
1642
|
flex-shrink: 0;
|
|
1589
1643
|
}
|
|
1590
1644
|
|
|
1591
1645
|
.nav-btn:hover:not([disabled]) {
|
|
1592
|
-
background: var(--hx-color-neutral-50, #
|
|
1593
|
-
border-color: var(--hx-color-neutral-400, #
|
|
1646
|
+
background: var(--hx-color-neutral-50, #f8fafc);
|
|
1647
|
+
border-color: var(--hx-color-neutral-400, #94a3b8);
|
|
1594
1648
|
}
|
|
1595
1649
|
|
|
1596
1650
|
.nav-btn:focus-visible {
|
|
@@ -1600,7 +1654,7 @@
|
|
|
1600
1654
|
}
|
|
1601
1655
|
|
|
1602
1656
|
.nav-btn[disabled] {
|
|
1603
|
-
opacity: var(--hx-opacity-disabled, 0.
|
|
1657
|
+
opacity: var(--hx-opacity-disabled, 0.5);
|
|
1604
1658
|
cursor: not-allowed;
|
|
1605
1659
|
}
|
|
1606
1660
|
|
|
@@ -1623,16 +1677,16 @@
|
|
|
1623
1677
|
border: var(--hx-border-width-thin, 1px) solid transparent;
|
|
1624
1678
|
border-radius: var(--hx-border-radius-md, 0.375rem);
|
|
1625
1679
|
background: transparent;
|
|
1626
|
-
color: var(--hx-color-neutral-500, #
|
|
1680
|
+
color: var(--hx-color-neutral-500, #64748b);
|
|
1627
1681
|
cursor: pointer;
|
|
1628
1682
|
padding: 0;
|
|
1629
1683
|
font-size: var(--hx-font-size-sm, 0.875rem);
|
|
1630
|
-
transition: background-color var(--hx-transition-fast,
|
|
1684
|
+
transition: background-color var(--hx-transition-fast, 150ms ease);
|
|
1631
1685
|
flex-shrink: 0;
|
|
1632
1686
|
}
|
|
1633
1687
|
|
|
1634
1688
|
.play-pause-btn:hover {
|
|
1635
|
-
background: var(--hx-color-neutral-100, #
|
|
1689
|
+
background: var(--hx-color-neutral-100, #f1f5f9);
|
|
1636
1690
|
}
|
|
1637
1691
|
|
|
1638
1692
|
.play-pause-btn:focus-visible {
|
|
@@ -1695,15 +1749,15 @@
|
|
|
1695
1749
|
width: var(--hx-carousel-pagination-dot-size, 0.5rem);
|
|
1696
1750
|
height: var(--hx-carousel-pagination-dot-size, 0.5rem);
|
|
1697
1751
|
border-radius: var(--hx-border-radius-full, 9999px);
|
|
1698
|
-
background: var(--hx-color-neutral-300, #
|
|
1752
|
+
background: var(--hx-color-neutral-300, #cbd5e1);
|
|
1699
1753
|
transition:
|
|
1700
|
-
background-color var(--hx-transition-fast,
|
|
1701
|
-
transform var(--hx-transition-fast,
|
|
1754
|
+
background-color var(--hx-transition-fast, 150ms ease),
|
|
1755
|
+
transform var(--hx-transition-fast, 150ms ease);
|
|
1702
1756
|
}
|
|
1703
1757
|
|
|
1704
1758
|
.pagination-item[aria-current='true'] .pagination-dot,
|
|
1705
1759
|
.pagination-item.is-active .pagination-dot {
|
|
1706
|
-
background: var(--hx-color-primary-600, #
|
|
1760
|
+
background: var(--hx-color-primary-600, #1d4ed8);
|
|
1707
1761
|
transform: scale(1.25);
|
|
1708
1762
|
}
|
|
1709
1763
|
|
|
@@ -1788,7 +1842,7 @@
|
|
|
1788
1842
|
display: flex;
|
|
1789
1843
|
flex-direction: column;
|
|
1790
1844
|
gap: var(--hx-space-1, 0.25rem);
|
|
1791
|
-
font-family: var(--hx-font-family-sans, sans-serif);
|
|
1845
|
+
font-family: var(--hx-checkbox-font-family, var(--hx-font-family-sans, sans-serif));
|
|
1792
1846
|
}
|
|
1793
1847
|
|
|
1794
1848
|
/* ─── Control (checkbox + label row) ─── */
|
|
@@ -1830,7 +1884,7 @@
|
|
|
1830
1884
|
width: var(--hx-checkbox-size, var(--hx-size-5, 1.25rem));
|
|
1831
1885
|
height: var(--hx-checkbox-size, var(--hx-size-5, 1.25rem));
|
|
1832
1886
|
border: var(--hx-border-width-medium, 2px) solid
|
|
1833
|
-
var(--hx-checkbox-border-color, var(--hx-color-neutral-300, #
|
|
1887
|
+
var(--hx-checkbox-border-color, var(--hx-color-neutral-300, #cbd5e1));
|
|
1834
1888
|
border-radius: var(--hx-checkbox-border-radius, var(--hx-border-radius-sm, 0.25rem));
|
|
1835
1889
|
background-color: var(--hx-checkbox-bg, var(--hx-color-neutral-0, #ffffff));
|
|
1836
1890
|
transition:
|
|
@@ -1868,13 +1922,13 @@
|
|
|
1868
1922
|
/* ─── Error State ─── */
|
|
1869
1923
|
|
|
1870
1924
|
.checkbox--error .checkbox__box {
|
|
1871
|
-
border-color: var(--hx-checkbox-error-color, var(--hx-color-error-500, #
|
|
1925
|
+
border-color: var(--hx-checkbox-error-color, var(--hx-color-error-500, #dc2626));
|
|
1872
1926
|
}
|
|
1873
1927
|
|
|
1874
1928
|
.checkbox--error.checkbox--checked .checkbox__box,
|
|
1875
1929
|
.checkbox--error.checkbox--indeterminate .checkbox__box {
|
|
1876
|
-
background-color: var(--hx-checkbox-error-color, var(--hx-color-error-500, #
|
|
1877
|
-
border-color: var(--hx-checkbox-error-color, var(--hx-color-error-500, #
|
|
1930
|
+
background-color: var(--hx-checkbox-error-color, var(--hx-color-error-500, #dc2626));
|
|
1931
|
+
border-color: var(--hx-checkbox-error-color, var(--hx-color-error-500, #dc2626));
|
|
1878
1932
|
}
|
|
1879
1933
|
|
|
1880
1934
|
/* ─── Hover ─── */
|
|
@@ -1892,7 +1946,7 @@
|
|
|
1892
1946
|
}
|
|
1893
1947
|
|
|
1894
1948
|
.checkbox--error .checkbox__control:hover .checkbox__box {
|
|
1895
|
-
border-color: var(--hx-checkbox-error-color, var(--hx-color-error-500, #
|
|
1949
|
+
border-color: var(--hx-checkbox-error-color, var(--hx-color-error-500, #dc2626));
|
|
1896
1950
|
}
|
|
1897
1951
|
|
|
1898
1952
|
/* ─── Checkmark Icon ─── */
|
|
@@ -1921,7 +1975,7 @@
|
|
|
1921
1975
|
.checkbox__label {
|
|
1922
1976
|
font-size: var(--hx-font-size-sm, 0.875rem);
|
|
1923
1977
|
font-weight: var(--hx-font-weight-medium, 500);
|
|
1924
|
-
color: var(--hx-checkbox-label-color, var(--hx-color-neutral-700, #
|
|
1978
|
+
color: var(--hx-checkbox-label-color, var(--hx-color-neutral-700, #334155));
|
|
1925
1979
|
line-height: var(--hx-line-height-normal, 1.5);
|
|
1926
1980
|
user-select: none;
|
|
1927
1981
|
-webkit-user-select: none;
|
|
@@ -1936,7 +1990,7 @@
|
|
|
1936
1990
|
|
|
1937
1991
|
.checkbox__help-text {
|
|
1938
1992
|
font-size: var(--hx-font-size-xs, 0.75rem);
|
|
1939
|
-
color: var(--hx-checkbox-help-text-color, var(--hx-color-neutral-500, #
|
|
1993
|
+
color: var(--hx-checkbox-help-text-color, var(--hx-color-neutral-500, #64748b));
|
|
1940
1994
|
line-height: var(--hx-line-height-normal, 1.5);
|
|
1941
1995
|
padding-inline-start: calc(
|
|
1942
1996
|
var(--hx-checkbox-size, var(--hx-size-5, 1.25rem)) + var(--hx-space-2, 0.5rem)
|
|
@@ -2078,7 +2132,7 @@
|
|
|
2078
2132
|
display: flex;
|
|
2079
2133
|
flex-direction: column;
|
|
2080
2134
|
gap: var(--hx-space-2);
|
|
2081
|
-
font-family: var(--hx-font-family-sans);
|
|
2135
|
+
font-family: var(--hx-checkbox-group-font-family, var(--hx-font-family-sans));
|
|
2082
2136
|
}
|
|
2083
2137
|
|
|
2084
2138
|
/* ─── Legend ─── */
|
|
@@ -2096,7 +2150,7 @@
|
|
|
2096
2150
|
}
|
|
2097
2151
|
|
|
2098
2152
|
.fieldset__required-marker {
|
|
2099
|
-
color: var(--hx-checkbox-group-error-color, var(--hx-color-error-
|
|
2153
|
+
color: var(--hx-checkbox-group-error-color, var(--hx-color-error-text, #b91c1c));
|
|
2100
2154
|
font-weight: var(--hx-font-weight-bold);
|
|
2101
2155
|
}
|
|
2102
2156
|
|
|
@@ -2116,7 +2170,7 @@
|
|
|
2116
2170
|
/* ─── Error State ─── */
|
|
2117
2171
|
|
|
2118
2172
|
.fieldset--error .fieldset__legend {
|
|
2119
|
-
color: var(--hx-checkbox-group-error-color, var(--hx-color-error-
|
|
2173
|
+
color: var(--hx-checkbox-group-error-color, var(--hx-color-error-text, #b91c1c));
|
|
2120
2174
|
}
|
|
2121
2175
|
|
|
2122
2176
|
/* ─── Help Text & Error Messages ─── */
|
|
@@ -2129,7 +2183,7 @@
|
|
|
2129
2183
|
|
|
2130
2184
|
.fieldset__error {
|
|
2131
2185
|
font-size: var(--hx-font-size-xs);
|
|
2132
|
-
color: var(--hx-checkbox-group-error-color, var(--hx-color-error-
|
|
2186
|
+
color: var(--hx-checkbox-group-error-color, var(--hx-color-error-text, #b91c1c));
|
|
2133
2187
|
line-height: var(--hx-line-height-normal);
|
|
2134
2188
|
}
|
|
2135
2189
|
|
|
@@ -2200,12 +2254,12 @@
|
|
|
2200
2254
|
gap: var(--hx-clinical-status-gap, var(--hx-space-3, 0.75rem));
|
|
2201
2255
|
padding: var(--hx-clinical-status-padding, var(--hx-space-4, 1rem));
|
|
2202
2256
|
border: var(--hx-clinical-status-border-width, var(--hx-border-width-thin, 1px)) solid
|
|
2203
|
-
var(--hx-clinical-status-border-color, var(--hx-color-info-200, #
|
|
2257
|
+
var(--hx-clinical-status-border-color, var(--hx-color-info-200, #bae6fd));
|
|
2204
2258
|
border-inline-start: var(--hx-clinical-status-accent-width, 4px) solid
|
|
2205
|
-
var(--hx-clinical-status-accent-color, var(--hx-color-info-500, #
|
|
2259
|
+
var(--hx-clinical-status-accent-color, var(--hx-color-info-500, #0284c7));
|
|
2206
2260
|
border-radius: var(--hx-clinical-status-border-radius, var(--hx-border-radius-md, 0.375rem));
|
|
2207
|
-
background-color: var(--hx-clinical-status-bg, var(--hx-color-info-50, #
|
|
2208
|
-
color: var(--hx-clinical-status-color, var(--hx-color-info-800, #
|
|
2261
|
+
background-color: var(--hx-clinical-status-bg, var(--hx-color-info-50, #f0f9ff));
|
|
2262
|
+
color: var(--hx-clinical-status-color, var(--hx-color-info-800, #0c4a6e));
|
|
2209
2263
|
font-family: var(--hx-clinical-status-font-family, var(--hx-font-family-sans, sans-serif));
|
|
2210
2264
|
font-size: var(--hx-font-size-sm, 0.875rem);
|
|
2211
2265
|
line-height: var(--hx-line-height-normal, 1.5);
|
|
@@ -2226,11 +2280,11 @@
|
|
|
2226
2280
|
|
|
2227
2281
|
:host([severity='info']) .clinical-status,
|
|
2228
2282
|
:host(:not([severity])) .clinical-status {
|
|
2229
|
-
--hx-clinical-status-bg: var(--hx-color-info-50, #
|
|
2230
|
-
--hx-clinical-status-border-color: var(--hx-color-info-200, #
|
|
2231
|
-
--hx-clinical-status-accent-color: var(--hx-color-info-500, #
|
|
2232
|
-
--hx-clinical-status-color: var(--hx-color-info-800, #
|
|
2233
|
-
--hx-clinical-status-icon-color: var(--hx-color-info-500, #
|
|
2283
|
+
--hx-clinical-status-bg: var(--hx-color-info-50, #f0f9ff);
|
|
2284
|
+
--hx-clinical-status-border-color: var(--hx-color-info-200, #bae6fd);
|
|
2285
|
+
--hx-clinical-status-accent-color: var(--hx-color-info-500, #0284c7);
|
|
2286
|
+
--hx-clinical-status-color: var(--hx-color-info-800, #0c4a6e);
|
|
2287
|
+
--hx-clinical-status-icon-color: var(--hx-color-info-500, #0284c7);
|
|
2234
2288
|
}
|
|
2235
2289
|
|
|
2236
2290
|
/* ─── Severity: warning ─── */
|
|
@@ -2238,9 +2292,9 @@
|
|
|
2238
2292
|
:host([severity='warning']) .clinical-status {
|
|
2239
2293
|
--hx-clinical-status-bg: var(--hx-color-warning-50, #fffbeb);
|
|
2240
2294
|
--hx-clinical-status-border-color: var(--hx-color-warning-200, #fde68a);
|
|
2241
|
-
--hx-clinical-status-accent-color: var(--hx-color-warning-500, #
|
|
2242
|
-
--hx-clinical-status-color: var(--hx-color-warning-800, #
|
|
2243
|
-
--hx-clinical-status-icon-color: var(--hx-color-warning-500, #
|
|
2295
|
+
--hx-clinical-status-accent-color: var(--hx-color-warning-500, #d97706);
|
|
2296
|
+
--hx-clinical-status-color: var(--hx-color-warning-800, #78350f);
|
|
2297
|
+
--hx-clinical-status-icon-color: var(--hx-color-warning-500, #d97706);
|
|
2244
2298
|
}
|
|
2245
2299
|
|
|
2246
2300
|
/* ─── Severity: critical ─── */
|
|
@@ -2248,9 +2302,9 @@
|
|
|
2248
2302
|
:host([severity='critical']) .clinical-status {
|
|
2249
2303
|
--hx-clinical-status-bg: var(--hx-color-error-50, #fef2f2);
|
|
2250
2304
|
--hx-clinical-status-border-color: var(--hx-color-error-200, #fecaca);
|
|
2251
|
-
--hx-clinical-status-accent-color: var(--hx-color-error-500, #
|
|
2252
|
-
--hx-clinical-status-color: var(--hx-color-error-800, #
|
|
2253
|
-
--hx-clinical-status-icon-color: var(--hx-color-error-500, #
|
|
2305
|
+
--hx-clinical-status-accent-color: var(--hx-color-error-500, #dc2626);
|
|
2306
|
+
--hx-clinical-status-color: var(--hx-color-error-800, #7f1d1d);
|
|
2307
|
+
--hx-clinical-status-icon-color: var(--hx-color-error-500, #dc2626);
|
|
2254
2308
|
}
|
|
2255
2309
|
|
|
2256
2310
|
/* ─── Severity: emergent ─── */
|
|
@@ -2258,9 +2312,9 @@
|
|
|
2258
2312
|
:host([severity='emergent']) .clinical-status {
|
|
2259
2313
|
--hx-clinical-status-bg: var(--hx-color-error-50, #fef2f2);
|
|
2260
2314
|
--hx-clinical-status-border-color: var(--hx-color-error-300, #fca5a5);
|
|
2261
|
-
--hx-clinical-status-accent-color: var(--hx-color-error-700, #
|
|
2262
|
-
--hx-clinical-status-color: var(--hx-color-error-900, #
|
|
2263
|
-
--hx-clinical-status-icon-color: var(--hx-color-error-700, #
|
|
2315
|
+
--hx-clinical-status-accent-color: var(--hx-color-error-700, #991b1b);
|
|
2316
|
+
--hx-clinical-status-color: var(--hx-color-error-900, #651a1a);
|
|
2317
|
+
--hx-clinical-status-icon-color: var(--hx-color-error-700, #991b1b);
|
|
2264
2318
|
border-inline-start-width: var(--hx-clinical-status-emergent-accent-width, 6px);
|
|
2265
2319
|
font-weight: var(--hx-font-weight-semibold, 600);
|
|
2266
2320
|
}
|
|
@@ -2271,7 +2325,7 @@
|
|
|
2271
2325
|
display: flex;
|
|
2272
2326
|
align-items: center;
|
|
2273
2327
|
flex-shrink: 0;
|
|
2274
|
-
color: var(--hx-clinical-status-icon-color, var(--hx-color-info-500, #
|
|
2328
|
+
color: var(--hx-clinical-status-icon-color, var(--hx-color-info-500, #0284c7));
|
|
2275
2329
|
}
|
|
2276
2330
|
|
|
2277
2331
|
.clinical-status__icon svg {
|
|
@@ -2334,7 +2388,7 @@
|
|
|
2334
2388
|
border: none;
|
|
2335
2389
|
border-radius: var(--hx-border-radius-sm, 0.25rem);
|
|
2336
2390
|
background: transparent;
|
|
2337
|
-
color: var(--hx-clinical-status-color, var(--hx-color-info-800, #
|
|
2391
|
+
color: var(--hx-clinical-status-color, var(--hx-color-info-800, #0c4a6e));
|
|
2338
2392
|
cursor: pointer;
|
|
2339
2393
|
font-size: var(--hx-font-size-md, 1rem);
|
|
2340
2394
|
line-height: 1;
|
|
@@ -2351,7 +2405,7 @@
|
|
|
2351
2405
|
|
|
2352
2406
|
.clinical-status__dismiss-button:focus-visible {
|
|
2353
2407
|
outline: var(--hx-focus-ring-width, 2px) solid
|
|
2354
|
-
var(--hx-focus-ring-color, var(--hx-color-focus, #
|
|
2408
|
+
var(--hx-focus-ring-color, var(--hx-color-focus, #60a5fa));
|
|
2355
2409
|
outline-offset: var(--hx-focus-ring-offset, 2px);
|
|
2356
2410
|
opacity: 1;
|
|
2357
2411
|
}
|
|
@@ -2382,7 +2436,7 @@
|
|
|
2382
2436
|
font-size: var(--hx-font-size-xs, 0.75rem);
|
|
2383
2437
|
font-weight: var(--hx-font-weight-semibold, 600);
|
|
2384
2438
|
text-transform: uppercase;
|
|
2385
|
-
letter-spacing: var(--hx-letter-spacing-wide, 0.
|
|
2439
|
+
letter-spacing: var(--hx-letter-spacing-wide, 0.025em);
|
|
2386
2440
|
cursor: pointer;
|
|
2387
2441
|
line-height: var(--hx-line-height-normal, 1.5);
|
|
2388
2442
|
min-height: var(--hx-touch-target-size, 44px);
|
|
@@ -2397,7 +2451,7 @@
|
|
|
2397
2451
|
|
|
2398
2452
|
.clinical-status__acknowledge-button:focus-visible {
|
|
2399
2453
|
outline: var(--hx-focus-ring-width, 2px) solid
|
|
2400
|
-
var(--hx-focus-ring-color, var(--hx-color-focus, #
|
|
2454
|
+
var(--hx-focus-ring-color, var(--hx-color-focus, #60a5fa));
|
|
2401
2455
|
outline-offset: var(--hx-focus-ring-offset, 2px);
|
|
2402
2456
|
}
|
|
2403
2457
|
|
|
@@ -2500,7 +2554,7 @@
|
|
|
2500
2554
|
display: block;
|
|
2501
2555
|
font-family: var(--hx-code-snippet-font-family, var(--hx-font-family-mono, monospace));
|
|
2502
2556
|
font-size: var(--hx-code-snippet-font-size, var(--hx-font-size-sm, 0.875rem));
|
|
2503
|
-
line-height: var(--hx-line-height-relaxed, 1.
|
|
2557
|
+
line-height: var(--hx-line-height-relaxed, 1.75);
|
|
2504
2558
|
color: var(--hx-code-snippet-color, var(--hx-color-neutral-100, #f1f5f9));
|
|
2505
2559
|
tab-size: var(--hx-code-snippet-tab-size, 2);
|
|
2506
2560
|
}
|
|
@@ -2519,7 +2573,7 @@
|
|
|
2519
2573
|
border-radius: var(--hx-border-radius-sm, 0.25rem);
|
|
2520
2574
|
background-color: var(--hx-color-neutral-800, #1e293b);
|
|
2521
2575
|
color: var(--hx-color-neutral-200, #e2e8f0);
|
|
2522
|
-
font-family: var(--hx-font-family-sans, sans-serif);
|
|
2576
|
+
font-family: var(--hx-code-snippet-font-family, var(--hx-font-family-sans, sans-serif));
|
|
2523
2577
|
font-size: var(--hx-font-size-xs, 0.75rem);
|
|
2524
2578
|
font-weight: var(--hx-font-weight-medium, 500);
|
|
2525
2579
|
line-height: 1; /* intentional literal: icon/action button needs line-height 1; no token maps to exactly 1 */
|
|
@@ -2561,7 +2615,7 @@
|
|
|
2561
2615
|
border-top: var(--hx-border-width-thin, 1px) solid var(--hx-color-neutral-700, #334155);
|
|
2562
2616
|
background-color: var(--hx-color-neutral-800, #1e293b);
|
|
2563
2617
|
color: var(--hx-color-neutral-300, #cbd5e1);
|
|
2564
|
-
font-family: var(--hx-font-family-sans, sans-serif);
|
|
2618
|
+
font-family: var(--hx-code-snippet-font-family, var(--hx-font-family-sans, sans-serif));
|
|
2565
2619
|
font-size: var(--hx-font-size-sm, 0.875rem);
|
|
2566
2620
|
font-weight: var(--hx-font-weight-medium, 500);
|
|
2567
2621
|
text-align: center;
|
|
@@ -2637,186 +2691,939 @@
|
|
|
2637
2691
|
border: 0;
|
|
2638
2692
|
}
|
|
2639
2693
|
/* ── hx-color-picker ── */
|
|
2640
|
-
:host{display:inline-block;position:relative;font-family:var(--hx-font-family-sans, sans-serif);font-size:var(--hx-font-size-sm, .875rem)}:host([disabled]){pointer-events:none;opacity:var(--hx-opacity-disabled, .4)}.trigger{display:inline-flex;align-items:center;gap:var(--hx-space-2, .5rem);padding:var(--hx-space-1, .25rem);border:var(--hx-border-width-thin, 1px) solid var(--hx-color-neutral-300, #d1d5db);border-radius:var(--hx-border-radius-md, .375rem);background:var(--hx-color-neutral-0, #fff);cursor:pointer;transition:border-color var(--hx-transition-fast, .15s ease)}.trigger:hover:not([disabled]){border-color:var(--hx-color-primary-500, #3b82f6)}:is(.trigger,.gradient-grid,.slider-track,.swatch-btn,.format-btn):focus-visible{outline:var(--hx-focus-ring-width, 2px) solid var(--hx-focus-ring-color, var(--hx-color-primary-500));outline-offset:var(--hx-focus-ring-offset, 2px)}.trigger-swatch{width:1.5rem;height:1.5rem;border-radius:var(--hx-border-radius-sm, .25rem);border:var(--hx-border-width-thin, 1px) solid var(--hx-color-picker-swatch-border, var(--hx-overlay-black-10, rgba(0, 0, 0, .1)));background:var(--_preview-color, #000);display:block;flex-shrink:0}.trigger-label{font-size:var(--hx-font-size-sm, .875rem);color:var(--hx-color-neutral-700, #374151);font-family:var(--hx-font-family-mono, monospace);white-space:nowrap}.panel{position:absolute;z-index:var(--hx-color-picker-z-index, 1000);top:calc(100% + 4px);left:0;background:var(--hx-color-neutral-0, #fff);border:var(--hx-border-width-thin, 1px) solid var(--hx-color-neutral-200, #e5e7eb);border-radius:var(--hx-border-radius-lg, .5rem);box-shadow:0 8px 24px var(--hx-color-picker-panel-shadow, var(--hx-overlay-black-15, rgba(0, 0, 0, .15)));padding:var(--hx-space-4, 1rem);width:var(--hx-color-picker-width, 260px);display:flex;flex-direction:column;gap:var(--hx-space-3, .75rem);outline:none}:host([inline]) .panel{position:static;box-shadow:none;border:var(--hx-border-width-thin, 1px) solid var(--hx-color-neutral-200, #e5e7eb);border-radius:var(--hx-border-radius-lg, .5rem)}.gradient-grid{position:relative;width:100%;height:var(--hx-color-picker-grid-height, 160px);border-radius:var(--hx-border-radius-sm, .25rem);cursor:crosshair;overflow:hidden;touch-action:none;flex-shrink:0}.gradient-grid-bg{position:absolute;inset:0;background:linear-gradient(to bottom,transparent,#000),linear-gradient(to right,#fff,var(--_hue-color, hsl(0, 100%, 50%)));pointer-events:none}.gradient-thumb{position:absolute;width:12px;height:12px;border-radius:50%;border:none;box-shadow:0 0 0 2px var(--hx-color-picker-thumb-border, var(--hx-color-neutral-0, #fff)),0 0 0 3px var(--hx-color-picker-thumb-shadow, var(--hx-overlay-black-30, rgba(0, 0, 0, .3)));transform:translate(-50%,-50%);pointer-events:none;top:var(--_thumb-y, 0%);left:var(--_thumb-x, 100%)}.slider-track{position:relative;width:100%;height:12px;border-radius:6px;cursor:pointer;touch-action:none;flex-shrink:0}.hue-track{background:linear-gradient(to right,red,#ff8000,#ff0,#80ff00,#0f0,#00ff80,#0ff,#0080ff,#00f,#7f00ff,#f0f,#ff0080,red)}.opacity-track{background-image:linear-gradient(to right,transparent,var(--_hue-color, hsl(0, 100%, 50%))),repeating-conic-gradient(#ccc 0% 25%,#fff 0% 50%) 0 0 / 12px 12px}.slider-thumb{position:absolute;top:50%;width:16px;height:16px;border-radius:50%;border:none;box-shadow:0 0 0 2px var(--hx-color-picker-thumb-border, var(--hx-color-neutral-0, #fff)),0 0 0 3px var(--hx-color-picker-thumb-shadow, var(--hx-overlay-black-30, rgba(0, 0, 0, .3)));transform:translate(-50%,-50%);pointer-events:none;left:var(--_slider-pct, 0%);background:var(--_thumb-color, hsl(0, 100%, 50%))}.swatches{display:flex;flex-wrap:wrap;gap:var(--hx-space-1, .25rem)}.swatch-btn{width:20px;height:20px;border-radius:var(--hx-border-radius-sm, .25rem);border:var(--hx-border-width-thin, 1px) solid var(--hx-color-picker-swatch-border, var(--hx-overlay-black-10, rgba(0, 0, 0, .1)));cursor:pointer;padding:0;flex-shrink:0;transition:transform var(--hx-transition-fast, .15s ease)}.swatch-btn:hover{transform:scale(1.15);border-color:var( --hx-color-picker-swatch-border-hover, var(--hx-overlay-black-30, rgba(0, 0, 0, .3)) )}.input-area{display:flex;align-items:center;gap:var(--hx-space-2, .5rem)}.format-btn{flex-shrink:0;padding:var(--hx-space-1, .25rem) var(--hx-space-2, .5rem);background:var(--hx-color-neutral-100, #f3f4f6);border:var(--hx-border-width-thin, 1px) solid var(--hx-color-neutral-300, #d1d5db);border-radius:var(--hx-border-radius-sm, .25rem);cursor:pointer;font-size:var(--hx-font-size-xs, .75rem);color:var(--hx-color-neutral-600, #4b5563);text-transform:uppercase;font-weight:var(--hx-font-weight-semibold, 600);letter-spacing:.05em}.color-input{flex:1;min-width:0;padding:var(--hx-space-1, .25rem) var(--hx-space-2, .5rem);border:var(--hx-border-width-thin, 1px) solid var(--hx-color-neutral-300, #d1d5db);border-radius:var(--hx-border-radius-sm, .25rem);font-family:var(--hx-font-family-mono, monospace);font-size:var(--hx-font-size-sm, .875rem);color:var(--hx-color-neutral-900, #111827);background:var(--hx-color-neutral-0, #fff);outline:none}.color-input:focus-visible{border-color:var(--hx-focus-ring-color, var(--hx-color-primary-500));box-shadow:0 0 0 2px color-mix(in srgb,var(--hx-focus-ring-color, var(--hx-color-primary-500)) 20%,transparent)}.input-preview{width:24px;height:24px;border-radius:var(--hx-border-radius-sm, .25rem);border:var(--hx-border-width-thin, 1px) solid var(--hx-color-picker-swatch-border, var(--hx-overlay-black-10, rgba(0, 0, 0, .1)));background:var(--_preview-color, #000);flex-shrink:0}@media(prefers-reduced-motion:reduce){.trigger,.swatch-btn{transition:none}}@media(forced-colors:active){.trigger{forced-color-adjust:none;background-color:Field;color:FieldText;border:2px solid ButtonText}.trigger:hover:not([disabled]){border-color:Highlight}:is(.trigger,.gradient-grid,.slider-track,.swatch-btn,.format-btn):focus-visible{outline-color:Highlight}.panel{forced-color-adjust:none;background-color:Canvas;border:2px solid CanvasText;box-shadow:none}.gradient-thumb,.slider-thumb{box-shadow:0 0 0 2px CanvasText}.swatch-btn{border:2px solid ButtonText}.swatch-btn:hover{border-color:Highlight}.color-input{forced-color-adjust:none;background-color:Field;color:FieldText;border:2px solid ButtonText}.color-input:focus-visible{border-color:Highlight;box-shadow:none}.format-btn{forced-color-adjust:none;background-color:ButtonFace;color:ButtonText;border:2px solid ButtonText}.trigger-label{color:FieldText}:host([disabled]){opacity:1}:host([disabled]) .trigger{border-color:GrayText;color:GrayText}}
|
|
2641
|
-
/* ── hx-combobox ── */
|
|
2642
|
-
:host{display:block}:host([disabled]){opacity:var(--hx-opacity-disabled, .5);pointer-events:none}*{box-sizing:border-box}.field{display:flex;flex-direction:column;gap:var(--hx-space-1, .25rem);font-family:var(--hx-combobox-font-family, var(--hx-font-family-sans, sans-serif));position:relative}.field__label{display:flex;align-items:baseline;gap:var(--hx-space-1, .25rem);font-size:var(--hx-font-size-sm, .875rem);font-weight:var(--hx-font-weight-medium, 500);color:var(--hx-combobox-label-color, var(--hx-color-neutral-700, #343a40));line-height:var(--hx-line-height-normal, 1.5)}.field__required-marker{color:var(--hx-combobox-error-color, var(--hx-color-error-text, #b91c1c));font-weight:var(--hx-font-weight-bold, 700)}.field__input-wrapper{position:relative;display:flex;align-items:center;border:var(--hx-border-width-thin, 1px) solid var(--hx-combobox-border-color, var(--hx-color-neutral-300, #ced4da));border-radius:var(--hx-combobox-border-radius, var(--hx-border-radius-md, .375rem));background-color:var(--hx-combobox-bg, var(--hx-color-neutral-0, #ffffff));transition:border-color var(--hx-transition-fast, .15s ease),box-shadow var(--hx-transition-fast, .15s ease)}.field__input-wrapper:focus-within{border-color:var(--hx-combobox-focus-ring-color, var(--hx-focus-ring-color, var(--hx-color-primary-400, #60a5fa)));box-shadow:0 0 0 var(--hx-focus-ring-width, 2px) color-mix(in srgb,var(--hx-combobox-focus-ring-color, var(--hx-focus-ring-color, var(--hx-color-primary-400, #60a5fa))) calc(var(--hx-focus-ring-opacity, .25) * 100%),transparent)}.field--error .field__input-wrapper{border-color:var(--hx-combobox-error-color, var(--hx-color-error-500, #dc3545))}.field--error .field__input-wrapper:focus-within{border-color:var(--hx-combobox-error-color, var(--hx-color-error-500, #dc3545));box-shadow:0 0 0 var(--hx-focus-ring-width, 2px) color-mix(in srgb,var(--hx-combobox-error-color, var(--hx-color-error-500, #dc3545)) calc(var(--hx-focus-ring-opacity, .25) * 100%),transparent)}.field__prefix,.field__suffix{display:flex;align-items:center;padding:0 var(--hx-space-2, .5rem);color:var(--hx-color-neutral-500, #6c757d);flex-shrink:0}.field__input{flex:1;min-width:0;min-height:var(--hx-input-height-md, var(--hx-size-10, 2.5rem));border:none;background:transparent;outline:none;font-family:inherit;font-size:var(--hx-font-size-md, 1rem);line-height:var(--hx-line-height-normal, 1.5);color:var(--hx-combobox-color, var(--hx-color-neutral-800, #212529));padding:var(--hx-space-2, .5rem) var(--hx-space-3, .75rem)}.field__input::placeholder{color:var(--hx-color-neutral-400, #adb5bd)}.field__input--sm{min-height:var(--hx-input-height-sm, var(--hx-size-8, 2rem));font-size:var(--hx-font-size-sm, .875rem);padding:var(--hx-space-1, .25rem) var(--hx-space-3, .75rem)}.field__input--lg{min-height:var(--hx-input-height-lg, var(--hx-size-12, 3rem));font-size:var(--hx-font-size-lg, 1.125rem);padding:var(--hx-space-3, .75rem) var(--hx-space-4, 1rem)}.field__clear-button,.field__loading-indicator{display:flex;align-items:center;justify-content:center;margin-inline-end:var(--hx-space-2, .5rem);flex-shrink:0;color:var(--hx-color-neutral-400, #adb5bd)}.field__clear-button{width:1.25rem;height:1.25rem;border:none;background:transparent;cursor:pointer;padding:0;border-radius:var(--hx-border-radius-full, 9999px);transition:color var(--hx-transition-fast, .15s ease)}.field__clear-button:hover{color:var(--hx-color-neutral-700, #343a40)}.field__clear-button:focus-visible{outline:var(--hx-focus-ring-width, 2px) solid var(--hx-combobox-focus-ring-color, var(--hx-focus-ring-color, var(--hx-color-primary-500)));outline-offset:var(--hx-focus-ring-offset, 2px)}.field__loading-indicator{width:1rem;height:1rem}.field__loading-spinner{width:1rem;height:1rem;border:2px solid currentColor;border-top-color:transparent;border-radius:50%;animation:hx-spin .7s linear infinite}@keyframes hx-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.field__loading-spinner{animation:none}}.field__listbox{position:absolute;top:calc(100% + var(--hx-space-1, .25rem));left:0;right:0;z-index:var(--hx-z-index-dropdown, 100);background-color:var(--hx-combobox-listbox-bg, var(--hx-color-neutral-0, #ffffff));border:var(--hx-border-width-thin, 1px) solid var(--hx-combobox-border-color, var(--hx-color-neutral-300, #ced4da));border-radius:var(--hx-combobox-border-radius, var(--hx-border-radius-md, .375rem));box-shadow:var( --hx-combobox-listbox-shadow, 0 4px 16px color-mix(in srgb, var(--hx-color-neutral-900, #0d1117) 12%, transparent) );max-height:var(--hx-combobox-listbox-max-height, 16rem);overflow:hidden;display:flex;flex-direction:column}.field__listbox[hidden]{display:none}.field__options{overflow-y:auto;flex:1;padding:var(--hx-space-1, .25rem) 0}.field__option{display:flex;align-items:center;gap:var(--hx-space-2, .5rem);padding:var(--hx-space-2, .5rem) var(--hx-space-3, .75rem);font-size:var(--hx-font-size-md, 1rem);color:var(--hx-combobox-color, var(--hx-color-neutral-800, #212529));cursor:pointer;user-select:none;-webkit-user-select:none;transition:background-color var(--hx-transition-fast, .15s ease)}.field__option:hover{background-color:var(--hx-combobox-option-hover-bg, var(--hx-color-primary-50, #eff6ff))}.field__option--selected{background-color:var(--hx-combobox-option-selected-bg, var(--hx-color-primary-100, #dbeafe));font-weight:var(--hx-font-weight-medium, 500)}.field__option--focused{background-color:var(--hx-combobox-option-hover-bg, var(--hx-color-primary-50, #eff6ff));outline:var(--hx-focus-ring-width, 2px) solid var(--hx-combobox-focus-ring-color, var(--hx-focus-ring-color, var(--hx-color-primary-500)));outline-offset:var(--hx-combobox-option-focus-ring-offset, -2px)}.field__option--focused.field__option--selected{background-color:var(--hx-combobox-option-selected-bg, var(--hx-color-primary-100, #dbeafe))}.field__option--disabled{opacity:var(--hx-opacity-disabled, .5);cursor:not-allowed;pointer-events:none}.field__option-label{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.field__no-options{padding:var(--hx-space-3, .75rem);text-align:center;color:var(--hx-color-neutral-400, #adb5bd);font-size:var(--hx-font-size-sm, .875rem)}.field__sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.field__help-text,.field__error{font-size:var(--hx-font-size-xs, .75rem);line-height:var(--hx-line-height-normal, 1.5)}.field__help-text{color:var(--hx-color-neutral-500, #6c757d)}.field__error{color:var(--hx-combobox-error-color, var(--hx-color-error-text, #b91c1c))}@media(prefers-reduced-motion:reduce){.field__input-wrapper,.field__option,.field__clear-button,.field__chip-remove{transition:none}}@media(forced-colors:active){.field__input-wrapper{forced-color-adjust:none;background-color:Field;color:FieldText;border:2px solid ButtonText}.field__input{color:FieldText}.field__input::placeholder{color:GrayText}.field__input-wrapper:focus-within{border-color:Highlight;box-shadow:none}.field__listbox{forced-color-adjust:none;background-color:Canvas;border:2px solid CanvasText;box-shadow:none}.field__option{color:CanvasText}.field__option:hover{background-color:Highlight;color:HighlightText}.field__option--selected{background-color:Highlight;color:HighlightText}.field__option--focused{outline-color:Highlight;background-color:Highlight;color:HighlightText}.field__option--disabled{color:GrayText;opacity:1}.field__chip{forced-color-adjust:none;background-color:Highlight;color:HighlightText;border:1px solid HighlightText}.field__chip-remove:focus-visible{outline-color:Highlight}.field__clear-button:focus-visible{outline-color:Highlight}.field--error .field__input-wrapper{border-color:LinkText}:host([disabled]){opacity:1}:host([disabled]) .field__input-wrapper{border-color:GrayText;color:GrayText}:host([disabled]) .field__input{color:GrayText}.field__label{color:CanvasText}.field__help-text{color:GrayText}.field__error{color:LinkText}}:host([multiple]) .field__input-wrapper{flex-wrap:wrap;padding:var(--hx-space-1, .25rem);gap:var(--hx-space-1, .25rem);align-items:center}:host([multiple]) .field__input{min-width:8rem;padding:var(--hx-space-1, .25rem) var(--hx-space-2, .5rem);flex-shrink:1}.field__chip{display:inline-flex;align-items:center;gap:var(--hx-space-1, .25rem);padding:0 var(--hx-space-1, .25rem) 0 var(--hx-space-2, .5rem);height:1.5rem;background-color:var(--hx-combobox-chip-bg, var(--hx-color-primary-100, #dbeafe));color:var(--hx-combobox-chip-color, var(--hx-color-primary-800, #1e40af));border-radius:var(--hx-border-radius-full, 9999px);font-size:var(--hx-font-size-sm, .875rem);white-space:nowrap;max-width:12rem;flex-shrink:0}.field__chip-label{overflow:hidden;text-overflow:ellipsis;max-width:8rem}.field__chip-remove{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:1rem;height:1rem;border:none;background:none;cursor:pointer;padding:0;color:inherit;opacity:.7;border-radius:50%;line-height:1;transition:opacity var(--hx-transition-fast, .15s ease)}.field__chip-remove:hover{opacity:1;background-color:var(--hx-combobox-chip-remove-hover-bg, var(--hx-color-primary-200, #bfdbfe))}.field__chip-remove:focus-visible{outline:var(--hx-focus-ring-width, 2px) solid var(--hx-combobox-focus-ring-color, var(--hx-focus-ring-color, var(--hx-color-primary-500)));outline-offset:var(--hx-focus-ring-offset, 2px);opacity:1}
|
|
2643
|
-
/* ── hx-container ── */
|
|
2644
2694
|
:host {
|
|
2645
|
-
display: block;
|
|
2646
|
-
|
|
2647
|
-
|
|
2648
|
-
|
|
2649
|
-
box-sizing: border-box;
|
|
2695
|
+
display: inline-block;
|
|
2696
|
+
position: relative;
|
|
2697
|
+
font-family: var(--hx-font-family-sans, sans-serif);
|
|
2698
|
+
font-size: var(--hx-font-size-sm, 0.875rem);
|
|
2650
2699
|
}
|
|
2651
|
-
|
|
2652
|
-
|
|
2653
|
-
|
|
2654
|
-
:host([padding='sm']) {
|
|
2655
|
-
padding-top: var(--hx-space-6, 1.5rem);
|
|
2656
|
-
padding-bottom: var(--hx-space-6, 1.5rem);
|
|
2700
|
+
:host([disabled]) {
|
|
2701
|
+
pointer-events: none;
|
|
2702
|
+
opacity: var(--hx-opacity-disabled, 0.5);
|
|
2657
2703
|
}
|
|
2658
|
-
|
|
2659
|
-
|
|
2660
|
-
|
|
2661
|
-
|
|
2704
|
+
.trigger {
|
|
2705
|
+
display: inline-flex;
|
|
2706
|
+
align-items: center;
|
|
2707
|
+
gap: var(--hx-space-2, 0.5rem);
|
|
2708
|
+
padding: var(--hx-space-1, 0.25rem);
|
|
2709
|
+
border: var(--hx-border-width-thin, 1px) solid var(--hx-color-neutral-300, #cbd5e1);
|
|
2710
|
+
border-radius: var(--hx-border-radius-md, 0.375rem);
|
|
2711
|
+
background: var(--hx-color-neutral-0, #ffffff);
|
|
2712
|
+
cursor: pointer;
|
|
2713
|
+
transition: border-color var(--hx-transition-fast, 150ms ease);
|
|
2662
2714
|
}
|
|
2663
|
-
|
|
2664
|
-
|
|
2665
|
-
padding-top: var(--hx-space-16, 4rem);
|
|
2666
|
-
padding-bottom: var(--hx-space-16, 4rem);
|
|
2715
|
+
.trigger:hover:not([disabled]) {
|
|
2716
|
+
border-color: var(--hx-color-primary-500, #2563eb);
|
|
2667
2717
|
}
|
|
2668
|
-
|
|
2669
|
-
|
|
2670
|
-
|
|
2671
|
-
|
|
2718
|
+
:is(.trigger, .gradient-grid, .slider-track, .swatch-btn, .format-btn):focus-visible {
|
|
2719
|
+
outline: var(--hx-focus-ring-width, 2px) solid
|
|
2720
|
+
var(--hx-focus-ring-color, var(--hx-color-primary-500));
|
|
2721
|
+
outline-offset: var(--hx-focus-ring-offset, 2px);
|
|
2672
2722
|
}
|
|
2673
|
-
|
|
2674
|
-
|
|
2675
|
-
|
|
2676
|
-
|
|
2723
|
+
.trigger-swatch {
|
|
2724
|
+
width: 1.5rem;
|
|
2725
|
+
height: 1.5rem;
|
|
2726
|
+
border-radius: var(--hx-border-radius-sm, 0.25rem);
|
|
2727
|
+
border: var(--hx-border-width-thin, 1px) solid
|
|
2728
|
+
var(--hx-color-picker-swatch-border, var(--hx-overlay-black-10, rgba(0, 0, 0, 0.1)));
|
|
2729
|
+
background: var(--_preview-color, #000);
|
|
2730
|
+
display: block;
|
|
2731
|
+
flex-shrink: 0;
|
|
2677
2732
|
}
|
|
2678
|
-
|
|
2679
|
-
|
|
2680
|
-
|
|
2681
|
-
|
|
2682
|
-
|
|
2683
|
-
margin-inline-end: auto;
|
|
2684
|
-
padding-inline-start: var(--hx-container-gutter, var(--hx-space-6, 1.5rem));
|
|
2685
|
-
padding-inline-end: var(--hx-container-gutter, var(--hx-space-6, 1.5rem));
|
|
2686
|
-
box-sizing: border-box;
|
|
2687
|
-
width: 100%;
|
|
2733
|
+
.trigger-label {
|
|
2734
|
+
font-size: var(--hx-font-size-sm, 0.875rem);
|
|
2735
|
+
color: var(--hx-color-neutral-700, #334155);
|
|
2736
|
+
font-family: var(--hx-font-family-mono, monospace);
|
|
2737
|
+
white-space: nowrap;
|
|
2688
2738
|
}
|
|
2689
|
-
|
|
2690
|
-
|
|
2691
|
-
|
|
2692
|
-
|
|
2693
|
-
|
|
2739
|
+
.panel {
|
|
2740
|
+
position: absolute;
|
|
2741
|
+
z-index: var(--hx-color-picker-z-index, 1000);
|
|
2742
|
+
top: calc(100% + 4px);
|
|
2743
|
+
left: 0;
|
|
2744
|
+
background: var(--hx-color-neutral-0, #ffffff);
|
|
2745
|
+
border: var(--hx-border-width-thin, 1px) solid var(--hx-color-neutral-200, #e2e8f0);
|
|
2746
|
+
border-radius: var(--hx-border-radius-lg, 0.5rem);
|
|
2747
|
+
box-shadow: 0 8px 24px
|
|
2748
|
+
var(--hx-color-picker-panel-shadow, var(--hx-overlay-black-15, rgba(0, 0, 0, 0.15)));
|
|
2749
|
+
padding: var(--hx-space-4, 1rem);
|
|
2750
|
+
width: var(--hx-color-picker-width, 260px);
|
|
2751
|
+
display: flex;
|
|
2752
|
+
flex-direction: column;
|
|
2753
|
+
gap: var(--hx-space-3, 0.75rem);
|
|
2754
|
+
outline: none;
|
|
2694
2755
|
}
|
|
2695
|
-
|
|
2696
|
-
|
|
2697
|
-
|
|
2756
|
+
:host([inline]) .panel {
|
|
2757
|
+
position: static;
|
|
2758
|
+
box-shadow: none;
|
|
2759
|
+
border: var(--hx-border-width-thin, 1px) solid var(--hx-color-neutral-200, #e2e8f0);
|
|
2760
|
+
border-radius: var(--hx-border-radius-lg, 0.5rem);
|
|
2698
2761
|
}
|
|
2699
|
-
|
|
2700
|
-
|
|
2701
|
-
|
|
2762
|
+
.gradient-grid {
|
|
2763
|
+
position: relative;
|
|
2764
|
+
width: 100%;
|
|
2765
|
+
height: var(--hx-color-picker-grid-height, 160px);
|
|
2766
|
+
border-radius: var(--hx-border-radius-sm, 0.25rem);
|
|
2767
|
+
cursor: crosshair;
|
|
2768
|
+
overflow: hidden;
|
|
2769
|
+
touch-action: none;
|
|
2770
|
+
flex-shrink: 0;
|
|
2702
2771
|
}
|
|
2703
|
-
|
|
2704
|
-
|
|
2705
|
-
|
|
2772
|
+
.gradient-grid-bg {
|
|
2773
|
+
position: absolute;
|
|
2774
|
+
inset: 0;
|
|
2775
|
+
background:
|
|
2776
|
+
linear-gradient(to bottom, transparent, #000),
|
|
2777
|
+
linear-gradient(to right, #fff, var(--_hue-color, hsl(0, 100%, 50%)));
|
|
2778
|
+
pointer-events: none;
|
|
2706
2779
|
}
|
|
2707
|
-
|
|
2708
|
-
|
|
2709
|
-
|
|
2780
|
+
.gradient-thumb {
|
|
2781
|
+
position: absolute;
|
|
2782
|
+
width: 12px;
|
|
2783
|
+
height: 12px;
|
|
2784
|
+
border-radius: 50%;
|
|
2785
|
+
border: none;
|
|
2786
|
+
box-shadow:
|
|
2787
|
+
0 0 0 2px var(--hx-color-picker-thumb-border, var(--hx-color-neutral-0, #ffffff)),
|
|
2788
|
+
0 0 0 3px var(--hx-color-picker-thumb-shadow, var(--hx-overlay-black-30, rgba(0, 0, 0, 0.3)));
|
|
2789
|
+
transform: translate(-50%, -50%);
|
|
2790
|
+
pointer-events: none;
|
|
2791
|
+
top: var(--_thumb-y, 0%);
|
|
2792
|
+
left: var(--_thumb-x, 100%);
|
|
2710
2793
|
}
|
|
2711
|
-
|
|
2712
|
-
|
|
2713
|
-
|
|
2794
|
+
.slider-track {
|
|
2795
|
+
position: relative;
|
|
2796
|
+
width: 100%;
|
|
2797
|
+
height: 12px;
|
|
2798
|
+
border-radius: 6px;
|
|
2799
|
+
cursor: pointer;
|
|
2800
|
+
touch-action: none;
|
|
2801
|
+
flex-shrink: 0;
|
|
2714
2802
|
}
|
|
2715
|
-
|
|
2716
|
-
|
|
2717
|
-
|
|
2803
|
+
.hue-track {
|
|
2804
|
+
background: linear-gradient(
|
|
2805
|
+
to right,
|
|
2806
|
+
red,
|
|
2807
|
+
#ff8000,
|
|
2808
|
+
#ff0,
|
|
2809
|
+
#80ff00,
|
|
2810
|
+
#0f0,
|
|
2811
|
+
#00ff80,
|
|
2812
|
+
#0ff,
|
|
2813
|
+
#0080ff,
|
|
2814
|
+
#00f,
|
|
2815
|
+
#7f00ff,
|
|
2816
|
+
#f0f,
|
|
2817
|
+
#ff0080,
|
|
2818
|
+
red
|
|
2819
|
+
);
|
|
2718
2820
|
}
|
|
2719
|
-
|
|
2720
|
-
:
|
|
2721
|
-
|
|
2821
|
+
.opacity-track {
|
|
2822
|
+
background-image:
|
|
2823
|
+
linear-gradient(to right, transparent, var(--_hue-color, hsl(0, 100%, 50%))),
|
|
2824
|
+
repeating-conic-gradient(#ccc 0% 25%, #fff 0% 50%) 0 0 / 12px 12px;
|
|
2722
2825
|
}
|
|
2723
|
-
|
|
2724
|
-
|
|
2826
|
+
.slider-thumb {
|
|
2827
|
+
position: absolute;
|
|
2828
|
+
top: 50%;
|
|
2829
|
+
width: 16px;
|
|
2830
|
+
height: 16px;
|
|
2831
|
+
border-radius: 50%;
|
|
2832
|
+
border: none;
|
|
2833
|
+
box-shadow:
|
|
2834
|
+
0 0 0 2px var(--hx-color-picker-thumb-border, var(--hx-color-neutral-0, #ffffff)),
|
|
2835
|
+
0 0 0 3px var(--hx-color-picker-thumb-shadow, var(--hx-overlay-black-30, rgba(0, 0, 0, 0.3)));
|
|
2836
|
+
transform: translate(-50%, -50%);
|
|
2725
2837
|
pointer-events: none;
|
|
2838
|
+
left: var(--_slider-pct, 0%);
|
|
2839
|
+
background: var(--_thumb-color, hsl(0, 100%, 50%));
|
|
2726
2840
|
}
|
|
2727
|
-
|
|
2728
|
-
|
|
2729
|
-
|
|
2730
|
-
|
|
2731
|
-
|
|
2732
|
-
|
|
2733
|
-
|
|
2734
|
-
|
|
2735
|
-
border-radius: var(--hx-
|
|
2736
|
-
|
|
2737
|
-
|
|
2841
|
+
.swatches {
|
|
2842
|
+
display: flex;
|
|
2843
|
+
flex-wrap: wrap;
|
|
2844
|
+
gap: var(--hx-space-1, 0.25rem);
|
|
2845
|
+
}
|
|
2846
|
+
.swatch-btn {
|
|
2847
|
+
width: 20px;
|
|
2848
|
+
height: 20px;
|
|
2849
|
+
border-radius: var(--hx-border-radius-sm, 0.25rem);
|
|
2850
|
+
border: var(--hx-border-width-thin, 1px) solid
|
|
2851
|
+
var(--hx-color-picker-swatch-border, var(--hx-overlay-black-10, rgba(0, 0, 0, 0.1)));
|
|
2738
2852
|
cursor: pointer;
|
|
2739
|
-
|
|
2740
|
-
background-color var(--hx-transition-fast),
|
|
2741
|
-
color var(--hx-transition-fast),
|
|
2742
|
-
border-color var(--hx-transition-fast),
|
|
2743
|
-
box-shadow var(--hx-transition-fast);
|
|
2744
|
-
text-decoration: none;
|
|
2745
|
-
user-select: none;
|
|
2746
|
-
-webkit-user-select: none;
|
|
2853
|
+
padding: 0;
|
|
2747
2854
|
flex-shrink: 0;
|
|
2748
|
-
|
|
2749
|
-
font-weight: var(--hx-font-weight-medium);
|
|
2750
|
-
white-space: nowrap;
|
|
2855
|
+
transition: transform var(--hx-transition-fast, 150ms ease);
|
|
2751
2856
|
}
|
|
2752
|
-
|
|
2753
|
-
|
|
2754
|
-
|
|
2755
|
-
|
|
2756
|
-
|
|
2857
|
+
.swatch-btn:hover {
|
|
2858
|
+
transform: scale(1.15);
|
|
2859
|
+
border-color: var(
|
|
2860
|
+
--hx-color-picker-swatch-border-hover,
|
|
2861
|
+
var(--hx-overlay-black-30, rgba(0, 0, 0, 0.3))
|
|
2862
|
+
);
|
|
2757
2863
|
}
|
|
2758
|
-
|
|
2759
|
-
|
|
2760
|
-
|
|
2864
|
+
.input-area {
|
|
2865
|
+
display: flex;
|
|
2866
|
+
align-items: center;
|
|
2867
|
+
gap: var(--hx-space-2, 0.5rem);
|
|
2761
2868
|
}
|
|
2762
|
-
|
|
2763
|
-
|
|
2764
|
-
|
|
2869
|
+
.format-btn {
|
|
2870
|
+
flex-shrink: 0;
|
|
2871
|
+
padding: var(--hx-space-1, 0.25rem) var(--hx-space-2, 0.5rem);
|
|
2872
|
+
background: var(--hx-color-neutral-100, #f1f5f9);
|
|
2873
|
+
border: var(--hx-border-width-thin, 1px) solid var(--hx-color-neutral-300, #cbd5e1);
|
|
2874
|
+
border-radius: var(--hx-border-radius-sm, 0.25rem);
|
|
2875
|
+
cursor: pointer;
|
|
2876
|
+
font-size: var(--hx-font-size-xs, 0.75rem);
|
|
2877
|
+
color: var(--hx-color-neutral-600, #475569);
|
|
2878
|
+
text-transform: uppercase;
|
|
2879
|
+
font-weight: var(--hx-font-weight-semibold, 600);
|
|
2880
|
+
letter-spacing: 0.05em;
|
|
2765
2881
|
}
|
|
2766
|
-
|
|
2767
|
-
|
|
2768
|
-
|
|
2769
|
-
|
|
2770
|
-
|
|
2771
|
-
|
|
2772
|
-
|
|
2773
|
-
font-size: var(--hx-font-size-sm);
|
|
2882
|
+
.color-input {
|
|
2883
|
+
flex: 1;
|
|
2884
|
+
min-width: 0;
|
|
2885
|
+
padding: var(--hx-space-1, 0.25rem) var(--hx-space-2, 0.5rem);
|
|
2886
|
+
border: var(--hx-border-width-thin, 1px) solid var(--hx-color-neutral-300, #cbd5e1);
|
|
2887
|
+
border-radius: var(--hx-border-radius-sm, 0.25rem);
|
|
2888
|
+
font-family: var(--hx-font-family-mono, monospace);
|
|
2889
|
+
font-size: var(--hx-font-size-sm, 0.875rem);
|
|
2890
|
+
color: var(--hx-color-neutral-900, #0f172a);
|
|
2891
|
+
background: var(--hx-color-neutral-0, #ffffff);
|
|
2892
|
+
outline: none;
|
|
2774
2893
|
}
|
|
2775
|
-
|
|
2776
|
-
|
|
2777
|
-
|
|
2778
|
-
|
|
2779
|
-
height: var(--hx-size-10);
|
|
2780
|
-
font-size: var(--hx-font-size-md);
|
|
2894
|
+
.color-input:focus-visible {
|
|
2895
|
+
border-color: var(--hx-focus-ring-color, var(--hx-color-primary-500));
|
|
2896
|
+
box-shadow: 0 0 0 2px
|
|
2897
|
+
color-mix(in srgb, var(--hx-focus-ring-color, var(--hx-color-primary-500)) 20%, transparent);
|
|
2781
2898
|
}
|
|
2782
|
-
|
|
2783
|
-
|
|
2784
|
-
|
|
2899
|
+
.input-preview {
|
|
2900
|
+
width: 24px;
|
|
2901
|
+
height: 24px;
|
|
2902
|
+
border-radius: var(--hx-border-radius-sm, 0.25rem);
|
|
2903
|
+
border: var(--hx-border-width-thin, 1px) solid
|
|
2904
|
+
var(--hx-color-picker-swatch-border, var(--hx-overlay-black-10, rgba(0, 0, 0, 0.1)));
|
|
2905
|
+
background: var(--_preview-color, #000);
|
|
2906
|
+
flex-shrink: 0;
|
|
2907
|
+
}
|
|
2908
|
+
@media (prefers-reduced-motion: reduce) {
|
|
2909
|
+
.trigger,
|
|
2910
|
+
.swatch-btn {
|
|
2911
|
+
transition: none;
|
|
2912
|
+
}
|
|
2913
|
+
}
|
|
2914
|
+
@media (forced-colors: active) {
|
|
2915
|
+
.trigger {
|
|
2916
|
+
forced-color-adjust: none;
|
|
2917
|
+
background-color: Field;
|
|
2918
|
+
color: FieldText;
|
|
2919
|
+
border: 2px solid ButtonText;
|
|
2920
|
+
}
|
|
2921
|
+
.trigger:hover:not([disabled]) {
|
|
2922
|
+
border-color: Highlight;
|
|
2923
|
+
}
|
|
2924
|
+
:is(.trigger, .gradient-grid, .slider-track, .swatch-btn, .format-btn):focus-visible {
|
|
2925
|
+
outline-color: Highlight;
|
|
2926
|
+
}
|
|
2927
|
+
.panel {
|
|
2928
|
+
forced-color-adjust: none;
|
|
2929
|
+
background-color: Canvas;
|
|
2930
|
+
border: 2px solid CanvasText;
|
|
2931
|
+
box-shadow: none;
|
|
2932
|
+
}
|
|
2933
|
+
.gradient-thumb,
|
|
2934
|
+
.slider-thumb {
|
|
2935
|
+
box-shadow: 0 0 0 2px CanvasText;
|
|
2936
|
+
}
|
|
2937
|
+
.swatch-btn {
|
|
2938
|
+
border: 2px solid ButtonText;
|
|
2939
|
+
}
|
|
2940
|
+
.swatch-btn:hover {
|
|
2941
|
+
border-color: Highlight;
|
|
2942
|
+
}
|
|
2943
|
+
.color-input {
|
|
2944
|
+
forced-color-adjust: none;
|
|
2945
|
+
background-color: Field;
|
|
2946
|
+
color: FieldText;
|
|
2947
|
+
border: 2px solid ButtonText;
|
|
2948
|
+
}
|
|
2949
|
+
.color-input:focus-visible {
|
|
2950
|
+
border-color: Highlight;
|
|
2951
|
+
box-shadow: none;
|
|
2952
|
+
}
|
|
2953
|
+
.format-btn {
|
|
2954
|
+
forced-color-adjust: none;
|
|
2955
|
+
background-color: ButtonFace;
|
|
2956
|
+
color: ButtonText;
|
|
2957
|
+
border: 2px solid ButtonText;
|
|
2958
|
+
}
|
|
2959
|
+
.trigger-label {
|
|
2960
|
+
color: FieldText;
|
|
2961
|
+
}
|
|
2962
|
+
:host([disabled]) {
|
|
2963
|
+
opacity: 1;
|
|
2964
|
+
}
|
|
2965
|
+
:host([disabled]) .trigger {
|
|
2966
|
+
border-color: GrayText;
|
|
2967
|
+
color: GrayText;
|
|
2968
|
+
}
|
|
2969
|
+
}
|
|
2970
|
+
/* ── hx-combobox ── */
|
|
2971
|
+
:host {
|
|
2972
|
+
display: block;
|
|
2973
|
+
}
|
|
2974
|
+
:host([disabled]) {
|
|
2975
|
+
opacity: var(--hx-opacity-disabled, 0.5);
|
|
2976
|
+
pointer-events: none;
|
|
2977
|
+
}
|
|
2978
|
+
* {
|
|
2979
|
+
box-sizing: border-box;
|
|
2980
|
+
}
|
|
2981
|
+
.field {
|
|
2982
|
+
display: flex;
|
|
2983
|
+
flex-direction: column;
|
|
2984
|
+
gap: var(--hx-space-1, 0.25rem);
|
|
2985
|
+
font-family: var(--hx-combobox-font-family, var(--hx-font-family-sans, sans-serif));
|
|
2986
|
+
position: relative;
|
|
2987
|
+
}
|
|
2988
|
+
.field__label {
|
|
2989
|
+
display: flex;
|
|
2990
|
+
align-items: baseline;
|
|
2991
|
+
gap: var(--hx-space-1, 0.25rem);
|
|
2992
|
+
font-size: var(--hx-font-size-sm, 0.875rem);
|
|
2993
|
+
font-weight: var(--hx-font-weight-medium, 500);
|
|
2994
|
+
color: var(--hx-combobox-label-color, var(--hx-color-neutral-700, #334155));
|
|
2995
|
+
line-height: var(--hx-line-height-normal, 1.5);
|
|
2996
|
+
}
|
|
2997
|
+
.field__required-marker {
|
|
2998
|
+
color: var(--hx-combobox-error-color, var(--hx-color-error-text, #b91c1c));
|
|
2999
|
+
font-weight: var(--hx-font-weight-bold, 700);
|
|
3000
|
+
}
|
|
3001
|
+
.field__input-wrapper {
|
|
3002
|
+
position: relative;
|
|
3003
|
+
display: flex;
|
|
3004
|
+
align-items: center;
|
|
3005
|
+
border: var(--hx-border-width-thin, 1px) solid
|
|
3006
|
+
var(--hx-combobox-border-color, var(--hx-color-neutral-300, #cbd5e1));
|
|
3007
|
+
border-radius: var(--hx-combobox-border-radius, var(--hx-border-radius-md, 0.375rem));
|
|
3008
|
+
background-color: var(--hx-combobox-bg, var(--hx-color-neutral-0, #ffffff));
|
|
3009
|
+
transition:
|
|
3010
|
+
border-color var(--hx-transition-fast, 150ms ease),
|
|
3011
|
+
box-shadow var(--hx-transition-fast, 150ms ease);
|
|
3012
|
+
}
|
|
3013
|
+
.field__input-wrapper:focus-within {
|
|
3014
|
+
border-color: var(
|
|
3015
|
+
--hx-combobox-focus-ring-color,
|
|
3016
|
+
var(--hx-focus-ring-color, var(--hx-color-primary-400, #60a5fa))
|
|
3017
|
+
);
|
|
3018
|
+
box-shadow: 0 0 0 var(--hx-focus-ring-width, 2px)
|
|
3019
|
+
color-mix(
|
|
3020
|
+
in srgb,
|
|
3021
|
+
var(
|
|
3022
|
+
--hx-combobox-focus-ring-color,
|
|
3023
|
+
var(--hx-focus-ring-color, var(--hx-color-primary-400, #60a5fa))
|
|
3024
|
+
)
|
|
3025
|
+
calc(var(--hx-focus-ring-opacity, 0.25) * 100%),
|
|
3026
|
+
transparent
|
|
3027
|
+
);
|
|
3028
|
+
}
|
|
3029
|
+
.field--error .field__input-wrapper {
|
|
3030
|
+
border-color: var(--hx-combobox-error-color, var(--hx-color-error-500, #dc2626));
|
|
3031
|
+
}
|
|
3032
|
+
.field--error .field__input-wrapper:focus-within {
|
|
3033
|
+
border-color: var(--hx-combobox-error-color, var(--hx-color-error-500, #dc2626));
|
|
3034
|
+
box-shadow: 0 0 0 var(--hx-focus-ring-width, 2px)
|
|
3035
|
+
color-mix(
|
|
3036
|
+
in srgb,
|
|
3037
|
+
var(--hx-combobox-error-color, var(--hx-color-error-500, #dc2626))
|
|
3038
|
+
calc(var(--hx-focus-ring-opacity, 0.25) * 100%),
|
|
3039
|
+
transparent
|
|
3040
|
+
);
|
|
3041
|
+
}
|
|
3042
|
+
.field__prefix,
|
|
3043
|
+
.field__suffix {
|
|
3044
|
+
display: flex;
|
|
3045
|
+
align-items: center;
|
|
3046
|
+
padding: 0 var(--hx-space-2, 0.5rem);
|
|
3047
|
+
color: var(--hx-color-neutral-500, #64748b);
|
|
3048
|
+
flex-shrink: 0;
|
|
3049
|
+
}
|
|
3050
|
+
.field__input {
|
|
3051
|
+
flex: 1;
|
|
3052
|
+
min-width: 0;
|
|
3053
|
+
min-height: var(--hx-input-height-md, var(--hx-size-10, 2.5rem));
|
|
3054
|
+
border: none;
|
|
3055
|
+
background: transparent;
|
|
3056
|
+
outline: none;
|
|
3057
|
+
font-family: inherit;
|
|
3058
|
+
font-size: var(--hx-font-size-md, 1rem);
|
|
3059
|
+
line-height: var(--hx-line-height-normal, 1.5);
|
|
3060
|
+
color: var(--hx-combobox-color, var(--hx-color-neutral-800, #1e293b));
|
|
3061
|
+
padding: var(--hx-space-2, 0.5rem) var(--hx-space-3, 0.75rem);
|
|
3062
|
+
}
|
|
3063
|
+
.field__input::placeholder {
|
|
3064
|
+
color: var(--hx-color-neutral-400, #94a3b8);
|
|
3065
|
+
}
|
|
3066
|
+
.field__input--sm {
|
|
3067
|
+
min-height: var(--hx-input-height-sm, var(--hx-size-8, 2rem));
|
|
3068
|
+
font-size: var(--hx-font-size-sm, 0.875rem);
|
|
3069
|
+
padding: var(--hx-space-1, 0.25rem) var(--hx-space-3, 0.75rem);
|
|
3070
|
+
}
|
|
3071
|
+
.field__input--lg {
|
|
3072
|
+
min-height: var(--hx-input-height-lg, var(--hx-size-12, 3rem));
|
|
3073
|
+
font-size: var(--hx-font-size-lg, 1.125rem);
|
|
3074
|
+
padding: var(--hx-space-3, 0.75rem) var(--hx-space-4, 1rem);
|
|
3075
|
+
}
|
|
3076
|
+
.field__clear-button,
|
|
3077
|
+
.field__loading-indicator {
|
|
3078
|
+
display: flex;
|
|
3079
|
+
align-items: center;
|
|
3080
|
+
justify-content: center;
|
|
3081
|
+
margin-inline-end: var(--hx-space-2, 0.5rem);
|
|
3082
|
+
flex-shrink: 0;
|
|
3083
|
+
color: var(--hx-color-neutral-400, #94a3b8);
|
|
3084
|
+
}
|
|
3085
|
+
.field__clear-button {
|
|
3086
|
+
width: 1.25rem;
|
|
3087
|
+
height: 1.25rem;
|
|
3088
|
+
border: none;
|
|
3089
|
+
background: transparent;
|
|
3090
|
+
cursor: pointer;
|
|
3091
|
+
padding: 0;
|
|
3092
|
+
border-radius: var(--hx-border-radius-full, 9999px);
|
|
3093
|
+
transition: color var(--hx-transition-fast, 150ms ease);
|
|
3094
|
+
}
|
|
3095
|
+
.field__clear-button:hover {
|
|
3096
|
+
color: var(--hx-color-neutral-700, #334155);
|
|
3097
|
+
}
|
|
3098
|
+
.field__clear-button:focus-visible {
|
|
3099
|
+
outline: var(--hx-focus-ring-width, 2px) solid
|
|
3100
|
+
var(--hx-combobox-focus-ring-color, var(--hx-focus-ring-color, var(--hx-color-primary-500)));
|
|
3101
|
+
outline-offset: var(--hx-focus-ring-offset, 2px);
|
|
3102
|
+
}
|
|
3103
|
+
.field__loading-indicator {
|
|
3104
|
+
width: 1rem;
|
|
3105
|
+
height: 1rem;
|
|
3106
|
+
}
|
|
3107
|
+
.field__loading-spinner {
|
|
3108
|
+
width: 1rem;
|
|
3109
|
+
height: 1rem;
|
|
3110
|
+
border: 2px solid currentColor;
|
|
3111
|
+
border-top-color: transparent;
|
|
3112
|
+
border-radius: 50%;
|
|
3113
|
+
animation: hx-spin 0.7s linear infinite;
|
|
3114
|
+
}
|
|
3115
|
+
@keyframes hx-spin {
|
|
3116
|
+
to {
|
|
3117
|
+
transform: rotate(360deg);
|
|
3118
|
+
}
|
|
3119
|
+
}
|
|
3120
|
+
@media (prefers-reduced-motion: reduce) {
|
|
3121
|
+
.field__loading-spinner {
|
|
3122
|
+
animation: none;
|
|
3123
|
+
}
|
|
3124
|
+
}
|
|
3125
|
+
.field__listbox {
|
|
3126
|
+
position: absolute;
|
|
3127
|
+
top: calc(100% + var(--hx-space-1, 0.25rem));
|
|
3128
|
+
left: 0;
|
|
3129
|
+
right: 0;
|
|
3130
|
+
z-index: var(--hx-z-index-dropdown, 1000);
|
|
3131
|
+
background-color: var(--hx-combobox-listbox-bg, var(--hx-color-neutral-0, #ffffff));
|
|
3132
|
+
border: var(--hx-border-width-thin, 1px) solid
|
|
3133
|
+
var(--hx-combobox-border-color, var(--hx-color-neutral-300, #cbd5e1));
|
|
3134
|
+
border-radius: var(--hx-combobox-border-radius, var(--hx-border-radius-md, 0.375rem));
|
|
3135
|
+
box-shadow: var(
|
|
3136
|
+
--hx-combobox-listbox-shadow,
|
|
3137
|
+
0 4px 16px color-mix(in srgb, var(--hx-color-neutral-900, #0f172a) 12%, transparent)
|
|
3138
|
+
);
|
|
3139
|
+
max-height: var(--hx-combobox-listbox-max-height, 16rem);
|
|
3140
|
+
overflow: hidden;
|
|
3141
|
+
display: flex;
|
|
3142
|
+
flex-direction: column;
|
|
3143
|
+
}
|
|
3144
|
+
.field__listbox[hidden] {
|
|
3145
|
+
display: none;
|
|
3146
|
+
}
|
|
3147
|
+
.field__options {
|
|
3148
|
+
overflow-y: auto;
|
|
3149
|
+
flex: 1;
|
|
3150
|
+
padding: var(--hx-space-1, 0.25rem) 0;
|
|
3151
|
+
}
|
|
3152
|
+
.field__option {
|
|
3153
|
+
display: flex;
|
|
3154
|
+
align-items: center;
|
|
3155
|
+
gap: var(--hx-space-2, 0.5rem);
|
|
3156
|
+
padding: var(--hx-space-2, 0.5rem) var(--hx-space-3, 0.75rem);
|
|
3157
|
+
font-size: var(--hx-font-size-md, 1rem);
|
|
3158
|
+
color: var(--hx-combobox-color, var(--hx-color-neutral-800, #1e293b));
|
|
3159
|
+
cursor: pointer;
|
|
3160
|
+
user-select: none;
|
|
3161
|
+
-webkit-user-select: none;
|
|
3162
|
+
transition: background-color var(--hx-transition-fast, 150ms ease);
|
|
3163
|
+
}
|
|
3164
|
+
.field__option:hover {
|
|
3165
|
+
background-color: var(--hx-combobox-option-hover-bg, var(--hx-color-primary-50, #eff6ff));
|
|
3166
|
+
}
|
|
3167
|
+
.field__option--selected {
|
|
3168
|
+
background-color: var(--hx-combobox-option-selected-bg, var(--hx-color-primary-100, #dbeafe));
|
|
3169
|
+
font-weight: var(--hx-font-weight-medium, 500);
|
|
3170
|
+
}
|
|
3171
|
+
.field__option--focused {
|
|
3172
|
+
background-color: var(--hx-combobox-option-hover-bg, var(--hx-color-primary-50, #eff6ff));
|
|
3173
|
+
outline: var(--hx-focus-ring-width, 2px) solid
|
|
3174
|
+
var(--hx-combobox-focus-ring-color, var(--hx-focus-ring-color, var(--hx-color-primary-500)));
|
|
3175
|
+
outline-offset: var(--hx-combobox-option-focus-ring-offset, -2px);
|
|
3176
|
+
}
|
|
3177
|
+
.field__option--focused.field__option--selected {
|
|
3178
|
+
background-color: var(--hx-combobox-option-selected-bg, var(--hx-color-primary-100, #dbeafe));
|
|
3179
|
+
}
|
|
3180
|
+
.field__option--disabled {
|
|
3181
|
+
opacity: var(--hx-opacity-disabled, 0.5);
|
|
3182
|
+
cursor: not-allowed;
|
|
3183
|
+
pointer-events: none;
|
|
3184
|
+
}
|
|
3185
|
+
.field__option-label {
|
|
3186
|
+
flex: 1;
|
|
3187
|
+
white-space: nowrap;
|
|
3188
|
+
overflow: hidden;
|
|
3189
|
+
text-overflow: ellipsis;
|
|
3190
|
+
}
|
|
3191
|
+
.field__no-options {
|
|
3192
|
+
padding: var(--hx-space-3, 0.75rem);
|
|
3193
|
+
text-align: center;
|
|
3194
|
+
color: var(--hx-color-neutral-400, #94a3b8);
|
|
3195
|
+
font-size: var(--hx-font-size-sm, 0.875rem);
|
|
3196
|
+
}
|
|
3197
|
+
.field__sr-only {
|
|
3198
|
+
position: absolute;
|
|
3199
|
+
width: 1px;
|
|
3200
|
+
height: 1px;
|
|
3201
|
+
padding: 0;
|
|
3202
|
+
margin: -1px;
|
|
3203
|
+
overflow: hidden;
|
|
3204
|
+
clip: rect(0, 0, 0, 0);
|
|
3205
|
+
white-space: nowrap;
|
|
3206
|
+
border: 0;
|
|
3207
|
+
}
|
|
3208
|
+
.field__help-text,
|
|
3209
|
+
.field__error {
|
|
3210
|
+
font-size: var(--hx-font-size-xs, 0.75rem);
|
|
3211
|
+
line-height: var(--hx-line-height-normal, 1.5);
|
|
3212
|
+
}
|
|
3213
|
+
.field__help-text {
|
|
3214
|
+
color: var(--hx-color-neutral-500, #64748b);
|
|
3215
|
+
}
|
|
3216
|
+
.field__error {
|
|
3217
|
+
color: var(--hx-combobox-error-color, var(--hx-color-error-text, #b91c1c));
|
|
3218
|
+
}
|
|
3219
|
+
@media (prefers-reduced-motion: reduce) {
|
|
3220
|
+
.field__input-wrapper,
|
|
3221
|
+
.field__option,
|
|
3222
|
+
.field__clear-button,
|
|
3223
|
+
.field__chip-remove {
|
|
3224
|
+
transition: none;
|
|
3225
|
+
}
|
|
3226
|
+
}
|
|
3227
|
+
@media (forced-colors: active) {
|
|
3228
|
+
.field__input-wrapper {
|
|
3229
|
+
forced-color-adjust: none;
|
|
3230
|
+
background-color: Field;
|
|
3231
|
+
color: FieldText;
|
|
3232
|
+
border: 2px solid ButtonText;
|
|
3233
|
+
}
|
|
3234
|
+
.field__input {
|
|
3235
|
+
color: FieldText;
|
|
3236
|
+
}
|
|
3237
|
+
.field__input::placeholder {
|
|
3238
|
+
color: GrayText;
|
|
3239
|
+
}
|
|
3240
|
+
.field__input-wrapper:focus-within {
|
|
3241
|
+
border-color: Highlight;
|
|
3242
|
+
box-shadow: none;
|
|
3243
|
+
}
|
|
3244
|
+
.field__listbox {
|
|
3245
|
+
forced-color-adjust: none;
|
|
3246
|
+
background-color: Canvas;
|
|
3247
|
+
border: 2px solid CanvasText;
|
|
3248
|
+
box-shadow: none;
|
|
3249
|
+
}
|
|
3250
|
+
.field__option {
|
|
3251
|
+
color: CanvasText;
|
|
3252
|
+
}
|
|
3253
|
+
.field__option:hover {
|
|
3254
|
+
background-color: Highlight;
|
|
3255
|
+
color: HighlightText;
|
|
3256
|
+
}
|
|
3257
|
+
.field__option--selected {
|
|
3258
|
+
background-color: Highlight;
|
|
3259
|
+
color: HighlightText;
|
|
3260
|
+
}
|
|
3261
|
+
.field__option--focused {
|
|
3262
|
+
outline-color: Highlight;
|
|
3263
|
+
background-color: Highlight;
|
|
3264
|
+
color: HighlightText;
|
|
3265
|
+
}
|
|
3266
|
+
.field__option--disabled {
|
|
3267
|
+
color: GrayText;
|
|
3268
|
+
opacity: 1;
|
|
3269
|
+
}
|
|
3270
|
+
.field__chip {
|
|
3271
|
+
forced-color-adjust: none;
|
|
3272
|
+
background-color: Highlight;
|
|
3273
|
+
color: HighlightText;
|
|
3274
|
+
border: 1px solid HighlightText;
|
|
3275
|
+
}
|
|
3276
|
+
.field__chip-remove:focus-visible {
|
|
3277
|
+
outline-color: Highlight;
|
|
3278
|
+
}
|
|
3279
|
+
.field__clear-button:focus-visible {
|
|
3280
|
+
outline-color: Highlight;
|
|
3281
|
+
}
|
|
3282
|
+
.field--error .field__input-wrapper {
|
|
3283
|
+
border-color: LinkText;
|
|
3284
|
+
}
|
|
3285
|
+
:host([disabled]) {
|
|
3286
|
+
opacity: 1;
|
|
3287
|
+
}
|
|
3288
|
+
:host([disabled]) .field__input-wrapper {
|
|
3289
|
+
border-color: GrayText;
|
|
3290
|
+
color: GrayText;
|
|
3291
|
+
}
|
|
3292
|
+
:host([disabled]) .field__input {
|
|
3293
|
+
color: GrayText;
|
|
3294
|
+
}
|
|
3295
|
+
.field__label {
|
|
3296
|
+
color: CanvasText;
|
|
3297
|
+
}
|
|
3298
|
+
.field__help-text {
|
|
3299
|
+
color: GrayText;
|
|
3300
|
+
}
|
|
3301
|
+
.field__error {
|
|
3302
|
+
color: LinkText;
|
|
3303
|
+
}
|
|
3304
|
+
}
|
|
3305
|
+
:host([multiple]) .field__input-wrapper {
|
|
3306
|
+
flex-wrap: wrap;
|
|
3307
|
+
padding: var(--hx-space-1, 0.25rem);
|
|
3308
|
+
gap: var(--hx-space-1, 0.25rem);
|
|
3309
|
+
align-items: center;
|
|
3310
|
+
}
|
|
3311
|
+
:host([multiple]) .field__input {
|
|
3312
|
+
min-width: 8rem;
|
|
3313
|
+
padding: var(--hx-space-1, 0.25rem) var(--hx-space-2, 0.5rem);
|
|
3314
|
+
flex-shrink: 1;
|
|
3315
|
+
}
|
|
3316
|
+
.field__chip {
|
|
3317
|
+
display: inline-flex;
|
|
3318
|
+
align-items: center;
|
|
3319
|
+
gap: var(--hx-space-1, 0.25rem);
|
|
3320
|
+
padding: 0 var(--hx-space-1, 0.25rem) 0 var(--hx-space-2, 0.5rem);
|
|
3321
|
+
height: 1.5rem;
|
|
3322
|
+
background-color: var(--hx-combobox-chip-bg, var(--hx-color-primary-100, #dbeafe));
|
|
3323
|
+
color: var(--hx-combobox-chip-color, var(--hx-color-primary-800, #1e3a8a));
|
|
3324
|
+
border-radius: var(--hx-border-radius-full, 9999px);
|
|
3325
|
+
font-size: var(--hx-font-size-sm, 0.875rem);
|
|
3326
|
+
white-space: nowrap;
|
|
3327
|
+
max-width: 12rem;
|
|
3328
|
+
flex-shrink: 0;
|
|
3329
|
+
}
|
|
3330
|
+
.field__chip-label {
|
|
3331
|
+
overflow: hidden;
|
|
3332
|
+
text-overflow: ellipsis;
|
|
3333
|
+
max-width: 8rem;
|
|
3334
|
+
}
|
|
3335
|
+
.field__chip-remove {
|
|
3336
|
+
display: inline-flex;
|
|
3337
|
+
align-items: center;
|
|
3338
|
+
justify-content: center;
|
|
3339
|
+
flex-shrink: 0;
|
|
3340
|
+
width: 1rem;
|
|
3341
|
+
height: 1rem;
|
|
3342
|
+
border: none;
|
|
3343
|
+
background: none;
|
|
3344
|
+
cursor: pointer;
|
|
3345
|
+
padding: 0;
|
|
3346
|
+
color: inherit;
|
|
3347
|
+
opacity: 0.7;
|
|
3348
|
+
border-radius: 50%;
|
|
3349
|
+
line-height: 1;
|
|
3350
|
+
transition: opacity var(--hx-transition-fast, 150ms ease);
|
|
3351
|
+
}
|
|
3352
|
+
.field__chip-remove:hover {
|
|
3353
|
+
opacity: 1;
|
|
3354
|
+
background-color: var(--hx-combobox-chip-remove-hover-bg, var(--hx-color-primary-200, #bfdbfe));
|
|
3355
|
+
}
|
|
3356
|
+
.field__chip-remove:focus-visible {
|
|
3357
|
+
outline: var(--hx-focus-ring-width, 2px) solid
|
|
3358
|
+
var(--hx-combobox-focus-ring-color, var(--hx-focus-ring-color, var(--hx-color-primary-500)));
|
|
3359
|
+
outline-offset: var(--hx-focus-ring-offset, 2px);
|
|
3360
|
+
opacity: 1;
|
|
3361
|
+
}
|
|
3362
|
+
/* ── hx-container ── */
|
|
3363
|
+
:host {
|
|
3364
|
+
display: block;
|
|
3365
|
+
contain: layout style;
|
|
3366
|
+
width: 100%;
|
|
3367
|
+
background-color: var(--hx-container-bg, transparent);
|
|
3368
|
+
box-sizing: border-box;
|
|
3369
|
+
}
|
|
3370
|
+
|
|
3371
|
+
/* ─── Vertical Padding Variants ─── */
|
|
3372
|
+
|
|
3373
|
+
:host([padding='sm']) {
|
|
3374
|
+
padding-top: var(--hx-space-6, 1.5rem);
|
|
3375
|
+
padding-bottom: var(--hx-space-6, 1.5rem);
|
|
3376
|
+
}
|
|
3377
|
+
|
|
3378
|
+
:host([padding='md']) {
|
|
3379
|
+
padding-top: var(--hx-space-12, 3rem);
|
|
3380
|
+
padding-bottom: var(--hx-space-12, 3rem);
|
|
3381
|
+
}
|
|
3382
|
+
|
|
3383
|
+
:host([padding='lg']) {
|
|
3384
|
+
padding-top: var(--hx-space-16, 4rem);
|
|
3385
|
+
padding-bottom: var(--hx-space-16, 4rem);
|
|
3386
|
+
}
|
|
3387
|
+
|
|
3388
|
+
:host([padding='xl']) {
|
|
3389
|
+
padding-top: var(--hx-space-24, 6rem);
|
|
3390
|
+
padding-bottom: var(--hx-space-24, 6rem);
|
|
3391
|
+
}
|
|
3392
|
+
|
|
3393
|
+
:host([padding='2xl']) {
|
|
3394
|
+
padding-top: var(--hx-space-32, 8rem);
|
|
3395
|
+
padding-bottom: var(--hx-space-32, 8rem);
|
|
3396
|
+
}
|
|
3397
|
+
|
|
3398
|
+
/* ─── Inner Container ─── */
|
|
3399
|
+
|
|
3400
|
+
.container__inner {
|
|
3401
|
+
margin-inline-start: auto;
|
|
3402
|
+
margin-inline-end: auto;
|
|
3403
|
+
padding-inline-start: var(--hx-container-gutter, var(--hx-space-6, 1.5rem));
|
|
3404
|
+
padding-inline-end: var(--hx-container-gutter, var(--hx-space-6, 1.5rem));
|
|
3405
|
+
box-sizing: border-box;
|
|
3406
|
+
width: 100%;
|
|
3407
|
+
}
|
|
3408
|
+
|
|
3409
|
+
/* ─── Width Variants ─── */
|
|
3410
|
+
|
|
3411
|
+
.container__inner--full {
|
|
3412
|
+
max-width: none;
|
|
3413
|
+
}
|
|
3414
|
+
|
|
3415
|
+
.container__inner--content {
|
|
3416
|
+
max-width: var(--hx-container-max-width, var(--hx-container-content, 1152px));
|
|
3417
|
+
}
|
|
3418
|
+
|
|
3419
|
+
.container__inner--narrow {
|
|
3420
|
+
max-width: var(--hx-container-max-width, var(--hx-container-narrow, 768px));
|
|
3421
|
+
}
|
|
3422
|
+
|
|
3423
|
+
.container__inner--sm {
|
|
3424
|
+
max-width: var(--hx-container-max-width, var(--hx-container-sm, 640px));
|
|
3425
|
+
}
|
|
3426
|
+
|
|
3427
|
+
.container__inner--md {
|
|
3428
|
+
max-width: var(--hx-container-max-width, var(--hx-container-md, 768px));
|
|
3429
|
+
}
|
|
3430
|
+
|
|
3431
|
+
.container__inner--lg {
|
|
3432
|
+
max-width: var(--hx-container-max-width, var(--hx-container-lg, 1024px));
|
|
3433
|
+
}
|
|
3434
|
+
|
|
3435
|
+
.container__inner--xl {
|
|
3436
|
+
max-width: var(--hx-container-max-width, var(--hx-container-xl, 1280px));
|
|
3437
|
+
}
|
|
3438
|
+
|
|
3439
|
+
/* ─── High Contrast Mode (forced-colors) ─── */
|
|
3440
|
+
|
|
3441
|
+
/* hx-container is a layout wrapper with no state communicated via color.
|
|
3442
|
+
forced-color-adjust: auto (default) is sufficient. */
|
|
3443
|
+
@media (forced-colors: active) {
|
|
3444
|
+
:host {
|
|
3445
|
+
forced-color-adjust: auto;
|
|
3446
|
+
}
|
|
3447
|
+
}
|
|
3448
|
+
/* ── hx-copy-button ── */
|
|
3449
|
+
:host {
|
|
3450
|
+
display: inline-block;
|
|
3451
|
+
}
|
|
3452
|
+
|
|
3453
|
+
:host([disabled]) {
|
|
3454
|
+
pointer-events: none;
|
|
3455
|
+
}
|
|
3456
|
+
|
|
3457
|
+
.button {
|
|
3458
|
+
position: relative;
|
|
3459
|
+
display: inline-flex;
|
|
3460
|
+
align-items: center;
|
|
3461
|
+
justify-content: center;
|
|
3462
|
+
gap: var(--hx-space-2);
|
|
3463
|
+
border: var(--hx-border-width-thin) solid var(--hx-copy-button-border-color, transparent);
|
|
3464
|
+
border-radius: var(--hx-copy-button-border-radius, var(--hx-border-radius-md));
|
|
3465
|
+
background-color: var(--hx-copy-button-bg, transparent);
|
|
3466
|
+
color: var(--hx-copy-button-color, var(--hx-color-primary-500));
|
|
3467
|
+
cursor: pointer;
|
|
3468
|
+
transition:
|
|
3469
|
+
background-color var(--hx-transition-fast),
|
|
3470
|
+
color var(--hx-transition-fast),
|
|
3471
|
+
border-color var(--hx-transition-fast),
|
|
3472
|
+
box-shadow var(--hx-transition-fast);
|
|
3473
|
+
text-decoration: none;
|
|
3474
|
+
user-select: none;
|
|
3475
|
+
-webkit-user-select: none;
|
|
3476
|
+
flex-shrink: 0;
|
|
3477
|
+
font-family: var(--hx-copy-button-font-family, var(--hx-font-family-sans));
|
|
3478
|
+
font-weight: var(--hx-font-weight-medium);
|
|
3479
|
+
white-space: nowrap;
|
|
3480
|
+
}
|
|
3481
|
+
|
|
3482
|
+
.button:focus-visible {
|
|
3483
|
+
outline: var(--hx-focus-ring-width) solid
|
|
3484
|
+
var(--hx-copy-button-focus-ring-color, var(--hx-focus-ring-color));
|
|
3485
|
+
outline-offset: var(--hx-focus-ring-offset);
|
|
3486
|
+
}
|
|
3487
|
+
|
|
3488
|
+
.button:hover {
|
|
3489
|
+
filter: brightness(var(--hx-filter-brightness-hover, 0.9));
|
|
3490
|
+
}
|
|
3491
|
+
|
|
3492
|
+
.button:active {
|
|
3493
|
+
filter: brightness(var(--hx-filter-brightness-active, 0.8));
|
|
3494
|
+
}
|
|
3495
|
+
|
|
3496
|
+
/* ─── Size Variants ─── */
|
|
3497
|
+
|
|
3498
|
+
.button--sm {
|
|
3499
|
+
padding: var(--hx-space-1);
|
|
3500
|
+
min-width: var(--hx-touch-target-min, 2.75rem);
|
|
3501
|
+
min-height: var(--hx-touch-target-min, 2.75rem);
|
|
3502
|
+
font-size: var(--hx-font-size-sm);
|
|
3503
|
+
}
|
|
3504
|
+
|
|
3505
|
+
.button--md {
|
|
3506
|
+
padding: var(--hx-space-2);
|
|
3507
|
+
min-width: var(--hx-size-10);
|
|
3508
|
+
height: var(--hx-size-10);
|
|
3509
|
+
font-size: var(--hx-font-size-md);
|
|
3510
|
+
}
|
|
3511
|
+
|
|
3512
|
+
.button--lg {
|
|
3513
|
+
padding: var(--hx-space-3);
|
|
2785
3514
|
min-width: var(--hx-size-12);
|
|
2786
3515
|
height: var(--hx-size-12);
|
|
2787
3516
|
font-size: var(--hx-font-size-lg);
|
|
2788
3517
|
}
|
|
2789
3518
|
|
|
2790
|
-
/* ─── Copied / Success State ─── */
|
|
3519
|
+
/* ─── Copied / Success State ─── */
|
|
3520
|
+
|
|
3521
|
+
.button--copied {
|
|
3522
|
+
color: var(--hx-color-success-text, var(--hx-color-primary-500));
|
|
3523
|
+
/* Secondary non-color indicator required per WCAG 1.4.1 (use of color).
|
|
3524
|
+
A border provides visual differentiation for users with color blindness. */
|
|
3525
|
+
border-color: var(--hx-color-success-500, var(--hx-color-primary-500));
|
|
3526
|
+
}
|
|
3527
|
+
|
|
3528
|
+
/* ─── Icon Container ─── */
|
|
3529
|
+
|
|
3530
|
+
.icon {
|
|
3531
|
+
display: inline-flex;
|
|
3532
|
+
align-items: center;
|
|
3533
|
+
justify-content: center;
|
|
3534
|
+
width: 1em;
|
|
3535
|
+
height: 1em;
|
|
3536
|
+
line-height: 1;
|
|
3537
|
+
pointer-events: none;
|
|
3538
|
+
flex-shrink: 0;
|
|
3539
|
+
}
|
|
3540
|
+
|
|
3541
|
+
/* ─── Disabled ─── */
|
|
3542
|
+
|
|
3543
|
+
.button[disabled] {
|
|
3544
|
+
cursor: not-allowed;
|
|
3545
|
+
opacity: var(--hx-opacity-disabled);
|
|
3546
|
+
}
|
|
3547
|
+
|
|
3548
|
+
/* ─── Screen Reader Only ─── */
|
|
3549
|
+
|
|
3550
|
+
.sr-only {
|
|
3551
|
+
position: absolute;
|
|
3552
|
+
width: 1px;
|
|
3553
|
+
height: 1px;
|
|
3554
|
+
padding: 0;
|
|
3555
|
+
margin: -1px;
|
|
3556
|
+
overflow: hidden;
|
|
3557
|
+
clip: rect(0, 0, 0, 0);
|
|
3558
|
+
white-space: nowrap;
|
|
3559
|
+
border-width: 0;
|
|
3560
|
+
}
|
|
3561
|
+
|
|
3562
|
+
/* ─── Reduced Motion ─── */
|
|
3563
|
+
|
|
3564
|
+
@media (prefers-reduced-motion: reduce) {
|
|
3565
|
+
.button {
|
|
3566
|
+
transition: none;
|
|
3567
|
+
}
|
|
3568
|
+
}
|
|
3569
|
+
|
|
3570
|
+
/* ─── High Contrast Mode (forced-colors) ─── */
|
|
3571
|
+
|
|
3572
|
+
@media (forced-colors: active) {
|
|
3573
|
+
.button {
|
|
3574
|
+
forced-color-adjust: none;
|
|
3575
|
+
background-color: ButtonFace;
|
|
3576
|
+
color: ButtonText;
|
|
3577
|
+
border: 2px solid ButtonText;
|
|
3578
|
+
}
|
|
3579
|
+
|
|
3580
|
+
.button:focus-visible {
|
|
3581
|
+
outline: 3px solid Highlight;
|
|
3582
|
+
outline-offset: 2px;
|
|
3583
|
+
}
|
|
3584
|
+
|
|
3585
|
+
.button[disabled] {
|
|
3586
|
+
background-color: ButtonFace;
|
|
3587
|
+
color: GrayText;
|
|
3588
|
+
border-color: GrayText;
|
|
3589
|
+
opacity: 1;
|
|
3590
|
+
}
|
|
3591
|
+
|
|
3592
|
+
.button--copied {
|
|
3593
|
+
border-color: Highlight;
|
|
3594
|
+
color: Highlight;
|
|
3595
|
+
}
|
|
3596
|
+
}
|
|
3597
|
+
/* ── hx-counter ── */
|
|
3598
|
+
:host {
|
|
3599
|
+
display: inline-block;
|
|
3600
|
+
}
|
|
2791
3601
|
|
|
2792
|
-
.
|
|
2793
|
-
|
|
2794
|
-
|
|
2795
|
-
|
|
2796
|
-
|
|
3602
|
+
.counter {
|
|
3603
|
+
display: inline-flex;
|
|
3604
|
+
align-items: baseline;
|
|
3605
|
+
font-family: var(--hx-counter-font-family, var(--hx-font-family-sans, sans-serif));
|
|
3606
|
+
font-weight: var(--hx-counter-font-weight, var(--hx-font-weight-bold, 700));
|
|
3607
|
+
color: var(--hx-counter-color, var(--hx-color-neutral-900, #0f172a));
|
|
3608
|
+
line-height: var(--hx-line-height-tight, 1.25);
|
|
3609
|
+
font-variant-numeric: tabular-nums;
|
|
2797
3610
|
}
|
|
2798
3611
|
|
|
2799
|
-
/* ───
|
|
3612
|
+
/* ─── Size Variants ─── */
|
|
2800
3613
|
|
|
2801
|
-
.
|
|
2802
|
-
|
|
2803
|
-
align-items: center;
|
|
2804
|
-
justify-content: center;
|
|
2805
|
-
width: 1em;
|
|
2806
|
-
height: 1em;
|
|
2807
|
-
line-height: 1;
|
|
2808
|
-
pointer-events: none;
|
|
2809
|
-
flex-shrink: 0;
|
|
3614
|
+
.counter--sm {
|
|
3615
|
+
font-size: var(--hx-counter-font-size-sm, var(--hx-font-size-xl, 1.25rem));
|
|
2810
3616
|
}
|
|
2811
3617
|
|
|
2812
|
-
|
|
3618
|
+
.counter--md {
|
|
3619
|
+
font-size: var(--hx-counter-font-size-md, var(--hx-font-size-3xl, 1.875rem));
|
|
3620
|
+
}
|
|
2813
3621
|
|
|
2814
|
-
.
|
|
2815
|
-
|
|
2816
|
-
opacity: var(--hx-opacity-disabled);
|
|
3622
|
+
.counter--lg {
|
|
3623
|
+
font-size: var(--hx-counter-font-size-lg, var(--hx-font-size-5xl, 3rem));
|
|
2817
3624
|
}
|
|
2818
3625
|
|
|
2819
|
-
/* ─── Screen
|
|
3626
|
+
/* ─── Screen-reader only (visually hidden live region) ─── */
|
|
2820
3627
|
|
|
2821
3628
|
.sr-only {
|
|
2822
3629
|
position: absolute;
|
|
@@ -2827,330 +3634,695 @@
|
|
|
2827
3634
|
overflow: hidden;
|
|
2828
3635
|
clip: rect(0, 0, 0, 0);
|
|
2829
3636
|
white-space: nowrap;
|
|
2830
|
-
border
|
|
3637
|
+
border: 0;
|
|
3638
|
+
}
|
|
3639
|
+
|
|
3640
|
+
/* ─── Reduced Motion ─── */
|
|
3641
|
+
|
|
3642
|
+
@media (prefers-reduced-motion: reduce) {
|
|
3643
|
+
.counter {
|
|
3644
|
+
/* Animation is handled in JS — reduced-motion consumers
|
|
3645
|
+
will see the final value immediately via the component logic */
|
|
3646
|
+
}
|
|
3647
|
+
}
|
|
3648
|
+
|
|
3649
|
+
/* ─── Forced Colors (Windows High Contrast) ─── */
|
|
3650
|
+
|
|
3651
|
+
@media (forced-colors: active) {
|
|
3652
|
+
/* Counter is text-only — forced-color-adjust: auto (default) is sufficient.
|
|
3653
|
+
The browser maps the custom color properties to CanvasText automatically. */
|
|
3654
|
+
.counter {
|
|
3655
|
+
forced-color-adjust: auto;
|
|
3656
|
+
}
|
|
3657
|
+
}
|
|
3658
|
+
/* ── hx-data-table ── */
|
|
3659
|
+
:host {
|
|
3660
|
+
display: block;
|
|
3661
|
+
overflow-x: auto;
|
|
3662
|
+
font-family: var(--hx-data-table-font-family, var(--hx-font-family-sans, sans-serif));
|
|
3663
|
+
font-size: var(--hx-font-size-sm, 0.875rem);
|
|
3664
|
+
}
|
|
3665
|
+
|
|
3666
|
+
/* ─── Scroll Wrapper ─── */
|
|
3667
|
+
|
|
3668
|
+
.table-wrapper {
|
|
3669
|
+
min-width: 0;
|
|
3670
|
+
width: 100%;
|
|
3671
|
+
}
|
|
3672
|
+
|
|
3673
|
+
/* ─── Table ─── */
|
|
3674
|
+
|
|
3675
|
+
table {
|
|
3676
|
+
width: 100%;
|
|
3677
|
+
border-collapse: collapse;
|
|
3678
|
+
border-spacing: 0;
|
|
3679
|
+
min-width: var(--hx-data-table-min-width, 600px);
|
|
3680
|
+
}
|
|
3681
|
+
|
|
3682
|
+
/* ─── Head ─── */
|
|
3683
|
+
|
|
3684
|
+
thead {
|
|
3685
|
+
background-color: var(--hx-data-table-header-bg, var(--hx-color-neutral-50, #f8fafc));
|
|
3686
|
+
}
|
|
3687
|
+
|
|
3688
|
+
:host([sticky-header]) thead th {
|
|
3689
|
+
position: sticky;
|
|
3690
|
+
top: 0;
|
|
3691
|
+
z-index: 1;
|
|
3692
|
+
background-color: var(--hx-data-table-header-bg, var(--hx-color-neutral-50, #f8fafc));
|
|
3693
|
+
}
|
|
3694
|
+
|
|
3695
|
+
/* ─── Cells ─── */
|
|
3696
|
+
|
|
3697
|
+
th,
|
|
3698
|
+
td {
|
|
3699
|
+
padding: var(--hx-space-3, 0.75rem) var(--hx-space-4, 1rem);
|
|
3700
|
+
text-align: start;
|
|
3701
|
+
border-bottom: var(--hx-border-width-thin, 1px) solid
|
|
3702
|
+
var(--hx-data-table-border-color, var(--hx-color-neutral-200, #e2e8f0));
|
|
3703
|
+
vertical-align: middle;
|
|
3704
|
+
}
|
|
3705
|
+
|
|
3706
|
+
th {
|
|
3707
|
+
font-weight: var(--hx-font-weight-semibold, 600);
|
|
3708
|
+
color: var(--hx-data-table-header-color, var(--hx-color-neutral-700, #334155));
|
|
3709
|
+
white-space: nowrap;
|
|
3710
|
+
}
|
|
3711
|
+
|
|
3712
|
+
td {
|
|
3713
|
+
color: var(--hx-data-table-cell-color, var(--hx-color-neutral-900, #0f172a));
|
|
3714
|
+
}
|
|
3715
|
+
|
|
3716
|
+
/* ─── Checkbox Column ─── */
|
|
3717
|
+
|
|
3718
|
+
th.col-checkbox,
|
|
3719
|
+
td.col-checkbox {
|
|
3720
|
+
/* WCAG 2.5.5 (healthcare mandate): minimum 44x44px touch target */
|
|
3721
|
+
width: var(--hx-touch-target-min, 2.75rem);
|
|
3722
|
+
min-width: var(--hx-touch-target-min, 2.75rem);
|
|
3723
|
+
padding-inline-end: var(--hx-space-2, 0.5rem);
|
|
3724
|
+
}
|
|
3725
|
+
|
|
3726
|
+
th.col-checkbox {
|
|
3727
|
+
text-align: center;
|
|
3728
|
+
}
|
|
3729
|
+
|
|
3730
|
+
td.col-checkbox {
|
|
3731
|
+
text-align: center;
|
|
3732
|
+
}
|
|
3733
|
+
|
|
3734
|
+
/* ─── Sort Button ─── */
|
|
3735
|
+
|
|
3736
|
+
.sort-btn {
|
|
3737
|
+
display: inline-flex;
|
|
3738
|
+
align-items: center;
|
|
3739
|
+
gap: var(--hx-space-1, 0.25rem);
|
|
3740
|
+
background: none;
|
|
3741
|
+
border: none;
|
|
3742
|
+
padding: 0;
|
|
3743
|
+
font: inherit;
|
|
3744
|
+
font-weight: inherit;
|
|
3745
|
+
color: inherit;
|
|
3746
|
+
cursor: pointer;
|
|
3747
|
+
white-space: nowrap;
|
|
3748
|
+
}
|
|
3749
|
+
|
|
3750
|
+
.sort-btn:focus-visible {
|
|
3751
|
+
outline: var(--hx-focus-ring-width, 2px) solid
|
|
3752
|
+
var(--hx-focus-ring-color, var(--hx-color-primary-500, #2563eb));
|
|
3753
|
+
outline-offset: var(--hx-focus-ring-offset, 2px);
|
|
3754
|
+
border-radius: var(--hx-border-radius-sm, 2px);
|
|
3755
|
+
}
|
|
3756
|
+
|
|
3757
|
+
/* ─── Sort Icon ─── */
|
|
3758
|
+
|
|
3759
|
+
.sort-icon {
|
|
3760
|
+
display: inline-flex;
|
|
3761
|
+
align-items: center;
|
|
3762
|
+
flex-shrink: 0;
|
|
3763
|
+
width: 1em;
|
|
3764
|
+
height: 1em;
|
|
3765
|
+
opacity: var(--hx-opacity-25, 0.25); /* sort icon inactive — intentionally subtle */
|
|
3766
|
+
transition:
|
|
3767
|
+
opacity var(--hx-transition-fast, 150ms ease),
|
|
3768
|
+
transform var(--hx-transition-fast, 150ms ease);
|
|
3769
|
+
}
|
|
3770
|
+
|
|
3771
|
+
.sort-icon--active {
|
|
3772
|
+
opacity: var(--hx-opacity-100, 1);
|
|
3773
|
+
color: var(--hx-color-primary-500, #2563eb);
|
|
3774
|
+
}
|
|
3775
|
+
|
|
3776
|
+
.sort-icon--desc {
|
|
3777
|
+
transform: rotate(180deg);
|
|
3778
|
+
}
|
|
3779
|
+
|
|
3780
|
+
/* ─── Row States ─── */
|
|
3781
|
+
|
|
3782
|
+
tbody tr {
|
|
3783
|
+
transition: background-color var(--hx-transition-fast, 150ms ease);
|
|
3784
|
+
}
|
|
3785
|
+
|
|
3786
|
+
tbody tr:hover {
|
|
3787
|
+
background-color: var(--hx-data-table-row-hover-bg, var(--hx-color-neutral-50, #f8fafc));
|
|
3788
|
+
}
|
|
3789
|
+
|
|
3790
|
+
tbody tr[aria-selected='true'] {
|
|
3791
|
+
background-color: var(--hx-data-table-row-selected-bg, var(--hx-color-primary-50, #eff6ff));
|
|
3792
|
+
}
|
|
3793
|
+
|
|
3794
|
+
/* ─── Checkbox Input ─── */
|
|
3795
|
+
|
|
3796
|
+
input[type='checkbox'] {
|
|
3797
|
+
width: var(--hx-size-4, 1rem);
|
|
3798
|
+
height: var(--hx-size-4, 1rem);
|
|
3799
|
+
cursor: pointer;
|
|
3800
|
+
accent-color: var(--hx-color-primary-500, #2563eb);
|
|
3801
|
+
}
|
|
3802
|
+
|
|
3803
|
+
/* ─── Loading Skeleton ─── */
|
|
3804
|
+
|
|
3805
|
+
.skeleton-cell {
|
|
3806
|
+
display: block;
|
|
3807
|
+
height: 1em;
|
|
3808
|
+
border-radius: var(--hx-border-radius-sm, 2px);
|
|
3809
|
+
background: linear-gradient(
|
|
3810
|
+
90deg,
|
|
3811
|
+
var(--hx-color-neutral-200, #e2e8f0) 25%,
|
|
3812
|
+
var(--hx-color-neutral-100, #f1f5f9) 50%,
|
|
3813
|
+
var(--hx-color-neutral-200, #e2e8f0) 75%
|
|
3814
|
+
);
|
|
3815
|
+
background-size: 200% 100%;
|
|
3816
|
+
animation: hx-shimmer var(--hx-data-table-shimmer-duration, 1.5s) infinite;
|
|
3817
|
+
}
|
|
3818
|
+
|
|
3819
|
+
@keyframes hx-shimmer {
|
|
3820
|
+
0% {
|
|
3821
|
+
background-position: 200% 0;
|
|
3822
|
+
}
|
|
3823
|
+
100% {
|
|
3824
|
+
background-position: -200% 0;
|
|
3825
|
+
}
|
|
3826
|
+
}
|
|
3827
|
+
|
|
3828
|
+
@media (prefers-reduced-motion: reduce) {
|
|
3829
|
+
.skeleton-cell {
|
|
3830
|
+
animation: none;
|
|
3831
|
+
opacity: var(
|
|
3832
|
+
--hx-opacity-50,
|
|
3833
|
+
0.5
|
|
3834
|
+
); /* reduced from animation; approximate to available token */
|
|
3835
|
+
}
|
|
3836
|
+
|
|
3837
|
+
.sort-icon {
|
|
3838
|
+
transition: none;
|
|
3839
|
+
}
|
|
3840
|
+
|
|
3841
|
+
tbody tr {
|
|
3842
|
+
transition: none;
|
|
3843
|
+
}
|
|
3844
|
+
}
|
|
3845
|
+
|
|
3846
|
+
/* ─── Cell Focus ─── */
|
|
3847
|
+
|
|
3848
|
+
td:focus-visible,
|
|
3849
|
+
th:focus-visible,
|
|
3850
|
+
[part~='td']:focus-visible,
|
|
3851
|
+
[part~='th']:focus-visible {
|
|
3852
|
+
outline: var(--hx-focus-ring-width, 2px) solid
|
|
3853
|
+
var(--hx-focus-ring-color, var(--hx-color-primary-500, #2563eb));
|
|
3854
|
+
outline-offset: var(--hx-focus-ring-offset, -2px);
|
|
3855
|
+
border-radius: var(--hx-border-radius-sm, 2px);
|
|
2831
3856
|
}
|
|
2832
3857
|
|
|
2833
|
-
/* ───
|
|
3858
|
+
/* ─── Empty State ─── */
|
|
2834
3859
|
|
|
2835
|
-
|
|
2836
|
-
|
|
2837
|
-
|
|
2838
|
-
|
|
3860
|
+
.empty-cell {
|
|
3861
|
+
text-align: center;
|
|
3862
|
+
color: var(--hx-data-table-empty-color, var(--hx-color-neutral-600, #475569));
|
|
3863
|
+
padding: var(--hx-space-8, 2rem) var(--hx-space-4, 1rem);
|
|
2839
3864
|
}
|
|
2840
3865
|
|
|
2841
|
-
/* ─── High Contrast
|
|
3866
|
+
/* ─── Forced Colors (Windows High Contrast) ─── */
|
|
2842
3867
|
|
|
2843
3868
|
@media (forced-colors: active) {
|
|
2844
|
-
|
|
2845
|
-
|
|
2846
|
-
background-color: ButtonFace;
|
|
2847
|
-
color: ButtonText;
|
|
2848
|
-
border: 2px solid ButtonText;
|
|
3869
|
+
table {
|
|
3870
|
+
border: 1px solid CanvasText;
|
|
2849
3871
|
}
|
|
2850
3872
|
|
|
2851
|
-
|
|
2852
|
-
|
|
2853
|
-
|
|
3873
|
+
th,
|
|
3874
|
+
td {
|
|
3875
|
+
border-bottom-color: CanvasText;
|
|
2854
3876
|
}
|
|
2855
3877
|
|
|
2856
|
-
|
|
2857
|
-
|
|
2858
|
-
color: GrayText;
|
|
2859
|
-
border-color: GrayText;
|
|
2860
|
-
opacity: 1;
|
|
3878
|
+
tbody tr[aria-selected='true'] {
|
|
3879
|
+
outline: 2px solid Highlight;
|
|
2861
3880
|
}
|
|
2862
3881
|
|
|
2863
|
-
.
|
|
2864
|
-
|
|
2865
|
-
|
|
3882
|
+
.skeleton-cell {
|
|
3883
|
+
animation: none;
|
|
3884
|
+
border: 1px solid GrayText;
|
|
3885
|
+
background: none;
|
|
2866
3886
|
}
|
|
2867
3887
|
}
|
|
2868
|
-
/* ── hx-
|
|
2869
|
-
|
|
2870
|
-
|
|
3888
|
+
/* ── hx-date-picker ── */
|
|
3889
|
+
/* ============================================================
|
|
3890
|
+
Host
|
|
3891
|
+
============================================================ */
|
|
3892
|
+
|
|
3893
|
+
:host {
|
|
3894
|
+
display: block;
|
|
3895
|
+
position: relative;
|
|
2871
3896
|
}
|
|
2872
3897
|
|
|
2873
|
-
|
|
2874
|
-
|
|
2875
|
-
|
|
2876
|
-
font-family: var(--hx-counter-font-family, var(--hx-font-family-sans, sans-serif));
|
|
2877
|
-
font-weight: var(--hx-counter-font-weight, var(--hx-font-weight-bold, 700));
|
|
2878
|
-
color: var(--hx-counter-color, var(--hx-color-neutral-900, #111827));
|
|
2879
|
-
line-height: var(--hx-line-height-tight, 1.25);
|
|
2880
|
-
font-variant-numeric: tabular-nums;
|
|
3898
|
+
:host([disabled]) {
|
|
3899
|
+
opacity: var(--hx-opacity-disabled, 0.5);
|
|
3900
|
+
pointer-events: none;
|
|
2881
3901
|
}
|
|
2882
3902
|
|
|
2883
|
-
|
|
3903
|
+
* {
|
|
3904
|
+
box-sizing: border-box;
|
|
3905
|
+
}
|
|
2884
3906
|
|
|
2885
|
-
|
|
2886
|
-
|
|
3907
|
+
/* ============================================================
|
|
3908
|
+
Field layout
|
|
3909
|
+
============================================================ */
|
|
3910
|
+
|
|
3911
|
+
.field {
|
|
3912
|
+
display: flex;
|
|
3913
|
+
flex-direction: column;
|
|
3914
|
+
gap: var(--hx-space-1, 0.25rem);
|
|
3915
|
+
font-family: var(--hx-date-picker-font-family, var(--hx-font-family-sans, sans-serif));
|
|
3916
|
+
position: relative;
|
|
2887
3917
|
}
|
|
2888
3918
|
|
|
2889
|
-
.
|
|
2890
|
-
|
|
3919
|
+
.field__label-wrapper {
|
|
3920
|
+
display: contents;
|
|
2891
3921
|
}
|
|
2892
3922
|
|
|
2893
|
-
.
|
|
2894
|
-
|
|
3923
|
+
.field__label {
|
|
3924
|
+
display: flex;
|
|
3925
|
+
align-items: baseline;
|
|
3926
|
+
gap: var(--hx-space-1, 0.25rem);
|
|
3927
|
+
font-size: var(--hx-font-size-sm, 0.875rem);
|
|
3928
|
+
font-weight: var(--hx-font-weight-medium, 500);
|
|
3929
|
+
color: var(--hx-date-picker-label-color, var(--hx-color-neutral-700, #334155));
|
|
3930
|
+
line-height: var(--hx-line-height-normal, 1.5);
|
|
2895
3931
|
}
|
|
2896
3932
|
|
|
2897
|
-
|
|
3933
|
+
.field__required-marker {
|
|
3934
|
+
color: var(--hx-date-picker-error-color, var(--hx-color-error-text, #b91c1c));
|
|
3935
|
+
font-weight: var(--hx-font-weight-bold, 700);
|
|
3936
|
+
}
|
|
2898
3937
|
|
|
2899
|
-
|
|
2900
|
-
|
|
2901
|
-
|
|
2902
|
-
|
|
2903
|
-
|
|
2904
|
-
|
|
3938
|
+
/* ============================================================
|
|
3939
|
+
Input wrapper
|
|
3940
|
+
============================================================ */
|
|
3941
|
+
|
|
3942
|
+
.field__input-wrapper {
|
|
3943
|
+
display: flex;
|
|
3944
|
+
align-items: stretch;
|
|
3945
|
+
border: var(--hx-border-width-thin, 1px) solid
|
|
3946
|
+
var(--hx-date-picker-border-color, var(--hx-color-neutral-300, #cbd5e1));
|
|
3947
|
+
border-radius: var(--hx-date-picker-border-radius, var(--hx-border-radius-md, 0.375rem));
|
|
3948
|
+
background-color: var(--hx-date-picker-bg, var(--hx-color-neutral-0, #ffffff));
|
|
3949
|
+
transition:
|
|
3950
|
+
border-color var(--hx-transition-fast, 150ms ease),
|
|
3951
|
+
box-shadow var(--hx-transition-fast, 150ms ease);
|
|
2905
3952
|
overflow: hidden;
|
|
2906
|
-
clip: rect(0, 0, 0, 0);
|
|
2907
|
-
white-space: nowrap;
|
|
2908
|
-
border: 0;
|
|
2909
3953
|
}
|
|
2910
3954
|
|
|
2911
|
-
|
|
3955
|
+
.field__input-wrapper:focus-within {
|
|
3956
|
+
border-color: var(
|
|
3957
|
+
--hx-date-picker-focus-ring-color,
|
|
3958
|
+
var(--hx-focus-ring-color, var(--hx-color-primary-400, #60a5fa))
|
|
3959
|
+
);
|
|
3960
|
+
box-shadow: 0 0 0 var(--hx-focus-ring-width, 2px)
|
|
3961
|
+
color-mix(
|
|
3962
|
+
in srgb,
|
|
3963
|
+
var(
|
|
3964
|
+
--hx-date-picker-focus-ring-color,
|
|
3965
|
+
var(--hx-focus-ring-color, var(--hx-color-primary-400, #60a5fa))
|
|
3966
|
+
)
|
|
3967
|
+
calc(var(--hx-focus-ring-opacity, 0.25) * 100%),
|
|
3968
|
+
transparent
|
|
3969
|
+
);
|
|
3970
|
+
}
|
|
2912
3971
|
|
|
2913
|
-
|
|
2914
|
-
|
|
2915
|
-
/* Animation is handled in JS — reduced-motion consumers
|
|
2916
|
-
will see the final value immediately via the component logic */
|
|
2917
|
-
}
|
|
3972
|
+
.field--error .field__input-wrapper {
|
|
3973
|
+
border-color: var(--hx-date-picker-error-color, var(--hx-color-error-500, #dc2626));
|
|
2918
3974
|
}
|
|
2919
3975
|
|
|
2920
|
-
|
|
2921
|
-
|
|
2922
|
-
|
|
2923
|
-
|
|
2924
|
-
|
|
2925
|
-
|
|
2926
|
-
|
|
2927
|
-
|
|
3976
|
+
.field--error .field__input-wrapper:focus-within {
|
|
3977
|
+
border-color: var(--hx-date-picker-error-color, var(--hx-color-error-500, #dc2626));
|
|
3978
|
+
box-shadow: 0 0 0 var(--hx-focus-ring-width, 2px)
|
|
3979
|
+
color-mix(
|
|
3980
|
+
in srgb,
|
|
3981
|
+
var(--hx-date-picker-error-color, var(--hx-color-error-500, #dc2626))
|
|
3982
|
+
calc(var(--hx-focus-ring-opacity, 0.25) * 100%),
|
|
3983
|
+
transparent
|
|
3984
|
+
);
|
|
2928
3985
|
}
|
|
2929
3986
|
|
|
2930
|
-
/*
|
|
3987
|
+
/* ============================================================
|
|
3988
|
+
Input element
|
|
3989
|
+
============================================================ */
|
|
2931
3990
|
|
|
2932
|
-
.
|
|
2933
|
-
|
|
3991
|
+
.field__input {
|
|
3992
|
+
flex: 1;
|
|
3993
|
+
border: none;
|
|
3994
|
+
outline: none;
|
|
3995
|
+
background: transparent;
|
|
3996
|
+
padding: var(--hx-space-2, 0.5rem) var(--hx-space-3, 0.75rem);
|
|
3997
|
+
font-family: inherit;
|
|
3998
|
+
font-size: var(--hx-font-size-md, 1rem);
|
|
3999
|
+
color: var(--hx-date-picker-color, var(--hx-color-neutral-800, #1e293b));
|
|
4000
|
+
line-height: var(--hx-line-height-normal, 1.5);
|
|
4001
|
+
min-height: var(--hx-size-10, 2.5rem);
|
|
2934
4002
|
width: 100%;
|
|
4003
|
+
cursor: default;
|
|
2935
4004
|
}
|
|
2936
4005
|
|
|
2937
|
-
|
|
4006
|
+
.field__input::placeholder {
|
|
4007
|
+
color: var(--hx-color-neutral-400, #94a3b8);
|
|
4008
|
+
}
|
|
2938
4009
|
|
|
2939
|
-
|
|
2940
|
-
|
|
2941
|
-
border-collapse: collapse;
|
|
2942
|
-
border-spacing: 0;
|
|
2943
|
-
min-width: var(--hx-data-table-min-width, 600px);
|
|
4010
|
+
.field__input:disabled {
|
|
4011
|
+
cursor: not-allowed;
|
|
2944
4012
|
}
|
|
2945
4013
|
|
|
2946
|
-
/*
|
|
4014
|
+
/* ============================================================
|
|
4015
|
+
Calendar trigger button
|
|
4016
|
+
============================================================ */
|
|
2947
4017
|
|
|
2948
|
-
|
|
2949
|
-
|
|
4018
|
+
.field__trigger {
|
|
4019
|
+
display: flex;
|
|
4020
|
+
align-items: center;
|
|
4021
|
+
justify-content: center;
|
|
4022
|
+
padding: 0 var(--hx-space-3, 0.75rem);
|
|
4023
|
+
border: none;
|
|
4024
|
+
border-left: var(--hx-border-width-thin, 1px) solid
|
|
4025
|
+
var(--hx-date-picker-border-color, var(--hx-color-neutral-300, #cbd5e1));
|
|
4026
|
+
background: transparent;
|
|
4027
|
+
color: var(--hx-date-picker-trigger-color, var(--hx-color-neutral-500, #64748b));
|
|
4028
|
+
cursor: pointer;
|
|
4029
|
+
flex-shrink: 0;
|
|
4030
|
+
transition: color var(--hx-transition-fast, 150ms ease);
|
|
4031
|
+
outline: none;
|
|
2950
4032
|
}
|
|
2951
4033
|
|
|
2952
|
-
:
|
|
2953
|
-
|
|
2954
|
-
|
|
2955
|
-
|
|
2956
|
-
|
|
4034
|
+
.field__trigger:focus-visible {
|
|
4035
|
+
color: var(
|
|
4036
|
+
--hx-date-picker-focus-ring-color,
|
|
4037
|
+
var(--hx-focus-ring-color, var(--hx-color-primary-400, #60a5fa))
|
|
4038
|
+
);
|
|
4039
|
+
background-color: color-mix(
|
|
4040
|
+
in srgb,
|
|
4041
|
+
var(
|
|
4042
|
+
--hx-date-picker-focus-ring-color,
|
|
4043
|
+
var(--hx-focus-ring-color, var(--hx-color-primary-400, #60a5fa))
|
|
4044
|
+
)
|
|
4045
|
+
8%,
|
|
4046
|
+
transparent
|
|
4047
|
+
);
|
|
2957
4048
|
}
|
|
2958
4049
|
|
|
2959
|
-
|
|
4050
|
+
.field__trigger:hover:not(:disabled) {
|
|
4051
|
+
color: var(--hx-date-picker-trigger-hover-color, var(--hx-color-neutral-700, #334155));
|
|
4052
|
+
background-color: color-mix(in srgb, var(--hx-color-neutral-900, #0f172a) 4%, transparent);
|
|
4053
|
+
}
|
|
2960
4054
|
|
|
2961
|
-
|
|
2962
|
-
|
|
2963
|
-
padding: var(--hx-space-3, 0.75rem) var(--hx-space-4, 1rem);
|
|
2964
|
-
text-align: start;
|
|
2965
|
-
border-bottom: var(--hx-border-width-thin, 1px) solid
|
|
2966
|
-
var(--hx-data-table-border-color, var(--hx-color-neutral-200, #e2e8f0));
|
|
2967
|
-
vertical-align: middle;
|
|
4055
|
+
.field__trigger:disabled {
|
|
4056
|
+
cursor: not-allowed;
|
|
2968
4057
|
}
|
|
2969
4058
|
|
|
2970
|
-
|
|
2971
|
-
|
|
2972
|
-
|
|
2973
|
-
|
|
4059
|
+
/* ============================================================
|
|
4060
|
+
Calendar popover
|
|
4061
|
+
============================================================ */
|
|
4062
|
+
|
|
4063
|
+
.calendar {
|
|
4064
|
+
position: absolute;
|
|
4065
|
+
top: calc(100% + var(--hx-space-1, 0.25rem));
|
|
4066
|
+
left: 0;
|
|
4067
|
+
z-index: var(--hx-z-index-dropdown, 1000);
|
|
4068
|
+
min-width: var(--hx-date-picker-calendar-min-width, 18rem);
|
|
4069
|
+
background-color: var(--hx-date-picker-calendar-bg, var(--hx-color-neutral-0, #ffffff));
|
|
4070
|
+
border: var(--hx-border-width-thin, 1px) solid
|
|
4071
|
+
var(--hx-date-picker-calendar-border-color, var(--hx-color-neutral-200, #e2e8f0));
|
|
4072
|
+
border-radius: var(--hx-date-picker-calendar-border-radius, var(--hx-border-radius-lg, 0.5rem));
|
|
4073
|
+
box-shadow: var(
|
|
4074
|
+
--hx-date-picker-calendar-shadow,
|
|
4075
|
+
var(--hx-shadow-md, 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1))
|
|
4076
|
+
);
|
|
4077
|
+
padding: var(--hx-space-3, 0.75rem);
|
|
4078
|
+
outline: none;
|
|
4079
|
+
}
|
|
4080
|
+
|
|
4081
|
+
@media (prefers-reduced-motion: no-preference) {
|
|
4082
|
+
.calendar {
|
|
4083
|
+
animation: calendar-appear var(--hx-transition-fast, 150ms ease) forwards;
|
|
4084
|
+
}
|
|
4085
|
+
}
|
|
4086
|
+
|
|
4087
|
+
@keyframes calendar-appear {
|
|
4088
|
+
0% {
|
|
4089
|
+
opacity: 0;
|
|
4090
|
+
transform: translateY(-0.25rem);
|
|
4091
|
+
}
|
|
4092
|
+
|
|
4093
|
+
to {
|
|
4094
|
+
opacity: 1;
|
|
4095
|
+
transform: translateY(0);
|
|
4096
|
+
}
|
|
4097
|
+
}
|
|
4098
|
+
|
|
4099
|
+
/* ============================================================
|
|
4100
|
+
Calendar navigation
|
|
4101
|
+
============================================================ */
|
|
4102
|
+
|
|
4103
|
+
.calendar__nav {
|
|
4104
|
+
display: flex;
|
|
4105
|
+
align-items: center;
|
|
4106
|
+
justify-content: space-between;
|
|
4107
|
+
margin-bottom: var(--hx-space-3, 0.75rem);
|
|
4108
|
+
}
|
|
4109
|
+
|
|
4110
|
+
:is(.calendar__nav-btn, .calendar__day, .calendar__day-cell, .calendar__weekday) {
|
|
4111
|
+
display: flex;
|
|
4112
|
+
align-items: center;
|
|
4113
|
+
justify-content: center;
|
|
4114
|
+
}
|
|
4115
|
+
|
|
4116
|
+
:is(.calendar__nav-btn, .calendar__day) {
|
|
4117
|
+
width: var(--hx-touch-target-min, 2.75rem);
|
|
4118
|
+
height: var(--hx-touch-target-min, 2.75rem);
|
|
4119
|
+
border: none;
|
|
4120
|
+
border-radius: var(--hx-border-radius-sm, 0.25rem);
|
|
4121
|
+
background: transparent;
|
|
4122
|
+
cursor: pointer;
|
|
4123
|
+
outline: none;
|
|
4124
|
+
transition:
|
|
4125
|
+
background-color var(--hx-transition-fast, 150ms ease),
|
|
4126
|
+
color var(--hx-transition-fast, 150ms ease);
|
|
4127
|
+
}
|
|
4128
|
+
|
|
4129
|
+
.calendar__nav-btn {
|
|
4130
|
+
color: var(--hx-color-neutral-600, #475569);
|
|
4131
|
+
font-size: var(--hx-font-size-lg, 1.125rem);
|
|
4132
|
+
line-height: 1;
|
|
2974
4133
|
}
|
|
2975
4134
|
|
|
2976
|
-
|
|
2977
|
-
color: var(--hx-
|
|
4135
|
+
.calendar__nav-btn:hover {
|
|
4136
|
+
background-color: var(--hx-color-neutral-100, #f1f5f9);
|
|
4137
|
+
color: var(--hx-color-neutral-900, #0f172a);
|
|
2978
4138
|
}
|
|
2979
4139
|
|
|
2980
|
-
|
|
2981
|
-
|
|
2982
|
-
|
|
2983
|
-
|
|
2984
|
-
|
|
2985
|
-
|
|
2986
|
-
|
|
2987
|
-
padding-inline-end: var(--hx-space-2, 0.5rem);
|
|
4140
|
+
:is(.calendar__nav-btn, .calendar__day):focus-visible {
|
|
4141
|
+
box-shadow: 0 0 0 var(--hx-focus-ring-width, 2px)
|
|
4142
|
+
var(
|
|
4143
|
+
--hx-date-picker-focus-ring-color,
|
|
4144
|
+
var(--hx-focus-ring-color, var(--hx-color-primary-400, #60a5fa))
|
|
4145
|
+
);
|
|
4146
|
+
z-index: 1;
|
|
2988
4147
|
}
|
|
2989
4148
|
|
|
2990
|
-
|
|
2991
|
-
|
|
4149
|
+
.calendar__nav-btn:disabled {
|
|
4150
|
+
opacity: var(--hx-opacity-disabled, 0.5);
|
|
4151
|
+
cursor: not-allowed;
|
|
4152
|
+
pointer-events: none;
|
|
2992
4153
|
}
|
|
2993
4154
|
|
|
2994
|
-
|
|
4155
|
+
.calendar__month-label {
|
|
4156
|
+
font-size: var(--hx-font-size-sm, 0.875rem);
|
|
4157
|
+
font-weight: var(--hx-font-weight-semibold, 600);
|
|
4158
|
+
color: var(--hx-color-neutral-800, #1e293b);
|
|
4159
|
+
flex: 1;
|
|
2995
4160
|
text-align: center;
|
|
2996
4161
|
}
|
|
2997
4162
|
|
|
2998
|
-
/*
|
|
4163
|
+
/* ============================================================
|
|
4164
|
+
Calendar grid
|
|
4165
|
+
============================================================ */
|
|
2999
4166
|
|
|
3000
|
-
.
|
|
3001
|
-
display:
|
|
3002
|
-
|
|
4167
|
+
.calendar__grid {
|
|
4168
|
+
display: flex;
|
|
4169
|
+
flex-direction: column;
|
|
3003
4170
|
gap: var(--hx-space-1, 0.25rem);
|
|
3004
|
-
background: none;
|
|
3005
|
-
border: none;
|
|
3006
|
-
padding: 0;
|
|
3007
|
-
font: inherit;
|
|
3008
|
-
font-weight: inherit;
|
|
3009
|
-
color: inherit;
|
|
3010
|
-
cursor: pointer;
|
|
3011
|
-
white-space: nowrap;
|
|
3012
4171
|
}
|
|
3013
4172
|
|
|
3014
|
-
.
|
|
3015
|
-
|
|
3016
|
-
|
|
3017
|
-
|
|
3018
|
-
border-radius: var(--hx-border-radius-sm, 2px);
|
|
4173
|
+
.calendar__row {
|
|
4174
|
+
display: grid;
|
|
4175
|
+
grid-template-columns: repeat(7, 1fr);
|
|
4176
|
+
gap: var(--hx-space-1, 0.25rem);
|
|
3019
4177
|
}
|
|
3020
4178
|
|
|
3021
|
-
|
|
4179
|
+
.calendar__weekday {
|
|
4180
|
+
height: var(--hx-size-8, 2rem);
|
|
4181
|
+
font-size: var(--hx-font-size-xs, 0.75rem);
|
|
4182
|
+
font-weight: var(--hx-font-weight-semibold, 600);
|
|
4183
|
+
color: var(--hx-color-neutral-500, #64748b);
|
|
4184
|
+
text-transform: uppercase;
|
|
4185
|
+
letter-spacing: 0.05em;
|
|
4186
|
+
}
|
|
3022
4187
|
|
|
3023
|
-
|
|
3024
|
-
|
|
3025
|
-
|
|
3026
|
-
|
|
3027
|
-
|
|
3028
|
-
|
|
3029
|
-
|
|
3030
|
-
|
|
3031
|
-
|
|
3032
|
-
transform var(--hx-transition-fast, 150ms ease);
|
|
4188
|
+
/* ============================================================
|
|
4189
|
+
Calendar day cells
|
|
4190
|
+
============================================================ */
|
|
4191
|
+
|
|
4192
|
+
.calendar__day {
|
|
4193
|
+
color: var(--hx-color-neutral-800, #1e293b);
|
|
4194
|
+
font-size: var(--hx-font-size-sm, 0.875rem);
|
|
4195
|
+
font-family: inherit;
|
|
4196
|
+
position: relative;
|
|
3033
4197
|
}
|
|
3034
4198
|
|
|
3035
|
-
.
|
|
3036
|
-
|
|
3037
|
-
color: var(--hx-color-
|
|
4199
|
+
.calendar__day:hover:not(.calendar__day--disabled):not(.calendar__day--selected) {
|
|
4200
|
+
background-color: var(--hx-color-neutral-100, #f1f5f9);
|
|
4201
|
+
color: var(--hx-color-neutral-900, #0f172a);
|
|
3038
4202
|
}
|
|
3039
4203
|
|
|
3040
|
-
.
|
|
3041
|
-
|
|
4204
|
+
.calendar__day--selected {
|
|
4205
|
+
background-color: var(--hx-date-picker-selected-bg, var(--hx-color-primary-500, #2563eb));
|
|
4206
|
+
color: var(--hx-date-picker-selected-color, var(--hx-color-neutral-0, #ffffff));
|
|
4207
|
+
font-weight: var(--hx-font-weight-semibold, 600);
|
|
3042
4208
|
}
|
|
3043
4209
|
|
|
3044
|
-
|
|
4210
|
+
.calendar__day--selected:hover {
|
|
4211
|
+
background-color: var(--hx-date-picker-selected-hover-bg, var(--hx-color-primary-600, #1d4ed8));
|
|
4212
|
+
}
|
|
3045
4213
|
|
|
3046
|
-
|
|
3047
|
-
|
|
4214
|
+
.calendar__day--today:not(.calendar__day--selected) {
|
|
4215
|
+
font-weight: var(--hx-font-weight-bold, 700);
|
|
4216
|
+
color: var(--hx-date-picker-today-color, var(--hx-color-primary-600, #1d4ed8));
|
|
3048
4217
|
}
|
|
3049
4218
|
|
|
3050
|
-
|
|
3051
|
-
|
|
4219
|
+
.calendar__day--today:not(.calendar__day--selected)::after {
|
|
4220
|
+
content: '';
|
|
4221
|
+
position: absolute;
|
|
4222
|
+
bottom: 0.2rem;
|
|
4223
|
+
left: 50%;
|
|
4224
|
+
transform: translate(-50%);
|
|
4225
|
+
width: 0.25rem;
|
|
4226
|
+
height: 0.25rem;
|
|
4227
|
+
border-radius: 50%;
|
|
4228
|
+
background-color: currentColor;
|
|
3052
4229
|
}
|
|
3053
4230
|
|
|
3054
|
-
|
|
3055
|
-
|
|
4231
|
+
.calendar__day--disabled {
|
|
4232
|
+
opacity: var(--hx-opacity-disabled, 0.5);
|
|
4233
|
+
cursor: not-allowed;
|
|
4234
|
+
pointer-events: none;
|
|
3056
4235
|
}
|
|
3057
4236
|
|
|
3058
|
-
/*
|
|
4237
|
+
/* ============================================================
|
|
4238
|
+
Live region (screen reader announcements)
|
|
4239
|
+
============================================================ */
|
|
3059
4240
|
|
|
3060
|
-
|
|
3061
|
-
|
|
3062
|
-
|
|
3063
|
-
|
|
3064
|
-
|
|
4241
|
+
.calendar__live-region {
|
|
4242
|
+
position: absolute;
|
|
4243
|
+
width: 1px;
|
|
4244
|
+
height: 1px;
|
|
4245
|
+
padding: 0;
|
|
4246
|
+
margin: -1px;
|
|
4247
|
+
overflow: hidden;
|
|
4248
|
+
clip: rect(0, 0, 0, 0);
|
|
4249
|
+
white-space: nowrap;
|
|
4250
|
+
border: 0;
|
|
3065
4251
|
}
|
|
3066
4252
|
|
|
3067
|
-
/*
|
|
4253
|
+
/* ============================================================
|
|
4254
|
+
Help text and error message
|
|
4255
|
+
============================================================ */
|
|
3068
4256
|
|
|
3069
|
-
.
|
|
3070
|
-
|
|
3071
|
-
|
|
3072
|
-
|
|
3073
|
-
background: linear-gradient(
|
|
3074
|
-
90deg,
|
|
3075
|
-
var(--hx-color-neutral-200, #e2e8f0) 25%,
|
|
3076
|
-
var(--hx-color-neutral-100, #f1f5f9) 50%,
|
|
3077
|
-
var(--hx-color-neutral-200, #e2e8f0) 75%
|
|
3078
|
-
);
|
|
3079
|
-
background-size: 200% 100%;
|
|
3080
|
-
animation: hx-shimmer var(--hx-data-table-shimmer-duration, 1.5s) infinite;
|
|
4257
|
+
.field__help-text,
|
|
4258
|
+
.field__error {
|
|
4259
|
+
font-size: var(--hx-font-size-xs, 0.75rem);
|
|
4260
|
+
line-height: var(--hx-line-height-normal, 1.5);
|
|
3081
4261
|
}
|
|
3082
4262
|
|
|
3083
|
-
|
|
3084
|
-
|
|
3085
|
-
background-position: 200% 0;
|
|
3086
|
-
}
|
|
3087
|
-
100% {
|
|
3088
|
-
background-position: -200% 0;
|
|
3089
|
-
}
|
|
4263
|
+
.field__help-text {
|
|
4264
|
+
color: var(--hx-color-neutral-500, #64748b);
|
|
3090
4265
|
}
|
|
3091
4266
|
|
|
3092
|
-
|
|
3093
|
-
|
|
3094
|
-
|
|
3095
|
-
opacity: var(
|
|
3096
|
-
--hx-opacity-50,
|
|
3097
|
-
0.5
|
|
3098
|
-
); /* reduced from animation; approximate to available token */
|
|
3099
|
-
}
|
|
4267
|
+
.field__error {
|
|
4268
|
+
color: var(--hx-date-picker-error-color, var(--hx-color-error-text, #b91c1c));
|
|
4269
|
+
}
|
|
3100
4270
|
|
|
3101
|
-
|
|
3102
|
-
|
|
3103
|
-
|
|
4271
|
+
/* ============================================================
|
|
4272
|
+
Reduced motion
|
|
4273
|
+
============================================================ */
|
|
3104
4274
|
|
|
3105
|
-
|
|
4275
|
+
@media (prefers-reduced-motion: reduce) {
|
|
4276
|
+
.field__input-wrapper,
|
|
4277
|
+
.field__trigger,
|
|
4278
|
+
.calendar__nav-btn,
|
|
4279
|
+
.calendar__day {
|
|
3106
4280
|
transition: none;
|
|
3107
4281
|
}
|
|
3108
4282
|
}
|
|
3109
4283
|
|
|
3110
|
-
/*
|
|
4284
|
+
/* ============================================================
|
|
4285
|
+
Forced colors (Windows High Contrast)
|
|
4286
|
+
============================================================ */
|
|
3111
4287
|
|
|
3112
|
-
|
|
3113
|
-
|
|
3114
|
-
|
|
3115
|
-
|
|
3116
|
-
outline: var(--hx-focus-ring-width, 2px) solid
|
|
3117
|
-
var(--hx-focus-ring-color, var(--hx-color-primary-500, #2563eb));
|
|
3118
|
-
outline-offset: var(--hx-focus-ring-offset, -2px);
|
|
3119
|
-
border-radius: var(--hx-border-radius-sm, 2px);
|
|
3120
|
-
}
|
|
4288
|
+
@media (forced-colors: active) {
|
|
4289
|
+
.field__input-wrapper {
|
|
4290
|
+
border: 1px solid ButtonText;
|
|
4291
|
+
}
|
|
3121
4292
|
|
|
3122
|
-
|
|
4293
|
+
.field__input-wrapper:focus-within {
|
|
4294
|
+
outline: 2px solid Highlight;
|
|
4295
|
+
outline-offset: 1px;
|
|
4296
|
+
box-shadow: none;
|
|
4297
|
+
}
|
|
3123
4298
|
|
|
3124
|
-
|
|
3125
|
-
|
|
3126
|
-
|
|
3127
|
-
|
|
3128
|
-
}
|
|
4299
|
+
:is(.calendar__day:focus-visible, .calendar__nav-btn:focus-visible) {
|
|
4300
|
+
outline: 2px solid Highlight;
|
|
4301
|
+
box-shadow: none;
|
|
4302
|
+
}
|
|
3129
4303
|
|
|
3130
|
-
|
|
4304
|
+
.calendar__day--selected {
|
|
4305
|
+
background-color: Highlight;
|
|
4306
|
+
color: HighlightText;
|
|
4307
|
+
border: 1px solid Highlight;
|
|
4308
|
+
}
|
|
3131
4309
|
|
|
3132
|
-
|
|
3133
|
-
|
|
3134
|
-
border: 1px solid CanvasText;
|
|
4310
|
+
.calendar__day--today:not(.calendar__day--selected) {
|
|
4311
|
+
border: 2px solid LinkText;
|
|
3135
4312
|
}
|
|
3136
4313
|
|
|
3137
|
-
|
|
3138
|
-
|
|
3139
|
-
border-bottom-color: CanvasText;
|
|
4314
|
+
.calendar__day--today:not(.calendar__day--selected)::after {
|
|
4315
|
+
display: none;
|
|
3140
4316
|
}
|
|
3141
4317
|
|
|
3142
|
-
|
|
3143
|
-
|
|
4318
|
+
.calendar__day--disabled {
|
|
4319
|
+
color: GrayText;
|
|
3144
4320
|
}
|
|
3145
4321
|
|
|
3146
|
-
.
|
|
3147
|
-
|
|
3148
|
-
border: 1px solid GrayText;
|
|
3149
|
-
background: none;
|
|
4322
|
+
.field--error .field__input-wrapper {
|
|
4323
|
+
border-color: LinkText;
|
|
3150
4324
|
}
|
|
3151
4325
|
}
|
|
3152
|
-
/* ── hx-date-picker ── */
|
|
3153
|
-
:host{display:block;position:relative}:host([disabled]){opacity:var(--hx-opacity-disabled, .5);pointer-events:none}*{box-sizing:border-box}.field{display:flex;flex-direction:column;gap:var(--hx-space-1, .25rem);font-family:var(--hx-date-picker-font-family, var(--hx-font-family-sans, sans-serif));position:relative}.field__label-wrapper{display:contents}.field__label{display:flex;align-items:baseline;gap:var(--hx-space-1, .25rem);font-size:var(--hx-font-size-sm, .875rem);font-weight:var(--hx-font-weight-medium, 500);color:var(--hx-date-picker-label-color, var(--hx-color-neutral-700, #343a40));line-height:var(--hx-line-height-normal, 1.5)}.field__required-marker{color:var(--hx-date-picker-error-color, var(--hx-color-error-text, #b91c1c));font-weight:var(--hx-font-weight-bold, 700)}.field__input-wrapper{display:flex;align-items:stretch;border:var(--hx-border-width-thin, 1px) solid var(--hx-date-picker-border-color, var(--hx-color-neutral-300, #ced4da));border-radius:var(--hx-date-picker-border-radius, var(--hx-border-radius-md, .375rem));background-color:var(--hx-date-picker-bg, var(--hx-color-neutral-0, #ffffff));transition:border-color var(--hx-transition-fast, .15s ease),box-shadow var(--hx-transition-fast, .15s ease);overflow:hidden}.field__input-wrapper:focus-within{border-color:var(--hx-date-picker-focus-ring-color, var(--hx-focus-ring-color, var(--hx-color-primary-400, #60a5fa)));box-shadow:0 0 0 var(--hx-focus-ring-width, 2px) color-mix(in srgb,var(--hx-date-picker-focus-ring-color, var(--hx-focus-ring-color, var(--hx-color-primary-400, #60a5fa))) calc(var(--hx-focus-ring-opacity, .25) * 100%),transparent)}.field--error .field__input-wrapper{border-color:var(--hx-date-picker-error-color, var(--hx-color-error-500, #dc3545))}.field--error .field__input-wrapper:focus-within{border-color:var(--hx-date-picker-error-color, var(--hx-color-error-500, #dc3545));box-shadow:0 0 0 var(--hx-focus-ring-width, 2px) color-mix(in srgb,var(--hx-date-picker-error-color, var(--hx-color-error-500, #dc3545)) calc(var(--hx-focus-ring-opacity, .25) * 100%),transparent)}.field__input{flex:1;border:none;outline:none;background:transparent;padding:var(--hx-space-2, .5rem) var(--hx-space-3, .75rem);font-family:inherit;font-size:var(--hx-font-size-md, 1rem);color:var(--hx-date-picker-color, var(--hx-color-neutral-800, #212529));line-height:var(--hx-line-height-normal, 1.5);min-height:var(--hx-size-10, 2.5rem);width:100%;cursor:default}.field__input::placeholder{color:var(--hx-color-neutral-400, #adb5bd)}.field__input:disabled{cursor:not-allowed}.field__trigger{display:flex;align-items:center;justify-content:center;padding:0 var(--hx-space-3, .75rem);border:none;border-left:var(--hx-border-width-thin, 1px) solid var(--hx-date-picker-border-color, var(--hx-color-neutral-300, #ced4da));background:transparent;color:var(--hx-date-picker-trigger-color, var(--hx-color-neutral-500, #6c757d));cursor:pointer;flex-shrink:0;transition:color var(--hx-transition-fast, .15s ease);outline:none}.field__trigger:focus-visible{color:var(--hx-date-picker-focus-ring-color, var(--hx-focus-ring-color, var(--hx-color-primary-400, #60a5fa)));background-color:color-mix(in srgb,var(--hx-date-picker-focus-ring-color, var(--hx-focus-ring-color, var(--hx-color-primary-400, #60a5fa))) 8%,transparent)}.field__trigger:hover:not(:disabled){color:var(--hx-date-picker-trigger-hover-color, var(--hx-color-neutral-700, #343a40));background-color:color-mix(in srgb,var(--hx-color-neutral-900, #212529) 4%,transparent)}.field__trigger:disabled{cursor:not-allowed}.calendar{position:absolute;top:calc(100% + var(--hx-space-1, .25rem));left:0;z-index:var(--hx-z-index-dropdown, 1000);min-width:var(--hx-date-picker-calendar-min-width, 18rem);background-color:var(--hx-date-picker-calendar-bg, var(--hx-color-neutral-0, #ffffff));border:var(--hx-border-width-thin, 1px) solid var(--hx-date-picker-calendar-border-color, var(--hx-color-neutral-200, #e9ecef));border-radius:var(--hx-date-picker-calendar-border-radius, var(--hx-border-radius-lg, .5rem));box-shadow:var( --hx-date-picker-calendar-shadow, 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -2px rgba(0, 0, 0, .1) );padding:var(--hx-space-3, .75rem);outline:none}@media(prefers-reduced-motion:no-preference){.calendar{animation:calendar-appear var(--hx-transition-fast, .15s ease) forwards}}@keyframes calendar-appear{0%{opacity:0;transform:translateY(-.25rem)}to{opacity:1;transform:translateY(0)}}.calendar__nav{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--hx-space-3, .75rem)}:is(.calendar__nav-btn,.calendar__day,.calendar__day-cell,.calendar__weekday){display:flex;align-items:center;justify-content:center}:is(.calendar__nav-btn,.calendar__day){width:var(--hx-touch-target-min, 2.75rem);height:var(--hx-touch-target-min, 2.75rem);border:none;border-radius:var(--hx-border-radius-sm, .25rem);background:transparent;cursor:pointer;outline:none;transition:background-color var(--hx-transition-fast, .15s ease),color var(--hx-transition-fast, .15s ease)}.calendar__nav-btn{color:var(--hx-color-neutral-600, #495057);font-size:var(--hx-font-size-lg, 1.125rem);line-height:1}.calendar__nav-btn:hover{background-color:var(--hx-color-neutral-100, #f8f9fa);color:var(--hx-color-neutral-900, #212529)}:is(.calendar__nav-btn,.calendar__day):focus-visible{box-shadow:0 0 0 var(--hx-focus-ring-width, 2px) var(--hx-date-picker-focus-ring-color, var(--hx-focus-ring-color, var(--hx-color-primary-400, #60a5fa)));z-index:1}.calendar__nav-btn:disabled{opacity:var(--hx-opacity-disabled, .4);cursor:not-allowed;pointer-events:none}.calendar__month-label{font-size:var(--hx-font-size-sm, .875rem);font-weight:var(--hx-font-weight-semibold, 600);color:var(--hx-color-neutral-800, #212529);flex:1;text-align:center}.calendar__grid{display:flex;flex-direction:column;gap:var(--hx-space-1, .25rem)}.calendar__row{display:grid;grid-template-columns:repeat(7,1fr);gap:var(--hx-space-1, .25rem)}.calendar__weekday{height:var(--hx-size-8, 2rem);font-size:var(--hx-font-size-xs, .75rem);font-weight:var(--hx-font-weight-semibold, 600);color:var(--hx-color-neutral-500, #6c757d);text-transform:uppercase;letter-spacing:.05em}.calendar__day{color:var(--hx-color-neutral-800, #212529);font-size:var(--hx-font-size-sm, .875rem);font-family:inherit;position:relative}.calendar__day:hover:not(.calendar__day--disabled):not(.calendar__day--selected){background-color:var(--hx-color-neutral-100, #f8f9fa);color:var(--hx-color-neutral-900, #212529)}.calendar__day--selected{background-color:var(--hx-date-picker-selected-bg, var(--hx-color-primary-500, #2563eb));color:var(--hx-date-picker-selected-color, var(--hx-color-neutral-0, #ffffff));font-weight:var(--hx-font-weight-semibold, 600)}.calendar__day--selected:hover{background-color:var(--hx-date-picker-selected-hover-bg, var(--hx-color-primary-600, #1d4ed8))}.calendar__day--today:not(.calendar__day--selected){font-weight:var(--hx-font-weight-bold, 700);color:var(--hx-date-picker-today-color, var(--hx-color-primary-600, #1d4ed8))}.calendar__day--today:not(.calendar__day--selected):after{content:"";position:absolute;bottom:.2rem;left:50%;transform:translate(-50%);width:.25rem;height:.25rem;border-radius:50%;background-color:currentColor}.calendar__day--disabled{opacity:var(--hx-opacity-disabled, .4);cursor:not-allowed;pointer-events:none}.calendar__live-region{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.field__help-text,.field__error{font-size:var(--hx-font-size-xs, .75rem);line-height:var(--hx-line-height-normal, 1.5)}.field__help-text{color:var(--hx-color-neutral-500, #6c757d)}.field__error{color:var(--hx-date-picker-error-color, var(--hx-color-error-text, #b91c1c))}@media(prefers-reduced-motion:reduce){.field__input-wrapper,.field__trigger,.calendar__nav-btn,.calendar__day{transition:none}}@media(forced-colors:active){.field__input-wrapper{border:1px solid ButtonText}.field__input-wrapper:focus-within{outline:2px solid Highlight;outline-offset:1px;box-shadow:none}:is(.calendar__day:focus-visible,.calendar__nav-btn:focus-visible){outline:2px solid Highlight;box-shadow:none}.calendar__day--selected{background-color:Highlight;color:HighlightText;border:1px solid Highlight}.calendar__day--today:not(.calendar__day--selected){border:2px solid LinkText}.calendar__day--today:not(.calendar__day--selected):after{display:none}.calendar__day--disabled{color:GrayText}.field--error .field__input-wrapper{border-color:LinkText}}
|
|
3154
4326
|
/* ── hx-dialog ── */
|
|
3155
4327
|
:host {
|
|
3156
4328
|
display: contents;
|
|
@@ -3254,7 +4426,7 @@
|
|
|
3254
4426
|
|
|
3255
4427
|
.dialog__heading {
|
|
3256
4428
|
margin: 0;
|
|
3257
|
-
font-family: var(--hx-font-family-sans);
|
|
4429
|
+
font-family: var(--hx-dialog-font-family, var(--hx-font-family-sans));
|
|
3258
4430
|
font-size: var(--hx-font-size-lg);
|
|
3259
4431
|
font-weight: var(--hx-font-weight-semibold);
|
|
3260
4432
|
line-height: var(--hx-line-height-tight);
|
|
@@ -3280,7 +4452,7 @@
|
|
|
3280
4452
|
border: none;
|
|
3281
4453
|
border-radius: var(--hx-border-radius-sm, 0.25rem);
|
|
3282
4454
|
cursor: pointer;
|
|
3283
|
-
color: var(--hx-color-neutral-500, #
|
|
4455
|
+
color: var(--hx-color-neutral-500, #64748b);
|
|
3284
4456
|
font-size: var(--hx-font-size-xl, 1.25rem);
|
|
3285
4457
|
line-height: 1; /* intentional literal: icon button needs line-height 1; no token maps to exactly 1 */
|
|
3286
4458
|
transition:
|
|
@@ -3625,7 +4797,7 @@
|
|
|
3625
4797
|
.drawer-title {
|
|
3626
4798
|
margin: 0;
|
|
3627
4799
|
flex: 1 1 auto;
|
|
3628
|
-
font-family: var(--hx-font-family-sans);
|
|
4800
|
+
font-family: var(--hx-drawer-font-family, var(--hx-font-family-sans));
|
|
3629
4801
|
font-size: var(--hx-font-size-lg);
|
|
3630
4802
|
font-weight: var(--hx-font-weight-semibold);
|
|
3631
4803
|
line-height: var(--hx-line-height-tight);
|
|
@@ -3760,7 +4932,7 @@
|
|
|
3760
4932
|
z-index: var(--hx-dropdown-panel-z-index, 1000);
|
|
3761
4933
|
min-width: var(--hx-dropdown-panel-min-width, 160px);
|
|
3762
4934
|
background: var(--hx-dropdown-panel-bg, var(--hx-color-neutral-0, #ffffff));
|
|
3763
|
-
border: 1px solid var(--hx-dropdown-panel-border-color, var(--hx-color-neutral-200, #
|
|
4935
|
+
border: 1px solid var(--hx-dropdown-panel-border-color, var(--hx-color-neutral-200, #e2e8f0));
|
|
3764
4936
|
border-radius: var(--hx-dropdown-panel-border-radius, var(--hx-border-radius-md, 0.375rem));
|
|
3765
4937
|
box-shadow: var(
|
|
3766
4938
|
--hx-dropdown-panel-shadow,
|
|
@@ -3843,7 +5015,7 @@
|
|
|
3843
5015
|
gap: var(--hx-space-1, 0.25rem);
|
|
3844
5016
|
font-size: var(--hx-font-size-sm, 0.875rem);
|
|
3845
5017
|
font-weight: var(--hx-font-weight-medium, 500);
|
|
3846
|
-
color: var(--hx-field-label-color, var(--hx-color-neutral-700, #
|
|
5018
|
+
color: var(--hx-field-label-color, var(--hx-color-neutral-700, #334155));
|
|
3847
5019
|
line-height: var(--hx-line-height-normal, 1.5);
|
|
3848
5020
|
cursor: pointer;
|
|
3849
5021
|
}
|
|
@@ -3893,7 +5065,7 @@
|
|
|
3893
5065
|
|
|
3894
5066
|
.field__help-text {
|
|
3895
5067
|
font-size: var(--hx-font-size-xs, 0.75rem);
|
|
3896
|
-
color: var(--hx-field-help-text-color, var(--hx-color-neutral-500, #
|
|
5068
|
+
color: var(--hx-field-help-text-color, var(--hx-color-neutral-500, #64748b));
|
|
3897
5069
|
line-height: var(--hx-line-height-normal, 1.5);
|
|
3898
5070
|
}
|
|
3899
5071
|
|
|
@@ -3910,7 +5082,7 @@
|
|
|
3910
5082
|
}
|
|
3911
5083
|
|
|
3912
5084
|
.field--error .field__control {
|
|
3913
|
-
outline: 2px solid var(--hx-field-error-color, var(--hx-color-error-500, #
|
|
5085
|
+
outline: 2px solid var(--hx-field-error-color, var(--hx-color-error-500, #dc2626));
|
|
3914
5086
|
outline-offset: var(--hx-focus-ring-offset, 2px);
|
|
3915
5087
|
border-radius: var(--hx-border-radius-sm, 0.25rem);
|
|
3916
5088
|
}
|
|
@@ -3961,7 +5133,7 @@
|
|
|
3961
5133
|
gap: var(--hx-space-1, 0.25rem);
|
|
3962
5134
|
font-size: var(--hx-font-label-size, var(--hx-font-size-sm, 0.875rem));
|
|
3963
5135
|
font-weight: var(--hx-font-label-weight, var(--hx-font-weight-medium, 500));
|
|
3964
|
-
color: var(--hx-field-label-color, var(--hx-color-neutral-700, #
|
|
5136
|
+
color: var(--hx-field-label-color, var(--hx-color-neutral-700, #334155));
|
|
3965
5137
|
line-height: var(--hx-font-label-line-height, var(--hx-line-height-normal, 1.5));
|
|
3966
5138
|
font-family: var(--hx-font-label-family, var(--hx-font-family-sans, sans-serif));
|
|
3967
5139
|
}
|
|
@@ -3974,7 +5146,7 @@
|
|
|
3974
5146
|
.optional-indicator {
|
|
3975
5147
|
font-size: var(--hx-font-size-xs, 0.75rem);
|
|
3976
5148
|
font-weight: var(--hx-font-weight-normal, 400);
|
|
3977
|
-
color: var(--hx-color-neutral-500, #
|
|
5149
|
+
color: var(--hx-color-neutral-500, #64748b);
|
|
3978
5150
|
}
|
|
3979
5151
|
|
|
3980
5152
|
/* ─── High Contrast Mode (forced-colors) ─── */
|
|
@@ -4022,7 +5194,7 @@
|
|
|
4022
5194
|
display: flex;
|
|
4023
5195
|
flex-direction: column;
|
|
4024
5196
|
gap: var(--hx-space-2, 0.5rem);
|
|
4025
|
-
font-family: var(--hx-font-family-sans, sans-serif);
|
|
5197
|
+
font-family: var(--hx-file-upload-font-family, var(--hx-font-family-sans, sans-serif));
|
|
4026
5198
|
}
|
|
4027
5199
|
|
|
4028
5200
|
/* ─── Label ─── */
|
|
@@ -4033,7 +5205,7 @@
|
|
|
4033
5205
|
gap: var(--hx-space-1, 0.25rem);
|
|
4034
5206
|
font-size: var(--hx-font-size-sm, 0.875rem);
|
|
4035
5207
|
font-weight: var(--hx-font-weight-medium, 500);
|
|
4036
|
-
color: var(--hx-color-neutral-700, #
|
|
5208
|
+
color: var(--hx-color-neutral-700, #334155);
|
|
4037
5209
|
line-height: var(--hx-line-height-normal, 1.5);
|
|
4038
5210
|
}
|
|
4039
5211
|
|
|
@@ -4048,9 +5220,9 @@
|
|
|
4048
5220
|
min-height: var(--hx-space-32, 8rem);
|
|
4049
5221
|
padding: var(--hx-space-6, 1.5rem) var(--hx-space-4, 1rem);
|
|
4050
5222
|
border: var(--hx-border-width-thin, 1px) dashed
|
|
4051
|
-
var(--hx-file-upload-dropzone-border-color, var(--hx-color-neutral-300, #
|
|
5223
|
+
var(--hx-file-upload-dropzone-border-color, var(--hx-color-neutral-300, #cbd5e1));
|
|
4052
5224
|
border-radius: var(--hx-file-upload-dropzone-border-radius, var(--hx-border-radius-lg, 0.5rem));
|
|
4053
|
-
background-color: var(--hx-file-upload-dropzone-bg, var(--hx-color-neutral-50, #
|
|
5225
|
+
background-color: var(--hx-file-upload-dropzone-bg, var(--hx-color-neutral-50, #f8fafc));
|
|
4054
5226
|
cursor: pointer;
|
|
4055
5227
|
text-align: center;
|
|
4056
5228
|
transition:
|
|
@@ -4058,7 +5230,7 @@
|
|
|
4058
5230
|
background-color var(--hx-transition-fast, 150ms ease),
|
|
4059
5231
|
box-shadow var(--hx-transition-fast, 150ms ease);
|
|
4060
5232
|
user-select: none;
|
|
4061
|
-
color: var(--hx-color-neutral-600, #
|
|
5233
|
+
color: var(--hx-color-neutral-600, #475569);
|
|
4062
5234
|
font-size: var(--hx-font-size-sm, 0.875rem);
|
|
4063
5235
|
}
|
|
4064
5236
|
|
|
@@ -4089,7 +5261,7 @@
|
|
|
4089
5261
|
}
|
|
4090
5262
|
|
|
4091
5263
|
.dropzone--error {
|
|
4092
|
-
border-color: var(--hx-file-upload-error-color, var(--hx-color-error-500, #
|
|
5264
|
+
border-color: var(--hx-file-upload-error-color, var(--hx-color-error-500, #dc2626));
|
|
4093
5265
|
}
|
|
4094
5266
|
|
|
4095
5267
|
@media (prefers-reduced-motion: reduce) {
|
|
@@ -4134,7 +5306,7 @@
|
|
|
4134
5306
|
flex-direction: column;
|
|
4135
5307
|
gap: var(--hx-space-1, 0.25rem);
|
|
4136
5308
|
padding: var(--hx-space-2, 0.5rem) var(--hx-space-3, 0.75rem);
|
|
4137
|
-
border: var(--hx-border-width-thin, 1px) solid var(--hx-color-neutral-200, #
|
|
5309
|
+
border: var(--hx-border-width-thin, 1px) solid var(--hx-color-neutral-200, #e2e8f0);
|
|
4138
5310
|
border-radius: var(--hx-border-radius-md, 0.375rem);
|
|
4139
5311
|
background-color: var(--hx-color-neutral-0, #ffffff);
|
|
4140
5312
|
}
|
|
@@ -4149,7 +5321,7 @@
|
|
|
4149
5321
|
flex: 1;
|
|
4150
5322
|
font-size: var(--hx-font-size-sm, 0.875rem);
|
|
4151
5323
|
font-weight: var(--hx-font-weight-medium, 500);
|
|
4152
|
-
color: var(--hx-color-neutral-800, #
|
|
5324
|
+
color: var(--hx-color-neutral-800, #1e293b);
|
|
4153
5325
|
overflow: hidden;
|
|
4154
5326
|
text-overflow: ellipsis;
|
|
4155
5327
|
white-space: nowrap;
|
|
@@ -4158,7 +5330,7 @@
|
|
|
4158
5330
|
.file-item__size {
|
|
4159
5331
|
flex-shrink: 0;
|
|
4160
5332
|
font-size: var(--hx-font-size-xs, 0.75rem);
|
|
4161
|
-
color: var(--hx-color-neutral-500, #
|
|
5333
|
+
color: var(--hx-color-neutral-500, #64748b);
|
|
4162
5334
|
}
|
|
4163
5335
|
|
|
4164
5336
|
.file-item__remove {
|
|
@@ -4172,7 +5344,7 @@
|
|
|
4172
5344
|
border: none;
|
|
4173
5345
|
border-radius: var(--hx-border-radius-sm, 0.25rem);
|
|
4174
5346
|
background: transparent;
|
|
4175
|
-
color: var(--hx-color-neutral-500, #
|
|
5347
|
+
color: var(--hx-color-neutral-500, #64748b);
|
|
4176
5348
|
cursor: pointer;
|
|
4177
5349
|
line-height: 1;
|
|
4178
5350
|
transition:
|
|
@@ -4182,7 +5354,7 @@
|
|
|
4182
5354
|
|
|
4183
5355
|
.file-item__remove:hover {
|
|
4184
5356
|
color: var(--hx-file-upload-error-color, var(--hx-color-error-text, #b91c1c));
|
|
4185
|
-
background-color: color-mix(in srgb, var(--hx-color-error-500, #
|
|
5357
|
+
background-color: color-mix(in srgb, var(--hx-color-error-500, #dc2626) 8%, transparent);
|
|
4186
5358
|
}
|
|
4187
5359
|
|
|
4188
5360
|
.file-item__remove:focus-visible {
|
|
@@ -4205,7 +5377,7 @@
|
|
|
4205
5377
|
.progress-track {
|
|
4206
5378
|
width: 100%;
|
|
4207
5379
|
height: var(--hx-file-upload-progress-height, var(--hx-space-1, 0.25rem));
|
|
4208
|
-
background-color: var(--hx-color-neutral-200, #
|
|
5380
|
+
background-color: var(--hx-color-neutral-200, #e2e8f0);
|
|
4209
5381
|
border-radius: var(--hx-border-radius-full, 9999px);
|
|
4210
5382
|
overflow: hidden;
|
|
4211
5383
|
}
|
|
@@ -4303,6 +5475,17 @@
|
|
|
4303
5475
|
font: inherit;
|
|
4304
5476
|
color: inherit;
|
|
4305
5477
|
}
|
|
5478
|
+
|
|
5479
|
+
/* ─── High Contrast Mode (forced-colors) ─── */
|
|
5480
|
+
|
|
5481
|
+
/* hx-format-date renders text-only content using color: inherit from its parent.
|
|
5482
|
+
forced-color-adjust: auto (default) is sufficient — the browser maps
|
|
5483
|
+
inherited text color to CanvasText automatically in forced-colors mode. */
|
|
5484
|
+
@media (forced-colors: active) {
|
|
5485
|
+
:host {
|
|
5486
|
+
forced-color-adjust: auto;
|
|
5487
|
+
}
|
|
5488
|
+
}
|
|
4306
5489
|
/* ── hx-grid ── */
|
|
4307
5490
|
:host {
|
|
4308
5491
|
display: block;
|
|
@@ -4317,6 +5500,16 @@ export const helixGridItemStyles = css`
|
|
|
4317
5500
|
min-width: 0;
|
|
4318
5501
|
min-height: 0;
|
|
4319
5502
|
}
|
|
5503
|
+
|
|
5504
|
+
/* ─── High Contrast Mode (forced-colors) ─── */
|
|
5505
|
+
|
|
5506
|
+
/* hx-grid and hx-grid-item are layout wrappers with no state communicated
|
|
5507
|
+
via color. forced-color-adjust: auto (default) is sufficient. */
|
|
5508
|
+
@media (forced-colors: active) {
|
|
5509
|
+
:host {
|
|
5510
|
+
forced-color-adjust: auto;
|
|
5511
|
+
}
|
|
5512
|
+
}
|
|
4320
5513
|
/* ── hx-help-text ── */
|
|
4321
5514
|
:host {
|
|
4322
5515
|
display: block;
|
|
@@ -4330,7 +5523,7 @@ export const helixGridItemStyles = css`
|
|
|
4330
5523
|
font-size: var(--hx-help-text-font-size, var(--hx-font-size-sm, 0.875rem));
|
|
4331
5524
|
font-weight: var(--hx-help-text-font-weight, var(--hx-font-weight-normal, 400));
|
|
4332
5525
|
line-height: var(--hx-help-text-line-height, var(--hx-line-height-normal, 1.5));
|
|
4333
|
-
color: var(--hx-help-text-color, var(--hx-color-neutral-500, #
|
|
5526
|
+
color: var(--hx-help-text-color, var(--hx-color-neutral-500, #64748b));
|
|
4334
5527
|
margin: 0;
|
|
4335
5528
|
}
|
|
4336
5529
|
|
|
@@ -4347,25 +5540,25 @@ export const helixGridItemStyles = css`
|
|
|
4347
5540
|
/* ─── Variant: default ─── */
|
|
4348
5541
|
|
|
4349
5542
|
.help-text--default {
|
|
4350
|
-
--hx-help-text-color: var(--hx-color-neutral-500, #
|
|
5543
|
+
--hx-help-text-color: var(--hx-color-neutral-500, #64748b);
|
|
4351
5544
|
}
|
|
4352
5545
|
|
|
4353
5546
|
/* ─── Variant: error ─── */
|
|
4354
5547
|
|
|
4355
5548
|
.help-text--error {
|
|
4356
|
-
--hx-help-text-color: var(--hx-color-error-600, #
|
|
5549
|
+
--hx-help-text-color: var(--hx-color-error-600, #b91c1c);
|
|
4357
5550
|
}
|
|
4358
5551
|
|
|
4359
5552
|
/* ─── Variant: warning ─── */
|
|
4360
5553
|
|
|
4361
5554
|
.help-text--warning {
|
|
4362
|
-
--hx-help-text-color: var(--hx-color-warning-700, #
|
|
5555
|
+
--hx-help-text-color: var(--hx-color-warning-700, #92400e);
|
|
4363
5556
|
}
|
|
4364
5557
|
|
|
4365
5558
|
/* ─── Variant: success ─── */
|
|
4366
5559
|
|
|
4367
5560
|
.help-text--success {
|
|
4368
|
-
--hx-help-text-color: var(--hx-color-success-700, #
|
|
5561
|
+
--hx-help-text-color: var(--hx-color-success-700, #166534);
|
|
4369
5562
|
}
|
|
4370
5563
|
|
|
4371
5564
|
/* ─── High Contrast Mode (forced-colors) ─── */
|
|
@@ -4667,8 +5860,8 @@ export const helixGridItemStyles = css`
|
|
|
4667
5860
|
align-items: center;
|
|
4668
5861
|
justify-content: center;
|
|
4669
5862
|
min-height: var(--hx-image-fallback-min-height, 3rem);
|
|
4670
|
-
background-color: var(--hx-color-neutral-100, #
|
|
4671
|
-
color: var(--hx-color-neutral-500, #
|
|
5863
|
+
background-color: var(--hx-color-neutral-100, #f1f5f9);
|
|
5864
|
+
color: var(--hx-color-neutral-500, #64748b);
|
|
4672
5865
|
}
|
|
4673
5866
|
|
|
4674
5867
|
.image__img {
|
|
@@ -4681,7 +5874,7 @@ export const helixGridItemStyles = css`
|
|
|
4681
5874
|
.image__caption {
|
|
4682
5875
|
display: none;
|
|
4683
5876
|
padding: var(--hx-image-caption-padding, 0.5rem 0 0);
|
|
4684
|
-
color: var(--hx-image-caption-color, var(--hx-color-neutral-600, #
|
|
5877
|
+
color: var(--hx-image-caption-color, var(--hx-color-neutral-600, #475569));
|
|
4685
5878
|
font-size: var(--hx-image-caption-font-size, 0.875rem);
|
|
4686
5879
|
}
|
|
4687
5880
|
|
|
@@ -4725,12 +5918,12 @@ export const helixGridItemStyles = css`
|
|
|
4725
5918
|
}
|
|
4726
5919
|
|
|
4727
5920
|
.link:hover {
|
|
4728
|
-
color: var(--hx-link-color-hover, var(--hx-color-primary-700, #
|
|
5921
|
+
color: var(--hx-link-color-hover, var(--hx-color-primary-700, #1e40af));
|
|
4729
5922
|
text-decoration: var(--hx-link-text-decoration-hover, underline);
|
|
4730
5923
|
}
|
|
4731
5924
|
|
|
4732
5925
|
.link:active {
|
|
4733
|
-
color: var(--hx-link-color-active, var(--hx-color-primary-800, #
|
|
5926
|
+
color: var(--hx-link-color-active, var(--hx-color-primary-800, #1e3a8a));
|
|
4734
5927
|
}
|
|
4735
5928
|
|
|
4736
5929
|
.link:focus-visible {
|
|
@@ -4740,7 +5933,7 @@ export const helixGridItemStyles = css`
|
|
|
4740
5933
|
var(--hx-focus-ring-color, var(--hx-color-primary-400, #60a5fa))
|
|
4741
5934
|
);
|
|
4742
5935
|
outline-offset: var(--hx-focus-ring-offset, 2px);
|
|
4743
|
-
border-radius: var(--hx-border-radius-sm, 0.
|
|
5936
|
+
border-radius: var(--hx-border-radius-sm, 0.25rem);
|
|
4744
5937
|
}
|
|
4745
5938
|
|
|
4746
5939
|
/* --- Variant: subtle --- */
|
|
@@ -4751,7 +5944,7 @@ export const helixGridItemStyles = css`
|
|
|
4751
5944
|
}
|
|
4752
5945
|
|
|
4753
5946
|
.link--subtle:hover {
|
|
4754
|
-
color: var(--hx-link-color-hover, var(--hx-color-primary-700, #
|
|
5947
|
+
color: var(--hx-link-color-hover, var(--hx-color-primary-700, #1e40af));
|
|
4755
5948
|
text-decoration: underline;
|
|
4756
5949
|
}
|
|
4757
5950
|
|
|
@@ -4762,7 +5955,7 @@ export const helixGridItemStyles = css`
|
|
|
4762
5955
|
}
|
|
4763
5956
|
|
|
4764
5957
|
.link--danger:hover {
|
|
4765
|
-
color: var(--hx-link-color-danger-hover, var(--hx-color-error-700, #
|
|
5958
|
+
color: var(--hx-link-color-danger-hover, var(--hx-color-error-700, #991b1b));
|
|
4766
5959
|
}
|
|
4767
5960
|
|
|
4768
5961
|
/* --- Disabled --- */
|
|
@@ -4867,6 +6060,16 @@ export const helixGridItemStyles = css`
|
|
|
4867
6060
|
border-bottom: var(--hx-border-width-thin, 1px) solid
|
|
4868
6061
|
var(--hx-list-divider-color, var(--hx-color-neutral-200, #e2e8f0));
|
|
4869
6062
|
}
|
|
6063
|
+
|
|
6064
|
+
/* ─── High Contrast Mode (forced-colors) ─── */
|
|
6065
|
+
|
|
6066
|
+
@media (forced-colors: active) {
|
|
6067
|
+
/* Divider borders are already using a border property, which forced-colors respects.
|
|
6068
|
+
Ensure the system color is used for divider borders. */
|
|
6069
|
+
:host([divided]) .list > ::slotted(hx-list-item:not(:last-child)) {
|
|
6070
|
+
border-bottom-color: CanvasText;
|
|
6071
|
+
}
|
|
6072
|
+
}
|
|
4870
6073
|
/* ── hx-menu ── */
|
|
4871
6074
|
:host {
|
|
4872
6075
|
display: block;
|
|
@@ -4882,8 +6085,7 @@ export const helixGridItemStyles = css`
|
|
|
4882
6085
|
border-radius: var(--hx-menu-border-radius, var(--hx-border-radius-md, 0.375rem));
|
|
4883
6086
|
box-shadow: var(
|
|
4884
6087
|
--hx-menu-shadow,
|
|
4885
|
-
0 4px 6px -1px rgb(0 0 0 / 0.1),
|
|
4886
|
-
0 2px 4px -2px rgb(0 0 0 / 0.1)
|
|
6088
|
+
var(--hx-shadow-md, 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1))
|
|
4887
6089
|
);
|
|
4888
6090
|
min-width: var(--hx-menu-min-width, 10rem);
|
|
4889
6091
|
max-height: var(--hx-menu-max-height, 20rem);
|
|
@@ -4915,14 +6117,14 @@ export const helixGridItemStyles = css`
|
|
|
4915
6117
|
}
|
|
4916
6118
|
|
|
4917
6119
|
.meter:focus-visible {
|
|
4918
|
-
outline: var(--hx-focus-ring-width, 2px) solid var(--hx-focus-ring-color, #
|
|
6120
|
+
outline: var(--hx-focus-ring-width, 2px) solid var(--hx-focus-ring-color, #60a5fa);
|
|
4919
6121
|
outline-offset: var(--hx-focus-ring-offset, 2px);
|
|
4920
6122
|
}
|
|
4921
6123
|
|
|
4922
6124
|
.meter__label {
|
|
4923
6125
|
font-size: var(--hx-font-size-sm, 0.875rem);
|
|
4924
6126
|
font-weight: var(--hx-font-weight-medium, 500);
|
|
4925
|
-
color: var(--hx-meter-label-color, var(--hx-color-neutral-700, #
|
|
6127
|
+
color: var(--hx-meter-label-color, var(--hx-color-neutral-700, #334155));
|
|
4926
6128
|
line-height: var(--hx-line-height-normal, 1.5);
|
|
4927
6129
|
}
|
|
4928
6130
|
|
|
@@ -4930,7 +6132,7 @@ export const helixGridItemStyles = css`
|
|
|
4930
6132
|
position: relative;
|
|
4931
6133
|
width: 100%;
|
|
4932
6134
|
height: var(--hx-meter-track-height, var(--hx-space-2, 0.5rem));
|
|
4933
|
-
background-color: var(--hx-meter-track-color, var(--hx-color-neutral-200, #
|
|
6135
|
+
background-color: var(--hx-meter-track-color, var(--hx-color-neutral-200, #e2e8f0));
|
|
4934
6136
|
border-radius: var(--hx-meter-track-radius, var(--hx-border-radius-full, 9999px));
|
|
4935
6137
|
overflow: hidden;
|
|
4936
6138
|
}
|
|
@@ -4959,17 +6161,17 @@ export const helixGridItemStyles = css`
|
|
|
4959
6161
|
/* ─── Default (no thresholds configured) ─── */
|
|
4960
6162
|
|
|
4961
6163
|
:host {
|
|
4962
|
-
--_indicator-color: var(--hx-meter-indicator-color, var(--hx-color-primary-500, #
|
|
6164
|
+
--_indicator-color: var(--hx-meter-indicator-color, var(--hx-color-primary-500, #2563eb));
|
|
4963
6165
|
}
|
|
4964
6166
|
|
|
4965
6167
|
/* ─── Semantic state colors ─── */
|
|
4966
6168
|
|
|
4967
6169
|
:host([data-state='optimum']) {
|
|
4968
|
-
--_indicator-color: var(--hx-meter-color-optimum, var(--hx-color-success-500, #
|
|
6170
|
+
--_indicator-color: var(--hx-meter-color-optimum, var(--hx-color-success-500, #16a34a));
|
|
4969
6171
|
}
|
|
4970
6172
|
|
|
4971
6173
|
:host([data-state='warning']) {
|
|
4972
|
-
--_indicator-color: var(--hx-meter-color-warning, var(--hx-color-warning-500, #
|
|
6174
|
+
--_indicator-color: var(--hx-meter-color-warning, var(--hx-color-warning-500, #d97706));
|
|
4973
6175
|
}
|
|
4974
6176
|
|
|
4975
6177
|
:host([data-state='danger']) {
|
|
@@ -4985,15 +6187,15 @@ export const helixGridItemStyles = css`
|
|
|
4985
6187
|
font-size: var(--hx-font-size-xs, 0.75rem);
|
|
4986
6188
|
font-weight: var(--hx-font-weight-medium, 500);
|
|
4987
6189
|
line-height: var(--hx-line-height-tight, 1.25);
|
|
4988
|
-
font-family: var(--hx-font-family-sans, sans-serif);
|
|
6190
|
+
font-family: var(--hx-meter-font-family, var(--hx-font-family-sans, sans-serif));
|
|
4989
6191
|
}
|
|
4990
6192
|
|
|
4991
6193
|
.meter__state-label[data-state='optimum'] {
|
|
4992
|
-
color: var(--hx-meter-color-optimum, var(--hx-color-success-700, #
|
|
6194
|
+
color: var(--hx-meter-color-optimum, var(--hx-color-success-700, #166534));
|
|
4993
6195
|
}
|
|
4994
6196
|
|
|
4995
6197
|
.meter__state-label[data-state='warning'] {
|
|
4996
|
-
color: var(--hx-meter-color-warning, var(--hx-color-warning-700, #
|
|
6198
|
+
color: var(--hx-meter-color-warning, var(--hx-color-warning-700, #92400e));
|
|
4997
6199
|
}
|
|
4998
6200
|
|
|
4999
6201
|
.meter__state-label[data-state='danger'] {
|
|
@@ -5041,8 +6243,8 @@ export const helixGridItemStyles = css`
|
|
|
5041
6243
|
|
|
5042
6244
|
[part='nav'] {
|
|
5043
6245
|
position: relative;
|
|
5044
|
-
background-color: var(--hx-nav-bg, var(--hx-color-neutral-900, #
|
|
5045
|
-
color: var(--hx-nav-color, var(--hx-color-neutral-100, #
|
|
6246
|
+
background-color: var(--hx-nav-bg, var(--hx-color-neutral-900, #0f172a));
|
|
6247
|
+
color: var(--hx-nav-color, var(--hx-color-neutral-100, #f1f5f9));
|
|
5046
6248
|
padding: var(--hx-nav-padding, var(--hx-space-2, 0.5rem) var(--hx-space-4, 1rem));
|
|
5047
6249
|
}
|
|
5048
6250
|
|
|
@@ -5056,14 +6258,14 @@ export const helixGridItemStyles = css`
|
|
|
5056
6258
|
background: transparent;
|
|
5057
6259
|
border: none;
|
|
5058
6260
|
border-radius: var(--hx-nav-border-radius, var(--hx-border-radius-sm, 0.25rem));
|
|
5059
|
-
color: var(--hx-nav-color, var(--hx-color-neutral-100, #
|
|
6261
|
+
color: var(--hx-nav-color, var(--hx-color-neutral-100, #f1f5f9));
|
|
5060
6262
|
cursor: pointer;
|
|
5061
6263
|
transition: background-color var(--hx-transition-fast, 150ms) ease;
|
|
5062
6264
|
line-height: 0;
|
|
5063
6265
|
}
|
|
5064
6266
|
|
|
5065
6267
|
[part='toggle']:hover {
|
|
5066
|
-
background-color: var(--hx-nav-link-hover-bg, var(--hx-color-neutral-700, #
|
|
6268
|
+
background-color: var(--hx-nav-link-hover-bg, var(--hx-color-neutral-700, #334155));
|
|
5067
6269
|
}
|
|
5068
6270
|
|
|
5069
6271
|
[part='toggle']:focus-visible {
|
|
@@ -5098,7 +6300,7 @@ export const helixGridItemStyles = css`
|
|
|
5098
6300
|
align-items: center;
|
|
5099
6301
|
gap: var(--hx-space-1, 0.25rem);
|
|
5100
6302
|
padding: var(--hx-nav-item-padding, var(--hx-space-2, 0.5rem) var(--hx-space-3, 0.75rem));
|
|
5101
|
-
color: var(--hx-nav-link-color, var(--hx-color-neutral-100, #
|
|
6303
|
+
color: var(--hx-nav-link-color, var(--hx-color-neutral-100, #f1f5f9));
|
|
5102
6304
|
text-decoration: none;
|
|
5103
6305
|
border-radius: var(--hx-nav-border-radius, var(--hx-border-radius-sm, 0.25rem));
|
|
5104
6306
|
border: none;
|
|
@@ -5115,7 +6317,7 @@ export const helixGridItemStyles = css`
|
|
|
5115
6317
|
}
|
|
5116
6318
|
|
|
5117
6319
|
.nav__link:hover {
|
|
5118
|
-
background-color: var(--hx-nav-link-hover-bg, var(--hx-color-neutral-700, #
|
|
6320
|
+
background-color: var(--hx-nav-link-hover-bg, var(--hx-color-neutral-700, #334155));
|
|
5119
6321
|
color: var(--hx-nav-link-hover-color, var(--hx-color-neutral-0, #ffffff));
|
|
5120
6322
|
}
|
|
5121
6323
|
|
|
@@ -5126,7 +6328,7 @@ export const helixGridItemStyles = css`
|
|
|
5126
6328
|
}
|
|
5127
6329
|
|
|
5128
6330
|
.nav__link--active {
|
|
5129
|
-
background-color: var(--hx-nav-link-active-bg, var(--hx-color-primary-600, #
|
|
6331
|
+
background-color: var(--hx-nav-link-active-bg, var(--hx-color-primary-600, #1d4ed8));
|
|
5130
6332
|
color: var(--hx-nav-link-active-color, var(--hx-color-neutral-0, #ffffff));
|
|
5131
6333
|
}
|
|
5132
6334
|
|
|
@@ -5151,12 +6353,11 @@ export const helixGridItemStyles = css`
|
|
|
5151
6353
|
list-style: none;
|
|
5152
6354
|
margin: 0;
|
|
5153
6355
|
padding: var(--hx-space-1, 0.25rem) 0;
|
|
5154
|
-
background-color: var(--hx-nav-submenu-bg, var(--hx-color-neutral-800, #
|
|
6356
|
+
background-color: var(--hx-nav-submenu-bg, var(--hx-color-neutral-800, #1e293b));
|
|
5155
6357
|
border-radius: var(--hx-border-radius-md, 0.375rem);
|
|
5156
6358
|
box-shadow: var(
|
|
5157
|
-
--hx-shadow
|
|
5158
|
-
0 4px 6px -1px rgb(0 0 0 / 0.1),
|
|
5159
|
-
0 2px 4px -2px rgb(0 0 0 / 0.1)
|
|
6359
|
+
--hx-nav-shadow,
|
|
6360
|
+
var(--hx-shadow-md, 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1))
|
|
5160
6361
|
);
|
|
5161
6362
|
z-index: var(--hx-z-index-dropdown, 1000);
|
|
5162
6363
|
}
|
|
@@ -5206,7 +6407,7 @@ export const helixGridItemStyles = css`
|
|
|
5206
6407
|
:host([orientation='vertical']) .nav__submenu .nav__link {
|
|
5207
6408
|
padding: var(--hx-space-1-5, 0.375rem) var(--hx-space-3, 0.75rem);
|
|
5208
6409
|
font-size: var(--hx-font-size-xs, 0.75rem);
|
|
5209
|
-
color: var(--hx-nav-link-color, var(--hx-color-neutral-300, #
|
|
6410
|
+
color: var(--hx-nav-link-color, var(--hx-color-neutral-300, #cbd5e1));
|
|
5210
6411
|
}
|
|
5211
6412
|
|
|
5212
6413
|
/* ─── Mobile Responsive ─── */
|
|
@@ -5616,7 +6817,7 @@ export const helixGridItemStyles = css`
|
|
|
5616
6817
|
|
|
5617
6818
|
:host([disabled]) {
|
|
5618
6819
|
pointer-events: none;
|
|
5619
|
-
opacity: var(--hx-opacity-disabled, 0.
|
|
6820
|
+
opacity: var(--hx-opacity-disabled, 0.5);
|
|
5620
6821
|
}
|
|
5621
6822
|
|
|
5622
6823
|
/* ─── Trigger Button ─── */
|
|
@@ -5628,11 +6829,11 @@ export const helixGridItemStyles = css`
|
|
|
5628
6829
|
border: var(--hx-border-width-thin, 1px) solid transparent;
|
|
5629
6830
|
border-radius: var(--hx-border-radius-md, 0.375rem);
|
|
5630
6831
|
background-color: transparent;
|
|
5631
|
-
color: var(--hx-overflow-menu-button-color, var(--hx-color-neutral-600, #
|
|
6832
|
+
color: var(--hx-overflow-menu-button-color, var(--hx-color-neutral-600, #475569));
|
|
5632
6833
|
cursor: pointer;
|
|
5633
6834
|
transition:
|
|
5634
|
-
background-color var(--hx-transition-fast,
|
|
5635
|
-
color var(--hx-transition-fast,
|
|
6835
|
+
background-color var(--hx-transition-fast, 150ms ease),
|
|
6836
|
+
color var(--hx-transition-fast, 150ms ease);
|
|
5636
6837
|
flex-shrink: 0;
|
|
5637
6838
|
padding: 0;
|
|
5638
6839
|
line-height: 1;
|
|
@@ -5648,11 +6849,11 @@ export const helixGridItemStyles = css`
|
|
|
5648
6849
|
}
|
|
5649
6850
|
|
|
5650
6851
|
.trigger:hover:not([disabled]) {
|
|
5651
|
-
background-color: var(--hx-color-neutral-100, #
|
|
6852
|
+
background-color: var(--hx-color-neutral-100, #f1f5f9);
|
|
5652
6853
|
}
|
|
5653
6854
|
|
|
5654
6855
|
.trigger--open {
|
|
5655
|
-
background-color: var(--hx-color-neutral-100, #
|
|
6856
|
+
background-color: var(--hx-color-neutral-100, #f1f5f9);
|
|
5656
6857
|
}
|
|
5657
6858
|
|
|
5658
6859
|
/* ─── Size Variants ─── */
|
|
@@ -5685,8 +6886,8 @@ export const helixGridItemStyles = css`
|
|
|
5685
6886
|
position: fixed;
|
|
5686
6887
|
z-index: var(--hx-overflow-menu-panel-z-index, 1000);
|
|
5687
6888
|
min-width: var(--hx-overflow-menu-panel-min-width, 160px);
|
|
5688
|
-
background: var(--hx-overflow-menu-panel-bg, var(--hx-color-neutral-0, #
|
|
5689
|
-
border: var(--hx-overflow-menu-panel-border, 1px solid var(--hx-color-neutral-200, #
|
|
6889
|
+
background: var(--hx-overflow-menu-panel-bg, var(--hx-color-neutral-0, #ffffff));
|
|
6890
|
+
border: var(--hx-overflow-menu-panel-border, 1px solid var(--hx-color-neutral-200, #e2e8f0));
|
|
5690
6891
|
border-radius: var(
|
|
5691
6892
|
--hx-overflow-menu-panel-border-radius,
|
|
5692
6893
|
var(--hx-border-radius-md, 0.375rem)
|
|
@@ -5711,7 +6912,7 @@ export const helixGridItemStyles = css`
|
|
|
5711
6912
|
border: none;
|
|
5712
6913
|
text-align: start;
|
|
5713
6914
|
font-size: var(--hx-font-size-sm, 0.875rem);
|
|
5714
|
-
color: var(--hx-color-neutral-900, #
|
|
6915
|
+
color: var(--hx-color-neutral-900, #0f172a);
|
|
5715
6916
|
cursor: pointer;
|
|
5716
6917
|
white-space: nowrap;
|
|
5717
6918
|
box-sizing: border-box;
|
|
@@ -5720,7 +6921,7 @@ export const helixGridItemStyles = css`
|
|
|
5720
6921
|
::slotted([role='menuitem']:hover),
|
|
5721
6922
|
::slotted([role='menuitemcheckbox']:hover),
|
|
5722
6923
|
::slotted([role='menuitemradio']:hover) {
|
|
5723
|
-
background-color: var(--hx-color-neutral-50, #
|
|
6924
|
+
background-color: var(--hx-color-neutral-50, #f8fafc);
|
|
5724
6925
|
}
|
|
5725
6926
|
|
|
5726
6927
|
::slotted([role='menuitem']:focus-visible),
|
|
@@ -5775,7 +6976,7 @@ export const helixGridItemStyles = css`
|
|
|
5775
6976
|
/* ── hx-pagination ── */
|
|
5776
6977
|
:host {
|
|
5777
6978
|
display: block;
|
|
5778
|
-
font-family: var(--hx-font-family-sans, sans-serif);
|
|
6979
|
+
font-family: var(--hx-pagination-font-family, var(--hx-font-family-sans, sans-serif));
|
|
5779
6980
|
}
|
|
5780
6981
|
|
|
5781
6982
|
.pagination-root {
|
|
@@ -5808,14 +7009,14 @@ export const helixGridItemStyles = css`
|
|
|
5808
7009
|
display: inline-flex;
|
|
5809
7010
|
align-items: center;
|
|
5810
7011
|
justify-content: center;
|
|
5811
|
-
min-width: var(--hx-pagination-button-size, 2.
|
|
5812
|
-
height: var(--hx-pagination-button-size, 2.
|
|
7012
|
+
min-width: var(--hx-pagination-button-size, var(--hx-touch-target-min, 2.75rem));
|
|
7013
|
+
min-height: var(--hx-pagination-button-size, var(--hx-touch-target-min, 2.75rem));
|
|
5813
7014
|
padding: 0 var(--hx-space-2, 0.5rem);
|
|
5814
7015
|
border: var(--hx-border-width-thin, 1px) solid
|
|
5815
|
-
var(--hx-pagination-border-color, var(--hx-color-neutral-300, #
|
|
7016
|
+
var(--hx-pagination-border-color, var(--hx-color-neutral-300, #cbd5e1));
|
|
5816
7017
|
border-radius: var(--hx-pagination-border-radius, var(--hx-border-radius-md, 0.375rem));
|
|
5817
7018
|
background: var(--hx-pagination-bg, var(--hx-color-neutral-0, #ffffff));
|
|
5818
|
-
color: var(--hx-pagination-color, var(--hx-color-neutral-900, #
|
|
7019
|
+
color: var(--hx-pagination-color, var(--hx-color-neutral-900, #0f172a));
|
|
5819
7020
|
font-size: var(--hx-font-size-sm, 0.875rem);
|
|
5820
7021
|
font-family: inherit;
|
|
5821
7022
|
cursor: pointer;
|
|
@@ -5828,7 +7029,7 @@ export const helixGridItemStyles = css`
|
|
|
5828
7029
|
}
|
|
5829
7030
|
|
|
5830
7031
|
.button:hover:not(:disabled) {
|
|
5831
|
-
background: var(--hx-pagination-hover-bg, var(--hx-color-neutral-100, #
|
|
7032
|
+
background: var(--hx-pagination-hover-bg, var(--hx-color-neutral-100, #f1f5f9));
|
|
5832
7033
|
border-color: var(--hx-pagination-hover-border-color, var(--hx-color-primary-500, #2563eb));
|
|
5833
7034
|
}
|
|
5834
7035
|
|
|
@@ -5859,9 +7060,9 @@ export const helixGridItemStyles = css`
|
|
|
5859
7060
|
display: inline-flex;
|
|
5860
7061
|
align-items: center;
|
|
5861
7062
|
justify-content: center;
|
|
5862
|
-
min-width: var(--hx-pagination-button-size, 2.
|
|
5863
|
-
height: var(--hx-pagination-button-size, 2.
|
|
5864
|
-
color: var(--hx-pagination-ellipsis-color, var(--hx-color-neutral-500, #
|
|
7063
|
+
min-width: var(--hx-pagination-button-size, var(--hx-touch-target-min, 2.75rem));
|
|
7064
|
+
min-height: var(--hx-pagination-button-size, var(--hx-touch-target-min, 2.75rem));
|
|
7065
|
+
color: var(--hx-pagination-ellipsis-color, var(--hx-color-neutral-500, #64748b));
|
|
5865
7066
|
font-size: var(--hx-font-size-sm, 0.875rem);
|
|
5866
7067
|
user-select: none;
|
|
5867
7068
|
}
|
|
@@ -5882,18 +7083,18 @@ export const helixGridItemStyles = css`
|
|
|
5882
7083
|
align-items: center;
|
|
5883
7084
|
gap: var(--hx-space-2, 0.5rem);
|
|
5884
7085
|
font-size: var(--hx-font-size-sm, 0.875rem);
|
|
5885
|
-
color: var(--hx-color-neutral-500, #
|
|
7086
|
+
color: var(--hx-color-neutral-500, #64748b);
|
|
5886
7087
|
white-space: nowrap;
|
|
5887
7088
|
}
|
|
5888
7089
|
|
|
5889
7090
|
.page-size-select {
|
|
5890
|
-
height: var(--hx-pagination-button-size, 2.
|
|
7091
|
+
min-height: var(--hx-pagination-button-size, var(--hx-touch-target-min, 2.75rem));
|
|
5891
7092
|
padding: 0 var(--hx-space-2, 0.5rem);
|
|
5892
7093
|
border: var(--hx-border-width-thin, 1px) solid
|
|
5893
|
-
var(--hx-pagination-border-color, var(--hx-color-neutral-300, #
|
|
7094
|
+
var(--hx-pagination-border-color, var(--hx-color-neutral-300, #cbd5e1));
|
|
5894
7095
|
border-radius: var(--hx-pagination-border-radius, var(--hx-border-radius-md, 0.375rem));
|
|
5895
7096
|
background: var(--hx-pagination-bg, var(--hx-color-neutral-0, #ffffff));
|
|
5896
|
-
color: var(--hx-pagination-color, var(--hx-color-neutral-900, #
|
|
7097
|
+
color: var(--hx-pagination-color, var(--hx-color-neutral-900, #0f172a));
|
|
5897
7098
|
font-size: var(--hx-font-size-sm, 0.875rem);
|
|
5898
7099
|
font-family: inherit;
|
|
5899
7100
|
cursor: pointer;
|
|
@@ -5971,20 +7172,20 @@ export const helixGridItemStyles = css`
|
|
|
5971
7172
|
width: 100%;
|
|
5972
7173
|
|
|
5973
7174
|
/* ─── Private token vars (3-tier cascade) ─── */
|
|
5974
|
-
--_bg: var(--hx-patient-banner-bg, var(--hx-color-neutral-50, #
|
|
5975
|
-
--_border-color: var(--hx-patient-banner-border-color, var(--hx-color-neutral-200, #
|
|
7175
|
+
--_bg: var(--hx-patient-banner-bg, var(--hx-color-neutral-50, #f8fafc));
|
|
7176
|
+
--_border-color: var(--hx-patient-banner-border-color, var(--hx-color-neutral-200, #e2e8f0));
|
|
5976
7177
|
--_padding: var(
|
|
5977
7178
|
--hx-patient-banner-padding,
|
|
5978
7179
|
var(--hx-space-3, 0.75rem) var(--hx-space-4, 1rem)
|
|
5979
7180
|
);
|
|
5980
7181
|
--_gap: var(--hx-patient-banner-gap, var(--hx-space-4, 1rem));
|
|
5981
7182
|
--_font-family: var(--hx-patient-banner-font-family, var(--hx-font-family-sans, sans-serif));
|
|
5982
|
-
--_label-color: var(--hx-patient-banner-label-color, var(--hx-color-neutral-500, #
|
|
7183
|
+
--_label-color: var(--hx-patient-banner-label-color, var(--hx-color-neutral-500, #64748b));
|
|
5983
7184
|
--_label-font-size: var(--hx-patient-banner-label-font-size, var(--hx-font-size-xs, 0.75rem));
|
|
5984
|
-
--_value-color: var(--hx-patient-banner-value-color, var(--hx-color-neutral-900, #
|
|
7185
|
+
--_value-color: var(--hx-patient-banner-value-color, var(--hx-color-neutral-900, #0f172a));
|
|
5985
7186
|
--_value-font-size: var(--hx-patient-banner-value-font-size, var(--hx-font-size-sm, 0.875rem));
|
|
5986
7187
|
--_photo-size: var(--hx-patient-banner-photo-size, var(--hx-space-10, 2.5rem));
|
|
5987
|
-
--_photo-bg: var(--hx-patient-banner-photo-bg, var(--hx-color-neutral-200, #
|
|
7188
|
+
--_photo-bg: var(--hx-patient-banner-photo-bg, var(--hx-color-neutral-200, #e2e8f0));
|
|
5988
7189
|
}
|
|
5989
7190
|
|
|
5990
7191
|
* {
|
|
@@ -6011,9 +7212,9 @@ export const helixGridItemStyles = css`
|
|
|
6011
7212
|
flex-shrink: 0;
|
|
6012
7213
|
width: var(--_photo-size);
|
|
6013
7214
|
height: var(--_photo-size);
|
|
6014
|
-
/* Minimum
|
|
6015
|
-
min-width: 44px;
|
|
6016
|
-
min-height: 44px;
|
|
7215
|
+
/* Minimum touch target for interactive photo content (WCAG 2.5.8). */
|
|
7216
|
+
min-width: var(--hx-touch-target-size, 44px);
|
|
7217
|
+
min-height: var(--hx-touch-target-size, 44px);
|
|
6017
7218
|
border-radius: var(--hx-border-radius-full, 9999px);
|
|
6018
7219
|
overflow: hidden;
|
|
6019
7220
|
display: flex;
|
|
@@ -6066,7 +7267,7 @@ export const helixGridItemStyles = css`
|
|
|
6066
7267
|
border-bottom-color: var(--hx-color-error-400, #f87171);
|
|
6067
7268
|
background-color: var(--hx-color-error-50, #fef2f2);
|
|
6068
7269
|
/* Darken label color to maintain 4.5:1 contrast on error-50 background. */
|
|
6069
|
-
--_label-color: var(--hx-patient-banner-label-color, var(--hx-color-neutral-700, #
|
|
7270
|
+
--_label-color: var(--hx-patient-banner-label-color, var(--hx-color-neutral-700, #334155));
|
|
6070
7271
|
}
|
|
6071
7272
|
|
|
6072
7273
|
:host([aria-invalid='true']) .banner::before {
|
|
@@ -6077,7 +7278,7 @@ export const helixGridItemStyles = css`
|
|
|
6077
7278
|
top: 0;
|
|
6078
7279
|
bottom: 0;
|
|
6079
7280
|
width: var(--hx-border-width-thick, 4px);
|
|
6080
|
-
background-color: var(--hx-color-error-500, #
|
|
7281
|
+
background-color: var(--hx-color-error-500, #dc2626);
|
|
6081
7282
|
border-radius: 0;
|
|
6082
7283
|
}
|
|
6083
7284
|
|
|
@@ -6143,12 +7344,12 @@ export const helixGridItemStyles = css`
|
|
|
6143
7344
|
.phi-field__value--masked {
|
|
6144
7345
|
user-select: none;
|
|
6145
7346
|
-webkit-user-select: none;
|
|
6146
|
-
color: var(--hx-phi-field-masked-color, var(--hx-color-neutral-500, #
|
|
7347
|
+
color: var(--hx-phi-field-masked-color, var(--hx-color-neutral-500, #64748b));
|
|
6147
7348
|
letter-spacing: var(--hx-phi-field-letter-spacing, 0.1em);
|
|
6148
7349
|
}
|
|
6149
7350
|
|
|
6150
7351
|
.phi-field__value--revealed {
|
|
6151
|
-
color: var(--hx-phi-field-value-color, var(--hx-color-neutral-900, #
|
|
7352
|
+
color: var(--hx-phi-field-value-color, var(--hx-color-neutral-900, #0f172a));
|
|
6152
7353
|
}
|
|
6153
7354
|
|
|
6154
7355
|
/* ─── Screen Reader Status ─── */
|
|
@@ -6170,9 +7371,12 @@ export const helixGridItemStyles = css`
|
|
|
6170
7371
|
.phi-field__toggle {
|
|
6171
7372
|
display: inline-flex;
|
|
6172
7373
|
align-items: center;
|
|
7374
|
+
justify-content: center;
|
|
6173
7375
|
background: none;
|
|
6174
7376
|
border: none;
|
|
6175
7377
|
padding: var(--hx-space-1, 0.25rem);
|
|
7378
|
+
min-width: var(--hx-touch-target-min, 2.75rem);
|
|
7379
|
+
min-height: var(--hx-touch-target-min, 2.75rem);
|
|
6176
7380
|
color: var(--hx-phi-field-toggle-color, var(--hx-color-primary-500, #2563eb));
|
|
6177
7381
|
cursor: pointer;
|
|
6178
7382
|
line-height: 1;
|
|
@@ -6252,11 +7456,11 @@ export const helixGridItemStyles = css`
|
|
|
6252
7456
|
max-width: var(--hx-popover-max-width, 320px);
|
|
6253
7457
|
padding: var(--hx-popover-padding, var(--hx-space-3, 0.75rem));
|
|
6254
7458
|
background: var(--hx-popover-bg, var(--hx-color-neutral-0, #ffffff));
|
|
6255
|
-
color: var(--hx-popover-color, var(--hx-color-neutral-900, #
|
|
6256
|
-
font-family: var(--hx-font-family-sans, sans-serif);
|
|
7459
|
+
color: var(--hx-popover-color, var(--hx-color-neutral-900, #0f172a));
|
|
7460
|
+
font-family: var(--hx-popover-font-family, var(--hx-font-family-sans, sans-serif));
|
|
6257
7461
|
font-size: var(--hx-popover-font-size, var(--hx-font-size-sm, 0.875rem));
|
|
6258
7462
|
line-height: var(--hx-line-height-normal, 1.5);
|
|
6259
|
-
border: 1px solid var(--hx-popover-border-color, var(--hx-color-neutral-200, #
|
|
7463
|
+
border: 1px solid var(--hx-popover-border-color, var(--hx-color-neutral-200, #e2e8f0));
|
|
6260
7464
|
border-radius: var(--hx-popover-border-radius, var(--hx-border-radius-md, 0.375rem));
|
|
6261
7465
|
box-shadow: var(
|
|
6262
7466
|
--hx-popover-shadow,
|
|
@@ -6286,7 +7490,7 @@ export const helixGridItemStyles = css`
|
|
|
6286
7490
|
width: var(--hx-popover-arrow-size, 10px);
|
|
6287
7491
|
height: var(--hx-popover-arrow-size, 10px);
|
|
6288
7492
|
background: var(--hx-popover-bg, var(--hx-color-neutral-0, #ffffff));
|
|
6289
|
-
border: 1px solid var(--hx-popover-border-color, var(--hx-color-neutral-200, #
|
|
7493
|
+
border: 1px solid var(--hx-popover-border-color, var(--hx-color-neutral-200, #e2e8f0));
|
|
6290
7494
|
transform: rotate(45deg);
|
|
6291
7495
|
pointer-events: none;
|
|
6292
7496
|
}
|
|
@@ -6467,7 +7671,7 @@ export const helixGridItemStyles = css`
|
|
|
6467
7671
|
.progress-bar--indeterminate .progress-bar__fill {
|
|
6468
7672
|
animation: none;
|
|
6469
7673
|
transform: scaleX(1);
|
|
6470
|
-
opacity: var(--hx-opacity-disabled, 0.5);
|
|
7674
|
+
opacity: var(--hx-opacity-disabled, 0.5);
|
|
6471
7675
|
}
|
|
6472
7676
|
}
|
|
6473
7677
|
|
|
@@ -6621,11 +7825,33 @@ export const helixGridItemStyles = css`
|
|
|
6621
7825
|
justify-content: center;
|
|
6622
7826
|
inset: 0;
|
|
6623
7827
|
font-size: var(--hx-font-size-xs, 0.75rem);
|
|
6624
|
-
font-family: var(--hx-font-family-sans, sans-serif);
|
|
7828
|
+
font-family: var(--hx-progress-ring-font-family, var(--hx-font-family-sans, sans-serif));
|
|
6625
7829
|
font-weight: var(--hx-font-weight-semibold, 600);
|
|
6626
7830
|
color: var(--hx-progress-ring-label-color, var(--hx-color-neutral-900, #0f172a));
|
|
6627
7831
|
pointer-events: none;
|
|
6628
7832
|
}
|
|
7833
|
+
|
|
7834
|
+
/* ─── High Contrast Mode (forced-colors) ─── */
|
|
7835
|
+
|
|
7836
|
+
@media (forced-colors: active) {
|
|
7837
|
+
/*
|
|
7838
|
+
* SVG stroke colors are suppressed in forced-colors mode. Use system color
|
|
7839
|
+
* keywords so progress state remains distinguishable.
|
|
7840
|
+
*/
|
|
7841
|
+
.progress-ring__track {
|
|
7842
|
+
stroke: GrayText;
|
|
7843
|
+
}
|
|
7844
|
+
|
|
7845
|
+
.progress-ring__indicator {
|
|
7846
|
+
stroke: Highlight;
|
|
7847
|
+
}
|
|
7848
|
+
|
|
7849
|
+
:host([variant='success']) .progress-ring__indicator,
|
|
7850
|
+
:host([variant='warning']) .progress-ring__indicator,
|
|
7851
|
+
:host([variant='danger']) .progress-ring__indicator {
|
|
7852
|
+
stroke: Highlight;
|
|
7853
|
+
}
|
|
7854
|
+
}
|
|
6629
7855
|
/* ── hx-radio-group ── */
|
|
6630
7856
|
:host {
|
|
6631
7857
|
display: block;
|
|
@@ -6649,7 +7875,7 @@ export const helixGridItemStyles = css`
|
|
|
6649
7875
|
display: flex;
|
|
6650
7876
|
flex-direction: column;
|
|
6651
7877
|
gap: var(--hx-space-2, 0.5rem);
|
|
6652
|
-
font-family: var(--hx-font-family-sans, sans-serif);
|
|
7878
|
+
font-family: var(--hx-radio-group-font-family, var(--hx-font-family-sans, sans-serif));
|
|
6653
7879
|
}
|
|
6654
7880
|
|
|
6655
7881
|
/* ─── Legend ─── */
|
|
@@ -6660,7 +7886,7 @@ export const helixGridItemStyles = css`
|
|
|
6660
7886
|
gap: var(--hx-space-1, 0.25rem);
|
|
6661
7887
|
font-size: var(--hx-font-size-sm, 0.875rem);
|
|
6662
7888
|
font-weight: var(--hx-font-weight-medium, 500);
|
|
6663
|
-
color: var(--hx-radio-group-label-color, var(--hx-color-neutral-700, #
|
|
7889
|
+
color: var(--hx-radio-group-label-color, var(--hx-color-neutral-700, #334155));
|
|
6664
7890
|
line-height: var(--hx-line-height-normal, 1.5);
|
|
6665
7891
|
padding: 0;
|
|
6666
7892
|
margin-bottom: var(--hx-space-1, 0.25rem);
|
|
@@ -6694,7 +7920,7 @@ export const helixGridItemStyles = css`
|
|
|
6694
7920
|
|
|
6695
7921
|
.fieldset__help-text {
|
|
6696
7922
|
font-size: var(--hx-font-size-xs, 0.75rem);
|
|
6697
|
-
color: var(--hx-radio-group-help-text-color, var(--hx-color-neutral-500, #
|
|
7923
|
+
color: var(--hx-radio-group-help-text-color, var(--hx-color-neutral-500, #64748b));
|
|
6698
7924
|
line-height: var(--hx-line-height-normal, 1.5);
|
|
6699
7925
|
}
|
|
6700
7926
|
|
|
@@ -6770,16 +7996,18 @@ export const helixGridItemStyles = css`
|
|
|
6770
7996
|
justify-content: center;
|
|
6771
7997
|
position: relative;
|
|
6772
7998
|
cursor: pointer;
|
|
6773
|
-
color: var(--hx-rating-empty-color, var(--hx-color-neutral-300, #
|
|
7999
|
+
color: var(--hx-rating-empty-color, var(--hx-color-neutral-300, #cbd5e1));
|
|
6774
8000
|
line-height: 1;
|
|
6775
|
-
|
|
8001
|
+
min-width: var(--hx-touch-target-min, 2.75rem);
|
|
8002
|
+
min-height: var(--hx-touch-target-min, 2.75rem);
|
|
8003
|
+
transition: transform var(--hx-transition-fast, 150ms ease);
|
|
6776
8004
|
}
|
|
6777
8005
|
|
|
6778
8006
|
.symbol:focus-visible {
|
|
6779
8007
|
outline: var(--hx-focus-ring-width, 2px) solid
|
|
6780
8008
|
var(--hx-focus-ring-color, var(--hx-color-primary-400, #60a5fa));
|
|
6781
8009
|
outline-offset: var(--hx-focus-ring-offset, 2px);
|
|
6782
|
-
border-radius: var(--hx-border-radius-sm, 0.
|
|
8010
|
+
border-radius: var(--hx-border-radius-sm, 0.25rem);
|
|
6783
8011
|
}
|
|
6784
8012
|
|
|
6785
8013
|
.symbol--full,
|
|
@@ -6819,7 +8047,7 @@ export const helixGridItemStyles = css`
|
|
|
6819
8047
|
position: absolute;
|
|
6820
8048
|
left: 0;
|
|
6821
8049
|
top: 0;
|
|
6822
|
-
color: var(--hx-rating-empty-color, var(--hx-color-neutral-300, #
|
|
8050
|
+
color: var(--hx-rating-empty-color, var(--hx-color-neutral-300, #cbd5e1));
|
|
6823
8051
|
/* Clip to right 50% for the empty half */
|
|
6824
8052
|
clip-path: inset(0 0 0 50%);
|
|
6825
8053
|
}
|
|
@@ -6877,14 +8105,14 @@ export const helixGridItemStyles = css`
|
|
|
6877
8105
|
|
|
6878
8106
|
/* Background & foreground */
|
|
6879
8107
|
--_bg: var(--hx-select-bg, var(--hx-color-neutral-0, #ffffff));
|
|
6880
|
-
--_color: var(--hx-select-color, var(--hx-color-neutral-800, #
|
|
6881
|
-
--_placeholder-color: var(--hx-select-placeholder-color, var(--hx-color-neutral-400, #
|
|
8108
|
+
--_color: var(--hx-select-color, var(--hx-color-neutral-800, #1e293b));
|
|
8109
|
+
--_placeholder-color: var(--hx-select-placeholder-color, var(--hx-color-neutral-400, #94a3b8));
|
|
6882
8110
|
|
|
6883
8111
|
/* Label */
|
|
6884
|
-
--_label-color: var(--hx-select-label-color, var(--hx-color-neutral-700, #
|
|
8112
|
+
--_label-color: var(--hx-select-label-color, var(--hx-color-neutral-700, #334155));
|
|
6885
8113
|
|
|
6886
8114
|
/* Border */
|
|
6887
|
-
--_border-color: var(--hx-select-border-color, var(--hx-color-neutral-300, #
|
|
8115
|
+
--_border-color: var(--hx-select-border-color, var(--hx-color-neutral-300, #cbd5e1));
|
|
6888
8116
|
--_border-radius: var(--hx-select-border-radius, var(--hx-border-radius-md, 0.375rem));
|
|
6889
8117
|
|
|
6890
8118
|
/* Focus ring */
|
|
@@ -6894,10 +8122,10 @@ export const helixGridItemStyles = css`
|
|
|
6894
8122
|
);
|
|
6895
8123
|
|
|
6896
8124
|
/* Error */
|
|
6897
|
-
--_error-color: var(--hx-select-error-color, var(--hx-color-error-500, #
|
|
8125
|
+
--_error-color: var(--hx-select-error-color, var(--hx-color-error-500, #dc2626));
|
|
6898
8126
|
|
|
6899
8127
|
/* Chevron */
|
|
6900
|
-
--_chevron-color: var(--hx-select-chevron-color, var(--hx-color-neutral-500, #
|
|
8128
|
+
--_chevron-color: var(--hx-select-chevron-color, var(--hx-color-neutral-500, #64748b));
|
|
6901
8129
|
--_chevron-size: var(--hx-select-chevron-size, 0.5rem);
|
|
6902
8130
|
|
|
6903
8131
|
/* Listbox */
|
|
@@ -7149,7 +8377,7 @@ export const helixGridItemStyles = css`
|
|
|
7149
8377
|
}
|
|
7150
8378
|
|
|
7151
8379
|
.field__help-text {
|
|
7152
|
-
color: var(--hx-color-neutral-500, #
|
|
8380
|
+
color: var(--hx-color-neutral-500, #64748b);
|
|
7153
8381
|
}
|
|
7154
8382
|
|
|
7155
8383
|
.field__error {
|
|
@@ -7414,6 +8642,11 @@ export const helixGridItemStyles = css`
|
|
|
7414
8642
|
color: ButtonText;
|
|
7415
8643
|
border: 1px solid ButtonText;
|
|
7416
8644
|
}
|
|
8645
|
+
|
|
8646
|
+
.side-nav__toggle:focus-visible {
|
|
8647
|
+
outline: 3px solid Highlight;
|
|
8648
|
+
outline-offset: 2px;
|
|
8649
|
+
}
|
|
7417
8650
|
}
|
|
7418
8651
|
/* ── hx-skeleton ── */
|
|
7419
8652
|
:host {
|
|
@@ -7529,7 +8762,7 @@ export const helixGridItemStyles = css`
|
|
|
7529
8762
|
display: flex;
|
|
7530
8763
|
flex-direction: column;
|
|
7531
8764
|
gap: var(--hx-space-1, 0.25rem);
|
|
7532
|
-
font-family: var(--hx-font-family-sans, sans-serif);
|
|
8765
|
+
font-family: var(--hx-slider-font-family, var(--hx-font-family-sans, sans-serif));
|
|
7533
8766
|
}
|
|
7534
8767
|
|
|
7535
8768
|
/* ─── Label Row ─── */
|
|
@@ -7544,14 +8777,14 @@ export const helixGridItemStyles = css`
|
|
|
7544
8777
|
.slider__label {
|
|
7545
8778
|
font-size: var(--hx-font-size-sm, 0.875rem);
|
|
7546
8779
|
font-weight: var(--hx-font-weight-medium, 500);
|
|
7547
|
-
color: var(--hx-slider-label-color, var(--hx-color-neutral-700, #
|
|
8780
|
+
color: var(--hx-slider-label-color, var(--hx-color-neutral-700, #334155));
|
|
7548
8781
|
line-height: var(--hx-line-height-normal, 1.5);
|
|
7549
8782
|
}
|
|
7550
8783
|
|
|
7551
8784
|
.slider__value-display {
|
|
7552
8785
|
font-size: var(--hx-font-size-sm, 0.875rem);
|
|
7553
8786
|
font-weight: var(--hx-font-weight-medium, 500);
|
|
7554
|
-
color: var(--hx-slider-value-color, var(--hx-color-neutral-600, #
|
|
8787
|
+
color: var(--hx-slider-value-color, var(--hx-color-neutral-600, #475569));
|
|
7555
8788
|
line-height: var(--hx-line-height-normal, 1.5);
|
|
7556
8789
|
font-variant-numeric: tabular-nums;
|
|
7557
8790
|
min-width: var(--hx-size-8, 2rem);
|
|
@@ -7569,7 +8802,7 @@ export const helixGridItemStyles = css`
|
|
|
7569
8802
|
position: relative;
|
|
7570
8803
|
width: 100%;
|
|
7571
8804
|
border-radius: var(--hx-border-radius-full, 9999px);
|
|
7572
|
-
background-color: var(--hx-slider-track-bg, var(--hx-color-neutral-200, #
|
|
8805
|
+
background-color: var(--hx-slider-track-bg, var(--hx-color-neutral-200, #e2e8f0));
|
|
7573
8806
|
overflow: visible;
|
|
7574
8807
|
}
|
|
7575
8808
|
|
|
@@ -7647,8 +8880,13 @@ export const helixGridItemStyles = css`
|
|
|
7647
8880
|
background: transparent;
|
|
7648
8881
|
border: none;
|
|
7649
8882
|
outline: none;
|
|
7650
|
-
/* Expand the hit area so the thumb
|
|
7651
|
-
|
|
8883
|
+
/* Expand the hit area so the thumb meets WCAG 2.5.8 touch target (44px).
|
|
8884
|
+
The input's total height = track height + 2 * padding-block. With 0.75rem
|
|
8885
|
+
(~12px) padding on each side and a track of ~6px, the total target area is
|
|
8886
|
+
~30px. We increase to 1rem (~16px) per side for a ~38px minimum, supplemented
|
|
8887
|
+
by the visual thumb size. */
|
|
8888
|
+
padding-block: var(--hx-slider-input-padding-block, 1rem);
|
|
8889
|
+
min-height: var(--hx-touch-target-min, 2.75rem);
|
|
7652
8890
|
}
|
|
7653
8891
|
|
|
7654
8892
|
/* In forced-color mode, restore native outline so the input remains focusable */
|
|
@@ -7764,7 +9002,7 @@ export const helixGridItemStyles = css`
|
|
|
7764
9002
|
top: 0;
|
|
7765
9003
|
width: var(--hx-border-width-thin, 1px);
|
|
7766
9004
|
height: 100%;
|
|
7767
|
-
background-color: var(--hx-slider-tick-color, var(--hx-color-neutral-400, #
|
|
9005
|
+
background-color: var(--hx-slider-tick-color, var(--hx-color-neutral-400, #94a3b8));
|
|
7768
9006
|
transform: translateX(-50%);
|
|
7769
9007
|
}
|
|
7770
9008
|
|
|
@@ -7774,7 +9012,7 @@ export const helixGridItemStyles = css`
|
|
|
7774
9012
|
display: flex;
|
|
7775
9013
|
justify-content: space-between;
|
|
7776
9014
|
font-size: var(--hx-font-size-xs, 0.75rem);
|
|
7777
|
-
color: var(--hx-slider-range-label-color, var(--hx-color-neutral-500, #
|
|
9015
|
+
color: var(--hx-slider-range-label-color, var(--hx-color-neutral-500, #64748b));
|
|
7778
9016
|
line-height: var(--hx-line-height-normal, 1.5);
|
|
7779
9017
|
margin-top: var(--hx-space-0-5, 0.125rem);
|
|
7780
9018
|
}
|
|
@@ -7783,18 +9021,18 @@ export const helixGridItemStyles = css`
|
|
|
7783
9021
|
|
|
7784
9022
|
.slider__help-text {
|
|
7785
9023
|
font-size: var(--hx-font-size-xs, 0.75rem);
|
|
7786
|
-
color: var(--hx-slider-help-text-color, var(--hx-color-neutral-500, #
|
|
9024
|
+
color: var(--hx-slider-help-text-color, var(--hx-color-neutral-500, #64748b));
|
|
7787
9025
|
line-height: var(--hx-line-height-normal, 1.5);
|
|
7788
9026
|
}
|
|
7789
9027
|
|
|
7790
9028
|
/* ─── Disabled state ─── */
|
|
7791
9029
|
|
|
7792
9030
|
.slider--disabled .slider__fill {
|
|
7793
|
-
background-color: var(--hx-color-neutral-400, #
|
|
9031
|
+
background-color: var(--hx-color-neutral-400, #94a3b8);
|
|
7794
9032
|
}
|
|
7795
9033
|
|
|
7796
9034
|
.slider--disabled .slider__thumb-visual {
|
|
7797
|
-
border-color: var(--hx-color-neutral-400, #
|
|
9035
|
+
border-color: var(--hx-color-neutral-400, #94a3b8);
|
|
7798
9036
|
}
|
|
7799
9037
|
/* ── hx-spinner ── */
|
|
7800
9038
|
:host {
|
|
@@ -8004,7 +9242,7 @@ export const helixGridItemStyles = css`
|
|
|
8004
9242
|
flex-shrink: 0;
|
|
8005
9243
|
border: var(--hx-border-width-thin, 1px) solid var(--hx-split-button-border-color, transparent);
|
|
8006
9244
|
border-inline-start: var(--hx-border-width-thin, 1px) solid
|
|
8007
|
-
var(--hx-split-button-divider-color, var(--hx-color-primary-400, #
|
|
9245
|
+
var(--hx-split-button-divider-color, var(--hx-color-primary-400, #60a5fa));
|
|
8008
9246
|
border-radius: 0 var(--hx-split-button-border-radius, var(--hx-border-radius-md, 0.375rem))
|
|
8009
9247
|
var(--hx-split-button-border-radius, var(--hx-border-radius-md, 0.375rem)) 0;
|
|
8010
9248
|
background-color: var(--hx-split-button-bg, var(--hx-color-primary-500, #2563eb));
|
|
@@ -8098,7 +9336,7 @@ export const helixGridItemStyles = css`
|
|
|
8098
9336
|
--hx-split-button-bg: var(--hx-color-primary-500, #2563eb);
|
|
8099
9337
|
--hx-split-button-color: var(--hx-color-neutral-0, #ffffff);
|
|
8100
9338
|
--hx-split-button-border-color: transparent;
|
|
8101
|
-
--hx-split-button-divider-color: var(--hx-color-primary-400, #
|
|
9339
|
+
--hx-split-button-divider-color: var(--hx-color-primary-400, #60a5fa);
|
|
8102
9340
|
}
|
|
8103
9341
|
|
|
8104
9342
|
/* ─── Variant: secondary ─── */
|
|
@@ -8554,6 +9792,16 @@ export const helixGridItemStyles = css`
|
|
|
8554
9792
|
:host([gap='xl']) [part='base'] {
|
|
8555
9793
|
gap: var(--hx-space-8, 2rem);
|
|
8556
9794
|
}
|
|
9795
|
+
|
|
9796
|
+
/* ─── High Contrast Mode (forced-colors) ─── */
|
|
9797
|
+
|
|
9798
|
+
/* hx-stack is a layout wrapper with no state communicated via color.
|
|
9799
|
+
forced-color-adjust: auto (default) is sufficient. */
|
|
9800
|
+
@media (forced-colors: active) {
|
|
9801
|
+
:host {
|
|
9802
|
+
forced-color-adjust: auto;
|
|
9803
|
+
}
|
|
9804
|
+
}
|
|
8557
9805
|
/* ── hx-stat ── */
|
|
8558
9806
|
:host {
|
|
8559
9807
|
display: block;
|
|
@@ -8564,7 +9812,7 @@ export const helixGridItemStyles = css`
|
|
|
8564
9812
|
flex-direction: column;
|
|
8565
9813
|
gap: var(--hx-stat-gap, var(--hx-space-1, 0.25rem));
|
|
8566
9814
|
font-family: var(--hx-stat-font-family, var(--hx-font-family-sans, sans-serif));
|
|
8567
|
-
color: var(--hx-stat-color, var(--hx-color-neutral-800, #
|
|
9815
|
+
color: var(--hx-stat-color, var(--hx-color-neutral-800, #1e293b));
|
|
8568
9816
|
}
|
|
8569
9817
|
|
|
8570
9818
|
/* ─── Size Variants ─── */
|
|
@@ -8608,13 +9856,13 @@ export const helixGridItemStyles = css`
|
|
|
8608
9856
|
}
|
|
8609
9857
|
|
|
8610
9858
|
.stat__value {
|
|
8611
|
-
color: var(--hx-stat-value-color, var(--hx-color-neutral-900, #
|
|
9859
|
+
color: var(--hx-stat-value-color, var(--hx-color-neutral-900, #0f172a));
|
|
8612
9860
|
}
|
|
8613
9861
|
|
|
8614
9862
|
/* ─── Label ─── */
|
|
8615
9863
|
|
|
8616
9864
|
.stat__label {
|
|
8617
|
-
color: var(--hx-stat-label-color, var(--hx-color-neutral-500, #
|
|
9865
|
+
color: var(--hx-stat-label-color, var(--hx-color-neutral-500, #64748b));
|
|
8618
9866
|
font-weight: var(--hx-font-weight-normal, 400);
|
|
8619
9867
|
}
|
|
8620
9868
|
|
|
@@ -8640,12 +9888,12 @@ export const helixGridItemStyles = css`
|
|
|
8640
9888
|
}
|
|
8641
9889
|
|
|
8642
9890
|
.stat__trend--up {
|
|
8643
|
-
color: var(--hx-stat-trend-up-color, var(--hx-color-success-700, #
|
|
9891
|
+
color: var(--hx-stat-trend-up-color, var(--hx-color-success-700, #166534));
|
|
8644
9892
|
background-color: var(--hx-stat-trend-up-bg, var(--hx-color-success-50, #f0fdf4));
|
|
8645
9893
|
}
|
|
8646
9894
|
|
|
8647
9895
|
.stat__trend--down {
|
|
8648
|
-
color: var(--hx-stat-trend-down-color, var(--hx-color-error-700, #
|
|
9896
|
+
color: var(--hx-stat-trend-down-color, var(--hx-color-error-700, #991b1b));
|
|
8649
9897
|
background-color: var(--hx-stat-trend-down-bg, var(--hx-color-error-50, #fef2f2));
|
|
8650
9898
|
}
|
|
8651
9899
|
|
|
@@ -8715,7 +9963,7 @@ export const helixGridItemStyles = css`
|
|
|
8715
9963
|
gap: var(--hx-space-2, 0.5rem);
|
|
8716
9964
|
position: relative;
|
|
8717
9965
|
flex-shrink: 0;
|
|
8718
|
-
--_dot-color: var(--hx-status-indicator-color-default, var(--hx-color-neutral-300, #
|
|
9966
|
+
--_dot-color: var(--hx-status-indicator-color-default, var(--hx-color-neutral-300, #cbd5e1));
|
|
8719
9967
|
/* Default size (md) — always defined so .indicator never collapses to 0x0 */
|
|
8720
9968
|
--_indicator-size: var(--hx-status-indicator-size-md, var(--hx-space-3, 0.75rem));
|
|
8721
9969
|
}
|
|
@@ -8779,7 +10027,7 @@ export const helixGridItemStyles = css`
|
|
|
8779
10027
|
--hx-status-indicator-label-font-size,
|
|
8780
10028
|
var(--hx-font-size-sm, var(--hx-text-sm, 0.875rem))
|
|
8781
10029
|
);
|
|
8782
|
-
color: var(--hx-status-indicator-label-color, var(--hx-color-neutral-700, #
|
|
10030
|
+
color: var(--hx-status-indicator-label-color, var(--hx-color-neutral-700, #334155));
|
|
8783
10031
|
line-height: 1;
|
|
8784
10032
|
white-space: nowrap;
|
|
8785
10033
|
}
|
|
@@ -8898,6 +10146,18 @@ export const helixGridItemStyles = css`
|
|
|
8898
10146
|
--hx-steps-label-font-size: var(--hx-font-size-md, 1rem);
|
|
8899
10147
|
--hx-steps-description-font-size: var(--hx-font-size-sm, 0.875rem);
|
|
8900
10148
|
}
|
|
10149
|
+
|
|
10150
|
+
/* ─── High Contrast Mode (forced-colors) ─── */
|
|
10151
|
+
|
|
10152
|
+
/*
|
|
10153
|
+
* hx-steps is a layout container — forced-colors state is handled
|
|
10154
|
+
* by each hx-step child element's own forced-colors block.
|
|
10155
|
+
*/
|
|
10156
|
+
@media (forced-colors: active) {
|
|
10157
|
+
:host {
|
|
10158
|
+
forced-color-adjust: auto;
|
|
10159
|
+
}
|
|
10160
|
+
}
|
|
8901
10161
|
/* ── hx-structured-list ── */
|
|
8902
10162
|
:host {
|
|
8903
10163
|
display: block;
|
|
@@ -8963,12 +10223,12 @@ export const helixStructuredListRowStyles = css`
|
|
|
8963
10223
|
|
|
8964
10224
|
.row__label {
|
|
8965
10225
|
font-weight: var(--hx-font-weight-medium, 500);
|
|
8966
|
-
color: var(--hx-structured-list-label-color, var(--hx-color-neutral-700, #
|
|
10226
|
+
color: var(--hx-structured-list-label-color, var(--hx-color-neutral-700, #334155));
|
|
8967
10227
|
font-size: var(--hx-font-size-sm, 0.875rem);
|
|
8968
10228
|
}
|
|
8969
10229
|
|
|
8970
10230
|
.row__value {
|
|
8971
|
-
color: var(--hx-structured-list-value-color, var(--hx-color-neutral-900, #
|
|
10231
|
+
color: var(--hx-structured-list-value-color, var(--hx-color-neutral-900, #0f172a));
|
|
8972
10232
|
font-size: var(--hx-font-size-sm, 0.875rem);
|
|
8973
10233
|
}
|
|
8974
10234
|
|
|
@@ -8993,6 +10253,17 @@ export const helixStructuredListRowStyles = css`
|
|
|
8993
10253
|
:host {
|
|
8994
10254
|
display: contents;
|
|
8995
10255
|
}
|
|
10256
|
+
|
|
10257
|
+
/* ─── High Contrast Mode (forced-colors) ─── */
|
|
10258
|
+
|
|
10259
|
+
/* hx-style-scope is a transparent layout wrapper (display: contents).
|
|
10260
|
+
It has no visual output of its own. forced-color-adjust: auto (default)
|
|
10261
|
+
is sufficient. */
|
|
10262
|
+
@media (forced-colors: active) {
|
|
10263
|
+
:host {
|
|
10264
|
+
forced-color-adjust: auto;
|
|
10265
|
+
}
|
|
10266
|
+
}
|
|
8996
10267
|
/* ── hx-switch ── */
|
|
8997
10268
|
:host {
|
|
8998
10269
|
display: block;
|
|
@@ -9013,7 +10284,7 @@ export const helixStructuredListRowStyles = css`
|
|
|
9013
10284
|
display: flex;
|
|
9014
10285
|
flex-direction: column;
|
|
9015
10286
|
gap: var(--hx-space-1, 0.25rem);
|
|
9016
|
-
font-family: var(--hx-font-family-sans, sans-serif);
|
|
10287
|
+
font-family: var(--hx-switch-font-family, var(--hx-font-family-sans, sans-serif));
|
|
9017
10288
|
}
|
|
9018
10289
|
|
|
9019
10290
|
/* WCAG 2.5.5 (healthcare mandate): minimum 44px touch target height.
|
|
@@ -9036,7 +10307,7 @@ export const helixStructuredListRowStyles = css`
|
|
|
9036
10307
|
border: none;
|
|
9037
10308
|
padding: 0;
|
|
9038
10309
|
border-radius: var(--hx-border-radius-full, 9999px);
|
|
9039
|
-
background-color: var(--hx-switch-track-bg, var(--hx-color-neutral-300, #
|
|
10310
|
+
background-color: var(--hx-switch-track-bg, var(--hx-color-neutral-300, #cbd5e1));
|
|
9040
10311
|
cursor: pointer;
|
|
9041
10312
|
transition: background-color var(--hx-transition-fast, 150ms ease);
|
|
9042
10313
|
outline: none;
|
|
@@ -9132,7 +10403,7 @@ export const helixStructuredListRowStyles = css`
|
|
|
9132
10403
|
.switch__label {
|
|
9133
10404
|
font-size: var(--hx-font-size-sm, 0.875rem);
|
|
9134
10405
|
font-weight: var(--hx-font-weight-medium, 500);
|
|
9135
|
-
color: var(--hx-switch-label-color, var(--hx-color-neutral-700, #
|
|
10406
|
+
color: var(--hx-switch-label-color, var(--hx-color-neutral-700, #334155));
|
|
9136
10407
|
line-height: var(--hx-line-height-normal, 1.5);
|
|
9137
10408
|
cursor: pointer;
|
|
9138
10409
|
user-select: none;
|
|
@@ -9148,7 +10419,7 @@ export const helixStructuredListRowStyles = css`
|
|
|
9148
10419
|
|
|
9149
10420
|
.switch__help-text {
|
|
9150
10421
|
font-size: var(--hx-font-size-xs, 0.75rem);
|
|
9151
|
-
color: var(--hx-switch-help-text-color, var(--hx-color-neutral-500, #
|
|
10422
|
+
color: var(--hx-switch-help-text-color, var(--hx-color-neutral-500, #64748b));
|
|
9152
10423
|
line-height: var(--hx-line-height-normal, 1.5);
|
|
9153
10424
|
}
|
|
9154
10425
|
|
|
@@ -9228,7 +10499,7 @@ export const helixStructuredListRowStyles = css`
|
|
|
9228
10499
|
:host {
|
|
9229
10500
|
display: block;
|
|
9230
10501
|
overflow-x: auto;
|
|
9231
|
-
font-family: var(--hx-font-family-sans, sans-serif);
|
|
10502
|
+
font-family: var(--hx-table-font-family, var(--hx-font-family-sans, sans-serif));
|
|
9232
10503
|
font-size: var(--hx-font-size-sm, 0.875rem);
|
|
9233
10504
|
}
|
|
9234
10505
|
|
|
@@ -9363,7 +10634,7 @@ export const helixTableSectionBaseStyles = css`
|
|
|
9363
10634
|
/* ── hx-tabs ── */
|
|
9364
10635
|
:host {
|
|
9365
10636
|
display: block;
|
|
9366
|
-
font-family: var(--hx-font-family-sans, sans-serif);
|
|
10637
|
+
font-family: var(--hx-tabs-font-family, var(--hx-font-family-sans, sans-serif));
|
|
9367
10638
|
}
|
|
9368
10639
|
|
|
9369
10640
|
* {
|
|
@@ -9390,7 +10661,7 @@ export const helixTableSectionBaseStyles = css`
|
|
|
9390
10661
|
flex-wrap: nowrap;
|
|
9391
10662
|
gap: 0;
|
|
9392
10663
|
border-bottom: var(--hx-tabs-border-width, 1px) solid
|
|
9393
|
-
var(--hx-tabs-border-color, var(--hx-color-neutral-200, #
|
|
10664
|
+
var(--hx-tabs-border-color, var(--hx-color-neutral-200, #e2e8f0));
|
|
9394
10665
|
overflow-x: auto;
|
|
9395
10666
|
scrollbar-width: none;
|
|
9396
10667
|
}
|
|
@@ -9415,7 +10686,7 @@ export const helixTableSectionBaseStyles = css`
|
|
|
9415
10686
|
flex-direction: column;
|
|
9416
10687
|
border-bottom: none;
|
|
9417
10688
|
border-inline-end: var(--hx-tabs-border-width, 1px) solid
|
|
9418
|
-
var(--hx-tabs-border-color, var(--hx-color-neutral-200, #
|
|
10689
|
+
var(--hx-tabs-border-color, var(--hx-color-neutral-200, #e2e8f0));
|
|
9419
10690
|
overflow-x: visible;
|
|
9420
10691
|
overflow-y: auto;
|
|
9421
10692
|
min-width: var(--hx-tabs-vertical-width, 12rem);
|
|
@@ -9464,15 +10735,15 @@ export const helixTableSectionBaseStyles = css`
|
|
|
9464
10735
|
align-items: center;
|
|
9465
10736
|
gap: var(--hx-space-1, 0.25rem);
|
|
9466
10737
|
border-radius: var(--hx-tag-border-radius, var(--hx-border-radius-sm, 0.25rem));
|
|
9467
|
-
background-color: var(--hx-tag-bg, var(--hx-color-neutral-100, #
|
|
9468
|
-
color: var(--hx-tag-color, var(--hx-color-neutral-700, #
|
|
10738
|
+
background-color: var(--hx-tag-bg, var(--hx-color-neutral-100, #f1f5f9));
|
|
10739
|
+
color: var(--hx-tag-color, var(--hx-color-neutral-700, #334155));
|
|
9469
10740
|
font-family: var(--hx-tag-font-family, var(--hx-font-family-sans, sans-serif));
|
|
9470
10741
|
font-weight: var(--hx-tag-font-weight, var(--hx-font-weight-medium, 500));
|
|
9471
10742
|
line-height: var(--hx-line-height-tight, 1.25);
|
|
9472
10743
|
white-space: nowrap;
|
|
9473
10744
|
vertical-align: middle;
|
|
9474
10745
|
border: var(--hx-border-width-thin, 1px) solid
|
|
9475
|
-
var(--hx-tag-border-color, var(--hx-color-neutral-200, #
|
|
10746
|
+
var(--hx-tag-border-color, var(--hx-color-neutral-200, #e2e8f0));
|
|
9476
10747
|
}
|
|
9477
10748
|
|
|
9478
10749
|
/* ─── Size Variants ─── */
|
|
@@ -9498,32 +10769,32 @@ export const helixTableSectionBaseStyles = css`
|
|
|
9498
10769
|
/* ─── Color Variants ─── */
|
|
9499
10770
|
|
|
9500
10771
|
.tag--default {
|
|
9501
|
-
--hx-tag-bg: var(--hx-color-neutral-100, #
|
|
9502
|
-
--hx-tag-color: var(--hx-color-neutral-700, #
|
|
9503
|
-
--hx-tag-border-color: var(--hx-color-neutral-200, #
|
|
10772
|
+
--hx-tag-bg: var(--hx-color-neutral-100, #f1f5f9);
|
|
10773
|
+
--hx-tag-color: var(--hx-color-neutral-700, #334155);
|
|
10774
|
+
--hx-tag-border-color: var(--hx-color-neutral-200, #e2e8f0);
|
|
9504
10775
|
}
|
|
9505
10776
|
|
|
9506
10777
|
.tag--primary {
|
|
9507
10778
|
--hx-tag-bg: var(--hx-color-primary-50, #eff6ff);
|
|
9508
|
-
--hx-tag-color: var(--hx-color-primary-700, #
|
|
10779
|
+
--hx-tag-color: var(--hx-color-primary-700, #1e40af);
|
|
9509
10780
|
--hx-tag-border-color: var(--hx-color-primary-200, #bfdbfe);
|
|
9510
10781
|
}
|
|
9511
10782
|
|
|
9512
10783
|
.tag--success {
|
|
9513
10784
|
--hx-tag-bg: var(--hx-color-success-50, #f0fdf4);
|
|
9514
|
-
--hx-tag-color: var(--hx-color-success-700, #
|
|
10785
|
+
--hx-tag-color: var(--hx-color-success-700, #166534);
|
|
9515
10786
|
--hx-tag-border-color: var(--hx-color-success-200, #bbf7d0);
|
|
9516
10787
|
}
|
|
9517
10788
|
|
|
9518
10789
|
.tag--warning {
|
|
9519
10790
|
--hx-tag-bg: var(--hx-color-warning-50, #fffbeb);
|
|
9520
|
-
--hx-tag-color: var(--hx-color-warning-700, #
|
|
10791
|
+
--hx-tag-color: var(--hx-color-warning-700, #92400e);
|
|
9521
10792
|
--hx-tag-border-color: var(--hx-color-warning-200, #fde68a);
|
|
9522
10793
|
}
|
|
9523
10794
|
|
|
9524
10795
|
.tag--danger {
|
|
9525
10796
|
--hx-tag-bg: var(--hx-color-error-50, #fef2f2);
|
|
9526
|
-
--hx-tag-color: var(--hx-color-error-700, #
|
|
10797
|
+
--hx-tag-color: var(--hx-color-error-700, #991b1b);
|
|
9527
10798
|
--hx-tag-border-color: var(--hx-color-error-200, #fecaca);
|
|
9528
10799
|
}
|
|
9529
10800
|
|
|
@@ -9582,7 +10853,7 @@ export const helixTableSectionBaseStyles = css`
|
|
|
9582
10853
|
cursor: pointer;
|
|
9583
10854
|
color: inherit;
|
|
9584
10855
|
opacity: var(--hx-opacity-75, 0.75);
|
|
9585
|
-
border-radius: var(--hx-border-radius-sm, 0.
|
|
10856
|
+
border-radius: var(--hx-border-radius-sm, 0.25rem);
|
|
9586
10857
|
line-height: 0;
|
|
9587
10858
|
}
|
|
9588
10859
|
|
|
@@ -9592,7 +10863,7 @@ export const helixTableSectionBaseStyles = css`
|
|
|
9592
10863
|
|
|
9593
10864
|
.tag__remove-button:focus-visible {
|
|
9594
10865
|
outline: var(--hx-focus-ring-width, 2px) solid var(--hx-focus-ring-color, currentColor);
|
|
9595
|
-
outline-offset: var(--hx-focus-ring-offset,
|
|
10866
|
+
outline-offset: var(--hx-focus-ring-offset, 2px);
|
|
9596
10867
|
}
|
|
9597
10868
|
|
|
9598
10869
|
/* ─── Forced Colors (Windows High Contrast) ─── */
|
|
@@ -9615,7 +10886,7 @@ export const helixTableSectionBaseStyles = css`
|
|
|
9615
10886
|
|
|
9616
10887
|
.text {
|
|
9617
10888
|
display: inline;
|
|
9618
|
-
font-family: var(--hx-font-family-sans, sans-serif);
|
|
10889
|
+
font-family: var(--hx-text-font-family, var(--hx-font-family-sans, sans-serif));
|
|
9619
10890
|
font-size: var(--hx-text-font-size);
|
|
9620
10891
|
font-weight: var(--hx-text-font-weight);
|
|
9621
10892
|
line-height: var(--hx-text-line-height);
|
|
@@ -9681,7 +10952,7 @@ export const helixTableSectionBaseStyles = css`
|
|
|
9681
10952
|
--hx-text-font-size: var(--hx-font-size-xs, 0.75rem);
|
|
9682
10953
|
--hx-text-font-weight: var(--hx-font-weight-semibold, 600);
|
|
9683
10954
|
--hx-text-line-height: var(--hx-line-height-tight, 1.25);
|
|
9684
|
-
--hx-text-letter-spacing: var(--hx-letter-spacing-wide, 0.
|
|
10955
|
+
--hx-text-letter-spacing: var(--hx-letter-spacing-wide, 0.025em);
|
|
9685
10956
|
text-transform: uppercase;
|
|
9686
10957
|
}
|
|
9687
10958
|
|
|
@@ -9704,15 +10975,15 @@ export const helixTableSectionBaseStyles = css`
|
|
|
9704
10975
|
}
|
|
9705
10976
|
|
|
9706
10977
|
.text--color-danger {
|
|
9707
|
-
--hx-text-color: var(--hx-color-error-600, #
|
|
10978
|
+
--hx-text-color: var(--hx-color-error-600, #b91c1c);
|
|
9708
10979
|
}
|
|
9709
10980
|
|
|
9710
10981
|
.text--color-success {
|
|
9711
|
-
--hx-text-color: var(--hx-color-success-600, #
|
|
10982
|
+
--hx-text-color: var(--hx-color-success-600, #15803d);
|
|
9712
10983
|
}
|
|
9713
10984
|
|
|
9714
10985
|
.text--color-warning {
|
|
9715
|
-
--hx-text-color: var(--hx-color-warning-600, #
|
|
10986
|
+
--hx-text-color: var(--hx-color-warning-600, #b45309);
|
|
9716
10987
|
}
|
|
9717
10988
|
|
|
9718
10989
|
/* ─── Weight Overrides ─── */
|
|
@@ -9755,6 +11026,39 @@ export const helixTableSectionBaseStyles = css`
|
|
|
9755
11026
|
:host([lines]:not([lines='0'])) {
|
|
9756
11027
|
display: block;
|
|
9757
11028
|
}
|
|
11029
|
+
|
|
11030
|
+
/* ─── High Contrast Mode (forced-colors) ─── */
|
|
11031
|
+
|
|
11032
|
+
@media (forced-colors: active) {
|
|
11033
|
+
/*
|
|
11034
|
+
* Semantic color variants (danger, success, warning) communicate state via color
|
|
11035
|
+
* alone. In forced-colors mode the browser overrides custom colors, so we must
|
|
11036
|
+
* use system color keywords to preserve the semantic distinction.
|
|
11037
|
+
*/
|
|
11038
|
+
.text--color-danger {
|
|
11039
|
+
color: LinkText;
|
|
11040
|
+
}
|
|
11041
|
+
|
|
11042
|
+
.text--color-success {
|
|
11043
|
+
color: CanvasText;
|
|
11044
|
+
}
|
|
11045
|
+
|
|
11046
|
+
.text--color-warning {
|
|
11047
|
+
color: CanvasText;
|
|
11048
|
+
}
|
|
11049
|
+
|
|
11050
|
+
.text--color-disabled {
|
|
11051
|
+
color: GrayText;
|
|
11052
|
+
}
|
|
11053
|
+
|
|
11054
|
+
.text--color-inverse {
|
|
11055
|
+
color: CanvasText;
|
|
11056
|
+
}
|
|
11057
|
+
|
|
11058
|
+
.text--color-subtle {
|
|
11059
|
+
color: CanvasText;
|
|
11060
|
+
}
|
|
11061
|
+
}
|
|
9758
11062
|
/* ── hx-text-input ── */
|
|
9759
11063
|
:host {
|
|
9760
11064
|
display: block;
|
|
@@ -9829,7 +11133,7 @@ export const helixTableSectionBaseStyles = css`
|
|
|
9829
11133
|
gap: var(--hx-space-1, 0.25rem);
|
|
9830
11134
|
font-size: var(--hx-font-size-sm, 0.875rem);
|
|
9831
11135
|
font-weight: var(--hx-font-weight-medium, 500);
|
|
9832
|
-
color: var(--hx-input-label-color, var(--hx-color-neutral-700, #
|
|
11136
|
+
color: var(--hx-input-label-color, var(--hx-color-neutral-700, #334155));
|
|
9833
11137
|
line-height: var(--hx-line-height-normal, 1.5);
|
|
9834
11138
|
}
|
|
9835
11139
|
|
|
@@ -9844,7 +11148,7 @@ export const helixTableSectionBaseStyles = css`
|
|
|
9844
11148
|
display: flex;
|
|
9845
11149
|
align-items: center;
|
|
9846
11150
|
border: var(--hx-border-width-thin, 1px) solid
|
|
9847
|
-
var(--hx-input-border-color, var(--hx-color-neutral-300, #
|
|
11151
|
+
var(--hx-input-border-color, var(--hx-color-neutral-300, #cbd5e1));
|
|
9848
11152
|
border-radius: var(--hx-input-border-radius, var(--hx-border-radius-md, 0.375rem));
|
|
9849
11153
|
background-color: var(--hx-input-bg, var(--hx-color-neutral-0, #ffffff));
|
|
9850
11154
|
transition:
|
|
@@ -9873,15 +11177,15 @@ export const helixTableSectionBaseStyles = css`
|
|
|
9873
11177
|
/* ─── Error State ─── */
|
|
9874
11178
|
|
|
9875
11179
|
.field--error .field__input-wrapper {
|
|
9876
|
-
border-color: var(--hx-input-error-color, var(--hx-color-error-500, #
|
|
11180
|
+
border-color: var(--hx-input-error-color, var(--hx-color-error-500, #dc2626));
|
|
9877
11181
|
}
|
|
9878
11182
|
|
|
9879
11183
|
.field--error .field__input-wrapper:focus-within {
|
|
9880
|
-
border-color: var(--hx-input-error-color, var(--hx-color-error-500, #
|
|
11184
|
+
border-color: var(--hx-input-error-color, var(--hx-color-error-500, #dc2626));
|
|
9881
11185
|
box-shadow: 0 0 0 var(--hx-focus-ring-width, 2px)
|
|
9882
11186
|
color-mix(
|
|
9883
11187
|
in srgb,
|
|
9884
|
-
var(--hx-input-error-color, var(--hx-color-error-500, #
|
|
11188
|
+
var(--hx-input-error-color, var(--hx-color-error-500, #dc2626))
|
|
9885
11189
|
calc(var(--hx-focus-ring-opacity, 0.25) * 100%),
|
|
9886
11190
|
transparent
|
|
9887
11191
|
);
|
|
@@ -9893,7 +11197,7 @@ export const helixTableSectionBaseStyles = css`
|
|
|
9893
11197
|
.field__suffix {
|
|
9894
11198
|
display: flex;
|
|
9895
11199
|
align-items: center;
|
|
9896
|
-
color: var(--hx-color-neutral-500, #
|
|
11200
|
+
color: var(--hx-color-neutral-500, #64748b);
|
|
9897
11201
|
flex-shrink: 0;
|
|
9898
11202
|
}
|
|
9899
11203
|
|
|
@@ -9916,14 +11220,14 @@ export const helixTableSectionBaseStyles = css`
|
|
|
9916
11220
|
padding: var(--hx-space-2, 0.5rem) var(--hx-space-3, 0.75rem);
|
|
9917
11221
|
font-family: inherit;
|
|
9918
11222
|
font-size: var(--hx-font-size-md, 1rem);
|
|
9919
|
-
color: var(--hx-input-color, var(--hx-color-neutral-800, #
|
|
11223
|
+
color: var(--hx-input-color, var(--hx-color-neutral-800, #1e293b));
|
|
9920
11224
|
line-height: var(--hx-line-height-normal, 1.5);
|
|
9921
11225
|
min-height: var(--hx-size-10, 2.5rem);
|
|
9922
11226
|
width: 100%;
|
|
9923
11227
|
}
|
|
9924
11228
|
|
|
9925
11229
|
.field__input::placeholder {
|
|
9926
|
-
color: var(--hx-color-neutral-400, #
|
|
11230
|
+
color: var(--hx-color-neutral-400, #94a3b8);
|
|
9927
11231
|
}
|
|
9928
11232
|
|
|
9929
11233
|
.field__input:focus-visible {
|
|
@@ -9956,7 +11260,7 @@ export const helixTableSectionBaseStyles = css`
|
|
|
9956
11260
|
|
|
9957
11261
|
.field__help-text {
|
|
9958
11262
|
font-size: var(--hx-font-size-xs, 0.75rem);
|
|
9959
|
-
color: var(--hx-color-neutral-500, #
|
|
11263
|
+
color: var(--hx-color-neutral-500, #64748b);
|
|
9960
11264
|
line-height: var(--hx-line-height-normal, 1.5);
|
|
9961
11265
|
}
|
|
9962
11266
|
|
|
@@ -10064,7 +11368,7 @@ export const helixTableSectionBaseStyles = css`
|
|
|
10064
11368
|
gap: var(--hx-space-1, 0.25rem);
|
|
10065
11369
|
font-size: var(--hx-font-size-sm, 0.875rem);
|
|
10066
11370
|
font-weight: var(--hx-font-weight-medium, 500);
|
|
10067
|
-
color: var(--hx-input-label-color, var(--hx-color-neutral-700, #
|
|
11371
|
+
color: var(--hx-input-label-color, var(--hx-color-neutral-700, #334155));
|
|
10068
11372
|
line-height: var(--hx-line-height-normal, 1.5);
|
|
10069
11373
|
}
|
|
10070
11374
|
|
|
@@ -10079,7 +11383,7 @@ export const helixTableSectionBaseStyles = css`
|
|
|
10079
11383
|
display: flex;
|
|
10080
11384
|
flex-direction: column;
|
|
10081
11385
|
border: var(--hx-border-width-thin, 1px) solid
|
|
10082
|
-
var(--hx-input-border-color, var(--hx-color-neutral-300, #
|
|
11386
|
+
var(--hx-input-border-color, var(--hx-color-neutral-300, #cbd5e1));
|
|
10083
11387
|
border-radius: var(--hx-input-border-radius, var(--hx-border-radius-md, 0.375rem));
|
|
10084
11388
|
background-color: var(--hx-input-bg, var(--hx-color-neutral-0, #ffffff));
|
|
10085
11389
|
transition:
|
|
@@ -10093,9 +11397,6 @@ export const helixTableSectionBaseStyles = css`
|
|
|
10093
11397
|
--hx-input-focus-ring-color,
|
|
10094
11398
|
var(--hx-focus-ring-color, var(--hx-color-primary-400, #60a5fa))
|
|
10095
11399
|
);
|
|
10096
|
-
/* Solid fallback for browsers without color-mix() (Chrome < 111, Safari < 16.2) — WCAG 1.4.11 */
|
|
10097
|
-
box-shadow: 0 0 0 var(--hx-focus-ring-width, 2px)
|
|
10098
|
-
rgba(37, 99, 235, var(--hx-focus-ring-opacity, 0.25));
|
|
10099
11400
|
box-shadow: 0 0 0 var(--hx-focus-ring-width, 2px)
|
|
10100
11401
|
color-mix(
|
|
10101
11402
|
in srgb,
|
|
@@ -10111,18 +11412,15 @@ export const helixTableSectionBaseStyles = css`
|
|
|
10111
11412
|
/* --- Error State --- */
|
|
10112
11413
|
|
|
10113
11414
|
.field--error .field__textarea-wrapper {
|
|
10114
|
-
border-color: var(--hx-input-error-color, var(--hx-color-error-500, #
|
|
11415
|
+
border-color: var(--hx-input-error-color, var(--hx-color-error-500, #dc2626));
|
|
10115
11416
|
}
|
|
10116
11417
|
|
|
10117
11418
|
.field--error .field__textarea-wrapper:focus-within {
|
|
10118
|
-
border-color: var(--hx-input-error-color, var(--hx-color-error-500, #
|
|
10119
|
-
/* Solid fallback for browsers without color-mix() — WCAG 1.4.11 */
|
|
10120
|
-
box-shadow: 0 0 0 var(--hx-focus-ring-width, 2px)
|
|
10121
|
-
rgba(220, 53, 69, var(--hx-focus-ring-opacity, 0.25));
|
|
11419
|
+
border-color: var(--hx-input-error-color, var(--hx-color-error-500, #dc2626));
|
|
10122
11420
|
box-shadow: 0 0 0 var(--hx-focus-ring-width, 2px)
|
|
10123
11421
|
color-mix(
|
|
10124
11422
|
in srgb,
|
|
10125
|
-
var(--hx-input-error-color, var(--hx-color-error-500, #
|
|
11423
|
+
var(--hx-input-error-color, var(--hx-color-error-500, #dc2626))
|
|
10126
11424
|
calc(var(--hx-focus-ring-opacity, 0.25) * 100%),
|
|
10127
11425
|
transparent
|
|
10128
11426
|
);
|
|
@@ -10137,7 +11435,7 @@ export const helixTableSectionBaseStyles = css`
|
|
|
10137
11435
|
padding: var(--hx-space-2, 0.5rem) var(--hx-space-3, 0.75rem);
|
|
10138
11436
|
font-family: inherit;
|
|
10139
11437
|
font-size: var(--hx-font-size-md, 1rem);
|
|
10140
|
-
color: var(--hx-input-color, var(--hx-color-neutral-800, #
|
|
11438
|
+
color: var(--hx-input-color, var(--hx-color-neutral-800, #1e293b));
|
|
10141
11439
|
line-height: var(--hx-line-height-normal, 1.5);
|
|
10142
11440
|
min-height: var(--hx-textarea-min-height, var(--hx-size-20, 5rem));
|
|
10143
11441
|
width: 100%;
|
|
@@ -10145,7 +11443,7 @@ export const helixTableSectionBaseStyles = css`
|
|
|
10145
11443
|
}
|
|
10146
11444
|
|
|
10147
11445
|
.field__textarea::placeholder {
|
|
10148
|
-
color: var(--hx-color-neutral-400, #
|
|
11446
|
+
color: var(--hx-color-neutral-400, #94a3b8);
|
|
10149
11447
|
}
|
|
10150
11448
|
|
|
10151
11449
|
.field__textarea:focus-visible {
|
|
@@ -10183,7 +11481,7 @@ export const helixTableSectionBaseStyles = css`
|
|
|
10183
11481
|
|
|
10184
11482
|
.field__counter {
|
|
10185
11483
|
font-size: var(--hx-font-size-xs, 0.75rem);
|
|
10186
|
-
color: var(--hx-color-neutral-500, #
|
|
11484
|
+
color: var(--hx-color-neutral-500, #64748b);
|
|
10187
11485
|
line-height: var(--hx-line-height-normal, 1.5);
|
|
10188
11486
|
text-align: end;
|
|
10189
11487
|
}
|
|
@@ -10206,7 +11504,7 @@ export const helixTableSectionBaseStyles = css`
|
|
|
10206
11504
|
|
|
10207
11505
|
.field__help-text {
|
|
10208
11506
|
font-size: var(--hx-font-size-xs, 0.75rem);
|
|
10209
|
-
color: var(--hx-color-neutral-500, #
|
|
11507
|
+
color: var(--hx-color-neutral-500, #64748b);
|
|
10210
11508
|
line-height: var(--hx-line-height-normal, 1.5);
|
|
10211
11509
|
}
|
|
10212
11510
|
|
|
@@ -10296,8 +11594,242 @@ export const helixTableSectionBaseStyles = css`
|
|
|
10296
11594
|
white-space: nowrap;
|
|
10297
11595
|
border: 0;
|
|
10298
11596
|
}
|
|
11597
|
+
|
|
11598
|
+
/* ─── High Contrast Mode (forced-colors) ─── */
|
|
11599
|
+
|
|
11600
|
+
/* hx-theme is a transparent wrapper that applies design tokens.
|
|
11601
|
+
It has no visual output of its own. forced-color-adjust: auto (default)
|
|
11602
|
+
is sufficient — theme tokens will resolve to system colors as needed. */
|
|
11603
|
+
@media (forced-colors: active) {
|
|
11604
|
+
:host {
|
|
11605
|
+
forced-color-adjust: auto;
|
|
11606
|
+
}
|
|
11607
|
+
}
|
|
10299
11608
|
/* ── hx-time-picker ── */
|
|
10300
|
-
:host
|
|
11609
|
+
:host {
|
|
11610
|
+
display: block;
|
|
11611
|
+
position: relative;
|
|
11612
|
+
}
|
|
11613
|
+
:host([disabled]) {
|
|
11614
|
+
opacity: var(--hx-opacity-disabled, 0.5);
|
|
11615
|
+
pointer-events: none;
|
|
11616
|
+
}
|
|
11617
|
+
* {
|
|
11618
|
+
box-sizing: border-box;
|
|
11619
|
+
}
|
|
11620
|
+
.field {
|
|
11621
|
+
display: flex;
|
|
11622
|
+
flex-direction: column;
|
|
11623
|
+
gap: var(--hx-space-1, 0.25rem);
|
|
11624
|
+
font-family: var(--hx-time-picker-font-family, var(--hx-font-family-sans, sans-serif));
|
|
11625
|
+
}
|
|
11626
|
+
.field__label {
|
|
11627
|
+
display: flex;
|
|
11628
|
+
align-items: baseline;
|
|
11629
|
+
gap: var(--hx-space-1, 0.25rem);
|
|
11630
|
+
font-size: var(--hx-font-size-sm, 0.875rem);
|
|
11631
|
+
font-weight: var(--hx-font-weight-medium, 500);
|
|
11632
|
+
color: var(--hx-time-picker-label-color, var(--hx-color-neutral-700));
|
|
11633
|
+
line-height: var(--hx-line-height-normal, 1.5);
|
|
11634
|
+
}
|
|
11635
|
+
.field__required-marker {
|
|
11636
|
+
color: var(--hx-time-picker-error-color, var(--hx-color-error-text, #b91c1c));
|
|
11637
|
+
font-weight: var(--hx-font-weight-bold, 700);
|
|
11638
|
+
}
|
|
11639
|
+
.field__combobox {
|
|
11640
|
+
position: relative;
|
|
11641
|
+
display: flex;
|
|
11642
|
+
align-items: center;
|
|
11643
|
+
border: var(--hx-border-width-thin, 1px) solid
|
|
11644
|
+
var(--hx-time-picker-border-color, var(--hx-color-neutral-300));
|
|
11645
|
+
border-radius: var(--hx-time-picker-border-radius, var(--hx-border-radius-md, 0.375rem));
|
|
11646
|
+
background-color: var(--hx-time-picker-bg, var(--hx-color-neutral-0));
|
|
11647
|
+
transition:
|
|
11648
|
+
border-color var(--hx-transition-fast, 150ms ease),
|
|
11649
|
+
box-shadow var(--hx-transition-fast, 150ms ease);
|
|
11650
|
+
overflow: visible;
|
|
11651
|
+
}
|
|
11652
|
+
.field__combobox:focus-within {
|
|
11653
|
+
border-color: var(--hx-time-picker-focus-ring-color, var(--hx-focus-ring-color));
|
|
11654
|
+
box-shadow: 0 0 0 var(--hx-focus-ring-width, 2px)
|
|
11655
|
+
color-mix(
|
|
11656
|
+
in srgb,
|
|
11657
|
+
var(--hx-time-picker-focus-ring-color, var(--hx-focus-ring-color))
|
|
11658
|
+
calc(var(--hx-focus-ring-opacity, 0.25) * 100%),
|
|
11659
|
+
transparent
|
|
11660
|
+
);
|
|
11661
|
+
}
|
|
11662
|
+
.field--error .field__combobox {
|
|
11663
|
+
border-color: var(--hx-time-picker-error-color, var(--hx-color-error-500));
|
|
11664
|
+
}
|
|
11665
|
+
.field--error .field__combobox:focus-within {
|
|
11666
|
+
border-color: var(--hx-time-picker-error-color, var(--hx-color-error-500));
|
|
11667
|
+
box-shadow: 0 0 0 var(--hx-focus-ring-width, 2px)
|
|
11668
|
+
color-mix(
|
|
11669
|
+
in srgb,
|
|
11670
|
+
var(--hx-time-picker-error-color, var(--hx-color-error-500))
|
|
11671
|
+
calc(var(--hx-focus-ring-opacity, 0.25) * 100%),
|
|
11672
|
+
transparent
|
|
11673
|
+
);
|
|
11674
|
+
}
|
|
11675
|
+
.field__input {
|
|
11676
|
+
flex: 1;
|
|
11677
|
+
border: none;
|
|
11678
|
+
outline: none;
|
|
11679
|
+
background: transparent;
|
|
11680
|
+
padding: var(--hx-space-2, 0.5rem) var(--hx-space-3, 0.75rem);
|
|
11681
|
+
font-family: inherit;
|
|
11682
|
+
font-size: var(--hx-font-size-md, 1rem);
|
|
11683
|
+
color: var(--hx-time-picker-color, var(--hx-color-neutral-800));
|
|
11684
|
+
line-height: var(--hx-line-height-normal, 1.5);
|
|
11685
|
+
min-height: var(--hx-size-10, 2.5rem);
|
|
11686
|
+
width: 100%;
|
|
11687
|
+
cursor: text;
|
|
11688
|
+
}
|
|
11689
|
+
.field__input::placeholder {
|
|
11690
|
+
color: var(--hx-color-neutral-400);
|
|
11691
|
+
}
|
|
11692
|
+
.field__input:disabled {
|
|
11693
|
+
cursor: not-allowed;
|
|
11694
|
+
}
|
|
11695
|
+
.field__toggle {
|
|
11696
|
+
display: flex;
|
|
11697
|
+
align-items: center;
|
|
11698
|
+
justify-content: center;
|
|
11699
|
+
border: none;
|
|
11700
|
+
background: transparent;
|
|
11701
|
+
padding: 0 var(--hx-space-3, 0.75rem);
|
|
11702
|
+
color: var(--hx-time-picker-chevron-color, var(--hx-color-neutral-500));
|
|
11703
|
+
cursor: pointer;
|
|
11704
|
+
height: 100%;
|
|
11705
|
+
min-height: var(--hx-size-10, 2.5rem);
|
|
11706
|
+
flex-shrink: 0;
|
|
11707
|
+
border-inline-start: var(--hx-border-width-thin, 1px) solid
|
|
11708
|
+
var(--hx-time-picker-border-color, var(--hx-color-neutral-300));
|
|
11709
|
+
}
|
|
11710
|
+
.field__toggle:focus-visible {
|
|
11711
|
+
outline: var(--hx-focus-ring-width, 2px) solid
|
|
11712
|
+
var(--hx-time-picker-focus-ring-color, var(--hx-focus-ring-color));
|
|
11713
|
+
outline-offset: -2px;
|
|
11714
|
+
border-radius: 0 var(--hx-time-picker-border-radius, var(--hx-border-radius-md, 0.375rem));
|
|
11715
|
+
}
|
|
11716
|
+
.field__listbox {
|
|
11717
|
+
position: absolute;
|
|
11718
|
+
top: calc(100% + var(--hx-space-1, 0.25rem));
|
|
11719
|
+
inset-inline-start: 0;
|
|
11720
|
+
inset-inline-end: 0;
|
|
11721
|
+
z-index: var(--hx-z-index-dropdown, 1000);
|
|
11722
|
+
background-color: var(--hx-time-picker-listbox-bg, var(--hx-color-neutral-0));
|
|
11723
|
+
border: var(--hx-border-width-thin, 1px) solid
|
|
11724
|
+
var(--hx-time-picker-border-color, var(--hx-color-neutral-300));
|
|
11725
|
+
border-radius: var(--hx-time-picker-border-radius, var(--hx-border-radius-md, 0.375rem));
|
|
11726
|
+
box-shadow: var(
|
|
11727
|
+
--hx-time-picker-listbox-shadow,
|
|
11728
|
+
0 4px 16px color-mix(in srgb, var(--hx-color-neutral-900) 12%, transparent)
|
|
11729
|
+
);
|
|
11730
|
+
max-height: var(--hx-time-picker-listbox-max-height, 16rem);
|
|
11731
|
+
overflow-y: auto;
|
|
11732
|
+
padding: var(--hx-space-1, 0.25rem) 0;
|
|
11733
|
+
list-style: none;
|
|
11734
|
+
margin: 0;
|
|
11735
|
+
}
|
|
11736
|
+
@media (prefers-reduced-motion: no-preference) {
|
|
11737
|
+
.field__listbox {
|
|
11738
|
+
animation: hx-listbox-enter var(--hx-transition-fast, 150ms ease) forwards;
|
|
11739
|
+
}
|
|
11740
|
+
}
|
|
11741
|
+
@keyframes hx-listbox-enter {
|
|
11742
|
+
0% {
|
|
11743
|
+
opacity: 0;
|
|
11744
|
+
transform: translateY(-0.25rem);
|
|
11745
|
+
}
|
|
11746
|
+
to {
|
|
11747
|
+
opacity: 1;
|
|
11748
|
+
transform: translateY(0);
|
|
11749
|
+
}
|
|
11750
|
+
}
|
|
11751
|
+
.field__option {
|
|
11752
|
+
display: flex;
|
|
11753
|
+
align-items: center;
|
|
11754
|
+
padding: var(--hx-space-2, 0.5rem) var(--hx-space-3, 0.75rem);
|
|
11755
|
+
font-size: var(--hx-font-size-md, 1rem);
|
|
11756
|
+
font-family: inherit;
|
|
11757
|
+
color: var(--hx-time-picker-option-color, var(--hx-color-neutral-800));
|
|
11758
|
+
cursor: pointer;
|
|
11759
|
+
transition: background-color var(--hx-transition-fast, 150ms ease);
|
|
11760
|
+
line-height: var(--hx-line-height-normal, 1.5);
|
|
11761
|
+
}
|
|
11762
|
+
.field__option:hover,
|
|
11763
|
+
.field__option--active {
|
|
11764
|
+
background-color: var(--hx-time-picker-option-hover-bg, var(--hx-color-primary-50));
|
|
11765
|
+
color: var(--hx-time-picker-option-hover-color, var(--hx-color-primary-700));
|
|
11766
|
+
}
|
|
11767
|
+
.field__option--selected {
|
|
11768
|
+
background-color: var(--hx-time-picker-option-selected-bg, var(--hx-color-primary-100));
|
|
11769
|
+
color: var(--hx-time-picker-option-selected-color, var(--hx-color-primary-800));
|
|
11770
|
+
font-weight: var(--hx-font-weight-medium, 500);
|
|
11771
|
+
}
|
|
11772
|
+
.field__option--selected.field__option--active {
|
|
11773
|
+
background-color: var(--hx-time-picker-option-selected-bg, var(--hx-color-primary-100));
|
|
11774
|
+
}
|
|
11775
|
+
@media (prefers-reduced-motion: reduce) {
|
|
11776
|
+
.field__combobox,
|
|
11777
|
+
.field__option {
|
|
11778
|
+
transition: none;
|
|
11779
|
+
}
|
|
11780
|
+
}
|
|
11781
|
+
.field__help-text,
|
|
11782
|
+
.field__error {
|
|
11783
|
+
font-size: var(--hx-font-size-xs, 0.75rem);
|
|
11784
|
+
line-height: var(--hx-line-height-normal, 1.5);
|
|
11785
|
+
}
|
|
11786
|
+
.field__help-text {
|
|
11787
|
+
color: var(--hx-color-neutral-500);
|
|
11788
|
+
}
|
|
11789
|
+
.field__error {
|
|
11790
|
+
color: var(--hx-time-picker-error-color, var(--hx-color-error-text, #b91c1c));
|
|
11791
|
+
}
|
|
11792
|
+
@media (forced-colors: active) {
|
|
11793
|
+
.field__combobox {
|
|
11794
|
+
border-color: ButtonText;
|
|
11795
|
+
background-color: Canvas;
|
|
11796
|
+
}
|
|
11797
|
+
.field__combobox:focus-within {
|
|
11798
|
+
outline: 3px solid Highlight;
|
|
11799
|
+
outline-offset: 0;
|
|
11800
|
+
box-shadow: none;
|
|
11801
|
+
}
|
|
11802
|
+
.field--error .field__combobox {
|
|
11803
|
+
border-color: LinkText;
|
|
11804
|
+
}
|
|
11805
|
+
.field--error .field__combobox:focus-within {
|
|
11806
|
+
outline-color: Highlight;
|
|
11807
|
+
box-shadow: none;
|
|
11808
|
+
}
|
|
11809
|
+
.field__toggle:focus-visible {
|
|
11810
|
+
outline: 3px solid Highlight;
|
|
11811
|
+
outline-offset: 0;
|
|
11812
|
+
}
|
|
11813
|
+
.field__listbox {
|
|
11814
|
+
border-color: ButtonText;
|
|
11815
|
+
background-color: Canvas;
|
|
11816
|
+
box-shadow: none;
|
|
11817
|
+
}
|
|
11818
|
+
.field__option:hover,
|
|
11819
|
+
.field__option--active {
|
|
11820
|
+
background-color: Highlight;
|
|
11821
|
+
color: HighlightText;
|
|
11822
|
+
forced-color-adjust: none;
|
|
11823
|
+
}
|
|
11824
|
+
.field__option--selected {
|
|
11825
|
+
background-color: Highlight;
|
|
11826
|
+
color: HighlightText;
|
|
11827
|
+
forced-color-adjust: none;
|
|
11828
|
+
}
|
|
11829
|
+
.field__error {
|
|
11830
|
+
color: LinkText;
|
|
11831
|
+
}
|
|
11832
|
+
}
|
|
10301
11833
|
/* ── hx-toast ── */
|
|
10302
11834
|
/* ─── hx-toast host ─── */
|
|
10303
11835
|
|
|
@@ -10320,13 +11852,12 @@ export const helixTableSectionBaseStyles = css`
|
|
|
10320
11852
|
border-radius: var(--hx-toast-border-radius, var(--hx-border-radius-md, 0.375rem));
|
|
10321
11853
|
background-color: var(--hx-toast-bg, var(--hx-color-neutral-900, #0f172a));
|
|
10322
11854
|
color: var(--hx-toast-color, var(--hx-color-neutral-0, #ffffff));
|
|
10323
|
-
font-family: var(--hx-font-family-sans, sans-serif);
|
|
11855
|
+
font-family: var(--hx-toast-font-family, var(--hx-font-family-sans, sans-serif));
|
|
10324
11856
|
font-size: var(--hx-font-size-sm, 0.875rem);
|
|
10325
11857
|
line-height: var(--hx-line-height-normal, 1.5);
|
|
10326
11858
|
box-shadow: var(
|
|
10327
11859
|
--hx-toast-shadow,
|
|
10328
|
-
0 4px 6px -1px rgb(0 0 0 / 0.1),
|
|
10329
|
-
0 2px 4px -2px rgb(0 0 0 / 0.1)
|
|
11860
|
+
var(--hx-shadow-md, 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1))
|
|
10330
11861
|
);
|
|
10331
11862
|
opacity: 0;
|
|
10332
11863
|
transform: translateY(var(--hx-toast-enter-translate, var(--hx-space-2, 0.5rem)));
|
|
@@ -10346,22 +11877,22 @@ export const helixTableSectionBaseStyles = css`
|
|
|
10346
11877
|
/* ─── Variant overrides ─── */
|
|
10347
11878
|
|
|
10348
11879
|
.toast--success {
|
|
10349
|
-
--hx-toast-bg: var(--hx-color-success-600, #
|
|
11880
|
+
--hx-toast-bg: var(--hx-color-success-600, #15803d);
|
|
10350
11881
|
--hx-toast-color: var(--hx-color-neutral-0, #ffffff);
|
|
10351
11882
|
}
|
|
10352
11883
|
|
|
10353
11884
|
.toast--warning {
|
|
10354
|
-
--hx-toast-bg: var(--hx-color-warning-500, #
|
|
11885
|
+
--hx-toast-bg: var(--hx-color-warning-500, #d97706);
|
|
10355
11886
|
--hx-toast-color: var(--hx-color-neutral-900, #0f172a);
|
|
10356
11887
|
}
|
|
10357
11888
|
|
|
10358
11889
|
.toast--danger {
|
|
10359
|
-
--hx-toast-bg: var(--hx-color-error-600, #
|
|
11890
|
+
--hx-toast-bg: var(--hx-color-error-600, #b91c1c);
|
|
10360
11891
|
--hx-toast-color: var(--hx-color-neutral-0, #ffffff);
|
|
10361
11892
|
}
|
|
10362
11893
|
|
|
10363
11894
|
.toast--info {
|
|
10364
|
-
--hx-toast-bg: var(--hx-color-primary-600, #
|
|
11895
|
+
--hx-toast-bg: var(--hx-color-primary-600, #1d4ed8);
|
|
10365
11896
|
--hx-toast-color: var(--hx-color-neutral-0, #ffffff);
|
|
10366
11897
|
}
|
|
10367
11898
|
|
|
@@ -10672,7 +12203,7 @@ export const helixToastStackStyles = css`
|
|
|
10672
12203
|
* to give clear visual feedback without introducing a new color.
|
|
10673
12204
|
*/
|
|
10674
12205
|
.button--primary.button--pressed {
|
|
10675
|
-
--hx-toggle-button-bg: var(--hx-toggle-button-pressed-bg, var(--hx-color-primary-700, #
|
|
12206
|
+
--hx-toggle-button-bg: var(--hx-toggle-button-pressed-bg, var(--hx-color-primary-700, #1e40af));
|
|
10676
12207
|
--hx-toggle-button-color: var(
|
|
10677
12208
|
--hx-toggle-button-pressed-color,
|
|
10678
12209
|
var(--hx-color-neutral-0, #ffffff)
|
|
@@ -10698,7 +12229,7 @@ export const helixToastStackStyles = css`
|
|
|
10698
12229
|
--hx-toggle-button-bg: var(--hx-toggle-button-pressed-bg, var(--hx-color-primary-100, #dbeafe));
|
|
10699
12230
|
--hx-toggle-button-color: var(
|
|
10700
12231
|
--hx-toggle-button-pressed-color,
|
|
10701
|
-
var(--hx-color-primary-700, #
|
|
12232
|
+
var(--hx-color-primary-700, #1e40af)
|
|
10702
12233
|
);
|
|
10703
12234
|
--hx-toggle-button-border-color: var(--hx-color-primary-400, #60a5fa);
|
|
10704
12235
|
box-shadow: inset 0 0 0 1px var(--hx-color-primary-400, #60a5fa);
|
|
@@ -10709,7 +12240,7 @@ export const helixToastStackStyles = css`
|
|
|
10709
12240
|
--hx-toggle-button-bg: var(--hx-toggle-button-pressed-bg, var(--hx-color-primary-100, #dbeafe));
|
|
10710
12241
|
--hx-toggle-button-color: var(
|
|
10711
12242
|
--hx-toggle-button-pressed-color,
|
|
10712
|
-
var(--hx-color-primary-700, #
|
|
12243
|
+
var(--hx-color-primary-700, #1e40af)
|
|
10713
12244
|
);
|
|
10714
12245
|
--hx-toggle-button-border-color: transparent;
|
|
10715
12246
|
}
|
|
@@ -10799,9 +12330,9 @@ export const helixToastStackStyles = css`
|
|
|
10799
12330
|
z-index: var(--hx-tooltip-z-index, var(--hx-z-index-tooltip, 1600));
|
|
10800
12331
|
max-width: var(--hx-tooltip-max-width, 280px);
|
|
10801
12332
|
padding: var(--hx-tooltip-padding, var(--hx-space-1, 0.25rem) var(--hx-space-2, 0.5rem));
|
|
10802
|
-
background: var(--hx-tooltip-bg, var(--hx-color-neutral-900, #
|
|
10803
|
-
color: var(--hx-tooltip-color, var(--hx-color-neutral-50, #
|
|
10804
|
-
font-family: var(--hx-font-family-sans, sans-serif);
|
|
12333
|
+
background: var(--hx-tooltip-bg, var(--hx-color-neutral-900, #0f172a));
|
|
12334
|
+
color: var(--hx-tooltip-color, var(--hx-color-neutral-50, #f8fafc));
|
|
12335
|
+
font-family: var(--hx-tooltip-font-family, var(--hx-font-family-sans, sans-serif));
|
|
10805
12336
|
font-size: var(--hx-tooltip-font-size, var(--hx-font-size-xs, 0.75rem));
|
|
10806
12337
|
line-height: var(--hx-line-height-normal, 1.5);
|
|
10807
12338
|
border-radius: var(--hx-tooltip-border-radius, var(--hx-border-radius-sm, 0.25rem));
|
|
@@ -10826,7 +12357,7 @@ export const helixToastStackStyles = css`
|
|
|
10826
12357
|
position: absolute;
|
|
10827
12358
|
width: var(--hx-tooltip-arrow-size, 8px);
|
|
10828
12359
|
height: var(--hx-tooltip-arrow-size, 8px);
|
|
10829
|
-
background: var(--hx-tooltip-bg, var(--hx-color-neutral-900, #
|
|
12360
|
+
background: var(--hx-tooltip-bg, var(--hx-color-neutral-900, #0f172a));
|
|
10830
12361
|
transform: rotate(45deg);
|
|
10831
12362
|
pointer-events: none;
|
|
10832
12363
|
}
|
|
@@ -10876,10 +12407,10 @@ export const helixToastStackStyles = css`
|
|
|
10876
12407
|
|
|
10877
12408
|
.nav {
|
|
10878
12409
|
background-color: var(--hx-top-nav-bg, var(--hx-color-neutral-0, #ffffff));
|
|
10879
|
-
color: var(--hx-top-nav-color, var(--hx-color-neutral-800, #
|
|
12410
|
+
color: var(--hx-top-nav-color, var(--hx-color-neutral-800, #1e293b));
|
|
10880
12411
|
border-bottom: var(--hx-border-width-thin, 1px) solid
|
|
10881
|
-
var(--hx-top-nav-border-color, var(--hx-color-neutral-200, #
|
|
10882
|
-
font-family: var(--hx-font-family-sans, sans-serif);
|
|
12412
|
+
var(--hx-top-nav-border-color, var(--hx-color-neutral-200, #e2e8f0));
|
|
12413
|
+
font-family: var(--hx-top-nav-font-family, var(--hx-font-family-sans, sans-serif));
|
|
10883
12414
|
}
|
|
10884
12415
|
|
|
10885
12416
|
/* ─── Bar row (always visible) ─── */
|
|
@@ -10912,13 +12443,13 @@ export const helixToastStackStyles = css`
|
|
|
10912
12443
|
background: transparent;
|
|
10913
12444
|
border: none;
|
|
10914
12445
|
border-radius: var(--hx-border-radius-sm, 0.25rem);
|
|
10915
|
-
color: var(--hx-top-nav-toggle-color, var(--hx-color-neutral-700, #
|
|
12446
|
+
color: var(--hx-top-nav-toggle-color, var(--hx-color-neutral-700, #334155));
|
|
10916
12447
|
cursor: pointer;
|
|
10917
12448
|
line-height: 0;
|
|
10918
12449
|
}
|
|
10919
12450
|
|
|
10920
12451
|
.mobile-toggle:hover {
|
|
10921
|
-
background: var(--hx-color-neutral-100, #
|
|
12452
|
+
background: var(--hx-color-neutral-100, #f1f5f9);
|
|
10922
12453
|
}
|
|
10923
12454
|
|
|
10924
12455
|
.mobile-toggle:focus-visible {
|
|
@@ -10940,12 +12471,12 @@ export const helixToastStackStyles = css`
|
|
|
10940
12471
|
width: 100%;
|
|
10941
12472
|
padding-block: var(--hx-space-3, 0.75rem);
|
|
10942
12473
|
border-top: var(--hx-border-width-thin, 1px) solid
|
|
10943
|
-
var(--hx-top-nav-border-color, var(--hx-color-neutral-200, #
|
|
12474
|
+
var(--hx-top-nav-border-color, var(--hx-color-neutral-200, #e2e8f0));
|
|
10944
12475
|
}
|
|
10945
12476
|
|
|
10946
12477
|
.nav__collapsible--open {
|
|
10947
12478
|
display: flex;
|
|
10948
|
-
animation: hx-mobile-nav-open var(--hx-duration-fast,
|
|
12479
|
+
animation: hx-mobile-nav-open var(--hx-duration-fast, 100ms) ease-out;
|
|
10949
12480
|
}
|
|
10950
12481
|
|
|
10951
12482
|
/* ─── Menu and actions in collapsible (mobile) ─── */
|
|
@@ -10962,7 +12493,7 @@ export const helixToastStackStyles = css`
|
|
|
10962
12493
|
margin-top: var(--hx-space-3, 0.75rem);
|
|
10963
12494
|
padding-top: var(--hx-space-3, 0.75rem);
|
|
10964
12495
|
border-top: var(--hx-border-width-thin, 1px) solid
|
|
10965
|
-
var(--hx-top-nav-border-color, var(--hx-color-neutral-200, #
|
|
12496
|
+
var(--hx-top-nav-border-color, var(--hx-color-neutral-200, #e2e8f0));
|
|
10966
12497
|
}
|
|
10967
12498
|
|
|
10968
12499
|
/* ─── Desktop breakpoint ─── */
|
|
@@ -11094,6 +12625,15 @@ export const helixToastStackStyles = css`
|
|
|
11094
12625
|
outline-offset: var(--hx-focus-ring-offset, 2px);
|
|
11095
12626
|
border-radius: var(--hx-border-radius-sm, 0.25rem);
|
|
11096
12627
|
}
|
|
12628
|
+
|
|
12629
|
+
/* ─── High Contrast Mode (forced-colors) ─── */
|
|
12630
|
+
|
|
12631
|
+
@media (forced-colors: active) {
|
|
12632
|
+
.tree:focus-visible {
|
|
12633
|
+
outline: 3px solid Highlight;
|
|
12634
|
+
outline-offset: 2px;
|
|
12635
|
+
}
|
|
12636
|
+
}
|
|
11097
12637
|
/* ── hx-visually-hidden ── */
|
|
11098
12638
|
:host {
|
|
11099
12639
|
position: absolute !important;
|
|
@@ -11119,4 +12659,16 @@ export const helixToastStackStyles = css`
|
|
|
11119
12659
|
clip-path: none !important;
|
|
11120
12660
|
white-space: normal !important;
|
|
11121
12661
|
border: 0 !important;
|
|
12662
|
+
}
|
|
12663
|
+
|
|
12664
|
+
/* ─── High Contrast Mode (forced-colors) ─── */
|
|
12665
|
+
|
|
12666
|
+
/* hx-visually-hidden clips content off-screen for sighted users; in forced-colors
|
|
12667
|
+
mode this behavior is intentional. When the focusable variant becomes visible
|
|
12668
|
+
on focus, the browser's forced-colors mapping handles text/background colors
|
|
12669
|
+
correctly via the default forced-color-adjust: auto. */
|
|
12670
|
+
@media (forced-colors: active) {
|
|
12671
|
+
:host([focusable]:focus-within) {
|
|
12672
|
+
forced-color-adjust: auto;
|
|
12673
|
+
}
|
|
11122
12674
|
}
|