@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
|
@@ -0,0 +1,143 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: waiting-states
|
|
3
|
+
description: Use when building or reviewing anything a person waits in front of in an application built with @slotted/angular — placeholders, a control's own loading state, a loading overlay, a progress indicator, or the empty and error states beside them. Decides which indicator answers which wait and how placeholders are built from the anatomy they stand in for.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Waiting states
|
|
7
|
+
|
|
8
|
+
A waiting state is a screen the reader sees, not a gap in one. It is built from
|
|
9
|
+
the anatomy it stands in for, and it is finished when the loaded screen and the
|
|
10
|
+
pending screen occupy the same boxes.
|
|
11
|
+
|
|
12
|
+
The failure this skill prevents: three grey bars of equal length where a table,
|
|
13
|
+
a card and a list should have been.
|
|
14
|
+
|
|
15
|
+
Rules cited here are in `../../guidelines/async-feedback.md`. Each family
|
|
16
|
+
named here has its page: `../../<family>.md`.
|
|
17
|
+
|
|
18
|
+
## 1. Which indicator answers which wait
|
|
19
|
+
|
|
20
|
+
Answer in order and stop at the first row that decides.
|
|
21
|
+
|
|
22
|
+
| The wait | The indicator |
|
|
23
|
+
| ---------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------- |
|
|
24
|
+
| Structure is known before the data arrives — a list, a table, a card, a form | `skeleton` placeholders |
|
|
25
|
+
| Data already on screen is read again for the whole page — a Refresh, a refetch after a write, a refetch on focus | the `page-header` progress part in the page header; the region keeps its items and no control draws its own indicator |
|
|
26
|
+
| A control started the request and stays on screen — a button, a field, a menu item | that family's own `loading` state |
|
|
27
|
+
| A region already painted is being replaced and must not be touched meanwhile | `loading-overlay` |
|
|
28
|
+
| The work reports how much is done | `progress-indicator` with a value |
|
|
29
|
+
| Nothing above: duration unknown, structure unknown, area small | `progress-indicator` in its `indeterminate` state |
|
|
30
|
+
|
|
31
|
+
Two indicators never answer the same wait in the same region. Placeholders
|
|
32
|
+
under an overlay, an indeterminate indicator inside placeholders, and a
|
|
33
|
+
progress indicator over a control that already waits are each one indicator
|
|
34
|
+
too many.
|
|
35
|
+
|
|
36
|
+
A region that already shows items is busy, not pending: it keeps its items,
|
|
37
|
+
carries `aria-busy`, and swaps them when the newer answer arrives (AF-02,
|
|
38
|
+
AF-07). Replacing read content with placeholders on every refresh is how a
|
|
39
|
+
screen flickers. A change of view or page is different: the rows on screen are
|
|
40
|
+
removed and placeholders stand in their place (AF-04).
|
|
41
|
+
|
|
42
|
+
A control that starts a request waits on it: it is in its `loading` state from
|
|
43
|
+
activation until the answer, refuses a second activation and shows the
|
|
44
|
+
family's indicator (AF-03).
|
|
45
|
+
|
|
46
|
+
## 2. Placeholders are the anatomy, not rectangles
|
|
47
|
+
|
|
48
|
+
Placeholders are the same layout as the content, drawn in one colour. Build
|
|
49
|
+
them from the loaded markup:
|
|
50
|
+
|
|
51
|
+
1. Keep the container, the parts, the grid, the inset and the gap tokens the
|
|
52
|
+
loaded content uses. Copy the structure; replace only what carries data.
|
|
53
|
+
2. Text becomes `skeleton` text lines at the same type size, so the reserved
|
|
54
|
+
height is the height the text will take.
|
|
55
|
+
3. Media — avatar, thumbnail, chart — becomes a shape of its own measured box.
|
|
56
|
+
4. Repetition takes the real count: a list reserves the rows its first page
|
|
57
|
+
returns, a table reserves its columns at their real widths, a card reserves
|
|
58
|
+
the avatar and the two lines that card holds.
|
|
59
|
+
5. Stop where the reader stops. A row's badge, a trailing icon and a caption
|
|
60
|
+
belong to the loaded row, not to its placeholder.
|
|
61
|
+
|
|
62
|
+
Line lengths vary the way text varies: the last line of a paragraph is short,
|
|
63
|
+
a name is shorter than a description. A stack of bars of equal length is the
|
|
64
|
+
defect this section names.
|
|
65
|
+
|
|
66
|
+
### What never gets placeholders
|
|
67
|
+
|
|
68
|
+
Chrome that is already painted renders with its real content: the application
|
|
69
|
+
bar, the navigation column, the page header's title, a toolbar, a tab strip, a
|
|
70
|
+
section heading. Only what is being fetched is reserved. An action nobody can
|
|
71
|
+
press yet is absent, not drawn as a placeholder.
|
|
72
|
+
|
|
73
|
+
## 3. The test: nothing moves
|
|
74
|
+
|
|
75
|
+
The pending state and the loaded state occupy the same boxes. Capture both at
|
|
76
|
+
the same width, in the same scheme, and compare their bounding boxes: any box
|
|
77
|
+
that moves between them is a defect.
|
|
78
|
+
|
|
79
|
+
Where the two cannot match exactly — an unknown number of rows, a description
|
|
80
|
+
of unknown length — reserve the smaller of the two and let the content grow
|
|
81
|
+
downward, never a box that shrinks.
|
|
82
|
+
|
|
83
|
+
## 4. Timing
|
|
84
|
+
|
|
85
|
+
- A region's placeholders appear at once; they are never delayed (AF-05).
|
|
86
|
+
- A control's indicator may wait for the family's `loadingDelay`, so a request
|
|
87
|
+
that answers first shows no indicator; the control still refuses a second
|
|
88
|
+
activation (AF-05).
|
|
89
|
+
- Once painted, placeholders stay for one minimum duration the application
|
|
90
|
+
states once for the whole product — the `minDuration` of `skeleton` and
|
|
91
|
+
`loading-overlay` — even when the answer has already arrived (AF-06).
|
|
92
|
+
|
|
93
|
+
## 5. Announcement and focus
|
|
94
|
+
|
|
95
|
+
- Placeholders are out of the accessibility tree. They describe nothing; the
|
|
96
|
+
region says what is happening.
|
|
97
|
+
- One announcement per region, `polite`, once — not one per placeholder.
|
|
98
|
+
`skeleton` and `loading-overlay` announce through their `live` axis, `polite`
|
|
99
|
+
by default: keep it on the one that stands for the region and set it to `off`
|
|
100
|
+
on every other placeholder in that region.
|
|
101
|
+
- The region carries `aria-busy` while it waits and drops it when the answer
|
|
102
|
+
arrives.
|
|
103
|
+
- Focus does not move, on entry or on arrival. Content that lands under the
|
|
104
|
+
reader's focus does not take it, and a placeholder never holds a tab stop.
|
|
105
|
+
|
|
106
|
+
## 6. Motion
|
|
107
|
+
|
|
108
|
+
One shimmer per region, from the family's own animation, not one per bar.
|
|
109
|
+
Under `prefers-reduced-motion: reduce` the animation stops and the reserved
|
|
110
|
+
shape stays.
|
|
111
|
+
|
|
112
|
+
## 7. Pending, empty and error are three states
|
|
113
|
+
|
|
114
|
+
| State | What it says | What it offers |
|
|
115
|
+
| ---------- | ----------------------------------------- | ----------------------------------------- |
|
|
116
|
+
| Pending | the answer is coming | nothing to press |
|
|
117
|
+
| Empty | an answer arrived and it holds zero items | the action that creates the first one |
|
|
118
|
+
| No results | the filter excluded everything | clearing the filter |
|
|
119
|
+
| Error | the answer did not arrive | retry; the data that is still valid stays |
|
|
120
|
+
|
|
121
|
+
The empty state appears only after an answer holding zero items, never while
|
|
122
|
+
the first answer is pending (AF-01). Empty, no results and error are drawn by
|
|
123
|
+
`result-state`. An error replaces the indicator; it never leaves placeholders
|
|
124
|
+
animating behind a message.
|
|
125
|
+
|
|
126
|
+
## 8. Before calling a wait done
|
|
127
|
+
|
|
128
|
+
- [ ] The indicator matches the wait, by the table in section 1, and there is
|
|
129
|
+
only one.
|
|
130
|
+
- [ ] Placeholders mirror the anatomy: same parts, same grid, same tokens, real
|
|
131
|
+
counts.
|
|
132
|
+
- [ ] Loaded and pending captured at the same width: no box moves.
|
|
133
|
+
- [ ] Line lengths vary; no stack of equal bars.
|
|
134
|
+
- [ ] Chrome that already exists is painted with its real content.
|
|
135
|
+
- [ ] Placeholders are not delayed; the minimum duration is stated once.
|
|
136
|
+
- [ ] One polite announcement per region, `aria-busy` on the region, focus
|
|
137
|
+
untouched.
|
|
138
|
+
- [ ] Reduced motion stops the animation and keeps the shape.
|
|
139
|
+
- [ ] Empty, no results and error are distinct states, each with its next step.
|
|
140
|
+
- [ ] For each control that writes, the regions on any screen whose figures
|
|
141
|
+
the write changes are listed, and each is shown read again after the
|
|
142
|
+
write (AF-08).
|
|
143
|
+
- [ ] Each `Check` of AF-01 to AF-08 passes.
|
package/docs/sparkline.json
CHANGED
|
@@ -24,6 +24,7 @@
|
|
|
24
24
|
"neutral",
|
|
25
25
|
"accent",
|
|
26
26
|
"secondary",
|
|
27
|
+
"info",
|
|
27
28
|
"success",
|
|
28
29
|
"warning",
|
|
29
30
|
"danger"
|
|
@@ -193,7 +194,7 @@
|
|
|
193
194
|
},
|
|
194
195
|
{
|
|
195
196
|
"name": "tone",
|
|
196
|
-
"type": "'neutral' | 'accent' | 'secondary' | 'success' | 'warning' | 'danger'",
|
|
197
|
+
"type": "'neutral' | 'accent' | 'secondary' | 'info' | 'success' | 'warning' | 'danger'",
|
|
197
198
|
"defaultValue": "—",
|
|
198
199
|
"appliesTo": "Sparkline",
|
|
199
200
|
"description": "How the series is doing. Wins over series; unset, a container may decide"
|
|
@@ -329,6 +330,7 @@
|
|
|
329
330
|
"--slotted-sparkline-marker-size",
|
|
330
331
|
"--slotted-sparkline-marker-size-lg",
|
|
331
332
|
"--slotted-sparkline-marker-size-sm",
|
|
333
|
+
"--slotted-sparkline-min-inline-size",
|
|
332
334
|
"--slotted-sparkline-reference-color",
|
|
333
335
|
"--slotted-sparkline-ring-color",
|
|
334
336
|
"--slotted-sparkline-ring-width",
|
|
@@ -337,6 +339,7 @@
|
|
|
337
339
|
"--slotted-text-muted",
|
|
338
340
|
"--slotted-tone-accent-text",
|
|
339
341
|
"--slotted-tone-danger-text",
|
|
342
|
+
"--slotted-tone-info-text",
|
|
340
343
|
"--slotted-tone-secondary-text",
|
|
341
344
|
"--slotted-tone-success-text",
|
|
342
345
|
"--slotted-tone-warning-text"
|
|
@@ -369,7 +372,7 @@
|
|
|
369
372
|
{
|
|
370
373
|
"id": "tone",
|
|
371
374
|
"title": "How the series is doing",
|
|
372
|
-
"note": "A tone paints the line in the tone’s text colour: success for an error rate that fell, danger for a lead time that grew, neutral for the comparison series behind a current one. Without a tone the line is the first slot of the data scale, the
|
|
375
|
+
"note": "A tone paints the line in the tone’s text colour: success for an error rate that fell, danger for a lead time that grew, neutral for the comparison series behind a current one. Without a tone the line is the first slot of the data scale, the accent’s own hue.",
|
|
373
376
|
"language": "html",
|
|
374
377
|
"source": "<span slSparkline [data]=\"errorRate\" label=\"Error rate\" tone=\"success\"></span>\n<span slSparkline [data]=\"leadTime\" label=\"Lead time\" tone=\"danger\"></span>\n<span slSparkline [data]=\"lastQuarter\" label=\"Last quarter\" tone=\"neutral\"></span>\n",
|
|
375
378
|
"verdict": "excerpt"
|
package/docs/sparkline.md
CHANGED
|
@@ -45,7 +45,7 @@ Excerpt — not a complete module
|
|
|
45
45
|
| `reference` | `number` | — | Sparkline | A dashed hairline at this value. Widens the extent to hold it |
|
|
46
46
|
| `min` | `number` | — | Sparkline | The lowest value the extent must hold. The data widens the extent, never narrows it |
|
|
47
47
|
| `max` | `number` | — | Sparkline | The highest value the extent must hold |
|
|
48
|
-
| `tone` | `'neutral' \| 'accent' \| 'secondary' \| 'success' \| 'warning' \| 'danger'` | — | Sparkline | How the series is doing. Wins over series; unset, a container may decide |
|
|
48
|
+
| `tone` | `'neutral' \| 'accent' \| 'secondary' \| 'info' \| 'success' \| 'warning' \| 'danger'` | — | Sparkline | How the series is doing. Wins over series; unset, a container may decide |
|
|
49
49
|
| `series` | `1 \| 2 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8` | — | Sparkline | Which series this is, as a slot of the data scale. Unset, a container decides, then slot 1 |
|
|
50
50
|
| `label` | `string` | — | Sparkline | What the series is, said first in the description |
|
|
51
51
|
| `description` | `string` | — | Sparkline | The whole accessible name, in place of the generated one |
|
|
@@ -66,7 +66,7 @@ Excerpt — not a complete module
|
|
|
66
66
|
| `type` | `line`, `bar` | `line` |
|
|
67
67
|
| `size` | `sm`, `md`, `lg` | `md` |
|
|
68
68
|
| `curve` | `linear`, `monotone` | `linear` |
|
|
69
|
-
| `tone` | `neutral`, `accent`, `secondary`, `success`, `warning`, `danger` | — |
|
|
69
|
+
| `tone` | `neutral`, `accent`, `secondary`, `info`, `success`, `warning`, `danger` | — |
|
|
70
70
|
| `series` | `1`, `2`, `3`, `4`, `5`, `6`, `7`, `8` | — |
|
|
71
71
|
|
|
72
72
|
## Rules
|
|
@@ -80,7 +80,7 @@ Excerpt — not a complete module
|
|
|
80
80
|
|
|
81
81
|
## Tokens
|
|
82
82
|
|
|
83
|
-
`--slotted-border-strong`, `--slotted-border-width-medium`, `--slotted-border-width-thick`, `--slotted-border-width-thin`, `--slotted-data-1`, `--slotted-data-2`, `--slotted-data-3`, `--slotted-data-4`, `--slotted-data-5`, `--slotted-data-6`, `--slotted-data-7`, `--slotted-data-8`, `--slotted-duration-medium`, `--slotted-duration-short`, `--slotted-easing-standard`, `--slotted-space-11`, `--slotted-space-2`, `--slotted-space-3`, `--slotted-space-4`, `--slotted-space-7`, `--slotted-space-9`, `--slotted-sparkline-area-opacity`, `--slotted-sparkline-bar-share`, `--slotted-sparkline-block-size`, `--slotted-sparkline-block-size-lg`, `--slotted-sparkline-block-size-sm`, `--slotted-sparkline-color`, `--slotted-sparkline-line-width`, `--slotted-sparkline-line-width-sm`, `--slotted-sparkline-marker-size`, `--slotted-sparkline-marker-size-lg`, `--slotted-sparkline-marker-size-sm`, `--slotted-sparkline-reference-color`, `--slotted-sparkline-ring-color`, `--slotted-sparkline-ring-width`, `--slotted-sparkline-ring-width-sm`, `--slotted-surface-raised`, `--slotted-text-muted`, `--slotted-tone-accent-text`, `--slotted-tone-danger-text`, `--slotted-tone-secondary-text`, `--slotted-tone-success-text`, `--slotted-tone-warning-text`
|
|
83
|
+
`--slotted-border-strong`, `--slotted-border-width-medium`, `--slotted-border-width-thick`, `--slotted-border-width-thin`, `--slotted-data-1`, `--slotted-data-2`, `--slotted-data-3`, `--slotted-data-4`, `--slotted-data-5`, `--slotted-data-6`, `--slotted-data-7`, `--slotted-data-8`, `--slotted-duration-medium`, `--slotted-duration-short`, `--slotted-easing-standard`, `--slotted-space-11`, `--slotted-space-2`, `--slotted-space-3`, `--slotted-space-4`, `--slotted-space-7`, `--slotted-space-9`, `--slotted-sparkline-area-opacity`, `--slotted-sparkline-bar-share`, `--slotted-sparkline-block-size`, `--slotted-sparkline-block-size-lg`, `--slotted-sparkline-block-size-sm`, `--slotted-sparkline-color`, `--slotted-sparkline-line-width`, `--slotted-sparkline-line-width-sm`, `--slotted-sparkline-marker-size`, `--slotted-sparkline-marker-size-lg`, `--slotted-sparkline-marker-size-sm`, `--slotted-sparkline-min-inline-size`, `--slotted-sparkline-reference-color`, `--slotted-sparkline-ring-color`, `--slotted-sparkline-ring-width`, `--slotted-sparkline-ring-width-sm`, `--slotted-surface-raised`, `--slotted-text-muted`, `--slotted-tone-accent-text`, `--slotted-tone-danger-text`, `--slotted-tone-info-text`, `--slotted-tone-secondary-text`, `--slotted-tone-success-text`, `--slotted-tone-warning-text`
|
|
84
84
|
|
|
85
85
|
## Examples
|
|
86
86
|
|
|
@@ -111,7 +111,7 @@ Excerpt — not a complete module
|
|
|
111
111
|
|
|
112
112
|
### How the series is doing
|
|
113
113
|
|
|
114
|
-
A tone paints the line in the tone’s text colour: success for an error rate that fell, danger for a lead time that grew, neutral for the comparison series behind a current one. Without a tone the line is the first slot of the data scale, the
|
|
114
|
+
A tone paints the line in the tone’s text colour: success for an error rate that fell, danger for a lead time that grew, neutral for the comparison series behind a current one. Without a tone the line is the first slot of the data scale, the accent’s own hue.
|
|
115
115
|
|
|
116
116
|
Excerpt — not a complete module
|
|
117
117
|
|
package/docs/split-button.json
CHANGED
|
@@ -10,6 +10,8 @@
|
|
|
10
10
|
"tone": [
|
|
11
11
|
"accent",
|
|
12
12
|
"secondary",
|
|
13
|
+
"neutral",
|
|
14
|
+
"info",
|
|
13
15
|
"success",
|
|
14
16
|
"warning",
|
|
15
17
|
"danger"
|
|
@@ -90,7 +92,7 @@
|
|
|
90
92
|
"api": [
|
|
91
93
|
{
|
|
92
94
|
"name": "tone",
|
|
93
|
-
"type": "'accent' | 'secondary' | 'success' | 'warning' | 'danger'",
|
|
95
|
+
"type": "'accent' | 'secondary' | 'info' | 'success' | 'warning' | 'danger'",
|
|
94
96
|
"defaultValue": "accent",
|
|
95
97
|
"appliesTo": "slSplitButton",
|
|
96
98
|
"description": "The tone both halves are painted in. Resolved from the prop, then SplitButtonDefaultsProvider, then button’s own provider, then the contract"
|
|
@@ -272,6 +274,7 @@
|
|
|
272
274
|
"--slotted-split-button-radius",
|
|
273
275
|
"--slotted-tone-accent-solid-active",
|
|
274
276
|
"--slotted-tone-danger-solid-active",
|
|
277
|
+
"--slotted-tone-info-solid-active",
|
|
275
278
|
"--slotted-tone-secondary-solid-active",
|
|
276
279
|
"--slotted-tone-success-solid-active",
|
|
277
280
|
"--slotted-tone-warning-solid-active"
|
package/docs/split-button.md
CHANGED
|
@@ -49,7 +49,7 @@ Excerpt — not a complete module
|
|
|
49
49
|
|
|
50
50
|
| Name | Type | Default | Applies to | Description |
|
|
51
51
|
| --- | --- | --- | --- | --- |
|
|
52
|
-
| `tone` | `'accent' \| 'secondary' \| 'success' \| 'warning' \| 'danger'` | accent | slSplitButton | The tone both halves are painted in. Resolved from the prop, then SplitButtonDefaultsProvider, then button’s own provider, then the contract |
|
|
52
|
+
| `tone` | `'accent' \| 'secondary' \| 'info' \| 'success' \| 'warning' \| 'danger'` | accent | slSplitButton | The tone both halves are painted in. Resolved from the prop, then SplitButtonDefaultsProvider, then button’s own provider, then the contract |
|
|
53
53
|
| `variant` | `'solid' \| 'outline' \| 'ghost'` | solid | slSplitButton | How the tone is painted on both halves. Between two solid halves the family paints the seam; outline and ghost share the edge the join leaves |
|
|
54
54
|
| `size` | `'sm' \| 'md' \| 'lg'` | md | slSplitButton | The control step. The trigger is square from the same height |
|
|
55
55
|
| `fullWidth` | `boolean` | false | slSplitButton | Whether the action takes the whole line. The trigger stays square either way |
|
|
@@ -83,7 +83,7 @@ Excerpt — not a complete module
|
|
|
83
83
|
|
|
84
84
|
| Axis | Values | Default |
|
|
85
85
|
| --- | --- | --- |
|
|
86
|
-
| `tone` | `accent`, `secondary`, `success`, `warning`, `danger` | `accent` |
|
|
86
|
+
| `tone` | `accent`, `secondary`, `neutral`, `info`, `success`, `warning`, `danger` | `accent` |
|
|
87
87
|
| `variant` | `solid`, `outline`, `ghost` | `solid` |
|
|
88
88
|
| `size` | `sm`, `md`, `lg` | `md` |
|
|
89
89
|
|
|
@@ -97,7 +97,7 @@ Excerpt — not a complete module
|
|
|
97
97
|
|
|
98
98
|
## Tokens
|
|
99
99
|
|
|
100
|
-
`--slotted-control-border-color`, `--slotted-control-border-width`, `--slotted-control-radius`, `--slotted-disabled-border`, `--slotted-split-button-radius`, `--slotted-tone-accent-solid-active`, `--slotted-tone-danger-solid-active`, `--slotted-tone-secondary-solid-active`, `--slotted-tone-success-solid-active`, `--slotted-tone-warning-solid-active`
|
|
100
|
+
`--slotted-control-border-color`, `--slotted-control-border-width`, `--slotted-control-radius`, `--slotted-disabled-border`, `--slotted-split-button-radius`, `--slotted-tone-accent-solid-active`, `--slotted-tone-danger-solid-active`, `--slotted-tone-info-solid-active`, `--slotted-tone-secondary-solid-active`, `--slotted-tone-success-solid-active`, `--slotted-tone-warning-solid-active`
|
|
101
101
|
|
|
102
102
|
## Examples
|
|
103
103
|
|
package/docs/stat-card.json
CHANGED
|
@@ -36,6 +36,7 @@
|
|
|
36
36
|
"neutral",
|
|
37
37
|
"accent",
|
|
38
38
|
"secondary",
|
|
39
|
+
"info",
|
|
39
40
|
"success",
|
|
40
41
|
"warning",
|
|
41
42
|
"danger"
|
|
@@ -238,7 +239,7 @@
|
|
|
238
239
|
},
|
|
239
240
|
{
|
|
240
241
|
"name": "tone",
|
|
241
|
-
"type": "'neutral' | 'accent' | 'secondary' | 'success' | 'warning' | 'danger'",
|
|
242
|
+
"type": "'neutral' | 'accent' | 'secondary' | 'info' | 'success' | 'warning' | 'danger'",
|
|
242
243
|
"defaultValue": "—",
|
|
243
244
|
"appliesTo": "slStatCard, slStatCardDelta",
|
|
244
245
|
"description": "An explicit tone, which wins over the derived one. On the root it is what the trend hands its sparkline"
|
|
@@ -356,6 +357,7 @@
|
|
|
356
357
|
"--slotted-font-size-xs",
|
|
357
358
|
"--slotted-font-weight-medium",
|
|
358
359
|
"--slotted-font-weight-semibold",
|
|
360
|
+
"--slotted-letter-spacing-tighter",
|
|
359
361
|
"--slotted-line-height-2xl",
|
|
360
362
|
"--slotted-line-height-3xl",
|
|
361
363
|
"--slotted-line-height-4xl",
|
|
@@ -428,10 +430,12 @@
|
|
|
428
430
|
"--slotted-stat-card-value-line-height-sm",
|
|
429
431
|
"--slotted-surface-raised",
|
|
430
432
|
"--slotted-surface-sunken",
|
|
433
|
+
"--slotted-target-comfortable",
|
|
431
434
|
"--slotted-text",
|
|
432
435
|
"--slotted-text-muted",
|
|
433
436
|
"--slotted-tone-accent-text",
|
|
434
437
|
"--slotted-tone-danger-text",
|
|
438
|
+
"--slotted-tone-info-text",
|
|
435
439
|
"--slotted-tone-secondary-text",
|
|
436
440
|
"--slotted-tone-success-text",
|
|
437
441
|
"--slotted-tone-warning-text"
|
package/docs/stat-card.md
CHANGED
|
@@ -73,7 +73,7 @@ Excerpt — not a complete module
|
|
|
73
73
|
| `loading` | `boolean` | false | slStatCard | The value is on its way: every part stands in with a placeholder and the root is aria-busy |
|
|
74
74
|
| `goodWhen` | `'up' \| 'down' \| 'none'` | up | slStatCard, slStatCardDelta | Which way is good for this metric. The tone of a change is derived from it, never from the sign |
|
|
75
75
|
| `delta` | `number` | — | slStatCard | The change, as the first delta reads it: a fraction for a percentage. Stated on the root so the card knows its tone before its delta renders |
|
|
76
|
-
| `tone` | `'neutral' \| 'accent' \| 'secondary' \| 'success' \| 'warning' \| 'danger'` | — | slStatCard, slStatCardDelta | An explicit tone, which wins over the derived one. On the root it is what the trend hands its sparkline |
|
|
76
|
+
| `tone` | `'neutral' \| 'accent' \| 'secondary' \| 'info' \| 'success' \| 'warning' \| 'danger'` | — | slStatCard, slStatCardDelta | An explicit tone, which wins over the derived one. On the root it is what the trend hands its sparkline |
|
|
77
77
|
| `locale` | `string` | — | slStatCard | BCP 47, for every number the card formats; the language in force when absent |
|
|
78
78
|
| `formatOptions` | `Intl.NumberFormatOptions` | — | slStatCard, slStatCardValue, slStatCardDelta | How a number is written. On the root, the default for the value and the delta |
|
|
79
79
|
| `messages` | `Partial<StatCardMessages>` | — | slStatCard | Words laid over the language in force, key by key: up, down and flat, heard before the delta; empty, shown in place of a missing value |
|
|
@@ -96,7 +96,7 @@ Excerpt — not a complete module
|
|
|
96
96
|
| `layout` | `inline`, `stacked` | `inline` |
|
|
97
97
|
| `status` | `ready`, `empty`, `error` | `ready` |
|
|
98
98
|
| `goodWhen` | `up`, `down`, `none` | `up` |
|
|
99
|
-
| `tone` | `neutral`, `accent`, `secondary`, `success`, `warning`, `danger` | — |
|
|
99
|
+
| `tone` | `neutral`, `accent`, `secondary`, `info`, `success`, `warning`, `danger` | — |
|
|
100
100
|
| `trend` | `up`, `down`, `flat` | — |
|
|
101
101
|
|
|
102
102
|
## Rules
|
|
@@ -110,7 +110,7 @@ Excerpt — not a complete module
|
|
|
110
110
|
|
|
111
111
|
## Tokens
|
|
112
112
|
|
|
113
|
-
`--slotted-border-subtle`, `--slotted-border-width-thin`, `--slotted-control-icon-size-md`, `--slotted-control-icon-size-sm`, `--slotted-font-family-sans`, `--slotted-font-size-2xl`, `--slotted-font-size-3xl`, `--slotted-font-size-4xl`, `--slotted-font-size-md`, `--slotted-font-size-sm`, `--slotted-font-size-xl`, `--slotted-font-size-xs`, `--slotted-font-weight-medium`, `--slotted-font-weight-semibold`, `--slotted-line-height-2xl`, `--slotted-line-height-3xl`, `--slotted-line-height-4xl`, `--slotted-line-height-md`, `--slotted-line-height-sm`, `--slotted-line-height-xl`, `--slotted-line-height-xs`, `--slotted-radius-lg`, `--slotted-radius-none`, `--slotted-shadow-md`, `--slotted-space-1`, `--slotted-space-11`, `--slotted-space-12`, `--slotted-space-2`, `--slotted-space-3`, `--slotted-space-4`, `--slotted-space-5`, `--slotted-space-6`, `--slotted-space-7`, `--slotted-space-8`, `--slotted-space-9`, `--slotted-sparkline-block-size`, `--slotted-sparkline-block-size-lg`, `--slotted-sparkline-block-size-sm`, `--slotted-stat-card-background`, `--slotted-stat-card-background-subtle`, `--slotted-stat-card-border-color`, `--slotted-stat-card-border-width`, `--slotted-stat-card-color`, `--slotted-stat-card-color-muted`, `--slotted-stat-card-delta-font-size`, `--slotted-stat-card-delta-font-size-lg`, `--slotted-stat-card-delta-font-size-sm`, `--slotted-stat-card-indicator-size`, `--slotted-stat-card-indicator-size-lg`, `--slotted-stat-card-label-font-size`, `--slotted-stat-card-label-font-size-lg`, `--slotted-stat-card-label-font-size-sm`, `--slotted-stat-card-label-line-height`, `--slotted-stat-card-label-line-height-lg`, `--slotted-stat-card-label-line-height-sm`, `--slotted-stat-card-min-inline-size`, `--slotted-stat-card-padding-block`, `--slotted-stat-card-padding-block-lg`, `--slotted-stat-card-padding-block-sm`, `--slotted-stat-card-padding-inline`, `--slotted-stat-card-padding-inline-lg`, `--slotted-stat-card-padding-inline-sm`, `--slotted-stat-card-prose-font-size`, `--slotted-stat-card-prose-font-size-lg`, `--slotted-stat-card-prose-line-height`, `--slotted-stat-card-prose-line-height-lg`, `--slotted-stat-card-radius`, `--slotted-stat-card-region-gap`, `--slotted-stat-card-region-gap-lg`, `--slotted-stat-card-region-gap-sm`, `--slotted-stat-card-shadow`, `--slotted-stat-card-shadow-elevated`, `--slotted-stat-card-trend-gap`, `--slotted-stat-card-trend-gap-lg`, `--slotted-stat-card-trend-gap-sm`, `--slotted-stat-card-trend-inline-size`, `--slotted-stat-card-trend-inline-size-lg`, `--slotted-stat-card-trend-inline-size-sm`, `--slotted-stat-card-value-font-size`, `--slotted-stat-card-value-font-size-lg`, `--slotted-stat-card-value-font-size-sm`, `--slotted-stat-card-value-line-height`, `--slotted-stat-card-value-line-height-lg`, `--slotted-stat-card-value-line-height-sm`, `--slotted-surface-raised`, `--slotted-surface-sunken`, `--slotted-text`, `--slotted-text-muted`, `--slotted-tone-accent-text`, `--slotted-tone-danger-text`, `--slotted-tone-secondary-text`, `--slotted-tone-success-text`, `--slotted-tone-warning-text`
|
|
113
|
+
`--slotted-border-subtle`, `--slotted-border-width-thin`, `--slotted-control-icon-size-md`, `--slotted-control-icon-size-sm`, `--slotted-font-family-sans`, `--slotted-font-size-2xl`, `--slotted-font-size-3xl`, `--slotted-font-size-4xl`, `--slotted-font-size-md`, `--slotted-font-size-sm`, `--slotted-font-size-xl`, `--slotted-font-size-xs`, `--slotted-font-weight-medium`, `--slotted-font-weight-semibold`, `--slotted-letter-spacing-tighter`, `--slotted-line-height-2xl`, `--slotted-line-height-3xl`, `--slotted-line-height-4xl`, `--slotted-line-height-md`, `--slotted-line-height-sm`, `--slotted-line-height-xl`, `--slotted-line-height-xs`, `--slotted-radius-lg`, `--slotted-radius-none`, `--slotted-shadow-md`, `--slotted-space-1`, `--slotted-space-11`, `--slotted-space-12`, `--slotted-space-2`, `--slotted-space-3`, `--slotted-space-4`, `--slotted-space-5`, `--slotted-space-6`, `--slotted-space-7`, `--slotted-space-8`, `--slotted-space-9`, `--slotted-sparkline-block-size`, `--slotted-sparkline-block-size-lg`, `--slotted-sparkline-block-size-sm`, `--slotted-stat-card-background`, `--slotted-stat-card-background-subtle`, `--slotted-stat-card-border-color`, `--slotted-stat-card-border-width`, `--slotted-stat-card-color`, `--slotted-stat-card-color-muted`, `--slotted-stat-card-delta-font-size`, `--slotted-stat-card-delta-font-size-lg`, `--slotted-stat-card-delta-font-size-sm`, `--slotted-stat-card-indicator-size`, `--slotted-stat-card-indicator-size-lg`, `--slotted-stat-card-label-font-size`, `--slotted-stat-card-label-font-size-lg`, `--slotted-stat-card-label-font-size-sm`, `--slotted-stat-card-label-line-height`, `--slotted-stat-card-label-line-height-lg`, `--slotted-stat-card-label-line-height-sm`, `--slotted-stat-card-min-inline-size`, `--slotted-stat-card-padding-block`, `--slotted-stat-card-padding-block-lg`, `--slotted-stat-card-padding-block-sm`, `--slotted-stat-card-padding-inline`, `--slotted-stat-card-padding-inline-lg`, `--slotted-stat-card-padding-inline-sm`, `--slotted-stat-card-prose-font-size`, `--slotted-stat-card-prose-font-size-lg`, `--slotted-stat-card-prose-line-height`, `--slotted-stat-card-prose-line-height-lg`, `--slotted-stat-card-radius`, `--slotted-stat-card-region-gap`, `--slotted-stat-card-region-gap-lg`, `--slotted-stat-card-region-gap-sm`, `--slotted-stat-card-shadow`, `--slotted-stat-card-shadow-elevated`, `--slotted-stat-card-trend-gap`, `--slotted-stat-card-trend-gap-lg`, `--slotted-stat-card-trend-gap-sm`, `--slotted-stat-card-trend-inline-size`, `--slotted-stat-card-trend-inline-size-lg`, `--slotted-stat-card-trend-inline-size-sm`, `--slotted-stat-card-value-font-size`, `--slotted-stat-card-value-font-size-lg`, `--slotted-stat-card-value-font-size-sm`, `--slotted-stat-card-value-line-height`, `--slotted-stat-card-value-line-height-lg`, `--slotted-stat-card-value-line-height-sm`, `--slotted-surface-raised`, `--slotted-surface-sunken`, `--slotted-target-comfortable`, `--slotted-text`, `--slotted-text-muted`, `--slotted-tone-accent-text`, `--slotted-tone-danger-text`, `--slotted-tone-info-text`, `--slotted-tone-secondary-text`, `--slotted-tone-success-text`, `--slotted-tone-warning-text`
|
|
114
114
|
|
|
115
115
|
## Examples
|
|
116
116
|
|
package/docs/table.examples.md
CHANGED
|
@@ -742,7 +742,7 @@ export class TableExpansion {
|
|
|
742
742
|
|
|
743
743
|
### A header, a summary and a column that stay
|
|
744
744
|
|
|
745
|
-
stickyHeader holds the head against the top of the scroller and stickyFooter holds the summary against the bottom of it, so the total is on screen at the first row and the last. stickyTo says which box that is: this table own scroller, or whatever scrolls outside it. A pinned column darkens its edge exactly while something is hidden under it, and all of it mirrors in a right-to-left document.
|
|
745
|
+
stickyHeader holds the head against the top of the scroller and stickyFooter holds the summary against the bottom of it, so the total is on screen at the first row and the last. stickyTo says which box that is: this table own scroller, or whatever scrolls outside it. Under stickyTo="page" the head stops at --slotted-table-sticky-offset, which a page binds to its own chrome; a table inside a scrolling box of its own sets that token to 0 on the box. A pinned column darkens its edge exactly while something is hidden under it, and all of it mirrors in a right-to-left document.
|
|
746
746
|
|
|
747
747
|
Example
|
|
748
748
|
|
|
@@ -1128,7 +1128,7 @@ Excerpt — not a complete module
|
|
|
1128
1128
|
<tbody slTableLoader [skeletonRows]="5"></tbody>
|
|
1129
1129
|
} @else if (rows().length === 0) {
|
|
1130
1130
|
<tbody slTableBody>
|
|
1131
|
-
<tr
|
|
1131
|
+
<tr>
|
|
1132
1132
|
<td slTableEmpty>
|
|
1133
1133
|
<section slResultState status="no-results"></section>
|
|
1134
1134
|
</td>
|
|
@@ -1376,7 +1376,7 @@ import {
|
|
|
1376
1376
|
</tr>
|
|
1377
1377
|
</thead>
|
|
1378
1378
|
<tbody slTableBody>
|
|
1379
|
-
<tr
|
|
1379
|
+
<tr>
|
|
1380
1380
|
<td slTableEmpty>
|
|
1381
1381
|
<section slResultState status="empty">
|
|
1382
1382
|
<div slResultStateContent>
|
package/docs/table.json
CHANGED
|
@@ -12,6 +12,10 @@
|
|
|
12
12
|
"ruled",
|
|
13
13
|
"framed"
|
|
14
14
|
],
|
|
15
|
+
"edges": [
|
|
16
|
+
"inset",
|
|
17
|
+
"flush"
|
|
18
|
+
],
|
|
15
19
|
"striped": [
|
|
16
20
|
true,
|
|
17
21
|
false
|
|
@@ -71,6 +75,7 @@
|
|
|
71
75
|
"nativeElement": "div",
|
|
72
76
|
"defaults": {
|
|
73
77
|
"variant": "ruled",
|
|
78
|
+
"edges": "inset",
|
|
74
79
|
"striped": false,
|
|
75
80
|
"stickyHeader": false,
|
|
76
81
|
"stickyTo": "scroll",
|
|
@@ -107,6 +112,7 @@
|
|
|
107
112
|
"active",
|
|
108
113
|
"focus-visible",
|
|
109
114
|
"selected",
|
|
115
|
+
"current",
|
|
110
116
|
"expanded",
|
|
111
117
|
"disabled",
|
|
112
118
|
"loading"
|
|
@@ -139,6 +145,11 @@
|
|
|
139
145
|
"selection",
|
|
140
146
|
"expander",
|
|
141
147
|
"detail",
|
|
148
|
+
"group-row",
|
|
149
|
+
"group-header",
|
|
150
|
+
"group-content",
|
|
151
|
+
"group-start",
|
|
152
|
+
"group-end",
|
|
142
153
|
"empty",
|
|
143
154
|
"loader",
|
|
144
155
|
"footer"
|
|
@@ -321,6 +332,36 @@
|
|
|
321
332
|
"required": false,
|
|
322
333
|
"purpose": "The open row detail, one cell spanning every column. Control flow in the template keeps a closed one out of the DOM, which a host element cannot do for itself."
|
|
323
334
|
},
|
|
335
|
+
{
|
|
336
|
+
"part": "group-row",
|
|
337
|
+
"element": "tr[slTableGroupRow]",
|
|
338
|
+
"required": false,
|
|
339
|
+
"purpose": "The band that opens a group of rows: a day of a ledger with its net at the end. One header cell spans every column, and sticky holds the band under the header while its rows scroll past."
|
|
340
|
+
},
|
|
341
|
+
{
|
|
342
|
+
"part": "group-header",
|
|
343
|
+
"element": "th",
|
|
344
|
+
"required": false,
|
|
345
|
+
"purpose": "The one cell of the band, scope=\"rowgroup\", spanning the columns of the table. It names the rows of its own tbody, so a grouped listing writes one body per group."
|
|
346
|
+
},
|
|
347
|
+
{
|
|
348
|
+
"part": "group-content",
|
|
349
|
+
"element": "div",
|
|
350
|
+
"required": false,
|
|
351
|
+
"purpose": "The line inside the band that sets the name at the start and the end content at the end."
|
|
352
|
+
},
|
|
353
|
+
{
|
|
354
|
+
"part": "group-start",
|
|
355
|
+
"element": "span",
|
|
356
|
+
"required": false,
|
|
357
|
+
"purpose": "The name of the group."
|
|
358
|
+
},
|
|
359
|
+
{
|
|
360
|
+
"part": "group-end",
|
|
361
|
+
"element": "span",
|
|
362
|
+
"required": false,
|
|
363
|
+
"purpose": "The end of the band, the element marked slTableGroupRowEnd: the total or net of the group, in tabular figures."
|
|
364
|
+
},
|
|
324
365
|
{
|
|
325
366
|
"part": "empty",
|
|
326
367
|
"element": "td[slTableEmpty]",
|
|
@@ -384,6 +425,13 @@
|
|
|
384
425
|
"appliesTo": "slTable",
|
|
385
426
|
"description": "How much of a frame the set is given"
|
|
386
427
|
},
|
|
428
|
+
{
|
|
429
|
+
"name": "edges",
|
|
430
|
+
"type": "'inset' | 'flush'",
|
|
431
|
+
"defaultValue": "inset",
|
|
432
|
+
"appliesTo": "slTable",
|
|
433
|
+
"description": "Whether the first and the last column keep the cell inset on their outer side. flush lines a plain or ruled table up with the heading around it, leaving the theme’s --slotted-table-edge-inset (0 unless set); a framed table ignores it. Sticky and selection columns keep their own offsets"
|
|
434
|
+
},
|
|
387
435
|
{
|
|
388
436
|
"name": "striped",
|
|
389
437
|
"type": "boolean",
|
|
@@ -566,6 +614,27 @@
|
|
|
566
614
|
"appliesTo": "slTableRow",
|
|
567
615
|
"description": "The record position in the whole set, written as aria-rowindex"
|
|
568
616
|
},
|
|
617
|
+
{
|
|
618
|
+
"name": "current",
|
|
619
|
+
"type": "boolean",
|
|
620
|
+
"defaultValue": "false",
|
|
621
|
+
"appliesTo": "slTableRow",
|
|
622
|
+
"description": "The record open elsewhere on the page, a detail pane beside the table, written as aria-current"
|
|
623
|
+
},
|
|
624
|
+
{
|
|
625
|
+
"name": "interactive",
|
|
626
|
+
"type": "boolean",
|
|
627
|
+
"defaultValue": "false",
|
|
628
|
+
"appliesTo": "slTableRow",
|
|
629
|
+
"description": "Paints the row as a thing the pointer presses; stated beside (action)"
|
|
630
|
+
},
|
|
631
|
+
{
|
|
632
|
+
"name": "(action)",
|
|
633
|
+
"type": "MouseEvent",
|
|
634
|
+
"defaultValue": "—",
|
|
635
|
+
"appliesTo": "slTableRow",
|
|
636
|
+
"description": "A click anywhere in the row that lands on no control of its own; the first link or button in the row is the keyboard way in"
|
|
637
|
+
},
|
|
569
638
|
{
|
|
570
639
|
"name": "column",
|
|
571
640
|
"type": "string",
|
|
@@ -608,6 +677,13 @@
|
|
|
608
677
|
"appliesTo": "the three cell parts and both selection cells",
|
|
609
678
|
"description": "Which edge the column is pinned to while the table scrolls past it"
|
|
610
679
|
},
|
|
680
|
+
{
|
|
681
|
+
"name": "sticky",
|
|
682
|
+
"type": "boolean",
|
|
683
|
+
"defaultValue": "false",
|
|
684
|
+
"appliesTo": "slTableGroupRow",
|
|
685
|
+
"description": "Holds the band under the header while its rows scroll past; the end of the band is the element marked slTableGroupRowEnd"
|
|
686
|
+
},
|
|
611
687
|
{
|
|
612
688
|
"name": "stickyOffset",
|
|
613
689
|
"type": "string",
|
|
@@ -745,15 +821,20 @@
|
|
|
745
821
|
"--slotted-table-color-muted",
|
|
746
822
|
"--slotted-table-column-actions-size",
|
|
747
823
|
"--slotted-table-control-radius",
|
|
824
|
+
"--slotted-table-edge-inset",
|
|
748
825
|
"--slotted-table-font-family",
|
|
749
826
|
"--slotted-table-font-size",
|
|
750
827
|
"--slotted-table-gap",
|
|
828
|
+
"--slotted-table-group-color",
|
|
829
|
+
"--slotted-table-group-sticky-offset",
|
|
830
|
+
"--slotted-table-group-surface",
|
|
751
831
|
"--slotted-table-header-surface",
|
|
752
832
|
"--slotted-table-header-surface-hover",
|
|
753
833
|
"--slotted-table-icon-size",
|
|
754
834
|
"--slotted-table-radius",
|
|
755
835
|
"--slotted-table-row-color-selected",
|
|
756
836
|
"--slotted-table-row-min-block-size",
|
|
837
|
+
"--slotted-table-row-surface-current",
|
|
757
838
|
"--slotted-table-row-surface-hover",
|
|
758
839
|
"--slotted-table-row-surface-selected",
|
|
759
840
|
"--slotted-table-row-surface-selected-hover",
|
|
@@ -771,6 +852,7 @@
|
|
|
771
852
|
"--slotted-tone-accent-subtle-hover",
|
|
772
853
|
"--slotted-tone-accent-surface",
|
|
773
854
|
"--slotted-tone-accent-text",
|
|
855
|
+
"--slotted-tone-secondary-subtle-active",
|
|
774
856
|
"--slotted-tone-secondary-subtle-hover",
|
|
775
857
|
"--slotted-z-index-sticky"
|
|
776
858
|
],
|
|
@@ -898,7 +980,7 @@
|
|
|
898
980
|
{
|
|
899
981
|
"id": "sticky",
|
|
900
982
|
"title": "A header, a summary and a column that stay",
|
|
901
|
-
"note": "stickyHeader holds the head against the top of the scroller and stickyFooter holds the summary against the bottom of it, so the total is on screen at the first row and the last. stickyTo says which box that is: this table own scroller, or whatever scrolls outside it. A pinned column darkens its edge exactly while something is hidden under it, and all of it mirrors in a right-to-left document.",
|
|
983
|
+
"note": "stickyHeader holds the head against the top of the scroller and stickyFooter holds the summary against the bottom of it, so the total is on screen at the first row and the last. stickyTo says which box that is: this table own scroller, or whatever scrolls outside it. Under stickyTo=\"page\" the head stops at --slotted-table-sticky-offset, which a page binds to its own chrome; a table inside a scrolling box of its own sets that token to 0 on the box. A pinned column darkens its edge exactly while something is hidden under it, and all of it mirrors in a right-to-left document.",
|
|
902
984
|
"language": "ts",
|
|
903
985
|
"source": "import { Component } from '@angular/core';\nimport {\n SlTable,\n SlTableBody,\n SlTableCell,\n SlTableColumnHeader,\n SlTableContent,\n SlTableHead,\n SlTableRow,\n SlTableRowHeader,\n SlTableSummary,\n} from '@slotted/angular/table';\n\nconst USD = new Intl.NumberFormat('en-US', { currency: 'USD', style: 'currency' });\n\nconst CUSTOMERS = [\n 'Alfreds Futterkiste',\n \"Bon app'\",\n 'Ernst Handel',\n 'Folk och fä HB',\n 'Hanari Carnes',\n 'Island Trading',\n 'QUICK-Stop',\n 'Wartian Herkku',\n];\nconst WAREHOUSES = ['Reno', 'Columbus', 'Savannah'];\n\nconst ORDERS = Array.from({ length: 30 }, (_, index) => ({\n id: `SO-${10400 + index}`,\n customer: CUSTOMERS[index % CUSTOMERS.length],\n warehouse: WAREHOUSES[index % WAREHOUSES.length],\n total: 180 + ((index * 397) % 2400),\n}));\n\n@Component({\n selector: 'app-table-sticky',\n imports: [\n SlTable,\n SlTableBody,\n SlTableCell,\n SlTableColumnHeader,\n SlTableContent,\n SlTableHead,\n SlTableRow,\n SlTableRowHeader,\n SlTableSummary,\n ],\n template: `\n <div slTable [columns]=\"4\" stickyFooter stickyHeader>\n <div slTableContent aria-label=\"September orders\" style=\"max-block-size: 20rem\">\n <thead slTableHead>\n <tr slTableRow>\n <th slTableColumnHeader>Order</th>\n <th slTableColumnHeader>Customer</th>\n <th slTableColumnHeader>Warehouse</th>\n <th slTableColumnHeader numeric>Total</th>\n </tr>\n </thead>\n <tbody slTableBody>\n @for (order of orders; track order.id) {\n <tr slTableRow [value]=\"order.id\">\n <th slTableRowHeader text=\"nowrap\">{{ order.id }}</th>\n <td slTableCell>{{ order.customer }}</td>\n <td slTableCell>{{ order.warehouse }}</td>\n <td slTableCell numeric>{{ usd.format(order.total) }}</td>\n </tr>\n }\n </tbody>\n <tfoot slTableSummary>\n <tr slTableRow>\n <td slTableCell [attr.colspan]=\"3\">{{ orders.length }} orders</td>\n <td slTableCell numeric>{{ usd.format(total) }}</td>\n </tr>\n </tfoot>\n </div>\n </div>\n `,\n})\nexport class TableSticky {\n readonly orders = ORDERS;\n readonly total = ORDERS.reduce((sum, order) => sum + order.total, 0);\n readonly usd = USD;\n}\n",
|
|
904
986
|
"verdict": "example"
|
|
@@ -940,7 +1022,7 @@
|
|
|
940
1022
|
"title": "Nothing yet, nothing at all, and something arriving",
|
|
941
1023
|
"note": "A first load draws skeleton rows, so the shape is visible before the content. A refresh over rows already read writes aria-busy and dims them without moving anything — a reader looking at row forty stays there.",
|
|
942
1024
|
"language": "html",
|
|
943
|
-
"source": "@if (loading() && rows().length === 0) {\n <tbody slTableLoader [skeletonRows]=\"5\"></tbody>\n} @else if (rows().length === 0) {\n <tbody slTableBody>\n <tr
|
|
1025
|
+
"source": "@if (loading() && rows().length === 0) {\n <tbody slTableLoader [skeletonRows]=\"5\"></tbody>\n} @else if (rows().length === 0) {\n <tbody slTableBody>\n <tr>\n <td slTableEmpty>\n <section slResultState status=\"no-results\"></section>\n </td>\n </tr>\n </tbody>\n} @else {\n <tbody slTableBody></tbody>\n}\n",
|
|
944
1026
|
"verdict": "excerpt"
|
|
945
1027
|
},
|
|
946
1028
|
{
|
|
@@ -1004,7 +1086,7 @@
|
|
|
1004
1086
|
"title": "empty.ts",
|
|
1005
1087
|
"note": null,
|
|
1006
1088
|
"language": "ts",
|
|
1007
|
-
"source": "import { Component } from '@angular/core';\nimport {\n SlResultState,\n SlResultStateContent,\n SlResultStateDescription,\n SlResultStateTitle,\n} from '@slotted/angular/result-state';\nimport {\n SlTable,\n SlTableBody,\n SlTableColumnHeader,\n SlTableContent,\n SlTableEmpty,\n SlTableHead,\n SlTableRow,\n} from '@slotted/angular/table';\n\n@Component({\n selector: 'app-table-empty',\n imports: [\n SlResultState,\n SlResultStateContent,\n SlResultStateDescription,\n SlResultStateTitle,\n SlTable,\n SlTableBody,\n SlTableColumnHeader,\n SlTableContent,\n SlTableEmpty,\n SlTableHead,\n SlTableRow,\n ],\n template: `\n <div slTable [columns]=\"4\">\n <div slTableContent aria-label=\"Returns this week\">\n <thead slTableHead>\n <tr slTableRow>\n <th slTableColumnHeader>Return</th>\n <th slTableColumnHeader>Order</th>\n <th slTableColumnHeader>Customer</th>\n <th slTableColumnHeader numeric>Refund</th>\n </tr>\n </thead>\n <tbody slTableBody>\n <tr
|
|
1089
|
+
"source": "import { Component } from '@angular/core';\nimport {\n SlResultState,\n SlResultStateContent,\n SlResultStateDescription,\n SlResultStateTitle,\n} from '@slotted/angular/result-state';\nimport {\n SlTable,\n SlTableBody,\n SlTableColumnHeader,\n SlTableContent,\n SlTableEmpty,\n SlTableHead,\n SlTableRow,\n} from '@slotted/angular/table';\n\n@Component({\n selector: 'app-table-empty',\n imports: [\n SlResultState,\n SlResultStateContent,\n SlResultStateDescription,\n SlResultStateTitle,\n SlTable,\n SlTableBody,\n SlTableColumnHeader,\n SlTableContent,\n SlTableEmpty,\n SlTableHead,\n SlTableRow,\n ],\n template: `\n <div slTable [columns]=\"4\">\n <div slTableContent aria-label=\"Returns this week\">\n <thead slTableHead>\n <tr slTableRow>\n <th slTableColumnHeader>Return</th>\n <th slTableColumnHeader>Order</th>\n <th slTableColumnHeader>Customer</th>\n <th slTableColumnHeader numeric>Refund</th>\n </tr>\n </thead>\n <tbody slTableBody>\n <tr>\n <td slTableEmpty>\n <section slResultState status=\"empty\">\n <div slResultStateContent>\n <h3 slResultStateTitle>No returns this week</h3>\n <p slResultStateDescription>\n Returns appear here as soon as a customer opens one from their order page.\n </p>\n </div>\n </section>\n </td>\n </tr>\n </tbody>\n </div>\n </div>\n `,\n})\nexport class TableEmptyExample {}\n",
|
|
1008
1090
|
"verdict": "example"
|
|
1009
1091
|
},
|
|
1010
1092
|
{
|