@slotted/angular 0.1.0-beta.0 → 0.1.0-beta.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +4 -0
- package/docs/AGENTS.snippet.md +12 -0
- package/docs/alert.json +7 -1
- package/docs/alert.md +3 -3
- package/docs/app-shell.examples.md +1 -1
- package/docs/app-shell.json +5 -5
- package/docs/app-shell.md +2 -2
- package/docs/avatar.json +22 -1
- package/docs/avatar.md +5 -3
- package/docs/badge.json +7 -1
- package/docs/badge.md +3 -3
- package/docs/button-group.json +2 -0
- package/docs/button-group.md +1 -1
- package/docs/button.json +51 -11
- package/docs/button.md +10 -6
- package/docs/calendar.json +8 -1
- package/docs/calendar.md +1 -0
- package/docs/cascader.json +1 -0
- package/docs/cascader.md +1 -1
- package/docs/chart.examples.md +1 -1
- package/docs/chart.json +10 -1
- package/docs/chart.md +3 -2
- package/docs/checkbox.json +7 -0
- package/docs/checkbox.md +1 -0
- package/docs/code-block.json +92 -92
- package/docs/code-block.md +69 -69
- package/docs/combobox.json +1 -0
- package/docs/combobox.md +1 -1
- package/docs/currency-field.json +40 -1
- package/docs/currency-field.md +5 -1
- package/docs/data-grid.examples.md +2 -2
- package/docs/data-grid.json +24 -7
- package/docs/data-grid.md +1 -1
- package/docs/data-grid.props.md +6 -4
- package/docs/data-list.json +2 -1
- package/docs/data-list.md +1 -1
- package/docs/date-field.json +9 -1
- package/docs/date-field.md +3 -2
- package/docs/date-picker.examples.md +36 -0
- package/docs/date-picker.json +20 -5
- package/docs/date-picker.md +5 -4
- package/docs/datetime-field.json +1 -0
- package/docs/datetime-field.md +1 -1
- package/docs/dialog.examples.md +158 -136
- package/docs/dialog.json +35 -11
- package/docs/dialog.md +4 -2
- package/docs/dialog.props.md +1 -1
- package/docs/drawer.json +5 -0
- package/docs/drawer.md +1 -0
- package/docs/entity-picker.json +19 -4
- package/docs/entity-picker.md +8 -6
- package/docs/event-calendar.json +7 -0
- package/docs/event-calendar.md +1 -0
- package/docs/filter-bar.json +118 -118
- package/docs/filter-bar.md +79 -79
- package/docs/form.json +2 -1
- package/docs/form.md +1 -1
- package/docs/guidelines/README.md +27 -0
- package/docs/guidelines/async-feedback.md +129 -0
- package/docs/guidelines/browsing.md +74 -0
- package/docs/guidelines/builders.md +97 -0
- package/docs/guidelines/composition.md +143 -0
- package/docs/guidelines/conversations.md +59 -0
- package/docs/guidelines/errors-and-conflicts.md +71 -0
- package/docs/guidelines/forms.md +202 -0
- package/docs/guidelines/index.md +129 -0
- package/docs/guidelines/layout-alignment.md +95 -0
- package/docs/guidelines/ledgers.md +45 -0
- package/docs/guidelines/list-pages.md +206 -0
- package/docs/guidelines/overviews.md +76 -0
- package/docs/guidelines/own-elements.md +115 -0
- package/docs/guidelines/reading-permissions.md +55 -0
- package/docs/guidelines/record-pages.md +178 -0
- package/docs/guidelines/reports.md +123 -0
- package/docs/guidelines/shell-composition.md +94 -0
- package/docs/guidelines/workspaces.md +46 -0
- package/docs/icon.json +3 -1
- package/docs/icon.md +3 -3
- package/docs/index.md +12 -0
- package/docs/inline-message.json +14 -2
- package/docs/inline-message.md +4 -3
- package/docs/list-item.json +9 -1
- package/docs/list-item.md +3 -3
- package/docs/list.json +19 -1
- package/docs/list.md +3 -1
- package/docs/markdown.json +79 -79
- package/docs/markdown.md +65 -65
- package/docs/menu.json +12 -0
- package/docs/menu.md +2 -0
- package/docs/message.json +7 -1
- package/docs/message.md +3 -3
- package/docs/multi-select.json +1 -0
- package/docs/multi-select.md +1 -1
- package/docs/notification-center.json +4 -0
- package/docs/notification-center.md +2 -2
- package/docs/number-field.json +1 -0
- package/docs/number-field.md +1 -1
- package/docs/otp-input.json +1 -0
- package/docs/otp-input.md +1 -1
- package/docs/page-header.json +4 -3
- package/docs/page-header.md +2 -2
- package/docs/page.json +1 -0
- package/docs/page.md +1 -0
- package/docs/popover.json +1 -1
- package/docs/progress-indicator.json +4 -3
- package/docs/progress-indicator.md +4 -4
- package/docs/prompt-composer.json +41 -1
- package/docs/prompt-composer.md +5 -1
- package/docs/rating.json +5 -3
- package/docs/rating.md +5 -5
- package/docs/section.json +27 -15
- package/docs/section.md +11 -9
- package/docs/segmented-control.json +36 -12
- package/docs/segmented-control.md +17 -1
- package/docs/select.json +1 -0
- package/docs/select.md +1 -1
- package/docs/side-navigation.json +1 -0
- package/docs/side-navigation.md +1 -1
- package/docs/skills/build-own-element/SKILL.md +90 -0
- package/docs/skills/compose-screen/SKILL.md +95 -0
- package/docs/skills/index.md +9 -0
- package/docs/skills/review-screen/SKILL.md +77 -0
- package/docs/skills/theme-app/SKILL.md +87 -0
- package/docs/skills/waiting-states/SKILL.md +143 -0
- package/docs/sparkline.json +5 -2
- package/docs/sparkline.md +4 -4
- package/docs/split-button.json +4 -1
- package/docs/split-button.md +3 -3
- package/docs/stat-card.json +5 -1
- package/docs/stat-card.md +3 -3
- package/docs/table.examples.md +3 -3
- package/docs/table.json +85 -3
- package/docs/table.md +12 -1
- package/docs/tabs.json +17 -7
- package/docs/tabs.md +3 -2
- package/docs/tag.json +14 -4
- package/docs/tag.md +6 -6
- package/docs/tags-input.json +29 -2
- package/docs/tags-input.md +4 -1
- package/docs/text-field.json +2 -1
- package/docs/text-field.md +2 -2
- package/docs/textarea.json +1 -0
- package/docs/textarea.md +1 -1
- package/docs/time-field.json +1 -0
- package/docs/time-field.md +1 -1
- package/docs/timeline.json +138 -132
- package/docs/timeline.md +125 -125
- package/docs/toast.json +7 -1
- package/docs/toast.md +3 -3
- package/docs/toggle-group.json +14 -3
- package/docs/toggle-group.md +3 -3
- package/docs/toggle.json +12 -3
- package/docs/toggle.md +3 -3
- package/docs/tokens.md +467 -0
- package/docs/tour.json +1 -1
- package/docs/typography.json +4 -2
- package/docs/typography.md +4 -4
- package/fesm2022/slotted-angular-accordion.mjs +4 -2
- package/fesm2022/slotted-angular-accordion.mjs.map +1 -1
- package/fesm2022/slotted-angular-action-bar.mjs +22 -11
- package/fesm2022/slotted-angular-action-bar.mjs.map +1 -1
- package/fesm2022/slotted-angular-action-sheet.mjs +42 -29
- package/fesm2022/slotted-angular-action-sheet.mjs.map +1 -1
- package/fesm2022/slotted-angular-alert.mjs +18 -11
- package/fesm2022/slotted-angular-alert.mjs.map +1 -1
- package/fesm2022/slotted-angular-app-shell.mjs +111 -61
- package/fesm2022/slotted-angular-app-shell.mjs.map +1 -1
- package/fesm2022/slotted-angular-aspect-ratio.mjs +4 -2
- package/fesm2022/slotted-angular-aspect-ratio.mjs.map +1 -1
- package/fesm2022/slotted-angular-attachment.mjs +31 -20
- package/fesm2022/slotted-angular-attachment.mjs.map +1 -1
- package/fesm2022/slotted-angular-avatar-group.mjs +9 -6
- package/fesm2022/slotted-angular-avatar-group.mjs.map +1 -1
- package/fesm2022/slotted-angular-avatar.mjs +14 -7
- package/fesm2022/slotted-angular-avatar.mjs.map +1 -1
- package/fesm2022/slotted-angular-badge.mjs +14 -10
- package/fesm2022/slotted-angular-badge.mjs.map +1 -1
- package/fesm2022/slotted-angular-breadcrumb.mjs +26 -18
- package/fesm2022/slotted-angular-breadcrumb.mjs.map +1 -1
- package/fesm2022/slotted-angular-button-group.mjs +7 -4
- package/fesm2022/slotted-angular-button-group.mjs.map +1 -1
- package/fesm2022/slotted-angular-button.mjs +90 -29
- package/fesm2022/slotted-angular-button.mjs.map +1 -1
- package/fesm2022/slotted-angular-calendar.mjs +235 -58
- package/fesm2022/slotted-angular-calendar.mjs.map +1 -1
- package/fesm2022/slotted-angular-card.mjs +18 -16
- package/fesm2022/slotted-angular-card.mjs.map +1 -1
- package/fesm2022/slotted-angular-carousel.mjs +22 -11
- package/fesm2022/slotted-angular-carousel.mjs.map +1 -1
- package/fesm2022/slotted-angular-cascader.mjs +166 -66
- package/fesm2022/slotted-angular-cascader.mjs.map +1 -1
- package/fesm2022/slotted-angular-chart.mjs +53 -20
- package/fesm2022/slotted-angular-chart.mjs.map +1 -1
- package/fesm2022/slotted-angular-checkbox-group.mjs +5 -3
- package/fesm2022/slotted-angular-checkbox-group.mjs.map +1 -1
- package/fesm2022/slotted-angular-checkbox.mjs +23 -9
- package/fesm2022/slotted-angular-checkbox.mjs.map +1 -1
- package/fesm2022/slotted-angular-code-block.mjs +29 -15
- package/fesm2022/slotted-angular-code-block.mjs.map +1 -1
- package/fesm2022/slotted-angular-collapsible.mjs +20 -15
- package/fesm2022/slotted-angular-collapsible.mjs.map +1 -1
- package/fesm2022/slotted-angular-color-picker.mjs +77 -22
- package/fesm2022/slotted-angular-color-picker.mjs.map +1 -1
- package/fesm2022/slotted-angular-column-manager.mjs +68 -31
- package/fesm2022/slotted-angular-column-manager.mjs.map +1 -1
- package/fesm2022/slotted-angular-combobox.mjs +112 -39
- package/fesm2022/slotted-angular-combobox.mjs.map +1 -1
- package/fesm2022/slotted-angular-command-palette.mjs +150 -54
- package/fesm2022/slotted-angular-command-palette.mjs.map +1 -1
- package/fesm2022/slotted-angular-container.mjs +6 -4
- package/fesm2022/slotted-angular-container.mjs.map +1 -1
- package/fesm2022/slotted-angular-context-menu.mjs +5 -4
- package/fesm2022/slotted-angular-context-menu.mjs.map +1 -1
- package/fesm2022/slotted-angular-currency-field.mjs +149 -32
- package/fesm2022/slotted-angular-currency-field.mjs.map +1 -1
- package/fesm2022/slotted-angular-dashboard-grid.mjs +142 -63
- package/fesm2022/slotted-angular-dashboard-grid.mjs.map +1 -1
- package/fesm2022/slotted-angular-data-grid.mjs +354 -113
- package/fesm2022/slotted-angular-data-grid.mjs.map +1 -1
- package/fesm2022/slotted-angular-data-list.mjs +83 -50
- package/fesm2022/slotted-angular-data-list.mjs.map +1 -1
- package/fesm2022/slotted-angular-date-field.mjs +74 -25
- package/fesm2022/slotted-angular-date-field.mjs.map +1 -1
- package/fesm2022/slotted-angular-date-picker.mjs +112 -40
- package/fesm2022/slotted-angular-date-picker.mjs.map +1 -1
- package/fesm2022/slotted-angular-date-range-picker.mjs +45 -22
- package/fesm2022/slotted-angular-date-range-picker.mjs.map +1 -1
- package/fesm2022/slotted-angular-datetime-field.mjs +48 -16
- package/fesm2022/slotted-angular-datetime-field.mjs.map +1 -1
- package/fesm2022/slotted-angular-datetime-picker.mjs +41 -29
- package/fesm2022/slotted-angular-datetime-picker.mjs.map +1 -1
- package/fesm2022/slotted-angular-datetime-range-picker.mjs +115 -48
- package/fesm2022/slotted-angular-datetime-range-picker.mjs.map +1 -1
- package/fesm2022/slotted-angular-description-list.mjs +33 -19
- package/fesm2022/slotted-angular-description-list.mjs.map +1 -1
- package/fesm2022/slotted-angular-detail-panel.mjs +29 -18
- package/fesm2022/slotted-angular-detail-panel.mjs.map +1 -1
- package/fesm2022/slotted-angular-dialog.mjs +72 -30
- package/fesm2022/slotted-angular-dialog.mjs.map +1 -1
- package/fesm2022/slotted-angular-divider.mjs +7 -5
- package/fesm2022/slotted-angular-divider.mjs.map +1 -1
- package/fesm2022/slotted-angular-drawer.mjs +53 -29
- package/fesm2022/slotted-angular-drawer.mjs.map +1 -1
- package/fesm2022/slotted-angular-entity-picker.mjs +468 -75
- package/fesm2022/slotted-angular-entity-picker.mjs.map +1 -1
- package/fesm2022/slotted-angular-event-calendar.mjs +275 -108
- package/fesm2022/slotted-angular-event-calendar.mjs.map +1 -1
- package/fesm2022/slotted-angular-field-group.mjs +14 -7
- package/fesm2022/slotted-angular-field-group.mjs.map +1 -1
- package/fesm2022/slotted-angular-field.mjs +35 -15
- package/fesm2022/slotted-angular-field.mjs.map +1 -1
- package/fesm2022/slotted-angular-filter-bar.mjs +112 -51
- package/fesm2022/slotted-angular-filter-bar.mjs.map +1 -1
- package/fesm2022/slotted-angular-form.mjs +18 -10
- package/fesm2022/slotted-angular-form.mjs.map +1 -1
- package/fesm2022/slotted-angular-fullscreen.mjs +14 -8
- package/fesm2022/slotted-angular-fullscreen.mjs.map +1 -1
- package/fesm2022/slotted-angular-grid.mjs +4 -2
- package/fesm2022/slotted-angular-grid.mjs.map +1 -1
- package/fesm2022/slotted-angular-highlight.mjs +5 -3
- package/fesm2022/slotted-angular-highlight.mjs.map +1 -1
- package/fesm2022/slotted-angular-hover-card.mjs +5 -4
- package/fesm2022/slotted-angular-hover-card.mjs.map +1 -1
- package/fesm2022/slotted-angular-icon.mjs +6 -3
- package/fesm2022/slotted-angular-icon.mjs.map +1 -1
- package/fesm2022/slotted-angular-image.mjs +13 -10
- package/fesm2022/slotted-angular-image.mjs.map +1 -1
- package/fesm2022/slotted-angular-import-export-center.mjs +167 -99
- package/fesm2022/slotted-angular-import-export-center.mjs.map +1 -1
- package/fesm2022/slotted-angular-inline-message.mjs +88 -13
- package/fesm2022/slotted-angular-inline-message.mjs.map +1 -1
- package/fesm2022/slotted-angular-inline.mjs +4 -2
- package/fesm2022/slotted-angular-inline.mjs.map +1 -1
- package/fesm2022/slotted-angular-kbd.mjs +11 -7
- package/fesm2022/slotted-angular-kbd.mjs.map +1 -1
- package/fesm2022/slotted-angular-link.mjs +5 -3
- package/fesm2022/slotted-angular-link.mjs.map +1 -1
- package/fesm2022/slotted-angular-list-item.mjs +21 -18
- package/fesm2022/slotted-angular-list-item.mjs.map +1 -1
- package/fesm2022/slotted-angular-list.mjs +37 -22
- package/fesm2022/slotted-angular-list.mjs.map +1 -1
- package/fesm2022/slotted-angular-listbox.mjs +39 -21
- package/fesm2022/slotted-angular-listbox.mjs.map +1 -1
- package/fesm2022/slotted-angular-loading-overlay.mjs +59 -22
- package/fesm2022/slotted-angular-loading-overlay.mjs.map +1 -1
- package/fesm2022/slotted-angular-markdown.mjs +31 -19
- package/fesm2022/slotted-angular-markdown.mjs.map +1 -1
- package/fesm2022/slotted-angular-menu.mjs +51 -29
- package/fesm2022/slotted-angular-menu.mjs.map +1 -1
- package/fesm2022/slotted-angular-menubar.mjs +4 -2
- package/fesm2022/slotted-angular-menubar.mjs.map +1 -1
- package/fesm2022/slotted-angular-message-scroller.mjs +28 -15
- package/fesm2022/slotted-angular-message-scroller.mjs.map +1 -1
- package/fesm2022/slotted-angular-message.mjs +113 -51
- package/fesm2022/slotted-angular-message.mjs.map +1 -1
- package/fesm2022/slotted-angular-multi-select.mjs +189 -87
- package/fesm2022/slotted-angular-multi-select.mjs.map +1 -1
- package/fesm2022/slotted-angular-navigation-menu.mjs +34 -26
- package/fesm2022/slotted-angular-navigation-menu.mjs.map +1 -1
- package/fesm2022/slotted-angular-notification-center.mjs +108 -65
- package/fesm2022/slotted-angular-notification-center.mjs.map +1 -1
- package/fesm2022/slotted-angular-number-field.mjs +23 -11
- package/fesm2022/slotted-angular-number-field.mjs.map +1 -1
- package/fesm2022/slotted-angular-otp-input.mjs +13 -8
- package/fesm2022/slotted-angular-otp-input.mjs.map +1 -1
- package/fesm2022/slotted-angular-page-header.mjs +75 -45
- package/fesm2022/slotted-angular-page-header.mjs.map +1 -1
- package/fesm2022/slotted-angular-page.mjs +38 -10
- package/fesm2022/slotted-angular-page.mjs.map +1 -1
- package/fesm2022/slotted-angular-pagination.mjs +35 -22
- package/fesm2022/slotted-angular-pagination.mjs.map +1 -1
- package/fesm2022/slotted-angular-popover.mjs +32 -19
- package/fesm2022/slotted-angular-popover.mjs.map +1 -1
- package/fesm2022/slotted-angular-progress-indicator.mjs +236 -52
- package/fesm2022/slotted-angular-progress-indicator.mjs.map +1 -1
- package/fesm2022/slotted-angular-prompt-composer.mjs +41 -20
- package/fesm2022/slotted-angular-prompt-composer.mjs.map +1 -1
- package/fesm2022/slotted-angular-prose.mjs +14 -11
- package/fesm2022/slotted-angular-prose.mjs.map +1 -1
- package/fesm2022/slotted-angular-radio-group.mjs +15 -9
- package/fesm2022/slotted-angular-radio-group.mjs.map +1 -1
- package/fesm2022/slotted-angular-rating.mjs +138 -82
- package/fesm2022/slotted-angular-rating.mjs.map +1 -1
- package/fesm2022/slotted-angular-result-state.mjs +16 -12
- package/fesm2022/slotted-angular-result-state.mjs.map +1 -1
- package/fesm2022/slotted-angular-saved-views.mjs +43 -16
- package/fesm2022/slotted-angular-saved-views.mjs.map +1 -1
- package/fesm2022/slotted-angular-scroll-area.mjs +13 -5
- package/fesm2022/slotted-angular-scroll-area.mjs.map +1 -1
- package/fesm2022/slotted-angular-section.mjs +53 -18
- package/fesm2022/slotted-angular-section.mjs.map +1 -1
- package/fesm2022/slotted-angular-segmented-control.mjs +37 -11
- package/fesm2022/slotted-angular-segmented-control.mjs.map +1 -1
- package/fesm2022/slotted-angular-select.mjs +184 -94
- package/fesm2022/slotted-angular-select.mjs.map +1 -1
- package/fesm2022/slotted-angular-side-navigation.mjs +46 -35
- package/fesm2022/slotted-angular-side-navigation.mjs.map +1 -1
- package/fesm2022/slotted-angular-skeleton.mjs +32 -16
- package/fesm2022/slotted-angular-skeleton.mjs.map +1 -1
- package/fesm2022/slotted-angular-slider.mjs +31 -11
- package/fesm2022/slotted-angular-slider.mjs.map +1 -1
- package/fesm2022/slotted-angular-sparkline.mjs +41 -14
- package/fesm2022/slotted-angular-sparkline.mjs.map +1 -1
- package/fesm2022/slotted-angular-split-button.mjs +25 -11
- package/fesm2022/slotted-angular-split-button.mjs.map +1 -1
- package/fesm2022/slotted-angular-splitter.mjs +11 -9
- package/fesm2022/slotted-angular-splitter.mjs.map +1 -1
- package/fesm2022/slotted-angular-stack.mjs +4 -2
- package/fesm2022/slotted-angular-stack.mjs.map +1 -1
- package/fesm2022/slotted-angular-stat-card.mjs +35 -28
- package/fesm2022/slotted-angular-stat-card.mjs.map +1 -1
- package/fesm2022/slotted-angular-status-indicator.mjs +22 -8
- package/fesm2022/slotted-angular-status-indicator.mjs.map +1 -1
- package/fesm2022/slotted-angular-stepper.mjs +40 -15
- package/fesm2022/slotted-angular-stepper.mjs.map +1 -1
- package/fesm2022/slotted-angular-switch.mjs +15 -10
- package/fesm2022/slotted-angular-switch.mjs.map +1 -1
- package/fesm2022/slotted-angular-table-of-contents.mjs +29 -21
- package/fesm2022/slotted-angular-table-of-contents.mjs.map +1 -1
- package/fesm2022/slotted-angular-table.mjs +243 -73
- package/fesm2022/slotted-angular-table.mjs.map +1 -1
- package/fesm2022/slotted-angular-tabs.mjs +42 -18
- package/fesm2022/slotted-angular-tabs.mjs.map +1 -1
- package/fesm2022/slotted-angular-tag.mjs +19 -12
- package/fesm2022/slotted-angular-tag.mjs.map +1 -1
- package/fesm2022/slotted-angular-tags-input.mjs +253 -28
- package/fesm2022/slotted-angular-tags-input.mjs.map +1 -1
- package/fesm2022/slotted-angular-text-field.mjs +49 -15
- package/fesm2022/slotted-angular-text-field.mjs.map +1 -1
- package/fesm2022/slotted-angular-textarea.mjs +5 -3
- package/fesm2022/slotted-angular-textarea.mjs.map +1 -1
- package/fesm2022/slotted-angular-time-field.mjs +48 -14
- package/fesm2022/slotted-angular-time-field.mjs.map +1 -1
- package/fesm2022/slotted-angular-time-picker.mjs +32 -20
- package/fesm2022/slotted-angular-time-picker.mjs.map +1 -1
- package/fesm2022/slotted-angular-time-range-picker.mjs +113 -46
- package/fesm2022/slotted-angular-time-range-picker.mjs.map +1 -1
- package/fesm2022/slotted-angular-timeline.mjs +135 -64
- package/fesm2022/slotted-angular-timeline.mjs.map +1 -1
- package/fesm2022/slotted-angular-toast.mjs +43 -31
- package/fesm2022/slotted-angular-toast.mjs.map +1 -1
- package/fesm2022/slotted-angular-toggle-group.mjs +25 -8
- package/fesm2022/slotted-angular-toggle-group.mjs.map +1 -1
- package/fesm2022/slotted-angular-toggle.mjs +9 -4
- package/fesm2022/slotted-angular-toggle.mjs.map +1 -1
- package/fesm2022/slotted-angular-toolbar.mjs +22 -11
- package/fesm2022/slotted-angular-toolbar.mjs.map +1 -1
- package/fesm2022/slotted-angular-tooltip.mjs +15 -6
- package/fesm2022/slotted-angular-tooltip.mjs.map +1 -1
- package/fesm2022/slotted-angular-top-navigation.mjs +64 -44
- package/fesm2022/slotted-angular-top-navigation.mjs.map +1 -1
- package/fesm2022/slotted-angular-tour.mjs +47 -22
- package/fesm2022/slotted-angular-tour.mjs.map +1 -1
- package/fesm2022/slotted-angular-transfer.mjs +69 -30
- package/fesm2022/slotted-angular-transfer.mjs.map +1 -1
- package/fesm2022/slotted-angular-tree.mjs +74 -26
- package/fesm2022/slotted-angular-tree.mjs.map +1 -1
- package/fesm2022/slotted-angular-typography.mjs +8 -4
- package/fesm2022/slotted-angular-typography.mjs.map +1 -1
- package/fesm2022/slotted-angular-upload.mjs +125 -57
- package/fesm2022/slotted-angular-upload.mjs.map +1 -1
- package/fesm2022/slotted-angular-visually-hidden.mjs +4 -2
- package/fesm2022/slotted-angular-visually-hidden.mjs.map +1 -1
- package/fesm2022/slotted-angular-wizard.mjs +163 -65
- package/fesm2022/slotted-angular-wizard.mjs.map +1 -1
- package/package.json +3 -3
- package/types/slotted-angular-accordion.d.ts.map +1 -1
- package/types/slotted-angular-action-bar.d.ts.map +1 -1
- package/types/slotted-angular-action-sheet.d.ts.map +1 -1
- package/types/slotted-angular-alert.d.ts +2 -2
- package/types/slotted-angular-alert.d.ts.map +1 -1
- package/types/slotted-angular-app-shell.d.ts +11 -3
- package/types/slotted-angular-app-shell.d.ts.map +1 -1
- package/types/slotted-angular-aspect-ratio.d.ts.map +1 -1
- package/types/slotted-angular-attachment.d.ts +1 -1
- package/types/slotted-angular-attachment.d.ts.map +1 -1
- package/types/slotted-angular-avatar-group.d.ts.map +1 -1
- package/types/slotted-angular-avatar.d.ts +11 -3
- package/types/slotted-angular-avatar.d.ts.map +1 -1
- package/types/slotted-angular-badge.d.ts +1 -1
- package/types/slotted-angular-badge.d.ts.map +1 -1
- package/types/slotted-angular-breadcrumb.d.ts.map +1 -1
- package/types/slotted-angular-button-group.d.ts +1 -1
- package/types/slotted-angular-button-group.d.ts.map +1 -1
- package/types/slotted-angular-button.d.ts +33 -13
- package/types/slotted-angular-button.d.ts.map +1 -1
- package/types/slotted-angular-calendar.d.ts +30 -2
- package/types/slotted-angular-calendar.d.ts.map +1 -1
- package/types/slotted-angular-card.d.ts.map +1 -1
- package/types/slotted-angular-carousel.d.ts.map +1 -1
- package/types/slotted-angular-cascader.d.ts.map +1 -1
- package/types/slotted-angular-chart.d.ts +10 -0
- package/types/slotted-angular-chart.d.ts.map +1 -1
- package/types/slotted-angular-checkbox-group.d.ts.map +1 -1
- package/types/slotted-angular-checkbox.d.ts +7 -1
- package/types/slotted-angular-checkbox.d.ts.map +1 -1
- package/types/slotted-angular-code-block.d.ts +1 -1
- package/types/slotted-angular-code-block.d.ts.map +1 -1
- package/types/slotted-angular-collapsible.d.ts +1 -1
- package/types/slotted-angular-collapsible.d.ts.map +1 -1
- package/types/slotted-angular-color-picker.d.ts.map +1 -1
- package/types/slotted-angular-column-manager.d.ts.map +1 -1
- package/types/slotted-angular-combobox.d.ts +5 -1
- package/types/slotted-angular-combobox.d.ts.map +1 -1
- package/types/slotted-angular-command-palette.d.ts +10 -1
- package/types/slotted-angular-command-palette.d.ts.map +1 -1
- package/types/slotted-angular-container.d.ts.map +1 -1
- package/types/slotted-angular-context-menu.d.ts.map +1 -1
- package/types/slotted-angular-currency-field.d.ts +63 -15
- package/types/slotted-angular-currency-field.d.ts.map +1 -1
- package/types/slotted-angular-dashboard-grid.d.ts.map +1 -1
- package/types/slotted-angular-data-grid.d.ts +49 -4
- package/types/slotted-angular-data-grid.d.ts.map +1 -1
- package/types/slotted-angular-data-list.d.ts.map +1 -1
- package/types/slotted-angular-date-field.d.ts +11 -1
- package/types/slotted-angular-date-field.d.ts.map +1 -1
- package/types/slotted-angular-date-picker.d.ts +38 -12
- package/types/slotted-angular-date-picker.d.ts.map +1 -1
- package/types/slotted-angular-date-range-picker.d.ts +0 -1
- package/types/slotted-angular-date-range-picker.d.ts.map +1 -1
- package/types/slotted-angular-datetime-field.d.ts.map +1 -1
- package/types/slotted-angular-datetime-picker.d.ts +0 -1
- package/types/slotted-angular-datetime-picker.d.ts.map +1 -1
- package/types/slotted-angular-datetime-range-picker.d.ts +0 -1
- package/types/slotted-angular-datetime-range-picker.d.ts.map +1 -1
- package/types/slotted-angular-description-list.d.ts.map +1 -1
- package/types/slotted-angular-detail-panel.d.ts.map +1 -1
- package/types/slotted-angular-dialog.d.ts +10 -3
- package/types/slotted-angular-dialog.d.ts.map +1 -1
- package/types/slotted-angular-divider.d.ts.map +1 -1
- package/types/slotted-angular-drawer.d.ts +7 -1
- package/types/slotted-angular-drawer.d.ts.map +1 -1
- package/types/slotted-angular-entity-picker.d.ts +63 -15
- package/types/slotted-angular-entity-picker.d.ts.map +1 -1
- package/types/slotted-angular-event-calendar.d.ts +9 -2
- package/types/slotted-angular-event-calendar.d.ts.map +1 -1
- package/types/slotted-angular-field-group.d.ts.map +1 -1
- package/types/slotted-angular-field.d.ts.map +1 -1
- package/types/slotted-angular-filter-bar.d.ts.map +1 -1
- package/types/slotted-angular-form.d.ts.map +1 -1
- package/types/slotted-angular-fullscreen.d.ts.map +1 -1
- package/types/slotted-angular-grid.d.ts.map +1 -1
- package/types/slotted-angular-highlight.d.ts.map +1 -1
- package/types/slotted-angular-hover-card.d.ts.map +1 -1
- package/types/slotted-angular-icon.d.ts +2 -2
- package/types/slotted-angular-icon.d.ts.map +1 -1
- package/types/slotted-angular-image.d.ts.map +1 -1
- package/types/slotted-angular-import-export-center.d.ts.map +1 -1
- package/types/slotted-angular-inline-message.d.ts +25 -25
- package/types/slotted-angular-inline-message.d.ts.map +1 -1
- package/types/slotted-angular-inline.d.ts.map +1 -1
- package/types/slotted-angular-kbd.d.ts.map +1 -1
- package/types/slotted-angular-link.d.ts.map +1 -1
- package/types/slotted-angular-list-item.d.ts +1 -1
- package/types/slotted-angular-list-item.d.ts.map +1 -1
- package/types/slotted-angular-list.d.ts +42 -27
- package/types/slotted-angular-list.d.ts.map +1 -1
- package/types/slotted-angular-listbox.d.ts.map +1 -1
- package/types/slotted-angular-loading-overlay.d.ts.map +1 -1
- package/types/slotted-angular-markdown.d.ts.map +1 -1
- package/types/slotted-angular-menu.d.ts +11 -2
- package/types/slotted-angular-menu.d.ts.map +1 -1
- package/types/slotted-angular-menubar.d.ts.map +1 -1
- package/types/slotted-angular-message-scroller.d.ts.map +1 -1
- package/types/slotted-angular-message.d.ts +1 -1
- package/types/slotted-angular-message.d.ts.map +1 -1
- package/types/slotted-angular-multi-select.d.ts +15 -1
- package/types/slotted-angular-multi-select.d.ts.map +1 -1
- package/types/slotted-angular-navigation-menu.d.ts.map +1 -1
- package/types/slotted-angular-notification-center.d.ts +1 -1
- package/types/slotted-angular-notification-center.d.ts.map +1 -1
- package/types/slotted-angular-number-field.d.ts.map +1 -1
- package/types/slotted-angular-otp-input.d.ts.map +1 -1
- package/types/slotted-angular-page-header.d.ts +4 -4
- package/types/slotted-angular-page-header.d.ts.map +1 -1
- package/types/slotted-angular-page.d.ts.map +1 -1
- package/types/slotted-angular-pagination.d.ts.map +1 -1
- package/types/slotted-angular-popover.d.ts.map +1 -1
- package/types/slotted-angular-progress-indicator.d.ts +8 -1
- package/types/slotted-angular-progress-indicator.d.ts.map +1 -1
- package/types/slotted-angular-prompt-composer.d.ts +11 -2
- package/types/slotted-angular-prompt-composer.d.ts.map +1 -1
- package/types/slotted-angular-prose.d.ts.map +1 -1
- package/types/slotted-angular-radio-group.d.ts.map +1 -1
- package/types/slotted-angular-rating.d.ts +1 -1
- package/types/slotted-angular-rating.d.ts.map +1 -1
- package/types/slotted-angular-result-state.d.ts.map +1 -1
- package/types/slotted-angular-saved-views.d.ts.map +1 -1
- package/types/slotted-angular-scroll-area.d.ts.map +1 -1
- package/types/slotted-angular-section.d.ts +11 -3
- package/types/slotted-angular-section.d.ts.map +1 -1
- package/types/slotted-angular-segmented-control.d.ts +15 -2
- package/types/slotted-angular-segmented-control.d.ts.map +1 -1
- package/types/slotted-angular-select.d.ts +12 -2
- package/types/slotted-angular-select.d.ts.map +1 -1
- package/types/slotted-angular-side-navigation.d.ts.map +1 -1
- package/types/slotted-angular-skeleton.d.ts.map +1 -1
- package/types/slotted-angular-slider.d.ts.map +1 -1
- package/types/slotted-angular-sparkline.d.ts +7 -1
- package/types/slotted-angular-sparkline.d.ts.map +1 -1
- package/types/slotted-angular-split-button.d.ts +2 -2
- package/types/slotted-angular-split-button.d.ts.map +1 -1
- package/types/slotted-angular-splitter.d.ts.map +1 -1
- package/types/slotted-angular-stack.d.ts.map +1 -1
- package/types/slotted-angular-stat-card.d.ts +1 -1
- package/types/slotted-angular-stat-card.d.ts.map +1 -1
- package/types/slotted-angular-status-indicator.d.ts +1 -1
- package/types/slotted-angular-status-indicator.d.ts.map +1 -1
- package/types/slotted-angular-stepper.d.ts +1 -1
- package/types/slotted-angular-stepper.d.ts.map +1 -1
- package/types/slotted-angular-switch.d.ts.map +1 -1
- package/types/slotted-angular-table-of-contents.d.ts.map +1 -1
- package/types/slotted-angular-table.d.ts +63 -6
- package/types/slotted-angular-table.d.ts.map +1 -1
- package/types/slotted-angular-tabs.d.ts +3 -4
- package/types/slotted-angular-tabs.d.ts.map +1 -1
- package/types/slotted-angular-tag.d.ts +1 -1
- package/types/slotted-angular-tag.d.ts.map +1 -1
- package/types/slotted-angular-tags-input.d.ts +33 -1
- package/types/slotted-angular-tags-input.d.ts.map +1 -1
- package/types/slotted-angular-text-field.d.ts.map +1 -1
- package/types/slotted-angular-textarea.d.ts.map +1 -1
- package/types/slotted-angular-theme.d.ts +1 -1
- package/types/slotted-angular-time-field.d.ts.map +1 -1
- package/types/slotted-angular-time-picker.d.ts +0 -1
- package/types/slotted-angular-time-picker.d.ts.map +1 -1
- package/types/slotted-angular-time-range-picker.d.ts +0 -1
- package/types/slotted-angular-time-range-picker.d.ts.map +1 -1
- package/types/slotted-angular-timeline.d.ts +1 -1
- package/types/slotted-angular-timeline.d.ts.map +1 -1
- package/types/slotted-angular-toast.d.ts +3 -3
- package/types/slotted-angular-toast.d.ts.map +1 -1
- package/types/slotted-angular-toggle-group.d.ts +8 -2
- package/types/slotted-angular-toggle-group.d.ts.map +1 -1
- package/types/slotted-angular-toggle.d.ts +1 -1
- package/types/slotted-angular-toggle.d.ts.map +1 -1
- package/types/slotted-angular-toolbar.d.ts.map +1 -1
- package/types/slotted-angular-tooltip.d.ts.map +1 -1
- package/types/slotted-angular-top-navigation.d.ts.map +1 -1
- package/types/slotted-angular-tour.d.ts.map +1 -1
- package/types/slotted-angular-transfer.d.ts.map +1 -1
- package/types/slotted-angular-tree.d.ts.map +1 -1
- package/types/slotted-angular-typography.d.ts +1 -1
- package/types/slotted-angular-typography.d.ts.map +1 -1
- package/types/slotted-angular-upload.d.ts +2 -2
- package/types/slotted-angular-upload.d.ts.map +1 -1
- package/types/slotted-angular-visually-hidden.d.ts.map +1 -1
- package/types/slotted-angular-wizard.d.ts.map +1 -1
|
@@ -19,6 +19,10 @@
|
|
|
19
19
|
"condense": [
|
|
20
20
|
"none",
|
|
21
21
|
"icons"
|
|
22
|
+
],
|
|
23
|
+
"variant": [
|
|
24
|
+
"track",
|
|
25
|
+
"underline"
|
|
22
26
|
]
|
|
23
27
|
},
|
|
24
28
|
"members": {
|
|
@@ -29,7 +33,8 @@
|
|
|
29
33
|
"orientation": "horizontal",
|
|
30
34
|
"condense": "none",
|
|
31
35
|
"fullWidth": false,
|
|
32
|
-
"disabled": false
|
|
36
|
+
"disabled": false,
|
|
37
|
+
"variant": "track"
|
|
33
38
|
},
|
|
34
39
|
"capabilities": [
|
|
35
40
|
"selection",
|
|
@@ -145,6 +150,13 @@
|
|
|
145
150
|
"appliesTo": "slSegmentedControl",
|
|
146
151
|
"description": "How the segments flow and which way the thumb travels. A horizontal set writes aria-orientation, because radiogroup already implies vertical"
|
|
147
152
|
},
|
|
153
|
+
{
|
|
154
|
+
"name": "variant",
|
|
155
|
+
"type": "'track' | 'underline'",
|
|
156
|
+
"defaultValue": "track",
|
|
157
|
+
"appliesTo": "slSegmentedControl",
|
|
158
|
+
"description": "How the choice is drawn: a track with a thumb, or the words alone with the chosen one underlined"
|
|
159
|
+
},
|
|
148
160
|
{
|
|
149
161
|
"name": "condense",
|
|
150
162
|
"type": "'none' | 'icons'",
|
|
@@ -262,14 +274,12 @@
|
|
|
262
274
|
}
|
|
263
275
|
},
|
|
264
276
|
"tokens": [
|
|
265
|
-
"--slotted-border-
|
|
266
|
-
"--slotted-control-border-color",
|
|
277
|
+
"--slotted-border-width-thick",
|
|
267
278
|
"--slotted-control-border-width",
|
|
268
279
|
"--slotted-control-font-family",
|
|
269
280
|
"--slotted-control-font-size-lg",
|
|
270
281
|
"--slotted-control-font-size-md",
|
|
271
282
|
"--slotted-control-font-size-sm",
|
|
272
|
-
"--slotted-control-font-weight",
|
|
273
283
|
"--slotted-control-gap-lg",
|
|
274
284
|
"--slotted-control-gap-md",
|
|
275
285
|
"--slotted-control-gap-sm",
|
|
@@ -286,8 +296,6 @@
|
|
|
286
296
|
"--slotted-control-padding-inline-md",
|
|
287
297
|
"--slotted-control-padding-inline-sm",
|
|
288
298
|
"--slotted-control-radius",
|
|
289
|
-
"--slotted-control-shadow",
|
|
290
|
-
"--slotted-control-surface",
|
|
291
299
|
"--slotted-control-transition-duration",
|
|
292
300
|
"--slotted-control-transition-easing",
|
|
293
301
|
"--slotted-disabled-background",
|
|
@@ -298,7 +306,10 @@
|
|
|
298
306
|
"--slotted-easing-standard",
|
|
299
307
|
"--slotted-focus-ring-color",
|
|
300
308
|
"--slotted-focus-ring-color-invalid",
|
|
309
|
+
"--slotted-focus-ring-offset",
|
|
301
310
|
"--slotted-focus-ring-width",
|
|
311
|
+
"--slotted-font-weight-medium",
|
|
312
|
+
"--slotted-radius-full",
|
|
302
313
|
"--slotted-radius-xs",
|
|
303
314
|
"--slotted-segmented-control-active-background",
|
|
304
315
|
"--slotted-segmented-control-background",
|
|
@@ -309,24 +320,29 @@
|
|
|
309
320
|
"--slotted-segmented-control-disabled-color",
|
|
310
321
|
"--slotted-segmented-control-disabled-indicator-background",
|
|
311
322
|
"--slotted-segmented-control-divider-color",
|
|
323
|
+
"--slotted-segmented-control-font-weight",
|
|
324
|
+
"--slotted-segmented-control-gap",
|
|
312
325
|
"--slotted-segmented-control-hover-background",
|
|
313
326
|
"--slotted-segmented-control-indicator-background",
|
|
314
327
|
"--slotted-segmented-control-indicator-border-color",
|
|
328
|
+
"--slotted-segmented-control-indicator-shadow",
|
|
315
329
|
"--slotted-segmented-control-inset",
|
|
316
330
|
"--slotted-segmented-control-invalid-border-color",
|
|
317
331
|
"--slotted-segmented-control-invalid-edge-width",
|
|
318
332
|
"--slotted-segmented-control-invalid-focus-ring-color",
|
|
319
333
|
"--slotted-segmented-control-radius",
|
|
320
334
|
"--slotted-segmented-control-shadow",
|
|
335
|
+
"--slotted-segmented-control-underline-checked-color",
|
|
336
|
+
"--slotted-segmented-control-underline-color",
|
|
337
|
+
"--slotted-segmented-control-underline-gap",
|
|
338
|
+
"--slotted-shadow-xs",
|
|
321
339
|
"--slotted-space-1",
|
|
340
|
+
"--slotted-space-6",
|
|
341
|
+
"--slotted-surface-raised",
|
|
322
342
|
"--slotted-target-min",
|
|
323
343
|
"--slotted-text",
|
|
324
|
-
"--slotted-
|
|
325
|
-
"--slotted-tone-
|
|
326
|
-
"--slotted-tone-accent-text",
|
|
327
|
-
"--slotted-tone-danger-border",
|
|
328
|
-
"--slotted-tone-secondary-subtle-active",
|
|
329
|
-
"--slotted-tone-secondary-subtle-hover"
|
|
344
|
+
"--slotted-text-muted",
|
|
345
|
+
"--slotted-tone-danger-border"
|
|
330
346
|
],
|
|
331
347
|
"examples": [
|
|
332
348
|
{
|
|
@@ -369,6 +385,14 @@
|
|
|
369
385
|
"source": "<div slSegmentedControl aria-label=\"Alinhamento\" defaultValue=\"center\">\n <label slSegment value=\"start\" aria-label=\"Início\">\n <ng-icon slSegmentIcon name=\"lucideAlignLeft\" />\n </label>\n</div>\n",
|
|
370
386
|
"verdict": "excerpt"
|
|
371
387
|
},
|
|
388
|
+
{
|
|
389
|
+
"id": "variants",
|
|
390
|
+
"title": "A track, or the words alone",
|
|
391
|
+
"note": "underline draws the same radio group as words: each as wide as itself, the chosen one in the text colour and underlined, the others muted. One tab stop, the arrows move the value, and inside a field the label names the set.",
|
|
392
|
+
"language": "html",
|
|
393
|
+
"source": "<div slSegmentedControl aria-label=\"Período\" defaultValue=\"month\" variant=\"underline\">\n <label slSegment value=\"day\">Dia</label>\n <label slSegment value=\"week\">Semana</label>\n <label slSegment value=\"month\">Mês</label>\n</div>\n",
|
|
394
|
+
"verdict": "excerpt"
|
|
395
|
+
},
|
|
372
396
|
{
|
|
373
397
|
"id": "condense",
|
|
374
398
|
"title": "Narrower than its words",
|
|
@@ -48,6 +48,7 @@ Excerpt — not a complete module
|
|
|
48
48
|
| `name` | `string` | — | slSegmentedControl | The submission name the segments share, and the reason the platform treats them as one radio group. Generated when none is written, from an application-scoped factory so the server and the client agree |
|
|
49
49
|
| `size` | `'sm' \| 'md' \| 'lg'` | md | slSegmentedControl | The control step. The track measures its segments back from it, so the whole control is exactly as tall as the field beside it |
|
|
50
50
|
| `orientation` | `'horizontal' \| 'vertical'` | horizontal | slSegmentedControl | How the segments flow and which way the thumb travels. A horizontal set writes aria-orientation, because radiogroup already implies vertical |
|
|
51
|
+
| `variant` | `'track' \| 'underline'` | track | slSegmentedControl | How the choice is drawn: a track with a thumb, or the words alone with the chosen one underlined |
|
|
51
52
|
| `condense` | `'none' \| 'icons'` | none | slSegmentedControl | What the control does when it is narrower than its labels need. icons keeps the marks and hides the words, and makes the control take its parent’s width so there is a width to ask a question about |
|
|
52
53
|
| `fullWidth` | `boolean` | false | slSegmentedControl | Whether the equal columns spread across the whole line. Left alone every column is the widest label’s |
|
|
53
54
|
| `disabled` | `boolean` | false | slSegmentedControl | Unstated rather than false, so the control defers to the field around it and to a form that disables it. Stated, it reaches every radio as the native attribute |
|
|
@@ -76,6 +77,7 @@ Excerpt — not a complete module
|
|
|
76
77
|
| `size` | `sm`, `md`, `lg` | `md` |
|
|
77
78
|
| `orientation` | `horizontal`, `vertical` | `horizontal` |
|
|
78
79
|
| `condense` | `none`, `icons` | `none` |
|
|
80
|
+
| `variant` | `track`, `underline` | `track` |
|
|
79
81
|
|
|
80
82
|
## Rules
|
|
81
83
|
|
|
@@ -88,7 +90,7 @@ Excerpt — not a complete module
|
|
|
88
90
|
|
|
89
91
|
## Tokens
|
|
90
92
|
|
|
91
|
-
`--slotted-border-
|
|
93
|
+
`--slotted-border-width-thick`, `--slotted-control-border-width`, `--slotted-control-font-family`, `--slotted-control-font-size-lg`, `--slotted-control-font-size-md`, `--slotted-control-font-size-sm`, `--slotted-control-gap-lg`, `--slotted-control-gap-md`, `--slotted-control-gap-sm`, `--slotted-control-height-lg`, `--slotted-control-height-md`, `--slotted-control-height-sm`, `--slotted-control-icon-size-lg`, `--slotted-control-icon-size-md`, `--slotted-control-icon-size-sm`, `--slotted-control-invalid-edge-width`, `--slotted-control-letter-spacing`, `--slotted-control-line-height`, `--slotted-control-padding-inline-lg`, `--slotted-control-padding-inline-md`, `--slotted-control-padding-inline-sm`, `--slotted-control-radius`, `--slotted-control-transition-duration`, `--slotted-control-transition-easing`, `--slotted-disabled-background`, `--slotted-disabled-border`, `--slotted-disabled-foreground`, `--slotted-duration-instant`, `--slotted-duration-medium`, `--slotted-easing-standard`, `--slotted-focus-ring-color`, `--slotted-focus-ring-color-invalid`, `--slotted-focus-ring-offset`, `--slotted-focus-ring-width`, `--slotted-font-weight-medium`, `--slotted-radius-full`, `--slotted-radius-xs`, `--slotted-segmented-control-active-background`, `--slotted-segmented-control-background`, `--slotted-segmented-control-border-color`, `--slotted-segmented-control-checked-color`, `--slotted-segmented-control-color`, `--slotted-segmented-control-disabled-border-color`, `--slotted-segmented-control-disabled-color`, `--slotted-segmented-control-disabled-indicator-background`, `--slotted-segmented-control-divider-color`, `--slotted-segmented-control-font-weight`, `--slotted-segmented-control-gap`, `--slotted-segmented-control-hover-background`, `--slotted-segmented-control-indicator-background`, `--slotted-segmented-control-indicator-border-color`, `--slotted-segmented-control-indicator-shadow`, `--slotted-segmented-control-inset`, `--slotted-segmented-control-invalid-border-color`, `--slotted-segmented-control-invalid-edge-width`, `--slotted-segmented-control-invalid-focus-ring-color`, `--slotted-segmented-control-radius`, `--slotted-segmented-control-shadow`, `--slotted-segmented-control-underline-checked-color`, `--slotted-segmented-control-underline-color`, `--slotted-segmented-control-underline-gap`, `--slotted-shadow-xs`, `--slotted-space-1`, `--slotted-space-6`, `--slotted-surface-raised`, `--slotted-target-min`, `--slotted-text`, `--slotted-text-muted`, `--slotted-tone-danger-border`
|
|
92
94
|
|
|
93
95
|
## Examples
|
|
94
96
|
|
|
@@ -145,6 +147,20 @@ Excerpt — not a complete module
|
|
|
145
147
|
</div>
|
|
146
148
|
```
|
|
147
149
|
|
|
150
|
+
### A track, or the words alone
|
|
151
|
+
|
|
152
|
+
underline draws the same radio group as words: each as wide as itself, the chosen one in the text colour and underlined, the others muted. One tab stop, the arrows move the value, and inside a field the label names the set.
|
|
153
|
+
|
|
154
|
+
Excerpt — not a complete module
|
|
155
|
+
|
|
156
|
+
```html
|
|
157
|
+
<div slSegmentedControl aria-label="Período" defaultValue="month" variant="underline">
|
|
158
|
+
<label slSegment value="day">Dia</label>
|
|
159
|
+
<label slSegment value="week">Semana</label>
|
|
160
|
+
<label slSegment value="month">Mês</label>
|
|
161
|
+
</div>
|
|
162
|
+
```
|
|
163
|
+
|
|
148
164
|
### Narrower than its words
|
|
149
165
|
|
|
150
166
|
Below the width its labels need, a control told to condense keeps its marks and hides its words — hidden, never removed, so every segment is announced the same at every width.
|
package/docs/select.json
CHANGED
|
@@ -829,6 +829,7 @@
|
|
|
829
829
|
"--slotted-border-width-thin",
|
|
830
830
|
"--slotted-control-border-color",
|
|
831
831
|
"--slotted-control-border-width",
|
|
832
|
+
"--slotted-control-focus-ring-offset",
|
|
832
833
|
"--slotted-control-font-family",
|
|
833
834
|
"--slotted-control-font-size-lg",
|
|
834
835
|
"--slotted-control-font-size-md",
|
package/docs/select.md
CHANGED
|
@@ -192,7 +192,7 @@ export class SelectBasic {
|
|
|
192
192
|
|
|
193
193
|
## Tokens
|
|
194
194
|
|
|
195
|
-
`--slotted-border-subtle`, `--slotted-border-width-thin`, `--slotted-control-border-color`, `--slotted-control-border-width`, `--slotted-control-font-family`, `--slotted-control-font-size-lg`, `--slotted-control-font-size-md`, `--slotted-control-font-size-sm`, `--slotted-control-gap-lg`, `--slotted-control-gap-md`, `--slotted-control-gap-sm`, `--slotted-control-height-lg`, `--slotted-control-height-md`, `--slotted-control-height-sm`, `--slotted-control-icon-size-lg`, `--slotted-control-icon-size-md`, `--slotted-control-icon-size-sm`, `--slotted-control-inner-size-lg`, `--slotted-control-inner-size-md`, `--slotted-control-inner-size-sm`, `--slotted-control-invalid-edge-width`, `--slotted-control-padding-inline-lg`, `--slotted-control-padding-inline-md`, `--slotted-control-padding-inline-sm`, `--slotted-control-radius`, `--slotted-control-shadow`, `--slotted-control-shadow-focus-geometry`, `--slotted-control-surface`, `--slotted-control-transition-duration`, `--slotted-control-transition-easing`, `--slotted-disabled-background`, `--slotted-disabled-border`, `--slotted-disabled-foreground`, `--slotted-duration-medium`, `--slotted-duration-short`, `--slotted-easing-enter`, `--slotted-easing-exit`, `--slotted-easing-standard`, `--slotted-focus-ring-color`, `--slotted-focus-ring-color-invalid`, `--slotted-focus-ring-offset`, `--slotted-focus-ring-width`, `--slotted-font-family-sans`, `--slotted-font-size-xs`, `--slotted-font-weight-medium`, `--slotted-font-weight-semibold`, `--slotted-line-height-md`, `--slotted-line-height-sm`, `--slotted-radius-lg`, `--slotted-radius-none`, `--slotted-select-action-active-background`, `--slotted-select-action-color`, `--slotted-select-action-hover-background`, `--slotted-select-action-size`, `--slotted-select-arrow-color`, `--slotted-select-background`, `--slotted-select-border-color`, `--slotted-select-color`, `--slotted-select-content-border-color`, `--slotted-select-content-padding-block`, `--slotted-select-content-padding-inline`, `--slotted-select-content-radius`, `--slotted-select-content-shadow`, `--slotted-select-content-text`, `--slotted-select-content-text-muted`, `--slotted-select-disabled-background`, `--slotted-select-disabled-border-color`, `--slotted-select-disabled-color`, `--slotted-select-highlight`, `--slotted-select-highlight-active`, `--slotted-select-highlight-ring`, `--slotted-select-hover-border-color`, `--slotted-select-icon-size-min`, `--slotted-select-invalid-border-color`, `--slotted-select-invalid-edge-width`, `--slotted-select-invalid-focus-ring-color`, `--slotted-select-item-radius`, `--slotted-select-measure`, `--slotted-select-open-border-color`, `--slotted-select-placeholder-color`, `--slotted-select-plain-hover-background`, `--slotted-select-radius`, `--slotted-select-readonly-background`, `--slotted-select-search-icon-color`, `--slotted-select-selected-color`, `--slotted-select-separator-color`, `--slotted-select-shadow`, `--slotted-select-subtle-background`, `--slotted-select-subtle-border-color`, `--slotted-select-subtle-hover-background`, `--slotted-select-surface`, `--slotted-shadow-md`, `--slotted-space-1`, `--slotted-space-2`, `--slotted-space-5`, `--slotted-surface-raised`, `--slotted-surface-sunken`, `--slotted-target-comfortable`, `--slotted-target-min`, `--slotted-text`, `--slotted-text-muted`, `--slotted-tone-accent-border`, `--slotted-tone-accent-surface`, `--slotted-tone-accent-text`, `--slotted-tone-danger-border`, `--slotted-tone-secondary-subtle-active`, `--slotted-tone-secondary-subtle-hover`, `--slotted-z-index-popover`
|
|
195
|
+
`--slotted-border-subtle`, `--slotted-border-width-thin`, `--slotted-control-border-color`, `--slotted-control-border-width`, `--slotted-control-focus-ring-offset`, `--slotted-control-font-family`, `--slotted-control-font-size-lg`, `--slotted-control-font-size-md`, `--slotted-control-font-size-sm`, `--slotted-control-gap-lg`, `--slotted-control-gap-md`, `--slotted-control-gap-sm`, `--slotted-control-height-lg`, `--slotted-control-height-md`, `--slotted-control-height-sm`, `--slotted-control-icon-size-lg`, `--slotted-control-icon-size-md`, `--slotted-control-icon-size-sm`, `--slotted-control-inner-size-lg`, `--slotted-control-inner-size-md`, `--slotted-control-inner-size-sm`, `--slotted-control-invalid-edge-width`, `--slotted-control-padding-inline-lg`, `--slotted-control-padding-inline-md`, `--slotted-control-padding-inline-sm`, `--slotted-control-radius`, `--slotted-control-shadow`, `--slotted-control-shadow-focus-geometry`, `--slotted-control-surface`, `--slotted-control-transition-duration`, `--slotted-control-transition-easing`, `--slotted-disabled-background`, `--slotted-disabled-border`, `--slotted-disabled-foreground`, `--slotted-duration-medium`, `--slotted-duration-short`, `--slotted-easing-enter`, `--slotted-easing-exit`, `--slotted-easing-standard`, `--slotted-focus-ring-color`, `--slotted-focus-ring-color-invalid`, `--slotted-focus-ring-offset`, `--slotted-focus-ring-width`, `--slotted-font-family-sans`, `--slotted-font-size-xs`, `--slotted-font-weight-medium`, `--slotted-font-weight-semibold`, `--slotted-line-height-md`, `--slotted-line-height-sm`, `--slotted-radius-lg`, `--slotted-radius-none`, `--slotted-select-action-active-background`, `--slotted-select-action-color`, `--slotted-select-action-hover-background`, `--slotted-select-action-size`, `--slotted-select-arrow-color`, `--slotted-select-background`, `--slotted-select-border-color`, `--slotted-select-color`, `--slotted-select-content-border-color`, `--slotted-select-content-padding-block`, `--slotted-select-content-padding-inline`, `--slotted-select-content-radius`, `--slotted-select-content-shadow`, `--slotted-select-content-text`, `--slotted-select-content-text-muted`, `--slotted-select-disabled-background`, `--slotted-select-disabled-border-color`, `--slotted-select-disabled-color`, `--slotted-select-highlight`, `--slotted-select-highlight-active`, `--slotted-select-highlight-ring`, `--slotted-select-hover-border-color`, `--slotted-select-icon-size-min`, `--slotted-select-invalid-border-color`, `--slotted-select-invalid-edge-width`, `--slotted-select-invalid-focus-ring-color`, `--slotted-select-item-radius`, `--slotted-select-measure`, `--slotted-select-open-border-color`, `--slotted-select-placeholder-color`, `--slotted-select-plain-hover-background`, `--slotted-select-radius`, `--slotted-select-readonly-background`, `--slotted-select-search-icon-color`, `--slotted-select-selected-color`, `--slotted-select-separator-color`, `--slotted-select-shadow`, `--slotted-select-subtle-background`, `--slotted-select-subtle-border-color`, `--slotted-select-subtle-hover-background`, `--slotted-select-surface`, `--slotted-shadow-md`, `--slotted-space-1`, `--slotted-space-2`, `--slotted-space-5`, `--slotted-surface-raised`, `--slotted-surface-sunken`, `--slotted-target-comfortable`, `--slotted-target-min`, `--slotted-text`, `--slotted-text-muted`, `--slotted-tone-accent-border`, `--slotted-tone-accent-surface`, `--slotted-tone-accent-text`, `--slotted-tone-danger-border`, `--slotted-tone-secondary-subtle-active`, `--slotted-tone-secondary-subtle-hover`, `--slotted-z-index-popover`
|
|
196
196
|
|
|
197
197
|
## Examples
|
|
198
198
|
|
|
@@ -403,6 +403,7 @@
|
|
|
403
403
|
"--slotted-app-shell-row-inset",
|
|
404
404
|
"--slotted-app-shell-row-line-height",
|
|
405
405
|
"--slotted-app-shell-row-mark",
|
|
406
|
+
"--slotted-app-shell-row-ring-inset",
|
|
406
407
|
"--slotted-border-subtle",
|
|
407
408
|
"--slotted-border-width-thin",
|
|
408
409
|
"--slotted-control-font-family",
|
package/docs/side-navigation.md
CHANGED
|
@@ -139,7 +139,7 @@ export class SideNavigationBasic {
|
|
|
139
139
|
|
|
140
140
|
## Tokens
|
|
141
141
|
|
|
142
|
-
`--slotted-app-shell-row-font-size`, `--slotted-app-shell-row-gap`, `--slotted-app-shell-row-height`, `--slotted-app-shell-row-inset`, `--slotted-app-shell-row-line-height`, `--slotted-app-shell-row-mark`, `--slotted-border-subtle`, `--slotted-border-width-thin`, `--slotted-control-font-family`, `--slotted-control-gap-lg`, `--slotted-control-gap-md`, `--slotted-control-gap-sm`, `--slotted-control-height-lg`, `--slotted-control-height-md`, `--slotted-control-height-sm`, `--slotted-control-icon-size-lg`, `--slotted-control-icon-size-md`, `--slotted-control-icon-size-sm`, `--slotted-control-transition-duration`, `--slotted-control-transition-easing`, `--slotted-current-edge`, `--slotted-disabled-foreground`, `--slotted-duration-instant`, `--slotted-duration-medium`, `--slotted-duration-short`, `--slotted-easing-enter`, `--slotted-easing-exit`, `--slotted-easing-standard`, `--slotted-focus-ring-color`, `--slotted-focus-ring-offset`, `--slotted-focus-ring-width`, `--slotted-font-size-md`, `--slotted-font-size-sm`, `--slotted-font-size-xs`, `--slotted-font-weight-medium`, `--slotted-font-weight-regular`, `--slotted-font-weight-semibold`, `--slotted-line-height-md`, `--slotted-line-height-sm`, `--slotted-line-height-xs`, `--slotted-radius-full`, `--slotted-radius-lg`, `--slotted-radius-md`, `--slotted-shadow-md`, `--slotted-side-navigation-active-background`, `--slotted-side-navigation-color`, `--slotted-side-navigation-current-background`, `--slotted-side-navigation-current-color`, `--slotted-side-navigation-current-description-color`, `--slotted-side-navigation-current-edge`, `--slotted-side-navigation-description-color`, `--slotted-side-navigation-description-gap`, `--slotted-side-navigation-dot-color`, `--slotted-side-navigation-dot-size`, `--slotted-side-navigation-flyout-border-color`, `--slotted-side-navigation-flyout-measure`, `--slotted-side-navigation-flyout-min-measure`, `--slotted-side-navigation-flyout-radius`, `--slotted-side-navigation-flyout-shadow`, `--slotted-side-navigation-flyout-surface`, `--slotted-side-navigation-guide-color`, `--slotted-side-navigation-hover-background`, `--slotted-side-navigation-hover-color`, `--slotted-side-navigation-indent`, `--slotted-side-navigation-indent-step`, `--slotted-side-navigation-radius`, `--slotted-side-navigation-row-gap`, `--slotted-side-navigation-section-color`, `--slotted-side-navigation-section-gap`, `--slotted-side-navigation-section-label-gap`, `--slotted-space-1`, `--slotted-space-2`, `--slotted-space-3`, `--slotted-space-4`, `--slotted-space-5`, `--slotted-space-7`, `--slotted-surface-raised`, `--slotted-text`, `--slotted-text-muted`, `--slotted-tone-accent-solid`, `--slotted-tone-accent-surface`, `--slotted-tone-accent-text`, `--slotted-tone-secondary-subtle-active`, `--slotted-tone-secondary-subtle-hover`, `--slotted-z-index-popover`
|
|
142
|
+
`--slotted-app-shell-row-font-size`, `--slotted-app-shell-row-gap`, `--slotted-app-shell-row-height`, `--slotted-app-shell-row-inset`, `--slotted-app-shell-row-line-height`, `--slotted-app-shell-row-mark`, `--slotted-app-shell-row-ring-inset`, `--slotted-border-subtle`, `--slotted-border-width-thin`, `--slotted-control-font-family`, `--slotted-control-gap-lg`, `--slotted-control-gap-md`, `--slotted-control-gap-sm`, `--slotted-control-height-lg`, `--slotted-control-height-md`, `--slotted-control-height-sm`, `--slotted-control-icon-size-lg`, `--slotted-control-icon-size-md`, `--slotted-control-icon-size-sm`, `--slotted-control-transition-duration`, `--slotted-control-transition-easing`, `--slotted-current-edge`, `--slotted-disabled-foreground`, `--slotted-duration-instant`, `--slotted-duration-medium`, `--slotted-duration-short`, `--slotted-easing-enter`, `--slotted-easing-exit`, `--slotted-easing-standard`, `--slotted-focus-ring-color`, `--slotted-focus-ring-offset`, `--slotted-focus-ring-width`, `--slotted-font-size-md`, `--slotted-font-size-sm`, `--slotted-font-size-xs`, `--slotted-font-weight-medium`, `--slotted-font-weight-regular`, `--slotted-font-weight-semibold`, `--slotted-line-height-md`, `--slotted-line-height-sm`, `--slotted-line-height-xs`, `--slotted-radius-full`, `--slotted-radius-lg`, `--slotted-radius-md`, `--slotted-shadow-md`, `--slotted-side-navigation-active-background`, `--slotted-side-navigation-color`, `--slotted-side-navigation-current-background`, `--slotted-side-navigation-current-color`, `--slotted-side-navigation-current-description-color`, `--slotted-side-navigation-current-edge`, `--slotted-side-navigation-description-color`, `--slotted-side-navigation-description-gap`, `--slotted-side-navigation-dot-color`, `--slotted-side-navigation-dot-size`, `--slotted-side-navigation-flyout-border-color`, `--slotted-side-navigation-flyout-measure`, `--slotted-side-navigation-flyout-min-measure`, `--slotted-side-navigation-flyout-radius`, `--slotted-side-navigation-flyout-shadow`, `--slotted-side-navigation-flyout-surface`, `--slotted-side-navigation-guide-color`, `--slotted-side-navigation-hover-background`, `--slotted-side-navigation-hover-color`, `--slotted-side-navigation-indent`, `--slotted-side-navigation-indent-step`, `--slotted-side-navigation-radius`, `--slotted-side-navigation-row-gap`, `--slotted-side-navigation-section-color`, `--slotted-side-navigation-section-gap`, `--slotted-side-navigation-section-label-gap`, `--slotted-space-1`, `--slotted-space-2`, `--slotted-space-3`, `--slotted-space-4`, `--slotted-space-5`, `--slotted-space-7`, `--slotted-surface-raised`, `--slotted-text`, `--slotted-text-muted`, `--slotted-tone-accent-solid`, `--slotted-tone-accent-surface`, `--slotted-tone-accent-text`, `--slotted-tone-secondary-subtle-active`, `--slotted-tone-secondary-subtle-hover`, `--slotted-z-index-popover`
|
|
143
143
|
|
|
144
144
|
## Examples
|
|
145
145
|
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: build-own-element
|
|
3
|
+
description: 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.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Build an element of the application's own
|
|
7
|
+
|
|
8
|
+
An element of the application's own is a node the application writes and
|
|
9
|
+
styles itself, outside any family (CP-04). It is the last resort, and it is
|
|
10
|
+
built from the same theme as the families beside it.
|
|
11
|
+
|
|
12
|
+
## 1. Prove that no family answers
|
|
13
|
+
|
|
14
|
+
1. Read `../../index.md` and list the families whose line is near the
|
|
15
|
+
element.
|
|
16
|
+
2. Read `../../<family>.md` for each: its anatomy, its slots, its axes.
|
|
17
|
+
When a family draws the element, or names a slot that holds it, the family
|
|
18
|
+
is used (CP-01).
|
|
19
|
+
3. When a family draws a part of the element — a toggle, a popup, a list, a
|
|
20
|
+
tooltip — that part is the family, and only the rest is written.
|
|
21
|
+
4. Write, in a comment above the element, the families read and what each
|
|
22
|
+
lacks.
|
|
23
|
+
|
|
24
|
+
## 2. What is free and what is fixed
|
|
25
|
+
|
|
26
|
+
Free, decided by the problem:
|
|
27
|
+
|
|
28
|
+
- the element's shape, its arrangement and how it encodes the data — a strip,
|
|
29
|
+
a grid, a ring, a map;
|
|
30
|
+
- which states it has, and what each state shows;
|
|
31
|
+
- its layout inside the box it is given.
|
|
32
|
+
|
|
33
|
+
Fixed, read from the theme:
|
|
34
|
+
|
|
35
|
+
- every value it paints comes from a token of the group
|
|
36
|
+
`../../tokens.md` lists for that decision (OE-01, CP-05);
|
|
37
|
+
- a tone carries the meaning the `tone` group gives it, and a data series takes
|
|
38
|
+
the `data` slots in order;
|
|
39
|
+
- how its states yield, how focus is drawn, how large a target is, what forced
|
|
40
|
+
colours keep and how it moves (OE-02 to OE-07).
|
|
41
|
+
|
|
42
|
+
A new appearance is a new combination of tokens, never a new value.
|
|
43
|
+
|
|
44
|
+
## 3. Map each decision to a group
|
|
45
|
+
|
|
46
|
+
| Decision | Group in `../../tokens.md` |
|
|
47
|
+
| ---------------------------------------------- | --------------------------------------------------- |
|
|
48
|
+
| Distance between parts, inner padding | `space` |
|
|
49
|
+
| Corners | `radius` |
|
|
50
|
+
| Ground of the element and its parts | `surface`; `tone` when the ground carries an intent |
|
|
51
|
+
| Text | `text`, `font-size`, `font-weight`, `line-height` |
|
|
52
|
+
| Edges | `border`, `border-width` |
|
|
53
|
+
| Series and categories of data | `data` |
|
|
54
|
+
| The place the reader is on, a matched span | `current`, `highlight` |
|
|
55
|
+
| Focus | `focus-ring` |
|
|
56
|
+
| Hit area | `target` |
|
|
57
|
+
| A part that stands beside controls | `control`, `control-size` |
|
|
58
|
+
| Movement | `duration`, `easing` |
|
|
59
|
+
| A surface above another, a layer over the page | `shadow`, `z-index` |
|
|
60
|
+
| A disabled part | `disabled` |
|
|
61
|
+
|
|
62
|
+
A decision no group names is written as a literal beside a comment that says
|
|
63
|
+
why no token covers it (CP-05).
|
|
64
|
+
|
|
65
|
+
## 4. Write it
|
|
66
|
+
|
|
67
|
+
1. Give each interactive part the native element that carries its role: a
|
|
68
|
+
button for an action, a link for a destination, an input for a value. Add
|
|
69
|
+
ARIA only where no element carries the role.
|
|
70
|
+
2. List the element's states, and paint each pair that can hold at once in the
|
|
71
|
+
order of OE-02.
|
|
72
|
+
3. Draw focus on `:focus-visible` as an outline of `--slotted-focus-ring-width`
|
|
73
|
+
in `--slotted-focus-ring-color`, offset by `--slotted-focus-ring-offset`
|
|
74
|
+
(OE-03). Size every target to `--slotted-target-min` (OE-04), and take the
|
|
75
|
+
control step of the controls beside it (OE-05).
|
|
76
|
+
4. Under `forced-colors: active`, tell each state from rest by a border,
|
|
77
|
+
an outline or text (OE-06). Move with the motion tokens, and stop a
|
|
78
|
+
repeating animation under `prefers-reduced-motion: reduce` (OE-07).
|
|
79
|
+
5. Write the CSS in a layer of the application after the library's, on class
|
|
80
|
+
names of the element's own (OE-08). Reflow by a container query on a
|
|
81
|
+
container of its own (OE-09). Float with a raised surface and one shadow
|
|
82
|
+
step (OE-10).
|
|
83
|
+
6. Text that stands alone takes its size from the `typography` family (CP-02).
|
|
84
|
+
|
|
85
|
+
## 5. Done
|
|
86
|
+
|
|
87
|
+
1. Each `Check` of `../../guidelines/own-elements.md` passes.
|
|
88
|
+
2. The element's CSS holds no colour or length literal without its comment.
|
|
89
|
+
3. Every custom property the element reads is listed in
|
|
90
|
+
`../../tokens.md` above "Read by their family only".
|
|
@@ -0,0 +1,95 @@
|
|
|
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 (LP-14).
|
|
76
|
+
- Where no anatomy answers the problem, the screen writes an element of its
|
|
77
|
+
own instead of bending a family into a shape it does not have (CP-04). That
|
|
78
|
+
element is built with `../../skills/build-own-element/SKILL.md`.
|
|
79
|
+
|
|
80
|
+
## 6. Waits
|
|
81
|
+
|
|
82
|
+
Every region filled by a request and every control that starts one follow
|
|
83
|
+
`../../skills/waiting-states/SKILL.md`.
|
|
84
|
+
|
|
85
|
+
## 7. Done
|
|
86
|
+
|
|
87
|
+
1. Each `MUST` rule of the topics read: its `Check` passes.
|
|
88
|
+
2. Each `SHOULD` rule not followed is listed with its reason.
|
|
89
|
+
3. No CSS of the screen's own targets a family's parts; a family's appearance
|
|
90
|
+
changes through its axes.
|
|
91
|
+
4. In a browser with the CPU throttled 4×, each control that switches a region
|
|
92
|
+
paints its new state in the next frame, with no long task between the input
|
|
93
|
+
and that paint.
|
|
94
|
+
5. For each value named in step 1, the control that edits it was chosen
|
|
95
|
+
against the task, and the reason is written beside it.
|
|
@@ -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,77 @@
|
|
|
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
|
+
|
|
54
|
+
A rule whose `Check` needs the screen running — a size class, a throttled
|
|
55
|
+
network, the accessibility tree — is run when the environment can run it, and
|
|
56
|
+
otherwise reported as not checked, with the step that checks it.
|
|
57
|
+
|
|
58
|
+
## 4. Report
|
|
59
|
+
|
|
60
|
+
One finding per entry, every `MUST` before every `SHOULD`:
|
|
61
|
+
|
|
62
|
+
- the rule's id and level;
|
|
63
|
+
- the file and the line;
|
|
64
|
+
- what the screen does, in one sentence;
|
|
65
|
+
- the change after which the rule's `Check` passes.
|
|
66
|
+
|
|
67
|
+
A `SHOULD` the screen breaks on purpose is listed with its reason, as a
|
|
68
|
+
deviation. The screen passes when no `MUST` finding remains.
|
|
69
|
+
|
|
70
|
+
## 5. Fix, when asked
|
|
71
|
+
|
|
72
|
+
1. Fix every `MUST` finding, then each `SHOULD` finding the request covers.
|
|
73
|
+
2. A fix uses what the family offers — its state, its slot, its axis — and
|
|
74
|
+
never CSS on its parts.
|
|
75
|
+
3. A literal becomes a token of the group `../../tokens.md` lists for
|
|
76
|
+
that decision.
|
|
77
|
+
4. Run the searches of step 3 again on the changed files: none finds anything.
|
|
@@ -0,0 +1,87 @@
|
|
|
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.
|
|
71
|
+
|
|
72
|
+
## 4. Restyle a control
|
|
73
|
+
|
|
74
|
+
1. A token every control reads, in `base`, `schemes` or `densities`.
|
|
75
|
+
2. Else a token of the family, in `components`; it falls back to the control
|
|
76
|
+
token.
|
|
77
|
+
3. Else a theme rule. It lives in `slotted.theme-rules`, selects only
|
|
78
|
+
`data-ui`, `data-part`, the attributes a family writes and the theme's
|
|
79
|
+
attributes, and reads only tokens; the compiler names the file, the line
|
|
80
|
+
and the selector of a rule it refuses.
|
|
81
|
+
|
|
82
|
+
## 5. Done
|
|
83
|
+
|
|
84
|
+
1. The application's own CSS declares no token of the `tone`, `surface`,
|
|
85
|
+
`text` or `border` groups, and sets no colour, border, radius, padding or
|
|
86
|
+
type on a family's `data-ui` or `data-part`.
|
|
87
|
+
2. `themeConformance` passes for the theme.
|