@helixui/library 3.1.0 → 3.2.0-next.102
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 +6407 -339
- package/dist/components/hx-accordion/hx-accordion-item.d.ts.map +1 -1
- package/dist/components/hx-accordion/hx-accordion-item.styles.d.ts.map +1 -1
- package/dist/components/hx-accordion/hx-accordion.d.ts +3 -0
- package/dist/components/hx-accordion/hx-accordion.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 +14 -0
- package/dist/components/hx-action-bar/hx-action-bar.d.ts.map +1 -1
- package/dist/components/hx-action-bar/index.js +1 -1
- package/dist/components/hx-alert/hx-alert.d.ts +36 -0
- package/dist/components/hx-alert/hx-alert.d.ts.map +1 -1
- package/dist/components/hx-alert/hx-alert.styles.d.ts +12 -0
- package/dist/components/hx-alert/hx-alert.styles.d.ts.map +1 -1
- package/dist/components/hx-alert/index.js +1 -1
- package/dist/components/hx-avatar/hx-avatar.d.ts +17 -0
- 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 +35 -0
- package/dist/components/hx-badge/hx-badge.d.ts.map +1 -1
- package/dist/components/hx-badge/index.js +1 -1
- package/dist/components/hx-banner/hx-banner.d.ts +34 -0
- package/dist/components/hx-banner/hx-banner.d.ts.map +1 -1
- package/dist/components/hx-banner/hx-banner.styles.d.ts +12 -0
- package/dist/components/hx-banner/hx-banner.styles.d.ts.map +1 -1
- package/dist/components/hx-banner/index.js +1 -1
- package/dist/components/hx-breadcrumb/hx-breadcrumb-item.d.ts.map +1 -1
- package/dist/components/hx-breadcrumb/hx-breadcrumb-item.styles.d.ts.map +1 -1
- package/dist/components/hx-breadcrumb/hx-breadcrumb.d.ts +3 -0
- package/dist/components/hx-breadcrumb/hx-breadcrumb.d.ts.map +1 -1
- package/dist/components/hx-breadcrumb/index.js +1 -1
- package/dist/components/hx-button/hx-button.d.ts +44 -7
- package/dist/components/hx-button/hx-button.d.ts.map +1 -1
- package/dist/components/hx-button/hx-button.styles.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 +2 -0
- 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 +28 -0
- package/dist/components/hx-card/hx-card.d.ts.map +1 -1
- package/dist/components/hx-card/hx-card.styles.d.ts +9 -0
- package/dist/components/hx-card/hx-card.styles.d.ts.map +1 -1
- package/dist/components/hx-card/index.js +1 -1
- package/dist/components/hx-carousel/hx-carousel.d.ts +25 -0
- package/dist/components/hx-carousel/hx-carousel.d.ts.map +1 -1
- package/dist/components/hx-carousel/hx-carousel.styles.d.ts.map +1 -1
- package/dist/components/hx-carousel/index.js +1 -1
- package/dist/components/hx-checkbox/hx-checkbox.d.ts +38 -7
- package/dist/components/hx-checkbox/hx-checkbox.d.ts.map +1 -1
- package/dist/components/hx-checkbox/hx-checkbox.styles.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 +16 -2
- package/dist/components/hx-checkbox-group/hx-checkbox-group.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 +37 -0
- package/dist/components/hx-clinical-status/hx-clinical-status.d.ts.map +1 -1
- package/dist/components/hx-clinical-status/hx-clinical-status.styles.d.ts.map +1 -1
- package/dist/components/hx-clinical-status/index.js +1 -1
- package/dist/components/hx-code-snippet/hx-code-snippet.d.ts +35 -0
- package/dist/components/hx-code-snippet/hx-code-snippet.d.ts.map +1 -1
- package/dist/components/hx-code-snippet/hx-code-snippet.styles.d.ts.map +1 -1
- package/dist/components/hx-code-snippet/index.js +1 -1
- package/dist/components/hx-color-picker/hx-color-picker.d.ts +29 -0
- 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.js +1 -1
- package/dist/components/hx-combobox/hx-combobox.d.ts +49 -0
- 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.js +1 -1
- package/dist/components/hx-container/hx-container.d.ts +5 -0
- package/dist/components/hx-container/hx-container.d.ts.map +1 -1
- package/dist/components/hx-copy-button/hx-copy-button.d.ts +24 -0
- package/dist/components/hx-copy-button/hx-copy-button.d.ts.map +1 -1
- package/dist/components/hx-copy-button/hx-copy-button.styles.d.ts.map +1 -1
- package/dist/components/hx-copy-button/index.js +1 -1
- package/dist/components/hx-counter/hx-counter.d.ts +7 -0
- package/dist/components/hx-counter/hx-counter.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 +29 -0
- package/dist/components/hx-data-table/hx-data-table.d.ts.map +1 -1
- package/dist/components/hx-data-table/hx-data-table.styles.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 +44 -0
- 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.js +1 -1
- package/dist/components/hx-dialog/hx-dialog.d.ts +31 -0
- package/dist/components/hx-dialog/hx-dialog.d.ts.map +1 -1
- package/dist/components/hx-dialog/hx-dialog.styles.d.ts +10 -0
- package/dist/components/hx-dialog/hx-dialog.styles.d.ts.map +1 -1
- package/dist/components/hx-dialog/index.js +1 -1
- package/dist/components/hx-divider/hx-divider.d.ts +9 -0
- package/dist/components/hx-divider/hx-divider.d.ts.map +1 -1
- package/dist/components/hx-divider/index.js +1 -1
- package/dist/components/hx-drawer/hx-drawer.d.ts +30 -0
- package/dist/components/hx-drawer/hx-drawer.d.ts.map +1 -1
- package/dist/components/hx-drawer/hx-drawer.styles.d.ts +10 -0
- package/dist/components/hx-drawer/hx-drawer.styles.d.ts.map +1 -1
- package/dist/components/hx-drawer/index.js +1 -1
- package/dist/components/hx-dropdown/hx-dropdown.d.ts +6 -0
- 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 +15 -0
- 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 +11 -0
- 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 +35 -0
- package/dist/components/hx-file-upload/hx-file-upload.d.ts.map +1 -1
- package/dist/components/hx-file-upload/hx-file-upload.styles.d.ts.map +1 -1
- package/dist/components/hx-file-upload/index.js +1 -1
- package/dist/components/hx-form/index.js +1 -1
- package/dist/components/hx-grid/hx-grid.d.ts +5 -0
- package/dist/components/hx-grid/hx-grid.d.ts.map +1 -1
- package/dist/components/hx-help-text/hx-help-text.d.ts +8 -0
- 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 +5 -0
- 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/hx-icon-button.d.ts +27 -0
- package/dist/components/hx-icon-button/hx-icon-button.d.ts.map +1 -1
- package/dist/components/hx-icon-button/hx-icon-button.styles.d.ts.map +1 -1
- package/dist/components/hx-icon-button/index.js +1 -1
- package/dist/components/hx-image/hx-image.d.ts +4 -0
- 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 +15 -0
- package/dist/components/hx-link/hx-link.d.ts.map +1 -1
- package/dist/components/hx-link/hx-link.styles.d.ts.map +1 -1
- package/dist/components/hx-link/index.js +1 -1
- package/dist/components/hx-list/hx-list-item.d.ts.map +1 -1
- package/dist/components/hx-list/hx-list-item.styles.d.ts.map +1 -1
- package/dist/components/hx-list/hx-list.d.ts +3 -0
- package/dist/components/hx-list/hx-list.d.ts.map +1 -1
- package/dist/components/hx-list/index.js +1 -1
- package/dist/components/hx-menu/hx-menu-divider.d.ts.map +1 -1
- package/dist/components/hx-menu/hx-menu-item.d.ts.map +1 -1
- package/dist/components/hx-menu/hx-menu.d.ts +6 -0
- package/dist/components/hx-menu/hx-menu.d.ts.map +1 -1
- package/dist/components/hx-menu/index.js +1 -1
- package/dist/components/hx-meter/hx-meter.d.ts +23 -0
- 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 +29 -0
- package/dist/components/hx-nav/hx-nav.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 +34 -0
- package/dist/components/hx-number-input/hx-number-input.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 +26 -0
- package/dist/components/hx-overflow-menu/hx-overflow-menu.d.ts.map +1 -1
- package/dist/components/hx-overflow-menu/hx-overflow-menu.styles.d.ts.map +1 -1
- package/dist/components/hx-overflow-menu/index.js +1 -1
- package/dist/components/hx-pagination/hx-pagination.d.ts +21 -0
- package/dist/components/hx-pagination/hx-pagination.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 +23 -0
- package/dist/components/hx-patient-banner/hx-patient-banner.d.ts.map +1 -1
- package/dist/components/hx-patient-banner/hx-patient-banner.styles.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 +19 -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 +15 -0
- package/dist/components/hx-popover/hx-popover.d.ts.map +1 -1
- package/dist/components/hx-popover/hx-popover.styles.d.ts +9 -0
- package/dist/components/hx-popover/hx-popover.styles.d.ts.map +1 -1
- package/dist/components/hx-popover/index.js +1 -1
- package/dist/components/hx-popup/hx-popup.d.ts +1 -0
- package/dist/components/hx-popup/hx-popup.d.ts.map +1 -1
- package/dist/components/hx-popup/hx-popup.styles.d.ts +9 -0
- package/dist/components/hx-popup/hx-popup.styles.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 +17 -0
- 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 +15 -0
- package/dist/components/hx-progress-ring/hx-progress-ring.d.ts.map +1 -1
- package/dist/components/hx-progress-ring/index.js +1 -1
- package/dist/components/hx-prose/hx-prose.d.ts +2 -0
- package/dist/components/hx-prose/hx-prose.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 +17 -3
- package/dist/components/hx-radio-group/hx-radio-group.d.ts.map +1 -1
- package/dist/components/hx-radio-group/hx-radio.d.ts +5 -5
- package/dist/components/hx-radio-group/hx-radio.d.ts.map +1 -1
- package/dist/components/hx-radio-group/hx-radio.styles.d.ts.map +1 -1
- package/dist/components/hx-radio-group/index.js +1 -1
- package/dist/components/hx-rating/hx-rating.d.ts +13 -0
- 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.js +1 -1
- package/dist/components/hx-select/hx-select.d.ts +43 -0
- package/dist/components/hx-select/hx-select.d.ts.map +1 -1
- package/dist/components/hx-select/hx-select.styles.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 +7 -5
- 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 +9 -4
- 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 +5 -0
- 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 +38 -0
- package/dist/components/hx-slider/hx-slider.d.ts.map +1 -1
- package/dist/components/hx-slider/index.js +1 -1
- package/dist/components/hx-spinner/hx-spinner.d.ts +10 -0
- 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 +40 -1
- package/dist/components/hx-split-button/hx-split-button.d.ts.map +1 -1
- package/dist/components/hx-split-button/hx-split-button.styles.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 -0
- package/dist/components/hx-split-panel/hx-split-panel.d.ts.map +1 -1
- package/dist/components/hx-split-panel/hx-split-panel.styles.d.ts.map +1 -1
- package/dist/components/hx-split-panel/index.js +1 -1
- package/dist/components/hx-stack/hx-stack.d.ts +5 -0
- package/dist/components/hx-stack/hx-stack.d.ts.map +1 -1
- package/dist/components/hx-stat/hx-stat.d.ts +24 -0
- 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 +13 -0
- 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.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 +15 -0
- package/dist/components/hx-steps/hx-steps.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 +7 -0
- 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-switch/hx-switch.d.ts +42 -0
- package/dist/components/hx-switch/hx-switch.d.ts.map +1 -1
- package/dist/components/hx-switch/hx-switch.styles.d.ts.map +1 -1
- package/dist/components/hx-switch/index.js +1 -1
- package/dist/components/hx-table/hx-table.d.ts +20 -6
- package/dist/components/hx-table/hx-table.d.ts.map +1 -1
- package/dist/components/hx-table/hx-table.styles.d.ts.map +1 -1
- package/dist/components/hx-table/hx-td.d.ts +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-panel.styles.d.ts.map +1 -1
- package/dist/components/hx-tabs/hx-tab.d.ts +6 -6
- 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 +12 -8
- package/dist/components/hx-tabs/hx-tabs.d.ts.map +1 -1
- package/dist/components/hx-tabs/index.js +1 -1
- package/dist/components/hx-tag/hx-tag.d.ts +36 -0
- package/dist/components/hx-tag/hx-tag.d.ts.map +1 -1
- package/dist/components/hx-tag/index.js +1 -1
- package/dist/components/hx-text/hx-text.d.ts +22 -0
- 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 +18 -5
- package/dist/components/hx-text-input/hx-text-input.d.ts.map +1 -1
- package/dist/components/hx-text-input/hx-text-input.styles.d.ts +12 -0
- package/dist/components/hx-text-input/hx-text-input.styles.d.ts.map +1 -1
- package/dist/components/hx-text-input/index.js +1 -1
- package/dist/components/hx-textarea/hx-textarea.d.ts +27 -0
- 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.js +1 -1
- package/dist/components/hx-theme/hx-theme.d.ts +3 -0
- package/dist/components/hx-theme/hx-theme.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 +32 -0
- 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.js +1 -1
- package/dist/components/hx-toast/hx-toast.d.ts +30 -2
- package/dist/components/hx-toast/hx-toast.d.ts.map +1 -1
- package/dist/components/hx-toast/hx-toast.styles.d.ts +10 -0
- 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 +35 -0
- package/dist/components/hx-toggle-button/hx-toggle-button.d.ts.map +1 -1
- package/dist/components/hx-toggle-button/hx-toggle-button.styles.d.ts.map +1 -1
- package/dist/components/hx-toggle-button/index.js +1 -1
- package/dist/components/hx-tooltip/hx-tooltip.d.ts +13 -0
- package/dist/components/hx-tooltip/hx-tooltip.d.ts.map +1 -1
- package/dist/components/hx-tooltip/hx-tooltip.styles.d.ts +8 -0
- package/dist/components/hx-tooltip/hx-tooltip.styles.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 +21 -0
- 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.map +1 -1
- package/dist/components/hx-tree-view/hx-tree-view.d.ts +6 -0
- 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.js +1 -1
- package/dist/css/helix-all.css +1273 -939
- package/dist/css/helix-core.css +327 -170
- package/dist/css/helix-data.css +54 -48
- package/dist/css/helix-feedback.css +123 -95
- package/dist/css/helix-forms.css +490 -387
- package/dist/css/helix-layout.css +9 -12
- package/dist/css/helix-media.css +16 -12
- package/dist/css/helix-navigation.css +86 -67
- package/dist/css/helix-overlay.css +62 -56
- package/dist/css/helix-tokens.css +173 -106
- package/dist/css/helix-utility.css +57 -46
- package/dist/css/hx-action-bar.css +5 -5
- package/dist/css/hx-alert.css +24 -23
- package/dist/css/hx-avatar.css +3 -3
- package/dist/css/hx-badge.css +22 -22
- package/dist/css/hx-banner.css +25 -24
- package/dist/css/hx-button-group.css +31 -14
- package/dist/css/hx-button.css +156 -34
- package/dist/css/hx-card.css +23 -12
- package/dist/css/hx-carousel.css +16 -12
- package/dist/css/hx-checkbox-group.css +5 -5
- package/dist/css/hx-checkbox.css +19 -22
- package/dist/css/hx-clinical-status.css +28 -30
- package/dist/css/hx-code-snippet.css +26 -20
- package/dist/css/hx-color-picker.css +20 -13
- package/dist/css/hx-combobox.css +31 -37
- package/dist/css/hx-copy-button.css +6 -3
- package/dist/css/hx-counter.css +1 -1
- package/dist/css/hx-data-table.css +16 -15
- package/dist/css/hx-date-picker.css +34 -50
- package/dist/css/hx-dialog.css +31 -27
- package/dist/css/hx-divider.css +2 -2
- package/dist/css/hx-drawer.css +18 -18
- package/dist/css/hx-dropdown.css +2 -2
- package/dist/css/hx-field-label.css +3 -3
- package/dist/css/hx-field.css +6 -6
- package/dist/css/hx-file-upload.css +21 -30
- package/dist/css/hx-help-text.css +5 -5
- package/dist/css/hx-icon-button.css +46 -38
- package/dist/css/hx-image.css +3 -3
- package/dist/css/hx-link.css +9 -12
- package/dist/css/hx-list.css +1 -1
- package/dist/css/hx-menu.css +2 -2
- package/dist/css/hx-meter.css +10 -10
- package/dist/css/hx-nav.css +11 -11
- package/dist/css/hx-number-input.css +18 -18
- package/dist/css/hx-overflow-menu.css +18 -15
- package/dist/css/hx-pagination.css +15 -15
- package/dist/css/hx-patient-banner.css +17 -9
- package/dist/css/hx-phi-field.css +4 -7
- package/dist/css/hx-popover.css +7 -6
- package/dist/css/hx-progress-bar.css +7 -7
- package/dist/css/hx-progress-ring.css +6 -6
- package/dist/css/hx-radio-group.css +5 -5
- package/dist/css/hx-rating.css +5 -6
- package/dist/css/hx-select.css +18 -19
- package/dist/css/hx-side-nav.css +28 -11
- package/dist/css/hx-skeleton.css +1 -1
- package/dist/css/hx-slider.css +15 -15
- package/dist/css/hx-spinner.css +4 -4
- package/dist/css/hx-split-button.css +45 -37
- package/dist/css/hx-split-panel.css +9 -12
- package/dist/css/hx-stat.css +8 -8
- package/dist/css/hx-status-indicator.css +7 -7
- package/dist/css/hx-structured-list.css +5 -5
- package/dist/css/hx-switch.css +16 -11
- package/dist/css/hx-table.css +6 -7
- package/dist/css/hx-tabs.css +3 -3
- package/dist/css/hx-tag.css +18 -18
- package/dist/css/hx-text-input.css +133 -61
- package/dist/css/hx-text.css +9 -7
- package/dist/css/hx-textarea.css +63 -27
- package/dist/css/hx-time-picker.css +27 -21
- package/dist/css/hx-toast.css +36 -10
- package/dist/css/hx-toggle-button.css +46 -33
- package/dist/css/hx-tooltip.css +4 -3
- package/dist/css/hx-top-nav.css +8 -8
- package/dist/css/hx-tree-view.css +1 -2
- package/dist/css/index.css +1 -1
- package/dist/css/manifest.json +332 -230
- package/dist/index.js +75 -75
- package/dist/shared/forced-colors-CTEDFRGa.js +117 -0
- package/dist/shared/forced-colors-CTEDFRGa.js.map +1 -0
- package/dist/shared/{hx-accordion-Wt52OOZD.js → hx-accordion-ZVzgDzTG.js} +29 -29
- package/dist/shared/hx-accordion-ZVzgDzTG.js.map +1 -0
- package/dist/shared/{hx-action-bar-BKMADbHj.js → hx-action-bar-CitgcpGv.js} +38 -37
- package/dist/shared/hx-action-bar-CitgcpGv.js.map +1 -0
- package/dist/shared/{hx-alert-D7n94HwI.js → hx-alert-CLn7CstP.js} +33 -31
- package/dist/shared/hx-alert-CLn7CstP.js.map +1 -0
- package/dist/shared/{hx-avatar-iLYzu8MJ.js → hx-avatar-C9hOmlAb.js} +19 -18
- package/dist/shared/hx-avatar-C9hOmlAb.js.map +1 -0
- package/dist/shared/{hx-badge-CVCmMPyW.js → hx-badge-CQXgOXJM.js} +65 -64
- package/dist/shared/hx-badge-CQXgOXJM.js.map +1 -0
- package/dist/shared/{hx-banner-C_He7Tr4.js → hx-banner-D3DzpfcP.js} +39 -37
- package/dist/shared/hx-banner-D3DzpfcP.js.map +1 -0
- package/dist/shared/{hx-breadcrumb-item-CldCwD1d.js → hx-breadcrumb-item-3tKppF9h.js} +24 -26
- package/dist/shared/hx-breadcrumb-item-3tKppF9h.js.map +1 -0
- package/dist/shared/{hx-button-Ddl-T6T-.js → hx-button-CHlkRQTe.js} +183 -61
- package/dist/shared/hx-button-CHlkRQTe.js.map +1 -0
- package/dist/shared/{hx-button-group-BJOGWoMa.js → hx-button-group-BI-QBqmO.js} +45 -27
- package/dist/shared/hx-button-group-BI-QBqmO.js.map +1 -0
- package/dist/shared/{hx-card-ycveujjL.js → hx-card-qNAM2QNV.js} +49 -37
- package/dist/shared/hx-card-qNAM2QNV.js.map +1 -0
- package/dist/shared/{hx-carousel-item-D_dCv61-.js → hx-carousel-item-z1Lc24op.js} +41 -36
- package/dist/shared/hx-carousel-item-z1Lc24op.js.map +1 -0
- package/dist/shared/{hx-checkbox-DkkoWoye.js → hx-checkbox-D7xma9YH.js} +38 -40
- package/dist/shared/hx-checkbox-D7xma9YH.js.map +1 -0
- package/dist/shared/{hx-checkbox-group-C3poJ-Zw.js → hx-checkbox-group-C9n315Ju.js} +20 -19
- package/dist/shared/hx-checkbox-group-C9n315Ju.js.map +1 -0
- package/dist/shared/{hx-clinical-status-BS5lcddT.js → hx-clinical-status-D3XQIOqX.js} +55 -56
- package/dist/shared/hx-clinical-status-D3XQIOqX.js.map +1 -0
- package/dist/shared/{hx-code-snippet-B7wUKzyb.js → hx-code-snippet-Bi-arDKH.js} +41 -34
- package/dist/shared/hx-code-snippet-Bi-arDKH.js.map +1 -0
- package/dist/shared/{hx-color-picker-DBaKTVLr.js → hx-color-picker-uRc865FJ.js} +54 -46
- package/dist/shared/hx-color-picker-uRc865FJ.js.map +1 -0
- package/dist/shared/{hx-combobox-BmgYT7Ar.js → hx-combobox-DDzqNKEW.js} +43 -48
- package/dist/shared/hx-combobox-DDzqNKEW.js.map +1 -0
- package/dist/shared/hx-container-DVI7sxfX.js.map +1 -1
- package/dist/shared/{hx-copy-button-8deNUdwP.js → hx-copy-button-sUVuikyH.js} +23 -19
- package/dist/shared/hx-copy-button-sUVuikyH.js.map +1 -0
- package/dist/shared/{hx-counter-CKfl_g8K.js → hx-counter-0zYapFhf.js} +10 -9
- package/dist/shared/hx-counter-0zYapFhf.js.map +1 -0
- package/dist/shared/{hx-data-table-B6h0RPn0.js → hx-data-table-CLqVqdxr.js} +49 -47
- package/dist/shared/hx-data-table-CLqVqdxr.js.map +1 -0
- package/dist/shared/{hx-date-picker-Dq2Nb68_.js → hx-date-picker-2iRG1p74.js} +51 -66
- package/dist/shared/hx-date-picker-2iRG1p74.js.map +1 -0
- package/dist/shared/{hx-dialog-CvIlY0Tc.js → hx-dialog-DRN_1-Y-.js} +68 -63
- package/dist/shared/hx-dialog-DRN_1-Y-.js.map +1 -0
- package/dist/shared/{hx-divider-DwpOrzMW.js → hx-divider-CYfcUjcr.js} +18 -17
- package/dist/shared/hx-divider-CYfcUjcr.js.map +1 -0
- package/dist/shared/{hx-drawer-Cx2ZJhBe.js → hx-drawer-Y1Ui2IWJ.js} +31 -30
- package/dist/shared/hx-drawer-Y1Ui2IWJ.js.map +1 -0
- package/dist/shared/{hx-dropdown-BjDrPUq5.js → hx-dropdown-LyaRc8Rf.js} +16 -15
- package/dist/shared/hx-dropdown-LyaRc8Rf.js.map +1 -0
- package/dist/shared/{hx-field-Dp3qQMut.js → hx-field-B3Qo8OLS.js} +15 -15
- package/dist/shared/hx-field-B3Qo8OLS.js.map +1 -0
- package/dist/shared/{hx-field-label-BC8QViXv.js → hx-field-label-BVRyyKeh.js} +8 -7
- package/dist/shared/hx-field-label-BVRyyKeh.js.map +1 -0
- package/dist/shared/{hx-file-upload-B6Yl1u0i.js → hx-file-upload-D3rKROK5.js} +51 -59
- package/dist/shared/hx-file-upload-D3rKROK5.js.map +1 -0
- package/dist/shared/hx-form-CkChEATa.js +257 -0
- package/dist/shared/hx-form-CkChEATa.js.map +1 -0
- package/dist/shared/hx-grid-CXZf3jeK.js.map +1 -1
- package/dist/shared/{hx-help-text-D7eytSim.js → hx-help-text-Xb2Yr8x2.js} +30 -29
- package/dist/shared/hx-help-text-Xb2Yr8x2.js.map +1 -0
- package/dist/shared/{hx-icon-button-BHneqPCU.js → hx-icon-button-CGNdQSFM.js} +78 -69
- package/dist/shared/hx-icon-button-CGNdQSFM.js.map +1 -0
- package/dist/shared/{hx-icon-CcyDPDYY.js → hx-icon-fuVm4-bk.js} +15 -14
- package/dist/shared/hx-icon-fuVm4-bk.js.map +1 -0
- package/dist/shared/{hx-image-2gt14zZd.js → hx-image-Ben_4yM5.js} +18 -17
- package/dist/shared/hx-image-Ben_4yM5.js.map +1 -0
- package/dist/shared/{hx-link-BESrWK8M.js → hx-link-C-O6vq0Q.js} +20 -22
- package/dist/shared/hx-link-C-O6vq0Q.js.map +1 -0
- package/dist/shared/{hx-list-_9qVv02L.js → hx-list-MyEhh8c7.js} +22 -23
- package/dist/shared/hx-list-MyEhh8c7.js.map +1 -0
- package/dist/shared/{hx-menu-divider-Ck-9Os1t.js → hx-menu-divider-C2omnPtj.js} +50 -49
- package/dist/shared/hx-menu-divider-C2omnPtj.js.map +1 -0
- package/dist/shared/{hx-meter-TbROk-dw.js → hx-meter-BPscsw5t.js} +41 -40
- package/dist/shared/{hx-meter-TbROk-dw.js.map → hx-meter-BPscsw5t.js.map} +1 -1
- package/dist/shared/{hx-nav-item-pqPasRUm.js → hx-nav-item-Dap3DYgB.js} +143 -81
- package/dist/shared/hx-nav-item-Dap3DYgB.js.map +1 -0
- package/dist/shared/{hx-nav-BcYDmjf7.js → hx-nav-ldFM3Fle.js} +54 -53
- package/dist/shared/hx-nav-ldFM3Fle.js.map +1 -0
- package/dist/shared/{hx-number-input-mOIZ3-46.js → hx-number-input-yUzFOSC1.js} +68 -67
- package/dist/shared/hx-number-input-yUzFOSC1.js.map +1 -0
- package/dist/shared/{hx-overflow-menu-Dprb9lnT.js → hx-overflow-menu-DCLsdIBy.js} +33 -29
- package/dist/shared/hx-overflow-menu-DCLsdIBy.js.map +1 -0
- package/dist/shared/{hx-pagination-AguTQjYC.js → hx-pagination-C7y8GVyU.js} +43 -42
- package/dist/shared/hx-pagination-C7y8GVyU.js.map +1 -0
- package/dist/shared/{hx-patient-banner-uE6gqLpT.js → hx-patient-banner-CkS-Lmj4.js} +29 -20
- package/dist/shared/hx-patient-banner-CkS-Lmj4.js.map +1 -0
- package/dist/shared/{hx-phi-field-BC_XowhC.js → hx-phi-field-C19oxlrr.js} +13 -15
- package/dist/shared/hx-phi-field-C19oxlrr.js.map +1 -0
- package/dist/shared/{hx-popover-B2_203ct.js → hx-popover-B-FP3-wW.js} +31 -29
- package/dist/shared/hx-popover-B-FP3-wW.js.map +1 -0
- package/dist/shared/{hx-popup-DZXpsJ1R.js → hx-popup-COUXXZ9X.js} +8 -7
- package/dist/shared/hx-popup-COUXXZ9X.js.map +1 -0
- package/dist/shared/{hx-progress-bar-KjEkEJLy.js → hx-progress-bar-Bn3JEPUf.js} +28 -27
- package/dist/shared/hx-progress-bar-Bn3JEPUf.js.map +1 -0
- package/dist/shared/{hx-progress-ring-3zMwvrwD.js → hx-progress-ring-TwHyXeEp.js} +15 -14
- package/dist/shared/hx-progress-ring-TwHyXeEp.js.map +1 -0
- package/dist/shared/{hx-prose-BCtK7YL6.js → hx-prose-BThYcASV.js} +12 -12
- package/dist/shared/{hx-prose-BCtK7YL6.js.map → hx-prose-BThYcASV.js.map} +1 -1
- package/dist/shared/{hx-radio-BBC5qZgE.js → hx-radio-CJvNU2yP.js} +38 -40
- package/dist/shared/hx-radio-CJvNU2yP.js.map +1 -0
- package/dist/shared/{hx-rating-C3E3ENJb.js → hx-rating-C3QP53k9.js} +38 -38
- package/dist/shared/hx-rating-C3QP53k9.js.map +1 -0
- package/dist/shared/{hx-select-CixTo7jp.js → hx-select-C8fEHQhC.js} +64 -64
- package/dist/shared/hx-select-C8fEHQhC.js.map +1 -0
- package/dist/shared/{hx-skeleton-LxkI0pxr.js → hx-skeleton-Cnieh5Uc.js} +14 -13
- package/dist/shared/hx-skeleton-Cnieh5Uc.js.map +1 -0
- package/dist/shared/{hx-slider-DFHuzF3N.js → hx-slider-Blmv_rwS.js} +70 -69
- package/dist/shared/hx-slider-Blmv_rwS.js.map +1 -0
- package/dist/shared/{hx-spinner-BKjuCdZB.js → hx-spinner-DL5AYr16.js} +18 -17
- package/dist/shared/hx-spinner-DL5AYr16.js.map +1 -0
- package/dist/shared/{hx-split-button-CGcJMmCG.js → hx-split-button-Djnc5Aeg.js} +74 -65
- package/dist/shared/hx-split-button-Djnc5Aeg.js.map +1 -0
- package/dist/shared/{hx-split-panel-C-1R10Mc.js → hx-split-panel-B-u0Z3mm.js} +16 -18
- package/dist/shared/hx-split-panel-B-u0Z3mm.js.map +1 -0
- package/dist/shared/hx-stack-DGfcOfWJ.js.map +1 -1
- package/dist/shared/{hx-stat-BTpykQAt.js → hx-stat-WOcNV1Ry.js} +16 -15
- package/dist/shared/hx-stat-WOcNV1Ry.js.map +1 -0
- package/dist/shared/{hx-status-indicator-X2QEWNFt.js → hx-status-indicator-BlQyen43.js} +17 -16
- package/dist/shared/hx-status-indicator-BlQyen43.js.map +1 -0
- package/dist/shared/{hx-step-CRNQlmSo.js → hx-step-R2rjp1fT.js} +60 -50
- package/dist/shared/hx-step-R2rjp1fT.js.map +1 -0
- package/dist/shared/{hx-structured-list-CqNbaEXg.js → hx-structured-list-m_-dMJbC.js} +18 -17
- package/dist/shared/hx-structured-list-m_-dMJbC.js.map +1 -0
- package/dist/shared/{hx-switch-DqOD9JR7.js → hx-switch-BrZFaRue.js} +31 -25
- package/dist/shared/hx-switch-BrZFaRue.js.map +1 -0
- package/dist/shared/{hx-tab-panel-BIzKfW5i.js → hx-tab-panel-DspCrKqo.js} +45 -50
- package/dist/shared/hx-tab-panel-DspCrKqo.js.map +1 -0
- package/dist/shared/{hx-tag-CgnrNnte.js → hx-tag-CNSmdyaK.js} +63 -62
- package/dist/shared/hx-tag-CNSmdyaK.js.map +1 -0
- package/dist/shared/{hx-td-Bra35cH4.js → hx-td-DnnEMIuA.js} +62 -62
- package/dist/shared/hx-td-DnnEMIuA.js.map +1 -0
- package/dist/shared/{hx-text-DMC2CPlL.js → hx-text-Bz_9fJ3J.js} +28 -25
- package/dist/shared/hx-text-Bz_9fJ3J.js.map +1 -0
- package/dist/shared/{hx-text-input--q0GH78x.js → hx-text-input-D6FlOZM-.js} +144 -72
- package/dist/shared/{hx-text-input--q0GH78x.js.map → hx-text-input-D6FlOZM-.js.map} +1 -1
- package/dist/shared/{hx-textarea-CK621vSL.js → hx-textarea-CNG590KY.js} +107 -70
- package/dist/shared/hx-textarea-CNG590KY.js.map +1 -0
- package/dist/shared/{hx-theme-DfEy-SJA.js → hx-theme-BiyQ7UUK.js} +46 -35
- package/dist/shared/hx-theme-BiyQ7UUK.js.map +1 -0
- package/dist/shared/{hx-time-picker-tPUfgElQ.js → hx-time-picker-BoEIZwzv.js} +59 -52
- package/dist/shared/hx-time-picker-BoEIZwzv.js.map +1 -0
- package/dist/shared/{hx-toggle-button-L-uBJr-a.js → hx-toggle-button-iLiYrMbD.js} +86 -72
- package/dist/shared/hx-toggle-button-iLiYrMbD.js.map +1 -0
- package/dist/shared/{hx-tooltip-B_zfKvwc.js → hx-tooltip-nYOv9OLu.js} +18 -16
- package/dist/shared/hx-tooltip-nYOv9OLu.js.map +1 -0
- package/dist/shared/{hx-top-nav-CATbRvIv.js → hx-top-nav-DP6OFS8C.js} +31 -30
- package/dist/shared/hx-top-nav-DP6OFS8C.js.map +1 -0
- package/dist/shared/{hx-tree-item-A45WCiBu.js → hx-tree-item-C2CiWuDE.js} +29 -29
- package/dist/shared/hx-tree-item-C2CiWuDE.js.map +1 -0
- package/dist/shared/{toast-factory-BPPnG3mM.js → toast-factory-YSznocIV.js} +98 -72
- package/dist/shared/toast-factory-YSznocIV.js.map +1 -0
- package/dist/styles/forced-colors.d.ts +60 -0
- package/dist/styles/forced-colors.d.ts.map +1 -0
- package/figma-inventory.json +8690 -827
- package/package.json +2 -2
- package/dist/shared/hx-accordion-Wt52OOZD.js.map +0 -1
- package/dist/shared/hx-action-bar-BKMADbHj.js.map +0 -1
- package/dist/shared/hx-alert-D7n94HwI.js.map +0 -1
- package/dist/shared/hx-avatar-iLYzu8MJ.js.map +0 -1
- package/dist/shared/hx-badge-CVCmMPyW.js.map +0 -1
- package/dist/shared/hx-banner-C_He7Tr4.js.map +0 -1
- package/dist/shared/hx-breadcrumb-item-CldCwD1d.js.map +0 -1
- package/dist/shared/hx-button-Ddl-T6T-.js.map +0 -1
- package/dist/shared/hx-button-group-BJOGWoMa.js.map +0 -1
- package/dist/shared/hx-card-ycveujjL.js.map +0 -1
- package/dist/shared/hx-carousel-item-D_dCv61-.js.map +0 -1
- package/dist/shared/hx-checkbox-DkkoWoye.js.map +0 -1
- package/dist/shared/hx-checkbox-group-C3poJ-Zw.js.map +0 -1
- package/dist/shared/hx-clinical-status-BS5lcddT.js.map +0 -1
- package/dist/shared/hx-code-snippet-B7wUKzyb.js.map +0 -1
- package/dist/shared/hx-color-picker-DBaKTVLr.js.map +0 -1
- package/dist/shared/hx-combobox-BmgYT7Ar.js.map +0 -1
- package/dist/shared/hx-copy-button-8deNUdwP.js.map +0 -1
- package/dist/shared/hx-counter-CKfl_g8K.js.map +0 -1
- package/dist/shared/hx-data-table-B6h0RPn0.js.map +0 -1
- package/dist/shared/hx-date-picker-Dq2Nb68_.js.map +0 -1
- package/dist/shared/hx-dialog-CvIlY0Tc.js.map +0 -1
- package/dist/shared/hx-divider-DwpOrzMW.js.map +0 -1
- package/dist/shared/hx-drawer-Cx2ZJhBe.js.map +0 -1
- package/dist/shared/hx-dropdown-BjDrPUq5.js.map +0 -1
- package/dist/shared/hx-field-Dp3qQMut.js.map +0 -1
- package/dist/shared/hx-field-label-BC8QViXv.js.map +0 -1
- package/dist/shared/hx-file-upload-B6Yl1u0i.js.map +0 -1
- package/dist/shared/hx-form-ButQFt9A.js +0 -257
- package/dist/shared/hx-form-ButQFt9A.js.map +0 -1
- package/dist/shared/hx-help-text-D7eytSim.js.map +0 -1
- package/dist/shared/hx-icon-CcyDPDYY.js.map +0 -1
- package/dist/shared/hx-icon-button-BHneqPCU.js.map +0 -1
- package/dist/shared/hx-image-2gt14zZd.js.map +0 -1
- package/dist/shared/hx-link-BESrWK8M.js.map +0 -1
- package/dist/shared/hx-list-_9qVv02L.js.map +0 -1
- package/dist/shared/hx-menu-divider-Ck-9Os1t.js.map +0 -1
- package/dist/shared/hx-nav-BcYDmjf7.js.map +0 -1
- package/dist/shared/hx-nav-item-pqPasRUm.js.map +0 -1
- package/dist/shared/hx-number-input-mOIZ3-46.js.map +0 -1
- package/dist/shared/hx-overflow-menu-Dprb9lnT.js.map +0 -1
- package/dist/shared/hx-pagination-AguTQjYC.js.map +0 -1
- package/dist/shared/hx-patient-banner-uE6gqLpT.js.map +0 -1
- package/dist/shared/hx-phi-field-BC_XowhC.js.map +0 -1
- package/dist/shared/hx-popover-B2_203ct.js.map +0 -1
- package/dist/shared/hx-popup-DZXpsJ1R.js.map +0 -1
- package/dist/shared/hx-progress-bar-KjEkEJLy.js.map +0 -1
- package/dist/shared/hx-progress-ring-3zMwvrwD.js.map +0 -1
- package/dist/shared/hx-radio-BBC5qZgE.js.map +0 -1
- package/dist/shared/hx-rating-C3E3ENJb.js.map +0 -1
- package/dist/shared/hx-select-CixTo7jp.js.map +0 -1
- package/dist/shared/hx-skeleton-LxkI0pxr.js.map +0 -1
- package/dist/shared/hx-slider-DFHuzF3N.js.map +0 -1
- package/dist/shared/hx-spinner-BKjuCdZB.js.map +0 -1
- package/dist/shared/hx-split-button-CGcJMmCG.js.map +0 -1
- package/dist/shared/hx-split-panel-C-1R10Mc.js.map +0 -1
- package/dist/shared/hx-stat-BTpykQAt.js.map +0 -1
- package/dist/shared/hx-status-indicator-X2QEWNFt.js.map +0 -1
- package/dist/shared/hx-step-CRNQlmSo.js.map +0 -1
- package/dist/shared/hx-structured-list-CqNbaEXg.js.map +0 -1
- package/dist/shared/hx-switch-DqOD9JR7.js.map +0 -1
- package/dist/shared/hx-tab-panel-BIzKfW5i.js.map +0 -1
- package/dist/shared/hx-tag-CgnrNnte.js.map +0 -1
- package/dist/shared/hx-td-Bra35cH4.js.map +0 -1
- package/dist/shared/hx-text-DMC2CPlL.js.map +0 -1
- package/dist/shared/hx-textarea-CK621vSL.js.map +0 -1
- package/dist/shared/hx-theme-DfEy-SJA.js.map +0 -1
- package/dist/shared/hx-time-picker-tPUfgElQ.js.map +0 -1
- package/dist/shared/hx-toggle-button-L-uBJr-a.js.map +0 -1
- package/dist/shared/hx-tooltip-B_zfKvwc.js.map +0 -1
- package/dist/shared/hx-top-nav-CATbRvIv.js.map +0 -1
- package/dist/shared/hx-tree-item-A45WCiBu.js.map +0 -1
- package/dist/shared/toast-factory-BPPnG3mM.js.map +0 -1
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { html as x } from "lit";
|
|
2
2
|
import { property as n, customElement as c } from "lit/decorators.js";
|
|
3
|
-
import { A as
|
|
4
|
-
import { H as
|
|
5
|
-
const m = `hx-prose{display:block;font-family:var(--hx-font-family-sans, sans-serif)}hx-prose :is(h1,h2,h3,h4,h5,h6){font-family:var( --hx-prose-heading-font-family, var(--hx-heading-font-family, var(--hx-font-family-sans, sans-serif)) );font-weight:var( --hx-prose-heading-font-weight, var(--hx-heading-font-weight, var(--hx-font-weight-bold, 700)) );line-height:var( --hx-prose-heading-line-height, var(--hx-heading-line-height, var(--hx-line-height-tight, 1.25)) );letter-spacing:var( --hx-prose-heading-letter-spacing, var(--hx-heading-letter-spacing, var(--hx-letter-spacing-tight, -.025em)) );color:var(--hx-prose-heading-color, var(--hx-color-neutral-900, #111827));margin-top:0;scroll-margin-top:var(--hx-space-8, 2rem)}hx-prose h1{font-size:var(--hx-prose-h1-font-size, var(--hx-font-size-4xl, 2.25rem));margin-bottom:var(--hx-space-6, 1.5rem)}hx-prose h2{font-size:var(--hx-prose-h2-font-size, var(--hx-font-size-3xl, 1.875rem));margin-bottom:var(--hx-space-5, 1.25rem);padding-bottom:var(--hx-space-3, .75rem);border-bottom:var(--hx-border-width-thin, 1px) solid var(--hx-color-border-subtle, var(--hx-color-neutral-100, #e9ecef))}hx-prose h3{font-size:var(--hx-prose-h3-font-size, var(--hx-font-size-2xl, 1.5rem));margin-bottom:var(--hx-space-4, 1rem)}hx-prose h4{font-size:var(--hx-prose-h4-font-size, var(--hx-font-size-xl, 1.25rem));margin-bottom:var(--hx-space-3, .75rem)}hx-prose h5{font-size:var(--hx-prose-h5-font-size, var(--hx-font-size-lg, 1.125rem));margin-bottom:var(--hx-space-3, .75rem)}hx-prose h6{font-size:var(--hx-prose-h6-font-size, var(--hx-font-size-md, 1rem));font-weight:var(--hx-font-weight-semibold, 600);text-transform:uppercase;letter-spacing:var(--hx-letter-spacing-wide, .025em);margin-bottom:var(--hx-space-3, .75rem);color:var(--hx-color-text-secondary, var(--hx-color-neutral-600, #495057))}hx-prose :is(h1+h2,h2+h3,h3+h4,h4+h5,h5+h6){margin-top:var(--hx-space-2, .5rem)}hx-prose *+h1{margin-top:var(--hx-space-12, 3rem)}hx-prose *+h2{margin-top:var(--hx-space-10, 2.5rem)}hx-prose *+h3{margin-top:var(--hx-space-8, 2rem)}hx-prose :is(*+h4,*+h5,*+h6){margin-top:var(--hx-space-6, 1.5rem)}hx-prose p{margin-top:0;margin-bottom:var(--hx-space-4, 1rem);font-size:var(--hx-prose-font-size, var(--hx-font-size-md, 1rem));line-height:var(--hx-prose-line-height, var(--hx-line-height-relaxed, 1.75));color:var(--hx-prose-color, var(--hx-color-neutral-700, #343a40))}hx-prose p.lead{font-size:var(--hx-prose-lead-font-size, var(--hx-font-size-lg, 1.125rem));color:var(--hx-prose-lead-color, var(--hx-color-neutral-600, #495057))}hx-prose blockquote{margin-top:0;margin-bottom:var(--hx-space-6, 1.5rem);margin-left:0;margin-right:0;padding:var(--hx-space-4, 1rem) var(--hx-space-6, 1.5rem);border-left:var(--hx-border-width-thick, 3px) solid var(--hx-color-primary-500, #2563eb);background-color:var(--hx-color-surface-raised, var(--hx-color-neutral-50, #f8f9fa));border-radius:0 var(--hx-border-radius-sm, .25rem) var(--hx-border-radius-sm, .25rem) 0;font-style:italic;color:var(--hx-color-text-secondary, var(--hx-color-neutral-600, #495057))}hx-prose blockquote p{color:inherit}hx-prose blockquote p:last-child{margin-bottom:0}hx-prose blockquote cite{display:block;margin-top:var(--hx-space-2, .5rem);font-size:var(--hx-font-size-sm, .875rem);font-style:normal;font-weight:var(--hx-font-weight-medium, 500);color:var(--hx-color-text-muted, var(--hx-color-neutral-500, #6c757d))}hx-prose blockquote cite:before{content:"\\2014\\a0"}hx-prose hr{border:0;border-top:var(--hx-divider-width, var(--hx-border-width-thin, 1px)) solid var(--hx-divider-color, var(--hx-color-border-default, var(--hx-color-neutral-200, #dee2e6)));margin-top:var(--hx-space-8, 2rem);margin-bottom:var(--hx-space-8, 2rem)}hx-prose :is(strong,b){font-weight:var(--hx-font-weight-semibold, 600);color:var(--hx-prose-heading-color, var(--hx-color-neutral-900, #111827))}hx-prose :is(em,i){font-style:italic}hx-prose small{font-size:var(--hx-font-size-sm, .875rem);color:var(--hx-color-text-muted, var(--hx-color-neutral-500, #6c757d))}hx-prose mark{background-color:var(--hx-color-warning-100, #fff3cd);color:var(--hx-color-neutral-900, #0d1117);padding:var(--hx-space-0, 0) var(--hx-space-1, .25rem);border-radius:var(--hx-border-radius-sm, .25rem)}hx-prose :is(del,s){text-decoration:line-through;color:var(--hx-color-text-muted, var(--hx-color-neutral-500, #6c757d))}hx-prose ins{text-decoration:underline;text-decoration-color:var(--hx-color-success-300, #75b798)}hx-prose abbr[title]{text-decoration:underline dotted;text-decoration-color:var(--hx-color-text-muted, var(--hx-color-neutral-500, #6c757d));cursor:help;text-underline-offset:.15em}hx-prose :is(sub,sup){font-size:var(--hx-font-size-xs, .75rem);line-height:0;position:relative;vertical-align:baseline}hx-prose sup{top:-.5em}hx-prose sub{bottom:-.25em}hx-prose a{color:var( --hx-prose-link-color, var(--hx-color-text-link, var(--hx-color-primary-600, #006868)) );text-decoration:underline;text-decoration-color:var(--hx-color-primary-200, #80c2c2);text-underline-offset:.15em;transition:color var(--hx-transition-fast, .15s ease),text-decoration-color var(--hx-transition-fast, .15s ease)}hx-prose a:hover{color:var(--hx-color-text-link-hover, var(--hx-color-primary-700, #005252));text-decoration-color:currentColor}hx-prose a:visited{color:var(--hx-color-text-link-visited, var(--hx-color-secondary-600, #4f46e5))}hx-prose a:active{color:var(--hx-color-text-link-active, var(--hx-color-primary-800, #003c3c))}hx-prose a:focus-visible{outline:var(--hx-focus-ring-width, 2px) solid var(--hx-focus-ring-color, var(--hx-color-primary-500, #2563eb));outline-offset:var(--hx-focus-ring-offset, 2px);border-radius:var(--hx-border-radius-sm, .25rem)}hx-prose :is(ul,ol){margin-top:0;margin-bottom:var(--hx-space-4, 1rem);padding-left:var(--hx-space-6, 1.5rem);color:var(--hx-prose-color, var(--hx-color-neutral-700, #343a40))}hx-prose ul{list-style-type:disc}hx-prose ol{list-style-type:decimal}hx-prose li{margin-bottom:var(--hx-space-2, .5rem);font-size:var(--hx-prose-font-size, var(--hx-font-size-md, 1rem));line-height:var(--hx-prose-line-height, var(--hx-line-height-relaxed, 1.75))}hx-prose li:last-child{margin-bottom:0}hx-prose li>p{margin-bottom:var(--hx-space-2, .5rem)}hx-prose li>p:last-child{margin-bottom:0}hx-prose :is(ul ul,ol ul){list-style-type:circle;margin-top:var(--hx-space-2, .5rem);margin-bottom:var(--hx-space-2, .5rem)}hx-prose :is(ul ul ul,ol ul ul,ul ol ul,ol ol ul){list-style-type:square}hx-prose :is(ol ol,ul ol){list-style-type:lower-alpha;margin-top:var(--hx-space-2, .5rem);margin-bottom:var(--hx-space-2, .5rem)}hx-prose :is(ol ol ol,ul ol ol,ol ul ol,ul ul ol){list-style-type:lower-roman}hx-prose :is(ul,ol) ::marker{color:var(--hx-color-text-muted, var(--hx-color-neutral-500, #6c757d))}hx-prose dl{margin-top:0;margin-bottom:var(--hx-space-4, 1rem)}hx-prose dt{font-weight:var(--hx-font-weight-semibold, 600);color:var(--hx-prose-heading-color, var(--hx-color-neutral-900, #111827));margin-bottom:var(--hx-space-1, .25rem)}hx-prose dt+dt{margin-top:var(--hx-space-4, 1rem)}hx-prose dd{margin-left:var(--hx-space-6, 1.5rem);margin-bottom:var(--hx-space-4, 1rem);color:var(--hx-prose-color, var(--hx-color-neutral-700, #343a40))}hx-prose dd:last-child{margin-bottom:0}hx-prose table{width:100%;border-collapse:collapse;border-spacing:0;margin-top:0;margin-bottom:var(--hx-space-6, 1.5rem);font-size:var(--hx-prose-font-size, var(--hx-font-size-md, 1rem));line-height:var(--hx-line-height-normal, 1.5);color:var(--hx-prose-color, var(--hx-color-neutral-700, #343a40));overflow-x:auto;display:block}@media(min-width:640px){hx-prose table{display:table}}hx-prose caption{padding-top:var(--hx-space-3, .75rem);padding-bottom:var(--hx-space-3, .75rem);font-size:var(--hx-font-size-sm, .875rem);font-weight:var(--hx-font-weight-medium, 500);color:var(--hx-color-text-muted, var(--hx-color-neutral-500, #6c757d));text-align:left;caption-side:top}hx-prose thead{border-bottom:var(--hx-border-width-medium, 2px) solid var(--hx-color-border-default, var(--hx-color-neutral-200, #dee2e6))}hx-prose tfoot{border-top:var(--hx-border-width-medium, 2px) solid var(--hx-color-border-default, var(--hx-color-neutral-200, #dee2e6))}hx-prose th{padding:var(--hx-space-3, .75rem) var(--hx-space-4, 1rem);font-weight:var(--hx-font-weight-semibold, 600);color:var(--hx-prose-heading-color, var(--hx-color-neutral-900, #111827));text-align:left;background-color:var(--hx-color-surface-raised, var(--hx-color-neutral-50, #f8f9fa))}hx-prose td{padding:var(--hx-space-3, .75rem) var(--hx-space-4, 1rem);border-bottom:var(--hx-border-width-thin, 1px) solid var(--hx-color-border-default, var(--hx-color-neutral-200, #dee2e6));vertical-align:top}hx-prose tbody tr:nth-child(2n){background-color:var(--hx-color-surface-raised, var(--hx-color-neutral-50, #f8f9fa))}hx-prose tbody tr:hover{background-color:var(--hx-color-primary-50, #e6f3f3)}hx-prose :is(th,td)[align=center]{text-align:center}hx-prose :is(th,td)[align=right]{text-align:right}hx-prose :is(code,pre,kbd,samp){font-family:var( --hx-font-family-mono, "JetBrains Mono", ui-monospace, "Cascadia Code", monospace )}hx-prose code{font-size:var(--hx-font-size-sm, .875em);font-weight:var(--hx-font-weight-normal, 400);background-color:var(--hx-color-surface-sunken, var(--hx-color-neutral-100, #e9ecef));color:var(--hx-color-error-600, #b02a37);padding:var(--hx-prose-code-padding-v, .125em) var(--hx-space-1, .25rem);border-radius:var(--hx-border-radius-sm, .25rem);word-break:break-word}hx-prose pre{margin-top:0;margin-bottom:var(--hx-space-6, 1.5rem);padding:var(--hx-space-4, 1rem) var(--hx-space-5, 1.25rem);overflow-x:auto;font-size:var(--hx-font-size-sm, .875rem);line-height:var(--hx-line-height-relaxed, 1.75);color:var(--hx-color-neutral-800, #212529);background-color:var(--hx-color-surface-sunken, var(--hx-color-neutral-100, #e9ecef));border:var(--hx-border-width-thin, 1px) solid var(--hx-color-border-default, var(--hx-color-neutral-200, #dee2e6));border-radius:var(--hx-border-radius-md, .375rem);-webkit-overflow-scrolling:touch;tab-size:2}hx-prose pre code{background-color:transparent;color:inherit;padding:0;border-radius:0;font-size:inherit;font-weight:inherit;word-break:normal}hx-prose samp{font-size:var(--hx-font-size-sm, .875em)}hx-prose kbd{padding:var(--hx-prose-code-padding-v, .125em) var(--hx-space-2, .5rem);background-color:var(--hx-color-neutral-800, #212529);color:var(--hx-color-neutral-0, #ffffff);border-radius:var(--hx-border-radius-sm, .25rem);box-shadow:var(--hx-shadow-inset-sm, inset 0 -1px 0 rgba(0, 0, 0, .25))}hx-prose var{font-style:italic;color:var(--hx-color-secondary-600, #4f46e5)}hx-prose :is(img,figure>a img){border-radius:var(--hx-border-radius-sm, .25rem)}hx-prose img{max-width:100%;height:auto;display:block}hx-prose figure{margin:0;margin-bottom:var(--hx-space-6, 1.5rem)}hx-prose figure img{margin-bottom:0}hx-prose figure>a{display:block}hx-prose figcaption{margin-top:var(--hx-space-2, .5rem);font-size:var(--hx-font-size-sm, .875rem);line-height:var(--hx-line-height-normal, 1.5);color:var(--hx-color-text-muted, var(--hx-color-neutral-500, #6c757d));font-style:italic}hx-prose :is(video,iframe){max-width:100%;display:block;margin-bottom:var(--hx-space-6, 1.5rem);border-radius:var(--hx-border-radius-sm, .25rem)}hx-prose video{height:auto}hx-prose iframe{border:0}hx-prose :is(.embed-responsive,.video-embed,.media-oembed){position:relative;width:100%;padding-bottom:56.25%;height:0;overflow:hidden;margin-bottom:var(--hx-space-6, 1.5rem);border-radius:var(--hx-border-radius-sm, .25rem)}hx-prose :is(.embed-responsive,.video-embed,.media-oembed) :is(iframe,video){position:absolute;top:0;left:0;width:100%;height:100%;margin-bottom:0;border-radius:0}hx-prose audio{width:100%;margin-bottom:var(--hx-space-6, 1.5rem)}hx-prose :is(object,embed){max-width:100%}hx-prose .field{margin-bottom:var(--hx-space-4, 1rem)}hx-prose .field:last-child{margin-bottom:0}hx-prose .field__label{font-weight:var(--hx-font-weight-semibold, 600);font-size:var(--hx-font-size-sm, .875rem);color:var(--hx-color-text-secondary, var(--hx-color-neutral-600, #495057));margin-bottom:var(--hx-space-1, .25rem);text-transform:uppercase;letter-spacing:var(--hx-letter-spacing-wide, .025em)}hx-prose .field__item{margin-bottom:var(--hx-space-2, .5rem)}hx-prose .field__item:last-child{margin-bottom:0}hx-prose .field__items{list-style:none;padding-left:0;margin:0}hx-prose .text-formatted>*:last-child{margin-bottom:0}hx-prose :is(.media-embed,.embedded-entity,.media--type-image,.media--type-remote-video){margin-top:var(--hx-space-4, 1rem);margin-bottom:var(--hx-space-6, 1.5rem)}hx-prose :is(.media-embed,.embedded-entity) img{max-width:100%;height:auto;display:block}hx-prose .align-left{float:left;margin-right:var(--hx-space-6, 1.5rem);margin-bottom:var(--hx-space-4, 1rem);max-width:50%}hx-prose .align-right{float:right;margin-left:var(--hx-space-6, 1.5rem);margin-bottom:var(--hx-space-4, 1rem);max-width:50%}hx-prose .align-center{display:block;margin-left:auto;margin-right:auto;margin-bottom:var(--hx-space-6, 1.5rem);text-align:center}hx-prose :is(.align-left,.align-right) img{display:block}hx-prose :is(.align-left,.align-right)+*{clear:both}hx-prose .caption{margin-bottom:var(--hx-space-6, 1.5rem)}hx-prose .caption :is(figcaption,.caption-text){font-size:var(--hx-font-size-sm, .875rem);color:var(--hx-color-text-muted, var(--hx-color-neutral-500, #6c757d));font-style:italic;margin-top:var(--hx-space-2, .5rem)}hx-prose .table-responsive{overflow-x:auto;-webkit-overflow-scrolling:touch;margin-bottom:var(--hx-space-6, 1.5rem)}hx-prose .table-responsive table{margin-bottom:0}hx-prose :is(.messages,.callout){padding:var(--hx-space-4, 1rem) var(--hx-space-5, 1.25rem);margin-bottom:var(--hx-space-4, 1rem);border:var(--hx-border-width-thin, 1px) solid var(--hx-color-border-default, var(--hx-color-neutral-200, #dee2e6));border-radius:var(--hx-border-radius-md, .375rem);border-left-width:var(--hx-border-width-thick, 3px)}hx-prose .messages--status{border-left-color:var(--hx-color-success-500, #198754);background-color:var(--hx-color-success-50, #f0fdf4)}hx-prose .messages--warning{border-left-color:var(--hx-color-warning-500, #ffc107);background-color:var(--hx-color-warning-50, #fffbeb)}hx-prose .messages--error{border-left-color:var(--hx-color-error-500, #dc3545);background-color:var(--hx-color-error-50, #fef2f2)}hx-prose .page-break{border:0;border-top:var(--hx-border-width-thin, 1px) dashed var(--hx-color-border-default, var(--hx-color-neutral-200, #dee2e6));margin-top:var(--hx-space-8, 2rem);margin-bottom:var(--hx-space-8, 2rem)}hx-prose .clearfix:after{content:"";display:table;clear:both}
|
|
3
|
+
import { A as p } from "./adopted-stylesheets-BZZnCSAs.js";
|
|
4
|
+
import { H as d } from "./helix-element-BNEYeiys.js";
|
|
5
|
+
const m = `hx-prose{display:block;font-family:var(--hx-font-family-sans, sans-serif)}hx-prose :is(h1,h2,h3,h4,h5,h6){font-family:var( --hx-prose-heading-font-family, var(--hx-heading-font-family, var(--hx-font-family-sans, sans-serif)) );font-weight:var( --hx-prose-heading-font-weight, var(--hx-heading-font-weight, var(--hx-font-weight-bold, 700)) );line-height:var( --hx-prose-heading-line-height, var(--hx-heading-line-height, var(--hx-line-height-tight, 1.25)) );letter-spacing:var( --hx-prose-heading-letter-spacing, var(--hx-heading-letter-spacing, var(--hx-letter-spacing-tight, -.025em)) );color:var(--hx-prose-heading-color, var(--hx-color-neutral-900, #0D1825));margin-top:0;scroll-margin-top:var(--hx-space-8, 2rem)}hx-prose h1{font-size:var(--hx-prose-h1-font-size, var(--hx-font-size-4xl, 2.25rem));margin-bottom:var(--hx-space-6, 1.5rem)}hx-prose h2{font-size:var(--hx-prose-h2-font-size, var(--hx-font-size-3xl, 1.875rem));margin-bottom:var(--hx-space-5, 1.25rem);padding-bottom:var(--hx-space-3, .75rem);border-bottom:var(--hx-border-width-thin, 1px) solid var(--hx-color-border-subtle, var(--hx-color-neutral-100, #EBEEE9))}hx-prose h3{font-size:var(--hx-prose-h3-font-size, var(--hx-font-size-2xl, 1.5rem));margin-bottom:var(--hx-space-4, 1rem)}hx-prose h4{font-size:var(--hx-prose-h4-font-size, var(--hx-font-size-xl, 1.25rem));margin-bottom:var(--hx-space-3, .75rem)}hx-prose h5{font-size:var(--hx-prose-h5-font-size, var(--hx-font-size-lg, 1.125rem));margin-bottom:var(--hx-space-3, .75rem)}hx-prose h6{font-size:var(--hx-prose-h6-font-size, var(--hx-font-size-md, 1rem));font-weight:var(--hx-font-weight-semibold, 600);text-transform:uppercase;letter-spacing:var(--hx-letter-spacing-wide, .025em);margin-bottom:var(--hx-space-3, .75rem);color:var(--hx-color-text-secondary, var(--hx-color-neutral-600, #4A5362))}hx-prose :is(h1+h2,h2+h3,h3+h4,h4+h5,h5+h6){margin-top:var(--hx-space-2, .5rem)}hx-prose *+h1{margin-top:var(--hx-space-12, 3rem)}hx-prose *+h2{margin-top:var(--hx-space-10, 2.5rem)}hx-prose *+h3{margin-top:var(--hx-space-8, 2rem)}hx-prose :is(*+h4,*+h5,*+h6){margin-top:var(--hx-space-6, 1.5rem)}hx-prose p{margin-top:0;margin-bottom:var(--hx-space-4, 1rem);font-size:var(--hx-prose-font-size, var(--hx-font-size-md, 1rem));line-height:var(--hx-prose-line-height, var(--hx-line-height-relaxed, 1.75));color:var(--hx-prose-color, var(--hx-color-neutral-700, #313E4B))}hx-prose p.lead{font-size:var(--hx-prose-lead-font-size, var(--hx-font-size-lg, 1.125rem));color:var(--hx-prose-lead-color, var(--hx-color-neutral-600, #4A5362))}hx-prose blockquote{margin-top:0;margin-bottom:var(--hx-space-6, 1.5rem);margin-left:0;margin-right:0;padding:var(--hx-space-4, 1rem) var(--hx-space-6, 1.5rem);border-left:var(--hx-border-width-thick, 3px) solid var(--hx-color-primary-500, #429797);background-color:var(--hx-color-surface-raised, var(--hx-color-neutral-50, #F5F8F3));border-radius:0 var(--hx-border-radius-sm, .25rem) var(--hx-border-radius-sm, .25rem) 0;font-style:italic;color:var(--hx-color-text-secondary, var(--hx-color-neutral-600, #4A5362))}hx-prose blockquote p{color:inherit}hx-prose blockquote p:last-child{margin-bottom:0}hx-prose blockquote cite{display:block;margin-top:var(--hx-space-2, .5rem);font-size:var(--hx-font-size-sm, .875rem);font-style:normal;font-weight:var(--hx-font-weight-medium, 500);color:var(--hx-color-text-muted, var(--hx-color-neutral-500, #66787B))}hx-prose blockquote cite:before{content:"\\2014\\a0"}hx-prose hr{border:0;border-top:var(--hx-divider-width, var(--hx-border-width-thin, 1px)) solid var(--hx-divider-color, var(--hx-color-border-default, var(--hx-color-neutral-200, #D6DBD5)));margin-top:var(--hx-space-8, 2rem);margin-bottom:var(--hx-space-8, 2rem)}hx-prose :is(strong,b){font-weight:var(--hx-font-weight-semibold, 600);color:var(--hx-prose-heading-color, var(--hx-color-neutral-900, #0D1825))}hx-prose :is(em,i){font-style:italic}hx-prose small{font-size:var(--hx-font-size-sm, .875rem);color:var(--hx-color-text-muted, var(--hx-color-neutral-500, #66787B))}hx-prose mark{background-color:var(--hx-color-warning-100, #FEE6D4);color:var(--hx-color-neutral-900, #0D1825);padding:var(--hx-space-0, 0) var(--hx-space-1, .25rem);border-radius:var(--hx-border-radius-sm, .25rem)}hx-prose :is(del,s){text-decoration:line-through;color:var(--hx-color-text-muted, var(--hx-color-neutral-500, #66787B))}hx-prose ins{text-decoration:underline;text-decoration-color:var(--hx-color-success-300, #94D3A1)}hx-prose abbr[title]{text-decoration:underline dotted;text-decoration-color:var(--hx-color-text-muted, var(--hx-color-neutral-500, #66787B));cursor:help;text-underline-offset:.15em}hx-prose :is(sub,sup){font-size:var(--hx-font-size-xs, .75rem);line-height:0;position:relative;vertical-align:baseline}hx-prose sup{top:-.5em}hx-prose sub{bottom:-.25em}hx-prose a{color:var( --hx-prose-link-color, var(--hx-color-text-link, var(--hx-color-primary-600, #0F7078)) );text-decoration:underline;text-decoration-color:var(--hx-color-primary-200, #BCE1E1);text-underline-offset:.15em;transition:color var(--hx-transition-fast, .15s ease),text-decoration-color var(--hx-transition-fast, .15s ease)}hx-prose a:hover{color:var(--hx-color-text-link-hover, var(--hx-color-primary-700, #0F6363));text-decoration-color:currentColor}hx-prose a:visited{color:var(--hx-color-text-link-visited, var(--hx-color-secondary-600, #0F6B7E))}hx-prose a:active{color:var(--hx-color-text-link-active, var(--hx-color-primary-800, #07494A))}hx-prose a:focus-visible{outline:var(--hx-focus-ring-width, 2px) solid var(--hx-focus-ring-color, var(--hx-color-primary-500, #429797));outline-offset:var(--hx-focus-ring-offset, 2px);border-radius:var(--hx-border-radius-sm, .25rem)}hx-prose :is(ul,ol){margin-top:0;margin-bottom:var(--hx-space-4, 1rem);padding-left:var(--hx-space-6, 1.5rem);color:var(--hx-prose-color, var(--hx-color-neutral-700, #313E4B))}hx-prose ul{list-style-type:disc}hx-prose ol{list-style-type:decimal}hx-prose li{margin-bottom:var(--hx-space-2, .5rem);font-size:var(--hx-prose-font-size, var(--hx-font-size-md, 1rem));line-height:var(--hx-prose-line-height, var(--hx-line-height-relaxed, 1.75))}hx-prose li:last-child{margin-bottom:0}hx-prose li>p{margin-bottom:var(--hx-space-2, .5rem)}hx-prose li>p:last-child{margin-bottom:0}hx-prose :is(ul ul,ol ul){list-style-type:circle;margin-top:var(--hx-space-2, .5rem);margin-bottom:var(--hx-space-2, .5rem)}hx-prose :is(ul ul ul,ol ul ul,ul ol ul,ol ol ul){list-style-type:square}hx-prose :is(ol ol,ul ol){list-style-type:lower-alpha;margin-top:var(--hx-space-2, .5rem);margin-bottom:var(--hx-space-2, .5rem)}hx-prose :is(ol ol ol,ul ol ol,ol ul ol,ul ul ol){list-style-type:lower-roman}hx-prose :is(ul,ol) ::marker{color:var(--hx-color-text-muted, var(--hx-color-neutral-500, #66787B))}hx-prose dl{margin-top:0;margin-bottom:var(--hx-space-4, 1rem)}hx-prose dt{font-weight:var(--hx-font-weight-semibold, 600);color:var(--hx-prose-heading-color, var(--hx-color-neutral-900, #0D1825));margin-bottom:var(--hx-space-1, .25rem)}hx-prose dt+dt{margin-top:var(--hx-space-4, 1rem)}hx-prose dd{margin-left:var(--hx-space-6, 1.5rem);margin-bottom:var(--hx-space-4, 1rem);color:var(--hx-prose-color, var(--hx-color-neutral-700, #313E4B))}hx-prose dd:last-child{margin-bottom:0}hx-prose table{width:100%;border-collapse:collapse;border-spacing:0;margin-top:0;margin-bottom:var(--hx-space-6, 1.5rem);font-size:var(--hx-prose-font-size, var(--hx-font-size-md, 1rem));line-height:var(--hx-line-height-normal, 1.5);color:var(--hx-prose-color, var(--hx-color-neutral-700, #313E4B));overflow-x:auto;display:block}@media(min-width:640px){hx-prose table{display:table}}hx-prose caption{padding-top:var(--hx-space-3, .75rem);padding-bottom:var(--hx-space-3, .75rem);font-size:var(--hx-font-size-sm, .875rem);font-weight:var(--hx-font-weight-medium, 500);color:var(--hx-color-text-muted, var(--hx-color-neutral-500, #66787B));text-align:left;caption-side:top}hx-prose thead{border-bottom:var(--hx-border-width-medium, 2px) solid var(--hx-color-border-default, var(--hx-color-neutral-200, #D6DBD5))}hx-prose tfoot{border-top:var(--hx-border-width-medium, 2px) solid var(--hx-color-border-default, var(--hx-color-neutral-200, #D6DBD5))}hx-prose th{padding:var(--hx-space-3, .75rem) var(--hx-space-4, 1rem);font-weight:var(--hx-font-weight-semibold, 600);color:var(--hx-prose-heading-color, var(--hx-color-neutral-900, #0D1825));text-align:left;background-color:var(--hx-color-surface-raised, var(--hx-color-neutral-50, #F5F8F3))}hx-prose td{padding:var(--hx-space-3, .75rem) var(--hx-space-4, 1rem);border-bottom:var(--hx-border-width-thin, 1px) solid var(--hx-color-border-default, var(--hx-color-neutral-200, #D6DBD5));vertical-align:top}hx-prose tbody tr:nth-child(2n){background-color:var(--hx-color-surface-raised, var(--hx-color-neutral-50, #F5F8F3))}hx-prose tbody tr:hover{background-color:var(--hx-color-primary-50, #EBF8F8)}hx-prose :is(th,td)[align=center]{text-align:center}hx-prose :is(th,td)[align=right]{text-align:right}hx-prose :is(code,pre,kbd,samp){font-family:var( --hx-font-family-mono, "JetBrains Mono", ui-monospace, "Cascadia Code", monospace )}hx-prose code{font-size:var(--hx-font-size-sm, .875em);font-weight:var(--hx-font-weight-normal, 400);background-color:var(--hx-color-surface-sunken, var(--hx-color-neutral-100, #EBEEE9));color:var(--hx-color-error-600, #C92A2A);padding:var(--hx-prose-code-padding-v, .125em) var(--hx-space-1, .25rem);border-radius:var(--hx-border-radius-sm, .25rem);word-break:break-word}hx-prose pre{margin-top:0;margin-bottom:var(--hx-space-6, 1.5rem);padding:var(--hx-space-4, 1rem) var(--hx-space-5, 1.25rem);overflow-x:auto;font-size:var(--hx-font-size-sm, .875rem);line-height:var(--hx-line-height-relaxed, 1.75);color:var(--hx-color-neutral-800, #202B39);background-color:var(--hx-color-surface-sunken, var(--hx-color-neutral-100, #EBEEE9));border:var(--hx-border-width-thin, 1px) solid var(--hx-color-border-default, var(--hx-color-neutral-200, #D6DBD5));border-radius:var(--hx-border-radius-md, .375rem);-webkit-overflow-scrolling:touch;tab-size:2}hx-prose pre code{background-color:transparent;color:inherit;padding:0;border-radius:0;font-size:inherit;font-weight:inherit;word-break:normal}hx-prose samp{font-size:var(--hx-font-size-sm, .875em)}hx-prose kbd{padding:var(--hx-prose-code-padding-v, .125em) var(--hx-space-2, .5rem);background-color:var(--hx-color-neutral-800, #202B39);color:var(--hx-color-neutral-0, #FFFFFF);border-radius:var(--hx-border-radius-sm, .25rem);box-shadow:var(--hx-shadow-inset-sm, inset 0 -1px 0 rgba(0, 0, 0, .25))}hx-prose var{font-style:italic;color:var(--hx-color-secondary-600, #0F6B7E)}hx-prose :is(img,figure>a img){border-radius:var(--hx-border-radius-sm, .25rem)}hx-prose img{max-width:100%;height:auto;display:block}hx-prose figure{margin:0;margin-bottom:var(--hx-space-6, 1.5rem)}hx-prose figure img{margin-bottom:0}hx-prose figure>a{display:block}hx-prose figcaption{margin-top:var(--hx-space-2, .5rem);font-size:var(--hx-font-size-sm, .875rem);line-height:var(--hx-line-height-normal, 1.5);color:var(--hx-color-text-muted, var(--hx-color-neutral-500, #66787B));font-style:italic}hx-prose :is(video,iframe){max-width:100%;display:block;margin-bottom:var(--hx-space-6, 1.5rem);border-radius:var(--hx-border-radius-sm, .25rem)}hx-prose video{height:auto}hx-prose iframe{border:0}hx-prose :is(.embed-responsive,.video-embed,.media-oembed){position:relative;width:100%;padding-bottom:56.25%;height:0;overflow:hidden;margin-bottom:var(--hx-space-6, 1.5rem);border-radius:var(--hx-border-radius-sm, .25rem)}hx-prose :is(.embed-responsive,.video-embed,.media-oembed) :is(iframe,video){position:absolute;top:0;left:0;width:100%;height:100%;margin-bottom:0;border-radius:0}hx-prose audio{width:100%;margin-bottom:var(--hx-space-6, 1.5rem)}hx-prose :is(object,embed){max-width:100%}hx-prose .field{margin-bottom:var(--hx-space-4, 1rem)}hx-prose .field:last-child{margin-bottom:0}hx-prose .field__label{font-weight:var(--hx-font-weight-semibold, 600);font-size:var(--hx-font-size-sm, .875rem);color:var(--hx-color-text-secondary, var(--hx-color-neutral-600, #4A5362));margin-bottom:var(--hx-space-1, .25rem);text-transform:uppercase;letter-spacing:var(--hx-letter-spacing-wide, .025em)}hx-prose .field__item{margin-bottom:var(--hx-space-2, .5rem)}hx-prose .field__item:last-child{margin-bottom:0}hx-prose .field__items{list-style:none;padding-left:0;margin:0}hx-prose .text-formatted>*:last-child{margin-bottom:0}hx-prose :is(.media-embed,.embedded-entity,.media--type-image,.media--type-remote-video){margin-top:var(--hx-space-4, 1rem);margin-bottom:var(--hx-space-6, 1.5rem)}hx-prose :is(.media-embed,.embedded-entity) img{max-width:100%;height:auto;display:block}hx-prose .align-left{float:left;margin-right:var(--hx-space-6, 1.5rem);margin-bottom:var(--hx-space-4, 1rem);max-width:50%}hx-prose .align-right{float:right;margin-left:var(--hx-space-6, 1.5rem);margin-bottom:var(--hx-space-4, 1rem);max-width:50%}hx-prose .align-center{display:block;margin-left:auto;margin-right:auto;margin-bottom:var(--hx-space-6, 1.5rem);text-align:center}hx-prose :is(.align-left,.align-right) img{display:block}hx-prose :is(.align-left,.align-right)+*{clear:both}hx-prose .caption{margin-bottom:var(--hx-space-6, 1.5rem)}hx-prose .caption :is(figcaption,.caption-text){font-size:var(--hx-font-size-sm, .875rem);color:var(--hx-color-text-muted, var(--hx-color-neutral-500, #66787B));font-style:italic;margin-top:var(--hx-space-2, .5rem)}hx-prose .table-responsive{overflow-x:auto;-webkit-overflow-scrolling:touch;margin-bottom:var(--hx-space-6, 1.5rem)}hx-prose .table-responsive table{margin-bottom:0}hx-prose :is(.messages,.callout){padding:var(--hx-space-4, 1rem) var(--hx-space-5, 1.25rem);margin-bottom:var(--hx-space-4, 1rem);border:var(--hx-border-width-thin, 1px) solid var(--hx-color-border-default, var(--hx-color-neutral-200, #D6DBD5));border-radius:var(--hx-border-radius-md, .375rem);border-left-width:var(--hx-border-width-thick, 3px)}hx-prose .messages--status{border-left-color:var(--hx-color-success-500, #3B9E58);background-color:var(--hx-color-success-50, #EAFAEC)}hx-prose .messages--warning{border-left-color:var(--hx-color-warning-500, #C2711C);background-color:var(--hx-color-warning-50, #FFF3EA)}hx-prose .messages--error{border-left-color:var(--hx-color-error-500, #E5493E);background-color:var(--hx-color-error-50, #FFF2F0)}hx-prose .page-break{border:0;border-top:var(--hx-border-width-thin, 1px) dashed var(--hx-color-border-default, var(--hx-color-neutral-200, #D6DBD5));margin-top:var(--hx-space-8, 2rem);margin-bottom:var(--hx-space-8, 2rem)}hx-prose .clearfix:after{content:"";display:table;clear:both}
|
|
6
6
|
|
|
7
7
|
@media (forced-colors: active) {
|
|
8
8
|
/* Links: use system LinkText color */
|
|
@@ -36,14 +36,14 @@ const m = `hx-prose{display:block;font-family:var(--hx-font-family-sans, sans-se
|
|
|
36
36
|
hx-prose pre { background-color: Canvas; border-color: CanvasText; }
|
|
37
37
|
}
|
|
38
38
|
`, v = m;
|
|
39
|
-
var g = Object.defineProperty, b = Object.getOwnPropertyDescriptor, l = (r,
|
|
40
|
-
for (var
|
|
41
|
-
(h = r[i]) && (
|
|
42
|
-
return a &&
|
|
39
|
+
var g = Object.defineProperty, b = Object.getOwnPropertyDescriptor, l = (r, o, s, a) => {
|
|
40
|
+
for (var e = a > 1 ? void 0 : a ? b(o, s) : o, i = r.length - 1, h; i >= 0; i--)
|
|
41
|
+
(h = r[i]) && (e = (a ? h(o, s, e) : h(e)) || e);
|
|
42
|
+
return a && e && g(o, s, e), e;
|
|
43
43
|
};
|
|
44
|
-
let t = class extends
|
|
44
|
+
let t = class extends d {
|
|
45
45
|
constructor() {
|
|
46
|
-
super(...arguments), this.adoptedStyles = new
|
|
46
|
+
super(...arguments), this.adoptedStyles = new p(this, v, document), this.size = "base", this.maxWidth = "";
|
|
47
47
|
}
|
|
48
48
|
// ─── Light DOM ───
|
|
49
49
|
createRenderRoot() {
|
|
@@ -65,12 +65,12 @@ let t = class extends p {
|
|
|
65
65
|
}
|
|
66
66
|
/** @internal */
|
|
67
67
|
_applySize() {
|
|
68
|
-
const
|
|
68
|
+
const o = {
|
|
69
69
|
sm: "var(--hx-font-size-sm, 0.875rem)",
|
|
70
70
|
base: "",
|
|
71
71
|
lg: "var(--hx-font-size-lg, 1.125rem)"
|
|
72
72
|
}[this.size];
|
|
73
|
-
|
|
73
|
+
o ? this.style.setProperty("--hx-prose-font-size", o) : this.style.removeProperty("--hx-prose-font-size");
|
|
74
74
|
}
|
|
75
75
|
// ─── Render ───
|
|
76
76
|
render() {
|
|
@@ -89,4 +89,4 @@ t = l([
|
|
|
89
89
|
export {
|
|
90
90
|
t as H
|
|
91
91
|
};
|
|
92
|
-
//# sourceMappingURL=hx-prose-
|
|
92
|
+
//# sourceMappingURL=hx-prose-BThYcASV.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hx-prose-BCtK7YL6.js","sources":["../../src/styles/prose/prose.scoped.css?raw","../../src/components/hx-prose/hx-prose.styles.ts","../../src/components/hx-prose/hx-prose.ts"],"sourcesContent":["export default \"hx-prose{display:block;font-family:var(--hx-font-family-sans, sans-serif)}hx-prose :is(h1,h2,h3,h4,h5,h6){font-family:var( --hx-prose-heading-font-family, var(--hx-heading-font-family, var(--hx-font-family-sans, sans-serif)) );font-weight:var( --hx-prose-heading-font-weight, var(--hx-heading-font-weight, var(--hx-font-weight-bold, 700)) );line-height:var( --hx-prose-heading-line-height, var(--hx-heading-line-height, var(--hx-line-height-tight, 1.25)) );letter-spacing:var( --hx-prose-heading-letter-spacing, var(--hx-heading-letter-spacing, var(--hx-letter-spacing-tight, -.025em)) );color:var(--hx-prose-heading-color, var(--hx-color-neutral-900, #111827));margin-top:0;scroll-margin-top:var(--hx-space-8, 2rem)}hx-prose h1{font-size:var(--hx-prose-h1-font-size, var(--hx-font-size-4xl, 2.25rem));margin-bottom:var(--hx-space-6, 1.5rem)}hx-prose h2{font-size:var(--hx-prose-h2-font-size, var(--hx-font-size-3xl, 1.875rem));margin-bottom:var(--hx-space-5, 1.25rem);padding-bottom:var(--hx-space-3, .75rem);border-bottom:var(--hx-border-width-thin, 1px) solid var(--hx-color-border-subtle, var(--hx-color-neutral-100, #e9ecef))}hx-prose h3{font-size:var(--hx-prose-h3-font-size, var(--hx-font-size-2xl, 1.5rem));margin-bottom:var(--hx-space-4, 1rem)}hx-prose h4{font-size:var(--hx-prose-h4-font-size, var(--hx-font-size-xl, 1.25rem));margin-bottom:var(--hx-space-3, .75rem)}hx-prose h5{font-size:var(--hx-prose-h5-font-size, var(--hx-font-size-lg, 1.125rem));margin-bottom:var(--hx-space-3, .75rem)}hx-prose h6{font-size:var(--hx-prose-h6-font-size, var(--hx-font-size-md, 1rem));font-weight:var(--hx-font-weight-semibold, 600);text-transform:uppercase;letter-spacing:var(--hx-letter-spacing-wide, .025em);margin-bottom:var(--hx-space-3, .75rem);color:var(--hx-color-text-secondary, var(--hx-color-neutral-600, #495057))}hx-prose :is(h1+h2,h2+h3,h3+h4,h4+h5,h5+h6){margin-top:var(--hx-space-2, .5rem)}hx-prose *+h1{margin-top:var(--hx-space-12, 3rem)}hx-prose *+h2{margin-top:var(--hx-space-10, 2.5rem)}hx-prose *+h3{margin-top:var(--hx-space-8, 2rem)}hx-prose :is(*+h4,*+h5,*+h6){margin-top:var(--hx-space-6, 1.5rem)}hx-prose p{margin-top:0;margin-bottom:var(--hx-space-4, 1rem);font-size:var(--hx-prose-font-size, var(--hx-font-size-md, 1rem));line-height:var(--hx-prose-line-height, var(--hx-line-height-relaxed, 1.75));color:var(--hx-prose-color, var(--hx-color-neutral-700, #343a40))}hx-prose p.lead{font-size:var(--hx-prose-lead-font-size, var(--hx-font-size-lg, 1.125rem));color:var(--hx-prose-lead-color, var(--hx-color-neutral-600, #495057))}hx-prose blockquote{margin-top:0;margin-bottom:var(--hx-space-6, 1.5rem);margin-left:0;margin-right:0;padding:var(--hx-space-4, 1rem) var(--hx-space-6, 1.5rem);border-left:var(--hx-border-width-thick, 3px) solid var(--hx-color-primary-500, #2563eb);background-color:var(--hx-color-surface-raised, var(--hx-color-neutral-50, #f8f9fa));border-radius:0 var(--hx-border-radius-sm, .25rem) var(--hx-border-radius-sm, .25rem) 0;font-style:italic;color:var(--hx-color-text-secondary, var(--hx-color-neutral-600, #495057))}hx-prose blockquote p{color:inherit}hx-prose blockquote p:last-child{margin-bottom:0}hx-prose blockquote cite{display:block;margin-top:var(--hx-space-2, .5rem);font-size:var(--hx-font-size-sm, .875rem);font-style:normal;font-weight:var(--hx-font-weight-medium, 500);color:var(--hx-color-text-muted, var(--hx-color-neutral-500, #6c757d))}hx-prose blockquote cite:before{content:\\\"\\\\2014\\\\a0\\\"}hx-prose hr{border:0;border-top:var(--hx-divider-width, var(--hx-border-width-thin, 1px)) solid var(--hx-divider-color, var(--hx-color-border-default, var(--hx-color-neutral-200, #dee2e6)));margin-top:var(--hx-space-8, 2rem);margin-bottom:var(--hx-space-8, 2rem)}hx-prose :is(strong,b){font-weight:var(--hx-font-weight-semibold, 600);color:var(--hx-prose-heading-color, var(--hx-color-neutral-900, #111827))}hx-prose :is(em,i){font-style:italic}hx-prose small{font-size:var(--hx-font-size-sm, .875rem);color:var(--hx-color-text-muted, var(--hx-color-neutral-500, #6c757d))}hx-prose mark{background-color:var(--hx-color-warning-100, #fff3cd);color:var(--hx-color-neutral-900, #0d1117);padding:var(--hx-space-0, 0) var(--hx-space-1, .25rem);border-radius:var(--hx-border-radius-sm, .25rem)}hx-prose :is(del,s){text-decoration:line-through;color:var(--hx-color-text-muted, var(--hx-color-neutral-500, #6c757d))}hx-prose ins{text-decoration:underline;text-decoration-color:var(--hx-color-success-300, #75b798)}hx-prose abbr[title]{text-decoration:underline dotted;text-decoration-color:var(--hx-color-text-muted, var(--hx-color-neutral-500, #6c757d));cursor:help;text-underline-offset:.15em}hx-prose :is(sub,sup){font-size:var(--hx-font-size-xs, .75rem);line-height:0;position:relative;vertical-align:baseline}hx-prose sup{top:-.5em}hx-prose sub{bottom:-.25em}hx-prose a{color:var( --hx-prose-link-color, var(--hx-color-text-link, var(--hx-color-primary-600, #006868)) );text-decoration:underline;text-decoration-color:var(--hx-color-primary-200, #80c2c2);text-underline-offset:.15em;transition:color var(--hx-transition-fast, .15s ease),text-decoration-color var(--hx-transition-fast, .15s ease)}hx-prose a:hover{color:var(--hx-color-text-link-hover, var(--hx-color-primary-700, #005252));text-decoration-color:currentColor}hx-prose a:visited{color:var(--hx-color-text-link-visited, var(--hx-color-secondary-600, #4f46e5))}hx-prose a:active{color:var(--hx-color-text-link-active, var(--hx-color-primary-800, #003c3c))}hx-prose a:focus-visible{outline:var(--hx-focus-ring-width, 2px) solid var(--hx-focus-ring-color, var(--hx-color-primary-500, #2563eb));outline-offset:var(--hx-focus-ring-offset, 2px);border-radius:var(--hx-border-radius-sm, .25rem)}hx-prose :is(ul,ol){margin-top:0;margin-bottom:var(--hx-space-4, 1rem);padding-left:var(--hx-space-6, 1.5rem);color:var(--hx-prose-color, var(--hx-color-neutral-700, #343a40))}hx-prose ul{list-style-type:disc}hx-prose ol{list-style-type:decimal}hx-prose li{margin-bottom:var(--hx-space-2, .5rem);font-size:var(--hx-prose-font-size, var(--hx-font-size-md, 1rem));line-height:var(--hx-prose-line-height, var(--hx-line-height-relaxed, 1.75))}hx-prose li:last-child{margin-bottom:0}hx-prose li>p{margin-bottom:var(--hx-space-2, .5rem)}hx-prose li>p:last-child{margin-bottom:0}hx-prose :is(ul ul,ol ul){list-style-type:circle;margin-top:var(--hx-space-2, .5rem);margin-bottom:var(--hx-space-2, .5rem)}hx-prose :is(ul ul ul,ol ul ul,ul ol ul,ol ol ul){list-style-type:square}hx-prose :is(ol ol,ul ol){list-style-type:lower-alpha;margin-top:var(--hx-space-2, .5rem);margin-bottom:var(--hx-space-2, .5rem)}hx-prose :is(ol ol ol,ul ol ol,ol ul ol,ul ul ol){list-style-type:lower-roman}hx-prose :is(ul,ol) ::marker{color:var(--hx-color-text-muted, var(--hx-color-neutral-500, #6c757d))}hx-prose dl{margin-top:0;margin-bottom:var(--hx-space-4, 1rem)}hx-prose dt{font-weight:var(--hx-font-weight-semibold, 600);color:var(--hx-prose-heading-color, var(--hx-color-neutral-900, #111827));margin-bottom:var(--hx-space-1, .25rem)}hx-prose dt+dt{margin-top:var(--hx-space-4, 1rem)}hx-prose dd{margin-left:var(--hx-space-6, 1.5rem);margin-bottom:var(--hx-space-4, 1rem);color:var(--hx-prose-color, var(--hx-color-neutral-700, #343a40))}hx-prose dd:last-child{margin-bottom:0}hx-prose table{width:100%;border-collapse:collapse;border-spacing:0;margin-top:0;margin-bottom:var(--hx-space-6, 1.5rem);font-size:var(--hx-prose-font-size, var(--hx-font-size-md, 1rem));line-height:var(--hx-line-height-normal, 1.5);color:var(--hx-prose-color, var(--hx-color-neutral-700, #343a40));overflow-x:auto;display:block}@media(min-width:640px){hx-prose table{display:table}}hx-prose caption{padding-top:var(--hx-space-3, .75rem);padding-bottom:var(--hx-space-3, .75rem);font-size:var(--hx-font-size-sm, .875rem);font-weight:var(--hx-font-weight-medium, 500);color:var(--hx-color-text-muted, var(--hx-color-neutral-500, #6c757d));text-align:left;caption-side:top}hx-prose thead{border-bottom:var(--hx-border-width-medium, 2px) solid var(--hx-color-border-default, var(--hx-color-neutral-200, #dee2e6))}hx-prose tfoot{border-top:var(--hx-border-width-medium, 2px) solid var(--hx-color-border-default, var(--hx-color-neutral-200, #dee2e6))}hx-prose th{padding:var(--hx-space-3, .75rem) var(--hx-space-4, 1rem);font-weight:var(--hx-font-weight-semibold, 600);color:var(--hx-prose-heading-color, var(--hx-color-neutral-900, #111827));text-align:left;background-color:var(--hx-color-surface-raised, var(--hx-color-neutral-50, #f8f9fa))}hx-prose td{padding:var(--hx-space-3, .75rem) var(--hx-space-4, 1rem);border-bottom:var(--hx-border-width-thin, 1px) solid var(--hx-color-border-default, var(--hx-color-neutral-200, #dee2e6));vertical-align:top}hx-prose tbody tr:nth-child(2n){background-color:var(--hx-color-surface-raised, var(--hx-color-neutral-50, #f8f9fa))}hx-prose tbody tr:hover{background-color:var(--hx-color-primary-50, #e6f3f3)}hx-prose :is(th,td)[align=center]{text-align:center}hx-prose :is(th,td)[align=right]{text-align:right}hx-prose :is(code,pre,kbd,samp){font-family:var( --hx-font-family-mono, \\\"JetBrains Mono\\\", ui-monospace, \\\"Cascadia Code\\\", monospace )}hx-prose code{font-size:var(--hx-font-size-sm, .875em);font-weight:var(--hx-font-weight-normal, 400);background-color:var(--hx-color-surface-sunken, var(--hx-color-neutral-100, #e9ecef));color:var(--hx-color-error-600, #b02a37);padding:var(--hx-prose-code-padding-v, .125em) var(--hx-space-1, .25rem);border-radius:var(--hx-border-radius-sm, .25rem);word-break:break-word}hx-prose pre{margin-top:0;margin-bottom:var(--hx-space-6, 1.5rem);padding:var(--hx-space-4, 1rem) var(--hx-space-5, 1.25rem);overflow-x:auto;font-size:var(--hx-font-size-sm, .875rem);line-height:var(--hx-line-height-relaxed, 1.75);color:var(--hx-color-neutral-800, #212529);background-color:var(--hx-color-surface-sunken, var(--hx-color-neutral-100, #e9ecef));border:var(--hx-border-width-thin, 1px) solid var(--hx-color-border-default, var(--hx-color-neutral-200, #dee2e6));border-radius:var(--hx-border-radius-md, .375rem);-webkit-overflow-scrolling:touch;tab-size:2}hx-prose pre code{background-color:transparent;color:inherit;padding:0;border-radius:0;font-size:inherit;font-weight:inherit;word-break:normal}hx-prose samp{font-size:var(--hx-font-size-sm, .875em)}hx-prose kbd{padding:var(--hx-prose-code-padding-v, .125em) var(--hx-space-2, .5rem);background-color:var(--hx-color-neutral-800, #212529);color:var(--hx-color-neutral-0, #ffffff);border-radius:var(--hx-border-radius-sm, .25rem);box-shadow:var(--hx-shadow-inset-sm, inset 0 -1px 0 rgba(0, 0, 0, .25))}hx-prose var{font-style:italic;color:var(--hx-color-secondary-600, #4f46e5)}hx-prose :is(img,figure>a img){border-radius:var(--hx-border-radius-sm, .25rem)}hx-prose img{max-width:100%;height:auto;display:block}hx-prose figure{margin:0;margin-bottom:var(--hx-space-6, 1.5rem)}hx-prose figure img{margin-bottom:0}hx-prose figure>a{display:block}hx-prose figcaption{margin-top:var(--hx-space-2, .5rem);font-size:var(--hx-font-size-sm, .875rem);line-height:var(--hx-line-height-normal, 1.5);color:var(--hx-color-text-muted, var(--hx-color-neutral-500, #6c757d));font-style:italic}hx-prose :is(video,iframe){max-width:100%;display:block;margin-bottom:var(--hx-space-6, 1.5rem);border-radius:var(--hx-border-radius-sm, .25rem)}hx-prose video{height:auto}hx-prose iframe{border:0}hx-prose :is(.embed-responsive,.video-embed,.media-oembed){position:relative;width:100%;padding-bottom:56.25%;height:0;overflow:hidden;margin-bottom:var(--hx-space-6, 1.5rem);border-radius:var(--hx-border-radius-sm, .25rem)}hx-prose :is(.embed-responsive,.video-embed,.media-oembed) :is(iframe,video){position:absolute;top:0;left:0;width:100%;height:100%;margin-bottom:0;border-radius:0}hx-prose audio{width:100%;margin-bottom:var(--hx-space-6, 1.5rem)}hx-prose :is(object,embed){max-width:100%}hx-prose .field{margin-bottom:var(--hx-space-4, 1rem)}hx-prose .field:last-child{margin-bottom:0}hx-prose .field__label{font-weight:var(--hx-font-weight-semibold, 600);font-size:var(--hx-font-size-sm, .875rem);color:var(--hx-color-text-secondary, var(--hx-color-neutral-600, #495057));margin-bottom:var(--hx-space-1, .25rem);text-transform:uppercase;letter-spacing:var(--hx-letter-spacing-wide, .025em)}hx-prose .field__item{margin-bottom:var(--hx-space-2, .5rem)}hx-prose .field__item:last-child{margin-bottom:0}hx-prose .field__items{list-style:none;padding-left:0;margin:0}hx-prose .text-formatted>*:last-child{margin-bottom:0}hx-prose :is(.media-embed,.embedded-entity,.media--type-image,.media--type-remote-video){margin-top:var(--hx-space-4, 1rem);margin-bottom:var(--hx-space-6, 1.5rem)}hx-prose :is(.media-embed,.embedded-entity) img{max-width:100%;height:auto;display:block}hx-prose .align-left{float:left;margin-right:var(--hx-space-6, 1.5rem);margin-bottom:var(--hx-space-4, 1rem);max-width:50%}hx-prose .align-right{float:right;margin-left:var(--hx-space-6, 1.5rem);margin-bottom:var(--hx-space-4, 1rem);max-width:50%}hx-prose .align-center{display:block;margin-left:auto;margin-right:auto;margin-bottom:var(--hx-space-6, 1.5rem);text-align:center}hx-prose :is(.align-left,.align-right) img{display:block}hx-prose :is(.align-left,.align-right)+*{clear:both}hx-prose .caption{margin-bottom:var(--hx-space-6, 1.5rem)}hx-prose .caption :is(figcaption,.caption-text){font-size:var(--hx-font-size-sm, .875rem);color:var(--hx-color-text-muted, var(--hx-color-neutral-500, #6c757d));font-style:italic;margin-top:var(--hx-space-2, .5rem)}hx-prose .table-responsive{overflow-x:auto;-webkit-overflow-scrolling:touch;margin-bottom:var(--hx-space-6, 1.5rem)}hx-prose .table-responsive table{margin-bottom:0}hx-prose :is(.messages,.callout){padding:var(--hx-space-4, 1rem) var(--hx-space-5, 1.25rem);margin-bottom:var(--hx-space-4, 1rem);border:var(--hx-border-width-thin, 1px) solid var(--hx-color-border-default, var(--hx-color-neutral-200, #dee2e6));border-radius:var(--hx-border-radius-md, .375rem);border-left-width:var(--hx-border-width-thick, 3px)}hx-prose .messages--status{border-left-color:var(--hx-color-success-500, #198754);background-color:var(--hx-color-success-50, #f0fdf4)}hx-prose .messages--warning{border-left-color:var(--hx-color-warning-500, #ffc107);background-color:var(--hx-color-warning-50, #fffbeb)}hx-prose .messages--error{border-left-color:var(--hx-color-error-500, #dc3545);background-color:var(--hx-color-error-50, #fef2f2)}hx-prose .page-break{border:0;border-top:var(--hx-border-width-thin, 1px) dashed var(--hx-color-border-default, var(--hx-color-neutral-200, #dee2e6));margin-top:var(--hx-space-8, 2rem);margin-bottom:var(--hx-space-8, 2rem)}hx-prose .clearfix:after{content:\\\"\\\";display:table;clear:both}\\n\\n@media (forced-colors: active) {\\n /* Links: use system LinkText color */\\n hx-prose a { color: LinkText; }\\n hx-prose a:hover,\\n hx-prose a:visited,\\n hx-prose a:active { color: LinkText; }\\n hx-prose a:focus-visible { outline: 2px solid Highlight; outline-offset: 2px; }\\n\\n /* Blockquote: replace background with visible border */\\n hx-prose blockquote { background-color: Canvas; border-left-color: CanvasText; }\\n\\n /* Mark: background suppressed — add outline to preserve semantic highlight */\\n hx-prose mark { background-color: Highlight; color: HighlightText; forced-color-adjust: none; }\\n\\n /* kbd: ensure keyboard shortcut rendering in forced-colors */\\n hx-prose kbd { background-color: ButtonFace; color: ButtonText; box-shadow: none; border: 1px solid ButtonText; forced-color-adjust: none; }\\n\\n /* Table: remove background-color zebra striping (invisible in HCM), rely on borders */\\n hx-prose th { background-color: Canvas; border: 1px solid CanvasText; }\\n hx-prose tbody tr:nth-child(2n) { background-color: Canvas; }\\n hx-prose tbody tr:hover { background-color: Highlight; color: HighlightText; forced-color-adjust: none; }\\n\\n /* Status messages: border color communicates state, ensure it uses system colors */\\n hx-prose .messages--status { background-color: Canvas; border-left-color: CanvasText; }\\n hx-prose .messages--warning { background-color: Canvas; border-left-color: CanvasText; }\\n hx-prose .messages--error { background-color: Canvas; border-left-color: LinkText; }\\n\\n /* Code blocks */\\n hx-prose code { background-color: Canvas; color: CanvasText; border: 1px solid CanvasText; }\\n hx-prose pre { background-color: Canvas; border-color: CanvasText; }\\n}\\n\"","import proseScopedCss from '../../styles/prose/prose.scoped.css?raw';\n\n/**\n * Scoped CSS for hx-prose (applied to light DOM via CSSStyleSheet adoption).\n *\n * @media (forced-colors: active) rules are authored directly in\n * `../../styles/prose/prose.scoped.css` so they remain co-located with the\n * selectors they override. See the bottom of that file for the complete\n * forced-colors block.\n */\nexport const helixProseScopedCss = proseScopedCss;\n","import { html, type PropertyValues } from 'lit';\nimport { customElement, property } from 'lit/decorators.js';\nimport { HelixElement } from '../../base/index.js';\nimport { AdoptedStylesheetsController } from '../../controllers/adopted-stylesheets.js';\nimport { devWarn } from '../../utils/dev-warn.js';\nimport { helixProseScopedCss } from './hx-prose.styles.js';\n\n/**\n * A Light DOM prose container that applies typographic styles to rich text\n * content such as CKEditor output, Markdown-rendered HTML, or any structured\n * body copy.\n *\n * Renders in the Light DOM (no Shadow DOM) so that global and scoped styles\n * can target child elements directly. Uses the AdoptedStylesheetsController\n * to inject scoped prose CSS into the document without duplication.\n *\n * @summary Light DOM typography wrapper for rich text and CMS content.\n *\n * @tag hx-prose\n *\n * @slot - Default slot for rich text content (headings, paragraphs, lists, tables, etc.).\n *\n * @cssprop [--hx-prose-max-width=720px] - Maximum content width.\n * @cssprop [--hx-prose-font-size=var(--hx-font-size-base)] - Base font size.\n * @cssprop [--hx-prose-line-height=var(--hx-line-height-relaxed)] - Base line height.\n * @cssprop [--hx-prose-color=var(--hx-color-text)] - Body text color.\n * @cssprop [--hx-prose-heading-color=var(--hx-color-text-strong)] - Heading color.\n * @cssprop [--hx-prose-link-color=var(--hx-color-primary)] - Link color.\n */\n@customElement('hx-prose')\nexport class HelixProse extends HelixElement {\n // ─── Light DOM ───\n\n override createRenderRoot(): this {\n return this;\n }\n\n // ─── Adopted Stylesheets ───\n\n /** @internal */\n private adoptedStyles = new AdoptedStylesheetsController(this, helixProseScopedCss, document);\n\n // ─── Properties ───\n\n /**\n * Typography scale for the prose content.\n * @attr hx-size\n */\n @property({ type: String, reflect: true, attribute: 'hx-size' })\n size: 'sm' | 'base' | 'lg' = 'base';\n\n /**\n * Maximum content width. When set, overrides the --hx-prose-max-width token.\n * Accepts any valid CSS width value (e.g., '640px', '80ch', '100%').\n * @attr max-width\n */\n @property({ type: String, reflect: true, attribute: 'max-width' })\n maxWidth = '';\n\n // ─── Lifecycle ───\n\n override connectedCallback(): void {\n super.connectedCallback();\n // Backward compat: accept legacy `size` attribute. When present and `hx-size`\n // is not set, map the value and emit a deprecation warning.\n const legacySize = this.getAttribute('size');\n if (legacySize !== null && !this.hasAttribute('hx-size')) {\n devWarn('hx-prose', 'The \"size\" attribute is deprecated. Use \"hx-size\" instead.');\n this.size = legacySize as 'sm' | 'base' | 'lg';\n }\n this.style.display = 'block';\n this._applyMaxWidth();\n this._applySize();\n }\n\n override updated(changedProperties: PropertyValues<this>): void {\n if (changedProperties.has('maxWidth')) {\n this._applyMaxWidth();\n }\n if (changedProperties.has('size')) {\n this._applySize();\n }\n }\n\n // ─── Private ───\n\n /** @internal */\n private _applyMaxWidth(): void {\n if (this.maxWidth) {\n this.style.setProperty('--hx-prose-max-width', this.maxWidth);\n } else {\n this.style.removeProperty('--hx-prose-max-width');\n }\n }\n\n /** @internal */\n private _applySize(): void {\n const sizeMap: Record<string, string> = {\n sm: 'var(--hx-font-size-sm, 0.875rem)',\n base: '',\n lg: 'var(--hx-font-size-lg, 1.125rem)',\n };\n\n const fontSize = sizeMap[this.size];\n if (fontSize) {\n this.style.setProperty('--hx-prose-font-size', fontSize);\n } else {\n this.style.removeProperty('--hx-prose-font-size');\n }\n }\n\n // ─── Render ───\n\n override render() {\n return html`<slot></slot>`;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'hx-prose': HelixProse;\n }\n}\n"],"names":["proseScopedCss","helixProseScopedCss","HelixProse","HelixElement","AdoptedStylesheetsController","legacySize","changedProperties","fontSize","html","__decorateClass","property","customElement"],"mappings":";;;;AAAA,MAAAA,IAAe;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GCUFC,IAAsBD;;;;;;ACoB5B,IAAME,IAAN,cAAyBC,EAAa;AAAA,EAAtC,cAAA;AAAA,UAAA,GAAA,SAAA,GAUL,KAAQ,gBAAgB,IAAIC,EAA6B,MAAMH,GAAqB,QAAQ,GAS5F,KAAA,OAA6B,QAQ7B,KAAA,WAAW;AAAA,EAAA;AAAA;AAAA,EAxBF,mBAAyB;AAChC,WAAO;AAAA,EACT;AAAA;AAAA,EA0BS,oBAA0B;AACjC,UAAM,kBAAA;AAGN,UAAMI,IAAa,KAAK,aAAa,MAAM;AAC3C,IAAIA,MAAe,QAAQ,CAAC,KAAK,aAAa,SAAS,MAErD,KAAK,OAAOA,IAEd,KAAK,MAAM,UAAU,SACrB,KAAK,eAAA,GACL,KAAK,WAAA;AAAA,EACP;AAAA,EAES,QAAQC,GAA+C;AAC9D,IAAIA,EAAkB,IAAI,UAAU,KAClC,KAAK,eAAA,GAEHA,EAAkB,IAAI,MAAM,KAC9B,KAAK,WAAA;AAAA,EAET;AAAA;AAAA;AAAA,EAKQ,iBAAuB;AAC7B,IAAI,KAAK,WACP,KAAK,MAAM,YAAY,wBAAwB,KAAK,QAAQ,IAE5D,KAAK,MAAM,eAAe,sBAAsB;AAAA,EAEpD;AAAA;AAAA,EAGQ,aAAmB;AAOzB,UAAMC,IANkC;AAAA,MACtC,IAAI;AAAA,MACJ,MAAM;AAAA,MACN,IAAI;AAAA,IAAA,EAGmB,KAAK,IAAI;AAClC,IAAIA,IACF,KAAK,MAAM,YAAY,wBAAwBA,CAAQ,IAEvD,KAAK,MAAM,eAAe,sBAAsB;AAAA,EAEpD;AAAA;AAAA,EAIS,SAAS;AAChB,WAAOC;AAAA,EACT;AACF;AAnEEC,EAAA;AAAA,EADCC,EAAS,EAAE,MAAM,QAAQ,SAAS,IAAM,WAAW,WAAW;AAAA,GAlBpDR,EAmBX,WAAA,QAAA,CAAA;AAQAO,EAAA;AAAA,EADCC,EAAS,EAAE,MAAM,QAAQ,SAAS,IAAM,WAAW,aAAa;AAAA,GA1BtDR,EA2BX,WAAA,YAAA,CAAA;AA3BWA,IAANO,EAAA;AAAA,EADNE,EAAc,UAAU;AAAA,GACZT,CAAA;"}
|
|
1
|
+
{"version":3,"file":"hx-prose-BThYcASV.js","sources":["../../src/styles/prose/prose.scoped.css?raw","../../src/components/hx-prose/hx-prose.styles.ts","../../src/components/hx-prose/hx-prose.ts"],"sourcesContent":["export default \"hx-prose{display:block;font-family:var(--hx-font-family-sans, sans-serif)}hx-prose :is(h1,h2,h3,h4,h5,h6){font-family:var( --hx-prose-heading-font-family, var(--hx-heading-font-family, var(--hx-font-family-sans, sans-serif)) );font-weight:var( --hx-prose-heading-font-weight, var(--hx-heading-font-weight, var(--hx-font-weight-bold, 700)) );line-height:var( --hx-prose-heading-line-height, var(--hx-heading-line-height, var(--hx-line-height-tight, 1.25)) );letter-spacing:var( --hx-prose-heading-letter-spacing, var(--hx-heading-letter-spacing, var(--hx-letter-spacing-tight, -.025em)) );color:var(--hx-prose-heading-color, var(--hx-color-neutral-900, #0D1825));margin-top:0;scroll-margin-top:var(--hx-space-8, 2rem)}hx-prose h1{font-size:var(--hx-prose-h1-font-size, var(--hx-font-size-4xl, 2.25rem));margin-bottom:var(--hx-space-6, 1.5rem)}hx-prose h2{font-size:var(--hx-prose-h2-font-size, var(--hx-font-size-3xl, 1.875rem));margin-bottom:var(--hx-space-5, 1.25rem);padding-bottom:var(--hx-space-3, .75rem);border-bottom:var(--hx-border-width-thin, 1px) solid var(--hx-color-border-subtle, var(--hx-color-neutral-100, #EBEEE9))}hx-prose h3{font-size:var(--hx-prose-h3-font-size, var(--hx-font-size-2xl, 1.5rem));margin-bottom:var(--hx-space-4, 1rem)}hx-prose h4{font-size:var(--hx-prose-h4-font-size, var(--hx-font-size-xl, 1.25rem));margin-bottom:var(--hx-space-3, .75rem)}hx-prose h5{font-size:var(--hx-prose-h5-font-size, var(--hx-font-size-lg, 1.125rem));margin-bottom:var(--hx-space-3, .75rem)}hx-prose h6{font-size:var(--hx-prose-h6-font-size, var(--hx-font-size-md, 1rem));font-weight:var(--hx-font-weight-semibold, 600);text-transform:uppercase;letter-spacing:var(--hx-letter-spacing-wide, .025em);margin-bottom:var(--hx-space-3, .75rem);color:var(--hx-color-text-secondary, var(--hx-color-neutral-600, #4A5362))}hx-prose :is(h1+h2,h2+h3,h3+h4,h4+h5,h5+h6){margin-top:var(--hx-space-2, .5rem)}hx-prose *+h1{margin-top:var(--hx-space-12, 3rem)}hx-prose *+h2{margin-top:var(--hx-space-10, 2.5rem)}hx-prose *+h3{margin-top:var(--hx-space-8, 2rem)}hx-prose :is(*+h4,*+h5,*+h6){margin-top:var(--hx-space-6, 1.5rem)}hx-prose p{margin-top:0;margin-bottom:var(--hx-space-4, 1rem);font-size:var(--hx-prose-font-size, var(--hx-font-size-md, 1rem));line-height:var(--hx-prose-line-height, var(--hx-line-height-relaxed, 1.75));color:var(--hx-prose-color, var(--hx-color-neutral-700, #313E4B))}hx-prose p.lead{font-size:var(--hx-prose-lead-font-size, var(--hx-font-size-lg, 1.125rem));color:var(--hx-prose-lead-color, var(--hx-color-neutral-600, #4A5362))}hx-prose blockquote{margin-top:0;margin-bottom:var(--hx-space-6, 1.5rem);margin-left:0;margin-right:0;padding:var(--hx-space-4, 1rem) var(--hx-space-6, 1.5rem);border-left:var(--hx-border-width-thick, 3px) solid var(--hx-color-primary-500, #429797);background-color:var(--hx-color-surface-raised, var(--hx-color-neutral-50, #F5F8F3));border-radius:0 var(--hx-border-radius-sm, .25rem) var(--hx-border-radius-sm, .25rem) 0;font-style:italic;color:var(--hx-color-text-secondary, var(--hx-color-neutral-600, #4A5362))}hx-prose blockquote p{color:inherit}hx-prose blockquote p:last-child{margin-bottom:0}hx-prose blockquote cite{display:block;margin-top:var(--hx-space-2, .5rem);font-size:var(--hx-font-size-sm, .875rem);font-style:normal;font-weight:var(--hx-font-weight-medium, 500);color:var(--hx-color-text-muted, var(--hx-color-neutral-500, #66787B))}hx-prose blockquote cite:before{content:\\\"\\\\2014\\\\a0\\\"}hx-prose hr{border:0;border-top:var(--hx-divider-width, var(--hx-border-width-thin, 1px)) solid var(--hx-divider-color, var(--hx-color-border-default, var(--hx-color-neutral-200, #D6DBD5)));margin-top:var(--hx-space-8, 2rem);margin-bottom:var(--hx-space-8, 2rem)}hx-prose :is(strong,b){font-weight:var(--hx-font-weight-semibold, 600);color:var(--hx-prose-heading-color, var(--hx-color-neutral-900, #0D1825))}hx-prose :is(em,i){font-style:italic}hx-prose small{font-size:var(--hx-font-size-sm, .875rem);color:var(--hx-color-text-muted, var(--hx-color-neutral-500, #66787B))}hx-prose mark{background-color:var(--hx-color-warning-100, #FEE6D4);color:var(--hx-color-neutral-900, #0D1825);padding:var(--hx-space-0, 0) var(--hx-space-1, .25rem);border-radius:var(--hx-border-radius-sm, .25rem)}hx-prose :is(del,s){text-decoration:line-through;color:var(--hx-color-text-muted, var(--hx-color-neutral-500, #66787B))}hx-prose ins{text-decoration:underline;text-decoration-color:var(--hx-color-success-300, #94D3A1)}hx-prose abbr[title]{text-decoration:underline dotted;text-decoration-color:var(--hx-color-text-muted, var(--hx-color-neutral-500, #66787B));cursor:help;text-underline-offset:.15em}hx-prose :is(sub,sup){font-size:var(--hx-font-size-xs, .75rem);line-height:0;position:relative;vertical-align:baseline}hx-prose sup{top:-.5em}hx-prose sub{bottom:-.25em}hx-prose a{color:var( --hx-prose-link-color, var(--hx-color-text-link, var(--hx-color-primary-600, #0F7078)) );text-decoration:underline;text-decoration-color:var(--hx-color-primary-200, #BCE1E1);text-underline-offset:.15em;transition:color var(--hx-transition-fast, .15s ease),text-decoration-color var(--hx-transition-fast, .15s ease)}hx-prose a:hover{color:var(--hx-color-text-link-hover, var(--hx-color-primary-700, #0F6363));text-decoration-color:currentColor}hx-prose a:visited{color:var(--hx-color-text-link-visited, var(--hx-color-secondary-600, #0F6B7E))}hx-prose a:active{color:var(--hx-color-text-link-active, var(--hx-color-primary-800, #07494A))}hx-prose a:focus-visible{outline:var(--hx-focus-ring-width, 2px) solid var(--hx-focus-ring-color, var(--hx-color-primary-500, #429797));outline-offset:var(--hx-focus-ring-offset, 2px);border-radius:var(--hx-border-radius-sm, .25rem)}hx-prose :is(ul,ol){margin-top:0;margin-bottom:var(--hx-space-4, 1rem);padding-left:var(--hx-space-6, 1.5rem);color:var(--hx-prose-color, var(--hx-color-neutral-700, #313E4B))}hx-prose ul{list-style-type:disc}hx-prose ol{list-style-type:decimal}hx-prose li{margin-bottom:var(--hx-space-2, .5rem);font-size:var(--hx-prose-font-size, var(--hx-font-size-md, 1rem));line-height:var(--hx-prose-line-height, var(--hx-line-height-relaxed, 1.75))}hx-prose li:last-child{margin-bottom:0}hx-prose li>p{margin-bottom:var(--hx-space-2, .5rem)}hx-prose li>p:last-child{margin-bottom:0}hx-prose :is(ul ul,ol ul){list-style-type:circle;margin-top:var(--hx-space-2, .5rem);margin-bottom:var(--hx-space-2, .5rem)}hx-prose :is(ul ul ul,ol ul ul,ul ol ul,ol ol ul){list-style-type:square}hx-prose :is(ol ol,ul ol){list-style-type:lower-alpha;margin-top:var(--hx-space-2, .5rem);margin-bottom:var(--hx-space-2, .5rem)}hx-prose :is(ol ol ol,ul ol ol,ol ul ol,ul ul ol){list-style-type:lower-roman}hx-prose :is(ul,ol) ::marker{color:var(--hx-color-text-muted, var(--hx-color-neutral-500, #66787B))}hx-prose dl{margin-top:0;margin-bottom:var(--hx-space-4, 1rem)}hx-prose dt{font-weight:var(--hx-font-weight-semibold, 600);color:var(--hx-prose-heading-color, var(--hx-color-neutral-900, #0D1825));margin-bottom:var(--hx-space-1, .25rem)}hx-prose dt+dt{margin-top:var(--hx-space-4, 1rem)}hx-prose dd{margin-left:var(--hx-space-6, 1.5rem);margin-bottom:var(--hx-space-4, 1rem);color:var(--hx-prose-color, var(--hx-color-neutral-700, #313E4B))}hx-prose dd:last-child{margin-bottom:0}hx-prose table{width:100%;border-collapse:collapse;border-spacing:0;margin-top:0;margin-bottom:var(--hx-space-6, 1.5rem);font-size:var(--hx-prose-font-size, var(--hx-font-size-md, 1rem));line-height:var(--hx-line-height-normal, 1.5);color:var(--hx-prose-color, var(--hx-color-neutral-700, #313E4B));overflow-x:auto;display:block}@media(min-width:640px){hx-prose table{display:table}}hx-prose caption{padding-top:var(--hx-space-3, .75rem);padding-bottom:var(--hx-space-3, .75rem);font-size:var(--hx-font-size-sm, .875rem);font-weight:var(--hx-font-weight-medium, 500);color:var(--hx-color-text-muted, var(--hx-color-neutral-500, #66787B));text-align:left;caption-side:top}hx-prose thead{border-bottom:var(--hx-border-width-medium, 2px) solid var(--hx-color-border-default, var(--hx-color-neutral-200, #D6DBD5))}hx-prose tfoot{border-top:var(--hx-border-width-medium, 2px) solid var(--hx-color-border-default, var(--hx-color-neutral-200, #D6DBD5))}hx-prose th{padding:var(--hx-space-3, .75rem) var(--hx-space-4, 1rem);font-weight:var(--hx-font-weight-semibold, 600);color:var(--hx-prose-heading-color, var(--hx-color-neutral-900, #0D1825));text-align:left;background-color:var(--hx-color-surface-raised, var(--hx-color-neutral-50, #F5F8F3))}hx-prose td{padding:var(--hx-space-3, .75rem) var(--hx-space-4, 1rem);border-bottom:var(--hx-border-width-thin, 1px) solid var(--hx-color-border-default, var(--hx-color-neutral-200, #D6DBD5));vertical-align:top}hx-prose tbody tr:nth-child(2n){background-color:var(--hx-color-surface-raised, var(--hx-color-neutral-50, #F5F8F3))}hx-prose tbody tr:hover{background-color:var(--hx-color-primary-50, #EBF8F8)}hx-prose :is(th,td)[align=center]{text-align:center}hx-prose :is(th,td)[align=right]{text-align:right}hx-prose :is(code,pre,kbd,samp){font-family:var( --hx-font-family-mono, \\\"JetBrains Mono\\\", ui-monospace, \\\"Cascadia Code\\\", monospace )}hx-prose code{font-size:var(--hx-font-size-sm, .875em);font-weight:var(--hx-font-weight-normal, 400);background-color:var(--hx-color-surface-sunken, var(--hx-color-neutral-100, #EBEEE9));color:var(--hx-color-error-600, #C92A2A);padding:var(--hx-prose-code-padding-v, .125em) var(--hx-space-1, .25rem);border-radius:var(--hx-border-radius-sm, .25rem);word-break:break-word}hx-prose pre{margin-top:0;margin-bottom:var(--hx-space-6, 1.5rem);padding:var(--hx-space-4, 1rem) var(--hx-space-5, 1.25rem);overflow-x:auto;font-size:var(--hx-font-size-sm, .875rem);line-height:var(--hx-line-height-relaxed, 1.75);color:var(--hx-color-neutral-800, #202B39);background-color:var(--hx-color-surface-sunken, var(--hx-color-neutral-100, #EBEEE9));border:var(--hx-border-width-thin, 1px) solid var(--hx-color-border-default, var(--hx-color-neutral-200, #D6DBD5));border-radius:var(--hx-border-radius-md, .375rem);-webkit-overflow-scrolling:touch;tab-size:2}hx-prose pre code{background-color:transparent;color:inherit;padding:0;border-radius:0;font-size:inherit;font-weight:inherit;word-break:normal}hx-prose samp{font-size:var(--hx-font-size-sm, .875em)}hx-prose kbd{padding:var(--hx-prose-code-padding-v, .125em) var(--hx-space-2, .5rem);background-color:var(--hx-color-neutral-800, #202B39);color:var(--hx-color-neutral-0, #FFFFFF);border-radius:var(--hx-border-radius-sm, .25rem);box-shadow:var(--hx-shadow-inset-sm, inset 0 -1px 0 rgba(0, 0, 0, .25))}hx-prose var{font-style:italic;color:var(--hx-color-secondary-600, #0F6B7E)}hx-prose :is(img,figure>a img){border-radius:var(--hx-border-radius-sm, .25rem)}hx-prose img{max-width:100%;height:auto;display:block}hx-prose figure{margin:0;margin-bottom:var(--hx-space-6, 1.5rem)}hx-prose figure img{margin-bottom:0}hx-prose figure>a{display:block}hx-prose figcaption{margin-top:var(--hx-space-2, .5rem);font-size:var(--hx-font-size-sm, .875rem);line-height:var(--hx-line-height-normal, 1.5);color:var(--hx-color-text-muted, var(--hx-color-neutral-500, #66787B));font-style:italic}hx-prose :is(video,iframe){max-width:100%;display:block;margin-bottom:var(--hx-space-6, 1.5rem);border-radius:var(--hx-border-radius-sm, .25rem)}hx-prose video{height:auto}hx-prose iframe{border:0}hx-prose :is(.embed-responsive,.video-embed,.media-oembed){position:relative;width:100%;padding-bottom:56.25%;height:0;overflow:hidden;margin-bottom:var(--hx-space-6, 1.5rem);border-radius:var(--hx-border-radius-sm, .25rem)}hx-prose :is(.embed-responsive,.video-embed,.media-oembed) :is(iframe,video){position:absolute;top:0;left:0;width:100%;height:100%;margin-bottom:0;border-radius:0}hx-prose audio{width:100%;margin-bottom:var(--hx-space-6, 1.5rem)}hx-prose :is(object,embed){max-width:100%}hx-prose .field{margin-bottom:var(--hx-space-4, 1rem)}hx-prose .field:last-child{margin-bottom:0}hx-prose .field__label{font-weight:var(--hx-font-weight-semibold, 600);font-size:var(--hx-font-size-sm, .875rem);color:var(--hx-color-text-secondary, var(--hx-color-neutral-600, #4A5362));margin-bottom:var(--hx-space-1, .25rem);text-transform:uppercase;letter-spacing:var(--hx-letter-spacing-wide, .025em)}hx-prose .field__item{margin-bottom:var(--hx-space-2, .5rem)}hx-prose .field__item:last-child{margin-bottom:0}hx-prose .field__items{list-style:none;padding-left:0;margin:0}hx-prose .text-formatted>*:last-child{margin-bottom:0}hx-prose :is(.media-embed,.embedded-entity,.media--type-image,.media--type-remote-video){margin-top:var(--hx-space-4, 1rem);margin-bottom:var(--hx-space-6, 1.5rem)}hx-prose :is(.media-embed,.embedded-entity) img{max-width:100%;height:auto;display:block}hx-prose .align-left{float:left;margin-right:var(--hx-space-6, 1.5rem);margin-bottom:var(--hx-space-4, 1rem);max-width:50%}hx-prose .align-right{float:right;margin-left:var(--hx-space-6, 1.5rem);margin-bottom:var(--hx-space-4, 1rem);max-width:50%}hx-prose .align-center{display:block;margin-left:auto;margin-right:auto;margin-bottom:var(--hx-space-6, 1.5rem);text-align:center}hx-prose :is(.align-left,.align-right) img{display:block}hx-prose :is(.align-left,.align-right)+*{clear:both}hx-prose .caption{margin-bottom:var(--hx-space-6, 1.5rem)}hx-prose .caption :is(figcaption,.caption-text){font-size:var(--hx-font-size-sm, .875rem);color:var(--hx-color-text-muted, var(--hx-color-neutral-500, #66787B));font-style:italic;margin-top:var(--hx-space-2, .5rem)}hx-prose .table-responsive{overflow-x:auto;-webkit-overflow-scrolling:touch;margin-bottom:var(--hx-space-6, 1.5rem)}hx-prose .table-responsive table{margin-bottom:0}hx-prose :is(.messages,.callout){padding:var(--hx-space-4, 1rem) var(--hx-space-5, 1.25rem);margin-bottom:var(--hx-space-4, 1rem);border:var(--hx-border-width-thin, 1px) solid var(--hx-color-border-default, var(--hx-color-neutral-200, #D6DBD5));border-radius:var(--hx-border-radius-md, .375rem);border-left-width:var(--hx-border-width-thick, 3px)}hx-prose .messages--status{border-left-color:var(--hx-color-success-500, #3B9E58);background-color:var(--hx-color-success-50, #EAFAEC)}hx-prose .messages--warning{border-left-color:var(--hx-color-warning-500, #C2711C);background-color:var(--hx-color-warning-50, #FFF3EA)}hx-prose .messages--error{border-left-color:var(--hx-color-error-500, #E5493E);background-color:var(--hx-color-error-50, #FFF2F0)}hx-prose .page-break{border:0;border-top:var(--hx-border-width-thin, 1px) dashed var(--hx-color-border-default, var(--hx-color-neutral-200, #D6DBD5));margin-top:var(--hx-space-8, 2rem);margin-bottom:var(--hx-space-8, 2rem)}hx-prose .clearfix:after{content:\\\"\\\";display:table;clear:both}\\n\\n@media (forced-colors: active) {\\n /* Links: use system LinkText color */\\n hx-prose a { color: LinkText; }\\n hx-prose a:hover,\\n hx-prose a:visited,\\n hx-prose a:active { color: LinkText; }\\n hx-prose a:focus-visible { outline: 2px solid Highlight; outline-offset: 2px; }\\n\\n /* Blockquote: replace background with visible border */\\n hx-prose blockquote { background-color: Canvas; border-left-color: CanvasText; }\\n\\n /* Mark: background suppressed — add outline to preserve semantic highlight */\\n hx-prose mark { background-color: Highlight; color: HighlightText; forced-color-adjust: none; }\\n\\n /* kbd: ensure keyboard shortcut rendering in forced-colors */\\n hx-prose kbd { background-color: ButtonFace; color: ButtonText; box-shadow: none; border: 1px solid ButtonText; forced-color-adjust: none; }\\n\\n /* Table: remove background-color zebra striping (invisible in HCM), rely on borders */\\n hx-prose th { background-color: Canvas; border: 1px solid CanvasText; }\\n hx-prose tbody tr:nth-child(2n) { background-color: Canvas; }\\n hx-prose tbody tr:hover { background-color: Highlight; color: HighlightText; forced-color-adjust: none; }\\n\\n /* Status messages: border color communicates state, ensure it uses system colors */\\n hx-prose .messages--status { background-color: Canvas; border-left-color: CanvasText; }\\n hx-prose .messages--warning { background-color: Canvas; border-left-color: CanvasText; }\\n hx-prose .messages--error { background-color: Canvas; border-left-color: LinkText; }\\n\\n /* Code blocks */\\n hx-prose code { background-color: Canvas; color: CanvasText; border: 1px solid CanvasText; }\\n hx-prose pre { background-color: Canvas; border-color: CanvasText; }\\n}\\n\"","import proseScopedCss from '../../styles/prose/prose.scoped.css?raw';\n\n/**\n * Scoped CSS for hx-prose (applied to light DOM via CSSStyleSheet adoption).\n *\n * @media (forced-colors: active) rules are authored directly in\n * `../../styles/prose/prose.scoped.css` so they remain co-located with the\n * selectors they override. See the bottom of that file for the complete\n * forced-colors block.\n */\nexport const helixProseScopedCss = proseScopedCss;\n","import { html, type PropertyValues } from 'lit';\nimport { customElement, property } from 'lit/decorators.js';\nimport { HelixElement } from '../../base/index.js';\nimport { AdoptedStylesheetsController } from '../../controllers/adopted-stylesheets.js';\nimport { devWarn } from '../../utils/dev-warn.js';\nimport { helixProseScopedCss } from './hx-prose.styles.js';\n\n/**\n * A Light DOM prose container that applies typographic styles to rich text\n * content such as CKEditor output, Markdown-rendered HTML, or any structured\n * body copy.\n *\n * Renders in the Light DOM (no Shadow DOM) so that global and scoped styles\n * can target child elements directly. Uses the AdoptedStylesheetsController\n * to inject scoped prose CSS into the document without duplication.\n *\n * @summary Light DOM typography wrapper for rich text and CMS content.\n *\n * @tag hx-prose\n *\n * @slot - Default slot for rich text content (headings, paragraphs, lists, tables, etc.).\n *\n * @cssprop [--hx-prose-max-width=720px] - Maximum content width.\n * @cssprop [--hx-prose-font-size=var(--hx-font-size-base)] - Base font size.\n * @cssprop [--hx-prose-line-height=var(--hx-line-height-relaxed)] - Base line height.\n * @cssprop [--hx-prose-color=var(--hx-color-text)] - Body text color.\n * @cssprop [--hx-prose-heading-color=var(--hx-color-text-strong)] - Heading color.\n * @cssprop [--hx-prose-link-color=var(--hx-color-primary)] - Link color.\n * @cssprop [--hx-font-size-sm] - Font size.\n * @cssprop [--hx-font-size-lg] - Font size.\n */\n@customElement('hx-prose')\nexport class HelixProse extends HelixElement {\n // ─── Light DOM ───\n\n override createRenderRoot(): this {\n return this;\n }\n\n // ─── Adopted Stylesheets ───\n\n /** @internal */\n private adoptedStyles = new AdoptedStylesheetsController(this, helixProseScopedCss, document);\n\n // ─── Properties ───\n\n /**\n * Typography scale for the prose content.\n * @attr hx-size\n */\n @property({ type: String, reflect: true, attribute: 'hx-size' })\n size: 'sm' | 'base' | 'lg' = 'base';\n\n /**\n * Maximum content width. When set, overrides the --hx-prose-max-width token.\n * Accepts any valid CSS width value (e.g., '640px', '80ch', '100%').\n * @attr max-width\n */\n @property({ type: String, reflect: true, attribute: 'max-width' })\n maxWidth = '';\n\n // ─── Lifecycle ───\n\n override connectedCallback(): void {\n super.connectedCallback();\n // Backward compat: accept legacy `size` attribute. When present and `hx-size`\n // is not set, map the value and emit a deprecation warning.\n const legacySize = this.getAttribute('size');\n if (legacySize !== null && !this.hasAttribute('hx-size')) {\n devWarn('hx-prose', 'The \"size\" attribute is deprecated. Use \"hx-size\" instead.');\n this.size = legacySize as 'sm' | 'base' | 'lg';\n }\n this.style.display = 'block';\n this._applyMaxWidth();\n this._applySize();\n }\n\n override updated(changedProperties: PropertyValues<this>): void {\n if (changedProperties.has('maxWidth')) {\n this._applyMaxWidth();\n }\n if (changedProperties.has('size')) {\n this._applySize();\n }\n }\n\n // ─── Private ───\n\n /** @internal */\n private _applyMaxWidth(): void {\n if (this.maxWidth) {\n this.style.setProperty('--hx-prose-max-width', this.maxWidth);\n } else {\n this.style.removeProperty('--hx-prose-max-width');\n }\n }\n\n /** @internal */\n private _applySize(): void {\n const sizeMap: Record<string, string> = {\n sm: 'var(--hx-font-size-sm, 0.875rem)',\n base: '',\n lg: 'var(--hx-font-size-lg, 1.125rem)',\n };\n\n const fontSize = sizeMap[this.size];\n if (fontSize) {\n this.style.setProperty('--hx-prose-font-size', fontSize);\n } else {\n this.style.removeProperty('--hx-prose-font-size');\n }\n }\n\n // ─── Render ───\n\n override render() {\n return html`<slot></slot>`;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'hx-prose': HelixProse;\n }\n}\n"],"names":["proseScopedCss","helixProseScopedCss","HelixProse","HelixElement","AdoptedStylesheetsController","legacySize","changedProperties","fontSize","html","__decorateClass","property","customElement"],"mappings":";;;;AAAA,MAAAA,IAAe;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GCUFC,IAAsBD;;;;;;ACsB5B,IAAME,IAAN,cAAyBC,EAAa;AAAA,EAAtC,cAAA;AAAA,UAAA,GAAA,SAAA,GAUL,KAAQ,gBAAgB,IAAIC,EAA6B,MAAMH,GAAqB,QAAQ,GAS5F,KAAA,OAA6B,QAQ7B,KAAA,WAAW;AAAA,EAAA;AAAA;AAAA,EAxBF,mBAAyB;AAChC,WAAO;AAAA,EACT;AAAA;AAAA,EA0BS,oBAA0B;AACjC,UAAM,kBAAA;AAGN,UAAMI,IAAa,KAAK,aAAa,MAAM;AAC3C,IAAIA,MAAe,QAAQ,CAAC,KAAK,aAAa,SAAS,MAErD,KAAK,OAAOA,IAEd,KAAK,MAAM,UAAU,SACrB,KAAK,eAAA,GACL,KAAK,WAAA;AAAA,EACP;AAAA,EAES,QAAQC,GAA+C;AAC9D,IAAIA,EAAkB,IAAI,UAAU,KAClC,KAAK,eAAA,GAEHA,EAAkB,IAAI,MAAM,KAC9B,KAAK,WAAA;AAAA,EAET;AAAA;AAAA;AAAA,EAKQ,iBAAuB;AAC7B,IAAI,KAAK,WACP,KAAK,MAAM,YAAY,wBAAwB,KAAK,QAAQ,IAE5D,KAAK,MAAM,eAAe,sBAAsB;AAAA,EAEpD;AAAA;AAAA,EAGQ,aAAmB;AAOzB,UAAMC,IANkC;AAAA,MACtC,IAAI;AAAA,MACJ,MAAM;AAAA,MACN,IAAI;AAAA,IAAA,EAGmB,KAAK,IAAI;AAClC,IAAIA,IACF,KAAK,MAAM,YAAY,wBAAwBA,CAAQ,IAEvD,KAAK,MAAM,eAAe,sBAAsB;AAAA,EAEpD;AAAA;AAAA,EAIS,SAAS;AAChB,WAAOC;AAAA,EACT;AACF;AAnEEC,EAAA;AAAA,EADCC,EAAS,EAAE,MAAM,QAAQ,SAAS,IAAM,WAAW,WAAW;AAAA,GAlBpDR,EAmBX,WAAA,QAAA,CAAA;AAQAO,EAAA;AAAA,EADCC,EAAS,EAAE,MAAM,QAAQ,SAAS,IAAM,WAAW,aAAa;AAAA,GA1BtDR,EA2BX,WAAA,YAAA,CAAA;AA3BWA,IAANO,EAAA;AAAA,EADNE,EAAc,UAAU;AAAA,GACZT,CAAA;"}
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import { css as g, nothing as h, html as p } from "lit";
|
|
2
|
-
import { property as d, state as
|
|
2
|
+
import { property as d, state as S, customElement as m } from "lit/decorators.js";
|
|
3
3
|
import { classMap as y } from "lit/directives/class-map.js";
|
|
4
|
-
import { F as
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
4
|
+
import { F as C } from "./FormMixin-B8PXk5RQ.js";
|
|
5
|
+
import { b as k } from "./forced-colors-CTEDFRGa.js";
|
|
6
|
+
import { H as w } from "./helix-element-BNEYeiys.js";
|
|
7
|
+
import { c as R } from "./id-counter-DuX8vsui.js";
|
|
7
8
|
const E = g`
|
|
8
9
|
:host {
|
|
9
10
|
display: block;
|
|
@@ -38,14 +39,14 @@ const E = g`
|
|
|
38
39
|
gap: var(--hx-space-1, 0.25rem);
|
|
39
40
|
font-size: var(--hx-font-size-sm, 0.875rem);
|
|
40
41
|
font-weight: var(--hx-font-weight-medium, 500);
|
|
41
|
-
color: var(--hx-radio-group-label-color, var(--hx-color-
|
|
42
|
+
color: var(--hx-radio-group-label-color, var(--hx-color-text-strong, #202b39));
|
|
42
43
|
line-height: var(--hx-line-height-normal, 1.5);
|
|
43
44
|
padding: 0;
|
|
44
45
|
margin-bottom: var(--hx-space-1, 0.25rem);
|
|
45
46
|
}
|
|
46
47
|
|
|
47
48
|
.fieldset__required-marker {
|
|
48
|
-
color: var(--hx-radio-group-error-color, var(--hx-color-error-text, #
|
|
49
|
+
color: var(--hx-radio-group-error-color, var(--hx-color-error-text, #c92a2a));
|
|
49
50
|
font-weight: var(--hx-font-weight-bold, 700);
|
|
50
51
|
}
|
|
51
52
|
|
|
@@ -65,20 +66,20 @@ const E = g`
|
|
|
65
66
|
/* ─── Error State ─── */
|
|
66
67
|
|
|
67
68
|
.fieldset--error .fieldset__legend {
|
|
68
|
-
color: var(--hx-radio-group-error-color, var(--hx-color-error-text, #
|
|
69
|
+
color: var(--hx-radio-group-error-color, var(--hx-color-error-text, #c92a2a));
|
|
69
70
|
}
|
|
70
71
|
|
|
71
72
|
/* ─── Help Text & Error Messages ─── */
|
|
72
73
|
|
|
73
74
|
.fieldset__help-text {
|
|
74
75
|
font-size: var(--hx-font-size-xs, 0.75rem);
|
|
75
|
-
color: var(--hx-radio-group-help-text-color, var(--hx-color-
|
|
76
|
+
color: var(--hx-radio-group-help-text-color, var(--hx-color-text-muted, #66787b));
|
|
76
77
|
line-height: var(--hx-line-height-normal, 1.5);
|
|
77
78
|
}
|
|
78
79
|
|
|
79
80
|
.fieldset__error {
|
|
80
81
|
font-size: var(--hx-font-size-xs, 0.75rem);
|
|
81
|
-
color: var(--hx-radio-group-error-color, var(--hx-color-error-text, #
|
|
82
|
+
color: var(--hx-radio-group-error-color, var(--hx-color-error-text, #c92a2a));
|
|
82
83
|
line-height: var(--hx-line-height-normal, 1.5);
|
|
83
84
|
}
|
|
84
85
|
|
|
@@ -114,15 +115,15 @@ const E = g`
|
|
|
114
115
|
}
|
|
115
116
|
}
|
|
116
117
|
`;
|
|
117
|
-
var
|
|
118
|
-
for (var o = r > 1 ? void 0 : r ?
|
|
118
|
+
var I = Object.defineProperty, $ = Object.getOwnPropertyDescriptor, n = (e, t, i, r) => {
|
|
119
|
+
for (var o = r > 1 ? void 0 : r ? $(t, i) : t, a = e.length - 1, s; a >= 0; a--)
|
|
119
120
|
(s = e[a]) && (o = (r ? s(t, i, o) : s(o)) || o);
|
|
120
|
-
return r && o &&
|
|
121
|
+
return r && o && I(t, i, o), o;
|
|
121
122
|
};
|
|
122
|
-
const
|
|
123
|
-
let l = class extends
|
|
123
|
+
const T = R("hx-radio-group");
|
|
124
|
+
let l = class extends C(w) {
|
|
124
125
|
constructor() {
|
|
125
|
-
super(...arguments), this.value = "", this.name = "", this.label = "", this.required = !1, this.disabled = !1, this.error = "", this.helpText = "", this.orientation = "vertical", this._hasErrorSlot = !1, this._groupId =
|
|
126
|
+
super(...arguments), this.value = "", this.name = "", this.label = "", this.required = !1, this.disabled = !1, this.error = "", this.helpText = "", this.orientation = "vertical", this._hasErrorSlot = !1, this._groupId = T(), this._helpTextId = `${this._groupId}-help`, this._errorId = `${this._groupId}-error`, this._cachedRadios = null, this._individualDisabledStates = /* @__PURE__ */ new WeakMap(), this._handleRadioSelect = (e) => {
|
|
126
127
|
if (!(e instanceof CustomEvent)) return;
|
|
127
128
|
e.stopPropagation();
|
|
128
129
|
const t = e.detail.value;
|
|
@@ -134,7 +135,7 @@ let l = class extends S(k) {
|
|
|
134
135
|
})
|
|
135
136
|
));
|
|
136
137
|
}, this._handleKeydown = (e) => {
|
|
137
|
-
var
|
|
138
|
+
var x, b, _, v;
|
|
138
139
|
const t = this._getEnabledRadios();
|
|
139
140
|
if (t.length === 0 || ![
|
|
140
141
|
"ArrowUp",
|
|
@@ -147,7 +148,7 @@ let l = class extends S(k) {
|
|
|
147
148
|
].includes(e.key))
|
|
148
149
|
return;
|
|
149
150
|
if (e.preventDefault(), e.key === " ") {
|
|
150
|
-
const u = (b = (
|
|
151
|
+
const u = (b = (x = e.target) == null ? void 0 : x.closest) == null ? void 0 : b.call(x, "hx-radio");
|
|
151
152
|
u && !u.disabled && u.dispatchEvent(
|
|
152
153
|
new CustomEvent("hx-radio-select", {
|
|
153
154
|
bubbles: !0,
|
|
@@ -157,7 +158,7 @@ let l = class extends S(k) {
|
|
|
157
158
|
);
|
|
158
159
|
return;
|
|
159
160
|
}
|
|
160
|
-
const r = (v = (
|
|
161
|
+
const r = (v = (_ = e.target) == null ? void 0 : _.closest) == null ? void 0 : v.call(_, "hx-radio"), o = r ? t.indexOf(r) : t.findIndex((u) => u.checked);
|
|
161
162
|
let a;
|
|
162
163
|
e.key === "Home" ? a = 0 : e.key === "End" ? a = t.length - 1 : e.key === "ArrowDown" || e.key === "ArrowRight" ? a = o === -1 ? 0 : (o + 1) % t.length : a = o <= 0 ? t.length - 1 : o - 1;
|
|
163
164
|
const s = t[a];
|
|
@@ -328,7 +329,7 @@ let l = class extends S(k) {
|
|
|
328
329
|
`;
|
|
329
330
|
}
|
|
330
331
|
};
|
|
331
|
-
l.styles = [E];
|
|
332
|
+
l.styles = [E, k];
|
|
332
333
|
l.formAssociated = !0;
|
|
333
334
|
n([
|
|
334
335
|
d({ type: String, reflect: !0 })
|
|
@@ -355,12 +356,12 @@ n([
|
|
|
355
356
|
d({ type: String, reflect: !0 })
|
|
356
357
|
], l.prototype, "orientation", 2);
|
|
357
358
|
n([
|
|
358
|
-
|
|
359
|
+
S()
|
|
359
360
|
], l.prototype, "_hasErrorSlot", 2);
|
|
360
361
|
l = n([
|
|
361
362
|
m("hx-radio-group")
|
|
362
363
|
], l);
|
|
363
|
-
const
|
|
364
|
+
const H = g`
|
|
364
365
|
:host {
|
|
365
366
|
display: block;
|
|
366
367
|
}
|
|
@@ -412,9 +413,9 @@ const T = g`
|
|
|
412
413
|
width: var(--hx-radio-size, var(--hx-size-5, 1.25rem));
|
|
413
414
|
height: var(--hx-radio-size, var(--hx-size-5, 1.25rem));
|
|
414
415
|
border: var(--hx-border-width-medium, 2px) solid
|
|
415
|
-
var(--hx-radio-border-color, var(--hx-color-
|
|
416
|
+
var(--hx-radio-border-color, var(--hx-color-border-strong, #66787b));
|
|
416
417
|
border-radius: var(--hx-border-radius-full, 9999px);
|
|
417
|
-
background-color: var(--hx-color-
|
|
418
|
+
background-color: var(--hx-radio-bg, var(--hx-color-surface-default, #ffffff));
|
|
418
419
|
transition:
|
|
419
420
|
border-color var(--hx-transition-fast, 150ms ease),
|
|
420
421
|
background-color var(--hx-transition-fast, 150ms ease),
|
|
@@ -428,7 +429,7 @@ const T = g`
|
|
|
428
429
|
width: calc(var(--hx-radio-size, var(--hx-size-5, 1.25rem)) * 0.4);
|
|
429
430
|
height: calc(var(--hx-radio-size, var(--hx-size-5, 1.25rem)) * 0.4);
|
|
430
431
|
border-radius: var(--hx-border-radius-full, 9999px);
|
|
431
|
-
background-color: var(--hx-radio-dot-color, var(--hx-color-
|
|
432
|
+
background-color: var(--hx-radio-dot-color, var(--hx-color-text-on-primary, #ffffff));
|
|
432
433
|
transform: scale(0);
|
|
433
434
|
transition: transform var(--hx-transition-fast, 150ms ease);
|
|
434
435
|
}
|
|
@@ -436,8 +437,8 @@ const T = g`
|
|
|
436
437
|
/* ─── Checked State ─── */
|
|
437
438
|
|
|
438
439
|
.radio--checked .radio__control {
|
|
439
|
-
border-color: var(--hx-radio-checked-border-color, var(--hx-color-primary-500, #
|
|
440
|
-
background-color: var(--hx-radio-checked-bg, var(--hx-color-primary-500, #
|
|
440
|
+
border-color: var(--hx-radio-checked-border-color, var(--hx-color-primary-500, #429797));
|
|
441
|
+
background-color: var(--hx-radio-checked-bg, var(--hx-color-primary-500, #429797));
|
|
441
442
|
}
|
|
442
443
|
|
|
443
444
|
.radio--checked .radio__dot {
|
|
@@ -448,24 +449,21 @@ const T = g`
|
|
|
448
449
|
|
|
449
450
|
:host(:focus-visible) .radio__control {
|
|
450
451
|
outline: var(--hx-focus-ring-width, 2px) solid
|
|
451
|
-
var(
|
|
452
|
-
--hx-radio-focus-ring-color,
|
|
453
|
-
var(--hx-focus-ring-color, var(--hx-color-primary-400, #60a5fa))
|
|
454
|
-
);
|
|
452
|
+
var(--hx-radio-focus-ring-color, var(--hx-focus-ring-color, #0f7078));
|
|
455
453
|
outline-offset: var(--hx-focus-ring-offset, 2px);
|
|
456
454
|
}
|
|
457
455
|
|
|
458
456
|
/* ─── Hover State ─── */
|
|
459
457
|
|
|
460
458
|
.radio:not(.radio--disabled):not(.radio--checked):hover .radio__control {
|
|
461
|
-
border-color: var(--hx-color-
|
|
459
|
+
border-color: var(--hx-radio-hover-border-color, var(--hx-color-border-strong, #66787b));
|
|
462
460
|
}
|
|
463
461
|
|
|
464
462
|
/* ─── Label ─── */
|
|
465
463
|
|
|
466
464
|
.radio__label {
|
|
467
465
|
font-size: var(--hx-font-size-md, 1rem);
|
|
468
|
-
color: var(--hx-radio-label-color, var(--hx-color-
|
|
466
|
+
color: var(--hx-radio-label-color, var(--hx-color-text-strong, #202b39));
|
|
469
467
|
line-height: var(--hx-line-height-normal, 1.5);
|
|
470
468
|
user-select: none;
|
|
471
469
|
-webkit-user-select: none;
|
|
@@ -526,15 +524,15 @@ const T = g`
|
|
|
526
524
|
}
|
|
527
525
|
}
|
|
528
526
|
`;
|
|
529
|
-
var
|
|
530
|
-
for (var o = r > 1 ? void 0 : r ?
|
|
527
|
+
var z = Object.defineProperty, A = Object.getOwnPropertyDescriptor, f = (e, t, i, r) => {
|
|
528
|
+
for (var o = r > 1 ? void 0 : r ? A(t, i) : t, a = e.length - 1, s; a >= 0; a--)
|
|
531
529
|
(s = e[a]) && (o = (r ? s(t, i, o) : s(o)) || o);
|
|
532
|
-
return r && o &&
|
|
530
|
+
return r && o && z(t, i, o), o;
|
|
533
531
|
};
|
|
534
|
-
const
|
|
535
|
-
let c = class extends
|
|
532
|
+
const D = R("hx-radio");
|
|
533
|
+
let c = class extends w {
|
|
536
534
|
constructor() {
|
|
537
|
-
super(...arguments), this.value = "", this.label = "", this.disabled = !1, this.checked = !1, this._inputId =
|
|
535
|
+
super(...arguments), this.value = "", this.label = "", this.disabled = !1, this.checked = !1, this._inputId = D();
|
|
538
536
|
}
|
|
539
537
|
// ─── Lifecycle ───
|
|
540
538
|
connectedCallback() {
|
|
@@ -600,7 +598,7 @@ let c = class extends k {
|
|
|
600
598
|
`;
|
|
601
599
|
}
|
|
602
600
|
};
|
|
603
|
-
c.styles = [
|
|
601
|
+
c.styles = [H, k];
|
|
604
602
|
f([
|
|
605
603
|
d({ type: String })
|
|
606
604
|
], c.prototype, "value", 2);
|
|
@@ -620,4 +618,4 @@ export {
|
|
|
620
618
|
c as H,
|
|
621
619
|
l as a
|
|
622
620
|
};
|
|
623
|
-
//# sourceMappingURL=hx-radio-
|
|
621
|
+
//# sourceMappingURL=hx-radio-CJvNU2yP.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hx-radio-CJvNU2yP.js","sources":["../../src/components/hx-radio-group/hx-radio-group.styles.ts","../../src/components/hx-radio-group/hx-radio-group.ts","../../src/components/hx-radio-group/hx-radio.styles.ts","../../src/components/hx-radio-group/hx-radio.ts"],"sourcesContent":["import { css } from 'lit';\n\nexport const helixRadioGroupStyles = css`\n :host {\n display: block;\n }\n\n :host([disabled]) {\n opacity: var(--hx-opacity-disabled, 0.5);\n pointer-events: none;\n }\n\n * {\n box-sizing: border-box;\n }\n\n /* ─── Fieldset ─── */\n\n .fieldset {\n border: none;\n margin: 0;\n padding: 0;\n display: flex;\n flex-direction: column;\n gap: var(--hx-space-2, 0.5rem);\n font-family: var(--hx-radio-group-font-family, var(--hx-font-family-sans, sans-serif));\n }\n\n /* ─── Legend ─── */\n\n .fieldset__legend {\n display: flex;\n align-items: baseline;\n gap: var(--hx-space-1, 0.25rem);\n font-size: var(--hx-font-size-sm, 0.875rem);\n font-weight: var(--hx-font-weight-medium, 500);\n color: var(--hx-radio-group-label-color, var(--hx-color-text-strong, #202b39));\n line-height: var(--hx-line-height-normal, 1.5);\n padding: 0;\n margin-bottom: var(--hx-space-1, 0.25rem);\n }\n\n .fieldset__required-marker {\n color: var(--hx-radio-group-error-color, var(--hx-color-error-text, #c92a2a));\n font-weight: var(--hx-font-weight-bold, 700);\n }\n\n /* ─── Group Container ─── */\n\n .fieldset__group {\n display: flex;\n flex-direction: column;\n gap: var(--hx-radio-group-gap, var(--hx-space-3, 0.75rem));\n }\n\n :host([orientation='horizontal']) .fieldset__group {\n flex-direction: row;\n flex-wrap: wrap;\n }\n\n /* ─── Error State ─── */\n\n .fieldset--error .fieldset__legend {\n color: var(--hx-radio-group-error-color, var(--hx-color-error-text, #c92a2a));\n }\n\n /* ─── Help Text & Error Messages ─── */\n\n .fieldset__help-text {\n font-size: var(--hx-font-size-xs, 0.75rem);\n color: var(--hx-radio-group-help-text-color, var(--hx-color-text-muted, #66787b));\n line-height: var(--hx-line-height-normal, 1.5);\n }\n\n .fieldset__error {\n font-size: var(--hx-font-size-xs, 0.75rem);\n color: var(--hx-radio-group-error-color, var(--hx-color-error-text, #c92a2a));\n line-height: var(--hx-line-height-normal, 1.5);\n }\n\n /* ─── High Contrast Mode (forced-colors) ─── */\n\n @media (forced-colors: active) {\n .fieldset {\n border: none;\n }\n\n .fieldset__legend {\n color: CanvasText;\n }\n\n .fieldset--error .fieldset__legend {\n color: LinkText;\n }\n\n :host([disabled]) {\n opacity: 1;\n }\n\n :host([disabled]) .fieldset__legend {\n color: GrayText;\n }\n\n .fieldset__help-text {\n color: GrayText;\n }\n\n .fieldset__error {\n color: LinkText;\n }\n }\n`;\n","import { html, nothing, type PropertyValues } from 'lit';\nimport '../../utilities/document-token-adoption.js';\nimport { customElement, property, state } from 'lit/decorators.js';\nimport { classMap } from 'lit/directives/class-map.js';\nimport { devWarn } from '../../utils/dev-warn.js';\nimport { HelixElement, createIdCounter } from '../../base/index.js';\nimport { FormMixin } from '../../mixins/FormMixin.js';\nimport { helixRadioGroupStyles } from './hx-radio-group.styles.js';\nimport { forcedColorsField } from '../../styles/forced-colors.js';\nimport type { HelixRadio } from './hx-radio.js';\n\nconst _nextRadioGroupId = createIdCounter('hx-radio-group');\n\n/** Detail for the hx-change event dispatched by hx-radio-group. */\nexport interface HxRadioGroupChangeDetail {\n value: string;\n checked: boolean;\n}\n\n/**\n * A form-associated radio group that manages a set of `<hx-radio>` children.\n *\n * @summary Form-associated radio group with label, validation, help text, and keyboard navigation.\n *\n * @tag hx-radio-group\n *\n * @slot - `<hx-radio>` elements.\n * @slot error - Custom error content (overrides the error property).\n * @slot help-text - Custom help text content (overrides the helpText property).\n *\n * @fires {CustomEvent<{value: string, checked: boolean}>} hx-change - Dispatched when the selected radio changes.\n * @fires {CustomEvent<{value: string}>} hx-radio-select - Internal event dispatched by `hx-radio` when selected; consumed by the group.\n *\n * @csspart fieldset - The fieldset wrapper.\n * @csspart legend - The legend/label.\n * @csspart group - The container for radio items.\n * @csspart error - The error message.\n * @csspart help-text - The help text.\n *\n * @cssprop [--hx-radio-group-gap=var(--hx-space-3, 0.75rem)] - Gap between radio items.\n * @cssprop [--hx-radio-group-label-color=var(--hx-color-neutral-700, #313E4B)] - Label text color.\n * @cssprop [--hx-radio-group-error-color=var(--hx-color-error-500, #E5493E)] - Error message color.\n * @cssprop [--hx-radio-group-help-text-color=var(--hx-color-neutral-500, #66787B)] - Help text color.\n * @cssprop [--hx-opacity-disabled] - Opacity.\n * @cssprop [--hx-space-2] - Spacing token.\n * @cssprop [--hx-radio-group-font-family=var(--hx-font-family-sans)] - CSS custom property.\n * @cssprop [--hx-font-family-sans] - Font family.\n * @cssprop [--hx-space-1] - Spacing token.\n * @cssprop [--hx-font-size-sm] - Font size.\n * @cssprop [--hx-font-weight-medium] - Font weight.\n * @cssprop [--hx-color-neutral-700] - Color.\n * @cssprop [--hx-line-height-normal] - Line height.\n * @cssprop [--hx-color-error-text] - Color.\n * @cssprop [--hx-font-weight-bold] - Font weight.\n * @cssprop [--hx-space-3] - Spacing token.\n * @cssprop [--hx-font-size-xs] - Font size.\n * @cssprop [--hx-color-neutral-500] - Color.\n */\n@customElement('hx-radio-group')\nexport class HelixRadioGroup extends FormMixin(HelixElement) {\n static override styles = [helixRadioGroupStyles, forcedColorsField];\n\n // ─── Form Association ───\n\n /**\n * Enables ElementInternals form association for this component.\n * @internal\n */\n static override formAssociated = true;\n\n // ─── Properties ───\n\n /**\n * The selected radio's value.\n * @attr value\n */\n @property({ type: String, reflect: true })\n value = '';\n\n /**\n * The name used for form submission.\n * @attr name\n */\n @property({ type: String, reflect: true })\n name = '';\n\n /**\n * The fieldset legend/label text.\n * @attr label\n */\n @property({ type: String })\n label = '';\n\n /**\n * Whether a selection is required for form submission.\n * @attr required\n */\n @property({ type: Boolean, reflect: true })\n required = false;\n\n /**\n * Whether the entire group is disabled.\n * @attr disabled\n */\n @property({ type: Boolean, reflect: true })\n disabled = false;\n\n /**\n * Error message to display. When set, the group enters an error state.\n * @attr error\n */\n @property({ type: String })\n error = '';\n\n /**\n * Help text displayed below the group for guidance.\n * @attr help-text\n */\n @property({ type: String, attribute: 'help-text' })\n helpText = '';\n\n /**\n * Layout orientation of the radio items.\n * @attr orientation\n */\n @property({ type: String, reflect: true })\n orientation: 'vertical' | 'horizontal' = 'vertical';\n\n /**\n * Queries the rendered group container element within the shadow root.\n * @internal\n */\n private get _groupEl(): HTMLElement | null {\n return this.renderRoot?.querySelector('.fieldset__group') ?? null;\n }\n\n /**\n * Tracks whether the error slot has assigned content.\n * @internal\n */\n @state() private _hasErrorSlot = false;\n\n // ─── Internal IDs ───\n\n /**\n * Unique identifier for this radio group instance used in ARIA attributes.\n * @internal\n */\n private _groupId = _nextRadioGroupId();\n /**\n * Unique identifier for the help text element, used in aria-describedby.\n * @internal\n */\n private _helpTextId = `${this._groupId}-help`;\n /**\n * Unique identifier for the error element, used in aria-describedby.\n * @internal\n */\n private _errorId = `${this._groupId}-error`;\n\n // ─── Slot Handlers ───\n\n /**\n * Handles slotchange events on the error slot to detect assigned content.\n * @internal\n */\n private _handleErrorSlotChange(e: Event): void {\n if (!(e.target instanceof HTMLSlotElement)) return;\n this._hasErrorSlot = e.target.assignedNodes({ flatten: true }).length > 0;\n }\n\n // ─── Lifecycle ───\n\n override connectedCallback(): void {\n super.connectedCallback();\n this.addEventListener('hx-radio-select', this._handleRadioSelect);\n this.addEventListener('keydown', this._handleKeydown);\n }\n\n override disconnectedCallback(): void {\n super.disconnectedCallback();\n this.removeEventListener('hx-radio-select', this._handleRadioSelect);\n this.removeEventListener('keydown', this._handleKeydown);\n }\n\n override updated(changedProperties: PropertyValues<this>): void {\n super.updated(changedProperties);\n if (changedProperties.has('value')) {\n this._internals.setFormValue(this.value || null);\n this._syncRadios();\n }\n if (changedProperties.has('disabled')) {\n this._syncRadios();\n }\n // Force screen reader re-announcement when error text changes (a11y-v3-005)\n if (changedProperties.has('error') && this.error) {\n const errorEl = this.shadowRoot?.querySelector('[role=\"alert\"]');\n if (errorEl) {\n const msg = this.error;\n requestAnimationFrame(() => {\n errorEl.textContent = '';\n requestAnimationFrame(() => {\n errorEl.textContent = msg;\n });\n });\n }\n }\n }\n\n override firstUpdated(changedProperties: PropertyValues<this>): void {\n super.firstUpdated(changedProperties);\n this._syncRadios();\n // WCAG 4.1.2: warn when no accessible name is available for the radio group.\n // The fieldset needs either a label prop (rendered as <legend>) or an aria-label\n // attribute on the host element so screen readers can identify the group.\n if (!this.label && !this.getAttribute('aria-label')) {\n devWarn(\n 'hx-radio-group',\n 'No accessible label provided. Set the `label` attribute or add `aria-label` to the host element. An unlabeled radio group violates WCAG 2.1 AA (4.1.2 Name, Role, Value).',\n );\n }\n }\n\n // ─── Radio Management ───\n\n /**\n * Cached list of child hx-radio elements; invalidated on slot change.\n * @internal\n */\n private _cachedRadios: HelixRadio[] | null = null;\n /**\n * Stores each radio's individual disabled state before group-level disabling overrides it.\n * @internal\n */\n private _individualDisabledStates = new WeakMap<HelixRadio, boolean>();\n\n /**\n * Returns all child hx-radio elements, using the cache when available.\n * @internal\n */\n private _getRadios(): HelixRadio[] {\n if (!this._cachedRadios) {\n this._cachedRadios = Array.from(this.querySelectorAll('hx-radio')) as HelixRadio[];\n }\n return this._cachedRadios;\n }\n\n /**\n * Returns only the child hx-radio elements that are not disabled.\n * @internal\n */\n private _getEnabledRadios(): HelixRadio[] {\n return this._getRadios().filter((radio) => !radio.disabled && !this.disabled);\n }\n\n /**\n * Synchronizes checked state, disabled state, and roving tabindex across all child radios.\n * @internal\n */\n private _syncRadios(): void {\n const radios = this._getRadios();\n const enabledRadios = this._getEnabledRadios();\n\n radios.forEach((radio) => {\n const isChecked = radio.value === this.value && this.value !== '';\n radio.checked = isChecked;\n\n if (this.disabled) {\n // Store individual disabled state before overriding with group disabled\n if (!this._individualDisabledStates.has(radio)) {\n this._individualDisabledStates.set(radio, radio.disabled);\n }\n radio.disabled = true;\n } else {\n // Restore individual disabled state when group is re-enabled\n const originalDisabled = this._individualDisabledStates.get(radio);\n if (originalDisabled !== undefined) {\n radio.disabled = originalDisabled;\n this._individualDisabledStates.delete(radio);\n }\n }\n });\n\n // Roving tabindex management\n const checkedRadio = enabledRadios.find((r) => r.checked);\n radios.forEach((radio) => {\n radio.tabIndex = -1;\n });\n\n if (checkedRadio) {\n checkedRadio.tabIndex = 0;\n } else if (enabledRadios.length > 0) {\n const firstRadio = enabledRadios[0];\n if (firstRadio) {\n firstRadio.tabIndex = 0;\n }\n }\n }\n\n // ─── Event Handling ───\n\n /**\n * Handles the internal hx-radio-select event to update the group's selected value.\n * @internal\n */\n private _handleRadioSelect = (e: Event): void => {\n if (!(e instanceof CustomEvent)) return;\n e.stopPropagation();\n\n const newValue = (e.detail as { value: string }).value;\n if (newValue === this.value) {\n return;\n }\n\n this.value = newValue;\n this._handleInteractionInput();\n // Reactive update in updated() will call setFormValue, _syncRadios, _updateValidity\n\n /**\n * Dispatched when the selected radio changes.\n * @event hx-change\n */\n this.dispatchEvent(\n new CustomEvent<{ value: string; checked: boolean }>('hx-change', {\n bubbles: true,\n composed: true,\n detail: { value: this.value, checked: true },\n }),\n );\n };\n\n /**\n * Handles keyboard navigation (arrow keys, Home, End, Space) within the radio group.\n * @internal\n */\n private _handleKeydown = (e: KeyboardEvent): void => {\n const enabledRadios = this._getEnabledRadios();\n if (enabledRadios.length === 0) {\n return;\n }\n\n const isHandledKey = [\n 'ArrowUp',\n 'ArrowDown',\n 'ArrowLeft',\n 'ArrowRight',\n ' ',\n 'Home',\n 'End',\n ].includes(e.key);\n if (!isHandledKey) {\n return;\n }\n\n e.preventDefault();\n\n // Space: select the currently focused radio without moving focus\n if (e.key === ' ') {\n const targetRadio = (e.target as Element)?.closest?.('hx-radio') as HelixRadio | null;\n if (targetRadio && !targetRadio.disabled) {\n targetRadio.dispatchEvent(\n new CustomEvent<{ value: string }>('hx-radio-select', {\n bubbles: true,\n composed: true,\n detail: { value: targetRadio.value },\n }),\n );\n }\n return;\n }\n\n const targetRadio = (e.target as Element)?.closest?.('hx-radio') as HelixRadio | null;\n const currentIndex = targetRadio\n ? enabledRadios.indexOf(targetRadio)\n : enabledRadios.findIndex((radio) => radio.checked);\n\n let nextIndex: number;\n if (e.key === 'Home') {\n nextIndex = 0;\n } else if (e.key === 'End') {\n nextIndex = enabledRadios.length - 1;\n } else if (e.key === 'ArrowDown' || e.key === 'ArrowRight') {\n nextIndex = currentIndex === -1 ? 0 : (currentIndex + 1) % enabledRadios.length;\n } else {\n nextIndex = currentIndex <= 0 ? enabledRadios.length - 1 : currentIndex - 1;\n }\n\n const nextRadio = enabledRadios[nextIndex];\n if (nextRadio) {\n nextRadio.focus();\n nextRadio.dispatchEvent(\n new CustomEvent<{ value: string }>('hx-radio-select', {\n bubbles: true,\n composed: true,\n detail: { value: nextRadio.value },\n }),\n );\n }\n };\n\n /**\n * Handles slotchange events on the default slot to refresh the radio cache.\n * @internal\n */\n private _handleSlotChange(): void {\n this._cachedRadios = null;\n this._syncRadios();\n }\n\n // ─── Form Integration ───\n\n /**\n * Updates the ElementInternals validity state based on the required constraint and current value.\n * @internal\n */\n override _updateValidity(): void {\n if (this.required && !this.value) {\n this._internals.setValidity(\n { valueMissing: true },\n this.error || 'Please select an option.',\n this._groupEl ?? undefined,\n );\n } else {\n this._internals.setValidity({});\n }\n }\n\n /** @internal */\n protected override _onFormReset(): void {\n this.value = '';\n this._internals.setFormValue(null);\n this._syncRadios();\n this._resetInteractionState();\n }\n\n /** @internal */\n protected override _onFormStateRestore(\n state: File | string | FormData | null,\n _mode: 'restore' | 'autocomplete',\n ): void {\n if (typeof state === 'string') {\n this.value = state;\n }\n }\n\n /** @internal */\n protected override _onFormDisabled(disabled: boolean): void {\n this.disabled = disabled;\n }\n\n // ─── Render ───\n\n override render() {\n const hasError = !!this.error;\n const legendId = `${this._groupId}-legend`;\n\n const fieldsetClasses = {\n fieldset: true,\n 'fieldset--error': hasError,\n 'fieldset--disabled': this.disabled,\n 'fieldset--required': this.required,\n };\n\n // WCAG 1.3.1: _errorId is now on the persistent wrapper div around the error slot,\n // so it remains valid whether error content comes from the slot or the property.\n const hasHelp = !!this.helpText;\n const hasErrorContent = hasError || this._hasErrorSlot;\n const describedByIds = [\n hasErrorContent ? this._errorId : null,\n hasHelp ? this._helpTextId : null,\n ]\n .filter(Boolean)\n .join(' ');\n const describedBy = describedByIds || nothing;\n\n return html`\n <fieldset\n part=\"fieldset\"\n class=${classMap(fieldsetClasses)}\n role=\"radiogroup\"\n aria-labelledby=${this.label ? legendId : nothing}\n aria-describedby=${describedBy}\n aria-required=${this.required ? 'true' : nothing}\n >\n ${this.label\n ? html`\n <legend part=\"legend\" class=\"fieldset__legend\" id=${legendId}>\n ${this.label}\n ${this.required\n ? html`<span class=\"fieldset__required-marker\" aria-hidden=\"true\">*</span>`\n : nothing}\n </legend>\n `\n : nothing}\n\n <div part=\"group\" class=\"fieldset__group\" role=\"none\">\n <slot @slotchange=${this._handleSlotChange}></slot>\n </div>\n\n <!-- WCAG 1.3.1: wrap slot in a persistent container so _errorId stays stable\n regardless of whether error content comes from the slot or the property. -->\n <div id=${this._errorId}>\n <slot name=\"error\" @slotchange=${this._handleErrorSlotChange}>\n ${hasError\n ? html`<div part=\"error\" class=\"fieldset__error\" role=\"alert\">${this.error}</div>`\n : nothing}\n </slot>\n </div>\n\n ${this.helpText && !hasError\n ? html`\n <div part=\"help-text\" class=\"fieldset__help-text\" id=${this._helpTextId}>\n <slot name=\"help-text\">${this.helpText}</slot>\n </div>\n `\n : nothing}\n </fieldset>\n `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'hx-radio-group': HelixRadioGroup;\n }\n}\n\n/** Canonical type alias for the hx-radio-group component. */\nexport type HxRadioGroup = HelixRadioGroup;\n","import { css } from 'lit';\n\nexport const helixRadioStyles = css`\n :host {\n display: block;\n }\n\n :host([disabled]) {\n opacity: var(--hx-opacity-disabled, 0.5);\n pointer-events: none;\n }\n\n * {\n box-sizing: border-box;\n }\n\n .radio {\n display: inline-flex;\n align-items: center;\n gap: var(--hx-space-2, 0.5rem);\n /* WCAG 2.5.5 (healthcare mandate): minimum 44px touch target height */\n min-height: var(--hx-touch-target-min, 2.75rem);\n cursor: pointer;\n position: relative;\n font-family: var(--hx-radio-font-family, var(--hx-font-family-sans, sans-serif));\n }\n\n .radio--disabled {\n cursor: not-allowed;\n }\n\n /* ─── Hidden Native Input ─── */\n\n .radio__input {\n position: absolute;\n width: var(--hx-space-px);\n height: var(--hx-space-px);\n padding: 0;\n margin: calc(var(--hx-space-px) * -1);\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n white-space: nowrap;\n border: 0;\n }\n\n /* ─── Visual Radio Circle ─── */\n\n .radio__control {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: var(--hx-radio-size, var(--hx-size-5, 1.25rem));\n height: var(--hx-radio-size, var(--hx-size-5, 1.25rem));\n border: var(--hx-border-width-medium, 2px) solid\n var(--hx-radio-border-color, var(--hx-color-border-strong, #66787b));\n border-radius: var(--hx-border-radius-full, 9999px);\n background-color: var(--hx-radio-bg, var(--hx-color-surface-default, #ffffff));\n transition:\n border-color var(--hx-transition-fast, 150ms ease),\n background-color var(--hx-transition-fast, 150ms ease),\n box-shadow var(--hx-transition-fast, 150ms ease);\n flex-shrink: 0;\n }\n\n /* ─── Inner Dot ─── */\n\n .radio__dot {\n width: calc(var(--hx-radio-size, var(--hx-size-5, 1.25rem)) * 0.4);\n height: calc(var(--hx-radio-size, var(--hx-size-5, 1.25rem)) * 0.4);\n border-radius: var(--hx-border-radius-full, 9999px);\n background-color: var(--hx-radio-dot-color, var(--hx-color-text-on-primary, #ffffff));\n transform: scale(0);\n transition: transform var(--hx-transition-fast, 150ms ease);\n }\n\n /* ─── Checked State ─── */\n\n .radio--checked .radio__control {\n border-color: var(--hx-radio-checked-border-color, var(--hx-color-primary-500, #429797));\n background-color: var(--hx-radio-checked-bg, var(--hx-color-primary-500, #429797));\n }\n\n .radio--checked .radio__dot {\n transform: scale(1);\n }\n\n /* ─── Focus State ─── */\n\n :host(:focus-visible) .radio__control {\n outline: var(--hx-focus-ring-width, 2px) solid\n var(--hx-radio-focus-ring-color, var(--hx-focus-ring-color, #0f7078));\n outline-offset: var(--hx-focus-ring-offset, 2px);\n }\n\n /* ─── Hover State ─── */\n\n .radio:not(.radio--disabled):not(.radio--checked):hover .radio__control {\n border-color: var(--hx-radio-hover-border-color, var(--hx-color-border-strong, #66787b));\n }\n\n /* ─── Label ─── */\n\n .radio__label {\n font-size: var(--hx-font-size-md, 1rem);\n color: var(--hx-radio-label-color, var(--hx-color-text-strong, #202b39));\n line-height: var(--hx-line-height-normal, 1.5);\n user-select: none;\n -webkit-user-select: none;\n }\n\n /* ─── Reduced Motion ─── */\n\n @media (prefers-reduced-motion: reduce) {\n .radio__control,\n .radio__dot {\n transition: none;\n }\n }\n\n /* ─── High Contrast Mode (forced-colors) ─── */\n\n @media (forced-colors: active) {\n .radio__control {\n forced-color-adjust: none;\n background-color: ButtonFace;\n border: 2px solid ButtonText;\n }\n\n :host(:focus-visible) .radio__control {\n outline: 3px solid Highlight;\n outline-offset: 2px;\n }\n\n .radio--checked .radio__control {\n background-color: Highlight;\n border-color: Highlight;\n }\n\n .radio--checked .radio__dot {\n background-color: HighlightText;\n }\n\n :host([disabled]) {\n opacity: 1;\n }\n\n :host([disabled]) .radio__control {\n border-color: GrayText;\n background-color: ButtonFace;\n }\n\n :host([disabled]) .radio--checked .radio__control {\n background-color: GrayText;\n border-color: GrayText;\n }\n\n :host([disabled]) .radio__label {\n color: GrayText;\n }\n\n .radio__label {\n color: CanvasText;\n }\n }\n`;\n","import { html, type PropertyValues } from 'lit';\nimport '../../utilities/document-token-adoption.js';\nimport { customElement, property } from 'lit/decorators.js';\nimport { classMap } from 'lit/directives/class-map.js';\nimport { HelixElement, createIdCounter } from '../../base/index.js';\nimport { helixRadioStyles } from './hx-radio.styles.js';\nimport { forcedColorsField } from '../../styles/forced-colors.js';\n\nconst _nextRadioId = createIdCounter('hx-radio');\n\n/**\n * An individual radio button, designed to be used inside a `<hx-radio-group>`.\n *\n * @summary Presentational radio button managed by its parent radio group.\n *\n * @tag hx-radio\n *\n * @slot - Custom label content (overrides the label property).\n *\n * @csspart radio - The visual radio circle.\n * @csspart label - The label text.\n *\n * @cssprop [--hx-radio-size=var(--hx-size-5, 1.25rem)] - Radio circle size.\n * @cssprop [--hx-radio-border-color=var(--hx-color-neutral-300, #B6BFB9)] - Radio border color.\n * @cssprop [--hx-radio-checked-bg=var(--hx-color-primary-500, #429797)] - Checked background color.\n * @cssprop [--hx-radio-checked-border-color=var(--hx-color-primary-500, #429797)] - Checked border color.\n * @cssprop [--hx-radio-dot-color=var(--hx-color-neutral-0, #ffffff)] - Inner dot color when checked.\n * @cssprop [--hx-radio-focus-ring-color=var(--hx-focus-ring-color, #6AB1B1)] - Focus ring color.\n * @cssprop [--hx-radio-label-color=var(--hx-color-neutral-700, #313E4B)] - Label text color.\n */\n@customElement('hx-radio')\nexport class HelixRadio extends HelixElement {\n static override styles = [helixRadioStyles, forcedColorsField];\n\n // ─── Properties ───\n\n /**\n * The value this radio represents.\n * @attr value\n */\n @property({ type: String })\n value = '';\n\n /**\n * Visible label text for the radio.\n * @attr label\n */\n @property({ type: String })\n label = '';\n\n /**\n * Whether this radio is disabled.\n * @attr disabled\n */\n @property({ type: Boolean, reflect: true })\n disabled = false;\n\n /**\n * Whether this radio is checked. Managed by the parent group.\n * @attr checked\n */\n @property({ type: Boolean, reflect: true })\n checked = false;\n\n // ─── Lifecycle ───\n\n override connectedCallback(): void {\n super.connectedCallback();\n // ARIA role and state are projected to the accessibility tree via\n // ElementInternals rather than imperative setAttribute calls. This keeps\n // the host element's attribute surface clean — consumers cannot accidentally\n // override role/aria-* — and aligns with the standards pattern for\n // custom elements. See https://wicg.github.io/aom/spec/aria-reflection.html.\n this._internals.role = 'radio';\n this._syncAriaState();\n }\n\n override updated(changedProperties: PropertyValues<this>): void {\n super.updated(changedProperties);\n if (\n changedProperties.has('checked') ||\n changedProperties.has('label') ||\n changedProperties.has('disabled')\n ) {\n this._syncAriaState();\n }\n }\n\n /**\n * Mirror reactive ARIA state onto ElementInternals. Setting a value to `null`\n * removes it from the accessibility tree (matching the previous\n * removeAttribute behavior).\n *\n * WCAG 4.1.2: expose the label text as ariaLabel on the host so assistive\n * technology can associate the visible label with the radio role. The label\n * span lives inside Shadow DOM and aria-labelledby cannot cross shadow\n * boundaries, so ariaLabel on the host is the correct pattern here.\n *\n * WCAG 4.1.2: omit ariaDisabled entirely when not disabled. Setting\n * aria-disabled=\"false\" is verbose and unnecessary — omission is preferred.\n *\n * @internal\n */\n private _syncAriaState(): void {\n this._internals.ariaChecked = String(this.checked);\n this._internals.ariaLabel = this.label || null;\n this._internals.ariaDisabled = this.disabled ? 'true' : null;\n }\n\n // ─── Internal IDs ───\n\n /** @internal */\n private _inputId = _nextRadioId();\n\n // ─── Event Handling ───\n\n /** @internal */\n private _handleClick(): void {\n if (this.disabled) {\n return;\n }\n\n /**\n * Internal event dispatched to signal selection to the parent group.\n * Not part of the public API.\n * @internal\n */\n this.dispatchEvent(\n new CustomEvent<{ value: string }>('hx-radio-select', {\n bubbles: true,\n composed: true,\n detail: { value: this.value },\n }),\n );\n }\n\n // ─── Render ───\n\n override render() {\n const classes = {\n radio: true,\n 'radio--checked': this.checked,\n 'radio--disabled': this.disabled,\n };\n\n return html`\n <div class=${classMap(classes)} @click=${this._handleClick}>\n <input\n class=\"radio__input\"\n type=\"radio\"\n id=${this._inputId}\n .checked=${this.checked}\n ?disabled=${this.disabled}\n tabindex=\"-1\"\n aria-hidden=\"true\"\n />\n <span part=\"radio\" class=\"radio__control\" aria-hidden=\"true\">\n <span class=\"radio__dot\"></span>\n </span>\n <span part=\"label\" class=\"radio__label\">\n <slot>${this.label}</slot>\n </span>\n </div>\n `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'hx-radio': HelixRadio;\n }\n}\n\n/** Canonical type alias for the hx-radio component. */\nexport type HxRadio = HelixRadio;\n"],"names":["helixRadioGroupStyles","css","_nextRadioGroupId","createIdCounter","HelixRadioGroup","FormMixin","HelixElement","newValue","enabledRadios","targetRadio","_b","_a","_d","_c","currentIndex","radio","nextIndex","nextRadio","changedProperties","errorEl","msg","radios","isChecked","originalDisabled","checkedRadio","firstRadio","state","_mode","disabled","hasError","legendId","fieldsetClasses","hasHelp","describedBy","nothing","html","classMap","forcedColorsField","__decorateClass","property","customElement","helixRadioStyles","_nextRadioId","HelixRadio","classes"],"mappings":"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"}
|