@slotted/angular 0.1.0-beta.0 → 0.1.0-beta.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +4 -0
- package/docs/AGENTS.snippet.md +12 -0
- package/docs/alert.json +7 -1
- package/docs/alert.md +3 -3
- package/docs/app-shell.examples.md +1 -1
- package/docs/app-shell.json +5 -5
- package/docs/app-shell.md +2 -2
- package/docs/avatar.json +22 -1
- package/docs/avatar.md +5 -3
- package/docs/badge.json +7 -1
- package/docs/badge.md +3 -3
- package/docs/button-group.json +2 -0
- package/docs/button-group.md +1 -1
- package/docs/button.json +51 -11
- package/docs/button.md +10 -6
- package/docs/calendar.json +8 -1
- package/docs/calendar.md +1 -0
- package/docs/cascader.json +1 -0
- package/docs/cascader.md +1 -1
- package/docs/chart.examples.md +1 -1
- package/docs/chart.json +10 -1
- package/docs/chart.md +3 -2
- package/docs/checkbox.json +7 -0
- package/docs/checkbox.md +1 -0
- package/docs/code-block.json +92 -92
- package/docs/code-block.md +69 -69
- package/docs/combobox.json +1 -0
- package/docs/combobox.md +1 -1
- package/docs/currency-field.json +40 -1
- package/docs/currency-field.md +5 -1
- package/docs/data-grid.examples.md +2 -2
- package/docs/data-grid.json +24 -7
- package/docs/data-grid.md +1 -1
- package/docs/data-grid.props.md +6 -4
- package/docs/data-list.json +2 -1
- package/docs/data-list.md +1 -1
- package/docs/date-field.json +9 -1
- package/docs/date-field.md +3 -2
- package/docs/date-picker.examples.md +36 -0
- package/docs/date-picker.json +20 -5
- package/docs/date-picker.md +5 -4
- package/docs/datetime-field.json +1 -0
- package/docs/datetime-field.md +1 -1
- package/docs/dialog.examples.md +158 -136
- package/docs/dialog.json +35 -11
- package/docs/dialog.md +4 -2
- package/docs/dialog.props.md +1 -1
- package/docs/drawer.json +5 -0
- package/docs/drawer.md +1 -0
- package/docs/entity-picker.json +19 -4
- package/docs/entity-picker.md +8 -6
- package/docs/event-calendar.json +7 -0
- package/docs/event-calendar.md +1 -0
- package/docs/filter-bar.json +118 -118
- package/docs/filter-bar.md +79 -79
- package/docs/form.json +2 -1
- package/docs/form.md +1 -1
- package/docs/guidelines/README.md +27 -0
- package/docs/guidelines/async-feedback.md +129 -0
- package/docs/guidelines/browsing.md +74 -0
- package/docs/guidelines/builders.md +97 -0
- package/docs/guidelines/composition.md +143 -0
- package/docs/guidelines/conversations.md +59 -0
- package/docs/guidelines/errors-and-conflicts.md +71 -0
- package/docs/guidelines/forms.md +202 -0
- package/docs/guidelines/index.md +129 -0
- package/docs/guidelines/layout-alignment.md +95 -0
- package/docs/guidelines/ledgers.md +45 -0
- package/docs/guidelines/list-pages.md +206 -0
- package/docs/guidelines/overviews.md +76 -0
- package/docs/guidelines/own-elements.md +115 -0
- package/docs/guidelines/reading-permissions.md +55 -0
- package/docs/guidelines/record-pages.md +178 -0
- package/docs/guidelines/reports.md +123 -0
- package/docs/guidelines/shell-composition.md +94 -0
- package/docs/guidelines/workspaces.md +46 -0
- package/docs/icon.json +3 -1
- package/docs/icon.md +3 -3
- package/docs/index.md +12 -0
- package/docs/inline-message.json +14 -2
- package/docs/inline-message.md +4 -3
- package/docs/list-item.json +9 -1
- package/docs/list-item.md +3 -3
- package/docs/list.json +19 -1
- package/docs/list.md +3 -1
- package/docs/markdown.json +79 -79
- package/docs/markdown.md +65 -65
- package/docs/menu.json +12 -0
- package/docs/menu.md +2 -0
- package/docs/message.json +7 -1
- package/docs/message.md +3 -3
- package/docs/multi-select.json +1 -0
- package/docs/multi-select.md +1 -1
- package/docs/notification-center.json +4 -0
- package/docs/notification-center.md +2 -2
- package/docs/number-field.json +1 -0
- package/docs/number-field.md +1 -1
- package/docs/otp-input.json +1 -0
- package/docs/otp-input.md +1 -1
- package/docs/page-header.json +4 -3
- package/docs/page-header.md +2 -2
- package/docs/page.json +1 -0
- package/docs/page.md +1 -0
- package/docs/popover.json +1 -1
- package/docs/progress-indicator.json +4 -3
- package/docs/progress-indicator.md +4 -4
- package/docs/prompt-composer.json +41 -1
- package/docs/prompt-composer.md +5 -1
- package/docs/rating.json +5 -3
- package/docs/rating.md +5 -5
- package/docs/section.json +27 -15
- package/docs/section.md +11 -9
- package/docs/segmented-control.json +36 -12
- package/docs/segmented-control.md +17 -1
- package/docs/select.json +1 -0
- package/docs/select.md +1 -1
- package/docs/side-navigation.json +1 -0
- package/docs/side-navigation.md +1 -1
- package/docs/skills/build-own-element/SKILL.md +90 -0
- package/docs/skills/compose-screen/SKILL.md +95 -0
- package/docs/skills/index.md +9 -0
- package/docs/skills/review-screen/SKILL.md +77 -0
- package/docs/skills/theme-app/SKILL.md +87 -0
- package/docs/skills/waiting-states/SKILL.md +143 -0
- package/docs/sparkline.json +5 -2
- package/docs/sparkline.md +4 -4
- package/docs/split-button.json +4 -1
- package/docs/split-button.md +3 -3
- package/docs/stat-card.json +5 -1
- package/docs/stat-card.md +3 -3
- package/docs/table.examples.md +3 -3
- package/docs/table.json +85 -3
- package/docs/table.md +12 -1
- package/docs/tabs.json +17 -7
- package/docs/tabs.md +3 -2
- package/docs/tag.json +14 -4
- package/docs/tag.md +6 -6
- package/docs/tags-input.json +29 -2
- package/docs/tags-input.md +4 -1
- package/docs/text-field.json +2 -1
- package/docs/text-field.md +2 -2
- package/docs/textarea.json +1 -0
- package/docs/textarea.md +1 -1
- package/docs/time-field.json +1 -0
- package/docs/time-field.md +1 -1
- package/docs/timeline.json +138 -132
- package/docs/timeline.md +125 -125
- package/docs/toast.json +7 -1
- package/docs/toast.md +3 -3
- package/docs/toggle-group.json +14 -3
- package/docs/toggle-group.md +3 -3
- package/docs/toggle.json +12 -3
- package/docs/toggle.md +3 -3
- package/docs/tokens.md +467 -0
- package/docs/tour.json +1 -1
- package/docs/typography.json +4 -2
- package/docs/typography.md +4 -4
- package/fesm2022/slotted-angular-accordion.mjs +4 -2
- package/fesm2022/slotted-angular-accordion.mjs.map +1 -1
- package/fesm2022/slotted-angular-action-bar.mjs +22 -11
- 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 +18 -11
- package/fesm2022/slotted-angular-alert.mjs.map +1 -1
- package/fesm2022/slotted-angular-app-shell.mjs +111 -61
- 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 +14 -7
- 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 +90 -29
- package/fesm2022/slotted-angular-button.mjs.map +1 -1
- package/fesm2022/slotted-angular-calendar.mjs +235 -58
- 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 +166 -66
- package/fesm2022/slotted-angular-cascader.mjs.map +1 -1
- package/fesm2022/slotted-angular-chart.mjs +53 -20
- 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 +23 -9
- 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 +112 -39
- 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 +149 -32
- package/fesm2022/slotted-angular-currency-field.mjs.map +1 -1
- package/fesm2022/slotted-angular-dashboard-grid.mjs +142 -63
- package/fesm2022/slotted-angular-dashboard-grid.mjs.map +1 -1
- package/fesm2022/slotted-angular-data-grid.mjs +354 -113
- 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 +74 -25
- package/fesm2022/slotted-angular-date-field.mjs.map +1 -1
- package/fesm2022/slotted-angular-date-picker.mjs +112 -40
- package/fesm2022/slotted-angular-date-picker.mjs.map +1 -1
- package/fesm2022/slotted-angular-date-range-picker.mjs +45 -22
- 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 +41 -29
- package/fesm2022/slotted-angular-datetime-picker.mjs.map +1 -1
- package/fesm2022/slotted-angular-datetime-range-picker.mjs +115 -48
- 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 +72 -30
- 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 +53 -29
- package/fesm2022/slotted-angular-drawer.mjs.map +1 -1
- package/fesm2022/slotted-angular-entity-picker.mjs +468 -75
- package/fesm2022/slotted-angular-entity-picker.mjs.map +1 -1
- package/fesm2022/slotted-angular-event-calendar.mjs +275 -108
- 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 +112 -51
- 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 +88 -13
- 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 +37 -22
- 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 +51 -29
- 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 +189 -87
- 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 +108 -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 +75 -45
- package/fesm2022/slotted-angular-page-header.mjs.map +1 -1
- package/fesm2022/slotted-angular-page.mjs +38 -10
- 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 +32 -19
- package/fesm2022/slotted-angular-popover.mjs.map +1 -1
- package/fesm2022/slotted-angular-progress-indicator.mjs +236 -52
- package/fesm2022/slotted-angular-progress-indicator.mjs.map +1 -1
- package/fesm2022/slotted-angular-prompt-composer.mjs +41 -20
- 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 +13 -5
- package/fesm2022/slotted-angular-scroll-area.mjs.map +1 -1
- package/fesm2022/slotted-angular-section.mjs +53 -18
- package/fesm2022/slotted-angular-section.mjs.map +1 -1
- package/fesm2022/slotted-angular-segmented-control.mjs +37 -11
- package/fesm2022/slotted-angular-segmented-control.mjs.map +1 -1
- package/fesm2022/slotted-angular-select.mjs +184 -94
- 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 +41 -14
- 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 +243 -73
- package/fesm2022/slotted-angular-table.mjs.map +1 -1
- package/fesm2022/slotted-angular-tabs.mjs +42 -18
- 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 +32 -20
- package/fesm2022/slotted-angular-time-picker.mjs.map +1 -1
- package/fesm2022/slotted-angular-time-range-picker.mjs +113 -46
- 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 +43 -31
- package/fesm2022/slotted-angular-toast.mjs.map +1 -1
- package/fesm2022/slotted-angular-toggle-group.mjs +25 -8
- 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 +22 -11
- package/fesm2022/slotted-angular-toolbar.mjs.map +1 -1
- package/fesm2022/slotted-angular-tooltip.mjs +15 -6
- 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 +47 -22
- 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 +2 -2
- package/types/slotted-angular-alert.d.ts.map +1 -1
- package/types/slotted-angular-app-shell.d.ts +11 -3
- 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 +11 -3
- package/types/slotted-angular-avatar.d.ts.map +1 -1
- package/types/slotted-angular-badge.d.ts +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 +1 -1
- package/types/slotted-angular-button-group.d.ts.map +1 -1
- package/types/slotted-angular-button.d.ts +33 -13
- package/types/slotted-angular-button.d.ts.map +1 -1
- package/types/slotted-angular-calendar.d.ts +30 -2
- 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 +10 -0
- 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 +7 -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 +5 -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 +63 -15
- 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 +49 -4
- 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 +11 -1
- package/types/slotted-angular-date-field.d.ts.map +1 -1
- package/types/slotted-angular-date-picker.d.ts +38 -12
- package/types/slotted-angular-date-picker.d.ts.map +1 -1
- package/types/slotted-angular-date-range-picker.d.ts +0 -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 +0 -1
- package/types/slotted-angular-datetime-picker.d.ts.map +1 -1
- package/types/slotted-angular-datetime-range-picker.d.ts +0 -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 +10 -3
- 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 +7 -1
- package/types/slotted-angular-drawer.d.ts.map +1 -1
- package/types/slotted-angular-entity-picker.d.ts +63 -15
- package/types/slotted-angular-entity-picker.d.ts.map +1 -1
- package/types/slotted-angular-event-calendar.d.ts +9 -2
- 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 +2 -2
- 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 +25 -25
- 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 +1 -1
- package/types/slotted-angular-list-item.d.ts.map +1 -1
- package/types/slotted-angular-list.d.ts +42 -27
- 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 +11 -2
- 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 +1 -1
- package/types/slotted-angular-message.d.ts.map +1 -1
- package/types/slotted-angular-multi-select.d.ts +15 -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 +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 +4 -4
- 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 +8 -1
- package/types/slotted-angular-progress-indicator.d.ts.map +1 -1
- package/types/slotted-angular-prompt-composer.d.ts +11 -2
- 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 +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 +11 -3
- package/types/slotted-angular-section.d.ts.map +1 -1
- package/types/slotted-angular-segmented-control.d.ts +15 -2
- package/types/slotted-angular-segmented-control.d.ts.map +1 -1
- package/types/slotted-angular-select.d.ts +12 -2
- 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 +7 -1
- package/types/slotted-angular-sparkline.d.ts.map +1 -1
- package/types/slotted-angular-split-button.d.ts +2 -2
- 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 +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 +63 -6
- package/types/slotted-angular-table.d.ts.map +1 -1
- package/types/slotted-angular-tabs.d.ts +3 -4
- package/types/slotted-angular-tabs.d.ts.map +1 -1
- package/types/slotted-angular-tag.d.ts +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-theme.d.ts +1 -1
- package/types/slotted-angular-time-field.d.ts.map +1 -1
- package/types/slotted-angular-time-picker.d.ts +0 -1
- package/types/slotted-angular-time-picker.d.ts.map +1 -1
- package/types/slotted-angular-time-range-picker.d.ts +0 -1
- package/types/slotted-angular-time-range-picker.d.ts.map +1 -1
- package/types/slotted-angular-timeline.d.ts +1 -1
- package/types/slotted-angular-timeline.d.ts.map +1 -1
- package/types/slotted-angular-toast.d.ts +3 -3
- package/types/slotted-angular-toast.d.ts.map +1 -1
- package/types/slotted-angular-toggle-group.d.ts +8 -2
- package/types/slotted-angular-toggle-group.d.ts.map +1 -1
- package/types/slotted-angular-toggle.d.ts +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 +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
|
@@ -111,13 +111,15 @@ class SlList {
|
|
|
111
111
|
resolvedInset = computed(() => (this.inset() ?? this.defaults.inset) === true, /* @ts-ignore */
|
|
112
112
|
...(ngDevMode ? [{ debugName: "resolvedInset" }] : /* istanbul ignore next */ []));
|
|
113
113
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.7", ngImport: i0, type: SlList, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
114
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.1.7", type: SlList, isStandalone: true, selector: "ul[slList], ol[slList]", inputs: { variant: { classPropertyName: "variant", publicName: "variant", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, marker: { classPropertyName: "marker", publicName: "marker", isSignal: true, isRequired: false, transformFunction: null }, inset: { classPropertyName: "inset", publicName: "inset", isSignal: true, isRequired: false, transformFunction: null }, loading: { classPropertyName: "loading", publicName: "loading", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "data-ui": "list", "data-part": "root" }, properties: { "attr.role": "role()", "attr.data-variant": "resolvedVariant()", "attr.data-size": "resolvedSize()", "attr.data-marker": "resolvedMarker()", "attr.data-inset": "resolvedInset() ? '' : null", "attr.data-loading": "loading() ? '' : null", "attr.aria-busy": "loading() ? 'true' : null" } }, exportAs: ["slList"], ngImport: i0, template: '<ng-content></ng-content>', isInline: true, styles: ["@layer slotted.components{[data-ui
|
|
114
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.1.7", type: SlList, isStandalone: true, selector: "ul[slList], ol[slList]", inputs: { variant: { classPropertyName: "variant", publicName: "variant", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, marker: { classPropertyName: "marker", publicName: "marker", isSignal: true, isRequired: false, transformFunction: null }, inset: { classPropertyName: "inset", publicName: "inset", isSignal: true, isRequired: false, transformFunction: null }, loading: { classPropertyName: "loading", publicName: "loading", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "data-ui": "list", "data-ui-list": "", "data-part": "root", "data-part-root": "" }, properties: { "attr.role": "role()", "attr.data-variant": "resolvedVariant()", "attr.data-size": "resolvedSize()", "attr.data-marker": "resolvedMarker()", "attr.data-inset": "resolvedInset() ? '' : null", "attr.data-loading": "loading() ? '' : null", "attr.aria-busy": "loading() ? 'true' : null" } }, exportAs: ["slList"], ngImport: i0, template: '<ng-content></ng-content>', isInline: true, styles: ["@layer slotted.components{[data-ui-list][data-part-root],[data-ui-list] [data-part-section-list]{counter-reset:slotted-list-item;display:flex;flex-direction:column;list-style:none;margin-block:0;margin-inline:0;min-inline-size:0;padding-inline:0}[data-ui-list][data-part-root]{--_gap: var(--slotted-list-gap, var(--slotted-space-3, .375rem));--_frame-color: var(--slotted-list-border-color, var(--slotted-border-subtle, ButtonBorder));--_frame-width: var(--slotted-list-border-width, var(--slotted-border-width-thin, 1px));--_frame-radius: var(--slotted-list-radius, var(--slotted-radius-md, 6px));--_surface: var(--slotted-list-background, var(--slotted-surface, Canvas));--_section-color: var(--slotted-list-section-color, var(--slotted-text-muted, GrayText));--_section-font-size: var( --slotted-list-section-font-size, var(--slotted-font-size-xs, .75rem) );--_section-weight: var( --slotted-list-section-font-weight, var(--slotted-font-weight-semibold, 600) );--_section-inset-block: var( --slotted-list-section-padding-block, var(--slotted-space-4, .5rem) );--_row-inset-inline: var( --slotted-list-padding-inline, var(--slotted-control-padding-inline-md, 13px) );--_empty-color: var(--slotted-list-empty-color, var(--slotted-text-muted, GrayText));--_empty-inset: var(--slotted-list-empty-padding, var(--slotted-space-8, 1.5rem))}[data-ui-list][data-part-root][data-size=sm]{--_gap: var(--slotted-list-gap-sm, var(--slotted-space-2, .25rem));--_section-inset-block: var( --slotted-list-section-padding-block-sm, var(--slotted-space-3, .375rem) );--_row-inset-inline: var( --slotted-list-padding-inline-sm, var(--slotted-control-padding-inline-sm, 10px) );--_empty-inset: var(--slotted-list-empty-padding-sm, var(--slotted-space-6, 1rem))}[data-ui-list][data-part-root][data-size=lg]{--_gap: var(--slotted-list-gap-lg, var(--slotted-space-4, .5rem));--_section-inset-block: var( --slotted-list-section-padding-block-lg, var(--slotted-space-5, .75rem) );--_row-inset-inline: var( --slotted-list-padding-inline-lg, var(--slotted-control-padding-inline-lg, 16px) );--_empty-inset: var(--slotted-list-empty-padding-lg, var(--slotted-space-9, 2rem))}[data-ui-list][data-part-root][data-variant=framed]{background-color:var(--_surface);border:var(--_frame-width) solid var(--_frame-color);border-radius:var(--_frame-radius);overflow:clip}[data-ui-list][data-part-root][data-variant=separated]{row-gap:var(--_gap)}[data-ui-list] [data-part-section]{display:flex;flex-direction:column;min-inline-size:0}[data-ui-list][data-variant=separated] [data-part-section],[data-ui-list][data-variant=separated] [data-part-section-list]{row-gap:var(--_gap)}[data-ui-list] [data-part-section-label]{color:var(--_section-color);font-size:var(--_section-font-size);font-weight:var(--_section-weight);letter-spacing:var(--slotted-list-section-letter-spacing, 0);line-height:var(--slotted-line-height-sm, 1.45);margin-block:0;min-inline-size:0;padding-block:var(--_section-inset-block);padding-inline:var(--_row-inset-inline)}[data-ui-list][data-inset] [data-part-section-label],[data-ui-list][data-inset] [data-part-empty]{padding-inline:0}[data-ui-list] [data-part-section-label]:has(>[data-part-section-end]){align-items:baseline;display:flex;gap:var(--slotted-space-4, .5rem);justify-content:space-between}[data-ui-list] [data-part-section-end]{flex:none;font-variant-numeric:tabular-nums;white-space:nowrap}[data-ui-list] [data-part-section-label][data-variant=ruled]{border-block-end:var(--slotted-border-width-thin, 1px) solid var(--slotted-list-section-rule-color, var(--slotted-border-subtle, GrayText));color:var(--slotted-list-section-ruled-color, var(--slotted-text, CanvasText));font-weight:var(--slotted-font-weight-medium, 500)}[data-ui-list] [data-part-section-label][data-sticky]{background-color:var(--_surface);inset-block-start:0;position:sticky;z-index:var(--slotted-z-index-sticky, 100)}[data-ui-list] [data-part-empty]{align-items:center;color:var(--_empty-color);display:flex;flex-direction:column;justify-content:center;min-inline-size:0;padding-block:var(--_empty-inset);padding-inline:var(--_row-inset-inline);text-align:center}[data-ui-list][data-part-root][data-loading]{cursor:progress}}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
115
115
|
}
|
|
116
116
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.7", ngImport: i0, type: SlList, decorators: [{
|
|
117
117
|
type: Component,
|
|
118
118
|
args: [{ selector: 'ul[slList], ol[slList]', standalone: true, exportAs: 'slList', template: '<ng-content></ng-content>', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: {
|
|
119
119
|
'data-ui': 'list',
|
|
120
|
+
'data-ui-list': '',
|
|
120
121
|
'data-part': 'root',
|
|
122
|
+
'data-part-root': '',
|
|
121
123
|
'[attr.role]': 'role()',
|
|
122
124
|
'[attr.data-variant]': 'resolvedVariant()',
|
|
123
125
|
'[attr.data-size]': 'resolvedSize()',
|
|
@@ -125,21 +127,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.7", ngImpor
|
|
|
125
127
|
'[attr.data-inset]': "resolvedInset() ? '' : null",
|
|
126
128
|
'[attr.data-loading]': "loading() ? '' : null",
|
|
127
129
|
'[attr.aria-busy]': "loading() ? 'true' : null",
|
|
128
|
-
}, styles: ["@layer slotted.components{[data-ui
|
|
130
|
+
}, styles: ["@layer slotted.components{[data-ui-list][data-part-root],[data-ui-list] [data-part-section-list]{counter-reset:slotted-list-item;display:flex;flex-direction:column;list-style:none;margin-block:0;margin-inline:0;min-inline-size:0;padding-inline:0}[data-ui-list][data-part-root]{--_gap: var(--slotted-list-gap, var(--slotted-space-3, .375rem));--_frame-color: var(--slotted-list-border-color, var(--slotted-border-subtle, ButtonBorder));--_frame-width: var(--slotted-list-border-width, var(--slotted-border-width-thin, 1px));--_frame-radius: var(--slotted-list-radius, var(--slotted-radius-md, 6px));--_surface: var(--slotted-list-background, var(--slotted-surface, Canvas));--_section-color: var(--slotted-list-section-color, var(--slotted-text-muted, GrayText));--_section-font-size: var( --slotted-list-section-font-size, var(--slotted-font-size-xs, .75rem) );--_section-weight: var( --slotted-list-section-font-weight, var(--slotted-font-weight-semibold, 600) );--_section-inset-block: var( --slotted-list-section-padding-block, var(--slotted-space-4, .5rem) );--_row-inset-inline: var( --slotted-list-padding-inline, var(--slotted-control-padding-inline-md, 13px) );--_empty-color: var(--slotted-list-empty-color, var(--slotted-text-muted, GrayText));--_empty-inset: var(--slotted-list-empty-padding, var(--slotted-space-8, 1.5rem))}[data-ui-list][data-part-root][data-size=sm]{--_gap: var(--slotted-list-gap-sm, var(--slotted-space-2, .25rem));--_section-inset-block: var( --slotted-list-section-padding-block-sm, var(--slotted-space-3, .375rem) );--_row-inset-inline: var( --slotted-list-padding-inline-sm, var(--slotted-control-padding-inline-sm, 10px) );--_empty-inset: var(--slotted-list-empty-padding-sm, var(--slotted-space-6, 1rem))}[data-ui-list][data-part-root][data-size=lg]{--_gap: var(--slotted-list-gap-lg, var(--slotted-space-4, .5rem));--_section-inset-block: var( --slotted-list-section-padding-block-lg, var(--slotted-space-5, .75rem) );--_row-inset-inline: var( --slotted-list-padding-inline-lg, var(--slotted-control-padding-inline-lg, 16px) );--_empty-inset: var(--slotted-list-empty-padding-lg, var(--slotted-space-9, 2rem))}[data-ui-list][data-part-root][data-variant=framed]{background-color:var(--_surface);border:var(--_frame-width) solid var(--_frame-color);border-radius:var(--_frame-radius);overflow:clip}[data-ui-list][data-part-root][data-variant=separated]{row-gap:var(--_gap)}[data-ui-list] [data-part-section]{display:flex;flex-direction:column;min-inline-size:0}[data-ui-list][data-variant=separated] [data-part-section],[data-ui-list][data-variant=separated] [data-part-section-list]{row-gap:var(--_gap)}[data-ui-list] [data-part-section-label]{color:var(--_section-color);font-size:var(--_section-font-size);font-weight:var(--_section-weight);letter-spacing:var(--slotted-list-section-letter-spacing, 0);line-height:var(--slotted-line-height-sm, 1.45);margin-block:0;min-inline-size:0;padding-block:var(--_section-inset-block);padding-inline:var(--_row-inset-inline)}[data-ui-list][data-inset] [data-part-section-label],[data-ui-list][data-inset] [data-part-empty]{padding-inline:0}[data-ui-list] [data-part-section-label]:has(>[data-part-section-end]){align-items:baseline;display:flex;gap:var(--slotted-space-4, .5rem);justify-content:space-between}[data-ui-list] [data-part-section-end]{flex:none;font-variant-numeric:tabular-nums;white-space:nowrap}[data-ui-list] [data-part-section-label][data-variant=ruled]{border-block-end:var(--slotted-border-width-thin, 1px) solid var(--slotted-list-section-rule-color, var(--slotted-border-subtle, GrayText));color:var(--slotted-list-section-ruled-color, var(--slotted-text, CanvasText));font-weight:var(--slotted-font-weight-medium, 500)}[data-ui-list] [data-part-section-label][data-sticky]{background-color:var(--_surface);inset-block-start:0;position:sticky;z-index:var(--slotted-z-index-sticky, 100)}[data-ui-list] [data-part-empty]{align-items:center;color:var(--_empty-color);display:flex;flex-direction:column;justify-content:center;min-inline-size:0;padding-block:var(--_empty-inset);padding-inline:var(--_row-inset-inline);text-align:center}[data-ui-list][data-part-root][data-loading]{cursor:progress}}\n"] }]
|
|
129
131
|
}], propDecorators: { variant: [{ type: i0.Input, args: [{ isSignal: true, alias: "variant", required: false }] }], size: [{ type: i0.Input, args: [{ isSignal: true, alias: "size", required: false }] }], marker: [{ type: i0.Input, args: [{ isSignal: true, alias: "marker", required: false }] }], inset: [{ type: i0.Input, args: [{ isSignal: true, alias: "inset", required: false }] }], loading: [{ type: i0.Input, args: [{ isSignal: true, alias: "loading", required: false }] }] } });
|
|
130
132
|
|
|
131
|
-
/**
|
|
132
|
-
* A group inside the set: the `li` holding a heading and a nested list, which
|
|
133
|
-
* is the grouping HTML already has. MUI, Angular Material, Primer and React
|
|
134
|
-
* Aria each leave the heading loose among the rows instead, so a reader hears a
|
|
135
|
-
* heading inside a set rather than a set with a name.
|
|
136
|
-
*
|
|
137
|
-
* The three elements are the consumer's own, which is what this ecosystem
|
|
138
|
-
* composes with: the heading keeps whichever level the document needs, and the
|
|
139
|
-
* nested list keeps `ul` or `ol` to match the set around it. React reads the
|
|
140
|
-
* heading element off a `level` input instead, because there the component owns
|
|
141
|
-
* the tag; both reach the same accessibility tree.
|
|
142
|
-
*/
|
|
143
133
|
class SlListSection {
|
|
144
134
|
/**
|
|
145
135
|
* The id the heading carries and the nested list names itself by. It is held
|
|
@@ -149,7 +139,7 @@ class SlListSection {
|
|
|
149
139
|
labelId = signal(undefined, /* @ts-ignore */
|
|
150
140
|
...(ngDevMode ? [{ debugName: "labelId" }] : /* istanbul ignore next */ []));
|
|
151
141
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.7", ngImport: i0, type: SlListSection, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
152
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.1.7", type: SlListSection, isStandalone: true, selector: "li[slListSection]", host: { attributes: { "data-part": "section" } }, exportAs: ["slListSection"], ngImport: i0 });
|
|
142
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.1.7", type: SlListSection, isStandalone: true, selector: "li[slListSection]", host: { attributes: { "data-part": "section", "data-part-section": "" } }, exportAs: ["slListSection"], ngImport: i0 });
|
|
153
143
|
}
|
|
154
144
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.7", ngImport: i0, type: SlListSection, decorators: [{
|
|
155
145
|
type: Directive,
|
|
@@ -157,7 +147,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.7", ngImpor
|
|
|
157
147
|
selector: 'li[slListSection]',
|
|
158
148
|
standalone: true,
|
|
159
149
|
exportAs: 'slListSection',
|
|
160
|
-
host: { 'data-part': 'section' },
|
|
150
|
+
host: { 'data-part': 'section', 'data-part-section': '' },
|
|
161
151
|
}]
|
|
162
152
|
}] });
|
|
163
153
|
/**
|
|
@@ -166,6 +156,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.7", ngImpor
|
|
|
166
156
|
* read as one list rather than as several.
|
|
167
157
|
*/
|
|
168
158
|
class SlListSectionLabel {
|
|
159
|
+
/**
|
|
160
|
+
* How the heading is drawn. `caption` is the small muted name; `ruled` is the
|
|
161
|
+
* name in the text colour over a rule, with no ground behind it.
|
|
162
|
+
*/
|
|
163
|
+
variant = input('caption', /* @ts-ignore */
|
|
164
|
+
...(ngDevMode ? [{ debugName: "variant" }] : /* istanbul ignore next */ []));
|
|
169
165
|
/**
|
|
170
166
|
* Keeps the name in place while its own rows scroll past it. It takes the
|
|
171
167
|
* set's surface and the library's sticky stack level, which is what a
|
|
@@ -180,7 +176,7 @@ class SlListSectionLabel {
|
|
|
180
176
|
this.section?.labelId.set(this.id);
|
|
181
177
|
}
|
|
182
178
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.7", ngImport: i0, type: SlListSectionLabel, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
183
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "22.1.7", type: SlListSectionLabel, isStandalone: true, selector: "[slListSectionLabel]", inputs: { sticky: { classPropertyName: "sticky", publicName: "sticky", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "data-part": "section-label" }, properties: { "attr.id": "id", "attr.data-sticky": "sticky() ? '' : null" } }, exportAs: ["slListSectionLabel"], ngImport: i0 });
|
|
179
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "22.1.7", type: SlListSectionLabel, isStandalone: true, selector: "[slListSectionLabel]", inputs: { variant: { classPropertyName: "variant", publicName: "variant", isSignal: true, isRequired: false, transformFunction: null }, sticky: { classPropertyName: "sticky", publicName: "sticky", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "data-part": "section-label", "data-part-section-label": "" }, properties: { "attr.id": "id", "attr.data-sticky": "sticky() ? '' : null", "attr.data-variant": "variant()" } }, exportAs: ["slListSectionLabel"], ngImport: i0 });
|
|
184
180
|
}
|
|
185
181
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.7", ngImport: i0, type: SlListSectionLabel, decorators: [{
|
|
186
182
|
type: Directive,
|
|
@@ -190,11 +186,29 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.7", ngImpor
|
|
|
190
186
|
exportAs: 'slListSectionLabel',
|
|
191
187
|
host: {
|
|
192
188
|
'data-part': 'section-label',
|
|
189
|
+
'data-part-section-label': '',
|
|
193
190
|
'[attr.id]': 'id',
|
|
194
191
|
'[attr.data-sticky]': "sticky() ? '' : null",
|
|
192
|
+
'[attr.data-variant]': 'variant()',
|
|
195
193
|
},
|
|
196
194
|
}]
|
|
197
|
-
}], ctorParameters: () => [], propDecorators: { sticky: [{ type: i0.Input, args: [{ isSignal: true, alias: "sticky", required: false }] }] } });
|
|
195
|
+
}], ctorParameters: () => [], propDecorators: { variant: [{ type: i0.Input, args: [{ isSignal: true, alias: "variant", required: false }] }], sticky: [{ type: i0.Input, args: [{ isSignal: true, alias: "sticky", required: false }] }] } });
|
|
196
|
+
/**
|
|
197
|
+
* What stands at the end of a group heading, on the line of the name: a day's
|
|
198
|
+
* balance, a count. Set in tabular figures.
|
|
199
|
+
*/
|
|
200
|
+
class SlListSectionEnd {
|
|
201
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.7", ngImport: i0, type: SlListSectionEnd, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
202
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.1.7", type: SlListSectionEnd, isStandalone: true, selector: "[slListSectionEnd]", host: { attributes: { "data-part": "section-end", "data-part-section-end": "" } }, ngImport: i0 });
|
|
203
|
+
}
|
|
204
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.7", ngImport: i0, type: SlListSectionEnd, decorators: [{
|
|
205
|
+
type: Directive,
|
|
206
|
+
args: [{
|
|
207
|
+
selector: '[slListSectionEnd]',
|
|
208
|
+
standalone: true,
|
|
209
|
+
host: { 'data-part': 'section-end', 'data-part-section-end': '' },
|
|
210
|
+
}]
|
|
211
|
+
}] });
|
|
198
212
|
/**
|
|
199
213
|
* The rows of one group. `role="list"` for the same reason the set writes it:
|
|
200
214
|
* the family draws its own marker, and the native one is what Safari and
|
|
@@ -210,7 +224,7 @@ class SlListSectionList {
|
|
|
210
224
|
role = this.writtenRole ?? 'list';
|
|
211
225
|
labelledBy = () => this.writtenLabelledBy ?? this.section?.labelId() ?? null;
|
|
212
226
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.7", ngImport: i0, type: SlListSectionList, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
213
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.1.7", type: SlListSectionList, isStandalone: true, selector: "ul[slListSectionList], ol[slListSectionList]", host: { attributes: { "data-part": "section-list" }, properties: { "attr.role": "role", "attr.aria-labelledby": "labelledBy()" } }, exportAs: ["slListSectionList"], ngImport: i0 });
|
|
227
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.1.7", type: SlListSectionList, isStandalone: true, selector: "ul[slListSectionList], ol[slListSectionList]", host: { attributes: { "data-part": "section-list", "data-part-section-list": "" }, properties: { "attr.role": "role", "attr.aria-labelledby": "labelledBy()" } }, exportAs: ["slListSectionList"], ngImport: i0 });
|
|
214
228
|
}
|
|
215
229
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.7", ngImport: i0, type: SlListSectionList, decorators: [{
|
|
216
230
|
type: Directive,
|
|
@@ -220,6 +234,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.7", ngImpor
|
|
|
220
234
|
exportAs: 'slListSectionList',
|
|
221
235
|
host: {
|
|
222
236
|
'data-part': 'section-list',
|
|
237
|
+
'data-part-section-list': '',
|
|
223
238
|
'[attr.role]': 'role',
|
|
224
239
|
'[attr.aria-labelledby]': 'labelledBy()',
|
|
225
240
|
},
|
|
@@ -236,7 +251,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.7", ngImpor
|
|
|
236
251
|
*/
|
|
237
252
|
class SlListEmpty {
|
|
238
253
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.7", ngImport: i0, type: SlListEmpty, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
239
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.1.7", type: SlListEmpty, isStandalone: true, selector: "li[slListEmpty]", host: { attributes: { "data-part": "empty" } }, exportAs: ["slListEmpty"], ngImport: i0 });
|
|
254
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.1.7", type: SlListEmpty, isStandalone: true, selector: "li[slListEmpty]", host: { attributes: { "data-part": "empty", "data-part-empty": "" } }, exportAs: ["slListEmpty"], ngImport: i0 });
|
|
240
255
|
}
|
|
241
256
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.7", ngImport: i0, type: SlListEmpty, decorators: [{
|
|
242
257
|
type: Directive,
|
|
@@ -244,7 +259,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.7", ngImpor
|
|
|
244
259
|
selector: 'li[slListEmpty]',
|
|
245
260
|
standalone: true,
|
|
246
261
|
exportAs: 'slListEmpty',
|
|
247
|
-
host: { 'data-part': 'empty' },
|
|
262
|
+
host: { 'data-part': 'empty', 'data-part-empty': '' },
|
|
248
263
|
}]
|
|
249
264
|
}] });
|
|
250
265
|
|
|
@@ -252,5 +267,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.7", ngImpor
|
|
|
252
267
|
* Generated bundle index. Do not edit.
|
|
253
268
|
*/
|
|
254
269
|
|
|
255
|
-
export { LIST_DEFAULTS, SlList, SlListEmpty, SlListIdFactory, SlListSection, SlListSectionLabel, SlListSectionList, injectListDefaults, provideListDefaults };
|
|
270
|
+
export { LIST_DEFAULTS, SlList, SlListEmpty, SlListIdFactory, SlListSection, SlListSectionEnd, SlListSectionLabel, SlListSectionList, injectListDefaults, provideListDefaults };
|
|
256
271
|
//# sourceMappingURL=slotted-angular-list.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"slotted-angular-list.mjs","sources":["../../list/src/list-defaults.ts","../../list/src/list.ts","../../list/src/list-parts.ts","../../list/src/slotted-angular-list.ts"],"sourcesContent":["import { inject, Injectable, InjectionToken } from '@angular/core';\n\n/** How the rows are told apart. The vocabulary is `accordion`'s. */\nexport type ListVariant = 'plain' | 'ruled' | 'framed' | 'separated';\n\n/** The room a row gets. Density is the application's choice; this is not. */\nexport type ListSize = 'sm' | 'md' | 'lg';\n\n/**\n * What is painted in the marker column. It is a separate question from\n * `ordered`: an ordered set whose rows carry their own badges paints no number\n * and still reads in order.\n */\nexport type ListMarker = 'none' | 'bullet' | 'number';\n\nexport interface ListDefaults {\n inset: boolean;\n marker: ListMarker;\n size: ListSize;\n variant: ListVariant;\n}\n\nconst FALLBACK: ListDefaults = { inset: false, marker: 'none', size: 'md', variant: 'plain' };\n\nexport const LIST_DEFAULTS = new InjectionToken<ListDefaults>('slotted list defaults', {\n providedIn: 'root',\n factory: () => FALLBACK,\n});\n\n/**\n * An application decides once how its lists are told apart and how much room a\n * row gets, rather than repeating four inputs on every list. A list that states\n * any of them itself still wins: an explicit input is never overridden by the\n * token.\n */\nexport function provideListDefaults(defaults: Partial<ListDefaults>) {\n return {\n provide: LIST_DEFAULTS,\n useFactory: (): ListDefaults => ({\n inset: defaults.inset ?? FALLBACK.inset,\n marker: defaults.marker ?? FALLBACK.marker,\n size: defaults.size ?? FALLBACK.size,\n variant: defaults.variant ?? FALLBACK.variant,\n }),\n };\n}\n\n/** What a list renders as here, before it states anything of its own. */\nexport function injectListDefaults(): ListDefaults {\n return inject(LIST_DEFAULTS);\n}\n\n/**\n * A group's heading names its own nested list, so the heading needs an id and\n * the id has to be the same string on the server and in the browser. A counter\n * held by the injector produces one; `Math.random` would not match for\n * hydration.\n */\n@Injectable({ providedIn: 'root' })\nexport class SlListIdFactory {\n private count = 0;\n\n next() {\n this.count += 1;\n return `slotted-list-${this.count}`;\n }\n}\n","import {\n booleanAttribute,\n ChangeDetectionStrategy,\n Component,\n computed,\n HostAttributeToken,\n inject,\n input,\n ViewEncapsulation,\n} from '@angular/core';\n\nimport { injectListDefaults } from './list-defaults';\nimport type { ListMarker, ListSize, ListVariant } from './list-defaults';\n\nexport type { ListMarker, ListSize, ListVariant } from './list-defaults';\n\n/**\n * A vertical run of related rows. The rows are `slListItem`, a family of its\n * own; this one decides how they are told apart, how much room each gets, what\n * is painted in the marker column and whether they keep their inline padding,\n * and hands those four down through the injector.\n *\n * The directive goes on the element the page wrote — `<ul slList>` or\n * `<ol slList>` — because the element carries the reading order and that is the\n * page's decision, not the family's.\n *\n * **`role=\"list\"` is written, and it is not redundant.** The family draws its\n * own marker, because a row is a content box beside its independent targets and\n * CSS has no `display` that is both `list-item` and a grid. Safari and\n * VoiceOver drop list semantics the moment CSS removes the marker, so the role\n * restores what the layout costs. A `role` the consumer wrote themselves — a\n * `menu`, a `listbox` they are wiring — survives.\n *\n * The set holds no state a consumer can own. Selection with roving focus is\n * `listbox`'s and `table`'s: ARIA 1.2 does not allow `aria-selected` on\n * `listitem`, so a selection model here would announce nothing.\n */\n@Component({\n selector: 'ul[slList], ol[slList]',\n standalone: true,\n exportAs: 'slList',\n template: '<ng-content></ng-content>',\n styleUrl: '../../../styles/src/list/list.css',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: {\n 'data-ui': 'list',\n 'data-part': 'root',\n '[attr.role]': 'role()',\n '[attr.data-variant]': 'resolvedVariant()',\n '[attr.data-size]': 'resolvedSize()',\n '[attr.data-marker]': 'resolvedMarker()',\n '[attr.data-inset]': \"resolvedInset() ? '' : null\",\n '[attr.data-loading]': \"loading() ? '' : null\",\n '[attr.aria-busy]': \"loading() ? 'true' : null\",\n },\n})\nexport class SlList {\n /** How the rows are told apart. Falls back to the injected default. */\n readonly variant = input<ListVariant>();\n /** The room a row gets. Falls back to the injected default. */\n readonly size = input<ListSize>();\n /** What is painted in the marker column. Falls back to the injected default. */\n readonly marker = input<ListMarker>();\n /**\n * Takes the rows' inline padding away, for a list inside a box that already\n * pads its own content. The rule and the fill still run edge to edge.\n */\n readonly inset = input<boolean | undefined, boolean | string | undefined>(undefined, {\n transform: (state) => (state === undefined ? undefined : booleanAttribute(state)),\n });\n /**\n * `aria-busy` on the set, which ARIA 1.2 §5.2.6 asks of a container whose\n * rows have not arrived. The family draws no placeholder: `skeleton` owns\n * that geometry and goes inside the rows.\n */\n readonly loading = input(false, { transform: booleanAttribute });\n\n private readonly defaults = injectListDefaults();\n\n /** A role the consumer wrote is never replaced by the family's. */\n private readonly writtenRole = inject(new HostAttributeToken('role'), { optional: true });\n\n protected readonly role = computed(() => this.writtenRole ?? 'list');\n /* Public, because a row reads them: the set is what a row asks when it has\n not been told itself. `role` stays protected — it is the host's alone. */\n readonly resolvedVariant = computed(() => this.variant() ?? this.defaults.variant);\n readonly resolvedSize = computed(() => this.size() ?? this.defaults.size);\n readonly resolvedMarker = computed(() => this.marker() ?? this.defaults.marker);\n\n /**\n * Read by every row under this set, and by the row's own input first. The\n * input stays `undefined` until it is written, so a list that states\n * `inset=\"false\"` under a provider that states `true` keeps its own answer —\n * `booleanAttribute` alone would fold the two together.\n */\n readonly resolvedInset = computed(() => (this.inset() ?? this.defaults.inset) === true);\n}\n","import {\n booleanAttribute,\n Directive,\n HostAttributeToken,\n inject,\n input,\n signal,\n} from '@angular/core';\n\nimport { SlListIdFactory } from './list-defaults';\n\n/**\n * A group inside the set: the `li` holding a heading and a nested list, which\n * is the grouping HTML already has. MUI, Angular Material, Primer and React\n * Aria each leave the heading loose among the rows instead, so a reader hears a\n * heading inside a set rather than a set with a name.\n *\n * The three elements are the consumer's own, which is what this ecosystem\n * composes with: the heading keeps whichever level the document needs, and the\n * nested list keeps `ul` or `ol` to match the set around it. React reads the\n * heading element off a `level` input instead, because there the component owns\n * the tag; both reach the same accessibility tree.\n */\n@Directive({\n selector: 'li[slListSection]',\n standalone: true,\n exportAs: 'slListSection',\n host: { 'data-part': 'section' },\n})\nexport class SlListSection {\n /**\n * The id the heading carries and the nested list names itself by. It is held\n * here rather than passed between the two, because the pair is the group and\n * neither half can name the other on its own.\n */\n readonly labelId = signal<string | undefined>(undefined);\n}\n\n/**\n * The group's name. It shares the row's inline inset, so the heading and the\n * titles under it stand in one column — the alignment that makes a grouped list\n * read as one list rather than as several.\n */\n@Directive({\n selector: '[slListSectionLabel]',\n standalone: true,\n exportAs: 'slListSectionLabel',\n host: {\n 'data-part': 'section-label',\n '[attr.id]': 'id',\n '[attr.data-sticky]': \"sticky() ? '' : null\",\n },\n})\nexport class SlListSectionLabel {\n /**\n * Keeps the name in place while its own rows scroll past it. It takes the\n * set's surface and the library's sticky stack level, which is what a\n * consumer writing `position: sticky` alone does not get.\n */\n readonly sticky = input(false, { transform: booleanAttribute });\n\n private readonly section = inject(SlListSection, { optional: true });\n /** An id the consumer wrote is never replaced by the family's. */\n private readonly written = inject(new HostAttributeToken('id'), { optional: true });\n\n readonly id = this.written ?? inject(SlListIdFactory).next();\n\n constructor() {\n this.section?.labelId.set(this.id);\n }\n}\n\n/**\n * The rows of one group. `role=\"list\"` for the same reason the set writes it:\n * the family draws its own marker, and the native one is what Safari and\n * VoiceOver read the semantics from.\n */\n@Directive({\n selector: 'ul[slListSectionList], ol[slListSectionList]',\n standalone: true,\n exportAs: 'slListSectionList',\n host: {\n 'data-part': 'section-list',\n '[attr.role]': 'role',\n '[attr.aria-labelledby]': 'labelledBy()',\n },\n})\nexport class SlListSectionList {\n private readonly section = inject(SlListSection, { optional: true });\n /** A role the consumer wrote is never replaced by the family's. */\n private readonly writtenRole = inject(new HostAttributeToken('role'), { optional: true });\n private readonly writtenLabelledBy = inject(new HostAttributeToken('aria-labelledby'), {\n optional: true,\n });\n\n readonly role = this.writtenRole ?? 'list';\n\n readonly labelledBy = () => this.writtenLabelledBy ?? this.section?.labelId() ?? null;\n}\n\n/**\n * What the set says when it holds nothing. It is an `li`, so the reader hears\n * \"list, one item\" and then the message; a message outside the list leaves them\n * with \"list, zero items\" and silence, and leaves the words outside the box a\n * framed set paints.\n *\n * The family supplies the box, the height and the muted ink. The words are the\n * page's, and `result-state` is what goes in here.\n */\n@Directive({\n selector: 'li[slListEmpty]',\n standalone: true,\n exportAs: 'slListEmpty',\n host: { 'data-part': 'empty' },\n})\nexport class SlListEmpty {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;AAsBA,MAAM,QAAQ,GAAiB,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE;MAEhF,aAAa,GAAG,IAAI,cAAc,CAAe,uBAAuB,EAAE;AACrF,IAAA,UAAU,EAAE,MAAM;AAClB,IAAA,OAAO,EAAE,MAAM,QAAQ;AACxB,CAAA;AAED;;;;;AAKG;AACG,SAAU,mBAAmB,CAAC,QAA+B,EAAA;IACjE,OAAO;AACL,QAAA,OAAO,EAAE,aAAa;AACtB,QAAA,UAAU,EAAE,OAAqB;AAC/B,YAAA,KAAK,EAAE,QAAQ,CAAC,KAAK,IAAI,QAAQ,CAAC,KAAK;AACvC,YAAA,MAAM,EAAE,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,MAAM;AAC1C,YAAA,IAAI,EAAE,QAAQ,CAAC,IAAI,IAAI,QAAQ,CAAC,IAAI;AACpC,YAAA,OAAO,EAAE,QAAQ,CAAC,OAAO,IAAI,QAAQ,CAAC,OAAO;SAC9C,CAAC;KACH;AACH;AAEA;SACgB,kBAAkB,GAAA;AAChC,IAAA,OAAO,MAAM,CAAC,aAAa,CAAC;AAC9B;AAEA;;;;;AAKG;MAEU,eAAe,CAAA;IAClB,KAAK,GAAG,CAAC;IAEjB,IAAI,GAAA;AACF,QAAA,IAAI,CAAC,KAAK,IAAI,CAAC;AACf,QAAA,OAAO,CAAA,aAAA,EAAgB,IAAI,CAAC,KAAK,EAAE;IACrC;uGANW,eAAe,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA;AAAf,IAAA,OAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,eAAe,cADF,MAAM,EAAA,CAAA;;2FACnB,eAAe,EAAA,UAAA,EAAA,CAAA;kBAD3B,UAAU;mBAAC,EAAE,UAAU,EAAE,MAAM,EAAE;;;AC1ClC;;;;;;;;;;;;;;;;;;;;AAoBG;MAqBU,MAAM,CAAA;;AAER,IAAA,OAAO,GAAG,KAAK;2FAAe;;AAE9B,IAAA,IAAI,GAAG,KAAK;wFAAY;;AAExB,IAAA,MAAM,GAAG,KAAK;0FAAc;AACrC;;;AAGG;AACM,IAAA,KAAK,GAAG,KAAK,CAAoD,SAAS,EAAA,EAAA,IAAA,SAAA,GAAA,EAAA,SAAA,EAAA,OAAA,EAAA,8BAAA,EAAA,CAAA,EACjF,SAAS,EAAE,CAAC,KAAK,MAAM,KAAK,KAAK,SAAS,GAAG,SAAS,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC,GACjF;AACF;;;;AAIG;IACM,OAAO,GAAG,KAAK,CAAC,KAAK,+EAAI,SAAS,EAAE,gBAAgB,EAAA,CAAG;IAE/C,QAAQ,GAAG,kBAAkB,EAAE;;AAG/B,IAAA,WAAW,GAAG,MAAM,CAAC,IAAI,kBAAkB,CAAC,MAAM,CAAC,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IAEtE,IAAI,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,WAAW,IAAI,MAAM;6EAAC;AACpE;AAC4E;AACnE,IAAA,eAAe,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,OAAO,EAAE,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO;wFAAC;AACzE,IAAA,YAAY,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI;qFAAC;AAChE,IAAA,cAAc,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,MAAM,EAAE,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM;uFAAC;AAE/E;;;;;AAKG;AACM,IAAA,aAAa,GAAG,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,MAAM,IAAI;sFAAC;uGAvC5E,MAAM,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAN,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,MAAM,skCAhBP,2BAA2B,EAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,ghHAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA;;2FAgB1B,MAAM,EAAA,UAAA,EAAA,CAAA;kBApBlB,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,wBAAwB,EAAA,UAAA,EACtB,IAAI,EAAA,QAAA,EACN,QAAQ,YACR,2BAA2B,EAAA,eAAA,EAEpB,uBAAuB,CAAC,MAAM,EAAA,aAAA,EAChC,iBAAiB,CAAC,IAAI,EAAA,IAAA,EAC/B;AACJ,wBAAA,SAAS,EAAE,MAAM;AACjB,wBAAA,WAAW,EAAE,MAAM;AACnB,wBAAA,aAAa,EAAE,QAAQ;AACvB,wBAAA,qBAAqB,EAAE,mBAAmB;AAC1C,wBAAA,kBAAkB,EAAE,gBAAgB;AACpC,wBAAA,oBAAoB,EAAE,kBAAkB;AACxC,wBAAA,mBAAmB,EAAE,6BAA6B;AAClD,wBAAA,qBAAqB,EAAE,uBAAuB;AAC9C,wBAAA,kBAAkB,EAAE,2BAA2B;AAChD,qBAAA,EAAA,MAAA,EAAA,CAAA,ghHAAA,CAAA,EAAA;;;AC5CH;;;;;;;;;;;AAWG;MAOU,aAAa,CAAA;AACxB;;;;AAIG;IACM,OAAO,GAAG,MAAM,CAAqB,SAAS;gFAAC;uGAN7C,aAAa,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;2FAAb,aAAa,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,mBAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,WAAA,EAAA,SAAA,EAAA,EAAA,EAAA,QAAA,EAAA,CAAA,eAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA;;2FAAb,aAAa,EAAA,UAAA,EAAA,CAAA;kBANzB,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,mBAAmB;AAC7B,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,QAAQ,EAAE,eAAe;AACzB,oBAAA,IAAI,EAAE,EAAE,WAAW,EAAE,SAAS,EAAE;AACjC,iBAAA;;AAUD;;;;AAIG;MAWU,kBAAkB,CAAA;AAC7B;;;;AAIG;IACM,MAAM,GAAG,KAAK,CAAC,KAAK,8EAAI,SAAS,EAAE,gBAAgB,EAAA,CAAG;IAE9C,OAAO,GAAG,MAAM,CAAC,aAAa,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;AAEnD,IAAA,OAAO,GAAG,MAAM,CAAC,IAAI,kBAAkB,CAAC,IAAI,CAAC,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;AAE1E,IAAA,EAAE,GAAG,IAAI,CAAC,OAAO,IAAI,MAAM,CAAC,eAAe,CAAC,CAAC,IAAI,EAAE;AAE5D,IAAA,WAAA,GAAA;QACE,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;IACpC;uGAhBW,kBAAkB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;2FAAlB,kBAAkB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,sBAAA,EAAA,MAAA,EAAA,EAAA,MAAA,EAAA,EAAA,iBAAA,EAAA,QAAA,EAAA,UAAA,EAAA,QAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,WAAA,EAAA,eAAA,EAAA,EAAA,UAAA,EAAA,EAAA,SAAA,EAAA,IAAA,EAAA,kBAAA,EAAA,sBAAA,EAAA,EAAA,EAAA,QAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA;;2FAAlB,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAV9B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,sBAAsB;AAChC,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,QAAQ,EAAE,oBAAoB;AAC9B,oBAAA,IAAI,EAAE;AACJ,wBAAA,WAAW,EAAE,eAAe;AAC5B,wBAAA,WAAW,EAAE,IAAI;AACjB,wBAAA,oBAAoB,EAAE,sBAAsB;AAC7C,qBAAA;AACF,iBAAA;;AAoBD;;;;AAIG;MAWU,iBAAiB,CAAA;IACX,OAAO,GAAG,MAAM,CAAC,aAAa,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;AAEnD,IAAA,WAAW,GAAG,MAAM,CAAC,IAAI,kBAAkB,CAAC,MAAM,CAAC,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IACxE,iBAAiB,GAAG,MAAM,CAAC,IAAI,kBAAkB,CAAC,iBAAiB,CAAC,EAAE;AACrF,QAAA,QAAQ,EAAE,IAAI;AACf,KAAA,CAAC;AAEO,IAAA,IAAI,GAAG,IAAI,CAAC,WAAW,IAAI,MAAM;AAEjC,IAAA,UAAU,GAAG,MAAM,IAAI,CAAC,iBAAiB,IAAI,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,IAAI;uGAV1E,iBAAiB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;2FAAjB,iBAAiB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,8CAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,WAAA,EAAA,cAAA,EAAA,EAAA,UAAA,EAAA,EAAA,WAAA,EAAA,MAAA,EAAA,sBAAA,EAAA,cAAA,EAAA,EAAA,EAAA,QAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA;;2FAAjB,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAV7B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,8CAA8C;AACxD,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,QAAQ,EAAE,mBAAmB;AAC7B,oBAAA,IAAI,EAAE;AACJ,wBAAA,WAAW,EAAE,cAAc;AAC3B,wBAAA,aAAa,EAAE,MAAM;AACrB,wBAAA,wBAAwB,EAAE,cAAc;AACzC,qBAAA;AACF,iBAAA;;AAcD;;;;;;;;AAQG;MAOU,WAAW,CAAA;uGAAX,WAAW,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;2FAAX,WAAW,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,WAAA,EAAA,OAAA,EAAA,EAAA,EAAA,QAAA,EAAA,CAAA,aAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA;;2FAAX,WAAW,EAAA,UAAA,EAAA,CAAA;kBANvB,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,iBAAiB;AAC3B,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,QAAQ,EAAE,aAAa;AACvB,oBAAA,IAAI,EAAE,EAAE,WAAW,EAAE,OAAO,EAAE;AAC/B,iBAAA;;;AClHD;;AAEG;;"}
|
|
1
|
+
{"version":3,"file":"slotted-angular-list.mjs","sources":["../../list/src/list-defaults.ts","../../list/src/list.ts","../../list/src/list-parts.ts","../../list/src/slotted-angular-list.ts"],"sourcesContent":["import { inject, Injectable, InjectionToken } from '@angular/core';\n\n/** How the rows are told apart. The vocabulary is `accordion`'s. */\nexport type ListVariant = 'plain' | 'ruled' | 'framed' | 'separated';\n\n/** The room a row gets. Density is the application's choice; this is not. */\nexport type ListSize = 'sm' | 'md' | 'lg';\n\n/**\n * What is painted in the marker column. It is a separate question from\n * `ordered`: an ordered set whose rows carry their own badges paints no number\n * and still reads in order.\n */\nexport type ListMarker = 'none' | 'bullet' | 'number';\n\nexport interface ListDefaults {\n inset: boolean;\n marker: ListMarker;\n size: ListSize;\n variant: ListVariant;\n}\n\nconst FALLBACK: ListDefaults = { inset: false, marker: 'none', size: 'md', variant: 'plain' };\n\nexport const LIST_DEFAULTS = new InjectionToken<ListDefaults>('slotted list defaults', {\n providedIn: 'root',\n factory: () => FALLBACK,\n});\n\n/**\n * An application decides once how its lists are told apart and how much room a\n * row gets, rather than repeating four inputs on every list. A list that states\n * any of them itself still wins: an explicit input is never overridden by the\n * token.\n */\nexport function provideListDefaults(defaults: Partial<ListDefaults>) {\n return {\n provide: LIST_DEFAULTS,\n useFactory: (): ListDefaults => ({\n inset: defaults.inset ?? FALLBACK.inset,\n marker: defaults.marker ?? FALLBACK.marker,\n size: defaults.size ?? FALLBACK.size,\n variant: defaults.variant ?? FALLBACK.variant,\n }),\n };\n}\n\n/** What a list renders as here, before it states anything of its own. */\nexport function injectListDefaults(): ListDefaults {\n return inject(LIST_DEFAULTS);\n}\n\n/**\n * A group's heading names its own nested list, so the heading needs an id and\n * the id has to be the same string on the server and in the browser. A counter\n * held by the injector produces one; `Math.random` would not match for\n * hydration.\n */\n@Injectable({ providedIn: 'root' })\nexport class SlListIdFactory {\n private count = 0;\n\n next() {\n this.count += 1;\n return `slotted-list-${this.count}`;\n }\n}\n","import {\n booleanAttribute,\n ChangeDetectionStrategy,\n Component,\n computed,\n HostAttributeToken,\n inject,\n input,\n ViewEncapsulation,\n} from '@angular/core';\n\nimport { injectListDefaults } from './list-defaults';\nimport type { ListMarker, ListSize, ListVariant } from './list-defaults';\n\nexport type { ListMarker, ListSize, ListVariant } from './list-defaults';\n\n/**\n * A vertical run of related rows. The rows are `slListItem`, a family of its\n * own; this one decides how they are told apart, how much room each gets, what\n * is painted in the marker column and whether they keep their inline padding,\n * and hands those four down through the injector.\n *\n * The directive goes on the element the page wrote — `<ul slList>` or\n * `<ol slList>` — because the element carries the reading order and that is the\n * page's decision, not the family's.\n *\n * **`role=\"list\"` is written, and it is not redundant.** The family draws its\n * own marker, because a row is a content box beside its independent targets and\n * CSS has no `display` that is both `list-item` and a grid. Safari and\n * VoiceOver drop list semantics the moment CSS removes the marker, so the role\n * restores what the layout costs. A `role` the consumer wrote themselves — a\n * `menu`, a `listbox` they are wiring — survives.\n *\n * The set holds no state a consumer can own. Selection with roving focus is\n * `listbox`'s and `table`'s: ARIA 1.2 does not allow `aria-selected` on\n * `listitem`, so a selection model here would announce nothing.\n */\n@Component({\n selector: 'ul[slList], ol[slList]',\n standalone: true,\n exportAs: 'slList',\n template: '<ng-content></ng-content>',\n styleUrl: '../../../styles/src/list/list.css',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: {\n 'data-ui': 'list',\n 'data-ui-list': '',\n 'data-part': 'root',\n 'data-part-root': '',\n '[attr.role]': 'role()',\n '[attr.data-variant]': 'resolvedVariant()',\n '[attr.data-size]': 'resolvedSize()',\n '[attr.data-marker]': 'resolvedMarker()',\n '[attr.data-inset]': \"resolvedInset() ? '' : null\",\n '[attr.data-loading]': \"loading() ? '' : null\",\n '[attr.aria-busy]': \"loading() ? 'true' : null\",\n },\n})\nexport class SlList {\n /** How the rows are told apart. Falls back to the injected default. */\n readonly variant = input<ListVariant>();\n /** The room a row gets. Falls back to the injected default. */\n readonly size = input<ListSize>();\n /** What is painted in the marker column. Falls back to the injected default. */\n readonly marker = input<ListMarker>();\n /**\n * Takes the rows' inline padding away, for a list inside a box that already\n * pads its own content. The rule and the fill still run edge to edge.\n */\n readonly inset = input<boolean | undefined, boolean | string | undefined>(undefined, {\n transform: (state) => (state === undefined ? undefined : booleanAttribute(state)),\n });\n /**\n * `aria-busy` on the set, which ARIA 1.2 §5.2.6 asks of a container whose\n * rows have not arrived. The family draws no placeholder: `skeleton` owns\n * that geometry and goes inside the rows.\n */\n readonly loading = input(false, { transform: booleanAttribute });\n\n private readonly defaults = injectListDefaults();\n\n /** A role the consumer wrote is never replaced by the family's. */\n private readonly writtenRole = inject(new HostAttributeToken('role'), { optional: true });\n\n protected readonly role = computed(() => this.writtenRole ?? 'list');\n /* Public, because a row reads them: the set is what a row asks when it has\n not been told itself. `role` stays protected — it is the host's alone. */\n readonly resolvedVariant = computed(() => this.variant() ?? this.defaults.variant);\n readonly resolvedSize = computed(() => this.size() ?? this.defaults.size);\n readonly resolvedMarker = computed(() => this.marker() ?? this.defaults.marker);\n\n /**\n * Read by every row under this set, and by the row's own input first. The\n * input stays `undefined` until it is written, so a list that states\n * `inset=\"false\"` under a provider that states `true` keeps its own answer —\n * `booleanAttribute` alone would fold the two together.\n */\n readonly resolvedInset = computed(() => (this.inset() ?? this.defaults.inset) === true);\n}\n","import {\n booleanAttribute,\n Directive,\n HostAttributeToken,\n inject,\n input,\n signal,\n} from '@angular/core';\n\nimport { SlListIdFactory } from './list-defaults';\n\n/**\n * A group inside the set: the `li` holding a heading and a nested list, which\n * is the grouping HTML already has. MUI, Angular Material, Primer and React\n * Aria each leave the heading loose among the rows instead, so a reader hears a\n * heading inside a set rather than a set with a name.\n *\n * The three elements are the consumer's own, which is what this ecosystem\n * composes with: the heading keeps whichever level the document needs, and the\n * nested list keeps `ul` or `ol` to match the set around it. React reads the\n * heading element off a `level` input instead, because there the component owns\n * the tag; both reach the same accessibility tree.\n */\n/** How a group heading is drawn. */\nexport type ListSectionLabelVariant = 'caption' | 'ruled';\n\n@Directive({\n selector: 'li[slListSection]',\n standalone: true,\n exportAs: 'slListSection',\n host: { 'data-part': 'section', 'data-part-section': '' },\n})\nexport class SlListSection {\n /**\n * The id the heading carries and the nested list names itself by. It is held\n * here rather than passed between the two, because the pair is the group and\n * neither half can name the other on its own.\n */\n readonly labelId = signal<string | undefined>(undefined);\n}\n\n/**\n * The group's name. It shares the row's inline inset, so the heading and the\n * titles under it stand in one column — the alignment that makes a grouped list\n * read as one list rather than as several.\n */\n@Directive({\n selector: '[slListSectionLabel]',\n standalone: true,\n exportAs: 'slListSectionLabel',\n host: {\n 'data-part': 'section-label',\n 'data-part-section-label': '',\n '[attr.id]': 'id',\n '[attr.data-sticky]': \"sticky() ? '' : null\",\n '[attr.data-variant]': 'variant()',\n },\n})\nexport class SlListSectionLabel {\n /**\n * How the heading is drawn. `caption` is the small muted name; `ruled` is the\n * name in the text colour over a rule, with no ground behind it.\n */\n readonly variant = input<ListSectionLabelVariant>('caption');\n /**\n * Keeps the name in place while its own rows scroll past it. It takes the\n * set's surface and the library's sticky stack level, which is what a\n * consumer writing `position: sticky` alone does not get.\n */\n readonly sticky = input(false, { transform: booleanAttribute });\n\n private readonly section = inject(SlListSection, { optional: true });\n /** An id the consumer wrote is never replaced by the family's. */\n private readonly written = inject(new HostAttributeToken('id'), { optional: true });\n\n readonly id = this.written ?? inject(SlListIdFactory).next();\n\n constructor() {\n this.section?.labelId.set(this.id);\n }\n}\n\n/**\n * What stands at the end of a group heading, on the line of the name: a day's\n * balance, a count. Set in tabular figures.\n */\n@Directive({\n selector: '[slListSectionEnd]',\n standalone: true,\n host: { 'data-part': 'section-end', 'data-part-section-end': '' },\n})\nexport class SlListSectionEnd {}\n\n/**\n * The rows of one group. `role=\"list\"` for the same reason the set writes it:\n * the family draws its own marker, and the native one is what Safari and\n * VoiceOver read the semantics from.\n */\n@Directive({\n selector: 'ul[slListSectionList], ol[slListSectionList]',\n standalone: true,\n exportAs: 'slListSectionList',\n host: {\n 'data-part': 'section-list',\n 'data-part-section-list': '',\n '[attr.role]': 'role',\n '[attr.aria-labelledby]': 'labelledBy()',\n },\n})\nexport class SlListSectionList {\n private readonly section = inject(SlListSection, { optional: true });\n /** A role the consumer wrote is never replaced by the family's. */\n private readonly writtenRole = inject(new HostAttributeToken('role'), { optional: true });\n private readonly writtenLabelledBy = inject(new HostAttributeToken('aria-labelledby'), {\n optional: true,\n });\n\n readonly role = this.writtenRole ?? 'list';\n\n readonly labelledBy = () => this.writtenLabelledBy ?? this.section?.labelId() ?? null;\n}\n\n/**\n * What the set says when it holds nothing. It is an `li`, so the reader hears\n * \"list, one item\" and then the message; a message outside the list leaves them\n * with \"list, zero items\" and silence, and leaves the words outside the box a\n * framed set paints.\n *\n * The family supplies the box, the height and the muted ink. The words are the\n * page's, and `result-state` is what goes in here.\n */\n@Directive({\n selector: 'li[slListEmpty]',\n standalone: true,\n exportAs: 'slListEmpty',\n host: { 'data-part': 'empty', 'data-part-empty': '' },\n})\nexport class SlListEmpty {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|