@slotted/angular 0.1.0-beta.1 → 0.1.0-beta.11
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/action-bar.json +4 -4
- package/docs/action-bar.md +3 -3
- 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 +3 -2
- 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/command-palette.json +1 -0
- package/docs/command-palette.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 +45 -7
- package/docs/data-grid.md +3 -1
- package/docs/data-grid.props.md +7 -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/detail-panel.json +4 -2
- package/docs/detail-panel.md +8 -3
- package/docs/dialog.examples.md +158 -136
- package/docs/dialog.json +36 -11
- package/docs/dialog.md +4 -2
- package/docs/dialog.props.md +1 -1
- package/docs/drawer.json +11 -4
- package/docs/drawer.md +4 -3
- 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 +3 -2
- 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 +130 -0
- package/docs/guidelines/layout-alignment.md +105 -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 +22 -5
- package/docs/page-header.md +6 -4
- package/docs/page.json +2 -0
- package/docs/page.md +2 -1
- 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 +6 -6
- package/docs/section.json +28 -16
- package/docs/section.md +12 -10
- 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 +103 -0
- package/docs/skills/index.md +9 -0
- package/docs/skills/review-screen/SKILL.md +79 -0
- package/docs/skills/theme-app/SKILL.md +98 -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 +8 -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/toolbar.json +1 -1
- package/docs/toolbar.md +1 -1
- package/docs/tour.json +1 -1
- package/docs/typography.json +4 -2
- package/docs/typography.md +5 -5
- package/fesm2022/slotted-angular-accordion.mjs +4 -2
- package/fesm2022/slotted-angular-accordion.mjs.map +1 -1
- package/fesm2022/slotted-angular-action-bar.mjs +27 -12
- package/fesm2022/slotted-angular-action-bar.mjs.map +1 -1
- package/fesm2022/slotted-angular-action-sheet.mjs +48 -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 +120 -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 +180 -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 +118 -39
- package/fesm2022/slotted-angular-combobox.mjs.map +1 -1
- package/fesm2022/slotted-angular-command-palette.mjs +162 -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 +480 -129
- 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 +48 -30
- 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 +91 -37
- package/fesm2022/slotted-angular-drawer.mjs.map +1 -1
- package/fesm2022/slotted-angular-entity-picker.mjs +474 -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 +118 -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 +175 -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 +34 -15
- package/fesm2022/slotted-angular-message-scroller.mjs.map +1 -1
- package/fesm2022/slotted-angular-message.mjs +119 -51
- package/fesm2022/slotted-angular-message.mjs.map +1 -1
- package/fesm2022/slotted-angular-multi-select.mjs +195 -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 +90 -48
- 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 +57 -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 +190 -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 +37 -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 +55 -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 +147 -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 +27 -12
- 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 +80 -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 +2 -0
- 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 +72 -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 +12 -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 +15 -6
- 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 +2 -0
- 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,103 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: compose-screen
|
|
3
|
+
description: Use when writing or changing a screen of an application built with @slotted/angular — a list of records, the page of one record, a form that writes one, an overview, a report, a tree beside a list, a rule builder, a conversation or a ledger. Applies the Slotted guidelines in order and ends with each Check of the rules read.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Compose a screen
|
|
7
|
+
|
|
8
|
+
A screen is composed from the families' own parts first. An element of the
|
|
9
|
+
screen's own exists only where no family names a place for it.
|
|
10
|
+
|
|
11
|
+
## 1. Name the domain values
|
|
12
|
+
|
|
13
|
+
Name the values the product is about on this screen — money, a period, a day,
|
|
14
|
+
an account, a person — and the task the reader performs with each: enter it in
|
|
15
|
+
one motion, step it, compare it. For each, write which family accepts the
|
|
16
|
+
value and whether that family performs the task in one step with the value's
|
|
17
|
+
own words. When it does not, CP-04 applies before any family is chosen: a
|
|
18
|
+
family that technically accepts a value does not answer the reader's task by
|
|
19
|
+
that fact.
|
|
20
|
+
|
|
21
|
+
## 2. Classify the screen
|
|
22
|
+
|
|
23
|
+
| The screen | Topic |
|
|
24
|
+
| ----------------------------------------------------- | ------------------ |
|
|
25
|
+
| Lists records, searches, filters, pages | `list-pages.md` |
|
|
26
|
+
| Shows one record, its figures and its related records | `record-pages.md` |
|
|
27
|
+
| Creates or edits a record | `forms.md` |
|
|
28
|
+
| Summarises a domain in figures and charts | `overviews.md` |
|
|
29
|
+
| Places a list beside a tree of its places | `browsing.md` |
|
|
30
|
+
| Reads records over a chosen period | `reports.md` |
|
|
31
|
+
| Writes or reads a rule the system runs later | `builders.md` |
|
|
32
|
+
| Holds a conversation the reader answers | `conversations.md` |
|
|
33
|
+
| Works a queue against candidates in three regions | `workspaces.md` |
|
|
34
|
+
| Lists immutable changes with their cause and balance | `ledgers.md` |
|
|
35
|
+
|
|
36
|
+
A screen can be two of these: a record with an edit form in place reads both
|
|
37
|
+
topics.
|
|
38
|
+
|
|
39
|
+
## 3. Read
|
|
40
|
+
|
|
41
|
+
1. `../../guidelines/index.md`.
|
|
42
|
+
2. `../../guidelines/composition.md`, always.
|
|
43
|
+
3. The topic of step 2. Add `layout-alignment.md` and `shell-composition.md`
|
|
44
|
+
when the screen places controls in a row or in the application frame.
|
|
45
|
+
4. Add `errors-and-conflicts.md` and `reading-permissions.md` when the screen
|
|
46
|
+
writes data or reads under a role.
|
|
47
|
+
5. When the screen writes an element of its own, follow
|
|
48
|
+
`../../skills/build-own-element/SKILL.md`.
|
|
49
|
+
|
|
50
|
+
## 4. Read each family before writing beside it
|
|
51
|
+
|
|
52
|
+
For each family the screen uses, read `../../<family>.md` — its anatomy,
|
|
53
|
+
its slots, its axes (CP-01). When the family names a slot for an element, the
|
|
54
|
+
element stands in that slot.
|
|
55
|
+
|
|
56
|
+
## 5. Compose
|
|
57
|
+
|
|
58
|
+
- Every destination of the navigation is `full`, and a list adds `fill`; a
|
|
59
|
+
create or edit form is `wide`; preferences read as prose are `measure`
|
|
60
|
+
(CP-10).
|
|
61
|
+
- Siblings of the screen's own stand in `inline` (one row) or `stack` (one
|
|
62
|
+
column) with a gap from the space scale; text of the screen's own takes its
|
|
63
|
+
size from the `typography` family's `text` member (CP-02).
|
|
64
|
+
- A track that holds a family which scrolls states a zero minimum, so the
|
|
65
|
+
family's scroller is what scrolls (CP-03).
|
|
66
|
+
- An element of the screen's own paints only with theme tokens; a literal is
|
|
67
|
+
written only beside a comment that says why no token covers it (CP-05).
|
|
68
|
+
- A state a family already draws is set on the family and stated once, with
|
|
69
|
+
nothing louder beside it (CP-06).
|
|
70
|
+
- A control that switches what a region holds changes words and values, never
|
|
71
|
+
the size or the position of a box (CP-08).
|
|
72
|
+
- A control that switches a region — tabs, a route, a filter — updates its
|
|
73
|
+
own state at once and renders the region from a deferred value (in React,
|
|
74
|
+
useDeferredValue or startTransition) (CP-09). A list longer than a hundred
|
|
75
|
+
rows is a `data-grid`, which windows its rows where it has a height of its
|
|
76
|
+
own and is served in pages below 600 pixels (LP-12, LP-14). Its columns, its disabled keys and a function row key are module constants or memoised: a new one on a render of the screen renders every mounted row again. Its renderers, its messages and its tree may be written inline.
|
|
77
|
+
- Where no anatomy answers the problem, the screen writes an element of its
|
|
78
|
+
own instead of bending a family into a shape it does not have (CP-04). That
|
|
79
|
+
element is built with `../../skills/build-own-element/SKILL.md`.
|
|
80
|
+
|
|
81
|
+
## 6. Waits
|
|
82
|
+
|
|
83
|
+
Every region filled by a request and every control that starts one follow
|
|
84
|
+
`../../skills/waiting-states/SKILL.md`.
|
|
85
|
+
|
|
86
|
+
## 7. Done
|
|
87
|
+
|
|
88
|
+
1. Each `MUST` rule of the topics read: its `Check` passes.
|
|
89
|
+
2. Each `SHOULD` rule not followed is listed with its reason.
|
|
90
|
+
3. No CSS of the screen's own targets a family's parts; a family's appearance
|
|
91
|
+
changes through its axes.
|
|
92
|
+
4. On the production build, at 375 pixels with a coarse pointer and the CPU
|
|
93
|
+
throttled 4×, with the list holding at least 200 rows: each control that
|
|
94
|
+
switches a region, a row's selection, select-all, a sort, a row menu and a
|
|
95
|
+
scroll of one screen each paint within 200 ms of the input (the Event Timing
|
|
96
|
+
duration), and no list mounts more rows than its window or than the pages
|
|
97
|
+
it has requested (LP-12). A development build is not a measurement: a
|
|
98
|
+
hundred rows of twenty columns measured 93 ms on the production build and
|
|
99
|
+
160 ms on the development one (LP-14).
|
|
100
|
+
5. For each value named in step 1, the control that edits it was chosen
|
|
101
|
+
against the task, and the reason is written beside it.
|
|
102
|
+
6. At 360 pixels with a coarse pointer, the header's actions and the footer's
|
|
103
|
+
actions each occupy one row (LA-03, LA-07).
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
# Skills index
|
|
2
|
+
|
|
3
|
+
Each skill, with when it applies. Read a skill before its task.
|
|
4
|
+
|
|
5
|
+
- build-own-element: `./build-own-element/SKILL.md` — Use when writing a component, widget or visual element that no family of @slotted/angular draws — a timeline strip, a seat map, a heat grid, a bespoke control. Proves first that no family answers, then builds the element from the theme's tokens with the states, focus, target size, forced colours and motion the families keep.
|
|
6
|
+
- compose-screen: `./compose-screen/SKILL.md` — Use when writing or changing a screen of an application built with @slotted/angular — a list of records, the page of one record, a form that writes one, an overview, a report, a tree beside a list, a rule builder, a conversation or a ledger. Applies the Slotted guidelines in order and ends with each Check of the rules read.
|
|
7
|
+
- review-screen: `./review-screen/SKILL.md` — Use when reviewing, auditing or fixing an existing screen of an application built with @slotted/angular, or when asked whether a screen follows the Slotted guidelines. Reads the rules that apply, sweeps the screen's code for the defects found without running it, and reports each finding with its rule, level and place.
|
|
8
|
+
- theme-app: `./theme-app/SKILL.md` — Use when changing how an application built with @slotted/angular looks, as a whole or in one region — its brand colour, a light, dark or high-contrast scheme, density, fonts, corners, or the shape of a control. Chooses the narrowest level that reaches the change — a seed, a token, a family token or a theme rule — and where it is declared.
|
|
9
|
+
- waiting-states: `./waiting-states/SKILL.md` — 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.
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: review-screen
|
|
3
|
+
description: Use when reviewing, auditing or fixing an existing screen of an application built with @slotted/angular, or when asked whether a screen follows the Slotted guidelines. Reads the rules that apply, sweeps the screen's code for the defects found without running it, and reports each finding with its rule, level and place.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Review a screen
|
|
7
|
+
|
|
8
|
+
A review answers one question per rule read: does the screen pass the rule's
|
|
9
|
+
`Check`. A finding names a rule; a remark that names no rule is not a finding.
|
|
10
|
+
|
|
11
|
+
## 1. Inventory
|
|
12
|
+
|
|
13
|
+
1. List the screen's files: its component, its template, its stylesheet and
|
|
14
|
+
the requests it starts.
|
|
15
|
+
2. List the families it imports, and read `../../<family>.md` for each.
|
|
16
|
+
3. List the elements of the screen's own: every element that is not a family,
|
|
17
|
+
with the CSS that paints it.
|
|
18
|
+
4. Classify the screen with the table in step 1 of
|
|
19
|
+
`../../skills/compose-screen/SKILL.md`.
|
|
20
|
+
|
|
21
|
+
## 2. Read
|
|
22
|
+
|
|
23
|
+
1. `../../guidelines/index.md` and
|
|
24
|
+
`../../guidelines/composition.md`.
|
|
25
|
+
2. The topics of the classification, and each topic whose `triggers` the
|
|
26
|
+
screen matches.
|
|
27
|
+
3. `own-elements.md` when step 1 listed an element of the screen's own.
|
|
28
|
+
4. `../../skills/waiting-states/SKILL.md` when the screen starts a
|
|
29
|
+
request.
|
|
30
|
+
|
|
31
|
+
## 3. Sweep the code
|
|
32
|
+
|
|
33
|
+
Each search below finds a defect without running the screen.
|
|
34
|
+
|
|
35
|
+
| Search the screen's files for | Defect | Rule |
|
|
36
|
+
| ------------------------------------------------------------------------------------------------------------------------------------------------------------ | --------------------------------------------------------- | ------------ |
|
|
37
|
+
| A colour literal (hex, rgb, hsl, oklch), a length in pixels or rem other than zero, or a font size, in the screen's CSS | a value the theme has a token for | CP-05, OE-01 |
|
|
38
|
+
| A rule of the application's CSS that sets colour, border, radius, padding or type on a family's `data-ui` or `data-part` | the screen restyles a family instead of setting its axes | OE-08 |
|
|
39
|
+
| A control that starts a request and is not in its `loading` state until the answer, except a Refresh of the whole page | a control that fires twice | AF-03 |
|
|
40
|
+
| A Refresh of the whole page drawing a spinner on its button, or a refetch of data on screen with no `page-header` progress bar | a wait in the wrong place, and no wait shown for the page | AF-07 |
|
|
41
|
+
| An empty state drawn from the initial value of the data, before the first answer | a wait shown as nothing | AF-01 |
|
|
42
|
+
| A spinner standing in a region that has no items yet | placeholders missing | AF-02 |
|
|
43
|
+
| Siblings of the page's own spaced by margins, or text with a font size of its own | layout outside the primitives | CP-02 |
|
|
44
|
+
| A grid or flex track around a family that scrolls, with no zero minimum | the page scrolls, not the family | CP-03 |
|
|
45
|
+
| A badge, a tag or a colour beside a family that already draws the same state | a state stated twice | CP-06 |
|
|
46
|
+
| An element of the screen's own that takes focus with no ring in its `focus-visible` state | focus not drawn | OE-03 |
|
|
47
|
+
| A `data-grid` or `table` with no `variant` on a page whose `width` is not `bleed` | a grid with no frame on the page's surface | LP-15 |
|
|
48
|
+
| A list page's `page-header` with a heading and no subheading, no figures and no solid primary action | a header that does not say what the list covers | LP-16 |
|
|
49
|
+
| A grid whose column state unpins its `actions` column | the row's actions leave the frame | LP-17 |
|
|
50
|
+
| A row of `stat-card`s where a label has more than three words, or one card has a comparison the others lack | a row of cards with no shared structure | OV-06 |
|
|
51
|
+
| Two destinations of the navigation whose `page`s state different `width`s | the column's edges move between destinations | CP-10 |
|
|
52
|
+
| A write whose success handler refreshes only the region of the control that wrote | figures elsewhere stay stale after the write | AF-08 |
|
|
53
|
+
| Two or more actions in a `page-header`'s `actions` outside a `toolbar` that folds into its menu, or toolbar items with no counterpart beside the primary one | a header whose actions wrap on a phone | LA-03 |
|
|
54
|
+
| A footer `action-bar` of three or more actions with no overflow control, or a secondary action with no counterpart | a footer that stacks into a column on a phone | LA-07 |
|
|
55
|
+
|
|
56
|
+
A rule whose `Check` needs the screen running — a size class, a throttled
|
|
57
|
+
network, the accessibility tree — is run when the environment can run it, and
|
|
58
|
+
otherwise reported as not checked, with the step that checks it.
|
|
59
|
+
|
|
60
|
+
## 4. Report
|
|
61
|
+
|
|
62
|
+
One finding per entry, every `MUST` before every `SHOULD`:
|
|
63
|
+
|
|
64
|
+
- the rule's id and level;
|
|
65
|
+
- the file and the line;
|
|
66
|
+
- what the screen does, in one sentence;
|
|
67
|
+
- the change after which the rule's `Check` passes.
|
|
68
|
+
|
|
69
|
+
A `SHOULD` the screen breaks on purpose is listed with its reason, as a
|
|
70
|
+
deviation. The screen passes when no `MUST` finding remains.
|
|
71
|
+
|
|
72
|
+
## 5. Fix, when asked
|
|
73
|
+
|
|
74
|
+
1. Fix every `MUST` finding, then each `SHOULD` finding the request covers.
|
|
75
|
+
2. A fix uses what the family offers — its state, its slot, its axis — and
|
|
76
|
+
never CSS on its parts.
|
|
77
|
+
3. A literal becomes a token of the group `../../tokens.md` lists for
|
|
78
|
+
that decision.
|
|
79
|
+
4. Run the searches of step 3 again on the changed files: none finds anything.
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: theme-app
|
|
3
|
+
description: Use when changing how an application built with @slotted/angular looks, as a whole or in one region — its brand colour, a light, dark or high-contrast scheme, density, fonts, corners, or the shape of a control. Chooses the narrowest level that reaches the change — a seed, a token, a family token or a theme rule — and where it is declared.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Theme an application
|
|
7
|
+
|
|
8
|
+
The theme decides every value a family paints. A change of look is made in a
|
|
9
|
+
theme or on a scope, never by CSS of the application on a family's parts.
|
|
10
|
+
|
|
11
|
+
## 1. Choose the level
|
|
12
|
+
|
|
13
|
+
Take the first row that reaches the change.
|
|
14
|
+
|
|
15
|
+
| The change | Level | Declared in |
|
|
16
|
+
| ------------------------------------------------------------------------------- | --------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------ |
|
|
17
|
+
| The brand colour, or the colour of one intent | a seed: `--slotted-seed-accent` or another name of `SEED_NAMES` | the theme's `seeds`, or a scope |
|
|
18
|
+
| Light, dark, high contrast, or the system's preference | the scheme: `light`, `dark`, `high-contrast`, `system` | `data-slotted-scheme`, or the scheme of the `slThemeScope` directive from `@slotted/angular/theme` |
|
|
19
|
+
| How tight controls and rows are | the density: `comfortable`, `compact`, `dense` | `data-slotted-density`, or the density of the `slThemeScope` directive from `@slotted/angular/theme` |
|
|
20
|
+
| How deep a scheme's grounds sit, or how far each layer steps from the one below | the recipe: one derivation per token per scheme | the theme's `recipe`, spread from the base theme's, as below; `themeConformance` still checks every contrast |
|
|
21
|
+
| Spacing, corners, type, lines, shadows or motion | a token of a group in `../../tokens.md` | the theme's `base`; `schemes` for a value per scheme; `densities` per density |
|
|
22
|
+
| One family's look | a token the family's page lists under Tokens | the theme's `components` |
|
|
23
|
+
| What no token reaches | a theme rule | the theme's `rules` |
|
|
24
|
+
|
|
25
|
+
Every colour token derives from the six seeds within contrast bounds, so a
|
|
26
|
+
new seed keeps the ratios of every scheme. A colour of the `tone`, `surface`,
|
|
27
|
+
`text` or `border` groups is changed through its seed, or through its
|
|
28
|
+
derivation in the recipe, never declared by hand.
|
|
29
|
+
|
|
30
|
+
A recipe change keeps every other derivation of the base theme: the theme's
|
|
31
|
+
`recipe` spreads the base theme's recipe, spreads from it the scheme it
|
|
32
|
+
changes, and replaces one token's derivation — its seed, its lightness and its
|
|
33
|
+
chroma's scale and ceiling, the shape every derivation of the standard recipe
|
|
34
|
+
has.
|
|
35
|
+
|
|
36
|
+
## 2. One theme for the product
|
|
37
|
+
|
|
38
|
+
1. Build it with `extendTheme` on the theme of `@slotted/themes/default`: a
|
|
39
|
+
name of its own, and only what changes — `seeds`, then `base`, `schemes`
|
|
40
|
+
and `densities`, then `components`, then `rules`. A face the product brings
|
|
41
|
+
goes in `fonts`, and the `font-family` group names it; headings read
|
|
42
|
+
`--slotted-font-family-heading`.
|
|
43
|
+
2. Compile it with `slotted-build-theme`, load the stylesheet it writes in
|
|
44
|
+
place of `@slotted/themes/default.css`, and set the theme's name in
|
|
45
|
+
`data-slotted-theme` and the scheme in `data-slotted-scheme` on the root
|
|
46
|
+
element.
|
|
47
|
+
3. A theme chosen at runtime is applied with `applyTheme`, in a module the
|
|
48
|
+
application loads on demand: `@slotted/theme` carries the whole token
|
|
49
|
+
contract and its validator.
|
|
50
|
+
4. In a test of the theme, `themeConformance` from `@slotted/theme/conformance`
|
|
51
|
+
checks the structure, the contrast of every scheme and the glyphs, under
|
|
52
|
+
Node's test runner. It takes the `contract`, the theme passed through
|
|
53
|
+
`flattenTheme`, and the compiled stylesheet.
|
|
54
|
+
|
|
55
|
+
## 3. One region
|
|
56
|
+
|
|
57
|
+
1. A scheme or a density for a subtree: the `slThemeScope` directive from `@slotted/angular/theme`, which carries both to
|
|
58
|
+
an overlay opened inside it, or the `data-slotted-scheme` and
|
|
59
|
+
`data-slotted-density` attributes on the subtree's root.
|
|
60
|
+
2. A seed for a subtree: the seed property on an element that also carries
|
|
61
|
+
`data-slotted-seeds`, or the seeds of the `slThemeScope` directive from `@slotted/angular/theme`. Every colour under it
|
|
62
|
+
derives again from that seed.
|
|
63
|
+
3. A colour the reader picks at runtime: write the seed property on the element
|
|
64
|
+
that carries `data-slotted-theme`, with `seedStyle` from
|
|
65
|
+
`@slotted/theme/seeds`, which leaves the token contract out of the bundle.
|
|
66
|
+
4. A bar of the application's own that floats over scrolling content — a phone
|
|
67
|
+
tab bar, a sticky banner — is a material: its background reads
|
|
68
|
+
`--slotted-surface-material` and its backdrop filter reads
|
|
69
|
+
`--slotted-material-backdrop`. The theme makes both opaque under reduced
|
|
70
|
+
transparency and forced colours. A page header becomes that material once
|
|
71
|
+
content passes under it with its `material` input, set on the header or on
|
|
72
|
+
its defaults. A theme draws the command palette as one by setting
|
|
73
|
+
`--slotted-command-palette-surface` to the material surface and
|
|
74
|
+
`--slotted-command-palette-backdrop-filter` to the material backdrop, and a
|
|
75
|
+
raised toast with `--slotted-toast-surface` and
|
|
76
|
+
`--slotted-toast-backdrop-filter`. The bars at the bottom edge take
|
|
77
|
+
`--slotted-page-footer-background` with
|
|
78
|
+
`--slotted-page-footer-backdrop-filter`, and
|
|
79
|
+
`--slotted-detail-panel-footer-background` with
|
|
80
|
+
`--slotted-detail-panel-footer-backdrop-filter`, and a dialog's panel
|
|
81
|
+
`--slotted-dialog-surface` with `--slotted-dialog-backdrop-filter`.
|
|
82
|
+
|
|
83
|
+
## 4. Restyle a control
|
|
84
|
+
|
|
85
|
+
1. A token every control reads, in `base`, `schemes` or `densities`.
|
|
86
|
+
2. Else a token of the family, in `components`; it falls back to the control
|
|
87
|
+
token.
|
|
88
|
+
3. Else a theme rule. It lives in `slotted.theme-rules`, selects only
|
|
89
|
+
`data-ui`, `data-part`, the attributes a family writes and the theme's
|
|
90
|
+
attributes, and reads only tokens; the compiler names the file, the line
|
|
91
|
+
and the selector of a rule it refuses.
|
|
92
|
+
|
|
93
|
+
## 5. Done
|
|
94
|
+
|
|
95
|
+
1. The application's own CSS declares no token of the `tone`, `surface`,
|
|
96
|
+
`text` or `border` groups, and sets no colour, border, radius, padding or
|
|
97
|
+
type on a family's `data-ui` or `data-part`.
|
|
98
|
+
2. `themeConformance` passes for the theme.
|
|
@@ -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"
|