@slotted/angular 0.1.0-beta.1 → 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
|
@@ -116,35 +116,49 @@ class SlStatusIndicator {
|
|
|
116
116
|
name = computed(() => this.label() ?? this.t(this.status()), /* @ts-ignore */
|
|
117
117
|
...(ngDevMode ? [{ debugName: "name" }] : /* istanbul ignore next */ []));
|
|
118
118
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.7", ngImport: i0, type: SlStatusIndicator, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
119
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.7", type: SlStatusIndicator, isStandalone: true, selector: "[slStatusIndicator]", inputs: { status: { classPropertyName: "status", publicName: "status", isSignal: true, isRequired: false, transformFunction: null }, mark: { classPropertyName: "mark", publicName: "mark", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, live: { classPropertyName: "live", publicName: "live", isSignal: true, isRequired: false, transformFunction: null }, pulse: { classPropertyName: "pulse", publicName: "pulse", isSignal: true, isRequired: false, transformFunction: null }, label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, messages: { classPropertyName: "messages", publicName: "messages", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "data-ui": "status-indicator", "data-part": "root" }, properties: { "attr.data-status": "status()", "attr.data-mark": "markValue()", "attr.data-size": "sizeValue()", "attr.data-pulse": "pulse() ? \"\" : null", "attr.role": "roleValue()" } }, exportAs: ["slStatusIndicator"], ngImport: i0, template: `<span aria-hidden="true" data-part="mark">
|
|
119
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.7", type: SlStatusIndicator, isStandalone: true, selector: "[slStatusIndicator]", inputs: { status: { classPropertyName: "status", publicName: "status", isSignal: true, isRequired: false, transformFunction: null }, mark: { classPropertyName: "mark", publicName: "mark", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, live: { classPropertyName: "live", publicName: "live", isSignal: true, isRequired: false, transformFunction: null }, pulse: { classPropertyName: "pulse", publicName: "pulse", isSignal: true, isRequired: false, transformFunction: null }, label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, messages: { classPropertyName: "messages", publicName: "messages", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "data-ui": "status-indicator", "data-ui-status-indicator": "", "data-part": "root", "data-part-root": "" }, properties: { "attr.data-status": "status()", "attr.data-mark": "markValue()", "attr.data-size": "sizeValue()", "attr.data-pulse": "pulse() ? \"\" : null", "attr.role": "roleValue()" } }, exportAs: ["slStatusIndicator"], ngImport: i0, template: `<span aria-hidden="true" data-part="mark" data-part-mark="">
|
|
120
120
|
@if (markValue() === 'icon') {
|
|
121
121
|
<span slIcon><svg slGlyph [name]="glyph()"></svg></span>
|
|
122
122
|
}</span
|
|
123
|
-
><span data-part="label"
|
|
123
|
+
><span data-part="label" data-part-label=""
|
|
124
124
|
><ng-content
|
|
125
|
-
><span
|
|
125
|
+
><span
|
|
126
|
+
data-part="announcement"
|
|
127
|
+
data-part-announcement=""
|
|
128
|
+
data-ui="visually-hidden"
|
|
129
|
+
data-ui-visually-hidden=""
|
|
130
|
+
>{{ name() }}</span
|
|
131
|
+
></ng-content
|
|
126
132
|
></span
|
|
127
|
-
>`, isInline: true, styles: ["@layer slotted.components{[data-ui
|
|
133
|
+
>`, isInline: true, styles: ["@layer slotted.components{[data-ui-status-indicator][data-part-root]{--_font-size: var(--slotted-control-font-size-md, 13px);--_glyph-size: var(--slotted-control-icon-size-md, 16px);--_gap: var(--slotted-space-4, .5rem);--_line-height: var(--slotted-line-height-md, 1.5);--_dot-size: var(--slotted-space-4, .5rem);--_mark-size: var(--_dot-size);--_rim-width: var( --slotted-status-indicator-mark-border-width, var(--slotted-border-width-thin, 1px) );--_rim: var(--slotted-status-indicator-mark-border-color, var(--_edge, var(--_solid)));--_halo: color-mix(in oklab, var(--_rim) 20%, transparent);--_halo-width: calc(var(--slotted-space-1, .125rem) * 1.5);--_pulse-inset: round(nearest, (1lh - var(--_mark-size)) / 2, 1px);align-items:flex-start;color:inherit;display:inline-flex;font-family:var( --slotted-status-indicator-font-family, var(--slotted-control-font-family, sans-serif) );font-size:var(--_font-size);line-height:var(--_line-height);max-inline-size:100%;min-inline-size:0;position:relative;text-decoration:none;vertical-align:middle}[data-ui-status-indicator][data-part-root][data-status=neutral]{--_solid: var(--slotted-border-strong);--_text: var(--slotted-tone-secondary-text)}[data-ui-status-indicator][data-part-root][data-status=info]{--_solid: var(--slotted-tone-accent-solid);--_text: var(--slotted-tone-accent-text)}[data-ui-status-indicator][data-part-root][data-status=success]{--_solid: var(--slotted-tone-success-solid);--_text: var(--slotted-tone-success-text)}[data-ui-status-indicator][data-part-root][data-status=warning]{--_edge: var(--slotted-tone-warning-border);--_solid: var(--slotted-tone-warning-solid);--_text: var(--slotted-tone-warning-text)}[data-ui-status-indicator][data-part-root][data-status=danger]{--_solid: var(--slotted-tone-danger-solid);--_text: var(--slotted-tone-danger-text)}[data-ui-status-indicator][data-part-root][data-status=unknown]{--_edge: var(--slotted-border-strong);--_halo: transparent;--_solid: transparent;--_text: var(--slotted-tone-secondary-text)}[data-ui-status-indicator][data-part-root][data-mark=icon]{--_mark-size: var(--_glyph-size)}[data-ui-status-indicator][data-part-root][data-size=sm]{--_dot-size: var(--slotted-space-3, .375rem);--_font-size: var(--slotted-control-font-size-sm, 12px);--_glyph-size: var(--slotted-control-icon-size-sm, 14px);--_gap: var(--slotted-space-3, .375rem);--_halo-width: var(--slotted-space-1, .125rem)}[data-ui-status-indicator][data-part-root][data-size=lg]{--_font-size: var(--slotted-control-font-size-lg, 14px);--_glyph-size: var(--slotted-control-icon-size-lg, 18px)}[data-ui-status-indicator] [data-part-mark]{block-size:var(--_mark-size);box-sizing:border-box;flex:none;inline-size:var(--_mark-size);margin-block-start:var(--_pulse-inset)}[data-ui-status-indicator][data-mark=dot] [data-part-mark]{background-color:var(--_solid, ButtonFace);border:var(--_rim-width) solid var(--_rim, CanvasText);border-radius:var(--slotted-radius-full, 9999px);box-shadow:0 0 0 var(--_halo-width) var(--_halo)}[data-ui-status-indicator][data-mark=dot][data-status=unknown] [data-part-mark]{border:0;position:relative}[data-ui-status-indicator][data-mark=dot][data-status=unknown] [data-part-mark]:before{border:var(--slotted-border-width-thick, 2px) dashed var(--_rim);border-radius:var(--slotted-radius-full, 9999px);box-sizing:border-box;content:\"\";inset:calc(-1 * var(--_halo-width));position:absolute}[data-ui-status-indicator][data-mark=icon] [data-part-mark]{--slotted-icon-size: var(--_mark-size);color:var(--_text, CanvasText);display:flex}[data-ui-status-indicator] [data-part-label]{margin-inline-start:var(--_gap);min-inline-size:0;overflow-wrap:break-word}[data-ui-status-indicator] [data-part-label]:has(>[data-part-announcement]){margin-inline-start:0}[data-ui-status-indicator][data-part-root]: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-status-indicator][data-part-root]:any-link{text-decoration-color:transparent;text-decoration-line:underline;text-decoration-thickness:from-font;text-underline-offset:.15em;transition:color var(--slotted-duration-short) var(--slotted-easing-standard),text-decoration-color var(--slotted-duration-short) var(--slotted-easing-standard)}[data-ui-status-indicator][data-part-root]:any-link:not([data-disabled]):hover{text-decoration-color:currentColor}[data-ui-status-indicator][data-part-root]:any-link:not([data-disabled]):active{color:var(--slotted-text-muted, GrayText);text-decoration-color:currentColor}@keyframes slotted-status-indicator-pulse{0%{opacity:.45;scale:1}70%,to{opacity:0;scale:3}}[data-ui-status-indicator][data-pulse]{isolation:isolate}[data-ui-status-indicator][data-pulse]:after{animation:slotted-status-indicator-pulse var(--slotted-duration-loop-slow) var(--slotted-easing-enter) infinite;background-color:var(--_rim);block-size:var(--_mark-size);border-radius:var(--slotted-radius-full, 9999px);content:\"\";inline-size:var(--_mark-size);inset-block-start:var(--_pulse-inset);inset-inline-start:0;pointer-events:none;position:absolute;z-index:-1}[data-ui-status-indicator][data-mark=icon][data-pulse]:after{content:none}@media(prefers-reduced-motion:reduce){[data-ui-status-indicator][data-pulse]:after{animation:none;content:none}}@media(forced-colors:active){[data-ui-status-indicator][data-mark=dot] [data-part-mark]{background-color:CanvasText;border-color:CanvasText}[data-ui-status-indicator][data-mark=dot][data-status=unknown] [data-part-mark]{background-color:Canvas}[data-ui-status-indicator][data-pulse]:after{content:none}}}\n", "@layer slotted.components{[data-ui-visually-hidden]:not([data-focusable]:focus-within){block-size:1px;border:0;clip-path:inset(50%);inline-size:1px;inset-block-start:0;inset-inline-start:0;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap}}\n"], 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 });
|
|
128
134
|
}
|
|
129
135
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.7", ngImport: i0, type: SlStatusIndicator, decorators: [{
|
|
130
136
|
type: Component,
|
|
131
|
-
args: [{ selector: '[slStatusIndicator]', standalone: true, imports: [SlGlyph, SlIcon], template: `<span aria-hidden="true" data-part="mark">
|
|
137
|
+
args: [{ selector: '[slStatusIndicator]', standalone: true, imports: [SlGlyph, SlIcon], template: `<span aria-hidden="true" data-part="mark" data-part-mark="">
|
|
132
138
|
@if (markValue() === 'icon') {
|
|
133
139
|
<span slIcon><svg slGlyph [name]="glyph()"></svg></span>
|
|
134
140
|
}</span
|
|
135
|
-
><span data-part="label"
|
|
141
|
+
><span data-part="label" data-part-label=""
|
|
136
142
|
><ng-content
|
|
137
|
-
><span
|
|
143
|
+
><span
|
|
144
|
+
data-part="announcement"
|
|
145
|
+
data-part-announcement=""
|
|
146
|
+
data-ui="visually-hidden"
|
|
147
|
+
data-ui-visually-hidden=""
|
|
148
|
+
>{{ name() }}</span
|
|
149
|
+
></ng-content
|
|
138
150
|
></span
|
|
139
151
|
>`, changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, exportAs: 'slStatusIndicator', host: {
|
|
140
152
|
'data-ui': 'status-indicator',
|
|
153
|
+
'data-ui-status-indicator': '',
|
|
141
154
|
'data-part': 'root',
|
|
155
|
+
'data-part-root': '',
|
|
142
156
|
'[attr.data-status]': 'status()',
|
|
143
157
|
'[attr.data-mark]': 'markValue()',
|
|
144
158
|
'[attr.data-size]': 'sizeValue()',
|
|
145
159
|
'[attr.data-pulse]': 'pulse() ? "" : null',
|
|
146
160
|
'[attr.role]': 'roleValue()',
|
|
147
|
-
}, styles: ["@layer slotted.components{[data-ui
|
|
161
|
+
}, styles: ["@layer slotted.components{[data-ui-status-indicator][data-part-root]{--_font-size: var(--slotted-control-font-size-md, 13px);--_glyph-size: var(--slotted-control-icon-size-md, 16px);--_gap: var(--slotted-space-4, .5rem);--_line-height: var(--slotted-line-height-md, 1.5);--_dot-size: var(--slotted-space-4, .5rem);--_mark-size: var(--_dot-size);--_rim-width: var( --slotted-status-indicator-mark-border-width, var(--slotted-border-width-thin, 1px) );--_rim: var(--slotted-status-indicator-mark-border-color, var(--_edge, var(--_solid)));--_halo: color-mix(in oklab, var(--_rim) 20%, transparent);--_halo-width: calc(var(--slotted-space-1, .125rem) * 1.5);--_pulse-inset: round(nearest, (1lh - var(--_mark-size)) / 2, 1px);align-items:flex-start;color:inherit;display:inline-flex;font-family:var( --slotted-status-indicator-font-family, var(--slotted-control-font-family, sans-serif) );font-size:var(--_font-size);line-height:var(--_line-height);max-inline-size:100%;min-inline-size:0;position:relative;text-decoration:none;vertical-align:middle}[data-ui-status-indicator][data-part-root][data-status=neutral]{--_solid: var(--slotted-border-strong);--_text: var(--slotted-tone-secondary-text)}[data-ui-status-indicator][data-part-root][data-status=info]{--_solid: var(--slotted-tone-accent-solid);--_text: var(--slotted-tone-accent-text)}[data-ui-status-indicator][data-part-root][data-status=success]{--_solid: var(--slotted-tone-success-solid);--_text: var(--slotted-tone-success-text)}[data-ui-status-indicator][data-part-root][data-status=warning]{--_edge: var(--slotted-tone-warning-border);--_solid: var(--slotted-tone-warning-solid);--_text: var(--slotted-tone-warning-text)}[data-ui-status-indicator][data-part-root][data-status=danger]{--_solid: var(--slotted-tone-danger-solid);--_text: var(--slotted-tone-danger-text)}[data-ui-status-indicator][data-part-root][data-status=unknown]{--_edge: var(--slotted-border-strong);--_halo: transparent;--_solid: transparent;--_text: var(--slotted-tone-secondary-text)}[data-ui-status-indicator][data-part-root][data-mark=icon]{--_mark-size: var(--_glyph-size)}[data-ui-status-indicator][data-part-root][data-size=sm]{--_dot-size: var(--slotted-space-3, .375rem);--_font-size: var(--slotted-control-font-size-sm, 12px);--_glyph-size: var(--slotted-control-icon-size-sm, 14px);--_gap: var(--slotted-space-3, .375rem);--_halo-width: var(--slotted-space-1, .125rem)}[data-ui-status-indicator][data-part-root][data-size=lg]{--_font-size: var(--slotted-control-font-size-lg, 14px);--_glyph-size: var(--slotted-control-icon-size-lg, 18px)}[data-ui-status-indicator] [data-part-mark]{block-size:var(--_mark-size);box-sizing:border-box;flex:none;inline-size:var(--_mark-size);margin-block-start:var(--_pulse-inset)}[data-ui-status-indicator][data-mark=dot] [data-part-mark]{background-color:var(--_solid, ButtonFace);border:var(--_rim-width) solid var(--_rim, CanvasText);border-radius:var(--slotted-radius-full, 9999px);box-shadow:0 0 0 var(--_halo-width) var(--_halo)}[data-ui-status-indicator][data-mark=dot][data-status=unknown] [data-part-mark]{border:0;position:relative}[data-ui-status-indicator][data-mark=dot][data-status=unknown] [data-part-mark]:before{border:var(--slotted-border-width-thick, 2px) dashed var(--_rim);border-radius:var(--slotted-radius-full, 9999px);box-sizing:border-box;content:\"\";inset:calc(-1 * var(--_halo-width));position:absolute}[data-ui-status-indicator][data-mark=icon] [data-part-mark]{--slotted-icon-size: var(--_mark-size);color:var(--_text, CanvasText);display:flex}[data-ui-status-indicator] [data-part-label]{margin-inline-start:var(--_gap);min-inline-size:0;overflow-wrap:break-word}[data-ui-status-indicator] [data-part-label]:has(>[data-part-announcement]){margin-inline-start:0}[data-ui-status-indicator][data-part-root]: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-status-indicator][data-part-root]:any-link{text-decoration-color:transparent;text-decoration-line:underline;text-decoration-thickness:from-font;text-underline-offset:.15em;transition:color var(--slotted-duration-short) var(--slotted-easing-standard),text-decoration-color var(--slotted-duration-short) var(--slotted-easing-standard)}[data-ui-status-indicator][data-part-root]:any-link:not([data-disabled]):hover{text-decoration-color:currentColor}[data-ui-status-indicator][data-part-root]:any-link:not([data-disabled]):active{color:var(--slotted-text-muted, GrayText);text-decoration-color:currentColor}@keyframes slotted-status-indicator-pulse{0%{opacity:.45;scale:1}70%,to{opacity:0;scale:3}}[data-ui-status-indicator][data-pulse]{isolation:isolate}[data-ui-status-indicator][data-pulse]:after{animation:slotted-status-indicator-pulse var(--slotted-duration-loop-slow) var(--slotted-easing-enter) infinite;background-color:var(--_rim);block-size:var(--_mark-size);border-radius:var(--slotted-radius-full, 9999px);content:\"\";inline-size:var(--_mark-size);inset-block-start:var(--_pulse-inset);inset-inline-start:0;pointer-events:none;position:absolute;z-index:-1}[data-ui-status-indicator][data-mark=icon][data-pulse]:after{content:none}@media(prefers-reduced-motion:reduce){[data-ui-status-indicator][data-pulse]:after{animation:none;content:none}}@media(forced-colors:active){[data-ui-status-indicator][data-mark=dot] [data-part-mark]{background-color:CanvasText;border-color:CanvasText}[data-ui-status-indicator][data-mark=dot][data-status=unknown] [data-part-mark]{background-color:Canvas}[data-ui-status-indicator][data-pulse]:after{content:none}}}\n", "@layer slotted.components{[data-ui-visually-hidden]:not([data-focusable]:focus-within){block-size:1px;border:0;clip-path:inset(50%);inline-size:1px;inset-block-start:0;inset-inline-start:0;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap}}\n"] }]
|
|
148
162
|
}], propDecorators: { status: [{ type: i0.Input, args: [{ isSignal: true, alias: "status", required: false }] }], mark: [{ type: i0.Input, args: [{ isSignal: true, alias: "mark", required: false }] }], size: [{ type: i0.Input, args: [{ isSignal: true, alias: "size", required: false }] }], live: [{ type: i0.Input, args: [{ isSignal: true, alias: "live", required: false }] }], pulse: [{ type: i0.Input, args: [{ isSignal: true, alias: "pulse", required: false }] }], label: [{ type: i0.Input, args: [{ isSignal: true, alias: "label", required: false }] }], messages: [{ type: i0.Input, args: [{ isSignal: true, alias: "messages", required: false }] }] } });
|
|
149
163
|
|
|
150
164
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"slotted-angular-status-indicator.mjs","sources":["../../status-indicator/src/status-indicator-defaults.ts","../../status-indicator/src/status-indicator.constants.ts","../../status-indicator/src/status-indicator.ts","../../status-indicator/src/slotted-angular-status-indicator.ts"],"sourcesContent":["import { inject, InjectionToken } from '@angular/core';\n\nimport type {\n StatusIndicatorLive,\n StatusIndicatorMark,\n StatusIndicatorSize,\n} from './status-indicator.constants';\n\n/**\n * What every status in an application looks like before any one of them states\n * anything of its own. The six words come from the language in force\n * (`provideSlotted`).\n */\nexport interface StatusIndicatorDefaults {\n live?: StatusIndicatorLive;\n mark?: StatusIndicatorMark;\n size?: StatusIndicatorSize;\n}\n\nexport const STATUS_INDICATOR_DEFAULTS_TOKEN = new InjectionToken<StatusIndicatorDefaults>(\n 'slotted status indicator defaults',\n { providedIn: 'root', factory: (): StatusIndicatorDefaults => ({}) },\n);\n\n/**\n * An application decides once how its statuses are marked, how large they are\n * and whether they announce. An indicator that states any of those still wins:\n * an explicit input is never overridden by the token.\n */\nexport function provideStatusIndicatorDefaults(defaults: StatusIndicatorDefaults) {\n return { provide: STATUS_INDICATOR_DEFAULTS_TOKEN, useValue: defaults };\n}\n\nexport function injectStatusIndicatorDefaults(): StatusIndicatorDefaults {\n return inject(STATUS_INDICATOR_DEFAULTS_TOKEN);\n}\n","import type { GlyphName } from '@slotted/angular/icon';\n\n/**\n * The six operational states. The vocabulary is closed, and that is a decision\n * rather than an omission: a seventh value would carry no tone, no glyph and\n * no fallback word, which are the three things this family exists to supply.\n */\nexport type StatusIndicatorStatus =\n 'neutral' | 'info' | 'success' | 'warning' | 'danger' | 'unknown';\n\n/** The compact mark, and the one that says the status without colour. */\nexport type StatusIndicatorMark = 'dot' | 'icon';\nexport type StatusIndicatorSize = 'sm' | 'md' | 'lg';\nexport type StatusIndicatorLive = 'off' | 'polite' | 'assertive';\n\nexport const STATUS_INDICATOR_DEFAULT_STATUS: StatusIndicatorStatus = 'neutral';\n\n/**\n * The glyph each status draws when the mark is an icon, as the contract's\n * `statusGlyphs` names it. Two statuses never share one: the icon mark is the\n * family's non-chromatic answer, and `neutral` and `unknown` share a tone.\n */\nexport const STATUS_INDICATOR_GLYPHS: Record<StatusIndicatorStatus, GlyphName> = {\n neutral: 'circle',\n info: 'circle-info',\n success: 'circle-check',\n warning: 'circle-alert',\n danger: 'circle-x',\n unknown: 'circle-question',\n};\nexport const STATUS_INDICATOR_DEFAULT_MARK: StatusIndicatorMark = 'dot';\nexport const STATUS_INDICATOR_DEFAULT_SIZE: StatusIndicatorSize = 'md';\nexport const STATUS_INDICATOR_DEFAULT_LIVE: StatusIndicatorLive = 'off';\n\n/**\n * What `live` writes on the host. The names are the platform's: `status` is a\n * polite live region with an implicit `aria-atomic`, so the mark and its word\n * are announced as one thing; `alert` interrupts, which the APG's Alert\n * pattern reserves for a message that needs immediate attention.\n */\nexport const STATUS_INDICATOR_ROLE: Record<StatusIndicatorLive, string | null> = {\n off: null,\n polite: 'status',\n assertive: 'alert',\n};\n","import {\n booleanAttribute,\n ChangeDetectionStrategy,\n Component,\n computed,\n HostAttributeToken,\n inject,\n input,\n ViewEncapsulation,\n} from '@angular/core';\nimport { injectMessages } from '@slotted/angular/i18n';\nimport { SlGlyph, SlIcon } from '@slotted/angular/icon';\nimport {\n type PartialMessages,\n statusIndicatorMessages,\n type StatusIndicatorMessages,\n} from '@slotted/core/i18n';\n\nimport { injectStatusIndicatorDefaults } from './status-indicator-defaults';\nimport {\n STATUS_INDICATOR_DEFAULT_LIVE,\n STATUS_INDICATOR_DEFAULT_MARK,\n STATUS_INDICATOR_DEFAULT_SIZE,\n STATUS_INDICATOR_DEFAULT_STATUS,\n STATUS_INDICATOR_GLYPHS,\n STATUS_INDICATOR_ROLE,\n type StatusIndicatorLive,\n type StatusIndicatorMark,\n type StatusIndicatorSize,\n type StatusIndicatorStatus,\n} from './status-indicator.constants';\n\n/**\n * The operational state of something the application observes.\n *\n * The family reports; it never moves the value. That is why there is no\n * `model()` here and no output — `status` is the application's fact about a\n * system this component cannot see, the same relationship a progress range has\n * to the work it reports.\n *\n * It is always named. Given projected content, that content is the name; given\n * none, the status's own word is rendered and clipped from view. The fallback\n * belongs to `<ng-content>` rather than to a flag the component has to compute,\n * which is Angular's own answer to the question React answers with\n * `children === undefined`: the template knows whether anything was projected,\n * so nothing has to inspect the DOM to find out.\n *\n * The selector is a bare attribute, so the element stays the consumer's: a\n * status belongs in whatever a table cell, a list item or a heading already\n * is, and wrapping it in a second element would change their layout to carry\n * an attribute.\n */\n@Component({\n selector: '[slStatusIndicator]',\n standalone: true,\n imports: [SlGlyph, SlIcon],\n /* The icon mark's glyph follows the status; the sheet sizes and colours it. */\n template: `<span aria-hidden=\"true\" data-part=\"mark\">\n @if (markValue() === 'icon') {\n <span slIcon><svg slGlyph [name]=\"glyph()\"></svg></span>\n }</span\n ><span data-part=\"label\"\n ><ng-content\n ><span data-part=\"announcement\" data-ui=\"visually-hidden\">{{ name() }}</span></ng-content\n ></span\n >`,\n styleUrls: [\n '../../../styles/src/status-indicator/status-indicator.css',\n '../../../styles/src/visually-hidden/visually-hidden.css',\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n exportAs: 'slStatusIndicator',\n host: {\n 'data-ui': 'status-indicator',\n 'data-part': 'root',\n '[attr.data-status]': 'status()',\n '[attr.data-mark]': 'markValue()',\n '[attr.data-size]': 'sizeValue()',\n '[attr.data-pulse]': 'pulse() ? \"\" : null',\n '[attr.role]': 'roleValue()',\n },\n})\nexport class SlStatusIndicator {\n readonly status = input<StatusIndicatorStatus>(STATUS_INDICATOR_DEFAULT_STATUS);\n readonly mark = input<StatusIndicatorMark | undefined>(undefined);\n readonly size = input<StatusIndicatorSize | undefined>(undefined);\n readonly live = input<StatusIndicatorLive | undefined>(undefined);\n /**\n * A wave leaving the dot, for a change happening now. An icon mark does not\n * pulse, and the wave is withdrawn under reduced motion and under forced\n * colours, so nothing is ever said by the wave alone.\n */\n readonly pulse = input(false, { transform: booleanAttribute });\n /**\n * What a reader hears when nothing was projected. Ignored when something\n * was, because naming an element twice is how a screen reader comes to read\n * “Success Healthy”. Falls back to the status's word in the catalog.\n */\n readonly label = input<string | undefined>(undefined);\n /**\n * Words laid over the catalog of the language in force, key by key: the\n * word each status is heard as when nothing was projected.\n */\n readonly messages = input<PartialMessages<StatusIndicatorMessages> | undefined>(undefined);\n\n private readonly defaults = injectStatusIndicatorDefaults();\n /** The family's words in the language in force, with this indicator's `messages` laid over them. */\n readonly t = injectMessages(statusIndicatorMessages, this.messages);\n /**\n * Read once, before the host binding writes one. A consumer who put\n * `role=\"note\"` on their own element keeps it, which is the rule\n * `frameworks.md` states for every static attribute a family writes over.\n */\n private readonly ownRole = inject(new HostAttributeToken('role'), { optional: true });\n\n readonly markValue = computed(\n () => this.mark() ?? this.defaults.mark ?? STATUS_INDICATOR_DEFAULT_MARK,\n );\n readonly sizeValue = computed(\n () => this.size() ?? this.defaults.size ?? STATUS_INDICATOR_DEFAULT_SIZE,\n );\n readonly liveValue = computed(\n () => this.live() ?? this.defaults.live ?? STATUS_INDICATOR_DEFAULT_LIVE,\n );\n\n readonly glyph = computed(() => STATUS_INDICATOR_GLYPHS[this.status()]);\n\n readonly roleValue = computed(() => this.ownRole ?? STATUS_INDICATOR_ROLE[this.liveValue()]);\n\n readonly name = computed(() => this.label() ?? this.t(this.status()));\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-status-indicator.mjs","sources":["../../status-indicator/src/status-indicator-defaults.ts","../../status-indicator/src/status-indicator.constants.ts","../../status-indicator/src/status-indicator.ts","../../status-indicator/src/slotted-angular-status-indicator.ts"],"sourcesContent":["import { inject, InjectionToken } from '@angular/core';\n\nimport type {\n StatusIndicatorLive,\n StatusIndicatorMark,\n StatusIndicatorSize,\n} from './status-indicator.constants';\n\n/**\n * What every status in an application looks like before any one of them states\n * anything of its own. The six words come from the language in force\n * (`provideSlotted`).\n */\nexport interface StatusIndicatorDefaults {\n live?: StatusIndicatorLive;\n mark?: StatusIndicatorMark;\n size?: StatusIndicatorSize;\n}\n\nexport const STATUS_INDICATOR_DEFAULTS_TOKEN = new InjectionToken<StatusIndicatorDefaults>(\n 'slotted status indicator defaults',\n { providedIn: 'root', factory: (): StatusIndicatorDefaults => ({}) },\n);\n\n/**\n * An application decides once how its statuses are marked, how large they are\n * and whether they announce. An indicator that states any of those still wins:\n * an explicit input is never overridden by the token.\n */\nexport function provideStatusIndicatorDefaults(defaults: StatusIndicatorDefaults) {\n return { provide: STATUS_INDICATOR_DEFAULTS_TOKEN, useValue: defaults };\n}\n\nexport function injectStatusIndicatorDefaults(): StatusIndicatorDefaults {\n return inject(STATUS_INDICATOR_DEFAULTS_TOKEN);\n}\n","import type { GlyphName } from '@slotted/angular/icon';\n\n/**\n * The six operational states. The vocabulary is closed, and that is a decision\n * rather than an omission: a seventh value would carry no tone, no glyph and\n * no fallback word, which are the three things this family exists to supply.\n */\nexport type StatusIndicatorStatus =\n 'neutral' | 'info' | 'success' | 'warning' | 'danger' | 'unknown';\n\n/** The compact mark, and the one that says the status without colour. */\nexport type StatusIndicatorMark = 'dot' | 'icon';\nexport type StatusIndicatorSize = 'sm' | 'md' | 'lg';\nexport type StatusIndicatorLive = 'off' | 'polite' | 'assertive';\n\nexport const STATUS_INDICATOR_DEFAULT_STATUS: StatusIndicatorStatus = 'neutral';\n\n/**\n * The glyph each status draws when the mark is an icon, as the contract's\n * `statusGlyphs` names it. Two statuses never share one: the icon mark is the\n * family's non-chromatic answer, and `neutral` and `unknown` share a tone.\n */\nexport const STATUS_INDICATOR_GLYPHS: Record<StatusIndicatorStatus, GlyphName> = {\n neutral: 'circle',\n info: 'circle-info',\n success: 'circle-check',\n warning: 'circle-alert',\n danger: 'circle-x',\n unknown: 'circle-question',\n};\nexport const STATUS_INDICATOR_DEFAULT_MARK: StatusIndicatorMark = 'dot';\nexport const STATUS_INDICATOR_DEFAULT_SIZE: StatusIndicatorSize = 'md';\nexport const STATUS_INDICATOR_DEFAULT_LIVE: StatusIndicatorLive = 'off';\n\n/**\n * What `live` writes on the host. The names are the platform's: `status` is a\n * polite live region with an implicit `aria-atomic`, so the mark and its word\n * are announced as one thing; `alert` interrupts, which the APG's Alert\n * pattern reserves for a message that needs immediate attention.\n */\nexport const STATUS_INDICATOR_ROLE: Record<StatusIndicatorLive, string | null> = {\n off: null,\n polite: 'status',\n assertive: 'alert',\n};\n","import {\n booleanAttribute,\n ChangeDetectionStrategy,\n Component,\n computed,\n HostAttributeToken,\n inject,\n input,\n ViewEncapsulation,\n} from '@angular/core';\nimport { injectMessages } from '@slotted/angular/i18n';\nimport { SlGlyph, SlIcon } from '@slotted/angular/icon';\nimport {\n type PartialMessages,\n statusIndicatorMessages,\n type StatusIndicatorMessages,\n} from '@slotted/core/i18n';\n\nimport { injectStatusIndicatorDefaults } from './status-indicator-defaults';\nimport {\n STATUS_INDICATOR_DEFAULT_LIVE,\n STATUS_INDICATOR_DEFAULT_MARK,\n STATUS_INDICATOR_DEFAULT_SIZE,\n STATUS_INDICATOR_DEFAULT_STATUS,\n STATUS_INDICATOR_GLYPHS,\n STATUS_INDICATOR_ROLE,\n type StatusIndicatorLive,\n type StatusIndicatorMark,\n type StatusIndicatorSize,\n type StatusIndicatorStatus,\n} from './status-indicator.constants';\n\n/**\n * The operational state of something the application observes.\n *\n * The family reports; it never moves the value. That is why there is no\n * `model()` here and no output — `status` is the application's fact about a\n * system this component cannot see, the same relationship a progress range has\n * to the work it reports.\n *\n * It is always named. Given projected content, that content is the name; given\n * none, the status's own word is rendered and clipped from view. The fallback\n * belongs to `<ng-content>` rather than to a flag the component has to compute,\n * which is Angular's own answer to the question React answers with\n * `children === undefined`: the template knows whether anything was projected,\n * so nothing has to inspect the DOM to find out.\n *\n * The selector is a bare attribute, so the element stays the consumer's: a\n * status belongs in whatever a table cell, a list item or a heading already\n * is, and wrapping it in a second element would change their layout to carry\n * an attribute.\n */\n@Component({\n selector: '[slStatusIndicator]',\n standalone: true,\n imports: [SlGlyph, SlIcon],\n /* The icon mark's glyph follows the status; the sheet sizes and colours it. */\n template: `<span aria-hidden=\"true\" data-part=\"mark\" data-part-mark=\"\">\n @if (markValue() === 'icon') {\n <span slIcon><svg slGlyph [name]=\"glyph()\"></svg></span>\n }</span\n ><span data-part=\"label\" data-part-label=\"\"\n ><ng-content\n ><span\n data-part=\"announcement\"\n data-part-announcement=\"\"\n data-ui=\"visually-hidden\"\n data-ui-visually-hidden=\"\"\n >{{ name() }}</span\n ></ng-content\n ></span\n >`,\n styleUrls: [\n '../../../styles/src/status-indicator/status-indicator.css',\n '../../../styles/src/visually-hidden/visually-hidden.css',\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n exportAs: 'slStatusIndicator',\n host: {\n 'data-ui': 'status-indicator',\n 'data-ui-status-indicator': '',\n 'data-part': 'root',\n 'data-part-root': '',\n '[attr.data-status]': 'status()',\n '[attr.data-mark]': 'markValue()',\n '[attr.data-size]': 'sizeValue()',\n '[attr.data-pulse]': 'pulse() ? \"\" : null',\n '[attr.role]': 'roleValue()',\n },\n})\nexport class SlStatusIndicator {\n readonly status = input<StatusIndicatorStatus>(STATUS_INDICATOR_DEFAULT_STATUS);\n readonly mark = input<StatusIndicatorMark | undefined>(undefined);\n readonly size = input<StatusIndicatorSize | undefined>(undefined);\n readonly live = input<StatusIndicatorLive | undefined>(undefined);\n /**\n * A wave leaving the dot, for a change happening now. An icon mark does not\n * pulse, and the wave is withdrawn under reduced motion and under forced\n * colours, so nothing is ever said by the wave alone.\n */\n readonly pulse = input(false, { transform: booleanAttribute });\n /**\n * What a reader hears when nothing was projected. Ignored when something\n * was, because naming an element twice is how a screen reader comes to read\n * “Success Healthy”. Falls back to the status's word in the catalog.\n */\n readonly label = input<string | undefined>(undefined);\n /**\n * Words laid over the catalog of the language in force, key by key: the\n * word each status is heard as when nothing was projected.\n */\n readonly messages = input<PartialMessages<StatusIndicatorMessages> | undefined>(undefined);\n\n private readonly defaults = injectStatusIndicatorDefaults();\n /** The family's words in the language in force, with this indicator's `messages` laid over them. */\n readonly t = injectMessages(statusIndicatorMessages, this.messages);\n /**\n * Read once, before the host binding writes one. A consumer who put\n * `role=\"note\"` on their own element keeps it, which is the rule\n * `frameworks.md` states for every static attribute a family writes over.\n */\n private readonly ownRole = inject(new HostAttributeToken('role'), { optional: true });\n\n readonly markValue = computed(\n () => this.mark() ?? this.defaults.mark ?? STATUS_INDICATOR_DEFAULT_MARK,\n );\n readonly sizeValue = computed(\n () => this.size() ?? this.defaults.size ?? STATUS_INDICATOR_DEFAULT_SIZE,\n );\n readonly liveValue = computed(\n () => this.live() ?? this.defaults.live ?? STATUS_INDICATOR_DEFAULT_LIVE,\n );\n\n readonly glyph = computed(() => STATUS_INDICATOR_GLYPHS[this.status()]);\n\n readonly roleValue = computed(() => this.ownRole ?? STATUS_INDICATOR_ROLE[this.liveValue()]);\n\n readonly name = computed(() => this.label() ?? this.t(this.status()));\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|