@slotted/angular 0.1.0-beta.7 → 0.1.0-beta.9
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/docs/calendar.json +1 -1
- package/docs/code-block.json +92 -92
- package/docs/code-block.md +69 -69
- package/docs/currency-field.json +7 -0
- package/docs/currency-field.md +1 -0
- package/docs/data-grid.examples.md +1 -1
- package/docs/data-grid.json +21 -4
- package/docs/data-grid.md +1 -1
- package/docs/data-grid.props.md +5 -3
- package/docs/dialog.examples.md +138 -136
- package/docs/dialog.json +8 -8
- package/docs/filter-bar.json +118 -118
- package/docs/filter-bar.md +79 -79
- package/docs/guidelines/async-feedback.md +10 -0
- package/docs/guidelines/composition.md +11 -7
- package/docs/guidelines/index.md +6 -1
- package/docs/guidelines/list-pages.md +30 -0
- package/docs/guidelines/overviews.md +10 -0
- package/docs/markdown.json +79 -79
- package/docs/markdown.md +65 -65
- package/docs/page-header.json +1 -1
- package/docs/skills/compose-screen/SKILL.md +22 -10
- package/docs/skills/review-screen/SKILL.md +6 -0
- package/docs/skills/waiting-states/SKILL.md +4 -1
- package/docs/tags-input.json +28 -2
- package/docs/tags-input.md +4 -1
- package/docs/timeline.json +131 -131
- package/docs/timeline.md +123 -123
- package/fesm2022/slotted-angular-accordion.mjs +4 -2
- package/fesm2022/slotted-angular-accordion.mjs.map +1 -1
- package/fesm2022/slotted-angular-action-bar.mjs +21 -10
- package/fesm2022/slotted-angular-action-bar.mjs.map +1 -1
- package/fesm2022/slotted-angular-action-sheet.mjs +42 -29
- package/fesm2022/slotted-angular-action-sheet.mjs.map +1 -1
- package/fesm2022/slotted-angular-alert.mjs +17 -11
- package/fesm2022/slotted-angular-alert.mjs.map +1 -1
- package/fesm2022/slotted-angular-app-shell.mjs +52 -40
- package/fesm2022/slotted-angular-app-shell.mjs.map +1 -1
- package/fesm2022/slotted-angular-aspect-ratio.mjs +4 -2
- package/fesm2022/slotted-angular-aspect-ratio.mjs.map +1 -1
- package/fesm2022/slotted-angular-attachment.mjs +31 -20
- package/fesm2022/slotted-angular-attachment.mjs.map +1 -1
- package/fesm2022/slotted-angular-avatar-group.mjs +9 -6
- package/fesm2022/slotted-angular-avatar-group.mjs.map +1 -1
- package/fesm2022/slotted-angular-avatar.mjs +9 -6
- package/fesm2022/slotted-angular-avatar.mjs.map +1 -1
- package/fesm2022/slotted-angular-badge.mjs +14 -10
- package/fesm2022/slotted-angular-badge.mjs.map +1 -1
- package/fesm2022/slotted-angular-breadcrumb.mjs +26 -18
- package/fesm2022/slotted-angular-breadcrumb.mjs.map +1 -1
- package/fesm2022/slotted-angular-button-group.mjs +7 -4
- package/fesm2022/slotted-angular-button-group.mjs.map +1 -1
- package/fesm2022/slotted-angular-button.mjs +53 -25
- package/fesm2022/slotted-angular-button.mjs.map +1 -1
- package/fesm2022/slotted-angular-calendar.mjs +82 -30
- package/fesm2022/slotted-angular-calendar.mjs.map +1 -1
- package/fesm2022/slotted-angular-card.mjs +18 -16
- package/fesm2022/slotted-angular-card.mjs.map +1 -1
- package/fesm2022/slotted-angular-carousel.mjs +22 -11
- package/fesm2022/slotted-angular-carousel.mjs.map +1 -1
- package/fesm2022/slotted-angular-cascader.mjs +158 -64
- package/fesm2022/slotted-angular-cascader.mjs.map +1 -1
- package/fesm2022/slotted-angular-chart.mjs +4 -2
- package/fesm2022/slotted-angular-chart.mjs.map +1 -1
- package/fesm2022/slotted-angular-checkbox-group.mjs +5 -3
- package/fesm2022/slotted-angular-checkbox-group.mjs.map +1 -1
- package/fesm2022/slotted-angular-checkbox.mjs +13 -8
- package/fesm2022/slotted-angular-checkbox.mjs.map +1 -1
- package/fesm2022/slotted-angular-code-block.mjs +29 -15
- package/fesm2022/slotted-angular-code-block.mjs.map +1 -1
- package/fesm2022/slotted-angular-collapsible.mjs +20 -15
- package/fesm2022/slotted-angular-collapsible.mjs.map +1 -1
- package/fesm2022/slotted-angular-color-picker.mjs +77 -22
- package/fesm2022/slotted-angular-color-picker.mjs.map +1 -1
- package/fesm2022/slotted-angular-column-manager.mjs +68 -31
- package/fesm2022/slotted-angular-column-manager.mjs.map +1 -1
- package/fesm2022/slotted-angular-combobox.mjs +77 -31
- package/fesm2022/slotted-angular-combobox.mjs.map +1 -1
- package/fesm2022/slotted-angular-command-palette.mjs +150 -54
- package/fesm2022/slotted-angular-command-palette.mjs.map +1 -1
- package/fesm2022/slotted-angular-container.mjs +6 -4
- package/fesm2022/slotted-angular-container.mjs.map +1 -1
- package/fesm2022/slotted-angular-context-menu.mjs +5 -4
- package/fesm2022/slotted-angular-context-menu.mjs.map +1 -1
- package/fesm2022/slotted-angular-currency-field.mjs +98 -32
- package/fesm2022/slotted-angular-currency-field.mjs.map +1 -1
- package/fesm2022/slotted-angular-dashboard-grid.mjs +127 -44
- package/fesm2022/slotted-angular-dashboard-grid.mjs.map +1 -1
- package/fesm2022/slotted-angular-data-grid.mjs +309 -104
- package/fesm2022/slotted-angular-data-grid.mjs.map +1 -1
- package/fesm2022/slotted-angular-data-list.mjs +83 -50
- package/fesm2022/slotted-angular-data-list.mjs.map +1 -1
- package/fesm2022/slotted-angular-date-field.mjs +40 -14
- package/fesm2022/slotted-angular-date-field.mjs.map +1 -1
- package/fesm2022/slotted-angular-date-picker.mjs +19 -9
- package/fesm2022/slotted-angular-date-picker.mjs.map +1 -1
- package/fesm2022/slotted-angular-date-range-picker.mjs +41 -16
- package/fesm2022/slotted-angular-date-range-picker.mjs.map +1 -1
- package/fesm2022/slotted-angular-datetime-field.mjs +48 -16
- package/fesm2022/slotted-angular-datetime-field.mjs.map +1 -1
- package/fesm2022/slotted-angular-datetime-picker.mjs +37 -23
- package/fesm2022/slotted-angular-datetime-picker.mjs.map +1 -1
- package/fesm2022/slotted-angular-datetime-range-picker.mjs +111 -42
- package/fesm2022/slotted-angular-datetime-range-picker.mjs.map +1 -1
- package/fesm2022/slotted-angular-description-list.mjs +33 -19
- package/fesm2022/slotted-angular-description-list.mjs.map +1 -1
- package/fesm2022/slotted-angular-detail-panel.mjs +29 -18
- package/fesm2022/slotted-angular-detail-panel.mjs.map +1 -1
- package/fesm2022/slotted-angular-dialog.mjs +61 -28
- package/fesm2022/slotted-angular-dialog.mjs.map +1 -1
- package/fesm2022/slotted-angular-divider.mjs +7 -5
- package/fesm2022/slotted-angular-divider.mjs.map +1 -1
- package/fesm2022/slotted-angular-drawer.mjs +38 -26
- package/fesm2022/slotted-angular-drawer.mjs.map +1 -1
- package/fesm2022/slotted-angular-entity-picker.mjs +195 -67
- package/fesm2022/slotted-angular-entity-picker.mjs.map +1 -1
- package/fesm2022/slotted-angular-event-calendar.mjs +259 -102
- package/fesm2022/slotted-angular-event-calendar.mjs.map +1 -1
- package/fesm2022/slotted-angular-field-group.mjs +14 -7
- package/fesm2022/slotted-angular-field-group.mjs.map +1 -1
- package/fesm2022/slotted-angular-field.mjs +35 -15
- package/fesm2022/slotted-angular-field.mjs.map +1 -1
- package/fesm2022/slotted-angular-filter-bar.mjs +104 -43
- package/fesm2022/slotted-angular-filter-bar.mjs.map +1 -1
- package/fesm2022/slotted-angular-form.mjs +18 -10
- package/fesm2022/slotted-angular-form.mjs.map +1 -1
- package/fesm2022/slotted-angular-fullscreen.mjs +14 -8
- package/fesm2022/slotted-angular-fullscreen.mjs.map +1 -1
- package/fesm2022/slotted-angular-grid.mjs +4 -2
- package/fesm2022/slotted-angular-grid.mjs.map +1 -1
- package/fesm2022/slotted-angular-highlight.mjs +5 -3
- package/fesm2022/slotted-angular-highlight.mjs.map +1 -1
- package/fesm2022/slotted-angular-hover-card.mjs +5 -4
- package/fesm2022/slotted-angular-hover-card.mjs.map +1 -1
- package/fesm2022/slotted-angular-icon.mjs +6 -3
- package/fesm2022/slotted-angular-icon.mjs.map +1 -1
- package/fesm2022/slotted-angular-image.mjs +13 -10
- package/fesm2022/slotted-angular-image.mjs.map +1 -1
- package/fesm2022/slotted-angular-import-export-center.mjs +167 -99
- package/fesm2022/slotted-angular-import-export-center.mjs.map +1 -1
- package/fesm2022/slotted-angular-inline-message.mjs +10 -8
- package/fesm2022/slotted-angular-inline-message.mjs.map +1 -1
- package/fesm2022/slotted-angular-inline.mjs +4 -2
- package/fesm2022/slotted-angular-inline.mjs.map +1 -1
- package/fesm2022/slotted-angular-kbd.mjs +11 -7
- package/fesm2022/slotted-angular-kbd.mjs.map +1 -1
- package/fesm2022/slotted-angular-link.mjs +5 -3
- package/fesm2022/slotted-angular-link.mjs.map +1 -1
- package/fesm2022/slotted-angular-list-item.mjs +21 -18
- package/fesm2022/slotted-angular-list-item.mjs.map +1 -1
- package/fesm2022/slotted-angular-list.mjs +14 -10
- package/fesm2022/slotted-angular-list.mjs.map +1 -1
- package/fesm2022/slotted-angular-listbox.mjs +39 -21
- package/fesm2022/slotted-angular-listbox.mjs.map +1 -1
- package/fesm2022/slotted-angular-loading-overlay.mjs +59 -22
- package/fesm2022/slotted-angular-loading-overlay.mjs.map +1 -1
- package/fesm2022/slotted-angular-markdown.mjs +31 -19
- package/fesm2022/slotted-angular-markdown.mjs.map +1 -1
- package/fesm2022/slotted-angular-menu.mjs +41 -27
- package/fesm2022/slotted-angular-menu.mjs.map +1 -1
- package/fesm2022/slotted-angular-menubar.mjs +4 -2
- package/fesm2022/slotted-angular-menubar.mjs.map +1 -1
- package/fesm2022/slotted-angular-message-scroller.mjs +28 -15
- package/fesm2022/slotted-angular-message-scroller.mjs.map +1 -1
- package/fesm2022/slotted-angular-message.mjs +113 -51
- package/fesm2022/slotted-angular-message.mjs.map +1 -1
- package/fesm2022/slotted-angular-multi-select.mjs +133 -57
- package/fesm2022/slotted-angular-multi-select.mjs.map +1 -1
- package/fesm2022/slotted-angular-navigation-menu.mjs +34 -26
- package/fesm2022/slotted-angular-navigation-menu.mjs.map +1 -1
- package/fesm2022/slotted-angular-notification-center.mjs +107 -65
- package/fesm2022/slotted-angular-notification-center.mjs.map +1 -1
- package/fesm2022/slotted-angular-number-field.mjs +23 -11
- package/fesm2022/slotted-angular-number-field.mjs.map +1 -1
- package/fesm2022/slotted-angular-otp-input.mjs +13 -8
- package/fesm2022/slotted-angular-otp-input.mjs.map +1 -1
- package/fesm2022/slotted-angular-page-header.mjs +72 -42
- package/fesm2022/slotted-angular-page-header.mjs.map +1 -1
- package/fesm2022/slotted-angular-page.mjs +18 -9
- package/fesm2022/slotted-angular-page.mjs.map +1 -1
- package/fesm2022/slotted-angular-pagination.mjs +35 -22
- package/fesm2022/slotted-angular-pagination.mjs.map +1 -1
- package/fesm2022/slotted-angular-popover.mjs +25 -18
- package/fesm2022/slotted-angular-popover.mjs.map +1 -1
- package/fesm2022/slotted-angular-progress-indicator.mjs +122 -30
- package/fesm2022/slotted-angular-progress-indicator.mjs.map +1 -1
- package/fesm2022/slotted-angular-prompt-composer.mjs +24 -18
- package/fesm2022/slotted-angular-prompt-composer.mjs.map +1 -1
- package/fesm2022/slotted-angular-prose.mjs +14 -11
- package/fesm2022/slotted-angular-prose.mjs.map +1 -1
- package/fesm2022/slotted-angular-radio-group.mjs +15 -9
- package/fesm2022/slotted-angular-radio-group.mjs.map +1 -1
- package/fesm2022/slotted-angular-rating.mjs +138 -82
- package/fesm2022/slotted-angular-rating.mjs.map +1 -1
- package/fesm2022/slotted-angular-result-state.mjs +16 -12
- package/fesm2022/slotted-angular-result-state.mjs.map +1 -1
- package/fesm2022/slotted-angular-saved-views.mjs +43 -16
- package/fesm2022/slotted-angular-saved-views.mjs.map +1 -1
- package/fesm2022/slotted-angular-scroll-area.mjs +9 -5
- package/fesm2022/slotted-angular-scroll-area.mjs.map +1 -1
- package/fesm2022/slotted-angular-section.mjs +34 -15
- package/fesm2022/slotted-angular-section.mjs.map +1 -1
- package/fesm2022/slotted-angular-segmented-control.mjs +15 -9
- package/fesm2022/slotted-angular-segmented-control.mjs.map +1 -1
- package/fesm2022/slotted-angular-select.mjs +135 -53
- package/fesm2022/slotted-angular-select.mjs.map +1 -1
- package/fesm2022/slotted-angular-side-navigation.mjs +46 -35
- package/fesm2022/slotted-angular-side-navigation.mjs.map +1 -1
- package/fesm2022/slotted-angular-skeleton.mjs +32 -16
- package/fesm2022/slotted-angular-skeleton.mjs.map +1 -1
- package/fesm2022/slotted-angular-slider.mjs +31 -11
- package/fesm2022/slotted-angular-slider.mjs.map +1 -1
- package/fesm2022/slotted-angular-sparkline.mjs +29 -13
- package/fesm2022/slotted-angular-sparkline.mjs.map +1 -1
- package/fesm2022/slotted-angular-split-button.mjs +25 -11
- package/fesm2022/slotted-angular-split-button.mjs.map +1 -1
- package/fesm2022/slotted-angular-splitter.mjs +11 -9
- package/fesm2022/slotted-angular-splitter.mjs.map +1 -1
- package/fesm2022/slotted-angular-stack.mjs +4 -2
- package/fesm2022/slotted-angular-stack.mjs.map +1 -1
- package/fesm2022/slotted-angular-stat-card.mjs +35 -28
- package/fesm2022/slotted-angular-stat-card.mjs.map +1 -1
- package/fesm2022/slotted-angular-status-indicator.mjs +22 -8
- package/fesm2022/slotted-angular-status-indicator.mjs.map +1 -1
- package/fesm2022/slotted-angular-stepper.mjs +40 -15
- package/fesm2022/slotted-angular-stepper.mjs.map +1 -1
- package/fesm2022/slotted-angular-switch.mjs +15 -10
- package/fesm2022/slotted-angular-switch.mjs.map +1 -1
- package/fesm2022/slotted-angular-table-of-contents.mjs +29 -21
- package/fesm2022/slotted-angular-table-of-contents.mjs.map +1 -1
- package/fesm2022/slotted-angular-table.mjs +135 -72
- package/fesm2022/slotted-angular-table.mjs.map +1 -1
- package/fesm2022/slotted-angular-tabs.mjs +31 -14
- package/fesm2022/slotted-angular-tabs.mjs.map +1 -1
- package/fesm2022/slotted-angular-tag.mjs +19 -12
- package/fesm2022/slotted-angular-tag.mjs.map +1 -1
- package/fesm2022/slotted-angular-tags-input.mjs +253 -28
- package/fesm2022/slotted-angular-tags-input.mjs.map +1 -1
- package/fesm2022/slotted-angular-text-field.mjs +49 -15
- package/fesm2022/slotted-angular-text-field.mjs.map +1 -1
- package/fesm2022/slotted-angular-textarea.mjs +5 -3
- package/fesm2022/slotted-angular-textarea.mjs.map +1 -1
- package/fesm2022/slotted-angular-time-field.mjs +48 -14
- package/fesm2022/slotted-angular-time-field.mjs.map +1 -1
- package/fesm2022/slotted-angular-time-picker.mjs +28 -14
- package/fesm2022/slotted-angular-time-picker.mjs.map +1 -1
- package/fesm2022/slotted-angular-time-range-picker.mjs +109 -40
- package/fesm2022/slotted-angular-time-range-picker.mjs.map +1 -1
- package/fesm2022/slotted-angular-timeline.mjs +135 -64
- package/fesm2022/slotted-angular-timeline.mjs.map +1 -1
- package/fesm2022/slotted-angular-toast.mjs +42 -31
- package/fesm2022/slotted-angular-toast.mjs.map +1 -1
- package/fesm2022/slotted-angular-toggle-group.mjs +10 -6
- package/fesm2022/slotted-angular-toggle-group.mjs.map +1 -1
- package/fesm2022/slotted-angular-toggle.mjs +9 -4
- package/fesm2022/slotted-angular-toggle.mjs.map +1 -1
- package/fesm2022/slotted-angular-toolbar.mjs +21 -10
- package/fesm2022/slotted-angular-toolbar.mjs.map +1 -1
- package/fesm2022/slotted-angular-tooltip.mjs +8 -5
- package/fesm2022/slotted-angular-tooltip.mjs.map +1 -1
- package/fesm2022/slotted-angular-top-navigation.mjs +64 -44
- package/fesm2022/slotted-angular-top-navigation.mjs.map +1 -1
- package/fesm2022/slotted-angular-tour.mjs +46 -21
- package/fesm2022/slotted-angular-tour.mjs.map +1 -1
- package/fesm2022/slotted-angular-transfer.mjs +69 -30
- package/fesm2022/slotted-angular-transfer.mjs.map +1 -1
- package/fesm2022/slotted-angular-tree.mjs +74 -26
- package/fesm2022/slotted-angular-tree.mjs.map +1 -1
- package/fesm2022/slotted-angular-typography.mjs +8 -4
- package/fesm2022/slotted-angular-typography.mjs.map +1 -1
- package/fesm2022/slotted-angular-upload.mjs +125 -57
- package/fesm2022/slotted-angular-upload.mjs.map +1 -1
- package/fesm2022/slotted-angular-visually-hidden.mjs +4 -2
- package/fesm2022/slotted-angular-visually-hidden.mjs.map +1 -1
- package/fesm2022/slotted-angular-wizard.mjs +163 -65
- package/fesm2022/slotted-angular-wizard.mjs.map +1 -1
- package/package.json +3 -3
- package/types/slotted-angular-accordion.d.ts.map +1 -1
- package/types/slotted-angular-action-bar.d.ts.map +1 -1
- package/types/slotted-angular-action-sheet.d.ts.map +1 -1
- package/types/slotted-angular-alert.d.ts +1 -1
- package/types/slotted-angular-alert.d.ts.map +1 -1
- package/types/slotted-angular-app-shell.d.ts.map +1 -1
- package/types/slotted-angular-aspect-ratio.d.ts.map +1 -1
- package/types/slotted-angular-attachment.d.ts +1 -1
- package/types/slotted-angular-attachment.d.ts.map +1 -1
- package/types/slotted-angular-avatar-group.d.ts.map +1 -1
- package/types/slotted-angular-avatar.d.ts.map +1 -1
- package/types/slotted-angular-badge.d.ts.map +1 -1
- package/types/slotted-angular-breadcrumb.d.ts.map +1 -1
- package/types/slotted-angular-button-group.d.ts.map +1 -1
- package/types/slotted-angular-button.d.ts.map +1 -1
- package/types/slotted-angular-calendar.d.ts +2 -0
- package/types/slotted-angular-calendar.d.ts.map +1 -1
- package/types/slotted-angular-card.d.ts.map +1 -1
- package/types/slotted-angular-carousel.d.ts.map +1 -1
- package/types/slotted-angular-cascader.d.ts.map +1 -1
- package/types/slotted-angular-chart.d.ts.map +1 -1
- package/types/slotted-angular-checkbox-group.d.ts.map +1 -1
- package/types/slotted-angular-checkbox.d.ts.map +1 -1
- package/types/slotted-angular-code-block.d.ts +1 -1
- package/types/slotted-angular-code-block.d.ts.map +1 -1
- package/types/slotted-angular-collapsible.d.ts +1 -1
- package/types/slotted-angular-collapsible.d.ts.map +1 -1
- package/types/slotted-angular-color-picker.d.ts.map +1 -1
- package/types/slotted-angular-column-manager.d.ts.map +1 -1
- package/types/slotted-angular-combobox.d.ts +1 -1
- package/types/slotted-angular-combobox.d.ts.map +1 -1
- package/types/slotted-angular-command-palette.d.ts +10 -1
- package/types/slotted-angular-command-palette.d.ts.map +1 -1
- package/types/slotted-angular-container.d.ts.map +1 -1
- package/types/slotted-angular-context-menu.d.ts.map +1 -1
- package/types/slotted-angular-currency-field.d.ts +39 -13
- package/types/slotted-angular-currency-field.d.ts.map +1 -1
- package/types/slotted-angular-dashboard-grid.d.ts.map +1 -1
- package/types/slotted-angular-data-grid.d.ts +26 -2
- package/types/slotted-angular-data-grid.d.ts.map +1 -1
- package/types/slotted-angular-data-list.d.ts.map +1 -1
- package/types/slotted-angular-date-field.d.ts.map +1 -1
- package/types/slotted-angular-date-picker.d.ts.map +1 -1
- package/types/slotted-angular-date-range-picker.d.ts.map +1 -1
- package/types/slotted-angular-datetime-field.d.ts.map +1 -1
- package/types/slotted-angular-datetime-picker.d.ts.map +1 -1
- package/types/slotted-angular-datetime-range-picker.d.ts.map +1 -1
- package/types/slotted-angular-description-list.d.ts.map +1 -1
- package/types/slotted-angular-detail-panel.d.ts.map +1 -1
- package/types/slotted-angular-dialog.d.ts +2 -1
- package/types/slotted-angular-dialog.d.ts.map +1 -1
- package/types/slotted-angular-divider.d.ts.map +1 -1
- package/types/slotted-angular-drawer.d.ts.map +1 -1
- package/types/slotted-angular-entity-picker.d.ts.map +1 -1
- package/types/slotted-angular-event-calendar.d.ts.map +1 -1
- package/types/slotted-angular-field-group.d.ts.map +1 -1
- package/types/slotted-angular-field.d.ts.map +1 -1
- package/types/slotted-angular-filter-bar.d.ts.map +1 -1
- package/types/slotted-angular-form.d.ts.map +1 -1
- package/types/slotted-angular-fullscreen.d.ts.map +1 -1
- package/types/slotted-angular-grid.d.ts.map +1 -1
- package/types/slotted-angular-highlight.d.ts.map +1 -1
- package/types/slotted-angular-hover-card.d.ts.map +1 -1
- package/types/slotted-angular-icon.d.ts +1 -1
- package/types/slotted-angular-icon.d.ts.map +1 -1
- package/types/slotted-angular-image.d.ts.map +1 -1
- package/types/slotted-angular-import-export-center.d.ts.map +1 -1
- package/types/slotted-angular-inline-message.d.ts +1 -1
- package/types/slotted-angular-inline-message.d.ts.map +1 -1
- package/types/slotted-angular-inline.d.ts.map +1 -1
- package/types/slotted-angular-kbd.d.ts.map +1 -1
- package/types/slotted-angular-link.d.ts.map +1 -1
- package/types/slotted-angular-list-item.d.ts.map +1 -1
- package/types/slotted-angular-list.d.ts.map +1 -1
- package/types/slotted-angular-listbox.d.ts.map +1 -1
- package/types/slotted-angular-loading-overlay.d.ts.map +1 -1
- package/types/slotted-angular-markdown.d.ts.map +1 -1
- package/types/slotted-angular-menu.d.ts.map +1 -1
- package/types/slotted-angular-menubar.d.ts.map +1 -1
- package/types/slotted-angular-message-scroller.d.ts.map +1 -1
- package/types/slotted-angular-message.d.ts.map +1 -1
- package/types/slotted-angular-multi-select.d.ts +1 -1
- package/types/slotted-angular-multi-select.d.ts.map +1 -1
- package/types/slotted-angular-navigation-menu.d.ts.map +1 -1
- package/types/slotted-angular-notification-center.d.ts.map +1 -1
- package/types/slotted-angular-number-field.d.ts.map +1 -1
- package/types/slotted-angular-otp-input.d.ts.map +1 -1
- package/types/slotted-angular-page-header.d.ts +1 -1
- package/types/slotted-angular-page-header.d.ts.map +1 -1
- package/types/slotted-angular-page.d.ts.map +1 -1
- package/types/slotted-angular-pagination.d.ts.map +1 -1
- package/types/slotted-angular-popover.d.ts.map +1 -1
- package/types/slotted-angular-progress-indicator.d.ts.map +1 -1
- package/types/slotted-angular-prompt-composer.d.ts.map +1 -1
- package/types/slotted-angular-prose.d.ts.map +1 -1
- package/types/slotted-angular-radio-group.d.ts.map +1 -1
- package/types/slotted-angular-rating.d.ts.map +1 -1
- package/types/slotted-angular-result-state.d.ts.map +1 -1
- package/types/slotted-angular-saved-views.d.ts.map +1 -1
- package/types/slotted-angular-scroll-area.d.ts.map +1 -1
- package/types/slotted-angular-section.d.ts.map +1 -1
- package/types/slotted-angular-segmented-control.d.ts.map +1 -1
- package/types/slotted-angular-select.d.ts +1 -1
- package/types/slotted-angular-select.d.ts.map +1 -1
- package/types/slotted-angular-side-navigation.d.ts.map +1 -1
- package/types/slotted-angular-skeleton.d.ts.map +1 -1
- package/types/slotted-angular-slider.d.ts.map +1 -1
- package/types/slotted-angular-sparkline.d.ts.map +1 -1
- package/types/slotted-angular-split-button.d.ts.map +1 -1
- package/types/slotted-angular-splitter.d.ts.map +1 -1
- package/types/slotted-angular-stack.d.ts.map +1 -1
- package/types/slotted-angular-stat-card.d.ts.map +1 -1
- package/types/slotted-angular-status-indicator.d.ts +1 -1
- package/types/slotted-angular-status-indicator.d.ts.map +1 -1
- package/types/slotted-angular-stepper.d.ts +1 -1
- package/types/slotted-angular-stepper.d.ts.map +1 -1
- package/types/slotted-angular-switch.d.ts.map +1 -1
- package/types/slotted-angular-table-of-contents.d.ts.map +1 -1
- package/types/slotted-angular-table.d.ts.map +1 -1
- package/types/slotted-angular-tabs.d.ts.map +1 -1
- package/types/slotted-angular-tag.d.ts.map +1 -1
- package/types/slotted-angular-tags-input.d.ts +33 -1
- package/types/slotted-angular-tags-input.d.ts.map +1 -1
- package/types/slotted-angular-text-field.d.ts.map +1 -1
- package/types/slotted-angular-textarea.d.ts.map +1 -1
- package/types/slotted-angular-time-field.d.ts.map +1 -1
- package/types/slotted-angular-time-picker.d.ts.map +1 -1
- package/types/slotted-angular-time-range-picker.d.ts.map +1 -1
- package/types/slotted-angular-timeline.d.ts.map +1 -1
- package/types/slotted-angular-toast.d.ts +2 -2
- package/types/slotted-angular-toast.d.ts.map +1 -1
- package/types/slotted-angular-toggle-group.d.ts.map +1 -1
- package/types/slotted-angular-toggle.d.ts.map +1 -1
- package/types/slotted-angular-toolbar.d.ts.map +1 -1
- package/types/slotted-angular-tooltip.d.ts.map +1 -1
- package/types/slotted-angular-top-navigation.d.ts.map +1 -1
- package/types/slotted-angular-tour.d.ts.map +1 -1
- package/types/slotted-angular-transfer.d.ts.map +1 -1
- package/types/slotted-angular-tree.d.ts.map +1 -1
- package/types/slotted-angular-typography.d.ts.map +1 -1
- package/types/slotted-angular-upload.d.ts +2 -2
- package/types/slotted-angular-upload.d.ts.map +1 -1
- package/types/slotted-angular-visually-hidden.d.ts.map +1 -1
- package/types/slotted-angular-wizard.d.ts.map +1 -1
|
@@ -270,10 +270,10 @@ class SlRadioGroup {
|
|
|
270
270
|
return value === null || value === undefined || value === '' ? { required: true } : null;
|
|
271
271
|
}
|
|
272
272
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.7", ngImport: i0, type: SlRadioGroup, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
273
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.1.7", type: SlRadioGroup, isStandalone: true, selector: "[slRadioGroup]", inputs: { value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null }, defaultValue: { classPropertyName: "defaultValue", publicName: "defaultValue", isSignal: true, isRequired: false, transformFunction: null }, name: { classPropertyName: "name", publicName: "name", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, orientation: { classPropertyName: "orientation", publicName: "orientation", isSignal: true, isRequired: false, transformFunction: null }, labelPlacement: { classPropertyName: "labelPlacement", publicName: "labelPlacement", isSignal: true, isRequired: false, transformFunction: null }, variant: { classPropertyName: "variant", publicName: "variant", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, readOnly: { classPropertyName: "readOnly", publicName: "readOnly", isSignal: true, isRequired: false, transformFunction: null }, invalid: { classPropertyName: "invalid", publicName: "invalid", isSignal: true, isRequired: false, transformFunction: null }, required: { classPropertyName: "required", publicName: "required", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { valueChange: "valueChange" }, host: { attributes: { "data-ui": "radio-group", "data-part": "root" }, properties: { "attr.role": "resolvedRole()", "attr.data-size": "resolvedSize()", "attr.data-orientation": "resolvedOrientation()", "attr.data-label-placement": "resolvedLabelPlacement()", "attr.data-variant": "resolvedVariant()", "attr.data-disabled": "resolvedDisabled() === true ? '' : null", "attr.data-invalid": "resolvedInvalid() === true ? '' : null", "attr.data-readonly": "resolvedReadOnly() === true ? '' : null", "attr.aria-labelledby": "labelledBy()", "attr.aria-describedby": "describedBy()", "attr.aria-invalid": "ariaInvalid()", "attr.aria-readonly": "ariaReadOnly()", "attr.aria-required": "ariaRequired()", "attr.aria-orientation": "ariaOrientation()" } }, providers: [
|
|
273
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.1.7", type: SlRadioGroup, isStandalone: true, selector: "[slRadioGroup]", inputs: { value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null }, defaultValue: { classPropertyName: "defaultValue", publicName: "defaultValue", isSignal: true, isRequired: false, transformFunction: null }, name: { classPropertyName: "name", publicName: "name", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, orientation: { classPropertyName: "orientation", publicName: "orientation", isSignal: true, isRequired: false, transformFunction: null }, labelPlacement: { classPropertyName: "labelPlacement", publicName: "labelPlacement", isSignal: true, isRequired: false, transformFunction: null }, variant: { classPropertyName: "variant", publicName: "variant", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, readOnly: { classPropertyName: "readOnly", publicName: "readOnly", isSignal: true, isRequired: false, transformFunction: null }, invalid: { classPropertyName: "invalid", publicName: "invalid", isSignal: true, isRequired: false, transformFunction: null }, required: { classPropertyName: "required", publicName: "required", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { valueChange: "valueChange" }, host: { attributes: { "data-ui": "radio-group", "data-ui-radio-group": "", "data-part": "root", "data-part-root": "" }, properties: { "attr.role": "resolvedRole()", "attr.data-size": "resolvedSize()", "attr.data-orientation": "resolvedOrientation()", "attr.data-label-placement": "resolvedLabelPlacement()", "attr.data-variant": "resolvedVariant()", "attr.data-disabled": "resolvedDisabled() === true ? '' : null", "attr.data-invalid": "resolvedInvalid() === true ? '' : null", "attr.data-readonly": "resolvedReadOnly() === true ? '' : null", "attr.aria-labelledby": "labelledBy()", "attr.aria-describedby": "describedBy()", "attr.aria-invalid": "ariaInvalid()", "attr.aria-readonly": "ariaReadOnly()", "attr.aria-required": "ariaRequired()", "attr.aria-orientation": "ariaOrientation()" } }, providers: [
|
|
274
274
|
{ provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => SlRadioGroup), multi: true },
|
|
275
275
|
{ provide: NG_VALIDATORS, useExisting: forwardRef(() => SlRadioGroup), multi: true },
|
|
276
|
-
], exportAs: ["slRadioGroup"], ngImport: i0, template: '<ng-content />', isInline: true, styles: ["@layer slotted.components{[data-ui=radio-group][data-part=root]{--_size: var(--slotted-radio-group-size, var(--slotted-selection-size-md, 16px));--_font-size: var(--slotted-control-font-size-md, 13px);--_gap: var(--slotted-control-gap-md, 8px);--_label-gap: var(--slotted-control-label-gap-md, 12px);--_line-height: var(--slotted-radio-group-line-height, var(--slotted-line-height-md, 1.5));--_halo-spread: calc(var(--_label-gap) / 2);--_target: var(--slotted-target-min, 24px);--_lift: calc((var(--_font-size) * var(--_line-height) - var(--_size)) / 2);--_description-gap: var(--slotted-space-3, .375rem);color:var(--slotted-radio-group-color, var(--slotted-text, CanvasText));display:flex;flex-direction:column;font-family:var(--slotted-control-font-family, system-ui, sans-serif);font-size:var(--_font-size);gap:var(--slotted-radio-group-gap, var(--_gap));line-height:var(--_line-height)}[data-ui=radio-group][data-part=root]:has([data-part=description]){row-gap:var(--slotted-radio-group-gap, calc(var(--_gap) * 2))}[data-ui=radio-group][data-part=root][data-orientation=horizontal]{flex-direction:row;flex-wrap:wrap;column-gap:calc(var(--_gap) * 2)}[data-ui=radio-group][data-part=root][data-size=sm]{--_size: var(--slotted-radio-group-size, var(--slotted-selection-size-sm, 14px));--_font-size: var(--slotted-control-font-size-sm, 12px);--_gap: var(--slotted-control-gap-sm, 6px);--_label-gap: var(--slotted-control-label-gap-sm, 8px);--_tile-inset: var( --slotted-radio-group-tile-inset, var(--slotted-control-padding-inline-sm, 10px) )}[data-ui=radio-group][data-part=root][data-size=md]{--_size: var(--slotted-radio-group-size, var(--slotted-selection-size-md, 16px));--_font-size: var(--slotted-control-font-size-md, 13px);--_gap: var(--slotted-control-gap-md, 8px);--_label-gap: var(--slotted-control-label-gap-md, 12px);--_tile-inset: var( --slotted-radio-group-tile-inset, var(--slotted-control-padding-inline-md, 13px) )}[data-ui=radio-group][data-part=root][data-size=lg]{--_size: var(--slotted-radio-group-size, var(--slotted-selection-size-lg, 18px));--_font-size: var(--slotted-control-font-size-lg, 14px);--_gap: var(--slotted-control-gap-lg, 8px);--_label-gap: var(--slotted-control-label-gap-lg, 12px);--_tile-inset: var( --slotted-radio-group-tile-inset, var(--slotted-control-padding-inline-lg, 16px) )}[data-ui=radio-group] [data-part=item]{align-content:start;display:grid;grid-template-columns:auto minmax(0,1fr);isolation:isolate;position:relative}[data-ui=radio-group][data-part=root]{--_direction: ltr}[data-ui=radio-group][data-part=root]:dir(rtl){--_direction: rtl}[data-ui=radio-group] [data-part=control]{appearance:none;background-color:var(--slotted-radio-group-background, var(--slotted-surface, Canvas));border:var(--slotted-radio-group-border-width, var(--slotted-border-width-medium, 1.5px)) solid var(--slotted-radio-group-border-color, var(--slotted-border-strong, ButtonBorder));border-radius:var(--slotted-radius-full, 9999px);block-size:var(--_size);box-sizing:border-box;cursor:pointer;grid-area:1 / 1;inline-size:var(--_size);margin:0;margin-block-start:var(--_lift);transition:background-color var(--slotted-control-transition-duration) var(--slotted-control-transition-easing),border-color var(--slotted-control-transition-duration) var(--slotted-control-transition-easing)}[data-ui=radio-group] [data-part=indicator]{--slotted-icon-size: var(--_size);block-size:var(--_size);color:var(--slotted-radio-group-mark-color, var(--slotted-tone-accent-solid));display:flex;grid-area:1 / 1;inline-size:var(--_size);margin-block-start:var(--_lift);opacity:0;pointer-events:none;scale:.6;transition:opacity var(--slotted-duration-medium) var(--slotted-control-transition-easing),scale var(--slotted-duration-medium) var(--slotted-control-transition-easing)}[data-ui=radio-group] [data-part=control]:checked+[data-part=indicator]{opacity:1;scale:1}[data-ui=radio-group] [data-part=label]{cursor:pointer;grid-column:2;grid-row:1;overflow-wrap:anywhere}[data-ui=radio-group] [data-part=item]:has(>[data-part=label]){column-gap:var(--_label-gap)}[data-ui=radio-group][data-part=root]:not([data-variant=tile]) [data-part=label]{justify-self:start;position:relative}[data-ui=radio-group][data-part=root]:not([data-variant=tile]) [data-part=label]:before{block-size:var(--_target);content:\"\";direction:var(--_direction);inline-size:var(--_target);inset-block-start:calc(var(--_lift) + var(--_size) - var(--_target));inset-inline-start:calc((var(--_size) - var(--_target)) / 2 - var(--_size) - var(--_label-gap));position:absolute;z-index:-1}[data-ui=radio-group][data-part=root]:not([data-variant=tile]) [data-part=label]:after{background-color:var(--slotted-radio-group-halo-color, var(--slotted-tone-accent-text));border-radius:calc(var(--_size) / 2 + var(--_halo-spread));content:\"\";direction:var(--_direction);inset-block:calc(var(--_lift) - var(--_halo-spread));inset-inline-end:calc(-1.5 * var(--_halo-spread));inset-inline-start:calc(-1 * (var(--_size) + var(--_label-gap) + var(--_halo-spread)));opacity:0;position:absolute;transition:opacity var(--slotted-control-transition-duration) var(--slotted-control-transition-easing);z-index:-1}[data-ui=radio-group][data-part=root]:not([data-variant=tile]) [data-part=label]:empty:after{inset-inline-end:calc(var(--_label-gap) - var(--_halo-spread))}[data-ui=radio-group] [data-part=description]{color:var(--slotted-radio-group-description-color, var(--slotted-text-muted, GrayText));font-size:var( --slotted-radio-group-description-font-size, var(--slotted-font-size-xs, .75rem) );grid-column:2;grid-row:2;line-height:var(--slotted-line-height-xs, 1.4);margin:0;overflow-wrap:anywhere;padding-block-start:var(--_description-gap)}[data-ui=radio-group][data-part=root][data-label-placement=start] [data-part=item]{grid-template-columns:minmax(0,1fr) auto}[data-ui=radio-group][data-part=root][data-label-placement=start] [data-part=control],[data-ui=radio-group][data-part=root][data-label-placement=start] [data-part=indicator]{grid-area:1 / 2}[data-ui=radio-group][data-part=root][data-label-placement=start] [data-part=label],[data-ui=radio-group][data-part=root][data-label-placement=start] [data-part=description]{grid-column:1}[data-ui=radio-group][data-part=root][data-label-placement=start] [data-part=label]{justify-self:stretch}[data-ui=radio-group][data-part=root][data-label-placement=start] [data-part=label]:before{inset-inline-end:calc(-1 * (var(--_size) + var(--_label-gap)));inset-inline-start:auto}[data-ui=radio-group][data-part=root][data-label-placement=start] [data-part=label]:after{inset-inline-end:calc(-1 * (var(--_size) + var(--_label-gap) + var(--_halo-spread)));inset-inline-start:calc(-1.5 * var(--_halo-spread))}[data-ui=radio-group][data-part=root]:not([data-readonly]) [data-part=control]:hover:not(:disabled){border-color:var(--slotted-radio-group-hover-border-color, var(--slotted-tone-accent-border))}[data-ui=radio-group][data-part=root]:not([data-readonly]) [data-part=control]:hover:not(:disabled)~[data-part=label]:after,[data-ui=radio-group][data-part=root]:not([data-readonly]) [data-part=control]:not(:disabled)~[data-part=label]:hover:after{opacity:var(--slotted-selection-halo-opacity, .12)}[data-ui=radio-group][data-part=root]:not([data-readonly]) [data-part=control]:active:not(:disabled){background-color:var( --slotted-radio-group-active-background, var(--slotted-tone-accent-subtle-active) )}[data-ui=radio-group] [data-part=control]:checked{border-color:var(--slotted-radio-group-checked-border-color, var(--slotted-tone-accent-solid))}[data-ui=radio-group][data-part=root]:not([data-readonly]) [data-part=control]:checked:hover:not(:disabled){border-color:var( --slotted-radio-group-checked-hover-border-color, var(--slotted-tone-accent-solid-hover) )}[data-ui=radio-group][data-part=root]:not([data-readonly]) [data-part=control]:checked:active:not(:disabled){border-color:var( --slotted-radio-group-checked-active-border-color, var(--slotted-tone-accent-solid-active) )}[data-ui=radio-group] [data-part=control]:focus-visible{outline:var(--slotted-focus-ring-width, 2px) solid var(--slotted-focus-ring-color, Highlight);outline-offset:var(--slotted-focus-ring-offset, 2px)}[data-ui=radio-group][data-part=root][data-invalid]{--slotted-focus-ring-color: var( --slotted-radio-group-invalid-focus-ring-color, var(--slotted-focus-ring-color-invalid, Highlight) )}[data-ui=radio-group][data-part=root][data-invalid] [data-part=control]{border-width:calc(var(--slotted-radio-group-border-width, var(--slotted-border-width-medium, 1.5px)) + var( --slotted-radio-group-invalid-edge-width, var(--slotted-control-invalid-edge-width, 1px) ));border-color:var( --slotted-radio-group-invalid-border-color, var(--slotted-tone-danger-border) )}[data-ui=radio-group][data-part=root][data-invalid] [data-part=control]:checked{border-color:var( --slotted-radio-group-invalid-checked-border-color, var(--slotted-tone-danger-solid) )}[data-ui=radio-group][data-part=root][data-invalid] [data-part=control]:checked+[data-part=indicator]{color:var(--slotted-radio-group-invalid-mark-color, var(--slotted-tone-danger-solid))}[data-ui=radio-group][data-part=root][data-readonly] [data-part=control],[data-ui=radio-group][data-part=root][data-readonly] [data-part=label]{cursor:default}[data-ui=radio-group][data-part=root][data-readonly] [data-part=control]:not(:checked){background-color:var( --slotted-radio-group-readonly-background, var(--slotted-tone-secondary-subtle-hover) )}[data-ui=radio-group][data-part=root][data-disabled] [data-part=control],[data-ui=radio-group] [data-part=control]:disabled{background-color:var( --slotted-radio-group-disabled-background, var(--slotted-disabled-background) );border-color:var(--slotted-radio-group-disabled-border-color, var(--slotted-disabled-border));cursor:not-allowed}[data-ui=radio-group] [data-part=control]:disabled+[data-part=indicator]{color:var(--slotted-radio-group-disabled-mark-color, var(--slotted-disabled-foreground))}[data-ui=radio-group][data-part=root][data-disabled] [data-part=label],[data-ui=radio-group][data-part=root][data-disabled] [data-part=description],[data-ui=radio-group] [data-part=control]:disabled~[data-part=label],[data-ui=radio-group] [data-part=control]:disabled~[data-part=description]{color:var(--slotted-radio-group-disabled-color, var(--slotted-disabled-foreground));cursor:not-allowed}[data-ui=radio-group][data-part=root][data-variant=tile] [data-part=item]{--_description-gap: var( --slotted-radio-group-tile-description-gap, var(--slotted-space-2, .25rem) );--_tile-surface: var(--slotted-radio-group-tile-background, var(--slotted-surface, Canvas));--_tile-edge: var( --slotted-radio-group-tile-border-color, var(--slotted-control-border-color, ButtonBorder) );--_tile-edge-width: var(--slotted-control-border-width, 1px);background-color:var(--_tile-surface);border-radius:var(--slotted-radio-group-tile-radius, var(--slotted-radius-md, 6px));box-shadow:var(--slotted-control-shadow, none);cursor:pointer;padding:var(--_tile-inset);position:relative;transition:background-color var(--slotted-control-transition-duration) var(--slotted-control-transition-easing),box-shadow var(--slotted-control-transition-duration) var(--slotted-control-transition-easing)}[data-ui=radio-group][data-part=root][data-variant=tile] [data-part=item]:before{border:calc(var(--_tile-edge-width) + var(--_tile-invalid-edge, 0px)) solid var(--_tile-edge);border-radius:inherit;content:\"\";inset:0;pointer-events:none;position:absolute;transition:border-color var(--slotted-control-transition-duration) var(--slotted-control-transition-easing)}[data-ui=radio-group][data-part=root][data-variant=tile] [data-part=item] [data-part=label]:after{content:\"\";inset:0;position:absolute}[data-ui=radio-group][data-part=root][data-variant=tile]:not([data-readonly]):not([data-disabled]) [data-part=item]:has([data-part=control]:not(:disabled)):not(:has([data-part=control]:checked)):hover{--_tile-surface: var( --slotted-radio-group-tile-hover-background, var(--slotted-tone-accent-subtle-hover) );--_tile-edge: var( --slotted-radio-group-tile-hover-border-color, var(--slotted-tone-accent-border) )}[data-ui=radio-group][data-part=root][data-variant=tile]:not([data-readonly]):not([data-disabled]) [data-part=item]:has([data-part=control]:not(:disabled)):not(:has([data-part=control]:checked)):active{--_tile-surface: var( --slotted-radio-group-tile-active-background, var(--slotted-tone-accent-subtle-active) )}[data-ui=radio-group][data-part=root][data-variant=tile]:not([data-readonly]) [data-part=item]:has([data-part=control]:checked){--_tile-edge: var( --slotted-radio-group-tile-checked-border-color, var(--slotted-tone-accent-solid) );--_tile-edge-width: var(--slotted-border-width-thick, 2px)}[data-ui=radio-group][data-part=root][data-variant=tile]:not([data-readonly]) [data-part=item]:has([data-part=control]:checked){--_tile-surface: var( --slotted-radio-group-tile-checked-background, var(--slotted-tone-accent-surface) )}[data-ui=radio-group][data-part=root][data-variant=tile]:not([data-readonly]):not([data-disabled]) [data-part=item]:has([data-part=control]:checked:not(:disabled)):hover{--_tile-edge: var( --slotted-radio-group-tile-checked-hover-border-color, var(--slotted-tone-accent-solid-hover) )}[data-ui=radio-group][data-part=root][data-variant=tile][data-invalid] [data-part=item]{--_tile-edge: var( --slotted-radio-group-tile-invalid-border-color, var(--slotted-tone-danger-border) );--_tile-invalid-edge: var( --slotted-radio-group-invalid-edge-width, var(--slotted-control-invalid-edge-width, 1px) )}[data-ui=radio-group][data-part=root][data-variant=tile][data-invalid] [data-part=item]:has([data-part=control]:checked){--_tile-surface: var( --slotted-radio-group-tile-invalid-checked-background, var(--slotted-tone-danger-surface) );--_tile-edge: var( --slotted-radio-group-tile-invalid-checked-border-color, var(--slotted-tone-danger-solid) )}[data-ui=radio-group][data-part=root][data-variant=tile][data-readonly] [data-part=item]{--_tile-surface: var( --slotted-radio-group-tile-readonly-background, var(--slotted-tone-secondary-subtle-hover) );--_tile-edge: var( --slotted-radio-group-tile-readonly-border-color, var(--slotted-border-strong) );cursor:default}[data-ui=radio-group][data-part=root][data-variant=tile][data-disabled] [data-part=item],[data-ui=radio-group][data-part=root][data-variant=tile] [data-part=item]:has([data-part=control]:disabled){--_tile-surface: var( --slotted-radio-group-tile-disabled-background, var(--slotted-disabled-background) );--_tile-edge: var( --slotted-radio-group-tile-disabled-border-color, var(--slotted-disabled-border) );box-shadow:none;cursor:not-allowed}[data-ui=radio-group][data-part=root][data-variant=tile] [data-part=item]:has([data-part=control]:focus-visible){outline:var(--slotted-focus-ring-width, 2px) solid var(--slotted-focus-ring-color, Highlight);outline-offset:var(--slotted-focus-ring-offset, 2px)}[data-ui=radio-group][data-part=root][data-variant=tile] [data-part=control]:focus-visible{outline:none}@media(forced-colors:active){[data-ui=radio-group] [data-part=control]{background-color:Field;border-color:FieldText}[data-ui=radio-group] [data-part=control]:checked{background-color:Field;border-color:Highlight}[data-ui=radio-group] [data-part=control]:checked+[data-part=indicator]{color:Highlight}[data-ui=radio-group][data-part=root][data-invalid] [data-part=control]:checked{background-color:Field;border-color:CanvasText}[data-ui=radio-group][data-part=root][data-invalid] [data-part=control]:checked+[data-part=indicator]{color:Highlight}[data-ui=radio-group][data-part=root][data-variant=tile][data-invalid] [data-part=item],[data-ui=radio-group][data-part=root][data-variant=tile][data-invalid] [data-part=item]:has([data-part=control]:checked){--_tile-edge: CanvasText}[data-ui=radio-group] [data-part=control]:disabled{background-color:Field;border-color:GrayText}[data-ui=radio-group] [data-part=control]:disabled+[data-part=indicator]{color:GrayText}}}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
276
|
+
], exportAs: ["slRadioGroup"], ngImport: i0, template: '<ng-content />', isInline: true, styles: ["@layer slotted.components{[data-ui-radio-group][data-part-root]{--_size: var(--slotted-radio-group-size, var(--slotted-selection-size-md, 16px));--_font-size: var(--slotted-control-font-size-md, 13px);--_gap: var(--slotted-control-gap-md, 8px);--_label-gap: var(--slotted-control-label-gap-md, 12px);--_line-height: var(--slotted-radio-group-line-height, var(--slotted-line-height-md, 1.5));--_halo-spread: calc(var(--_label-gap) / 2);--_target: var(--slotted-target-min, 24px);--_lift: calc((var(--_font-size) * var(--_line-height) - var(--_size)) / 2);--_description-gap: var(--slotted-space-3, .375rem);color:var(--slotted-radio-group-color, var(--slotted-text, CanvasText));display:flex;flex-direction:column;font-family:var(--slotted-control-font-family, system-ui, sans-serif);font-size:var(--_font-size);gap:var(--slotted-radio-group-gap, var(--_gap));line-height:var(--_line-height)}[data-ui-radio-group][data-part-root]:has([data-part-description]){row-gap:var(--slotted-radio-group-gap, calc(var(--_gap) * 2))}[data-ui-radio-group][data-part-root][data-orientation=horizontal]{flex-direction:row;flex-wrap:wrap;column-gap:calc(var(--_gap) * 2)}[data-ui-radio-group][data-part-root][data-size=sm]{--_size: var(--slotted-radio-group-size, var(--slotted-selection-size-sm, 14px));--_font-size: var(--slotted-control-font-size-sm, 12px);--_gap: var(--slotted-control-gap-sm, 6px);--_label-gap: var(--slotted-control-label-gap-sm, 8px);--_tile-inset: var( --slotted-radio-group-tile-inset, var(--slotted-control-padding-inline-sm, 10px) )}[data-ui-radio-group][data-part-root][data-size=md]{--_size: var(--slotted-radio-group-size, var(--slotted-selection-size-md, 16px));--_font-size: var(--slotted-control-font-size-md, 13px);--_gap: var(--slotted-control-gap-md, 8px);--_label-gap: var(--slotted-control-label-gap-md, 12px);--_tile-inset: var( --slotted-radio-group-tile-inset, var(--slotted-control-padding-inline-md, 13px) )}[data-ui-radio-group][data-part-root][data-size=lg]{--_size: var(--slotted-radio-group-size, var(--slotted-selection-size-lg, 18px));--_font-size: var(--slotted-control-font-size-lg, 14px);--_gap: var(--slotted-control-gap-lg, 8px);--_label-gap: var(--slotted-control-label-gap-lg, 12px);--_tile-inset: var( --slotted-radio-group-tile-inset, var(--slotted-control-padding-inline-lg, 16px) )}[data-ui-radio-group] [data-part-item]{align-content:start;display:grid;grid-template-columns:auto minmax(0,1fr);isolation:isolate;position:relative}[data-ui-radio-group][data-part-root]{--_direction: ltr}[data-ui-radio-group][data-part-root]:dir(rtl){--_direction: rtl}[data-ui-radio-group] [data-part-control]{appearance:none;background-color:var(--slotted-radio-group-background, var(--slotted-surface, Canvas));border:var(--slotted-radio-group-border-width, var(--slotted-border-width-medium, 1.5px)) solid var(--slotted-radio-group-border-color, var(--slotted-border-strong, ButtonBorder));border-radius:var(--slotted-radius-full, 9999px);block-size:var(--_size);box-sizing:border-box;cursor:pointer;grid-area:1 / 1;inline-size:var(--_size);margin:0;margin-block-start:var(--_lift);transition:background-color var(--slotted-control-transition-duration) var(--slotted-control-transition-easing),border-color var(--slotted-control-transition-duration) var(--slotted-control-transition-easing)}[data-ui-radio-group] [data-part-indicator]{--slotted-icon-size: var(--_size);block-size:var(--_size);color:var(--slotted-radio-group-mark-color, var(--slotted-tone-accent-solid));display:flex;grid-area:1 / 1;inline-size:var(--_size);margin-block-start:var(--_lift);opacity:0;pointer-events:none;scale:.6;transition:opacity var(--slotted-duration-medium) var(--slotted-control-transition-easing),scale var(--slotted-duration-medium) var(--slotted-control-transition-easing)}[data-ui-radio-group] [data-part-control]:checked+[data-part-indicator]{opacity:1;scale:1}[data-ui-radio-group] [data-part-label]{cursor:pointer;grid-column:2;grid-row:1;overflow-wrap:anywhere}[data-ui-radio-group] [data-part-item]:has(>[data-part-label]){column-gap:var(--_label-gap)}[data-ui-radio-group][data-part-root]:not([data-variant=tile]) [data-part-label]{justify-self:start;position:relative}[data-ui-radio-group][data-part-root]:not([data-variant=tile]) [data-part-label]:before{block-size:var(--_target);content:\"\";direction:var(--_direction);inline-size:var(--_target);inset-block-start:calc(var(--_lift) + var(--_size) - var(--_target));inset-inline-start:calc((var(--_size) - var(--_target)) / 2 - var(--_size) - var(--_label-gap));position:absolute;z-index:-1}[data-ui-radio-group][data-part-root]:not([data-variant=tile]) [data-part-label]:after{background-color:var(--slotted-radio-group-halo-color, var(--slotted-tone-accent-text));border-radius:calc(var(--_size) / 2 + var(--_halo-spread));content:\"\";direction:var(--_direction);inset-block:calc(var(--_lift) - var(--_halo-spread));inset-inline-end:calc(-1.5 * var(--_halo-spread));inset-inline-start:calc(-1 * (var(--_size) + var(--_label-gap) + var(--_halo-spread)));opacity:0;position:absolute;transition:opacity var(--slotted-control-transition-duration) var(--slotted-control-transition-easing);z-index:-1}[data-ui-radio-group][data-part-root]:not([data-variant=tile]) [data-part-label]:empty:after{inset-inline-end:calc(var(--_label-gap) - var(--_halo-spread))}[data-ui-radio-group] [data-part-description]{color:var(--slotted-radio-group-description-color, var(--slotted-text-muted, GrayText));font-size:var( --slotted-radio-group-description-font-size, var(--slotted-font-size-xs, .75rem) );grid-column:2;grid-row:2;line-height:var(--slotted-line-height-xs, 1.4);margin:0;overflow-wrap:anywhere;padding-block-start:var(--_description-gap)}[data-ui-radio-group][data-part-root][data-label-placement=start] [data-part-item]{grid-template-columns:minmax(0,1fr) auto}[data-ui-radio-group][data-part-root][data-label-placement=start] [data-part-control],[data-ui-radio-group][data-part-root][data-label-placement=start] [data-part-indicator]{grid-area:1 / 2}[data-ui-radio-group][data-part-root][data-label-placement=start] [data-part-label],[data-ui-radio-group][data-part-root][data-label-placement=start] [data-part-description]{grid-column:1}[data-ui-radio-group][data-part-root][data-label-placement=start] [data-part-label]{justify-self:stretch}[data-ui-radio-group][data-part-root][data-label-placement=start] [data-part-label]:before{inset-inline-end:calc(-1 * (var(--_size) + var(--_label-gap)));inset-inline-start:auto}[data-ui-radio-group][data-part-root][data-label-placement=start] [data-part-label]:after{inset-inline-end:calc(-1 * (var(--_size) + var(--_label-gap) + var(--_halo-spread)));inset-inline-start:calc(-1.5 * var(--_halo-spread))}[data-ui-radio-group][data-part-root]:not([data-readonly]) [data-part-control]:hover:not(:disabled){border-color:var(--slotted-radio-group-hover-border-color, var(--slotted-tone-accent-border))}[data-ui-radio-group][data-part-root]:not([data-readonly]) [data-part-control]:hover:not(:disabled)~[data-part-label]:after,[data-ui-radio-group][data-part-root]:not([data-readonly]) [data-part-control]:not(:disabled)~[data-part-label]:hover:after{opacity:var(--slotted-selection-halo-opacity, .12)}[data-ui-radio-group][data-part-root]:not([data-readonly]) [data-part-control]:active:not(:disabled){background-color:var( --slotted-radio-group-active-background, var(--slotted-tone-accent-subtle-active) )}[data-ui-radio-group] [data-part-control]:checked{border-color:var(--slotted-radio-group-checked-border-color, var(--slotted-tone-accent-solid))}[data-ui-radio-group][data-part-root]:not([data-readonly]) [data-part-control]:checked:hover:not(:disabled){border-color:var( --slotted-radio-group-checked-hover-border-color, var(--slotted-tone-accent-solid-hover) )}[data-ui-radio-group][data-part-root]:not([data-readonly]) [data-part-control]:checked:active:not(:disabled){border-color:var( --slotted-radio-group-checked-active-border-color, var(--slotted-tone-accent-solid-active) )}[data-ui-radio-group] [data-part-control]:focus-visible{outline:var(--slotted-focus-ring-width, 2px) solid var(--slotted-focus-ring-color, Highlight);outline-offset:var(--slotted-focus-ring-offset, 2px)}[data-ui-radio-group][data-part-root][data-invalid]{--slotted-focus-ring-color: var( --slotted-radio-group-invalid-focus-ring-color, var(--slotted-focus-ring-color-invalid, Highlight) )}[data-ui-radio-group][data-part-root][data-invalid] [data-part-control]{border-width:calc(var(--slotted-radio-group-border-width, var(--slotted-border-width-medium, 1.5px)) + var( --slotted-radio-group-invalid-edge-width, var(--slotted-control-invalid-edge-width, 1px) ));border-color:var( --slotted-radio-group-invalid-border-color, var(--slotted-tone-danger-border) )}[data-ui-radio-group][data-part-root][data-invalid] [data-part-control]:checked{border-color:var( --slotted-radio-group-invalid-checked-border-color, var(--slotted-tone-danger-solid) )}[data-ui-radio-group][data-part-root][data-invalid] [data-part-control]:checked+[data-part-indicator]{color:var(--slotted-radio-group-invalid-mark-color, var(--slotted-tone-danger-solid))}[data-ui-radio-group][data-part-root][data-readonly] [data-part-control],[data-ui-radio-group][data-part-root][data-readonly] [data-part-label]{cursor:default}[data-ui-radio-group][data-part-root][data-readonly] [data-part-control]:not(:checked){background-color:var( --slotted-radio-group-readonly-background, var(--slotted-tone-secondary-subtle-hover) )}[data-ui-radio-group][data-part-root][data-disabled] [data-part-control],[data-ui-radio-group] [data-part-control]:disabled{background-color:var( --slotted-radio-group-disabled-background, var(--slotted-disabled-background) );border-color:var(--slotted-radio-group-disabled-border-color, var(--slotted-disabled-border));cursor:not-allowed}[data-ui-radio-group] [data-part-control]:disabled+[data-part-indicator]{color:var(--slotted-radio-group-disabled-mark-color, var(--slotted-disabled-foreground))}[data-ui-radio-group][data-part-root][data-disabled] [data-part-label],[data-ui-radio-group][data-part-root][data-disabled] [data-part-description],[data-ui-radio-group] [data-part-control]:disabled~[data-part-label],[data-ui-radio-group] [data-part-control]:disabled~[data-part-description]{color:var(--slotted-radio-group-disabled-color, var(--slotted-disabled-foreground));cursor:not-allowed}[data-ui-radio-group][data-part-root][data-variant=tile] [data-part-item]{--_description-gap: var( --slotted-radio-group-tile-description-gap, var(--slotted-space-2, .25rem) );--_tile-surface: var(--slotted-radio-group-tile-background, var(--slotted-surface, Canvas));--_tile-edge: var( --slotted-radio-group-tile-border-color, var(--slotted-control-border-color, ButtonBorder) );--_tile-edge-width: var(--slotted-control-border-width, 1px);background-color:var(--_tile-surface);border-radius:var(--slotted-radio-group-tile-radius, var(--slotted-radius-md, 6px));box-shadow:var(--slotted-control-shadow, none);cursor:pointer;padding:var(--_tile-inset);position:relative;transition:background-color var(--slotted-control-transition-duration) var(--slotted-control-transition-easing),box-shadow var(--slotted-control-transition-duration) var(--slotted-control-transition-easing)}[data-ui-radio-group][data-part-root][data-variant=tile] [data-part-item]:before{border:calc(var(--_tile-edge-width) + var(--_tile-invalid-edge, 0px)) solid var(--_tile-edge);border-radius:inherit;content:\"\";inset:0;pointer-events:none;position:absolute;transition:border-color var(--slotted-control-transition-duration) var(--slotted-control-transition-easing)}[data-ui-radio-group][data-part-root][data-variant=tile] [data-part-item] [data-part-label]:after{content:\"\";inset:0;position:absolute}[data-ui-radio-group][data-part-root][data-variant=tile]:not([data-readonly]):not([data-disabled]) [data-part-item]:has([data-part-control]:not(:disabled)):not(:has([data-part-control]:checked)):hover{--_tile-surface: var( --slotted-radio-group-tile-hover-background, var(--slotted-tone-accent-subtle-hover) );--_tile-edge: var( --slotted-radio-group-tile-hover-border-color, var(--slotted-tone-accent-border) )}[data-ui-radio-group][data-part-root][data-variant=tile]:not([data-readonly]):not([data-disabled]) [data-part-item]:has([data-part-control]:not(:disabled)):not(:has([data-part-control]:checked)):active{--_tile-surface: var( --slotted-radio-group-tile-active-background, var(--slotted-tone-accent-subtle-active) )}[data-ui-radio-group][data-part-root][data-variant=tile]:not([data-readonly]) [data-part-item]:has([data-part-control]:checked){--_tile-edge: var( --slotted-radio-group-tile-checked-border-color, var(--slotted-tone-accent-solid) );--_tile-edge-width: var(--slotted-border-width-thick, 2px)}[data-ui-radio-group][data-part-root][data-variant=tile]:not([data-readonly]) [data-part-item]:has([data-part-control]:checked){--_tile-surface: var( --slotted-radio-group-tile-checked-background, var(--slotted-tone-accent-surface) )}[data-ui-radio-group][data-part-root][data-variant=tile]:not([data-readonly]):not([data-disabled]) [data-part-item]:has([data-part-control]:checked:not(:disabled)):hover{--_tile-edge: var( --slotted-radio-group-tile-checked-hover-border-color, var(--slotted-tone-accent-solid-hover) )}[data-ui-radio-group][data-part-root][data-variant=tile][data-invalid] [data-part-item]{--_tile-edge: var( --slotted-radio-group-tile-invalid-border-color, var(--slotted-tone-danger-border) );--_tile-invalid-edge: var( --slotted-radio-group-invalid-edge-width, var(--slotted-control-invalid-edge-width, 1px) )}[data-ui-radio-group][data-part-root][data-variant=tile][data-invalid] [data-part-item]:has([data-part-control]:checked){--_tile-surface: var( --slotted-radio-group-tile-invalid-checked-background, var(--slotted-tone-danger-surface) );--_tile-edge: var( --slotted-radio-group-tile-invalid-checked-border-color, var(--slotted-tone-danger-solid) )}[data-ui-radio-group][data-part-root][data-variant=tile][data-readonly] [data-part-item]{--_tile-surface: var( --slotted-radio-group-tile-readonly-background, var(--slotted-tone-secondary-subtle-hover) );--_tile-edge: var( --slotted-radio-group-tile-readonly-border-color, var(--slotted-border-strong) );cursor:default}[data-ui-radio-group][data-part-root][data-variant=tile][data-disabled] [data-part-item],[data-ui-radio-group][data-part-root][data-variant=tile] [data-part-item]:has([data-part-control]:disabled){--_tile-surface: var( --slotted-radio-group-tile-disabled-background, var(--slotted-disabled-background) );--_tile-edge: var( --slotted-radio-group-tile-disabled-border-color, var(--slotted-disabled-border) );box-shadow:none;cursor:not-allowed}[data-ui-radio-group][data-part-root][data-variant=tile] [data-part-item]:has([data-part-control]:focus-visible){outline:var(--slotted-focus-ring-width, 2px) solid var(--slotted-focus-ring-color, Highlight);outline-offset:var(--slotted-focus-ring-offset, 2px)}[data-ui-radio-group][data-part-root][data-variant=tile] [data-part-control]:focus-visible{outline:none}@media(forced-colors:active){[data-ui-radio-group] [data-part-control]{background-color:Field;border-color:FieldText}[data-ui-radio-group] [data-part-control]:checked{background-color:Field;border-color:Highlight}[data-ui-radio-group] [data-part-control]:checked+[data-part-indicator]{color:Highlight}[data-ui-radio-group][data-part-root][data-invalid] [data-part-control]:checked{background-color:Field;border-color:CanvasText}[data-ui-radio-group][data-part-root][data-invalid] [data-part-control]:checked+[data-part-indicator]{color:Highlight}[data-ui-radio-group][data-part-root][data-variant=tile][data-invalid] [data-part-item],[data-ui-radio-group][data-part-root][data-variant=tile][data-invalid] [data-part-item]:has([data-part-control]:checked){--_tile-edge: CanvasText}[data-ui-radio-group] [data-part-control]:disabled{background-color:Field;border-color:GrayText}[data-ui-radio-group] [data-part-control]:disabled+[data-part-indicator]{color:GrayText}}}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
277
277
|
}
|
|
278
278
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.7", ngImport: i0, type: SlRadioGroup, decorators: [{
|
|
279
279
|
type: Component,
|
|
@@ -282,7 +282,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.7", ngImpor
|
|
|
282
282
|
{ provide: NG_VALIDATORS, useExisting: forwardRef(() => SlRadioGroup), multi: true },
|
|
283
283
|
], host: {
|
|
284
284
|
'data-ui': 'radio-group',
|
|
285
|
+
'data-ui-radio-group': '',
|
|
285
286
|
'data-part': 'root',
|
|
287
|
+
'data-part-root': '',
|
|
286
288
|
'[attr.role]': 'resolvedRole()',
|
|
287
289
|
'[attr.data-size]': 'resolvedSize()',
|
|
288
290
|
'[attr.data-orientation]': 'resolvedOrientation()',
|
|
@@ -297,7 +299,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.7", ngImpor
|
|
|
297
299
|
'[attr.aria-readonly]': 'ariaReadOnly()',
|
|
298
300
|
'[attr.aria-required]': 'ariaRequired()',
|
|
299
301
|
'[attr.aria-orientation]': 'ariaOrientation()',
|
|
300
|
-
}, styles: ["@layer slotted.components{[data-ui=radio-group][data-part=root]{--_size: var(--slotted-radio-group-size, var(--slotted-selection-size-md, 16px));--_font-size: var(--slotted-control-font-size-md, 13px);--_gap: var(--slotted-control-gap-md, 8px);--_label-gap: var(--slotted-control-label-gap-md, 12px);--_line-height: var(--slotted-radio-group-line-height, var(--slotted-line-height-md, 1.5));--_halo-spread: calc(var(--_label-gap) / 2);--_target: var(--slotted-target-min, 24px);--_lift: calc((var(--_font-size) * var(--_line-height) - var(--_size)) / 2);--_description-gap: var(--slotted-space-3, .375rem);color:var(--slotted-radio-group-color, var(--slotted-text, CanvasText));display:flex;flex-direction:column;font-family:var(--slotted-control-font-family, system-ui, sans-serif);font-size:var(--_font-size);gap:var(--slotted-radio-group-gap, var(--_gap));line-height:var(--_line-height)}[data-ui=radio-group][data-part=root]:has([data-part=description]){row-gap:var(--slotted-radio-group-gap, calc(var(--_gap) * 2))}[data-ui=radio-group][data-part=root][data-orientation=horizontal]{flex-direction:row;flex-wrap:wrap;column-gap:calc(var(--_gap) * 2)}[data-ui=radio-group][data-part=root][data-size=sm]{--_size: var(--slotted-radio-group-size, var(--slotted-selection-size-sm, 14px));--_font-size: var(--slotted-control-font-size-sm, 12px);--_gap: var(--slotted-control-gap-sm, 6px);--_label-gap: var(--slotted-control-label-gap-sm, 8px);--_tile-inset: var( --slotted-radio-group-tile-inset, var(--slotted-control-padding-inline-sm, 10px) )}[data-ui=radio-group][data-part=root][data-size=md]{--_size: var(--slotted-radio-group-size, var(--slotted-selection-size-md, 16px));--_font-size: var(--slotted-control-font-size-md, 13px);--_gap: var(--slotted-control-gap-md, 8px);--_label-gap: var(--slotted-control-label-gap-md, 12px);--_tile-inset: var( --slotted-radio-group-tile-inset, var(--slotted-control-padding-inline-md, 13px) )}[data-ui=radio-group][data-part=root][data-size=lg]{--_size: var(--slotted-radio-group-size, var(--slotted-selection-size-lg, 18px));--_font-size: var(--slotted-control-font-size-lg, 14px);--_gap: var(--slotted-control-gap-lg, 8px);--_label-gap: var(--slotted-control-label-gap-lg, 12px);--_tile-inset: var( --slotted-radio-group-tile-inset, var(--slotted-control-padding-inline-lg, 16px) )}[data-ui=radio-group] [data-part=item]{align-content:start;display:grid;grid-template-columns:auto minmax(0,1fr);isolation:isolate;position:relative}[data-ui=radio-group][data-part=root]{--_direction: ltr}[data-ui=radio-group][data-part=root]:dir(rtl){--_direction: rtl}[data-ui=radio-group] [data-part=control]{appearance:none;background-color:var(--slotted-radio-group-background, var(--slotted-surface, Canvas));border:var(--slotted-radio-group-border-width, var(--slotted-border-width-medium, 1.5px)) solid var(--slotted-radio-group-border-color, var(--slotted-border-strong, ButtonBorder));border-radius:var(--slotted-radius-full, 9999px);block-size:var(--_size);box-sizing:border-box;cursor:pointer;grid-area:1 / 1;inline-size:var(--_size);margin:0;margin-block-start:var(--_lift);transition:background-color var(--slotted-control-transition-duration) var(--slotted-control-transition-easing),border-color var(--slotted-control-transition-duration) var(--slotted-control-transition-easing)}[data-ui=radio-group] [data-part=indicator]{--slotted-icon-size: var(--_size);block-size:var(--_size);color:var(--slotted-radio-group-mark-color, var(--slotted-tone-accent-solid));display:flex;grid-area:1 / 1;inline-size:var(--_size);margin-block-start:var(--_lift);opacity:0;pointer-events:none;scale:.6;transition:opacity var(--slotted-duration-medium) var(--slotted-control-transition-easing),scale var(--slotted-duration-medium) var(--slotted-control-transition-easing)}[data-ui=radio-group] [data-part=control]:checked+[data-part=indicator]{opacity:1;scale:1}[data-ui=radio-group] [data-part=label]{cursor:pointer;grid-column:2;grid-row:1;overflow-wrap:anywhere}[data-ui=radio-group] [data-part=item]:has(>[data-part=label]){column-gap:var(--_label-gap)}[data-ui=radio-group][data-part=root]:not([data-variant=tile]) [data-part=label]{justify-self:start;position:relative}[data-ui=radio-group][data-part=root]:not([data-variant=tile]) [data-part=label]:before{block-size:var(--_target);content:\"\";direction:var(--_direction);inline-size:var(--_target);inset-block-start:calc(var(--_lift) + var(--_size) - var(--_target));inset-inline-start:calc((var(--_size) - var(--_target)) / 2 - var(--_size) - var(--_label-gap));position:absolute;z-index:-1}[data-ui=radio-group][data-part=root]:not([data-variant=tile]) [data-part=label]:after{background-color:var(--slotted-radio-group-halo-color, var(--slotted-tone-accent-text));border-radius:calc(var(--_size) / 2 + var(--_halo-spread));content:\"\";direction:var(--_direction);inset-block:calc(var(--_lift) - var(--_halo-spread));inset-inline-end:calc(-1.5 * var(--_halo-spread));inset-inline-start:calc(-1 * (var(--_size) + var(--_label-gap) + var(--_halo-spread)));opacity:0;position:absolute;transition:opacity var(--slotted-control-transition-duration) var(--slotted-control-transition-easing);z-index:-1}[data-ui=radio-group][data-part=root]:not([data-variant=tile]) [data-part=label]:empty:after{inset-inline-end:calc(var(--_label-gap) - var(--_halo-spread))}[data-ui=radio-group] [data-part=description]{color:var(--slotted-radio-group-description-color, var(--slotted-text-muted, GrayText));font-size:var( --slotted-radio-group-description-font-size, var(--slotted-font-size-xs, .75rem) );grid-column:2;grid-row:2;line-height:var(--slotted-line-height-xs, 1.4);margin:0;overflow-wrap:anywhere;padding-block-start:var(--_description-gap)}[data-ui=radio-group][data-part=root][data-label-placement=start] [data-part=item]{grid-template-columns:minmax(0,1fr) auto}[data-ui=radio-group][data-part=root][data-label-placement=start] [data-part=control],[data-ui=radio-group][data-part=root][data-label-placement=start] [data-part=indicator]{grid-area:1 / 2}[data-ui=radio-group][data-part=root][data-label-placement=start] [data-part=label],[data-ui=radio-group][data-part=root][data-label-placement=start] [data-part=description]{grid-column:1}[data-ui=radio-group][data-part=root][data-label-placement=start] [data-part=label]{justify-self:stretch}[data-ui=radio-group][data-part=root][data-label-placement=start] [data-part=label]:before{inset-inline-end:calc(-1 * (var(--_size) + var(--_label-gap)));inset-inline-start:auto}[data-ui=radio-group][data-part=root][data-label-placement=start] [data-part=label]:after{inset-inline-end:calc(-1 * (var(--_size) + var(--_label-gap) + var(--_halo-spread)));inset-inline-start:calc(-1.5 * var(--_halo-spread))}[data-ui=radio-group][data-part=root]:not([data-readonly]) [data-part=control]:hover:not(:disabled){border-color:var(--slotted-radio-group-hover-border-color, var(--slotted-tone-accent-border))}[data-ui=radio-group][data-part=root]:not([data-readonly]) [data-part=control]:hover:not(:disabled)~[data-part=label]:after,[data-ui=radio-group][data-part=root]:not([data-readonly]) [data-part=control]:not(:disabled)~[data-part=label]:hover:after{opacity:var(--slotted-selection-halo-opacity, .12)}[data-ui=radio-group][data-part=root]:not([data-readonly]) [data-part=control]:active:not(:disabled){background-color:var( --slotted-radio-group-active-background, var(--slotted-tone-accent-subtle-active) )}[data-ui=radio-group] [data-part=control]:checked{border-color:var(--slotted-radio-group-checked-border-color, var(--slotted-tone-accent-solid))}[data-ui=radio-group][data-part=root]:not([data-readonly]) [data-part=control]:checked:hover:not(:disabled){border-color:var( --slotted-radio-group-checked-hover-border-color, var(--slotted-tone-accent-solid-hover) )}[data-ui=radio-group][data-part=root]:not([data-readonly]) [data-part=control]:checked:active:not(:disabled){border-color:var( --slotted-radio-group-checked-active-border-color, var(--slotted-tone-accent-solid-active) )}[data-ui=radio-group] [data-part=control]:focus-visible{outline:var(--slotted-focus-ring-width, 2px) solid var(--slotted-focus-ring-color, Highlight);outline-offset:var(--slotted-focus-ring-offset, 2px)}[data-ui=radio-group][data-part=root][data-invalid]{--slotted-focus-ring-color: var( --slotted-radio-group-invalid-focus-ring-color, var(--slotted-focus-ring-color-invalid, Highlight) )}[data-ui=radio-group][data-part=root][data-invalid] [data-part=control]{border-width:calc(var(--slotted-radio-group-border-width, var(--slotted-border-width-medium, 1.5px)) + var( --slotted-radio-group-invalid-edge-width, var(--slotted-control-invalid-edge-width, 1px) ));border-color:var( --slotted-radio-group-invalid-border-color, var(--slotted-tone-danger-border) )}[data-ui=radio-group][data-part=root][data-invalid] [data-part=control]:checked{border-color:var( --slotted-radio-group-invalid-checked-border-color, var(--slotted-tone-danger-solid) )}[data-ui=radio-group][data-part=root][data-invalid] [data-part=control]:checked+[data-part=indicator]{color:var(--slotted-radio-group-invalid-mark-color, var(--slotted-tone-danger-solid))}[data-ui=radio-group][data-part=root][data-readonly] [data-part=control],[data-ui=radio-group][data-part=root][data-readonly] [data-part=label]{cursor:default}[data-ui=radio-group][data-part=root][data-readonly] [data-part=control]:not(:checked){background-color:var( --slotted-radio-group-readonly-background, var(--slotted-tone-secondary-subtle-hover) )}[data-ui=radio-group][data-part=root][data-disabled] [data-part=control],[data-ui=radio-group] [data-part=control]:disabled{background-color:var( --slotted-radio-group-disabled-background, var(--slotted-disabled-background) );border-color:var(--slotted-radio-group-disabled-border-color, var(--slotted-disabled-border));cursor:not-allowed}[data-ui=radio-group] [data-part=control]:disabled+[data-part=indicator]{color:var(--slotted-radio-group-disabled-mark-color, var(--slotted-disabled-foreground))}[data-ui=radio-group][data-part=root][data-disabled] [data-part=label],[data-ui=radio-group][data-part=root][data-disabled] [data-part=description],[data-ui=radio-group] [data-part=control]:disabled~[data-part=label],[data-ui=radio-group] [data-part=control]:disabled~[data-part=description]{color:var(--slotted-radio-group-disabled-color, var(--slotted-disabled-foreground));cursor:not-allowed}[data-ui=radio-group][data-part=root][data-variant=tile] [data-part=item]{--_description-gap: var( --slotted-radio-group-tile-description-gap, var(--slotted-space-2, .25rem) );--_tile-surface: var(--slotted-radio-group-tile-background, var(--slotted-surface, Canvas));--_tile-edge: var( --slotted-radio-group-tile-border-color, var(--slotted-control-border-color, ButtonBorder) );--_tile-edge-width: var(--slotted-control-border-width, 1px);background-color:var(--_tile-surface);border-radius:var(--slotted-radio-group-tile-radius, var(--slotted-radius-md, 6px));box-shadow:var(--slotted-control-shadow, none);cursor:pointer;padding:var(--_tile-inset);position:relative;transition:background-color var(--slotted-control-transition-duration) var(--slotted-control-transition-easing),box-shadow var(--slotted-control-transition-duration) var(--slotted-control-transition-easing)}[data-ui=radio-group][data-part=root][data-variant=tile] [data-part=item]:before{border:calc(var(--_tile-edge-width) + var(--_tile-invalid-edge, 0px)) solid var(--_tile-edge);border-radius:inherit;content:\"\";inset:0;pointer-events:none;position:absolute;transition:border-color var(--slotted-control-transition-duration) var(--slotted-control-transition-easing)}[data-ui=radio-group][data-part=root][data-variant=tile] [data-part=item] [data-part=label]:after{content:\"\";inset:0;position:absolute}[data-ui=radio-group][data-part=root][data-variant=tile]:not([data-readonly]):not([data-disabled]) [data-part=item]:has([data-part=control]:not(:disabled)):not(:has([data-part=control]:checked)):hover{--_tile-surface: var( --slotted-radio-group-tile-hover-background, var(--slotted-tone-accent-subtle-hover) );--_tile-edge: var( --slotted-radio-group-tile-hover-border-color, var(--slotted-tone-accent-border) )}[data-ui=radio-group][data-part=root][data-variant=tile]:not([data-readonly]):not([data-disabled]) [data-part=item]:has([data-part=control]:not(:disabled)):not(:has([data-part=control]:checked)):active{--_tile-surface: var( --slotted-radio-group-tile-active-background, var(--slotted-tone-accent-subtle-active) )}[data-ui=radio-group][data-part=root][data-variant=tile]:not([data-readonly]) [data-part=item]:has([data-part=control]:checked){--_tile-edge: var( --slotted-radio-group-tile-checked-border-color, var(--slotted-tone-accent-solid) );--_tile-edge-width: var(--slotted-border-width-thick, 2px)}[data-ui=radio-group][data-part=root][data-variant=tile]:not([data-readonly]) [data-part=item]:has([data-part=control]:checked){--_tile-surface: var( --slotted-radio-group-tile-checked-background, var(--slotted-tone-accent-surface) )}[data-ui=radio-group][data-part=root][data-variant=tile]:not([data-readonly]):not([data-disabled]) [data-part=item]:has([data-part=control]:checked:not(:disabled)):hover{--_tile-edge: var( --slotted-radio-group-tile-checked-hover-border-color, var(--slotted-tone-accent-solid-hover) )}[data-ui=radio-group][data-part=root][data-variant=tile][data-invalid] [data-part=item]{--_tile-edge: var( --slotted-radio-group-tile-invalid-border-color, var(--slotted-tone-danger-border) );--_tile-invalid-edge: var( --slotted-radio-group-invalid-edge-width, var(--slotted-control-invalid-edge-width, 1px) )}[data-ui=radio-group][data-part=root][data-variant=tile][data-invalid] [data-part=item]:has([data-part=control]:checked){--_tile-surface: var( --slotted-radio-group-tile-invalid-checked-background, var(--slotted-tone-danger-surface) );--_tile-edge: var( --slotted-radio-group-tile-invalid-checked-border-color, var(--slotted-tone-danger-solid) )}[data-ui=radio-group][data-part=root][data-variant=tile][data-readonly] [data-part=item]{--_tile-surface: var( --slotted-radio-group-tile-readonly-background, var(--slotted-tone-secondary-subtle-hover) );--_tile-edge: var( --slotted-radio-group-tile-readonly-border-color, var(--slotted-border-strong) );cursor:default}[data-ui=radio-group][data-part=root][data-variant=tile][data-disabled] [data-part=item],[data-ui=radio-group][data-part=root][data-variant=tile] [data-part=item]:has([data-part=control]:disabled){--_tile-surface: var( --slotted-radio-group-tile-disabled-background, var(--slotted-disabled-background) );--_tile-edge: var( --slotted-radio-group-tile-disabled-border-color, var(--slotted-disabled-border) );box-shadow:none;cursor:not-allowed}[data-ui=radio-group][data-part=root][data-variant=tile] [data-part=item]:has([data-part=control]:focus-visible){outline:var(--slotted-focus-ring-width, 2px) solid var(--slotted-focus-ring-color, Highlight);outline-offset:var(--slotted-focus-ring-offset, 2px)}[data-ui=radio-group][data-part=root][data-variant=tile] [data-part=control]:focus-visible{outline:none}@media(forced-colors:active){[data-ui=radio-group] [data-part=control]{background-color:Field;border-color:FieldText}[data-ui=radio-group] [data-part=control]:checked{background-color:Field;border-color:Highlight}[data-ui=radio-group] [data-part=control]:checked+[data-part=indicator]{color:Highlight}[data-ui=radio-group][data-part=root][data-invalid] [data-part=control]:checked{background-color:Field;border-color:CanvasText}[data-ui=radio-group][data-part=root][data-invalid] [data-part=control]:checked+[data-part=indicator]{color:Highlight}[data-ui=radio-group][data-part=root][data-variant=tile][data-invalid] [data-part=item],[data-ui=radio-group][data-part=root][data-variant=tile][data-invalid] [data-part=item]:has([data-part=control]:checked){--_tile-edge: CanvasText}[data-ui=radio-group] [data-part=control]:disabled{background-color:Field;border-color:GrayText}[data-ui=radio-group] [data-part=control]:disabled+[data-part=indicator]{color:GrayText}}}\n"] }]
|
|
302
|
+
}, styles: ["@layer slotted.components{[data-ui-radio-group][data-part-root]{--_size: var(--slotted-radio-group-size, var(--slotted-selection-size-md, 16px));--_font-size: var(--slotted-control-font-size-md, 13px);--_gap: var(--slotted-control-gap-md, 8px);--_label-gap: var(--slotted-control-label-gap-md, 12px);--_line-height: var(--slotted-radio-group-line-height, var(--slotted-line-height-md, 1.5));--_halo-spread: calc(var(--_label-gap) / 2);--_target: var(--slotted-target-min, 24px);--_lift: calc((var(--_font-size) * var(--_line-height) - var(--_size)) / 2);--_description-gap: var(--slotted-space-3, .375rem);color:var(--slotted-radio-group-color, var(--slotted-text, CanvasText));display:flex;flex-direction:column;font-family:var(--slotted-control-font-family, system-ui, sans-serif);font-size:var(--_font-size);gap:var(--slotted-radio-group-gap, var(--_gap));line-height:var(--_line-height)}[data-ui-radio-group][data-part-root]:has([data-part-description]){row-gap:var(--slotted-radio-group-gap, calc(var(--_gap) * 2))}[data-ui-radio-group][data-part-root][data-orientation=horizontal]{flex-direction:row;flex-wrap:wrap;column-gap:calc(var(--_gap) * 2)}[data-ui-radio-group][data-part-root][data-size=sm]{--_size: var(--slotted-radio-group-size, var(--slotted-selection-size-sm, 14px));--_font-size: var(--slotted-control-font-size-sm, 12px);--_gap: var(--slotted-control-gap-sm, 6px);--_label-gap: var(--slotted-control-label-gap-sm, 8px);--_tile-inset: var( --slotted-radio-group-tile-inset, var(--slotted-control-padding-inline-sm, 10px) )}[data-ui-radio-group][data-part-root][data-size=md]{--_size: var(--slotted-radio-group-size, var(--slotted-selection-size-md, 16px));--_font-size: var(--slotted-control-font-size-md, 13px);--_gap: var(--slotted-control-gap-md, 8px);--_label-gap: var(--slotted-control-label-gap-md, 12px);--_tile-inset: var( --slotted-radio-group-tile-inset, var(--slotted-control-padding-inline-md, 13px) )}[data-ui-radio-group][data-part-root][data-size=lg]{--_size: var(--slotted-radio-group-size, var(--slotted-selection-size-lg, 18px));--_font-size: var(--slotted-control-font-size-lg, 14px);--_gap: var(--slotted-control-gap-lg, 8px);--_label-gap: var(--slotted-control-label-gap-lg, 12px);--_tile-inset: var( --slotted-radio-group-tile-inset, var(--slotted-control-padding-inline-lg, 16px) )}[data-ui-radio-group] [data-part-item]{align-content:start;display:grid;grid-template-columns:auto minmax(0,1fr);isolation:isolate;position:relative}[data-ui-radio-group][data-part-root]{--_direction: ltr}[data-ui-radio-group][data-part-root]:dir(rtl){--_direction: rtl}[data-ui-radio-group] [data-part-control]{appearance:none;background-color:var(--slotted-radio-group-background, var(--slotted-surface, Canvas));border:var(--slotted-radio-group-border-width, var(--slotted-border-width-medium, 1.5px)) solid var(--slotted-radio-group-border-color, var(--slotted-border-strong, ButtonBorder));border-radius:var(--slotted-radius-full, 9999px);block-size:var(--_size);box-sizing:border-box;cursor:pointer;grid-area:1 / 1;inline-size:var(--_size);margin:0;margin-block-start:var(--_lift);transition:background-color var(--slotted-control-transition-duration) var(--slotted-control-transition-easing),border-color var(--slotted-control-transition-duration) var(--slotted-control-transition-easing)}[data-ui-radio-group] [data-part-indicator]{--slotted-icon-size: var(--_size);block-size:var(--_size);color:var(--slotted-radio-group-mark-color, var(--slotted-tone-accent-solid));display:flex;grid-area:1 / 1;inline-size:var(--_size);margin-block-start:var(--_lift);opacity:0;pointer-events:none;scale:.6;transition:opacity var(--slotted-duration-medium) var(--slotted-control-transition-easing),scale var(--slotted-duration-medium) var(--slotted-control-transition-easing)}[data-ui-radio-group] [data-part-control]:checked+[data-part-indicator]{opacity:1;scale:1}[data-ui-radio-group] [data-part-label]{cursor:pointer;grid-column:2;grid-row:1;overflow-wrap:anywhere}[data-ui-radio-group] [data-part-item]:has(>[data-part-label]){column-gap:var(--_label-gap)}[data-ui-radio-group][data-part-root]:not([data-variant=tile]) [data-part-label]{justify-self:start;position:relative}[data-ui-radio-group][data-part-root]:not([data-variant=tile]) [data-part-label]:before{block-size:var(--_target);content:\"\";direction:var(--_direction);inline-size:var(--_target);inset-block-start:calc(var(--_lift) + var(--_size) - var(--_target));inset-inline-start:calc((var(--_size) - var(--_target)) / 2 - var(--_size) - var(--_label-gap));position:absolute;z-index:-1}[data-ui-radio-group][data-part-root]:not([data-variant=tile]) [data-part-label]:after{background-color:var(--slotted-radio-group-halo-color, var(--slotted-tone-accent-text));border-radius:calc(var(--_size) / 2 + var(--_halo-spread));content:\"\";direction:var(--_direction);inset-block:calc(var(--_lift) - var(--_halo-spread));inset-inline-end:calc(-1.5 * var(--_halo-spread));inset-inline-start:calc(-1 * (var(--_size) + var(--_label-gap) + var(--_halo-spread)));opacity:0;position:absolute;transition:opacity var(--slotted-control-transition-duration) var(--slotted-control-transition-easing);z-index:-1}[data-ui-radio-group][data-part-root]:not([data-variant=tile]) [data-part-label]:empty:after{inset-inline-end:calc(var(--_label-gap) - var(--_halo-spread))}[data-ui-radio-group] [data-part-description]{color:var(--slotted-radio-group-description-color, var(--slotted-text-muted, GrayText));font-size:var( --slotted-radio-group-description-font-size, var(--slotted-font-size-xs, .75rem) );grid-column:2;grid-row:2;line-height:var(--slotted-line-height-xs, 1.4);margin:0;overflow-wrap:anywhere;padding-block-start:var(--_description-gap)}[data-ui-radio-group][data-part-root][data-label-placement=start] [data-part-item]{grid-template-columns:minmax(0,1fr) auto}[data-ui-radio-group][data-part-root][data-label-placement=start] [data-part-control],[data-ui-radio-group][data-part-root][data-label-placement=start] [data-part-indicator]{grid-area:1 / 2}[data-ui-radio-group][data-part-root][data-label-placement=start] [data-part-label],[data-ui-radio-group][data-part-root][data-label-placement=start] [data-part-description]{grid-column:1}[data-ui-radio-group][data-part-root][data-label-placement=start] [data-part-label]{justify-self:stretch}[data-ui-radio-group][data-part-root][data-label-placement=start] [data-part-label]:before{inset-inline-end:calc(-1 * (var(--_size) + var(--_label-gap)));inset-inline-start:auto}[data-ui-radio-group][data-part-root][data-label-placement=start] [data-part-label]:after{inset-inline-end:calc(-1 * (var(--_size) + var(--_label-gap) + var(--_halo-spread)));inset-inline-start:calc(-1.5 * var(--_halo-spread))}[data-ui-radio-group][data-part-root]:not([data-readonly]) [data-part-control]:hover:not(:disabled){border-color:var(--slotted-radio-group-hover-border-color, var(--slotted-tone-accent-border))}[data-ui-radio-group][data-part-root]:not([data-readonly]) [data-part-control]:hover:not(:disabled)~[data-part-label]:after,[data-ui-radio-group][data-part-root]:not([data-readonly]) [data-part-control]:not(:disabled)~[data-part-label]:hover:after{opacity:var(--slotted-selection-halo-opacity, .12)}[data-ui-radio-group][data-part-root]:not([data-readonly]) [data-part-control]:active:not(:disabled){background-color:var( --slotted-radio-group-active-background, var(--slotted-tone-accent-subtle-active) )}[data-ui-radio-group] [data-part-control]:checked{border-color:var(--slotted-radio-group-checked-border-color, var(--slotted-tone-accent-solid))}[data-ui-radio-group][data-part-root]:not([data-readonly]) [data-part-control]:checked:hover:not(:disabled){border-color:var( --slotted-radio-group-checked-hover-border-color, var(--slotted-tone-accent-solid-hover) )}[data-ui-radio-group][data-part-root]:not([data-readonly]) [data-part-control]:checked:active:not(:disabled){border-color:var( --slotted-radio-group-checked-active-border-color, var(--slotted-tone-accent-solid-active) )}[data-ui-radio-group] [data-part-control]:focus-visible{outline:var(--slotted-focus-ring-width, 2px) solid var(--slotted-focus-ring-color, Highlight);outline-offset:var(--slotted-focus-ring-offset, 2px)}[data-ui-radio-group][data-part-root][data-invalid]{--slotted-focus-ring-color: var( --slotted-radio-group-invalid-focus-ring-color, var(--slotted-focus-ring-color-invalid, Highlight) )}[data-ui-radio-group][data-part-root][data-invalid] [data-part-control]{border-width:calc(var(--slotted-radio-group-border-width, var(--slotted-border-width-medium, 1.5px)) + var( --slotted-radio-group-invalid-edge-width, var(--slotted-control-invalid-edge-width, 1px) ));border-color:var( --slotted-radio-group-invalid-border-color, var(--slotted-tone-danger-border) )}[data-ui-radio-group][data-part-root][data-invalid] [data-part-control]:checked{border-color:var( --slotted-radio-group-invalid-checked-border-color, var(--slotted-tone-danger-solid) )}[data-ui-radio-group][data-part-root][data-invalid] [data-part-control]:checked+[data-part-indicator]{color:var(--slotted-radio-group-invalid-mark-color, var(--slotted-tone-danger-solid))}[data-ui-radio-group][data-part-root][data-readonly] [data-part-control],[data-ui-radio-group][data-part-root][data-readonly] [data-part-label]{cursor:default}[data-ui-radio-group][data-part-root][data-readonly] [data-part-control]:not(:checked){background-color:var( --slotted-radio-group-readonly-background, var(--slotted-tone-secondary-subtle-hover) )}[data-ui-radio-group][data-part-root][data-disabled] [data-part-control],[data-ui-radio-group] [data-part-control]:disabled{background-color:var( --slotted-radio-group-disabled-background, var(--slotted-disabled-background) );border-color:var(--slotted-radio-group-disabled-border-color, var(--slotted-disabled-border));cursor:not-allowed}[data-ui-radio-group] [data-part-control]:disabled+[data-part-indicator]{color:var(--slotted-radio-group-disabled-mark-color, var(--slotted-disabled-foreground))}[data-ui-radio-group][data-part-root][data-disabled] [data-part-label],[data-ui-radio-group][data-part-root][data-disabled] [data-part-description],[data-ui-radio-group] [data-part-control]:disabled~[data-part-label],[data-ui-radio-group] [data-part-control]:disabled~[data-part-description]{color:var(--slotted-radio-group-disabled-color, var(--slotted-disabled-foreground));cursor:not-allowed}[data-ui-radio-group][data-part-root][data-variant=tile] [data-part-item]{--_description-gap: var( --slotted-radio-group-tile-description-gap, var(--slotted-space-2, .25rem) );--_tile-surface: var(--slotted-radio-group-tile-background, var(--slotted-surface, Canvas));--_tile-edge: var( --slotted-radio-group-tile-border-color, var(--slotted-control-border-color, ButtonBorder) );--_tile-edge-width: var(--slotted-control-border-width, 1px);background-color:var(--_tile-surface);border-radius:var(--slotted-radio-group-tile-radius, var(--slotted-radius-md, 6px));box-shadow:var(--slotted-control-shadow, none);cursor:pointer;padding:var(--_tile-inset);position:relative;transition:background-color var(--slotted-control-transition-duration) var(--slotted-control-transition-easing),box-shadow var(--slotted-control-transition-duration) var(--slotted-control-transition-easing)}[data-ui-radio-group][data-part-root][data-variant=tile] [data-part-item]:before{border:calc(var(--_tile-edge-width) + var(--_tile-invalid-edge, 0px)) solid var(--_tile-edge);border-radius:inherit;content:\"\";inset:0;pointer-events:none;position:absolute;transition:border-color var(--slotted-control-transition-duration) var(--slotted-control-transition-easing)}[data-ui-radio-group][data-part-root][data-variant=tile] [data-part-item] [data-part-label]:after{content:\"\";inset:0;position:absolute}[data-ui-radio-group][data-part-root][data-variant=tile]:not([data-readonly]):not([data-disabled]) [data-part-item]:has([data-part-control]:not(:disabled)):not(:has([data-part-control]:checked)):hover{--_tile-surface: var( --slotted-radio-group-tile-hover-background, var(--slotted-tone-accent-subtle-hover) );--_tile-edge: var( --slotted-radio-group-tile-hover-border-color, var(--slotted-tone-accent-border) )}[data-ui-radio-group][data-part-root][data-variant=tile]:not([data-readonly]):not([data-disabled]) [data-part-item]:has([data-part-control]:not(:disabled)):not(:has([data-part-control]:checked)):active{--_tile-surface: var( --slotted-radio-group-tile-active-background, var(--slotted-tone-accent-subtle-active) )}[data-ui-radio-group][data-part-root][data-variant=tile]:not([data-readonly]) [data-part-item]:has([data-part-control]:checked){--_tile-edge: var( --slotted-radio-group-tile-checked-border-color, var(--slotted-tone-accent-solid) );--_tile-edge-width: var(--slotted-border-width-thick, 2px)}[data-ui-radio-group][data-part-root][data-variant=tile]:not([data-readonly]) [data-part-item]:has([data-part-control]:checked){--_tile-surface: var( --slotted-radio-group-tile-checked-background, var(--slotted-tone-accent-surface) )}[data-ui-radio-group][data-part-root][data-variant=tile]:not([data-readonly]):not([data-disabled]) [data-part-item]:has([data-part-control]:checked:not(:disabled)):hover{--_tile-edge: var( --slotted-radio-group-tile-checked-hover-border-color, var(--slotted-tone-accent-solid-hover) )}[data-ui-radio-group][data-part-root][data-variant=tile][data-invalid] [data-part-item]{--_tile-edge: var( --slotted-radio-group-tile-invalid-border-color, var(--slotted-tone-danger-border) );--_tile-invalid-edge: var( --slotted-radio-group-invalid-edge-width, var(--slotted-control-invalid-edge-width, 1px) )}[data-ui-radio-group][data-part-root][data-variant=tile][data-invalid] [data-part-item]:has([data-part-control]:checked){--_tile-surface: var( --slotted-radio-group-tile-invalid-checked-background, var(--slotted-tone-danger-surface) );--_tile-edge: var( --slotted-radio-group-tile-invalid-checked-border-color, var(--slotted-tone-danger-solid) )}[data-ui-radio-group][data-part-root][data-variant=tile][data-readonly] [data-part-item]{--_tile-surface: var( --slotted-radio-group-tile-readonly-background, var(--slotted-tone-secondary-subtle-hover) );--_tile-edge: var( --slotted-radio-group-tile-readonly-border-color, var(--slotted-border-strong) );cursor:default}[data-ui-radio-group][data-part-root][data-variant=tile][data-disabled] [data-part-item],[data-ui-radio-group][data-part-root][data-variant=tile] [data-part-item]:has([data-part-control]:disabled){--_tile-surface: var( --slotted-radio-group-tile-disabled-background, var(--slotted-disabled-background) );--_tile-edge: var( --slotted-radio-group-tile-disabled-border-color, var(--slotted-disabled-border) );box-shadow:none;cursor:not-allowed}[data-ui-radio-group][data-part-root][data-variant=tile] [data-part-item]:has([data-part-control]:focus-visible){outline:var(--slotted-focus-ring-width, 2px) solid var(--slotted-focus-ring-color, Highlight);outline-offset:var(--slotted-focus-ring-offset, 2px)}[data-ui-radio-group][data-part-root][data-variant=tile] [data-part-control]:focus-visible{outline:none}@media(forced-colors:active){[data-ui-radio-group] [data-part-control]{background-color:Field;border-color:FieldText}[data-ui-radio-group] [data-part-control]:checked{background-color:Field;border-color:Highlight}[data-ui-radio-group] [data-part-control]:checked+[data-part-indicator]{color:Highlight}[data-ui-radio-group][data-part-root][data-invalid] [data-part-control]:checked{background-color:Field;border-color:CanvasText}[data-ui-radio-group][data-part-root][data-invalid] [data-part-control]:checked+[data-part-indicator]{color:Highlight}[data-ui-radio-group][data-part-root][data-variant=tile][data-invalid] [data-part-item],[data-ui-radio-group][data-part-root][data-variant=tile][data-invalid] [data-part-item]:has([data-part-control]:checked){--_tile-edge: CanvasText}[data-ui-radio-group] [data-part-control]:disabled{background-color:Field;border-color:GrayText}[data-ui-radio-group] [data-part-control]:disabled+[data-part-indicator]{color:GrayText}}}\n"] }]
|
|
301
303
|
}], propDecorators: { value: [{ type: i0.Input, args: [{ isSignal: true, alias: "value", required: false }] }], defaultValue: [{ type: i0.Input, args: [{ isSignal: true, alias: "defaultValue", required: false }] }], name: [{ type: i0.Input, args: [{ isSignal: true, alias: "name", required: false }] }], size: [{ type: i0.Input, args: [{ isSignal: true, alias: "size", required: false }] }], orientation: [{ type: i0.Input, args: [{ isSignal: true, alias: "orientation", required: false }] }], labelPlacement: [{ type: i0.Input, args: [{ isSignal: true, alias: "labelPlacement", required: false }] }], variant: [{ type: i0.Input, args: [{ isSignal: true, alias: "variant", required: false }] }], disabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }], readOnly: [{ type: i0.Input, args: [{ isSignal: true, alias: "readOnly", required: false }] }], invalid: [{ type: i0.Input, args: [{ isSignal: true, alias: "invalid", required: false }] }], required: [{ type: i0.Input, args: [{ isSignal: true, alias: "required", required: false }] }], valueChange: [{ type: i0.Output, args: ["valueChange"] }] } });
|
|
302
304
|
|
|
303
305
|
/**
|
|
@@ -311,7 +313,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.7", ngImpor
|
|
|
311
313
|
class SlRadioDescription {
|
|
312
314
|
id = `${inject(SlRadioGroupIdFactory).next()}-description`;
|
|
313
315
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.7", ngImport: i0, type: SlRadioDescription, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
314
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.1.7", type: SlRadioDescription, isStandalone: true, selector: "[slRadioDescription]", host: { attributes: { "data-part": "description" }, properties: { "attr.id": "id" } }, exportAs: ["slRadioDescription"], ngImport: i0 });
|
|
316
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.1.7", type: SlRadioDescription, isStandalone: true, selector: "[slRadioDescription]", host: { attributes: { "data-part": "description", "data-part-description": "" }, properties: { "attr.id": "id" } }, exportAs: ["slRadioDescription"], ngImport: i0 });
|
|
315
317
|
}
|
|
316
318
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.7", ngImport: i0, type: SlRadioDescription, decorators: [{
|
|
317
319
|
type: Directive,
|
|
@@ -321,6 +323,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.7", ngImpor
|
|
|
321
323
|
exportAs: 'slRadioDescription',
|
|
322
324
|
host: {
|
|
323
325
|
'data-part': 'description',
|
|
326
|
+
'data-part-description': '',
|
|
324
327
|
'[attr.id]': 'id',
|
|
325
328
|
},
|
|
326
329
|
}]
|
|
@@ -407,9 +410,10 @@ class SlRadio {
|
|
|
407
410
|
this.group.markTouched();
|
|
408
411
|
}
|
|
409
412
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.7", ngImport: i0, type: SlRadio, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
410
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "22.1.7", type: SlRadio, isStandalone: true, selector: "[slRadio]", inputs: { value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: true, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "data-part": "item" }, properties: { "attr.data-checked": "checked() ? '' : null", "attr.data-disabled": "resolvedDisabled() === true ? '' : null" } }, queries: [{ propertyName: "description", first: true, predicate: SlRadioDescription, descendants: true, isSignal: true }], viewQueries: [{ propertyName: "element", first: true, predicate: ["control"], descendants: true, isSignal: true }], exportAs: ["slRadio"], ngImport: i0, template: `<input
|
|
413
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "22.1.7", type: SlRadio, isStandalone: true, selector: "[slRadio]", inputs: { value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: true, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "data-part": "item", "data-part-item": "" }, properties: { "attr.data-checked": "checked() ? '' : null", "attr.data-disabled": "resolvedDisabled() === true ? '' : null" } }, queries: [{ propertyName: "description", first: true, predicate: SlRadioDescription, descendants: true, isSignal: true }], viewQueries: [{ propertyName: "element", first: true, predicate: ["control"], descendants: true, isSignal: true }], exportAs: ["slRadio"], ngImport: i0, template: `<input
|
|
411
414
|
#control
|
|
412
415
|
data-part="control"
|
|
416
|
+
data-part-control=""
|
|
413
417
|
type="radio"
|
|
414
418
|
[attr.id]="controlId"
|
|
415
419
|
[attr.name]="group.resolvedName()"
|
|
@@ -420,10 +424,10 @@ class SlRadio {
|
|
|
420
424
|
(click)="onClick($event)"
|
|
421
425
|
(blur)="onBlur()"
|
|
422
426
|
/>
|
|
423
|
-
<span data-part="indicator"
|
|
427
|
+
<span data-part="indicator" data-part-indicator=""
|
|
424
428
|
><span slIcon><svg slGlyph name="dot"></svg></span
|
|
425
429
|
></span>
|
|
426
|
-
<label data-part="label" [attr.for]="controlId"><ng-content /></label>
|
|
430
|
+
<label data-part="label" data-part-label="" [attr.for]="controlId"><ng-content /></label>
|
|
427
431
|
<ng-content select="[slRadioDescription]" />`, isInline: true, dependencies: [{ kind: "component", type: SlGlyph, selector: "svg[slGlyph]", inputs: ["name", "solid"] }, { kind: "component", type: SlIcon, selector: "[slIcon]", inputs: ["directional", "label", "size", "tone"], exportAs: ["slIcon"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
428
432
|
}
|
|
429
433
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.7", ngImport: i0, type: SlRadio, decorators: [{
|
|
@@ -436,6 +440,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.7", ngImpor
|
|
|
436
440
|
template: `<input
|
|
437
441
|
#control
|
|
438
442
|
data-part="control"
|
|
443
|
+
data-part-control=""
|
|
439
444
|
type="radio"
|
|
440
445
|
[attr.id]="controlId"
|
|
441
446
|
[attr.name]="group.resolvedName()"
|
|
@@ -446,15 +451,16 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.7", ngImpor
|
|
|
446
451
|
(click)="onClick($event)"
|
|
447
452
|
(blur)="onBlur()"
|
|
448
453
|
/>
|
|
449
|
-
<span data-part="indicator"
|
|
454
|
+
<span data-part="indicator" data-part-indicator=""
|
|
450
455
|
><span slIcon><svg slGlyph name="dot"></svg></span
|
|
451
456
|
></span>
|
|
452
|
-
<label data-part="label" [attr.for]="controlId"><ng-content /></label>
|
|
457
|
+
<label data-part="label" data-part-label="" [attr.for]="controlId"><ng-content /></label>
|
|
453
458
|
<ng-content select="[slRadioDescription]" />`,
|
|
454
459
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
455
460
|
encapsulation: ViewEncapsulation.None,
|
|
456
461
|
host: {
|
|
457
462
|
'data-part': 'item',
|
|
463
|
+
'data-part-item': '',
|
|
458
464
|
'[attr.data-checked]': "checked() ? '' : null",
|
|
459
465
|
'[attr.data-disabled]': "resolvedDisabled() === true ? '' : null",
|
|
460
466
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"slotted-angular-radio-group.mjs","sources":["../../radio-group/src/radio-group-defaults.ts","../../radio-group/src/radio-group.ts","../../radio-group/src/radio-group-parts.ts","../../radio-group/src/slotted-angular-radio-group.ts"],"sourcesContent":["import { inject, Injectable, InjectionToken } from '@angular/core';\n\n/** The type step the group and every item inside it sit at. */\nexport type RadioGroupSize = 'sm' | 'md' | 'lg';\n\n/** How the choices flow. `horizontal` wraps; a set of options is not a scroll region. */\nexport type RadioGroupOrientation = 'vertical' | 'horizontal';\n\n/**\n * Whether the choice is a box beside a line of text or a framed surface whose\n * whole area is the target. `tile` is the name Carbon and Cloudscape give the\n * framed choice; Mantine and Chakra call it a card, which is a family here.\n */\nexport type RadioGroupVariant = 'plain' | 'tile';\n\n/**\n * Which side of its own label the circle is on. It is never inherited from a\n * `field`: that family's `labelPlacement` answers where a field's label sits\n * relative to its control, and a radio's label is its own.\n */\nexport type RadioGroupLabelPlacement = 'end' | 'start';\n\nexport interface RadioGroupDefaults {\n labelPlacement: RadioGroupLabelPlacement;\n variant: RadioGroupVariant;\n orientation: RadioGroupOrientation;\n size: RadioGroupSize;\n}\n\nconst FALLBACK: RadioGroupDefaults = {\n labelPlacement: 'end',\n orientation: 'vertical',\n size: 'md',\n variant: 'plain',\n};\n\nexport const RADIO_GROUP_DEFAULTS = new InjectionToken<RadioGroupDefaults>(\n 'slotted radio group defaults',\n { providedIn: 'root', factory: () => FALLBACK },\n);\n\n/**\n * An application decides once how its sets of choices flow, rather than\n * repeating the same inputs on every group in a form. A group that states any\n * of them itself still wins, and a field around it outranks this token for\n * `size`.\n */\nexport function provideRadioGroupDefaults(defaults: Partial<RadioGroupDefaults>) {\n return {\n provide: RADIO_GROUP_DEFAULTS,\n useFactory: (): RadioGroupDefaults => ({ ...FALLBACK, ...defaults }),\n };\n}\n\n/** What a radio group renders as here, before it states anything of its own. */\nexport function injectRadioGroupDefaults(): RadioGroupDefaults {\n return inject(RADIO_GROUP_DEFAULTS);\n}\n\n/**\n * Application-scoped rather than module-scoped, for the reason `field` records:\n * a module-level counter produces colliding sequences when two applications\n * render in one server process, and the server and the client sequences must\n * match for hydration.\n *\n * It answers for the group's generated `name` as well as for each item's\n * identifier, because both have to be stable across the two renders.\n */\n@Injectable({ providedIn: 'root' })\nexport class SlRadioGroupIdFactory {\n private count = 0;\n\n next() {\n this.count += 1;\n return `slotted-radio-group-${this.count}`;\n }\n}\n","import { createControllable } from '@slotted/core/state';\nimport type { ChangeRequest } from '@slotted/core/state';\nimport {\n booleanAttribute,\n ChangeDetectionStrategy,\n Component,\n computed,\n forwardRef,\n HostAttributeToken,\n inject,\n input,\n output,\n signal,\n ViewEncapsulation,\n} from '@angular/core';\nimport type { OnInit } from '@angular/core';\nimport { NG_VALIDATORS, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport type {\n AbstractControl,\n ControlValueAccessor,\n ValidationErrors,\n Validator,\n} from '@angular/forms';\nimport { injectFieldDefaults, SlField, SlFieldDefaultsSource } from '@slotted/angular/field';\nimport { SlFieldGroup } from '@slotted/angular/field-group';\n\nimport { injectRadioGroupDefaults, SlRadioGroupIdFactory } from './radio-group-defaults';\nimport type {\n RadioGroupLabelPlacement,\n RadioGroupVariant,\n RadioGroupOrientation,\n RadioGroupSize,\n} from './radio-group-defaults';\n\nexport type {\n RadioGroupDefaults,\n RadioGroupLabelPlacement,\n RadioGroupVariant,\n RadioGroupOrientation,\n RadioGroupSize,\n} from './radio-group-defaults';\n\n/** Why the value moved. A radio group can produce exactly these two. */\nexport type RadioGroupSelectionReason = 'pointer' | 'keyboard';\n\n/**\n * What the group needs from each item, and nothing more.\n *\n * A structural type rather than the item's class, so the group does not import\n * the component that injects it — the cycle `text-field` breaks with an\n * abstract class, broken here with the smaller thing that works.\n */\nexport interface SlRadioGroupItem {\n /** Writes this item's element from the group's value. */\n syncElement(): void;\n}\n\n/**\n * One choice out of a set.\n *\n * **The keyboard is the platform's, and that is why the items share a `name`.**\n * Native radios in one form owner with one name already implement the APG's\n * whole table: Tab lands on the checked item or on the first, `Space` checks,\n * both arrow axes move focus and selection together, the set wraps, and\n * disabled items are skipped — in a right-to-left document too. A roving\n * `tabindex` written once per binding would reimplement all of it twice.\n *\n * **The role is conditional, and the condition is the field group.** A\n * `field-group` is a `fieldset` with a `legend`, which is already a named group;\n * a `radiogroup` inside it, named by the same legend, is the same set announced\n * twice. A `role` the consumer wrote wins over both.\n *\n * **`readOnly` is enforced, because the platform has none.** A radio ignores\n * `readonly`, so the group refuses the change on the item's own `click` — the\n * one event a pointer and `Space` share — and announces `aria-readonly`.\n */\n@Component({\n selector: '[slRadioGroup]',\n standalone: true,\n exportAs: 'slRadioGroup',\n template: '<ng-content />',\n styleUrl: '../../../styles/src/radio-group/radio-group.css',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n providers: [\n { provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => SlRadioGroup), multi: true },\n { provide: NG_VALIDATORS, useExisting: forwardRef(() => SlRadioGroup), multi: true },\n ],\n host: {\n 'data-ui': 'radio-group',\n 'data-part': 'root',\n '[attr.role]': 'resolvedRole()',\n '[attr.data-size]': 'resolvedSize()',\n '[attr.data-orientation]': 'resolvedOrientation()',\n '[attr.data-label-placement]': 'resolvedLabelPlacement()',\n '[attr.data-variant]': 'resolvedVariant()',\n '[attr.data-disabled]': \"resolvedDisabled() === true ? '' : null\",\n '[attr.data-invalid]': \"resolvedInvalid() === true ? '' : null\",\n '[attr.data-readonly]': \"resolvedReadOnly() === true ? '' : null\",\n '[attr.aria-labelledby]': 'labelledBy()',\n '[attr.aria-describedby]': 'describedBy()',\n '[attr.aria-invalid]': 'ariaInvalid()',\n '[attr.aria-readonly]': 'ariaReadOnly()',\n '[attr.aria-required]': 'ariaRequired()',\n '[attr.aria-orientation]': 'ariaOrientation()',\n },\n})\nexport class SlRadioGroup implements ControlValueAccessor, OnInit, Validator {\n /** Present means the consumer owns the choice. */\n readonly value = input<string | undefined>(undefined);\n /** The value an uncontrolled group starts from, read once. */\n readonly defaultValue = input<string | undefined>(undefined);\n /**\n * The submission name the set shares, and the reason the platform treats it\n * as one group. Generated when it is not written, because grouping is by name\n * within the form owner and an unnamed set is not a set.\n */\n readonly name = input<string | undefined>(undefined);\n readonly size = input<RadioGroupSize | undefined>(undefined);\n readonly orientation = input<RadioGroupOrientation | undefined>(undefined);\n readonly labelPlacement = input<RadioGroupLabelPlacement | undefined>(undefined);\n readonly variant = input<RadioGroupVariant | undefined>(undefined);\n /** Unstated rather than `false`, so the group defers to the field around it. */\n readonly disabled = input<boolean | undefined, boolean | string | undefined>(undefined, {\n transform: (value) => (value === undefined ? undefined : booleanAttribute(value)),\n });\n readonly readOnly = input<boolean | undefined, boolean | string | undefined>(undefined, {\n transform: (value) => (value === undefined ? undefined : booleanAttribute(value)),\n });\n readonly invalid = input<boolean | undefined, boolean | string | undefined>(undefined, {\n transform: (value) => (value === undefined ? undefined : booleanAttribute(value)),\n });\n readonly required = input<boolean | undefined, boolean | string | undefined>(undefined, {\n transform: (value) => (value === undefined ? undefined : booleanAttribute(value)),\n });\n\n /**\n * One output for one transition. Its `previous` is `undefined` while nothing\n * has been chosen, which is the state the APG asks a group to start in and\n * which a request typed over `string` alone could not say.\n */\n readonly valueChange = output<ChangeRequest<string | undefined>>();\n\n private readonly field = inject(SlField, { optional: true });\n private readonly fieldGroup = inject(SlFieldGroup, { optional: true });\n private readonly defaults = injectRadioGroupDefaults();\n /**\n * The field defaults in force: a field group's, or the application's own.\n * A group outside a field reads disabled and read-only from them, as React's\n * reads them from FieldDefaultsProvider.\n */\n private readonly fieldDefaultsSource = inject(SlFieldDefaultsSource, { optional: true });\n private readonly fieldDefaultsToken = injectFieldDefaults();\n private readonly fieldDefaults = computed(\n () => this.fieldDefaultsSource?.fieldDefaults() ?? this.fieldDefaultsToken,\n );\n private readonly generatedName = inject(SlRadioGroupIdFactory).next();\n private readonly writtenRole = inject(new HostAttributeToken('role'), { optional: true });\n private readonly writtenDescribedBy = inject(new HostAttributeToken('aria-describedby'), {\n optional: true,\n });\n private readonly writtenLabel = inject(new HostAttributeToken('aria-label'), { optional: true });\n private readonly writtenLabelledBy = inject(new HostAttributeToken('aria-labelledby'), {\n optional: true,\n });\n\n private readonly items = new Set<SlRadioGroupItem>();\n private readonly own = signal<string | undefined>(undefined);\n private readonly formDisabled = signal<boolean | undefined>(undefined);\n private onChangeFn: (value: string) => void = () => undefined;\n private onTouchedFn: () => void = () => undefined;\n\n readonly selection = computed(() => this.value() ?? this.own());\n readonly resolvedName = computed(() => this.name() ?? this.generatedName);\n\n readonly resolvedSize = computed(\n () =>\n this.size() ??\n this.field?.resolvedSize() ??\n this.fieldGroup?.resolvedSize() ??\n this.defaults.size,\n );\n readonly resolvedOrientation = computed(() => this.orientation() ?? this.defaults.orientation);\n readonly resolvedLabelPlacement = computed(\n () => this.labelPlacement() ?? this.defaults.labelPlacement,\n );\n /** Handed to every choice in the set: one plain box among four tiles is a\n set nobody meant to write. */\n readonly resolvedVariant = computed(() => this.variant() ?? this.defaults.variant);\n readonly resolvedDisabled = computed(\n () =>\n this.disabled() ??\n this.formDisabled() ??\n this.field?.resolvedDisabled() ??\n this.fieldDefaults().disabled,\n );\n readonly resolvedReadOnly = computed(\n () => this.readOnly() ?? this.field?.resolvedReadOnly() ?? this.fieldDefaults().readOnly,\n );\n readonly resolvedInvalid = computed(\n () => this.invalid() ?? this.field?.invalid() ?? this.fieldGroup?.invalid(),\n );\n readonly resolvedRequired = computed(\n () => this.required() ?? this.field?.required() ?? this.fieldGroup?.required(),\n );\n\n protected readonly resolvedRole = computed(\n () => this.writtenRole ?? (this.fieldGroup === null ? 'radiogroup' : null),\n );\n /* A group has no element a label's for can reach, so inside a field the\n field's label names it, unless the consumer named it themselves. */\n protected readonly labelledBy = computed(\n () =>\n this.writtenLabelledBy ??\n (this.writtenLabel === null ? (this.field?.ids().label ?? null) : null),\n );\n protected readonly describedBy = computed(() => {\n const merged = [this.writtenDescribedBy, this.field?.describedBy()].filter(Boolean);\n return merged.length === 0 ? null : merged.join(' ');\n });\n protected readonly ariaInvalid = computed(() =>\n this.resolvedInvalid() === true ? 'true' : null,\n );\n protected readonly ariaReadOnly = computed(() =>\n this.resolvedReadOnly() === true ? 'true' : null,\n );\n protected readonly ariaRequired = computed(() =>\n this.resolvedRequired() === true ? 'true' : null,\n );\n /**\n * Only where the root owns the role, and only when the group flows the other\n * way: on an element with no role the attribute describes nothing, and\n * `radiogroup` already implies `vertical`.\n */\n protected readonly ariaOrientation = computed(() =>\n this.resolvedRole() === 'radiogroup' && this.resolvedOrientation() === 'horizontal'\n ? 'horizontal'\n : null,\n );\n\n ngOnInit() {\n if (this.value() === undefined) this.own.set(this.defaultValue());\n }\n\n /** An item joins the set, so the group can put every element back at once. */\n register(item: SlRadioGroupItem) {\n this.items.add(item);\n }\n\n /** An item leaves the set. */\n unregister(item: SlRadioGroupItem) {\n this.items.delete(item);\n }\n\n /**\n * Writes every item's element from the value.\n *\n * The HTML standard's canceled activation behaviour for a radio restores the\n * *clicked* element and nothing else, so the option that was chosen before\n * the refused click stays unchecked: checking one radio unchecks its\n * neighbours, and undoing the first half of that is all the platform offers.\n * Angular writes a property binding only when its value changes, and the\n * neighbour's did not, so the correction is made here — measured, in the\n * first run of this family's Angular spec, as a controlled group that lost\n * its choice after its consumer had said no.\n */\n restoreElements() {\n for (const item of this.items) item.syncElement();\n }\n\n /** Whether one value is the chosen one. Read by every item in the set. */\n holds(value: string): boolean {\n return this.selection() === value;\n }\n\n /**\n * Asks the group to move to one value. Returns whether the value actually\n * moved — false while a consumer owns it, which is what tells the item to\n * refuse the activation and let the platform put the element back.\n */\n select(value: string, reason: RadioGroupSelectionReason, source: Event): boolean {\n if (this.resolvedReadOnly() === true) return false;\n\n let cancelled = false;\n const state = createControllable<string | undefined>({\n controlled: this.value(),\n initial: this.selection(),\n onRequest: (request) => {\n this.valueChange.emit(request);\n cancelled = request.cancelled;\n },\n });\n const moved = state.request(value, reason, source);\n if (cancelled || !moved) return false;\n this.own.set(value);\n this.onChangeFn(value);\n return true;\n }\n\n writeValue(value: string | null | undefined) {\n this.own.set(value ?? undefined);\n }\n\n registerOnChange(fn: (value: string) => void) {\n this.onChangeFn = fn;\n }\n\n registerOnTouched(fn: () => void) {\n this.onTouchedFn = fn;\n }\n\n setDisabledState(isDisabled: boolean) {\n this.formDisabled.set(isDisabled);\n }\n\n /** Marks the set touched, which an item calls when it loses focus. */\n markTouched() {\n this.onTouchedFn();\n }\n\n /**\n * The group owns validity over the set, which no single item can see:\n * \"choose one\" is a fact about the group and not about any one option.\n */\n validate(control: AbstractControl): ValidationErrors | null {\n if (this.resolvedRequired() !== true) return null;\n const value = control.value as string | null | undefined;\n return value === null || value === undefined || value === '' ? { required: true } : null;\n }\n}\n","import {\n booleanAttribute,\n ChangeDetectionStrategy,\n Component,\n computed,\n contentChild,\n DestroyRef,\n Directive,\n ElementRef,\n HostAttributeToken,\n inject,\n input,\n viewChild,\n ViewEncapsulation,\n} from '@angular/core';\nimport { SlGlyph, SlIcon } from '@slotted/angular/icon';\n\nimport { SlRadioGroup } from './radio-group';\nimport { SlRadioGroupIdFactory } from './radio-group-defaults';\nimport type { RadioGroupSelectionReason, SlRadioGroupItem } from './radio-group';\n\n/**\n * Help text under one item's label.\n *\n * It is a directive on the consumer's own element, so a `p`, a `span` or an\n * `inline-message` all work and none of them loses its own semantics. It\n * describes that item and not the set — what the set says belongs to the field\n * group above it.\n */\n@Directive({\n selector: '[slRadioDescription]',\n standalone: true,\n exportAs: 'slRadioDescription',\n host: {\n 'data-part': 'description',\n '[attr.id]': 'id',\n },\n})\nexport class SlRadioDescription {\n readonly id = `${inject(SlRadioGroupIdFactory).next()}-description`;\n}\n\n/**\n * A click synthesised by the keyboard reports no detail; a real one reports the\n * click count. It is why `Space` and a pointer are told apart without a key\n * listener existing anywhere in the family.\n */\nfunction activationReason(event: Event): RadioGroupSelectionReason {\n return event instanceof MouseEvent && event.detail === 0 ? 'keyboard' : 'pointer';\n}\n\n/**\n * One item of the set.\n *\n * It is a part of `radio-group` and not an entry point of its own: outside a\n * group it has no exclusive set to belong to, and the platform's whole keyboard\n * model is defined over the set. `SlRadioGroup` is injected without `optional`,\n * so an item written outside one fails at construction rather than silently.\n *\n * The mark is a sibling of the control for the reason `checkbox` records —\n * Firefox renders no pseudo-element on an `input` — and the label names the\n * control through `for` so the description below it can be read without\n * choosing anything.\n */\n@Component({\n selector: '[slRadio]',\n standalone: true,\n exportAs: 'slRadio',\n imports: [SlGlyph, SlIcon],\n template: `<input\n #control\n data-part=\"control\"\n type=\"radio\"\n [attr.id]=\"controlId\"\n [attr.name]=\"group.resolvedName()\"\n [attr.value]=\"value()\"\n [attr.aria-describedby]=\"describedBy()\"\n [attr.disabled]=\"disabledAttribute()\"\n [checked]=\"checked()\"\n (click)=\"onClick($event)\"\n (blur)=\"onBlur()\"\n />\n <span data-part=\"indicator\"\n ><span slIcon><svg slGlyph name=\"dot\"></svg></span\n ></span>\n <label data-part=\"label\" [attr.for]=\"controlId\"><ng-content /></label>\n <ng-content select=\"[slRadioDescription]\" />`,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: {\n 'data-part': 'item',\n '[attr.data-checked]': \"checked() ? '' : null\",\n '[attr.data-disabled]': \"resolvedDisabled() === true ? '' : null\",\n },\n})\nexport class SlRadio implements SlRadioGroupItem {\n /** What this item selects. It is what the group's value holds. */\n readonly value = input.required<string>();\n /** Unstated rather than `false`, so the item defers to the group. */\n readonly disabled = input<boolean | undefined, boolean | string | undefined>(undefined, {\n transform: (value) => (value === undefined ? undefined : booleanAttribute(value)),\n });\n\n /**\n * The group the item belongs to. Injected without `optional`, and public\n * because the template reads the shared name from it and a consumer reaching\n * the item through `exportAs` may want the group's resolved step.\n */\n readonly group = inject(SlRadioGroup);\n\n private readonly writtenId = inject(new HostAttributeToken('id'), { optional: true });\n private readonly writtenDescribedBy = inject(new HostAttributeToken('aria-describedby'), {\n optional: true,\n });\n private readonly element = viewChild.required<ElementRef<HTMLInputElement>>('control');\n private readonly description = contentChild(SlRadioDescription, { descendants: true });\n\n /** The identifier the label points at. A consumer's own wins. */\n readonly controlId = this.writtenId ?? inject(SlRadioGroupIdFactory).next();\n\n readonly checked = computed(() => this.group.holds(this.value()));\n\n constructor() {\n this.group.register(this);\n inject(DestroyRef).onDestroy(() => this.group.unregister(this));\n }\n readonly resolvedDisabled = computed(() => this.disabled() ?? this.group.resolvedDisabled());\n\n protected readonly describedBy = computed(() => {\n const merged = [this.writtenDescribedBy, this.description()?.id].filter(Boolean);\n return merged.length === 0 ? null : merged.join(' ');\n });\n protected readonly disabledAttribute = computed(() =>\n this.resolvedDisabled() === true ? '' : null,\n );\n\n /** The native element, for `focus()` and `click()`. */\n get inputElement(): HTMLInputElement {\n return this.element().nativeElement;\n }\n\n /** Writes this item's element from the group's value. */\n syncElement() {\n this.element().nativeElement.checked = this.checked();\n }\n\n /**\n * Refusing the default undoes the platform's pre-click check of *this*\n * element. It does not put the previously chosen neighbour back — checking a\n * radio unchecks its neighbours, and the canceled activation behaviour undoes\n * only the first half of that — so the group writes every element from the\n * value afterwards.\n */\n protected onClick(event: MouseEvent) {\n if (this.group.select(this.value(), activationReason(event), event)) return;\n event.preventDefault();\n this.group.restoreElements();\n }\n\n protected onBlur() {\n this.group.markTouched();\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"slotted-angular-radio-group.mjs","sources":["../../radio-group/src/radio-group-defaults.ts","../../radio-group/src/radio-group.ts","../../radio-group/src/radio-group-parts.ts","../../radio-group/src/slotted-angular-radio-group.ts"],"sourcesContent":["import { inject, Injectable, InjectionToken } from '@angular/core';\n\n/** The type step the group and every item inside it sit at. */\nexport type RadioGroupSize = 'sm' | 'md' | 'lg';\n\n/** How the choices flow. `horizontal` wraps; a set of options is not a scroll region. */\nexport type RadioGroupOrientation = 'vertical' | 'horizontal';\n\n/**\n * Whether the choice is a box beside a line of text or a framed surface whose\n * whole area is the target. `tile` is the name Carbon and Cloudscape give the\n * framed choice; Mantine and Chakra call it a card, which is a family here.\n */\nexport type RadioGroupVariant = 'plain' | 'tile';\n\n/**\n * Which side of its own label the circle is on. It is never inherited from a\n * `field`: that family's `labelPlacement` answers where a field's label sits\n * relative to its control, and a radio's label is its own.\n */\nexport type RadioGroupLabelPlacement = 'end' | 'start';\n\nexport interface RadioGroupDefaults {\n labelPlacement: RadioGroupLabelPlacement;\n variant: RadioGroupVariant;\n orientation: RadioGroupOrientation;\n size: RadioGroupSize;\n}\n\nconst FALLBACK: RadioGroupDefaults = {\n labelPlacement: 'end',\n orientation: 'vertical',\n size: 'md',\n variant: 'plain',\n};\n\nexport const RADIO_GROUP_DEFAULTS = new InjectionToken<RadioGroupDefaults>(\n 'slotted radio group defaults',\n { providedIn: 'root', factory: () => FALLBACK },\n);\n\n/**\n * An application decides once how its sets of choices flow, rather than\n * repeating the same inputs on every group in a form. A group that states any\n * of them itself still wins, and a field around it outranks this token for\n * `size`.\n */\nexport function provideRadioGroupDefaults(defaults: Partial<RadioGroupDefaults>) {\n return {\n provide: RADIO_GROUP_DEFAULTS,\n useFactory: (): RadioGroupDefaults => ({ ...FALLBACK, ...defaults }),\n };\n}\n\n/** What a radio group renders as here, before it states anything of its own. */\nexport function injectRadioGroupDefaults(): RadioGroupDefaults {\n return inject(RADIO_GROUP_DEFAULTS);\n}\n\n/**\n * Application-scoped rather than module-scoped, for the reason `field` records:\n * a module-level counter produces colliding sequences when two applications\n * render in one server process, and the server and the client sequences must\n * match for hydration.\n *\n * It answers for the group's generated `name` as well as for each item's\n * identifier, because both have to be stable across the two renders.\n */\n@Injectable({ providedIn: 'root' })\nexport class SlRadioGroupIdFactory {\n private count = 0;\n\n next() {\n this.count += 1;\n return `slotted-radio-group-${this.count}`;\n }\n}\n","import { createControllable } from '@slotted/core/state';\nimport type { ChangeRequest } from '@slotted/core/state';\nimport {\n booleanAttribute,\n ChangeDetectionStrategy,\n Component,\n computed,\n forwardRef,\n HostAttributeToken,\n inject,\n input,\n output,\n signal,\n ViewEncapsulation,\n} from '@angular/core';\nimport type { OnInit } from '@angular/core';\nimport { NG_VALIDATORS, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport type {\n AbstractControl,\n ControlValueAccessor,\n ValidationErrors,\n Validator,\n} from '@angular/forms';\nimport { injectFieldDefaults, SlField, SlFieldDefaultsSource } from '@slotted/angular/field';\nimport { SlFieldGroup } from '@slotted/angular/field-group';\n\nimport { injectRadioGroupDefaults, SlRadioGroupIdFactory } from './radio-group-defaults';\nimport type {\n RadioGroupLabelPlacement,\n RadioGroupVariant,\n RadioGroupOrientation,\n RadioGroupSize,\n} from './radio-group-defaults';\n\nexport type {\n RadioGroupDefaults,\n RadioGroupLabelPlacement,\n RadioGroupVariant,\n RadioGroupOrientation,\n RadioGroupSize,\n} from './radio-group-defaults';\n\n/** Why the value moved. A radio group can produce exactly these two. */\nexport type RadioGroupSelectionReason = 'pointer' | 'keyboard';\n\n/**\n * What the group needs from each item, and nothing more.\n *\n * A structural type rather than the item's class, so the group does not import\n * the component that injects it — the cycle `text-field` breaks with an\n * abstract class, broken here with the smaller thing that works.\n */\nexport interface SlRadioGroupItem {\n /** Writes this item's element from the group's value. */\n syncElement(): void;\n}\n\n/**\n * One choice out of a set.\n *\n * **The keyboard is the platform's, and that is why the items share a `name`.**\n * Native radios in one form owner with one name already implement the APG's\n * whole table: Tab lands on the checked item or on the first, `Space` checks,\n * both arrow axes move focus and selection together, the set wraps, and\n * disabled items are skipped — in a right-to-left document too. A roving\n * `tabindex` written once per binding would reimplement all of it twice.\n *\n * **The role is conditional, and the condition is the field group.** A\n * `field-group` is a `fieldset` with a `legend`, which is already a named group;\n * a `radiogroup` inside it, named by the same legend, is the same set announced\n * twice. A `role` the consumer wrote wins over both.\n *\n * **`readOnly` is enforced, because the platform has none.** A radio ignores\n * `readonly`, so the group refuses the change on the item's own `click` — the\n * one event a pointer and `Space` share — and announces `aria-readonly`.\n */\n@Component({\n selector: '[slRadioGroup]',\n standalone: true,\n exportAs: 'slRadioGroup',\n template: '<ng-content />',\n styleUrl: '../../../styles/src/radio-group/radio-group.css',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n providers: [\n { provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => SlRadioGroup), multi: true },\n { provide: NG_VALIDATORS, useExisting: forwardRef(() => SlRadioGroup), multi: true },\n ],\n host: {\n 'data-ui': 'radio-group',\n 'data-ui-radio-group': '',\n 'data-part': 'root',\n 'data-part-root': '',\n '[attr.role]': 'resolvedRole()',\n '[attr.data-size]': 'resolvedSize()',\n '[attr.data-orientation]': 'resolvedOrientation()',\n '[attr.data-label-placement]': 'resolvedLabelPlacement()',\n '[attr.data-variant]': 'resolvedVariant()',\n '[attr.data-disabled]': \"resolvedDisabled() === true ? '' : null\",\n '[attr.data-invalid]': \"resolvedInvalid() === true ? '' : null\",\n '[attr.data-readonly]': \"resolvedReadOnly() === true ? '' : null\",\n '[attr.aria-labelledby]': 'labelledBy()',\n '[attr.aria-describedby]': 'describedBy()',\n '[attr.aria-invalid]': 'ariaInvalid()',\n '[attr.aria-readonly]': 'ariaReadOnly()',\n '[attr.aria-required]': 'ariaRequired()',\n '[attr.aria-orientation]': 'ariaOrientation()',\n },\n})\nexport class SlRadioGroup implements ControlValueAccessor, OnInit, Validator {\n /** Present means the consumer owns the choice. */\n readonly value = input<string | undefined>(undefined);\n /** The value an uncontrolled group starts from, read once. */\n readonly defaultValue = input<string | undefined>(undefined);\n /**\n * The submission name the set shares, and the reason the platform treats it\n * as one group. Generated when it is not written, because grouping is by name\n * within the form owner and an unnamed set is not a set.\n */\n readonly name = input<string | undefined>(undefined);\n readonly size = input<RadioGroupSize | undefined>(undefined);\n readonly orientation = input<RadioGroupOrientation | undefined>(undefined);\n readonly labelPlacement = input<RadioGroupLabelPlacement | undefined>(undefined);\n readonly variant = input<RadioGroupVariant | undefined>(undefined);\n /** Unstated rather than `false`, so the group defers to the field around it. */\n readonly disabled = input<boolean | undefined, boolean | string | undefined>(undefined, {\n transform: (value) => (value === undefined ? undefined : booleanAttribute(value)),\n });\n readonly readOnly = input<boolean | undefined, boolean | string | undefined>(undefined, {\n transform: (value) => (value === undefined ? undefined : booleanAttribute(value)),\n });\n readonly invalid = input<boolean | undefined, boolean | string | undefined>(undefined, {\n transform: (value) => (value === undefined ? undefined : booleanAttribute(value)),\n });\n readonly required = input<boolean | undefined, boolean | string | undefined>(undefined, {\n transform: (value) => (value === undefined ? undefined : booleanAttribute(value)),\n });\n\n /**\n * One output for one transition. Its `previous` is `undefined` while nothing\n * has been chosen, which is the state the APG asks a group to start in and\n * which a request typed over `string` alone could not say.\n */\n readonly valueChange = output<ChangeRequest<string | undefined>>();\n\n private readonly field = inject(SlField, { optional: true });\n private readonly fieldGroup = inject(SlFieldGroup, { optional: true });\n private readonly defaults = injectRadioGroupDefaults();\n /**\n * The field defaults in force: a field group's, or the application's own.\n * A group outside a field reads disabled and read-only from them, as React's\n * reads them from FieldDefaultsProvider.\n */\n private readonly fieldDefaultsSource = inject(SlFieldDefaultsSource, { optional: true });\n private readonly fieldDefaultsToken = injectFieldDefaults();\n private readonly fieldDefaults = computed(\n () => this.fieldDefaultsSource?.fieldDefaults() ?? this.fieldDefaultsToken,\n );\n private readonly generatedName = inject(SlRadioGroupIdFactory).next();\n private readonly writtenRole = inject(new HostAttributeToken('role'), { optional: true });\n private readonly writtenDescribedBy = inject(new HostAttributeToken('aria-describedby'), {\n optional: true,\n });\n private readonly writtenLabel = inject(new HostAttributeToken('aria-label'), { optional: true });\n private readonly writtenLabelledBy = inject(new HostAttributeToken('aria-labelledby'), {\n optional: true,\n });\n\n private readonly items = new Set<SlRadioGroupItem>();\n private readonly own = signal<string | undefined>(undefined);\n private readonly formDisabled = signal<boolean | undefined>(undefined);\n private onChangeFn: (value: string) => void = () => undefined;\n private onTouchedFn: () => void = () => undefined;\n\n readonly selection = computed(() => this.value() ?? this.own());\n readonly resolvedName = computed(() => this.name() ?? this.generatedName);\n\n readonly resolvedSize = computed(\n () =>\n this.size() ??\n this.field?.resolvedSize() ??\n this.fieldGroup?.resolvedSize() ??\n this.defaults.size,\n );\n readonly resolvedOrientation = computed(() => this.orientation() ?? this.defaults.orientation);\n readonly resolvedLabelPlacement = computed(\n () => this.labelPlacement() ?? this.defaults.labelPlacement,\n );\n /** Handed to every choice in the set: one plain box among four tiles is a\n set nobody meant to write. */\n readonly resolvedVariant = computed(() => this.variant() ?? this.defaults.variant);\n readonly resolvedDisabled = computed(\n () =>\n this.disabled() ??\n this.formDisabled() ??\n this.field?.resolvedDisabled() ??\n this.fieldDefaults().disabled,\n );\n readonly resolvedReadOnly = computed(\n () => this.readOnly() ?? this.field?.resolvedReadOnly() ?? this.fieldDefaults().readOnly,\n );\n readonly resolvedInvalid = computed(\n () => this.invalid() ?? this.field?.invalid() ?? this.fieldGroup?.invalid(),\n );\n readonly resolvedRequired = computed(\n () => this.required() ?? this.field?.required() ?? this.fieldGroup?.required(),\n );\n\n protected readonly resolvedRole = computed(\n () => this.writtenRole ?? (this.fieldGroup === null ? 'radiogroup' : null),\n );\n /* A group has no element a label's for can reach, so inside a field the\n field's label names it, unless the consumer named it themselves. */\n protected readonly labelledBy = computed(\n () =>\n this.writtenLabelledBy ??\n (this.writtenLabel === null ? (this.field?.ids().label ?? null) : null),\n );\n protected readonly describedBy = computed(() => {\n const merged = [this.writtenDescribedBy, this.field?.describedBy()].filter(Boolean);\n return merged.length === 0 ? null : merged.join(' ');\n });\n protected readonly ariaInvalid = computed(() =>\n this.resolvedInvalid() === true ? 'true' : null,\n );\n protected readonly ariaReadOnly = computed(() =>\n this.resolvedReadOnly() === true ? 'true' : null,\n );\n protected readonly ariaRequired = computed(() =>\n this.resolvedRequired() === true ? 'true' : null,\n );\n /**\n * Only where the root owns the role, and only when the group flows the other\n * way: on an element with no role the attribute describes nothing, and\n * `radiogroup` already implies `vertical`.\n */\n protected readonly ariaOrientation = computed(() =>\n this.resolvedRole() === 'radiogroup' && this.resolvedOrientation() === 'horizontal'\n ? 'horizontal'\n : null,\n );\n\n ngOnInit() {\n if (this.value() === undefined) this.own.set(this.defaultValue());\n }\n\n /** An item joins the set, so the group can put every element back at once. */\n register(item: SlRadioGroupItem) {\n this.items.add(item);\n }\n\n /** An item leaves the set. */\n unregister(item: SlRadioGroupItem) {\n this.items.delete(item);\n }\n\n /**\n * Writes every item's element from the value.\n *\n * The HTML standard's canceled activation behaviour for a radio restores the\n * *clicked* element and nothing else, so the option that was chosen before\n * the refused click stays unchecked: checking one radio unchecks its\n * neighbours, and undoing the first half of that is all the platform offers.\n * Angular writes a property binding only when its value changes, and the\n * neighbour's did not, so the correction is made here — measured, in the\n * first run of this family's Angular spec, as a controlled group that lost\n * its choice after its consumer had said no.\n */\n restoreElements() {\n for (const item of this.items) item.syncElement();\n }\n\n /** Whether one value is the chosen one. Read by every item in the set. */\n holds(value: string): boolean {\n return this.selection() === value;\n }\n\n /**\n * Asks the group to move to one value. Returns whether the value actually\n * moved — false while a consumer owns it, which is what tells the item to\n * refuse the activation and let the platform put the element back.\n */\n select(value: string, reason: RadioGroupSelectionReason, source: Event): boolean {\n if (this.resolvedReadOnly() === true) return false;\n\n let cancelled = false;\n const state = createControllable<string | undefined>({\n controlled: this.value(),\n initial: this.selection(),\n onRequest: (request) => {\n this.valueChange.emit(request);\n cancelled = request.cancelled;\n },\n });\n const moved = state.request(value, reason, source);\n if (cancelled || !moved) return false;\n this.own.set(value);\n this.onChangeFn(value);\n return true;\n }\n\n writeValue(value: string | null | undefined) {\n this.own.set(value ?? undefined);\n }\n\n registerOnChange(fn: (value: string) => void) {\n this.onChangeFn = fn;\n }\n\n registerOnTouched(fn: () => void) {\n this.onTouchedFn = fn;\n }\n\n setDisabledState(isDisabled: boolean) {\n this.formDisabled.set(isDisabled);\n }\n\n /** Marks the set touched, which an item calls when it loses focus. */\n markTouched() {\n this.onTouchedFn();\n }\n\n /**\n * The group owns validity over the set, which no single item can see:\n * \"choose one\" is a fact about the group and not about any one option.\n */\n validate(control: AbstractControl): ValidationErrors | null {\n if (this.resolvedRequired() !== true) return null;\n const value = control.value as string | null | undefined;\n return value === null || value === undefined || value === '' ? { required: true } : null;\n }\n}\n","import {\n booleanAttribute,\n ChangeDetectionStrategy,\n Component,\n computed,\n contentChild,\n DestroyRef,\n Directive,\n ElementRef,\n HostAttributeToken,\n inject,\n input,\n viewChild,\n ViewEncapsulation,\n} from '@angular/core';\nimport { SlGlyph, SlIcon } from '@slotted/angular/icon';\n\nimport { SlRadioGroup } from './radio-group';\nimport { SlRadioGroupIdFactory } from './radio-group-defaults';\nimport type { RadioGroupSelectionReason, SlRadioGroupItem } from './radio-group';\n\n/**\n * Help text under one item's label.\n *\n * It is a directive on the consumer's own element, so a `p`, a `span` or an\n * `inline-message` all work and none of them loses its own semantics. It\n * describes that item and not the set — what the set says belongs to the field\n * group above it.\n */\n@Directive({\n selector: '[slRadioDescription]',\n standalone: true,\n exportAs: 'slRadioDescription',\n host: {\n 'data-part': 'description',\n 'data-part-description': '',\n '[attr.id]': 'id',\n },\n})\nexport class SlRadioDescription {\n readonly id = `${inject(SlRadioGroupIdFactory).next()}-description`;\n}\n\n/**\n * A click synthesised by the keyboard reports no detail; a real one reports the\n * click count. It is why `Space` and a pointer are told apart without a key\n * listener existing anywhere in the family.\n */\nfunction activationReason(event: Event): RadioGroupSelectionReason {\n return event instanceof MouseEvent && event.detail === 0 ? 'keyboard' : 'pointer';\n}\n\n/**\n * One item of the set.\n *\n * It is a part of `radio-group` and not an entry point of its own: outside a\n * group it has no exclusive set to belong to, and the platform's whole keyboard\n * model is defined over the set. `SlRadioGroup` is injected without `optional`,\n * so an item written outside one fails at construction rather than silently.\n *\n * The mark is a sibling of the control for the reason `checkbox` records —\n * Firefox renders no pseudo-element on an `input` — and the label names the\n * control through `for` so the description below it can be read without\n * choosing anything.\n */\n@Component({\n selector: '[slRadio]',\n standalone: true,\n exportAs: 'slRadio',\n imports: [SlGlyph, SlIcon],\n template: `<input\n #control\n data-part=\"control\"\n data-part-control=\"\"\n type=\"radio\"\n [attr.id]=\"controlId\"\n [attr.name]=\"group.resolvedName()\"\n [attr.value]=\"value()\"\n [attr.aria-describedby]=\"describedBy()\"\n [attr.disabled]=\"disabledAttribute()\"\n [checked]=\"checked()\"\n (click)=\"onClick($event)\"\n (blur)=\"onBlur()\"\n />\n <span data-part=\"indicator\" data-part-indicator=\"\"\n ><span slIcon><svg slGlyph name=\"dot\"></svg></span\n ></span>\n <label data-part=\"label\" data-part-label=\"\" [attr.for]=\"controlId\"><ng-content /></label>\n <ng-content select=\"[slRadioDescription]\" />`,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: {\n 'data-part': 'item',\n 'data-part-item': '',\n '[attr.data-checked]': \"checked() ? '' : null\",\n '[attr.data-disabled]': \"resolvedDisabled() === true ? '' : null\",\n },\n})\nexport class SlRadio implements SlRadioGroupItem {\n /** What this item selects. It is what the group's value holds. */\n readonly value = input.required<string>();\n /** Unstated rather than `false`, so the item defers to the group. */\n readonly disabled = input<boolean | undefined, boolean | string | undefined>(undefined, {\n transform: (value) => (value === undefined ? undefined : booleanAttribute(value)),\n });\n\n /**\n * The group the item belongs to. Injected without `optional`, and public\n * because the template reads the shared name from it and a consumer reaching\n * the item through `exportAs` may want the group's resolved step.\n */\n readonly group = inject(SlRadioGroup);\n\n private readonly writtenId = inject(new HostAttributeToken('id'), { optional: true });\n private readonly writtenDescribedBy = inject(new HostAttributeToken('aria-describedby'), {\n optional: true,\n });\n private readonly element = viewChild.required<ElementRef<HTMLInputElement>>('control');\n private readonly description = contentChild(SlRadioDescription, { descendants: true });\n\n /** The identifier the label points at. A consumer's own wins. */\n readonly controlId = this.writtenId ?? inject(SlRadioGroupIdFactory).next();\n\n readonly checked = computed(() => this.group.holds(this.value()));\n\n constructor() {\n this.group.register(this);\n inject(DestroyRef).onDestroy(() => this.group.unregister(this));\n }\n readonly resolvedDisabled = computed(() => this.disabled() ?? this.group.resolvedDisabled());\n\n protected readonly describedBy = computed(() => {\n const merged = [this.writtenDescribedBy, this.description()?.id].filter(Boolean);\n return merged.length === 0 ? null : merged.join(' ');\n });\n protected readonly disabledAttribute = computed(() =>\n this.resolvedDisabled() === true ? '' : null,\n );\n\n /** The native element, for `focus()` and `click()`. */\n get inputElement(): HTMLInputElement {\n return this.element().nativeElement;\n }\n\n /** Writes this item's element from the group's value. */\n syncElement() {\n this.element().nativeElement.checked = this.checked();\n }\n\n /**\n * Refusing the default undoes the platform's pre-click check of *this*\n * element. It does not put the previously chosen neighbour back — checking a\n * radio unchecks its neighbours, and the canceled activation behaviour undoes\n * only the first half of that — so the group writes every element from the\n * value afterwards.\n */\n protected onClick(event: MouseEvent) {\n if (this.group.select(this.value(), activationReason(event), event)) return;\n event.preventDefault();\n this.group.restoreElements();\n }\n\n protected onBlur() {\n this.group.markTouched();\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|