@helixui/library 0.1.0
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 +31860 -0
- package/dist/components/hx-accordion/hx-accordion-item.d.ts +52 -0
- package/dist/components/hx-accordion/hx-accordion-item.d.ts.map +1 -0
- package/dist/components/hx-accordion/hx-accordion-item.styles.d.ts +2 -0
- package/dist/components/hx-accordion/hx-accordion-item.styles.d.ts.map +1 -0
- package/dist/components/hx-accordion/hx-accordion.d.ts +45 -0
- package/dist/components/hx-accordion/hx-accordion.d.ts.map +1 -0
- package/dist/components/hx-accordion/hx-accordion.styles.d.ts +2 -0
- package/dist/components/hx-accordion/hx-accordion.styles.d.ts.map +1 -0
- package/dist/components/hx-accordion/index.d.ts +3 -0
- package/dist/components/hx-accordion/index.d.ts.map +1 -0
- package/dist/components/hx-accordion/index.js +6 -0
- package/dist/components/hx-accordion/index.js.map +1 -0
- package/dist/components/hx-action-bar/hx-action-bar.d.ts +91 -0
- package/dist/components/hx-action-bar/hx-action-bar.d.ts.map +1 -0
- package/dist/components/hx-action-bar/hx-action-bar.styles.d.ts +2 -0
- package/dist/components/hx-action-bar/hx-action-bar.styles.d.ts.map +1 -0
- package/dist/components/hx-action-bar/index.d.ts +2 -0
- package/dist/components/hx-action-bar/index.d.ts.map +1 -0
- package/dist/components/hx-action-bar/index.js +5 -0
- package/dist/components/hx-action-bar/index.js.map +1 -0
- package/dist/components/hx-alert/hx-alert.d.ts +108 -0
- package/dist/components/hx-alert/hx-alert.d.ts.map +1 -0
- package/dist/components/hx-alert/hx-alert.styles.d.ts +2 -0
- package/dist/components/hx-alert/hx-alert.styles.d.ts.map +1 -0
- package/dist/components/hx-alert/index.d.ts +2 -0
- package/dist/components/hx-alert/index.d.ts.map +1 -0
- package/dist/components/hx-alert/index.js +5 -0
- package/dist/components/hx-alert/index.js.map +1 -0
- package/dist/components/hx-avatar/hx-avatar.d.ts +85 -0
- package/dist/components/hx-avatar/hx-avatar.d.ts.map +1 -0
- package/dist/components/hx-avatar/hx-avatar.styles.d.ts +2 -0
- package/dist/components/hx-avatar/hx-avatar.styles.d.ts.map +1 -0
- package/dist/components/hx-avatar/index.d.ts +2 -0
- package/dist/components/hx-avatar/index.d.ts.map +1 -0
- package/dist/components/hx-avatar/index.js +5 -0
- package/dist/components/hx-avatar/index.js.map +1 -0
- package/dist/components/hx-badge/hx-badge.d.ts +98 -0
- package/dist/components/hx-badge/hx-badge.d.ts.map +1 -0
- package/dist/components/hx-badge/hx-badge.styles.d.ts +2 -0
- package/dist/components/hx-badge/hx-badge.styles.d.ts.map +1 -0
- package/dist/components/hx-badge/index.d.ts +2 -0
- package/dist/components/hx-badge/index.d.ts.map +1 -0
- package/dist/components/hx-badge/index.js +5 -0
- package/dist/components/hx-badge/index.js.map +1 -0
- package/dist/components/hx-breadcrumb/hx-breadcrumb-item.d.ts +66 -0
- package/dist/components/hx-breadcrumb/hx-breadcrumb-item.d.ts.map +1 -0
- package/dist/components/hx-breadcrumb/hx-breadcrumb-item.styles.d.ts +2 -0
- package/dist/components/hx-breadcrumb/hx-breadcrumb-item.styles.d.ts.map +1 -0
- package/dist/components/hx-breadcrumb/hx-breadcrumb.d.ts +130 -0
- package/dist/components/hx-breadcrumb/hx-breadcrumb.d.ts.map +1 -0
- package/dist/components/hx-breadcrumb/hx-breadcrumb.styles.d.ts +2 -0
- package/dist/components/hx-breadcrumb/hx-breadcrumb.styles.d.ts.map +1 -0
- package/dist/components/hx-breadcrumb/index.d.ts +3 -0
- package/dist/components/hx-breadcrumb/index.d.ts.map +1 -0
- package/dist/components/hx-breadcrumb/index.js +6 -0
- package/dist/components/hx-breadcrumb/index.js.map +1 -0
- package/dist/components/hx-button/hx-button.d.ts +97 -0
- package/dist/components/hx-button/hx-button.d.ts.map +1 -0
- package/dist/components/hx-button/hx-button.styles.d.ts +2 -0
- package/dist/components/hx-button/hx-button.styles.d.ts.map +1 -0
- package/dist/components/hx-button/index.d.ts +2 -0
- package/dist/components/hx-button/index.d.ts.map +1 -0
- package/dist/components/hx-button/index.js +5 -0
- package/dist/components/hx-button/index.js.map +1 -0
- package/dist/components/hx-button-group/hx-button-group.d.ts +49 -0
- package/dist/components/hx-button-group/hx-button-group.d.ts.map +1 -0
- package/dist/components/hx-button-group/hx-button-group.styles.d.ts +2 -0
- package/dist/components/hx-button-group/hx-button-group.styles.d.ts.map +1 -0
- package/dist/components/hx-button-group/index.d.ts +2 -0
- package/dist/components/hx-button-group/index.d.ts.map +1 -0
- package/dist/components/hx-button-group/index.js +5 -0
- package/dist/components/hx-button-group/index.js.map +1 -0
- package/dist/components/hx-card/hx-card.d.ts +76 -0
- package/dist/components/hx-card/hx-card.d.ts.map +1 -0
- package/dist/components/hx-card/hx-card.styles.d.ts +2 -0
- package/dist/components/hx-card/hx-card.styles.d.ts.map +1 -0
- package/dist/components/hx-card/index.d.ts +2 -0
- package/dist/components/hx-card/index.d.ts.map +1 -0
- package/dist/components/hx-card/index.js +5 -0
- package/dist/components/hx-card/index.js.map +1 -0
- package/dist/components/hx-carousel/hx-carousel-item.d.ts +30 -0
- package/dist/components/hx-carousel/hx-carousel-item.d.ts.map +1 -0
- package/dist/components/hx-carousel/hx-carousel.d.ts +130 -0
- package/dist/components/hx-carousel/hx-carousel.d.ts.map +1 -0
- package/dist/components/hx-carousel/hx-carousel.styles.d.ts +2 -0
- package/dist/components/hx-carousel/hx-carousel.styles.d.ts.map +1 -0
- package/dist/components/hx-carousel/index.d.ts +3 -0
- package/dist/components/hx-carousel/index.d.ts.map +1 -0
- package/dist/components/hx-carousel/index.js +6 -0
- package/dist/components/hx-carousel/index.js.map +1 -0
- package/dist/components/hx-checkbox/hx-checkbox.d.ts +127 -0
- package/dist/components/hx-checkbox/hx-checkbox.d.ts.map +1 -0
- package/dist/components/hx-checkbox/hx-checkbox.styles.d.ts +2 -0
- package/dist/components/hx-checkbox/hx-checkbox.styles.d.ts.map +1 -0
- package/dist/components/hx-checkbox/index.d.ts +2 -0
- package/dist/components/hx-checkbox/index.d.ts.map +1 -0
- package/dist/components/hx-checkbox/index.js +5 -0
- package/dist/components/hx-checkbox/index.js.map +1 -0
- package/dist/components/hx-checkbox-group/hx-checkbox-group.d.ts +111 -0
- package/dist/components/hx-checkbox-group/hx-checkbox-group.d.ts.map +1 -0
- package/dist/components/hx-checkbox-group/hx-checkbox-group.styles.d.ts +2 -0
- package/dist/components/hx-checkbox-group/hx-checkbox-group.styles.d.ts.map +1 -0
- package/dist/components/hx-checkbox-group/index.d.ts +2 -0
- package/dist/components/hx-checkbox-group/index.d.ts.map +1 -0
- package/dist/components/hx-checkbox-group/index.js +5 -0
- package/dist/components/hx-checkbox-group/index.js.map +1 -0
- package/dist/components/hx-code-snippet/hx-code-snippet.d.ts +90 -0
- package/dist/components/hx-code-snippet/hx-code-snippet.d.ts.map +1 -0
- package/dist/components/hx-code-snippet/hx-code-snippet.styles.d.ts +2 -0
- package/dist/components/hx-code-snippet/hx-code-snippet.styles.d.ts.map +1 -0
- package/dist/components/hx-code-snippet/index.d.ts +2 -0
- package/dist/components/hx-code-snippet/index.d.ts.map +1 -0
- package/dist/components/hx-code-snippet/index.js +5 -0
- package/dist/components/hx-code-snippet/index.js.map +1 -0
- package/dist/components/hx-color-picker/hx-color-picker.d.ts +154 -0
- package/dist/components/hx-color-picker/hx-color-picker.d.ts.map +1 -0
- package/dist/components/hx-color-picker/hx-color-picker.styles.d.ts +2 -0
- package/dist/components/hx-color-picker/hx-color-picker.styles.d.ts.map +1 -0
- package/dist/components/hx-color-picker/index.d.ts +2 -0
- package/dist/components/hx-color-picker/index.d.ts.map +1 -0
- package/dist/components/hx-color-picker/index.js +5 -0
- package/dist/components/hx-color-picker/index.js.map +1 -0
- package/dist/components/hx-combobox/hx-combobox.d.ts +185 -0
- package/dist/components/hx-combobox/hx-combobox.d.ts.map +1 -0
- package/dist/components/hx-combobox/hx-combobox.styles.d.ts +2 -0
- package/dist/components/hx-combobox/hx-combobox.styles.d.ts.map +1 -0
- package/dist/components/hx-combobox/index.d.ts +3 -0
- package/dist/components/hx-combobox/index.d.ts.map +1 -0
- package/dist/components/hx-combobox/index.js +5 -0
- package/dist/components/hx-combobox/index.js.map +1 -0
- package/dist/components/hx-container/hx-container.d.ts +56 -0
- package/dist/components/hx-container/hx-container.d.ts.map +1 -0
- package/dist/components/hx-container/hx-container.styles.d.ts +2 -0
- package/dist/components/hx-container/hx-container.styles.d.ts.map +1 -0
- package/dist/components/hx-container/index.d.ts +2 -0
- package/dist/components/hx-container/index.d.ts.map +1 -0
- package/dist/components/hx-container/index.js +5 -0
- package/dist/components/hx-container/index.js.map +1 -0
- package/dist/components/hx-copy-button/hx-copy-button.d.ts +103 -0
- package/dist/components/hx-copy-button/hx-copy-button.d.ts.map +1 -0
- package/dist/components/hx-copy-button/hx-copy-button.styles.d.ts +2 -0
- package/dist/components/hx-copy-button/hx-copy-button.styles.d.ts.map +1 -0
- package/dist/components/hx-copy-button/index.d.ts +2 -0
- package/dist/components/hx-copy-button/index.d.ts.map +1 -0
- package/dist/components/hx-copy-button/index.js +5 -0
- package/dist/components/hx-copy-button/index.js.map +1 -0
- package/dist/components/hx-data-table/hx-data-table.d.ts +125 -0
- package/dist/components/hx-data-table/hx-data-table.d.ts.map +1 -0
- package/dist/components/hx-data-table/hx-data-table.styles.d.ts +2 -0
- package/dist/components/hx-data-table/hx-data-table.styles.d.ts.map +1 -0
- package/dist/components/hx-data-table/index.d.ts +3 -0
- package/dist/components/hx-data-table/index.d.ts.map +1 -0
- package/dist/components/hx-data-table/index.js +5 -0
- package/dist/components/hx-data-table/index.js.map +1 -0
- package/dist/components/hx-date-picker/hx-date-picker.d.ts +129 -0
- package/dist/components/hx-date-picker/hx-date-picker.d.ts.map +1 -0
- package/dist/components/hx-date-picker/hx-date-picker.styles.d.ts +2 -0
- package/dist/components/hx-date-picker/hx-date-picker.styles.d.ts.map +1 -0
- package/dist/components/hx-date-picker/index.d.ts +2 -0
- package/dist/components/hx-date-picker/index.d.ts.map +1 -0
- package/dist/components/hx-date-picker/index.js +5 -0
- package/dist/components/hx-date-picker/index.js.map +1 -0
- package/dist/components/hx-dialog/hx-dialog.d.ts +156 -0
- package/dist/components/hx-dialog/hx-dialog.d.ts.map +1 -0
- package/dist/components/hx-dialog/hx-dialog.styles.d.ts +2 -0
- package/dist/components/hx-dialog/hx-dialog.styles.d.ts.map +1 -0
- package/dist/components/hx-dialog/index.d.ts +2 -0
- package/dist/components/hx-dialog/index.d.ts.map +1 -0
- package/dist/components/hx-dialog/index.js +5 -0
- package/dist/components/hx-dialog/index.js.map +1 -0
- package/dist/components/hx-divider/hx-divider.d.ts +58 -0
- package/dist/components/hx-divider/hx-divider.d.ts.map +1 -0
- package/dist/components/hx-divider/hx-divider.styles.d.ts +2 -0
- package/dist/components/hx-divider/hx-divider.styles.d.ts.map +1 -0
- package/dist/components/hx-divider/index.d.ts +3 -0
- package/dist/components/hx-divider/index.d.ts.map +1 -0
- package/dist/components/hx-divider/index.js +5 -0
- package/dist/components/hx-divider/index.js.map +1 -0
- package/dist/components/hx-drawer/hx-drawer.d.ts +131 -0
- package/dist/components/hx-drawer/hx-drawer.d.ts.map +1 -0
- package/dist/components/hx-drawer/hx-drawer.styles.d.ts +2 -0
- package/dist/components/hx-drawer/hx-drawer.styles.d.ts.map +1 -0
- package/dist/components/hx-drawer/index.d.ts +2 -0
- package/dist/components/hx-drawer/index.d.ts.map +1 -0
- package/dist/components/hx-drawer/index.js +5 -0
- package/dist/components/hx-drawer/index.js.map +1 -0
- package/dist/components/hx-dropdown/hx-dropdown.d.ts +89 -0
- package/dist/components/hx-dropdown/hx-dropdown.d.ts.map +1 -0
- package/dist/components/hx-dropdown/hx-dropdown.styles.d.ts +2 -0
- package/dist/components/hx-dropdown/hx-dropdown.styles.d.ts.map +1 -0
- package/dist/components/hx-dropdown/index.d.ts +2 -0
- package/dist/components/hx-dropdown/index.d.ts.map +1 -0
- package/dist/components/hx-dropdown/index.js +5 -0
- package/dist/components/hx-dropdown/index.js.map +1 -0
- package/dist/components/hx-field/hx-field.d.ts +141 -0
- package/dist/components/hx-field/hx-field.d.ts.map +1 -0
- package/dist/components/hx-field/hx-field.styles.d.ts +2 -0
- package/dist/components/hx-field/hx-field.styles.d.ts.map +1 -0
- package/dist/components/hx-field/index.d.ts +2 -0
- package/dist/components/hx-field/index.d.ts.map +1 -0
- package/dist/components/hx-field/index.js +5 -0
- package/dist/components/hx-field/index.js.map +1 -0
- package/dist/components/hx-field-label/hx-field-label.d.ts +58 -0
- package/dist/components/hx-field-label/hx-field-label.d.ts.map +1 -0
- package/dist/components/hx-field-label/hx-field-label.styles.d.ts +2 -0
- package/dist/components/hx-field-label/hx-field-label.styles.d.ts.map +1 -0
- package/dist/components/hx-field-label/index.d.ts +2 -0
- package/dist/components/hx-field-label/index.d.ts.map +1 -0
- package/dist/components/hx-field-label/index.js +5 -0
- package/dist/components/hx-field-label/index.js.map +1 -0
- package/dist/components/hx-file-upload/hx-file-upload.d.ts +138 -0
- package/dist/components/hx-file-upload/hx-file-upload.d.ts.map +1 -0
- package/dist/components/hx-file-upload/hx-file-upload.styles.d.ts +2 -0
- package/dist/components/hx-file-upload/hx-file-upload.styles.d.ts.map +1 -0
- package/dist/components/hx-file-upload/index.d.ts +2 -0
- package/dist/components/hx-file-upload/index.d.ts.map +1 -0
- package/dist/components/hx-file-upload/index.js +5 -0
- package/dist/components/hx-file-upload/index.js.map +1 -0
- package/dist/components/hx-form/hx-form.d.ts +141 -0
- package/dist/components/hx-form/hx-form.d.ts.map +1 -0
- package/dist/components/hx-form/hx-form.styles.d.ts +2 -0
- package/dist/components/hx-form/hx-form.styles.d.ts.map +1 -0
- package/dist/components/hx-form/index.d.ts +2 -0
- package/dist/components/hx-form/index.d.ts.map +1 -0
- package/dist/components/hx-form/index.js +5 -0
- package/dist/components/hx-form/index.js.map +1 -0
- package/dist/components/hx-format-date/hx-format-date.d.ts +120 -0
- package/dist/components/hx-format-date/hx-format-date.d.ts.map +1 -0
- package/dist/components/hx-format-date/hx-format-date.styles.d.ts +2 -0
- package/dist/components/hx-format-date/hx-format-date.styles.d.ts.map +1 -0
- package/dist/components/hx-format-date/index.d.ts +2 -0
- package/dist/components/hx-format-date/index.d.ts.map +1 -0
- package/dist/components/hx-format-date/index.js +5 -0
- package/dist/components/hx-format-date/index.js.map +1 -0
- package/dist/components/hx-grid/hx-grid.d.ts +100 -0
- package/dist/components/hx-grid/hx-grid.d.ts.map +1 -0
- package/dist/components/hx-grid/hx-grid.styles.d.ts +3 -0
- package/dist/components/hx-grid/hx-grid.styles.d.ts.map +1 -0
- package/dist/components/hx-grid/index.d.ts +2 -0
- package/dist/components/hx-grid/index.d.ts.map +1 -0
- package/dist/components/hx-grid/index.js +6 -0
- package/dist/components/hx-grid/index.js.map +1 -0
- package/dist/components/hx-help-text/hx-help-text.d.ts +44 -0
- package/dist/components/hx-help-text/hx-help-text.d.ts.map +1 -0
- package/dist/components/hx-help-text/hx-help-text.styles.d.ts +2 -0
- package/dist/components/hx-help-text/hx-help-text.styles.d.ts.map +1 -0
- package/dist/components/hx-help-text/index.d.ts +2 -0
- package/dist/components/hx-help-text/index.d.ts.map +1 -0
- package/dist/components/hx-help-text/index.js +5 -0
- package/dist/components/hx-help-text/index.js.map +1 -0
- package/dist/components/hx-icon/hx-icon.d.ts +115 -0
- package/dist/components/hx-icon/hx-icon.d.ts.map +1 -0
- package/dist/components/hx-icon/hx-icon.styles.d.ts +2 -0
- package/dist/components/hx-icon/hx-icon.styles.d.ts.map +1 -0
- package/dist/components/hx-icon/index.d.ts +2 -0
- package/dist/components/hx-icon/index.d.ts.map +1 -0
- package/dist/components/hx-icon/index.js +5 -0
- package/dist/components/hx-icon/index.js.map +1 -0
- package/dist/components/hx-image/hx-image.d.ts +120 -0
- package/dist/components/hx-image/hx-image.d.ts.map +1 -0
- package/dist/components/hx-image/hx-image.styles.d.ts +2 -0
- package/dist/components/hx-image/hx-image.styles.d.ts.map +1 -0
- package/dist/components/hx-image/index.d.ts +2 -0
- package/dist/components/hx-image/index.d.ts.map +1 -0
- package/dist/components/hx-image/index.js +5 -0
- package/dist/components/hx-image/index.js.map +1 -0
- package/dist/components/hx-link/hx-link.d.ts +84 -0
- package/dist/components/hx-link/hx-link.d.ts.map +1 -0
- package/dist/components/hx-link/hx-link.styles.d.ts +2 -0
- package/dist/components/hx-link/hx-link.styles.d.ts.map +1 -0
- package/dist/components/hx-link/index.d.ts +3 -0
- package/dist/components/hx-link/index.d.ts.map +1 -0
- package/dist/components/hx-link/index.js +5 -0
- package/dist/components/hx-link/index.js.map +1 -0
- package/dist/components/hx-list/hx-list-item.d.ts +79 -0
- package/dist/components/hx-list/hx-list-item.d.ts.map +1 -0
- package/dist/components/hx-list/hx-list-item.styles.d.ts +2 -0
- package/dist/components/hx-list/hx-list-item.styles.d.ts.map +1 -0
- package/dist/components/hx-list/hx-list.d.ts +54 -0
- package/dist/components/hx-list/hx-list.d.ts.map +1 -0
- package/dist/components/hx-list/hx-list.styles.d.ts +2 -0
- package/dist/components/hx-list/hx-list.styles.d.ts.map +1 -0
- package/dist/components/hx-list/index.d.ts +3 -0
- package/dist/components/hx-list/index.d.ts.map +1 -0
- package/dist/components/hx-list/index.js +6 -0
- package/dist/components/hx-list/index.js.map +1 -0
- package/dist/components/hx-menu/hx-menu-divider.d.ts +22 -0
- package/dist/components/hx-menu/hx-menu-divider.d.ts.map +1 -0
- package/dist/components/hx-menu/hx-menu-item.d.ts +75 -0
- package/dist/components/hx-menu/hx-menu-item.d.ts.map +1 -0
- package/dist/components/hx-menu/hx-menu-item.styles.d.ts +2 -0
- package/dist/components/hx-menu/hx-menu-item.styles.d.ts.map +1 -0
- package/dist/components/hx-menu/hx-menu.d.ts +45 -0
- package/dist/components/hx-menu/hx-menu.d.ts.map +1 -0
- package/dist/components/hx-menu/hx-menu.styles.d.ts +2 -0
- package/dist/components/hx-menu/hx-menu.styles.d.ts.map +1 -0
- package/dist/components/hx-menu/index.d.ts +4 -0
- package/dist/components/hx-menu/index.d.ts.map +1 -0
- package/dist/components/hx-menu/index.js +7 -0
- package/dist/components/hx-menu/index.js.map +1 -0
- package/dist/components/hx-meter/hx-meter.d.ts +83 -0
- package/dist/components/hx-meter/hx-meter.d.ts.map +1 -0
- package/dist/components/hx-meter/hx-meter.styles.d.ts +2 -0
- package/dist/components/hx-meter/hx-meter.styles.d.ts.map +1 -0
- package/dist/components/hx-meter/index.d.ts +2 -0
- package/dist/components/hx-meter/index.d.ts.map +1 -0
- package/dist/components/hx-meter/index.js +5 -0
- package/dist/components/hx-meter/index.js.map +1 -0
- package/dist/components/hx-nav/hx-nav.d.ts +92 -0
- package/dist/components/hx-nav/hx-nav.d.ts.map +1 -0
- package/dist/components/hx-nav/hx-nav.styles.d.ts +2 -0
- package/dist/components/hx-nav/hx-nav.styles.d.ts.map +1 -0
- package/dist/components/hx-nav/index.d.ts +2 -0
- package/dist/components/hx-nav/index.d.ts.map +1 -0
- package/dist/components/hx-nav/index.js +5 -0
- package/dist/components/hx-nav/index.js.map +1 -0
- package/dist/components/hx-number-input/hx-number-input.d.ts +171 -0
- package/dist/components/hx-number-input/hx-number-input.d.ts.map +1 -0
- package/dist/components/hx-number-input/hx-number-input.styles.d.ts +2 -0
- package/dist/components/hx-number-input/hx-number-input.styles.d.ts.map +1 -0
- package/dist/components/hx-number-input/index.d.ts +2 -0
- package/dist/components/hx-number-input/index.d.ts.map +1 -0
- package/dist/components/hx-number-input/index.js +5 -0
- package/dist/components/hx-number-input/index.js.map +1 -0
- package/dist/components/hx-overflow-menu/hx-overflow-menu.d.ts +85 -0
- package/dist/components/hx-overflow-menu/hx-overflow-menu.d.ts.map +1 -0
- package/dist/components/hx-overflow-menu/hx-overflow-menu.styles.d.ts +2 -0
- package/dist/components/hx-overflow-menu/hx-overflow-menu.styles.d.ts.map +1 -0
- package/dist/components/hx-overflow-menu/index.d.ts +2 -0
- package/dist/components/hx-overflow-menu/index.d.ts.map +1 -0
- package/dist/components/hx-overflow-menu/index.js +5 -0
- package/dist/components/hx-overflow-menu/index.js.map +1 -0
- package/dist/components/hx-pagination/hx-pagination.d.ts +123 -0
- package/dist/components/hx-pagination/hx-pagination.d.ts.map +1 -0
- package/dist/components/hx-pagination/hx-pagination.styles.d.ts +2 -0
- package/dist/components/hx-pagination/hx-pagination.styles.d.ts.map +1 -0
- package/dist/components/hx-pagination/index.d.ts +2 -0
- package/dist/components/hx-pagination/index.d.ts.map +1 -0
- package/dist/components/hx-pagination/index.js +5 -0
- package/dist/components/hx-pagination/index.js.map +1 -0
- package/dist/components/hx-popover/hx-popover.d.ts +105 -0
- package/dist/components/hx-popover/hx-popover.d.ts.map +1 -0
- package/dist/components/hx-popover/hx-popover.styles.d.ts +2 -0
- package/dist/components/hx-popover/hx-popover.styles.d.ts.map +1 -0
- package/dist/components/hx-popover/index.d.ts +2 -0
- package/dist/components/hx-popover/index.d.ts.map +1 -0
- package/dist/components/hx-popover/index.js +5 -0
- package/dist/components/hx-popover/index.js.map +1 -0
- package/dist/components/hx-popup/hx-popup.d.ts +218 -0
- package/dist/components/hx-popup/hx-popup.d.ts.map +1 -0
- package/dist/components/hx-popup/hx-popup.styles.d.ts +2 -0
- package/dist/components/hx-popup/hx-popup.styles.d.ts.map +1 -0
- package/dist/components/hx-popup/index.d.ts +2 -0
- package/dist/components/hx-popup/index.d.ts.map +1 -0
- package/dist/components/hx-popup/index.js +5 -0
- package/dist/components/hx-popup/index.js.map +1 -0
- package/dist/components/hx-progress-bar/hx-progress-bar.d.ts +80 -0
- package/dist/components/hx-progress-bar/hx-progress-bar.d.ts.map +1 -0
- package/dist/components/hx-progress-bar/hx-progress-bar.styles.d.ts +2 -0
- package/dist/components/hx-progress-bar/hx-progress-bar.styles.d.ts.map +1 -0
- package/dist/components/hx-progress-bar/index.d.ts +2 -0
- package/dist/components/hx-progress-bar/index.d.ts.map +1 -0
- package/dist/components/hx-progress-bar/index.js +5 -0
- package/dist/components/hx-progress-bar/index.js.map +1 -0
- package/dist/components/hx-progress-ring/hx-progress-ring.d.ts +73 -0
- package/dist/components/hx-progress-ring/hx-progress-ring.d.ts.map +1 -0
- package/dist/components/hx-progress-ring/hx-progress-ring.styles.d.ts +2 -0
- package/dist/components/hx-progress-ring/hx-progress-ring.styles.d.ts.map +1 -0
- package/dist/components/hx-progress-ring/index.d.ts +2 -0
- package/dist/components/hx-progress-ring/index.d.ts.map +1 -0
- package/dist/components/hx-progress-ring/index.js +5 -0
- package/dist/components/hx-progress-ring/index.js.map +1 -0
- package/dist/components/hx-prose/hx-prose.d.ts +49 -0
- package/dist/components/hx-prose/hx-prose.d.ts.map +1 -0
- package/dist/components/hx-prose/hx-prose.styles.d.ts +2 -0
- package/dist/components/hx-prose/hx-prose.styles.d.ts.map +1 -0
- package/dist/components/hx-prose/index.d.ts +2 -0
- package/dist/components/hx-prose/index.d.ts.map +1 -0
- package/dist/components/hx-prose/index.js +5 -0
- package/dist/components/hx-prose/index.js.map +1 -0
- package/dist/components/hx-radio-group/hx-radio-group.d.ts +112 -0
- package/dist/components/hx-radio-group/hx-radio-group.d.ts.map +1 -0
- package/dist/components/hx-radio-group/hx-radio-group.styles.d.ts +2 -0
- package/dist/components/hx-radio-group/hx-radio-group.styles.d.ts.map +1 -0
- package/dist/components/hx-radio-group/hx-radio.d.ts +57 -0
- package/dist/components/hx-radio-group/hx-radio.d.ts.map +1 -0
- package/dist/components/hx-radio-group/hx-radio.styles.d.ts +2 -0
- package/dist/components/hx-radio-group/hx-radio.styles.d.ts.map +1 -0
- package/dist/components/hx-radio-group/index.d.ts +3 -0
- package/dist/components/hx-radio-group/index.d.ts.map +1 -0
- package/dist/components/hx-radio-group/index.js +6 -0
- package/dist/components/hx-radio-group/index.js.map +1 -0
- package/dist/components/hx-rating/hx-rating.d.ts +112 -0
- package/dist/components/hx-rating/hx-rating.d.ts.map +1 -0
- package/dist/components/hx-rating/hx-rating.styles.d.ts +2 -0
- package/dist/components/hx-rating/hx-rating.styles.d.ts.map +1 -0
- package/dist/components/hx-rating/index.d.ts +2 -0
- package/dist/components/hx-rating/index.d.ts.map +1 -0
- package/dist/components/hx-rating/index.js +5 -0
- package/dist/components/hx-rating/index.js.map +1 -0
- package/dist/components/hx-select/hx-select.d.ts +173 -0
- package/dist/components/hx-select/hx-select.d.ts.map +1 -0
- package/dist/components/hx-select/hx-select.styles.d.ts +2 -0
- package/dist/components/hx-select/hx-select.styles.d.ts.map +1 -0
- package/dist/components/hx-select/index.d.ts +2 -0
- package/dist/components/hx-select/index.d.ts.map +1 -0
- package/dist/components/hx-select/index.js +5 -0
- package/dist/components/hx-select/index.js.map +1 -0
- package/dist/components/hx-side-nav/hx-nav-item.d.ts +69 -0
- package/dist/components/hx-side-nav/hx-nav-item.d.ts.map +1 -0
- package/dist/components/hx-side-nav/hx-nav-item.styles.d.ts +2 -0
- package/dist/components/hx-side-nav/hx-nav-item.styles.d.ts.map +1 -0
- package/dist/components/hx-side-nav/hx-side-nav.d.ts +73 -0
- package/dist/components/hx-side-nav/hx-side-nav.d.ts.map +1 -0
- package/dist/components/hx-side-nav/hx-side-nav.styles.d.ts +2 -0
- package/dist/components/hx-side-nav/hx-side-nav.styles.d.ts.map +1 -0
- package/dist/components/hx-side-nav/index.d.ts +3 -0
- package/dist/components/hx-side-nav/index.d.ts.map +1 -0
- package/dist/components/hx-side-nav/index.js +6 -0
- package/dist/components/hx-side-nav/index.js.map +1 -0
- package/dist/components/hx-skeleton/hx-skeleton.d.ts +76 -0
- package/dist/components/hx-skeleton/hx-skeleton.d.ts.map +1 -0
- package/dist/components/hx-skeleton/hx-skeleton.styles.d.ts +2 -0
- package/dist/components/hx-skeleton/hx-skeleton.styles.d.ts.map +1 -0
- package/dist/components/hx-skeleton/index.d.ts +2 -0
- package/dist/components/hx-skeleton/index.d.ts.map +1 -0
- package/dist/components/hx-skeleton/index.js +5 -0
- package/dist/components/hx-skeleton/index.js.map +1 -0
- package/dist/components/hx-slider/hx-slider.d.ts +166 -0
- package/dist/components/hx-slider/hx-slider.d.ts.map +1 -0
- package/dist/components/hx-slider/hx-slider.styles.d.ts +2 -0
- package/dist/components/hx-slider/hx-slider.styles.d.ts.map +1 -0
- package/dist/components/hx-slider/index.d.ts +2 -0
- package/dist/components/hx-slider/index.d.ts.map +1 -0
- package/dist/components/hx-slider/index.js +5 -0
- package/dist/components/hx-slider/index.js.map +1 -0
- package/dist/components/hx-spinner/hx-spinner.d.ts +58 -0
- package/dist/components/hx-spinner/hx-spinner.d.ts.map +1 -0
- package/dist/components/hx-spinner/hx-spinner.styles.d.ts +2 -0
- package/dist/components/hx-spinner/hx-spinner.styles.d.ts.map +1 -0
- package/dist/components/hx-spinner/index.d.ts +2 -0
- package/dist/components/hx-spinner/index.d.ts.map +1 -0
- package/dist/components/hx-spinner/index.js +5 -0
- package/dist/components/hx-spinner/index.js.map +1 -0
- package/dist/components/hx-split-button/hx-split-button.d.ts +101 -0
- package/dist/components/hx-split-button/hx-split-button.d.ts.map +1 -0
- package/dist/components/hx-split-button/hx-split-button.styles.d.ts +2 -0
- package/dist/components/hx-split-button/hx-split-button.styles.d.ts.map +1 -0
- package/dist/components/hx-split-button/index.d.ts +2 -0
- package/dist/components/hx-split-button/index.d.ts.map +1 -0
- package/dist/components/hx-split-button/index.js +5 -0
- package/dist/components/hx-split-button/index.js.map +1 -0
- package/dist/components/hx-split-panel/hx-split-panel.d.ts +115 -0
- package/dist/components/hx-split-panel/hx-split-panel.d.ts.map +1 -0
- package/dist/components/hx-split-panel/hx-split-panel.styles.d.ts +2 -0
- package/dist/components/hx-split-panel/hx-split-panel.styles.d.ts.map +1 -0
- package/dist/components/hx-split-panel/index.d.ts +2 -0
- package/dist/components/hx-split-panel/index.d.ts.map +1 -0
- package/dist/components/hx-split-panel/index.js +5 -0
- package/dist/components/hx-split-panel/index.js.map +1 -0
- package/dist/components/hx-stack/hx-stack.d.ts +53 -0
- package/dist/components/hx-stack/hx-stack.d.ts.map +1 -0
- package/dist/components/hx-stack/hx-stack.styles.d.ts +2 -0
- package/dist/components/hx-stack/hx-stack.styles.d.ts.map +1 -0
- package/dist/components/hx-stack/index.d.ts +2 -0
- package/dist/components/hx-stack/index.d.ts.map +1 -0
- package/dist/components/hx-stack/index.js +5 -0
- package/dist/components/hx-stack/index.js.map +1 -0
- package/dist/components/hx-status-indicator/hx-status-indicator.d.ts +74 -0
- package/dist/components/hx-status-indicator/hx-status-indicator.d.ts.map +1 -0
- package/dist/components/hx-status-indicator/hx-status-indicator.styles.d.ts +2 -0
- package/dist/components/hx-status-indicator/hx-status-indicator.styles.d.ts.map +1 -0
- package/dist/components/hx-status-indicator/index.d.ts +3 -0
- package/dist/components/hx-status-indicator/index.d.ts.map +1 -0
- package/dist/components/hx-status-indicator/index.js +5 -0
- package/dist/components/hx-status-indicator/index.js.map +1 -0
- package/dist/components/hx-steps/hx-step.d.ts +88 -0
- package/dist/components/hx-steps/hx-step.d.ts.map +1 -0
- package/dist/components/hx-steps/hx-step.styles.d.ts +2 -0
- package/dist/components/hx-steps/hx-step.styles.d.ts.map +1 -0
- package/dist/components/hx-steps/hx-steps.d.ts +56 -0
- package/dist/components/hx-steps/hx-steps.d.ts.map +1 -0
- package/dist/components/hx-steps/hx-steps.styles.d.ts +2 -0
- package/dist/components/hx-steps/hx-steps.styles.d.ts.map +1 -0
- package/dist/components/hx-steps/index.d.ts +3 -0
- package/dist/components/hx-steps/index.d.ts.map +1 -0
- package/dist/components/hx-steps/index.js +6 -0
- package/dist/components/hx-steps/index.js.map +1 -0
- package/dist/components/hx-structured-list/hx-structured-list.d.ts +72 -0
- package/dist/components/hx-structured-list/hx-structured-list.d.ts.map +1 -0
- package/dist/components/hx-structured-list/hx-structured-list.styles.d.ts +3 -0
- package/dist/components/hx-structured-list/hx-structured-list.styles.d.ts.map +1 -0
- package/dist/components/hx-structured-list/index.d.ts +2 -0
- package/dist/components/hx-structured-list/index.d.ts.map +1 -0
- package/dist/components/hx-structured-list/index.js +6 -0
- package/dist/components/hx-structured-list/index.js.map +1 -0
- package/dist/components/hx-switch/hx-switch.d.ts +143 -0
- package/dist/components/hx-switch/hx-switch.d.ts.map +1 -0
- package/dist/components/hx-switch/hx-switch.styles.d.ts +2 -0
- package/dist/components/hx-switch/hx-switch.styles.d.ts.map +1 -0
- package/dist/components/hx-switch/index.d.ts +2 -0
- package/dist/components/hx-switch/index.d.ts.map +1 -0
- package/dist/components/hx-switch/index.js +5 -0
- package/dist/components/hx-switch/index.js.map +1 -0
- package/dist/components/hx-tabs/hx-tab-panel.d.ts +32 -0
- package/dist/components/hx-tabs/hx-tab-panel.d.ts.map +1 -0
- package/dist/components/hx-tabs/hx-tab-panel.styles.d.ts +2 -0
- package/dist/components/hx-tabs/hx-tab-panel.styles.d.ts.map +1 -0
- package/dist/components/hx-tabs/hx-tab.d.ts +69 -0
- package/dist/components/hx-tabs/hx-tab.d.ts.map +1 -0
- package/dist/components/hx-tabs/hx-tab.styles.d.ts +2 -0
- package/dist/components/hx-tabs/hx-tab.styles.d.ts.map +1 -0
- package/dist/components/hx-tabs/hx-tabs.d.ts +97 -0
- package/dist/components/hx-tabs/hx-tabs.d.ts.map +1 -0
- package/dist/components/hx-tabs/hx-tabs.styles.d.ts +2 -0
- package/dist/components/hx-tabs/hx-tabs.styles.d.ts.map +1 -0
- package/dist/components/hx-tabs/index.d.ts +4 -0
- package/dist/components/hx-tabs/index.d.ts.map +1 -0
- package/dist/components/hx-tabs/index.js +7 -0
- package/dist/components/hx-tabs/index.js.map +1 -0
- package/dist/components/hx-tag/hx-tag.d.ts +97 -0
- package/dist/components/hx-tag/hx-tag.d.ts.map +1 -0
- package/dist/components/hx-tag/hx-tag.styles.d.ts +2 -0
- package/dist/components/hx-tag/hx-tag.styles.d.ts.map +1 -0
- package/dist/components/hx-tag/index.d.ts +2 -0
- package/dist/components/hx-tag/index.d.ts.map +1 -0
- package/dist/components/hx-tag/index.js +5 -0
- package/dist/components/hx-tag/index.js.map +1 -0
- package/dist/components/hx-text/hx-text.d.ts +90 -0
- package/dist/components/hx-text/hx-text.d.ts.map +1 -0
- package/dist/components/hx-text/hx-text.styles.d.ts +2 -0
- package/dist/components/hx-text/hx-text.styles.d.ts.map +1 -0
- package/dist/components/hx-text/index.d.ts +2 -0
- package/dist/components/hx-text/index.d.ts.map +1 -0
- package/dist/components/hx-text/index.js +5 -0
- package/dist/components/hx-text/index.js.map +1 -0
- package/dist/components/hx-text-input/hx-text-input.d.ts +188 -0
- package/dist/components/hx-text-input/hx-text-input.d.ts.map +1 -0
- package/dist/components/hx-text-input/hx-text-input.styles.d.ts +2 -0
- package/dist/components/hx-text-input/hx-text-input.styles.d.ts.map +1 -0
- package/dist/components/hx-text-input/index.d.ts +2 -0
- package/dist/components/hx-text-input/index.d.ts.map +1 -0
- package/dist/components/hx-text-input/index.js +5 -0
- package/dist/components/hx-text-input/index.js.map +1 -0
- package/dist/components/hx-textarea/hx-textarea.d.ts +169 -0
- package/dist/components/hx-textarea/hx-textarea.d.ts.map +1 -0
- package/dist/components/hx-textarea/hx-textarea.styles.d.ts +2 -0
- package/dist/components/hx-textarea/hx-textarea.styles.d.ts.map +1 -0
- package/dist/components/hx-textarea/index.d.ts +2 -0
- package/dist/components/hx-textarea/index.d.ts.map +1 -0
- package/dist/components/hx-textarea/index.js +5 -0
- package/dist/components/hx-textarea/index.js.map +1 -0
- package/dist/components/hx-theme/hx-theme.d.ts +108 -0
- package/dist/components/hx-theme/hx-theme.d.ts.map +1 -0
- package/dist/components/hx-theme/hx-theme.styles.d.ts +2 -0
- package/dist/components/hx-theme/hx-theme.styles.d.ts.map +1 -0
- package/dist/components/hx-theme/index.d.ts +3 -0
- package/dist/components/hx-theme/index.d.ts.map +1 -0
- package/dist/components/hx-theme/index.js +5 -0
- package/dist/components/hx-theme/index.js.map +1 -0
- package/dist/components/hx-time-picker/hx-time-picker.d.ts +153 -0
- package/dist/components/hx-time-picker/hx-time-picker.d.ts.map +1 -0
- package/dist/components/hx-time-picker/hx-time-picker.styles.d.ts +2 -0
- package/dist/components/hx-time-picker/hx-time-picker.styles.d.ts.map +1 -0
- package/dist/components/hx-time-picker/index.d.ts +2 -0
- package/dist/components/hx-time-picker/index.d.ts.map +1 -0
- package/dist/components/hx-time-picker/index.js +5 -0
- package/dist/components/hx-time-picker/index.js.map +1 -0
- package/dist/components/hx-toast/hx-toast.d.ts +156 -0
- package/dist/components/hx-toast/hx-toast.d.ts.map +1 -0
- package/dist/components/hx-toast/hx-toast.styles.d.ts +3 -0
- package/dist/components/hx-toast/hx-toast.styles.d.ts.map +1 -0
- package/dist/components/hx-toast/index.d.ts +3 -0
- package/dist/components/hx-toast/index.d.ts.map +1 -0
- package/dist/components/hx-toast/index.js +7 -0
- package/dist/components/hx-toast/index.js.map +1 -0
- package/dist/components/hx-toggle-button/hx-toggle-button.d.ts +93 -0
- package/dist/components/hx-toggle-button/hx-toggle-button.d.ts.map +1 -0
- package/dist/components/hx-toggle-button/hx-toggle-button.styles.d.ts +2 -0
- package/dist/components/hx-toggle-button/hx-toggle-button.styles.d.ts.map +1 -0
- package/dist/components/hx-toggle-button/index.d.ts +2 -0
- package/dist/components/hx-toggle-button/index.d.ts.map +1 -0
- package/dist/components/hx-toggle-button/index.js +5 -0
- package/dist/components/hx-toggle-button/index.js.map +1 -0
- package/dist/components/hx-tooltip/hx-tooltip.d.ts +109 -0
- package/dist/components/hx-tooltip/hx-tooltip.d.ts.map +1 -0
- package/dist/components/hx-tooltip/hx-tooltip.styles.d.ts +2 -0
- package/dist/components/hx-tooltip/hx-tooltip.styles.d.ts.map +1 -0
- package/dist/components/hx-tooltip/index.d.ts +2 -0
- package/dist/components/hx-tooltip/index.d.ts.map +1 -0
- package/dist/components/hx-tooltip/index.js +5 -0
- package/dist/components/hx-tooltip/index.js.map +1 -0
- package/dist/components/hx-top-nav/hx-top-nav.d.ts +61 -0
- package/dist/components/hx-top-nav/hx-top-nav.d.ts.map +1 -0
- package/dist/components/hx-top-nav/hx-top-nav.styles.d.ts +2 -0
- package/dist/components/hx-top-nav/hx-top-nav.styles.d.ts.map +1 -0
- package/dist/components/hx-top-nav/index.d.ts +2 -0
- package/dist/components/hx-top-nav/index.d.ts.map +1 -0
- package/dist/components/hx-top-nav/index.js +5 -0
- package/dist/components/hx-top-nav/index.js.map +1 -0
- package/dist/components/hx-tree-view/hx-tree-item.d.ts +71 -0
- package/dist/components/hx-tree-view/hx-tree-item.d.ts.map +1 -0
- package/dist/components/hx-tree-view/hx-tree-item.styles.d.ts +2 -0
- package/dist/components/hx-tree-view/hx-tree-item.styles.d.ts.map +1 -0
- package/dist/components/hx-tree-view/hx-tree-view.d.ts +61 -0
- package/dist/components/hx-tree-view/hx-tree-view.d.ts.map +1 -0
- package/dist/components/hx-tree-view/hx-tree-view.styles.d.ts +2 -0
- package/dist/components/hx-tree-view/hx-tree-view.styles.d.ts.map +1 -0
- package/dist/components/hx-tree-view/index.d.ts +4 -0
- package/dist/components/hx-tree-view/index.d.ts.map +1 -0
- package/dist/components/hx-tree-view/index.js +6 -0
- package/dist/components/hx-tree-view/index.js.map +1 -0
- package/dist/components/hx-visually-hidden/hx-visually-hidden.d.ts +46 -0
- package/dist/components/hx-visually-hidden/hx-visually-hidden.d.ts.map +1 -0
- package/dist/components/hx-visually-hidden/hx-visually-hidden.styles.d.ts +2 -0
- package/dist/components/hx-visually-hidden/hx-visually-hidden.styles.d.ts.map +1 -0
- package/dist/components/hx-visually-hidden/index.d.ts +2 -0
- package/dist/components/hx-visually-hidden/index.d.ts.map +1 -0
- package/dist/components/hx-visually-hidden/index.js +5 -0
- package/dist/components/hx-visually-hidden/index.js.map +1 -0
- package/dist/controllers/adopted-stylesheets.d.ts +32 -0
- package/dist/controllers/adopted-stylesheets.d.ts.map +1 -0
- package/dist/index.d.ts +94 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +163 -0
- package/dist/index.js.map +1 -0
- package/dist/shared/adopted-stylesheets-BZZnCSAs.js +35 -0
- package/dist/shared/adopted-stylesheets-BZZnCSAs.js.map +1 -0
- package/dist/shared/hx-accordion-DUkYS5rZ.js +332 -0
- package/dist/shared/hx-accordion-DUkYS5rZ.js.map +1 -0
- package/dist/shared/hx-action-bar-CwIRFzBx.js +256 -0
- package/dist/shared/hx-action-bar-CwIRFzBx.js.map +1 -0
- package/dist/shared/hx-alert-C3Papw22.js +364 -0
- package/dist/shared/hx-alert-C3Papw22.js.map +1 -0
- package/dist/shared/hx-avatar-DoHGMrj7.js +238 -0
- package/dist/shared/hx-avatar-DoHGMrj7.js.map +1 -0
- package/dist/shared/hx-badge-BeCmOPr1.js +255 -0
- package/dist/shared/hx-badge-BeCmOPr1.js.map +1 -0
- package/dist/shared/hx-breadcrumb-item-BSBMWQHz.js +309 -0
- package/dist/shared/hx-breadcrumb-item-BSBMWQHz.js.map +1 -0
- package/dist/shared/hx-button-group-BbWEDMPb.js +157 -0
- package/dist/shared/hx-button-group-BbWEDMPb.js.map +1 -0
- package/dist/shared/hx-button-p_YAY9Nv.js +322 -0
- package/dist/shared/hx-button-p_YAY9Nv.js.map +1 -0
- package/dist/shared/hx-card-DfEGlbZR.js +279 -0
- package/dist/shared/hx-card-DfEGlbZR.js.map +1 -0
- package/dist/shared/hx-carousel-item-CymJHv1m.js +610 -0
- package/dist/shared/hx-carousel-item-CymJHv1m.js.map +1 -0
- package/dist/shared/hx-checkbox-CV5c6AE8.js +423 -0
- package/dist/shared/hx-checkbox-CV5c6AE8.js.map +1 -0
- package/dist/shared/hx-checkbox-group-ClGxYUi0.js +271 -0
- package/dist/shared/hx-checkbox-group-ClGxYUi0.js.map +1 -0
- package/dist/shared/hx-code-snippet-CoFaSyuB.js +322 -0
- package/dist/shared/hx-code-snippet-CoFaSyuB.js.map +1 -0
- package/dist/shared/hx-color-picker-BF7PA7zf.js +795 -0
- package/dist/shared/hx-color-picker-BF7PA7zf.js.map +1 -0
- package/dist/shared/hx-combobox-De4-pDn0.js +871 -0
- package/dist/shared/hx-combobox-De4-pDn0.js.map +1 -0
- package/dist/shared/hx-container-DWBtruk3.js +121 -0
- package/dist/shared/hx-container-DWBtruk3.js.map +1 -0
- package/dist/shared/hx-copy-button-BCy6VMwN.js +265 -0
- package/dist/shared/hx-copy-button-BCy6VMwN.js.map +1 -0
- package/dist/shared/hx-data-table-D5huonFo.js +497 -0
- package/dist/shared/hx-data-table-D5huonFo.js.map +1 -0
- package/dist/shared/hx-date-picker-Ckvm0yi9.js +969 -0
- package/dist/shared/hx-date-picker-Ckvm0yi9.js.map +1 -0
- package/dist/shared/hx-dialog-D_NXy5rB.js +439 -0
- package/dist/shared/hx-dialog-D_NXy5rB.js.map +1 -0
- package/dist/shared/hx-divider-BDMW3H-1.js +157 -0
- package/dist/shared/hx-divider-BDMW3H-1.js.map +1 -0
- package/dist/shared/hx-drawer-CESgUmre.js +515 -0
- package/dist/shared/hx-drawer-CESgUmre.js.map +1 -0
- package/dist/shared/hx-dropdown-AZLF-5t6.js +229 -0
- package/dist/shared/hx-dropdown-AZLF-5t6.js.map +1 -0
- package/dist/shared/hx-field-label-CPBvSn_r.js +79 -0
- package/dist/shared/hx-field-label-CPBvSn_r.js.map +1 -0
- package/dist/shared/hx-field-vWiKgWIy.js +308 -0
- package/dist/shared/hx-field-vWiKgWIy.js.map +1 -0
- package/dist/shared/hx-file-upload-Px6kRzAZ.js +614 -0
- package/dist/shared/hx-file-upload-Px6kRzAZ.js.map +1 -0
- package/dist/shared/hx-form-BJeLK34m.js +1264 -0
- package/dist/shared/hx-form-BJeLK34m.js.map +1 -0
- package/dist/shared/hx-format-date-BIR66MeC.js +172 -0
- package/dist/shared/hx-format-date-BIR66MeC.js.map +1 -0
- package/dist/shared/hx-grid-Dgo7fnWu.js +118 -0
- package/dist/shared/hx-grid-Dgo7fnWu.js.map +1 -0
- package/dist/shared/hx-help-text-C3WCP11-.js +135 -0
- package/dist/shared/hx-help-text-C3WCP11-.js.map +1 -0
- package/dist/shared/hx-icon-CxOk7jZe.js +235 -0
- package/dist/shared/hx-icon-CxOk7jZe.js.map +1 -0
- package/dist/shared/hx-image-CZPw1AiF.js +175 -0
- package/dist/shared/hx-image-CZPw1AiF.js.map +1 -0
- package/dist/shared/hx-link-DObQ7eS4.js +209 -0
- package/dist/shared/hx-link-DObQ7eS4.js.map +1 -0
- package/dist/shared/hx-list-B6yPCAAW.js +402 -0
- package/dist/shared/hx-list-B6yPCAAW.js.map +1 -0
- package/dist/shared/hx-menu-divider-BgVoqte4.js +420 -0
- package/dist/shared/hx-menu-divider-BgVoqte4.js.map +1 -0
- package/dist/shared/hx-meter-B5LOo0zD.js +184 -0
- package/dist/shared/hx-meter-B5LOo0zD.js.map +1 -0
- package/dist/shared/hx-nav-BhtMZCze.js +537 -0
- package/dist/shared/hx-nav-BhtMZCze.js.map +1 -0
- package/dist/shared/hx-nav-item-CbNibLuK.js +605 -0
- package/dist/shared/hx-nav-item-CbNibLuK.js.map +1 -0
- package/dist/shared/hx-number-input-DgHt4ggr.js +642 -0
- package/dist/shared/hx-number-input-DgHt4ggr.js.map +1 -0
- package/dist/shared/hx-overflow-menu-DkbrRDmB.js +309 -0
- package/dist/shared/hx-overflow-menu-DkbrRDmB.js.map +1 -0
- package/dist/shared/hx-pagination-VMEpaOXX.js +437 -0
- package/dist/shared/hx-pagination-VMEpaOXX.js.map +1 -0
- package/dist/shared/hx-popover-DTe00Q46.js +226 -0
- package/dist/shared/hx-popover-DTe00Q46.js.map +1 -0
- package/dist/shared/hx-popup-5O6q0jf1.js +200 -0
- package/dist/shared/hx-popup-5O6q0jf1.js.map +1 -0
- package/dist/shared/hx-progress-bar-vQnpJ-9N.js +217 -0
- package/dist/shared/hx-progress-bar-vQnpJ-9N.js.map +1 -0
- package/dist/shared/hx-progress-ring-DDSW677s.js +252 -0
- package/dist/shared/hx-progress-ring-DDSW677s.js.map +1 -0
- package/dist/shared/hx-prose-BUkZ8rB3.js +873 -0
- package/dist/shared/hx-prose-BUkZ8rB3.js.map +1 -0
- package/dist/shared/hx-radio-93uKku6B.js +481 -0
- package/dist/shared/hx-radio-93uKku6B.js.map +1 -0
- package/dist/shared/hx-rating-t4o150-R.js +358 -0
- package/dist/shared/hx-rating-t4o150-R.js.map +1 -0
- package/dist/shared/hx-select-DQks1zLJ.js +753 -0
- package/dist/shared/hx-select-DQks1zLJ.js.map +1 -0
- package/dist/shared/hx-skeleton-DQQ2SYxF.js +154 -0
- package/dist/shared/hx-skeleton-DQQ2SYxF.js.map +1 -0
- package/dist/shared/hx-slider-BRMWoKZk.js +548 -0
- package/dist/shared/hx-slider-BRMWoKZk.js.map +1 -0
- package/dist/shared/hx-spinner-CcbmN-u_.js +183 -0
- package/dist/shared/hx-spinner-CcbmN-u_.js.map +1 -0
- package/dist/shared/hx-split-button-hBPl-zRv.js +542 -0
- package/dist/shared/hx-split-button-hBPl-zRv.js.map +1 -0
- package/dist/shared/hx-split-panel-C9Sy7XVW.js +351 -0
- package/dist/shared/hx-split-panel-C9Sy7XVW.js.map +1 -0
- package/dist/shared/hx-stack-B_wODjQX.js +154 -0
- package/dist/shared/hx-stack-B_wODjQX.js.map +1 -0
- package/dist/shared/hx-status-indicator-CiTQuO5V.js +149 -0
- package/dist/shared/hx-status-indicator-CiTQuO5V.js.map +1 -0
- package/dist/shared/hx-step-m5RcyZ61.js +496 -0
- package/dist/shared/hx-step-m5RcyZ61.js.map +1 -0
- package/dist/shared/hx-structured-list-ClvSFleR.js +133 -0
- package/dist/shared/hx-structured-list-ClvSFleR.js.map +1 -0
- package/dist/shared/hx-switch-BFxgxal8.js +356 -0
- package/dist/shared/hx-switch-BFxgxal8.js.map +1 -0
- package/dist/shared/hx-tab-panel-8p6KfVzz.js +470 -0
- package/dist/shared/hx-tab-panel-8p6KfVzz.js.map +1 -0
- package/dist/shared/hx-tag-BP7HJ6_0.js +243 -0
- package/dist/shared/hx-tag-BP7HJ6_0.js.map +1 -0
- package/dist/shared/hx-text-DDSH1alC.js +218 -0
- package/dist/shared/hx-text-DDSH1alC.js.map +1 -0
- package/dist/shared/hx-text-input-Dv458950.js +440 -0
- package/dist/shared/hx-text-input-Dv458950.js.map +1 -0
- package/dist/shared/hx-textarea-BX8nCfDJ.js +398 -0
- package/dist/shared/hx-textarea-BX8nCfDJ.js.map +1 -0
- package/dist/shared/hx-theme-Dc0nKH7V.js +176 -0
- package/dist/shared/hx-theme-Dc0nKH7V.js.map +1 -0
- package/dist/shared/hx-time-picker-CA58UCqx.js +651 -0
- package/dist/shared/hx-time-picker-CA58UCqx.js.map +1 -0
- package/dist/shared/hx-toast-BTqzF2VV.js +423 -0
- package/dist/shared/hx-toast-BTqzF2VV.js.map +1 -0
- package/dist/shared/hx-toggle-button-BkDaJgRS.js +320 -0
- package/dist/shared/hx-toggle-button-BkDaJgRS.js.map +1 -0
- package/dist/shared/hx-tooltip-wAQWzjlr.js +190 -0
- package/dist/shared/hx-tooltip-wAQWzjlr.js.map +1 -0
- package/dist/shared/hx-top-nav-CBxdfPqY.js +322 -0
- package/dist/shared/hx-top-nav-CBxdfPqY.js.map +1 -0
- package/dist/shared/hx-tree-item-BySNNlrw.js +494 -0
- package/dist/shared/hx-tree-item-BySNNlrw.js.map +1 -0
- package/dist/shared/hx-visually-hidden-8ycpz6oY.js +54 -0
- package/dist/shared/hx-visually-hidden-8ycpz6oY.js.map +1 -0
- package/dist/shared/index-nHBAh0Cr.js +74 -0
- package/dist/shared/index-nHBAh0Cr.js.map +1 -0
- package/dist/shared/lit-Dpo7RLp4.js +24 -0
- package/dist/shared/lit-Dpo7RLp4.js.map +1 -0
- package/package.json +62 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hx-prose-BUkZ8rB3.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 \"/* ==========================================================================\\n Prose — Scoped Barrel File\\n All prose styles with selectors scoped to the `hx-prose` wrapper.\\n Prevents styles from leaking outside the <hx-prose> component.\\n\\n Usage:\\n @import '@wc-2026/library/styles/prose/prose.scoped.css';\\n\\n <hx-prose>\\n <h1>My heading</h1>\\n <p>My content from CKEditor...</p>\\n </hx-prose>\\n\\n Override prose custom properties on the hx-prose element or any ancestor:\\n hx-prose {\\n --hx-prose-max-width: 720px;\\n --hx-prose-font-size: var(--hx-font-size-md, 1rem);\\n --hx-prose-line-height: var(--hx-line-height-relaxed, 1.75);\\n --hx-prose-color: var(--hx-color-neutral-700, #343a40);\\n --hx-prose-heading-color: var(--hx-color-neutral-900, #111827);\\n --hx-prose-link-color: var(--hx-color-primary-500, #2563EB);\\n }\\n ========================================================================== */\\n\\n/* ==========================================================================\\n Container Base\\n Sets display:block declaratively to prevent FOUC before JS lifecycle fires.\\n Establishes font-family baseline so prose is not affected by ancestor fonts.\\n ========================================================================== */\\n\\nhx-prose {\\n display: block;\\n font-family: var(--hx-font-family-sans, sans-serif);\\n}\\n\\n/* ==========================================================================\\n Headings\\n ========================================================================== */\\n\\nhx-prose h1,\\nhx-prose h2,\\nhx-prose h3,\\nhx-prose h4,\\nhx-prose h5,\\nhx-prose h6 {\\n font-family: var(\\n --hx-prose-heading-font-family,\\n var(--hx-heading-font-family, var(--hx-font-family-sans, sans-serif))\\n );\\n font-weight: var(\\n --hx-prose-heading-font-weight,\\n var(--hx-heading-font-weight, var(--hx-font-weight-bold, 700))\\n );\\n line-height: var(\\n --hx-prose-heading-line-height,\\n var(--hx-heading-line-height, var(--hx-line-height-tight, 1.25))\\n );\\n letter-spacing: var(\\n --hx-prose-heading-letter-spacing,\\n var(--hx-heading-letter-spacing, var(--hx-letter-spacing-tight, -0.025em))\\n );\\n color: var(--hx-prose-heading-color, var(--hx-color-neutral-900, #111827));\\n margin-top: 0;\\n scroll-margin-top: var(--hx-space-8, 2rem);\\n}\\n\\nhx-prose h1 {\\n font-size: var(--hx-prose-h1-font-size, var(--hx-font-size-4xl, 2.25rem));\\n margin-bottom: var(--hx-space-6, 1.5rem);\\n}\\n\\nhx-prose h2 {\\n font-size: var(--hx-prose-h2-font-size, var(--hx-font-size-3xl, 1.875rem));\\n margin-bottom: var(--hx-space-5, 1.25rem);\\n padding-bottom: var(--hx-space-3, 0.75rem);\\n border-bottom: var(--hx-border-width-thin, 1px) solid\\n var(--hx-color-border-subtle, var(--hx-color-neutral-100, #e9ecef));\\n}\\n\\nhx-prose h3 {\\n font-size: var(--hx-prose-h3-font-size, var(--hx-font-size-2xl, 1.5rem));\\n margin-bottom: var(--hx-space-4, 1rem);\\n}\\n\\nhx-prose h4 {\\n font-size: var(--hx-prose-h4-font-size, var(--hx-font-size-xl, 1.25rem));\\n margin-bottom: var(--hx-space-3, 0.75rem);\\n}\\n\\nhx-prose h5 {\\n font-size: var(--hx-prose-h5-font-size, var(--hx-font-size-lg, 1.125rem));\\n margin-bottom: var(--hx-space-3, 0.75rem);\\n}\\n\\nhx-prose h6 {\\n font-size: var(--hx-prose-h6-font-size, var(--hx-font-size-md, 1rem));\\n font-weight: var(--hx-font-weight-semibold, 600);\\n text-transform: uppercase;\\n letter-spacing: var(--hx-letter-spacing-wide, 0.025em);\\n margin-bottom: var(--hx-space-3, 0.75rem);\\n color: var(--hx-color-text-secondary, var(--hx-color-neutral-600, #495057));\\n}\\n\\n/* Adjacent heading spacing */\\nhx-prose h1 + h2,\\nhx-prose h2 + h3,\\nhx-prose h3 + h4,\\nhx-prose h4 + h5,\\nhx-prose h5 + h6 {\\n margin-top: var(--hx-space-2, 0.5rem);\\n}\\n\\n/* Spacing above headings when preceded by content */\\nhx-prose * + h1 {\\n margin-top: var(--hx-space-12, 3rem);\\n}\\n\\nhx-prose * + h2 {\\n margin-top: var(--hx-space-10, 2.5rem);\\n}\\n\\nhx-prose * + h3 {\\n margin-top: var(--hx-space-8, 2rem);\\n}\\n\\nhx-prose * + h4,\\nhx-prose * + h5,\\nhx-prose * + h6 {\\n margin-top: var(--hx-space-6, 1.5rem);\\n}\\n\\n/* ==========================================================================\\n Body Text\\n ========================================================================== */\\n\\nhx-prose p {\\n margin-top: 0;\\n margin-bottom: var(--hx-space-4, 1rem);\\n font-size: var(--hx-prose-font-size, var(--hx-font-size-md, 1rem));\\n line-height: var(--hx-prose-line-height, var(--hx-line-height-relaxed, 1.75));\\n color: var(--hx-prose-color, var(--hx-color-neutral-700, #343a40));\\n}\\n\\n/* Lead paragraph — opt-in via .lead class only.\\n Removed p:first-child because CKEditor/Drupal output always starts with a <p>\\n and promoting every first paragraph to lead styling is semantically incorrect\\n for healthcare content (medication instructions, care plans, clinical protocols). */\\nhx-prose p.lead {\\n font-size: var(--hx-prose-lead-font-size, var(--hx-font-size-lg, 1.125rem));\\n color: var(--hx-prose-lead-color, var(--hx-color-neutral-600, #495057));\\n}\\n\\n/* Blockquote */\\nhx-prose blockquote {\\n margin-top: 0;\\n margin-bottom: var(--hx-space-6, 1.5rem);\\n margin-left: 0;\\n margin-right: 0;\\n padding: var(--hx-space-4, 1rem) var(--hx-space-6, 1.5rem);\\n border-left: var(--hx-border-width-thick, 3px) solid var(--hx-color-primary-500, #2563eb);\\n background-color: var(--hx-color-surface-raised, var(--hx-color-neutral-50, #f8f9fa));\\n border-radius: 0 var(--hx-border-radius-sm, 0.25rem) var(--hx-border-radius-sm, 0.25rem) 0;\\n font-style: italic;\\n color: var(--hx-color-text-secondary, var(--hx-color-neutral-600, #495057));\\n}\\n\\nhx-prose blockquote p {\\n color: inherit;\\n}\\n\\nhx-prose blockquote p:last-child {\\n margin-bottom: 0;\\n}\\n\\nhx-prose blockquote cite {\\n display: block;\\n margin-top: var(--hx-space-2, 0.5rem);\\n font-size: var(--hx-font-size-sm, 0.875rem);\\n font-style: normal;\\n font-weight: var(--hx-font-weight-medium, 500);\\n color: var(--hx-color-text-muted, var(--hx-color-neutral-500, #6c757d));\\n}\\n\\nhx-prose blockquote cite::before {\\n content: '\\\\2014\\\\00A0';\\n}\\n\\n/* Horizontal Rule */\\nhx-prose hr {\\n border: 0;\\n border-top: var(--hx-divider-width, var(--hx-border-width-thin, 1px)) solid\\n var(--hx-divider-color, var(--hx-color-border-default, var(--hx-color-neutral-200, #dee2e6)));\\n margin-top: var(--hx-space-8, 2rem);\\n margin-bottom: var(--hx-space-8, 2rem);\\n}\\n\\n/* Inline Text Elements */\\nhx-prose strong,\\nhx-prose b {\\n font-weight: var(--hx-font-weight-semibold, 600);\\n color: var(--hx-prose-heading-color, var(--hx-color-neutral-900, #111827));\\n}\\n\\nhx-prose em,\\nhx-prose i {\\n font-style: italic;\\n}\\n\\nhx-prose small {\\n font-size: var(--hx-font-size-sm, 0.875rem);\\n color: var(--hx-color-text-muted, var(--hx-color-neutral-500, #6c757d));\\n}\\n\\nhx-prose mark {\\n background-color: var(--hx-color-warning-100, #fff3cd);\\n color: var(--hx-color-neutral-900, #0d1117);\\n padding: var(--hx-space-0, 0) var(--hx-space-1, 0.25rem);\\n border-radius: var(--hx-border-radius-sm, 0.25rem);\\n}\\n\\nhx-prose del,\\nhx-prose s {\\n text-decoration: line-through;\\n color: var(--hx-color-text-muted, var(--hx-color-neutral-500, #6c757d));\\n}\\n\\nhx-prose ins {\\n text-decoration: underline;\\n text-decoration-color: var(--hx-color-success-300, #75b798);\\n}\\n\\nhx-prose abbr[title] {\\n text-decoration: underline dotted;\\n text-decoration-color: var(--hx-color-text-muted, var(--hx-color-neutral-500, #6c757d));\\n cursor: help;\\n text-underline-offset: 0.15em;\\n}\\n\\nhx-prose sub,\\nhx-prose sup {\\n font-size: var(--hx-font-size-xs, 0.75rem);\\n line-height: 0;\\n position: relative;\\n vertical-align: baseline;\\n}\\n\\nhx-prose sup {\\n top: -0.5em;\\n}\\n\\nhx-prose sub {\\n bottom: -0.25em;\\n}\\n\\n/* Links */\\nhx-prose a {\\n color: var(\\n --hx-prose-link-color,\\n var(--hx-color-text-link, var(--hx-color-primary-600, #006868))\\n );\\n text-decoration: underline;\\n text-decoration-color: var(--hx-color-primary-200, #80c2c2);\\n text-underline-offset: 0.15em;\\n transition:\\n color var(--hx-transition-fast, 150ms ease),\\n text-decoration-color var(--hx-transition-fast, 150ms ease);\\n}\\n\\nhx-prose a:hover {\\n color: var(--hx-color-text-link-hover, var(--hx-color-primary-700, #005252));\\n text-decoration-color: currentColor;\\n}\\n\\nhx-prose a:visited {\\n color: var(--hx-color-text-link-visited, var(--hx-color-secondary-600, #4f46e5));\\n}\\n\\nhx-prose a:active {\\n color: var(--hx-color-text-link-active, var(--hx-color-primary-800, #003c3c));\\n}\\n\\nhx-prose a:focus-visible {\\n outline: var(--hx-focus-ring-width, 2px) solid\\n var(--hx-focus-ring-color, var(--hx-color-primary-500, #2563eb));\\n outline-offset: var(--hx-focus-ring-offset, 2px);\\n border-radius: var(--hx-border-radius-sm, 0.25rem);\\n}\\n\\n/* ==========================================================================\\n Lists\\n ========================================================================== */\\n\\nhx-prose ul,\\nhx-prose ol {\\n margin-top: 0;\\n margin-bottom: var(--hx-space-4, 1rem);\\n padding-left: var(--hx-space-6, 1.5rem);\\n color: var(--hx-prose-color, var(--hx-color-neutral-700, #343a40));\\n}\\n\\nhx-prose ul {\\n list-style-type: disc;\\n}\\n\\nhx-prose ol {\\n list-style-type: decimal;\\n}\\n\\nhx-prose li {\\n margin-bottom: var(--hx-space-2, 0.5rem);\\n font-size: var(--hx-prose-font-size, var(--hx-font-size-md, 1rem));\\n line-height: var(--hx-prose-line-height, var(--hx-line-height-relaxed, 1.75));\\n}\\n\\nhx-prose li:last-child {\\n margin-bottom: 0;\\n}\\n\\n/* Paragraph inside a list item */\\nhx-prose li > p {\\n margin-bottom: var(--hx-space-2, 0.5rem);\\n}\\n\\nhx-prose li > p:last-child {\\n margin-bottom: 0;\\n}\\n\\n/* Nested Lists */\\nhx-prose ul ul,\\nhx-prose ol ul {\\n list-style-type: circle;\\n margin-top: var(--hx-space-2, 0.5rem);\\n margin-bottom: var(--hx-space-2, 0.5rem);\\n}\\n\\nhx-prose ul ul ul,\\nhx-prose ol ul ul,\\nhx-prose ul ol ul,\\nhx-prose ol ol ul {\\n list-style-type: square;\\n}\\n\\nhx-prose ol ol,\\nhx-prose ul ol {\\n list-style-type: lower-alpha;\\n margin-top: var(--hx-space-2, 0.5rem);\\n margin-bottom: var(--hx-space-2, 0.5rem);\\n}\\n\\nhx-prose ol ol ol,\\nhx-prose ul ol ol,\\nhx-prose ol ul ol,\\nhx-prose ul ul ol {\\n list-style-type: lower-roman;\\n}\\n\\n/* List Marker Color */\\nhx-prose ul ::marker,\\nhx-prose ol ::marker {\\n color: var(--hx-color-text-muted, var(--hx-color-neutral-500, #6c757d));\\n}\\n\\n/* Definition Lists */\\nhx-prose dl {\\n margin-top: 0;\\n margin-bottom: var(--hx-space-4, 1rem);\\n}\\n\\nhx-prose dt {\\n font-weight: var(--hx-font-weight-semibold, 600);\\n color: var(--hx-prose-heading-color, var(--hx-color-neutral-900, #111827));\\n margin-bottom: var(--hx-space-1, 0.25rem);\\n}\\n\\nhx-prose dt + dt {\\n margin-top: var(--hx-space-4, 1rem);\\n}\\n\\nhx-prose dd {\\n margin-left: var(--hx-space-6, 1.5rem);\\n margin-bottom: var(--hx-space-4, 1rem);\\n color: var(--hx-prose-color, var(--hx-color-neutral-700, #343a40));\\n}\\n\\nhx-prose dd:last-child {\\n margin-bottom: 0;\\n}\\n\\n/* ==========================================================================\\n Tables\\n ========================================================================== */\\n\\nhx-prose table {\\n width: 100%;\\n border-collapse: collapse;\\n border-spacing: 0;\\n margin-top: 0;\\n margin-bottom: var(--hx-space-6, 1.5rem);\\n font-size: var(--hx-prose-font-size, var(--hx-font-size-md, 1rem));\\n line-height: var(--hx-line-height-normal, 1.5);\\n color: var(--hx-prose-color, var(--hx-color-neutral-700, #343a40));\\n overflow-x: auto;\\n display: block;\\n}\\n\\n@media (min-width: 640px) {\\n hx-prose table {\\n display: table;\\n }\\n}\\n\\nhx-prose caption {\\n padding-top: var(--hx-space-3, 0.75rem);\\n padding-bottom: var(--hx-space-3, 0.75rem);\\n font-size: var(--hx-font-size-sm, 0.875rem);\\n font-weight: var(--hx-font-weight-medium, 500);\\n color: var(--hx-color-text-muted, var(--hx-color-neutral-500, #6c757d));\\n text-align: left;\\n /* caption-side:top matches DOM order — WAI-ARIA authoring practices recommend\\n caption at top for data tables so screen reader announcement aligns with\\n visual placement. caption-side:bottom creates AT/visual mismatch (WCAG H39). */\\n caption-side: top;\\n}\\n\\nhx-prose thead {\\n border-bottom: var(--hx-border-width-medium, 2px) solid\\n var(--hx-color-border-default, var(--hx-color-neutral-200, #dee2e6));\\n}\\n\\nhx-prose tfoot {\\n border-top: var(--hx-border-width-medium, 2px) solid\\n var(--hx-color-border-default, var(--hx-color-neutral-200, #dee2e6));\\n}\\n\\nhx-prose th {\\n padding: var(--hx-space-3, 0.75rem) var(--hx-space-4, 1rem);\\n font-weight: var(--hx-font-weight-semibold, 600);\\n color: var(--hx-prose-heading-color, var(--hx-color-neutral-900, #111827));\\n text-align: left;\\n /* Removed white-space:nowrap — long clinical header text (e.g. \\\"Prescribing Physician\\\")\\n causes horizontal overflow on mobile viewports and forces table width to be\\n determined by longest header rather than content. */\\n background-color: var(--hx-color-surface-raised, var(--hx-color-neutral-50, #f8f9fa));\\n}\\n\\nhx-prose td {\\n padding: var(--hx-space-3, 0.75rem) var(--hx-space-4, 1rem);\\n border-bottom: var(--hx-border-width-thin, 1px) solid\\n var(--hx-color-border-default, var(--hx-color-neutral-200, #dee2e6));\\n vertical-align: top;\\n}\\n\\n/* Zebra Striping */\\nhx-prose tbody tr:nth-child(even) {\\n background-color: var(--hx-color-surface-raised, var(--hx-color-neutral-50, #f8f9fa));\\n}\\n\\n/* Row Hover */\\nhx-prose tbody tr:hover {\\n background-color: var(--hx-color-primary-50, #e6f3f3);\\n}\\n\\n/* Alignment Helpers — Drupal CKEditor compatibility shims.\\n The HTML `align` attribute is deprecated in HTML5 but CKEditor may still\\n emit it. These selectors normalize deprecated presentational markup.\\n Note: [align='left'] is intentionally omitted since left-align is the default. */\\nhx-prose th[align='center'],\\nhx-prose td[align='center'] {\\n text-align: center;\\n}\\n\\nhx-prose th[align='right'],\\nhx-prose td[align='right'] {\\n text-align: right;\\n}\\n\\n/* ==========================================================================\\n Code\\n ========================================================================== */\\n\\n/* Inline Code */\\nhx-prose code {\\n font-family: var(\\n --hx-font-family-mono,\\n 'JetBrains Mono',\\n ui-monospace,\\n 'Cascadia Code',\\n monospace\\n );\\n font-size: var(--hx-font-size-sm, 0.875em);\\n font-weight: var(--hx-font-weight-normal, 400);\\n background-color: var(--hx-color-surface-sunken, var(--hx-color-neutral-100, #e9ecef));\\n color: var(--hx-color-error-600, #b02a37);\\n padding: var(--hx-prose-code-padding-v, 0.125em) var(--hx-space-1, 0.25rem);\\n border-radius: var(--hx-border-radius-sm, 0.25rem);\\n word-break: break-word;\\n}\\n\\n/* Code Blocks */\\nhx-prose pre {\\n margin-top: 0;\\n margin-bottom: var(--hx-space-6, 1.5rem);\\n padding: var(--hx-space-4, 1rem) var(--hx-space-5, 1.25rem);\\n overflow-x: auto;\\n font-family: var(\\n --hx-font-family-mono,\\n 'JetBrains Mono',\\n ui-monospace,\\n 'Cascadia Code',\\n monospace\\n );\\n font-size: var(--hx-font-size-sm, 0.875rem);\\n line-height: var(--hx-line-height-relaxed, 1.75);\\n color: var(--hx-color-neutral-800, #212529);\\n background-color: var(--hx-color-surface-sunken, var(--hx-color-neutral-100, #e9ecef));\\n border: var(--hx-border-width-thin, 1px) solid\\n var(--hx-color-border-default, var(--hx-color-neutral-200, #dee2e6));\\n border-radius: var(--hx-border-radius-md, 0.375rem);\\n -webkit-overflow-scrolling: touch;\\n tab-size: 2;\\n}\\n\\n/* Reset inline code styles inside pre */\\nhx-prose pre code {\\n background-color: transparent;\\n color: inherit;\\n padding: 0;\\n border-radius: 0;\\n font-size: inherit;\\n font-weight: inherit;\\n word-break: normal;\\n}\\n\\n/* Keyboard Input */\\nhx-prose kbd {\\n font-family: var(\\n --hx-font-family-mono,\\n 'JetBrains Mono',\\n ui-monospace,\\n 'Cascadia Code',\\n monospace\\n );\\n font-size: var(--hx-font-size-sm, 0.875em);\\n padding: var(--hx-prose-code-padding-v, 0.125em) var(--hx-space-2, 0.5rem);\\n background-color: var(--hx-color-neutral-800, #212529);\\n color: var(--hx-color-neutral-0, #ffffff);\\n border-radius: var(--hx-border-radius-sm, 0.25rem);\\n box-shadow: var(--hx-shadow-inset-sm, inset 0 -1px 0 rgba(0, 0, 0, 0.25));\\n}\\n\\n/* Sample Output */\\nhx-prose samp {\\n font-family: var(\\n --hx-font-family-mono,\\n 'JetBrains Mono',\\n ui-monospace,\\n 'Cascadia Code',\\n monospace\\n );\\n font-size: var(--hx-font-size-sm, 0.875em);\\n}\\n\\n/* Variable */\\nhx-prose var {\\n font-style: italic;\\n color: var(--hx-color-secondary-600, #4f46e5);\\n}\\n\\n/* ==========================================================================\\n Media\\n ========================================================================== */\\n\\n/* Images */\\nhx-prose img {\\n max-width: 100%;\\n height: auto;\\n display: block;\\n border-radius: var(--hx-border-radius-sm, 0.25rem);\\n}\\n\\n/* Figure */\\nhx-prose figure {\\n margin: 0;\\n margin-bottom: var(--hx-space-6, 1.5rem);\\n}\\n\\nhx-prose figure img {\\n margin-bottom: 0;\\n}\\n\\nhx-prose figure > a {\\n display: block;\\n}\\n\\nhx-prose figure > a img {\\n border-radius: var(--hx-border-radius-sm, 0.25rem);\\n}\\n\\nhx-prose figcaption {\\n margin-top: var(--hx-space-2, 0.5rem);\\n font-size: var(--hx-font-size-sm, 0.875rem);\\n line-height: var(--hx-line-height-normal, 1.5);\\n color: var(--hx-color-text-muted, var(--hx-color-neutral-500, #6c757d));\\n font-style: italic;\\n}\\n\\n/* Video */\\nhx-prose video {\\n max-width: 100%;\\n height: auto;\\n display: block;\\n margin-bottom: var(--hx-space-6, 1.5rem);\\n border-radius: var(--hx-border-radius-sm, 0.25rem);\\n}\\n\\n/* Iframes */\\nhx-prose iframe {\\n max-width: 100%;\\n border: 0;\\n margin-bottom: var(--hx-space-6, 1.5rem);\\n border-radius: var(--hx-border-radius-sm, 0.25rem);\\n}\\n\\n/* Responsive Embed Wrapper */\\nhx-prose .embed-responsive,\\nhx-prose .video-embed,\\nhx-prose .media-oembed {\\n position: relative;\\n width: 100%;\\n padding-bottom: 56.25%;\\n height: 0;\\n overflow: hidden;\\n margin-bottom: var(--hx-space-6, 1.5rem);\\n border-radius: var(--hx-border-radius-sm, 0.25rem);\\n}\\n\\nhx-prose .embed-responsive iframe,\\nhx-prose .embed-responsive video,\\nhx-prose .video-embed iframe,\\nhx-prose .video-embed video,\\nhx-prose .media-oembed iframe,\\nhx-prose .media-oembed video {\\n position: absolute;\\n top: 0;\\n left: 0;\\n width: 100%;\\n height: 100%;\\n margin-bottom: 0;\\n border-radius: 0;\\n}\\n\\n/* Audio */\\nhx-prose audio {\\n width: 100%;\\n margin-bottom: var(--hx-space-6, 1.5rem);\\n}\\n\\n/* Object / Embed */\\nhx-prose object,\\nhx-prose embed {\\n max-width: 100%;\\n}\\n\\n/* ==========================================================================\\n Drupal\\n ========================================================================== */\\n\\n/* Drupal Field Wrappers */\\nhx-prose .field {\\n margin-bottom: var(--hx-space-4, 1rem);\\n}\\n\\nhx-prose .field:last-child {\\n margin-bottom: 0;\\n}\\n\\nhx-prose .field__label {\\n font-weight: var(--hx-font-weight-semibold, 600);\\n font-size: var(--hx-font-size-sm, 0.875rem);\\n color: var(--hx-color-text-secondary, var(--hx-color-neutral-600, #495057));\\n margin-bottom: var(--hx-space-1, 0.25rem);\\n text-transform: uppercase;\\n letter-spacing: var(--hx-letter-spacing-wide, 0.025em);\\n}\\n\\nhx-prose .field__item {\\n margin-bottom: var(--hx-space-2, 0.5rem);\\n}\\n\\nhx-prose .field__item:last-child {\\n margin-bottom: 0;\\n}\\n\\nhx-prose .field__items {\\n list-style: none;\\n padding-left: 0;\\n margin: 0;\\n}\\n\\n/* Text Formatted (CKEditor wrapper) */\\nhx-prose .text-formatted > *:last-child {\\n margin-bottom: 0;\\n}\\n\\n/* Drupal Media Embeds */\\nhx-prose .media-embed,\\nhx-prose .embedded-entity,\\nhx-prose .media--type-image,\\nhx-prose .media--type-remote-video {\\n margin-top: var(--hx-space-4, 1rem);\\n margin-bottom: var(--hx-space-6, 1.5rem);\\n}\\n\\nhx-prose .media-embed img,\\nhx-prose .embedded-entity img {\\n max-width: 100%;\\n height: auto;\\n display: block;\\n}\\n\\n/* CKEditor Alignment Classes */\\nhx-prose .align-left {\\n float: left;\\n margin-right: var(--hx-space-6, 1.5rem);\\n margin-bottom: var(--hx-space-4, 1rem);\\n max-width: 50%;\\n}\\n\\nhx-prose .align-right {\\n float: right;\\n margin-left: var(--hx-space-6, 1.5rem);\\n margin-bottom: var(--hx-space-4, 1rem);\\n max-width: 50%;\\n}\\n\\nhx-prose .align-center {\\n display: block;\\n margin-left: auto;\\n margin-right: auto;\\n margin-bottom: var(--hx-space-6, 1.5rem);\\n text-align: center;\\n}\\n\\n/* Reset float on alignment images */\\nhx-prose .align-left img,\\nhx-prose .align-right img {\\n display: block;\\n}\\n\\n/* Float siblings — allow content to wrap around aligned images (intentional).\\n Removed explicit clear:none; the default is already no-clear and setting it\\n explicitly prevented consumers from overriding it when clearfix is needed.\\n Use the .clearfix utility class on the parent container when floats must be cleared. */\\n\\n/* CKEditor Caption */\\nhx-prose .caption {\\n margin-bottom: var(--hx-space-6, 1.5rem);\\n}\\n\\nhx-prose .caption figcaption,\\nhx-prose .caption .caption-text {\\n font-size: var(--hx-font-size-sm, 0.875rem);\\n color: var(--hx-color-text-muted, var(--hx-color-neutral-500, #6c757d));\\n font-style: italic;\\n margin-top: var(--hx-space-2, 0.5rem);\\n}\\n\\n/* Drupal Table Classes */\\nhx-prose .table-responsive {\\n overflow-x: auto;\\n -webkit-overflow-scrolling: touch;\\n margin-bottom: var(--hx-space-6, 1.5rem);\\n}\\n\\nhx-prose .table-responsive table {\\n margin-bottom: 0;\\n}\\n\\n/* Drupal Messages / Callouts */\\nhx-prose .messages,\\nhx-prose .callout {\\n padding: var(--hx-space-4, 1rem) var(--hx-space-5, 1.25rem);\\n margin-bottom: var(--hx-space-4, 1rem);\\n border: var(--hx-border-width-thin, 1px) solid\\n var(--hx-color-border-default, var(--hx-color-neutral-200, #dee2e6));\\n border-radius: var(--hx-border-radius-md, 0.375rem);\\n border-left-width: var(--hx-border-width-thick, 3px);\\n}\\n\\nhx-prose .messages--status {\\n border-left-color: var(--hx-color-success-500, #198754);\\n background-color: var(--hx-color-success-50, #f0fdf4);\\n}\\n\\nhx-prose .messages--warning {\\n border-left-color: var(--hx-color-warning-500, #ffc107);\\n background-color: var(--hx-color-warning-50, #fffbeb);\\n}\\n\\nhx-prose .messages--error {\\n border-left-color: var(--hx-color-error-500, #dc3545);\\n background-color: var(--hx-color-error-50, #fef2f2);\\n}\\n\\n/* CKEditor Content Separator */\\nhx-prose .page-break {\\n border: 0;\\n border-top: var(--hx-border-width-thin, 1px) dashed\\n var(--hx-color-border-default, var(--hx-color-neutral-200, #dee2e6));\\n margin-top: var(--hx-space-8, 2rem);\\n margin-bottom: var(--hx-space-8, 2rem);\\n}\\n\\n/* Clear Floats */\\nhx-prose .clearfix::after {\\n content: '';\\n display: table;\\n clear: both;\\n}\\n\"","import proseScopedCss from '../../styles/prose/prose.scoped.css?raw';\n\nexport const helixProseScopedCss = proseScopedCss;\n","import { LitElement, html } from 'lit';\nimport { customElement, property } from 'lit/decorators.js';\nimport { AdoptedStylesheetsController } from '../../controllers/adopted-stylesheets.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 LitElement {\n // ─── Light DOM ───\n\n override createRenderRoot(): this {\n return this;\n }\n\n // ─── Adopted Stylesheets ───\n\n private adoptedStyles = new AdoptedStylesheetsController(this, helixProseScopedCss, document);\n\n // ─── Properties ───\n\n /**\n * Typography scale for the prose content.\n * @attr size\n */\n @property({ type: String, reflect: true })\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 this.style.display = 'block';\n this._applyMaxWidth();\n this._applySize();\n }\n\n override updated(changedProperties: Map<string, unknown>): 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 private _applyMaxWidth(): void {\n if (this.maxWidth) {\n this.style.maxWidth = this.maxWidth;\n } else {\n this.style.maxWidth = '';\n }\n }\n\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","LitElement","AdoptedStylesheetsController","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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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;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,GCEFC,IAAsBD;;;;;;AC0B5B,IAAME,IAAN,cAAyBC,EAAW;AAAA,EAApC,cAAA;AAAA,UAAA,GAAA,SAAA,GASL,KAAQ,gBAAgB,IAAIC,EAA6B,MAAMH,GAAqB,QAAQ,GAS5F,KAAA,OAA6B,QAQ7B,KAAA,WAAW;AAAA,EAAA;AAAA;AAAA,EAvBF,mBAAyB;AAChC,WAAO;AAAA,EACT;AAAA;AAAA,EAyBS,oBAA0B;AACjC,UAAM,kBAAA,GACN,KAAK,MAAM,UAAU,SACrB,KAAK,eAAA,GACL,KAAK,WAAA;AAAA,EACP;AAAA,EAES,QAAQI,GAA+C;AAC9D,IAAIA,EAAkB,IAAI,UAAU,KAClC,KAAK,eAAA,GAEHA,EAAkB,IAAI,MAAM,KAC9B,KAAK,WAAA;AAAA,EAET;AAAA;AAAA,EAIQ,iBAAuB;AAC7B,IAAI,KAAK,WACP,KAAK,MAAM,WAAW,KAAK,WAE3B,KAAK,MAAM,WAAW;AAAA,EAE1B;AAAA,EAEQ,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;AA1DEC,EAAA;AAAA,EADCC,EAAS,EAAE,MAAM,QAAQ,SAAS,IAAM;AAAA,GAjB9BP,EAkBX,WAAA,QAAA,CAAA;AAQAM,EAAA;AAAA,EADCC,EAAS,EAAE,MAAM,QAAQ,SAAS,IAAM,WAAW,aAAa;AAAA,GAzBtDP,EA0BX,WAAA,YAAA,CAAA;AA1BWA,IAANM,EAAA;AAAA,EADNE,EAAc,UAAU;AAAA,GACZR,CAAA;"}
|
|
@@ -0,0 +1,481 @@
|
|
|
1
|
+
import { css as g, LitElement as y, nothing as h, html as p } from "lit";
|
|
2
|
+
import { property as d, query as R, state as S, customElement as m } from "lit/decorators.js";
|
|
3
|
+
import { classMap as k } from "lit/directives/class-map.js";
|
|
4
|
+
import { t as w } from "./lit-Dpo7RLp4.js";
|
|
5
|
+
const E = g`
|
|
6
|
+
:host {
|
|
7
|
+
display: block;
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
:host([disabled]) {
|
|
11
|
+
opacity: var(--hx-opacity-disabled, 0.5);
|
|
12
|
+
pointer-events: none;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
* {
|
|
16
|
+
box-sizing: border-box;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
/* ─── Fieldset ─── */
|
|
20
|
+
|
|
21
|
+
.fieldset {
|
|
22
|
+
border: none;
|
|
23
|
+
margin: 0;
|
|
24
|
+
padding: 0;
|
|
25
|
+
display: flex;
|
|
26
|
+
flex-direction: column;
|
|
27
|
+
gap: var(--hx-space-2, 0.5rem);
|
|
28
|
+
font-family: var(--hx-font-family-sans, sans-serif);
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
/* ─── Legend ─── */
|
|
32
|
+
|
|
33
|
+
.fieldset__legend {
|
|
34
|
+
display: flex;
|
|
35
|
+
align-items: baseline;
|
|
36
|
+
gap: var(--hx-space-1, 0.25rem);
|
|
37
|
+
font-size: var(--hx-font-size-sm, 0.875rem);
|
|
38
|
+
font-weight: var(--hx-font-weight-medium, 500);
|
|
39
|
+
color: var(--hx-radio-group-label-color, var(--hx-color-neutral-700, #343a40));
|
|
40
|
+
line-height: var(--hx-line-height-normal, 1.5);
|
|
41
|
+
padding: 0;
|
|
42
|
+
margin-bottom: var(--hx-space-1, 0.25rem);
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
.fieldset__required-marker {
|
|
46
|
+
color: var(--hx-radio-group-error-color, var(--hx-color-error-text, #b91c1c));
|
|
47
|
+
font-weight: var(--hx-font-weight-bold, 700);
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
/* ─── Group Container ─── */
|
|
51
|
+
|
|
52
|
+
.fieldset__group {
|
|
53
|
+
display: flex;
|
|
54
|
+
flex-direction: column;
|
|
55
|
+
gap: var(--hx-radio-group-gap, var(--hx-space-3, 0.75rem));
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
:host([orientation='horizontal']) .fieldset__group {
|
|
59
|
+
flex-direction: row;
|
|
60
|
+
flex-wrap: wrap;
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
/* ─── Error State ─── */
|
|
64
|
+
|
|
65
|
+
.fieldset--error .fieldset__legend {
|
|
66
|
+
color: var(--hx-radio-group-error-color, var(--hx-color-error-text, #b91c1c));
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
/* ─── Help Text & Error Messages ─── */
|
|
70
|
+
|
|
71
|
+
.fieldset__help-text {
|
|
72
|
+
font-size: var(--hx-font-size-xs, 0.75rem);
|
|
73
|
+
color: var(--hx-color-neutral-500, #6c757d);
|
|
74
|
+
line-height: var(--hx-line-height-normal, 1.5);
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
.fieldset__error {
|
|
78
|
+
font-size: var(--hx-font-size-xs, 0.75rem);
|
|
79
|
+
color: var(--hx-radio-group-error-color, var(--hx-color-error-text, #b91c1c));
|
|
80
|
+
line-height: var(--hx-line-height-normal, 1.5);
|
|
81
|
+
}
|
|
82
|
+
`;
|
|
83
|
+
var $ = Object.defineProperty, C = Object.getOwnPropertyDescriptor, n = (e, r, o, t) => {
|
|
84
|
+
for (var i = t > 1 ? void 0 : t ? C(r, o) : r, a = e.length - 1, l; a >= 0; a--)
|
|
85
|
+
(l = e[a]) && (i = (t ? l(r, o, i) : l(i)) || i);
|
|
86
|
+
return t && i && $(r, o, i), i;
|
|
87
|
+
};
|
|
88
|
+
let I = 0, s = class extends y {
|
|
89
|
+
constructor() {
|
|
90
|
+
super(), this.value = "", this.name = "", this.label = "", this.required = !1, this.disabled = !1, this.error = "", this.helpText = "", this.orientation = "vertical", this._hasErrorSlot = !1, this._groupId = `hx-radio-group-${++I}`, this._helpTextId = `${this._groupId}-help`, this._errorId = `${this._groupId}-error`, this._cachedRadios = null, this._individualDisabledStates = /* @__PURE__ */ new WeakMap(), this._handleRadioSelect = (e) => {
|
|
91
|
+
e.stopPropagation();
|
|
92
|
+
const r = e.detail.value;
|
|
93
|
+
r !== this.value && (this.value = r, this.dispatchEvent(
|
|
94
|
+
new CustomEvent("hx-change", {
|
|
95
|
+
bubbles: !0,
|
|
96
|
+
composed: !0,
|
|
97
|
+
detail: { value: this.value, checked: !0 }
|
|
98
|
+
})
|
|
99
|
+
));
|
|
100
|
+
}, this._handleKeydown = (e) => {
|
|
101
|
+
var v, x, b, _;
|
|
102
|
+
const r = this._getEnabledRadios();
|
|
103
|
+
if (r.length === 0 || ![
|
|
104
|
+
"ArrowUp",
|
|
105
|
+
"ArrowDown",
|
|
106
|
+
"ArrowLeft",
|
|
107
|
+
"ArrowRight",
|
|
108
|
+
" ",
|
|
109
|
+
"Home",
|
|
110
|
+
"End"
|
|
111
|
+
].includes(e.key))
|
|
112
|
+
return;
|
|
113
|
+
if (e.preventDefault(), e.key === " ") {
|
|
114
|
+
const u = (x = (v = e.target) == null ? void 0 : v.closest) == null ? void 0 : x.call(v, "hx-radio");
|
|
115
|
+
u && !u.disabled && u.dispatchEvent(
|
|
116
|
+
new CustomEvent("hx-radio-select", {
|
|
117
|
+
bubbles: !0,
|
|
118
|
+
composed: !0,
|
|
119
|
+
detail: { value: u.value }
|
|
120
|
+
})
|
|
121
|
+
);
|
|
122
|
+
return;
|
|
123
|
+
}
|
|
124
|
+
const t = (_ = (b = e.target) == null ? void 0 : b.closest) == null ? void 0 : _.call(b, "hx-radio"), i = t ? r.indexOf(t) : r.findIndex((u) => u.checked);
|
|
125
|
+
let a;
|
|
126
|
+
e.key === "Home" ? a = 0 : e.key === "End" ? a = r.length - 1 : e.key === "ArrowDown" || e.key === "ArrowRight" ? a = i === -1 ? 0 : (i + 1) % r.length : a = i <= 0 ? r.length - 1 : i - 1;
|
|
127
|
+
const l = r[a];
|
|
128
|
+
l && (l.focus(), l.dispatchEvent(
|
|
129
|
+
new CustomEvent("hx-radio-select", {
|
|
130
|
+
bubbles: !0,
|
|
131
|
+
composed: !0,
|
|
132
|
+
detail: { value: l.value }
|
|
133
|
+
})
|
|
134
|
+
));
|
|
135
|
+
}, this._internals = this.attachInternals();
|
|
136
|
+
}
|
|
137
|
+
// ─── Slot Handlers ───
|
|
138
|
+
_handleErrorSlotChange(e) {
|
|
139
|
+
const r = e.target;
|
|
140
|
+
this._hasErrorSlot = r.assignedNodes({ flatten: !0 }).length > 0;
|
|
141
|
+
}
|
|
142
|
+
// ─── Lifecycle ───
|
|
143
|
+
connectedCallback() {
|
|
144
|
+
super.connectedCallback(), this.addEventListener("hx-radio-select", this._handleRadioSelect), this.addEventListener("keydown", this._handleKeydown);
|
|
145
|
+
}
|
|
146
|
+
disconnectedCallback() {
|
|
147
|
+
super.disconnectedCallback(), this.removeEventListener("hx-radio-select", this._handleRadioSelect), this.removeEventListener("keydown", this._handleKeydown);
|
|
148
|
+
}
|
|
149
|
+
updated(e) {
|
|
150
|
+
super.updated(e), e.has("value") && (this._internals.setFormValue(this.value || null), this._syncRadios(), this._updateValidity()), e.has("disabled") && this._syncRadios();
|
|
151
|
+
}
|
|
152
|
+
firstUpdated(e) {
|
|
153
|
+
super.firstUpdated(e), this._syncRadios(), this._updateValidity();
|
|
154
|
+
}
|
|
155
|
+
_getRadios() {
|
|
156
|
+
return this._cachedRadios || (this._cachedRadios = Array.from(this.querySelectorAll("hx-radio"))), this._cachedRadios;
|
|
157
|
+
}
|
|
158
|
+
_getEnabledRadios() {
|
|
159
|
+
return this._getRadios().filter((e) => !e.disabled && !this.disabled);
|
|
160
|
+
}
|
|
161
|
+
_syncRadios() {
|
|
162
|
+
const e = this._getRadios(), r = this._getEnabledRadios();
|
|
163
|
+
e.forEach((t) => {
|
|
164
|
+
const i = t.value === this.value && this.value !== "";
|
|
165
|
+
if (t.checked = i, this.disabled)
|
|
166
|
+
this._individualDisabledStates.has(t) || this._individualDisabledStates.set(t, t.disabled), t.disabled = !0;
|
|
167
|
+
else {
|
|
168
|
+
const a = this._individualDisabledStates.get(t);
|
|
169
|
+
a !== void 0 && (t.disabled = a, this._individualDisabledStates.delete(t));
|
|
170
|
+
}
|
|
171
|
+
});
|
|
172
|
+
const o = r.find((t) => t.checked);
|
|
173
|
+
if (e.forEach((t) => {
|
|
174
|
+
t.tabIndex = -1;
|
|
175
|
+
}), o)
|
|
176
|
+
o.tabIndex = 0;
|
|
177
|
+
else if (r.length > 0) {
|
|
178
|
+
const t = r[0];
|
|
179
|
+
t && (t.tabIndex = 0);
|
|
180
|
+
}
|
|
181
|
+
}
|
|
182
|
+
_handleSlotChange() {
|
|
183
|
+
this._cachedRadios = null, this._syncRadios();
|
|
184
|
+
}
|
|
185
|
+
// ─── Form Integration ───
|
|
186
|
+
/** Returns the associated form element, if any. */
|
|
187
|
+
get form() {
|
|
188
|
+
return this._internals.form;
|
|
189
|
+
}
|
|
190
|
+
/** Returns the validation message. */
|
|
191
|
+
get validationMessage() {
|
|
192
|
+
return this._internals.validationMessage;
|
|
193
|
+
}
|
|
194
|
+
/** Returns the ValidityState object. */
|
|
195
|
+
get validity() {
|
|
196
|
+
return this._internals.validity;
|
|
197
|
+
}
|
|
198
|
+
/** Checks whether the group satisfies its constraints. */
|
|
199
|
+
checkValidity() {
|
|
200
|
+
return this._internals.checkValidity();
|
|
201
|
+
}
|
|
202
|
+
/** Reports validity and shows the browser's constraint validation UI. */
|
|
203
|
+
reportValidity() {
|
|
204
|
+
return this._internals.reportValidity();
|
|
205
|
+
}
|
|
206
|
+
_updateValidity() {
|
|
207
|
+
this.required && !this.value ? this._internals.setValidity(
|
|
208
|
+
{ valueMissing: !0 },
|
|
209
|
+
this.error || "Please select an option.",
|
|
210
|
+
this._groupEl ?? void 0
|
|
211
|
+
) : this._internals.setValidity({});
|
|
212
|
+
}
|
|
213
|
+
/** Called by the form when it resets. */
|
|
214
|
+
formResetCallback() {
|
|
215
|
+
this.value = "", this._internals.setFormValue(null), this._syncRadios();
|
|
216
|
+
}
|
|
217
|
+
/** Called when the form restores state (e.g., back/forward navigation). */
|
|
218
|
+
formStateRestoreCallback(e, r) {
|
|
219
|
+
typeof e == "string" && (this.value = e);
|
|
220
|
+
}
|
|
221
|
+
// ─── Render ───
|
|
222
|
+
render() {
|
|
223
|
+
const e = !!this.error, r = `${this._groupId}-legend`, o = {
|
|
224
|
+
fieldset: !0,
|
|
225
|
+
"fieldset--error": e,
|
|
226
|
+
"fieldset--disabled": this.disabled,
|
|
227
|
+
"fieldset--required": this.required
|
|
228
|
+
}, t = !this._hasErrorSlot && e ? this._errorId : h, i = t !== h ? t : this.helpText ? this._helpTextId : h;
|
|
229
|
+
return p`
|
|
230
|
+
<fieldset
|
|
231
|
+
part="fieldset"
|
|
232
|
+
class=${k(o)}
|
|
233
|
+
role="radiogroup"
|
|
234
|
+
aria-labelledby=${this.label ? r : h}
|
|
235
|
+
aria-describedby=${i}
|
|
236
|
+
aria-required=${this.required ? "true" : h}
|
|
237
|
+
>
|
|
238
|
+
${this.label ? p`
|
|
239
|
+
<legend part="legend" class="fieldset__legend" id=${r}>
|
|
240
|
+
${this.label}
|
|
241
|
+
${this.required ? p`<span class="fieldset__required-marker" aria-hidden="true">*</span>` : h}
|
|
242
|
+
</legend>
|
|
243
|
+
` : h}
|
|
244
|
+
|
|
245
|
+
<div part="group" class="fieldset__group" role="none">
|
|
246
|
+
<slot @slotchange=${this._handleSlotChange}></slot>
|
|
247
|
+
</div>
|
|
248
|
+
|
|
249
|
+
<slot name="error" @slotchange=${this._handleErrorSlotChange}>
|
|
250
|
+
${e ? p`<div part="error" class="fieldset__error" id=${this._errorId} role="alert">
|
|
251
|
+
${this.error}
|
|
252
|
+
</div>` : h}
|
|
253
|
+
</slot>
|
|
254
|
+
|
|
255
|
+
${this.helpText && !e ? p`
|
|
256
|
+
<div part="help-text" class="fieldset__help-text" id=${this._helpTextId}>
|
|
257
|
+
<slot name="help-text">${this.helpText}</slot>
|
|
258
|
+
</div>
|
|
259
|
+
` : h}
|
|
260
|
+
</fieldset>
|
|
261
|
+
`;
|
|
262
|
+
}
|
|
263
|
+
};
|
|
264
|
+
s.styles = [w, E];
|
|
265
|
+
s.formAssociated = !0;
|
|
266
|
+
n([
|
|
267
|
+
d({ type: String })
|
|
268
|
+
], s.prototype, "value", 2);
|
|
269
|
+
n([
|
|
270
|
+
d({ type: String })
|
|
271
|
+
], s.prototype, "name", 2);
|
|
272
|
+
n([
|
|
273
|
+
d({ type: String })
|
|
274
|
+
], s.prototype, "label", 2);
|
|
275
|
+
n([
|
|
276
|
+
d({ type: Boolean, reflect: !0 })
|
|
277
|
+
], s.prototype, "required", 2);
|
|
278
|
+
n([
|
|
279
|
+
d({ type: Boolean, reflect: !0 })
|
|
280
|
+
], s.prototype, "disabled", 2);
|
|
281
|
+
n([
|
|
282
|
+
d({ type: String })
|
|
283
|
+
], s.prototype, "error", 2);
|
|
284
|
+
n([
|
|
285
|
+
d({ type: String, attribute: "help-text" })
|
|
286
|
+
], s.prototype, "helpText", 2);
|
|
287
|
+
n([
|
|
288
|
+
d({ type: String, reflect: !0 })
|
|
289
|
+
], s.prototype, "orientation", 2);
|
|
290
|
+
n([
|
|
291
|
+
R(".fieldset__group")
|
|
292
|
+
], s.prototype, "_groupEl", 2);
|
|
293
|
+
n([
|
|
294
|
+
S()
|
|
295
|
+
], s.prototype, "_hasErrorSlot", 2);
|
|
296
|
+
s = n([
|
|
297
|
+
m("hx-radio-group")
|
|
298
|
+
], s);
|
|
299
|
+
const z = g`
|
|
300
|
+
:host {
|
|
301
|
+
display: block;
|
|
302
|
+
}
|
|
303
|
+
|
|
304
|
+
:host([disabled]) {
|
|
305
|
+
opacity: var(--hx-opacity-disabled, 0.5);
|
|
306
|
+
pointer-events: none;
|
|
307
|
+
}
|
|
308
|
+
|
|
309
|
+
* {
|
|
310
|
+
box-sizing: border-box;
|
|
311
|
+
}
|
|
312
|
+
|
|
313
|
+
.radio {
|
|
314
|
+
display: inline-flex;
|
|
315
|
+
align-items: center;
|
|
316
|
+
gap: var(--hx-space-2, 0.5rem);
|
|
317
|
+
cursor: pointer;
|
|
318
|
+
position: relative;
|
|
319
|
+
font-family: var(--hx-font-family-sans, sans-serif);
|
|
320
|
+
}
|
|
321
|
+
|
|
322
|
+
.radio--disabled {
|
|
323
|
+
cursor: not-allowed;
|
|
324
|
+
}
|
|
325
|
+
|
|
326
|
+
/* ─── Hidden Native Input ─── */
|
|
327
|
+
|
|
328
|
+
.radio__input {
|
|
329
|
+
position: absolute;
|
|
330
|
+
width: 1px;
|
|
331
|
+
height: 1px;
|
|
332
|
+
padding: 0;
|
|
333
|
+
margin: -1px;
|
|
334
|
+
overflow: hidden;
|
|
335
|
+
clip: rect(0, 0, 0, 0);
|
|
336
|
+
white-space: nowrap;
|
|
337
|
+
border: 0;
|
|
338
|
+
}
|
|
339
|
+
|
|
340
|
+
/* ─── Visual Radio Circle ─── */
|
|
341
|
+
|
|
342
|
+
.radio__control {
|
|
343
|
+
display: inline-flex;
|
|
344
|
+
align-items: center;
|
|
345
|
+
justify-content: center;
|
|
346
|
+
width: var(--hx-radio-size, var(--hx-size-5, 1.25rem));
|
|
347
|
+
height: var(--hx-radio-size, var(--hx-size-5, 1.25rem));
|
|
348
|
+
border: var(--hx-border-width-medium, 2px) solid
|
|
349
|
+
var(--hx-radio-border-color, var(--hx-color-neutral-300, #ced4da));
|
|
350
|
+
border-radius: var(--hx-border-radius-full, 9999px);
|
|
351
|
+
background-color: var(--hx-color-neutral-0, #ffffff);
|
|
352
|
+
transition:
|
|
353
|
+
border-color var(--hx-transition-fast, 150ms ease),
|
|
354
|
+
background-color var(--hx-transition-fast, 150ms ease),
|
|
355
|
+
box-shadow var(--hx-transition-fast, 150ms ease);
|
|
356
|
+
flex-shrink: 0;
|
|
357
|
+
}
|
|
358
|
+
|
|
359
|
+
/* ─── Inner Dot ─── */
|
|
360
|
+
|
|
361
|
+
.radio__dot {
|
|
362
|
+
width: 0;
|
|
363
|
+
height: 0;
|
|
364
|
+
border-radius: var(--hx-border-radius-full, 9999px);
|
|
365
|
+
background-color: var(--hx-radio-dot-color, var(--hx-color-neutral-0, #ffffff));
|
|
366
|
+
transition:
|
|
367
|
+
width var(--hx-transition-fast, 150ms ease),
|
|
368
|
+
height var(--hx-transition-fast, 150ms ease);
|
|
369
|
+
}
|
|
370
|
+
|
|
371
|
+
/* ─── Checked State ─── */
|
|
372
|
+
|
|
373
|
+
.radio--checked .radio__control {
|
|
374
|
+
border-color: var(--hx-radio-checked-border-color, var(--hx-color-primary-500, #2563eb));
|
|
375
|
+
background-color: var(--hx-radio-checked-bg, var(--hx-color-primary-500, #2563eb));
|
|
376
|
+
}
|
|
377
|
+
|
|
378
|
+
.radio--checked .radio__dot {
|
|
379
|
+
width: calc(var(--hx-radio-size, var(--hx-size-5, 1.25rem)) * 0.4);
|
|
380
|
+
height: calc(var(--hx-radio-size, var(--hx-size-5, 1.25rem)) * 0.4);
|
|
381
|
+
}
|
|
382
|
+
|
|
383
|
+
/* ─── Focus State ─── */
|
|
384
|
+
|
|
385
|
+
:host(:focus-visible) .radio__control {
|
|
386
|
+
outline: var(--hx-focus-ring-width, 2px) solid
|
|
387
|
+
var(--hx-radio-focus-ring-color, var(--hx-focus-ring-color, #2563eb));
|
|
388
|
+
outline-offset: var(--hx-focus-ring-offset, 2px);
|
|
389
|
+
}
|
|
390
|
+
|
|
391
|
+
/* ─── Hover State ─── */
|
|
392
|
+
|
|
393
|
+
.radio:not(.radio--disabled):not(.radio--checked):hover .radio__control {
|
|
394
|
+
border-color: var(--hx-color-neutral-400, #adb5bd);
|
|
395
|
+
}
|
|
396
|
+
|
|
397
|
+
/* ─── Label ─── */
|
|
398
|
+
|
|
399
|
+
.radio__label {
|
|
400
|
+
font-size: var(--hx-font-size-md, 1rem);
|
|
401
|
+
color: var(--hx-radio-label-color, var(--hx-color-neutral-700, #343a40));
|
|
402
|
+
line-height: var(--hx-line-height-normal, 1.5);
|
|
403
|
+
user-select: none;
|
|
404
|
+
-webkit-user-select: none;
|
|
405
|
+
}
|
|
406
|
+
`;
|
|
407
|
+
var D = Object.defineProperty, A = Object.getOwnPropertyDescriptor, f = (e, r, o, t) => {
|
|
408
|
+
for (var i = t > 1 ? void 0 : t ? A(r, o) : r, a = e.length - 1, l; a >= 0; a--)
|
|
409
|
+
(l = e[a]) && (i = (t ? l(r, o, i) : l(i)) || i);
|
|
410
|
+
return t && i && D(r, o, i), i;
|
|
411
|
+
};
|
|
412
|
+
let V = 0, c = class extends y {
|
|
413
|
+
constructor() {
|
|
414
|
+
super(...arguments), this.value = "", this.label = "", this.disabled = !1, this.checked = !1, this._inputId = `hx-radio-${++V}`;
|
|
415
|
+
}
|
|
416
|
+
// ─── Lifecycle ───
|
|
417
|
+
connectedCallback() {
|
|
418
|
+
super.connectedCallback(), this.setAttribute("role", "radio"), this.setAttribute("aria-checked", String(this.checked)), this.setAttribute("aria-disabled", String(this.disabled));
|
|
419
|
+
}
|
|
420
|
+
updated(e) {
|
|
421
|
+
super.updated(e), e.has("checked") && this.setAttribute("aria-checked", String(this.checked)), e.has("disabled") && this.setAttribute("aria-disabled", String(this.disabled));
|
|
422
|
+
}
|
|
423
|
+
// ─── Event Handling ───
|
|
424
|
+
_handleClick() {
|
|
425
|
+
this.disabled || this.dispatchEvent(
|
|
426
|
+
new CustomEvent("hx-radio-select", {
|
|
427
|
+
bubbles: !0,
|
|
428
|
+
composed: !0,
|
|
429
|
+
detail: { value: this.value }
|
|
430
|
+
})
|
|
431
|
+
);
|
|
432
|
+
}
|
|
433
|
+
// ─── Render ───
|
|
434
|
+
render() {
|
|
435
|
+
const e = {
|
|
436
|
+
radio: !0,
|
|
437
|
+
"radio--checked": this.checked,
|
|
438
|
+
"radio--disabled": this.disabled
|
|
439
|
+
};
|
|
440
|
+
return p`
|
|
441
|
+
<div class=${k(e)} @click=${this._handleClick}>
|
|
442
|
+
<input
|
|
443
|
+
class="radio__input"
|
|
444
|
+
type="radio"
|
|
445
|
+
id=${this._inputId}
|
|
446
|
+
.checked=${this.checked}
|
|
447
|
+
?disabled=${this.disabled}
|
|
448
|
+
tabindex="-1"
|
|
449
|
+
aria-hidden="true"
|
|
450
|
+
/>
|
|
451
|
+
<span part="radio" class="radio__control" aria-hidden="true">
|
|
452
|
+
<span class="radio__dot"></span>
|
|
453
|
+
</span>
|
|
454
|
+
<span part="label" class="radio__label">
|
|
455
|
+
<slot>${this.label}</slot>
|
|
456
|
+
</span>
|
|
457
|
+
</div>
|
|
458
|
+
`;
|
|
459
|
+
}
|
|
460
|
+
};
|
|
461
|
+
c.styles = [w, z];
|
|
462
|
+
f([
|
|
463
|
+
d({ type: String })
|
|
464
|
+
], c.prototype, "value", 2);
|
|
465
|
+
f([
|
|
466
|
+
d({ type: String })
|
|
467
|
+
], c.prototype, "label", 2);
|
|
468
|
+
f([
|
|
469
|
+
d({ type: Boolean, reflect: !0 })
|
|
470
|
+
], c.prototype, "disabled", 2);
|
|
471
|
+
f([
|
|
472
|
+
d({ type: Boolean, reflect: !0 })
|
|
473
|
+
], c.prototype, "checked", 2);
|
|
474
|
+
c = f([
|
|
475
|
+
m("hx-radio")
|
|
476
|
+
], c);
|
|
477
|
+
export {
|
|
478
|
+
c as H,
|
|
479
|
+
s as a
|
|
480
|
+
};
|
|
481
|
+
//# sourceMappingURL=hx-radio-93uKku6B.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hx-radio-93uKku6B.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-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-neutral-700, #343a40));\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, #b91c1c));\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, #b91c1c));\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-color-neutral-500, #6c757d);\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, #b91c1c));\n line-height: var(--hx-line-height-normal, 1.5);\n }\n`;\n","import { LitElement, html, nothing } from 'lit';\nimport { customElement, property, query, state } from 'lit/decorators.js';\nimport { classMap } from 'lit/directives/class-map.js';\nimport { tokenStyles } from '@helixui/tokens/lit';\nimport { helixRadioGroupStyles } from './hx-radio-group.styles.js';\nimport type { HelixRadio } from './hx-radio.js';\n\nlet _groupCounter = 0;\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 *\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, #343a40)] - Label text color.\n * @cssprop [--hx-radio-group-error-color=var(--hx-color-error-500, #dc3545)] - Error message color.\n */\n@customElement('hx-radio-group')\nexport class HelixRadioGroup extends LitElement {\n static override styles = [tokenStyles, helixRadioGroupStyles];\n\n // ─── Form Association ───\n\n static formAssociated = true;\n\n private _internals: ElementInternals;\n\n constructor() {\n super();\n this._internals = this.attachInternals();\n }\n\n // ─── Properties ───\n\n /**\n * The selected radio's value.\n * @attr value\n */\n @property({ type: String })\n value = '';\n\n /**\n * The name used for form submission.\n * @attr name\n */\n @property({ type: String })\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 @query('.fieldset__group')\n private _groupEl!: HTMLElement;\n\n @state() private _hasErrorSlot = false;\n\n // ─── Internal IDs ───\n\n private _groupId = `hx-radio-group-${++_groupCounter}`;\n private _helpTextId = `${this._groupId}-help`;\n private _errorId = `${this._groupId}-error`;\n\n // ─── Slot Handlers ───\n\n private _handleErrorSlotChange(e: Event): void {\n const slot = e.target as HTMLSlotElement;\n this._hasErrorSlot = slot.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 as EventListener);\n this.addEventListener('keydown', this._handleKeydown);\n }\n\n override disconnectedCallback(): void {\n super.disconnectedCallback();\n this.removeEventListener('hx-radio-select', this._handleRadioSelect as EventListener);\n this.removeEventListener('keydown', this._handleKeydown);\n }\n\n override updated(changedProperties: Map<string, unknown>): void {\n super.updated(changedProperties);\n if (changedProperties.has('value')) {\n this._internals.setFormValue(this.value || null);\n this._syncRadios();\n this._updateValidity();\n }\n if (changedProperties.has('disabled')) {\n this._syncRadios();\n }\n }\n\n override firstUpdated(changedProperties: Map<string, unknown>): void {\n super.firstUpdated(changedProperties);\n this._syncRadios();\n this._updateValidity();\n }\n\n // ─── Radio Management ───\n\n private _cachedRadios: HelixRadio[] | null = null;\n private _individualDisabledStates = new WeakMap<HelixRadio, boolean>();\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 private _getEnabledRadios(): HelixRadio[] {\n return this._getRadios().filter((radio) => !radio.disabled && !this.disabled);\n }\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 private _handleRadioSelect = (e: CustomEvent<{ value: string }>): void => {\n e.stopPropagation();\n\n const newValue = e.detail.value;\n if (newValue === this.value) {\n return;\n }\n\n this.value = newValue;\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('hx-change', {\n bubbles: true,\n composed: true,\n detail: { value: this.value, checked: true },\n }),\n );\n };\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('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('hx-radio-select', {\n bubbles: true,\n composed: true,\n detail: { value: nextRadio.value },\n }),\n );\n }\n };\n\n private _handleSlotChange(): void {\n this._cachedRadios = null;\n this._syncRadios();\n }\n\n // ─── Form Integration ───\n\n /** Returns the associated form element, if any. */\n get form(): HTMLFormElement | null {\n return this._internals.form;\n }\n\n /** Returns the validation message. */\n get validationMessage(): string {\n return this._internals.validationMessage;\n }\n\n /** Returns the ValidityState object. */\n get validity(): ValidityState {\n return this._internals.validity;\n }\n\n /** Checks whether the group satisfies its constraints. */\n checkValidity(): boolean {\n return this._internals.checkValidity();\n }\n\n /** Reports validity and shows the browser's constraint validation UI. */\n reportValidity(): boolean {\n return this._internals.reportValidity();\n }\n\n private _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 /** Called by the form when it resets. */\n formResetCallback(): void {\n this.value = '';\n this._internals.setFormValue(null);\n this._syncRadios();\n }\n\n /** Called when the form restores state (e.g., back/forward navigation). */\n formStateRestoreCallback(\n state: string | File | FormData,\n _mode: 'restore' | 'autocomplete',\n ): void {\n if (typeof state === 'string') {\n this.value = state;\n }\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 // Use _errorId only when there is no slotted error content replacing the internal error div\n const errorDescribedBy = !this._hasErrorSlot && hasError ? this._errorId : nothing;\n const describedBy =\n errorDescribedBy !== nothing ? errorDescribedBy : this.helpText ? this._helpTextId : 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 <slot name=\"error\" @slotchange=${this._handleErrorSlotChange}>\n ${hasError\n ? html`<div part=\"error\" class=\"fieldset__error\" id=${this._errorId} role=\"alert\">\n ${this.error}\n </div>`\n : nothing}\n </slot>\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/** @public Type alias for use in test files and consumers. */\nexport type WcRadioGroup = 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 cursor: pointer;\n position: relative;\n 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: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\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-neutral-300, #ced4da));\n border-radius: var(--hx-border-radius-full, 9999px);\n background-color: var(--hx-color-neutral-0, #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: 0;\n height: 0;\n border-radius: var(--hx-border-radius-full, 9999px);\n background-color: var(--hx-radio-dot-color, var(--hx-color-neutral-0, #ffffff));\n transition:\n width var(--hx-transition-fast, 150ms ease),\n height 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, #2563eb));\n background-color: var(--hx-radio-checked-bg, var(--hx-color-primary-500, #2563eb));\n }\n\n .radio--checked .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 }\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, #2563eb));\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-color-neutral-400, #adb5bd);\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-neutral-700, #343a40));\n line-height: var(--hx-line-height-normal, 1.5);\n user-select: none;\n -webkit-user-select: none;\n }\n`;\n","import { LitElement, html } from 'lit';\nimport { customElement, property } from 'lit/decorators.js';\nimport { classMap } from 'lit/directives/class-map.js';\nimport { tokenStyles } from '@helixui/tokens/lit';\nimport { helixRadioStyles } from './hx-radio.styles.js';\n\n// Module-level counter for stable, SSR-safe IDs (avoids Math.random() hydration mismatch)\nlet _hxRadioIdCounter = 0;\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, #ced4da)] - Radio border color.\n * @cssprop [--hx-radio-checked-bg=var(--hx-color-primary-500, #2563EB)] - Checked background color.\n * @cssprop [--hx-radio-checked-border-color=var(--hx-color-primary-500, #2563EB)] - 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, #2563EB)] - Focus ring color.\n * @cssprop [--hx-radio-label-color=var(--hx-color-neutral-700, #343a40)] - Label text color.\n */\n@customElement('hx-radio')\nexport class HelixRadio extends LitElement {\n static override styles = [tokenStyles, helixRadioStyles];\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 this.setAttribute('role', 'radio');\n this.setAttribute('aria-checked', String(this.checked));\n this.setAttribute('aria-disabled', String(this.disabled));\n }\n\n override updated(changedProperties: Map<string, unknown>): void {\n super.updated(changedProperties);\n if (changedProperties.has('checked')) {\n this.setAttribute('aria-checked', String(this.checked));\n }\n if (changedProperties.has('disabled')) {\n this.setAttribute('aria-disabled', String(this.disabled));\n }\n }\n\n // ─── Internal IDs ───\n\n private _inputId = `hx-radio-${++_hxRadioIdCounter}`;\n\n // ─── Event Handling ───\n\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('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/** @public Type alias for use in test files and consumers. */\nexport type WcRadio = HelixRadio;\n"],"names":["helixRadioGroupStyles","css","_groupCounter","HelixRadioGroup","LitElement","newValue","enabledRadios","targetRadio","_b","_a","_d","_c","currentIndex","radio","nextIndex","nextRadio","slot","changedProperties","radios","isChecked","originalDisabled","checkedRadio","r","firstRadio","state","_mode","hasError","legendId","fieldsetClasses","errorDescribedBy","nothing","describedBy","html","classMap","tokenStyles","__decorateClass","property","query","customElement","helixRadioStyles","_hxRadioIdCounter","HelixRadio","classes"],"mappings":"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"}
|