@slotted/angular 0.1.0-beta.7 → 0.1.0-beta.9
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/docs/calendar.json +1 -1
- package/docs/code-block.json +92 -92
- package/docs/code-block.md +69 -69
- package/docs/currency-field.json +7 -0
- package/docs/currency-field.md +1 -0
- package/docs/data-grid.examples.md +1 -1
- package/docs/data-grid.json +21 -4
- package/docs/data-grid.md +1 -1
- package/docs/data-grid.props.md +5 -3
- package/docs/dialog.examples.md +138 -136
- package/docs/dialog.json +8 -8
- package/docs/filter-bar.json +118 -118
- package/docs/filter-bar.md +79 -79
- package/docs/guidelines/async-feedback.md +10 -0
- package/docs/guidelines/composition.md +11 -7
- package/docs/guidelines/index.md +6 -1
- package/docs/guidelines/list-pages.md +30 -0
- package/docs/guidelines/overviews.md +10 -0
- package/docs/markdown.json +79 -79
- package/docs/markdown.md +65 -65
- package/docs/page-header.json +1 -1
- package/docs/skills/compose-screen/SKILL.md +22 -10
- package/docs/skills/review-screen/SKILL.md +6 -0
- package/docs/skills/waiting-states/SKILL.md +4 -1
- package/docs/tags-input.json +28 -2
- package/docs/tags-input.md +4 -1
- package/docs/timeline.json +131 -131
- package/docs/timeline.md +123 -123
- package/fesm2022/slotted-angular-accordion.mjs +4 -2
- package/fesm2022/slotted-angular-accordion.mjs.map +1 -1
- package/fesm2022/slotted-angular-action-bar.mjs +21 -10
- 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 +17 -11
- package/fesm2022/slotted-angular-alert.mjs.map +1 -1
- package/fesm2022/slotted-angular-app-shell.mjs +52 -40
- 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 +9 -6
- 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 +53 -25
- package/fesm2022/slotted-angular-button.mjs.map +1 -1
- package/fesm2022/slotted-angular-calendar.mjs +82 -30
- 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 +158 -64
- package/fesm2022/slotted-angular-cascader.mjs.map +1 -1
- package/fesm2022/slotted-angular-chart.mjs +4 -2
- 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 +13 -8
- 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 +77 -31
- 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 +98 -32
- package/fesm2022/slotted-angular-currency-field.mjs.map +1 -1
- package/fesm2022/slotted-angular-dashboard-grid.mjs +127 -44
- package/fesm2022/slotted-angular-dashboard-grid.mjs.map +1 -1
- package/fesm2022/slotted-angular-data-grid.mjs +309 -104
- 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 +40 -14
- package/fesm2022/slotted-angular-date-field.mjs.map +1 -1
- package/fesm2022/slotted-angular-date-picker.mjs +19 -9
- package/fesm2022/slotted-angular-date-picker.mjs.map +1 -1
- package/fesm2022/slotted-angular-date-range-picker.mjs +41 -16
- 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 +37 -23
- package/fesm2022/slotted-angular-datetime-picker.mjs.map +1 -1
- package/fesm2022/slotted-angular-datetime-range-picker.mjs +111 -42
- 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 +61 -28
- 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 +38 -26
- package/fesm2022/slotted-angular-drawer.mjs.map +1 -1
- package/fesm2022/slotted-angular-entity-picker.mjs +195 -67
- package/fesm2022/slotted-angular-entity-picker.mjs.map +1 -1
- package/fesm2022/slotted-angular-event-calendar.mjs +259 -102
- 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 +104 -43
- 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 +10 -8
- 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 +14 -10
- 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 +41 -27
- 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 +133 -57
- 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 +107 -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 +72 -42
- package/fesm2022/slotted-angular-page-header.mjs.map +1 -1
- package/fesm2022/slotted-angular-page.mjs +18 -9
- 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 +25 -18
- package/fesm2022/slotted-angular-popover.mjs.map +1 -1
- package/fesm2022/slotted-angular-progress-indicator.mjs +122 -30
- package/fesm2022/slotted-angular-progress-indicator.mjs.map +1 -1
- package/fesm2022/slotted-angular-prompt-composer.mjs +24 -18
- 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 +9 -5
- package/fesm2022/slotted-angular-scroll-area.mjs.map +1 -1
- package/fesm2022/slotted-angular-section.mjs +34 -15
- package/fesm2022/slotted-angular-section.mjs.map +1 -1
- package/fesm2022/slotted-angular-segmented-control.mjs +15 -9
- package/fesm2022/slotted-angular-segmented-control.mjs.map +1 -1
- package/fesm2022/slotted-angular-select.mjs +135 -53
- 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 +29 -13
- 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 +135 -72
- package/fesm2022/slotted-angular-table.mjs.map +1 -1
- package/fesm2022/slotted-angular-tabs.mjs +31 -14
- 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 +28 -14
- package/fesm2022/slotted-angular-time-picker.mjs.map +1 -1
- package/fesm2022/slotted-angular-time-range-picker.mjs +109 -40
- 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 +42 -31
- package/fesm2022/slotted-angular-toast.mjs.map +1 -1
- package/fesm2022/slotted-angular-toggle-group.mjs +10 -6
- 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 +21 -10
- package/fesm2022/slotted-angular-toolbar.mjs.map +1 -1
- package/fesm2022/slotted-angular-tooltip.mjs +8 -5
- 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 +46 -21
- 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 +1 -1
- package/types/slotted-angular-alert.d.ts.map +1 -1
- 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.map +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.map +1 -1
- package/types/slotted-angular-button.d.ts.map +1 -1
- package/types/slotted-angular-calendar.d.ts +2 -0
- 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.map +1 -1
- package/types/slotted-angular-checkbox-group.d.ts.map +1 -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 +1 -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 +39 -13
- 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 +26 -2
- 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.map +1 -1
- package/types/slotted-angular-date-picker.d.ts.map +1 -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.map +1 -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 +2 -1
- 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.map +1 -1
- package/types/slotted-angular-entity-picker.d.ts.map +1 -1
- 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 +1 -1
- 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 +1 -1
- 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.map +1 -1
- 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.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.map +1 -1
- package/types/slotted-angular-multi-select.d.ts +1 -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.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 +1 -1
- 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.map +1 -1
- 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.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.map +1 -1
- package/types/slotted-angular-segmented-control.d.ts.map +1 -1
- package/types/slotted-angular-select.d.ts +1 -1
- 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.map +1 -1
- 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.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.map +1 -1
- package/types/slotted-angular-tabs.d.ts.map +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-time-field.d.ts.map +1 -1
- package/types/slotted-angular-time-picker.d.ts.map +1 -1
- package/types/slotted-angular-time-range-picker.d.ts.map +1 -1
- package/types/slotted-angular-timeline.d.ts.map +1 -1
- package/types/slotted-angular-toast.d.ts +2 -2
- package/types/slotted-angular-toast.d.ts.map +1 -1
- package/types/slotted-angular-toggle-group.d.ts.map +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.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
package/docs/markdown.md
CHANGED
|
@@ -44,48 +44,48 @@ Excerpt — not a complete module
|
|
|
44
44
|
|
|
45
45
|
| Name | Type | Default | Applies to | Description |
|
|
46
46
|
| --- | --- | --- | --- | --- |
|
|
47
|
-
| `tree` | `MarkdownNode \| null` | — | [slMarkdown] |
|
|
48
|
-
| `size` | `'md' \| 'lg' \| 'xl'` | lg | [slMarkdown] |
|
|
49
|
-
| `flow` | `'tight' \| 'normal' \| 'loose'` | normal | [slMarkdown] |
|
|
50
|
-
| `status` | `'ready' \| 'error'` | ready | [slMarkdown] | error
|
|
51
|
-
| `loading` | `boolean` | false | [slMarkdown] |
|
|
52
|
-
| `streaming` | `boolean` | false | [slMarkdown] | aria-busy
|
|
53
|
-
| `external` | `'new-tab' \| 'same-tab'` | new-tab | [slMarkdown] |
|
|
54
|
-
| `headingAnchors` | `boolean` | false | [slMarkdown] |
|
|
55
|
-
| `headingOffset` | `number` | 0 | [slMarkdown] |
|
|
56
|
-
| `idPrefix` | `string` | | [slMarkdown] |
|
|
57
|
-
| `alerts` | `boolean` | true | [slMarkdown] |
|
|
58
|
-
| `allow` | `string[]` | CommonMark + GFM
|
|
59
|
-
| `unwrapDisallowed` | `boolean` | false | [slMarkdown] |
|
|
60
|
-
| `transformUrl` | `(url, kind, node) => string \| null` | safeUrl | [slMarkdown] |
|
|
61
|
-
| `isExternal` | `(href) => boolean` | isExternalUrl | [slMarkdown] |
|
|
62
|
-
| `messages` | `PartialMessages<MarkdownMessages>` | — | [slMarkdown] |
|
|
63
|
-
| `editableTasks` | `boolean` | false | [slMarkdown] |
|
|
64
|
-
| `retryable` | `boolean` | false | [slMarkdown] |
|
|
65
|
-
| `ng-template[slMarkdownNode]` | `kind \| type` | — |
|
|
66
|
-
| `[slMarkdownChildren]` | `MarkdownElement` | — | ng-container |
|
|
67
|
-
| `[slMarkdownEmpty]` | `
|
|
68
|
-
| `exportAs` | `slMarkdown` | — | [slMarkdown] | document():
|
|
69
|
-
| `provideMarkdownDefaults` | `external \| headingAnchors \| alerts \| allow \| transformUrl \| isExternal` | — |
|
|
70
|
-
| `prepareMarkdown` | `(tree, options) => MarkdownDocument` | — | @slotted/core/markdown | headings
|
|
71
|
-
| `completeMarkdown` | `(source) => string` | — | @slotted/core/markdown |
|
|
72
|
-
| `fromMarkedTokens` | `(tokens) => MarkdownNode` | — | @slotted/core/markdown |
|
|
73
|
-
| `id, aria-*, data-*` | `
|
|
47
|
+
| `tree` | `MarkdownNode \| null` | — | [slMarkdown] | The document in mdast; never HTML |
|
|
48
|
+
| `size` | `'md' \| 'lg' \| 'xl'` | lg | [slMarkdown] | The region’s type step, from prose |
|
|
49
|
+
| `flow` | `'tight' \| 'normal' \| 'loose'` | normal | [slMarkdown] | The space between blocks, from prose |
|
|
50
|
+
| `status` | `'ready' \| 'error'` | ready | [slMarkdown] | error replaces the document with the error part |
|
|
51
|
+
| `loading` | `boolean` | false | [slMarkdown] | A waiting paragraph, after the skeleton delay |
|
|
52
|
+
| `streaming` | `boolean` | false | [slMarkdown] | aria-busy while the source arrives |
|
|
53
|
+
| `external` | `'new-tab' \| 'same-tab'` | new-tab | [slMarkdown] | Where a link that leaves the application opens |
|
|
54
|
+
| `headingAnchors` | `boolean` | false | [slMarkdown] | A permalink on every heading |
|
|
55
|
+
| `headingOffset` | `number` | 0 | [slMarkdown] | Added to the level of each heading, up to six |
|
|
56
|
+
| `idPrefix` | `string` | | [slMarkdown] | Before each generated id; required with two regions on the page |
|
|
57
|
+
| `alerts` | `boolean` | true | [slMarkdown] | Reads > [!NOTE] and its siblings as alert |
|
|
58
|
+
| `allow` | `string[]` | CommonMark + GFM without html | [slMarkdown] | The mdast types drawn |
|
|
59
|
+
| `unwrapDisallowed` | `boolean` | false | [slMarkdown] | A refused type hands its children to the parent |
|
|
60
|
+
| `transformUrl` | `(url, kind, node) => string \| null` | safeUrl | [slMarkdown] | The URL policy; null refuses |
|
|
61
|
+
| `isExternal` | `(href) => boolean` | isExternalUrl | [slMarkdown] | Whether a link leaves the application |
|
|
62
|
+
| `messages` | `PartialMessages<MarkdownMessages>` | — | [slMarkdown] | The family’s words over the current locale, key by key |
|
|
63
|
+
| `editableTasks` | `boolean` | false | [slMarkdown] | Turns on the task checkboxes; an output does not say whether anyone listens to it |
|
|
64
|
+
| `retryable` | `boolean` | false | [slMarkdown] | Draws the retry button in the error part |
|
|
65
|
+
| `ng-template[slMarkdownNode]` | `kind \| type` | — | content | Replaces the element of a known type, or draws an unknown type; receives the prepared element |
|
|
66
|
+
| `[slMarkdownChildren]` | `MarkdownElement` | — | ng-container | Draws the children of an element inside a template, without an element of its own |
|
|
67
|
+
| `[slMarkdownEmpty]` | `projected content` | — | content | The content of the empty part |
|
|
68
|
+
| `exportAs` | `slMarkdown` | — | [slMarkdown] | document(): the headings and the notes, with the page’s ids |
|
|
69
|
+
| `provideMarkdownDefaults` | `external \| headingAnchors \| alerts \| allow \| transformUrl \| isExternal` | — | Application | Decided once for every document below; an input wins |
|
|
70
|
+
| `prepareMarkdown` | `(tree, options) => MarkdownDocument` | — | @slotted/core/markdown | headings for a table of contents, with the page’s ids |
|
|
71
|
+
| `completeMarkdown` | `(source) => string` | — | @slotted/core/markdown | Closes a cut source before the parser |
|
|
72
|
+
| `fromMarkedTokens` | `(tokens) => MarkdownNode` | — | @slotted/core/markdown | The marked lexer as mdast |
|
|
73
|
+
| `id, aria-*, data-*` | `native attributes` | — | [slMarkdown] | Stay on the consumer’s element |
|
|
74
74
|
|
|
75
75
|
## Events
|
|
76
76
|
|
|
77
77
|
| Name | Payload | When |
|
|
78
78
|
| --- | --- | --- |
|
|
79
|
-
| `taskChange` | `{ index, checked, offset, request }` |
|
|
80
|
-
| `retry` | `'pointer' \| 'keyboard'` |
|
|
79
|
+
| `taskChange` | `{ index, checked, offset, request }` | When the reader checks or unchecks a task with editableTasks on, with the reason pointer or keyboard in request. The box does not move: the consumer’s new tree moves it. |
|
|
80
|
+
| `retry` | `'pointer' \| 'keyboard'` | When the reader presses the retry button of the error part, drawn with retryable. |
|
|
81
81
|
|
|
82
82
|
## Rules
|
|
83
83
|
|
|
84
|
-
-
|
|
85
|
-
-
|
|
86
|
-
-
|
|
87
|
-
-
|
|
88
|
-
- streaming
|
|
84
|
+
- No source string reaches innerHTML: the family receives a tree, refuses raw HTML and executable schemes by default, and each element is created by the framework.
|
|
85
|
+
- The headings are real headings, shiftable with headingOffset to fit the page outline; the anchor stays in the tab order and in the accessibility tree, with the name "Link to section: <heading>".
|
|
86
|
+
- A task is a checkbox named by the item’s text; without editableTasks it is aria-readonly, not disabled, so it stays focusable and readable.
|
|
87
|
+
- Each note reference has aria-describedby pointing to the hidden heading of the section, and each return says which reference it goes back to; a GitHub alert is live="off", because it is content and not an event.
|
|
88
|
+
- streaming and loading put aria-busy on the root, and the skeleton makes a single polite announcement; nothing moves focus when the content arrives.
|
|
89
89
|
|
|
90
90
|
## Tokens
|
|
91
91
|
|
|
@@ -93,9 +93,9 @@ Excerpt — not a complete module
|
|
|
93
93
|
|
|
94
94
|
## Examples
|
|
95
95
|
|
|
96
|
-
###
|
|
96
|
+
### A whole document
|
|
97
97
|
|
|
98
|
-
|
|
98
|
+
Headings with a stable id, emphasis, inline code, nested lists, a quote and a rule: all in prose, whose typography is the region’s. Hover a heading to see the anchor; with Tab it appears too.
|
|
99
99
|
|
|
100
100
|
Excerpt — not a complete module
|
|
101
101
|
|
|
@@ -103,21 +103,21 @@ Excerpt — not a complete module
|
|
|
103
103
|
<div slMarkdown headingAnchors [tree]="tree"></div>
|
|
104
104
|
```
|
|
105
105
|
|
|
106
|
-
###
|
|
106
|
+
### GFM tables
|
|
107
107
|
|
|
108
|
-
|
|
108
|
+
The :-- and --: alignment arrives as start and end, so a table seen in RTL keeps the prices against the edge where reading ends. A table wider than the column scrolls inside the prose scroll part, which only gains tabindex and a name while it overflows.
|
|
109
109
|
|
|
110
110
|
Excerpt — not a complete module
|
|
111
111
|
|
|
112
112
|
```markdown
|
|
113
|
-
|
|
|
114
|
-
|
|
|
115
|
-
| Team
|
|
113
|
+
| Plan | Seats | Price |
|
|
114
|
+
| :--- | :---: | ------: |
|
|
115
|
+
| Team | 10 | $120.00 |
|
|
116
116
|
```
|
|
117
117
|
|
|
118
|
-
###
|
|
118
|
+
### Fences with code-block
|
|
119
119
|
|
|
120
|
-
|
|
120
|
+
Each fence is a CodeBlock: the language from the info string, and what comes after it — title="…", {2} and showLineNumbers — arrives as title, highlighted line and numbers. The syntax highlighting is that of the CodeBlockDefaultsProvider.
|
|
121
121
|
|
|
122
122
|
Excerpt — not a complete module
|
|
123
123
|
|
|
@@ -128,9 +128,9 @@ await deploy({ env: 'production' });
|
|
|
128
128
|
```
|
|
129
129
|
````
|
|
130
130
|
|
|
131
|
-
###
|
|
131
|
+
### Task lists
|
|
132
132
|
|
|
133
|
-
|
|
133
|
+
Without editableTasks the boxes are checkboxes in readOnly: focusable, announced as read only. With it, checking a task requests the change with the index and the offset in the source; the box only moves when the new tree arrives.
|
|
134
134
|
|
|
135
135
|
Excerpt — not a complete module
|
|
136
136
|
|
|
@@ -143,9 +143,9 @@ Excerpt — not a complete module
|
|
|
143
143
|
></div>
|
|
144
144
|
```
|
|
145
145
|
|
|
146
|
-
###
|
|
146
|
+
### GitHub alerts
|
|
147
147
|
|
|
148
|
-
> [!NOTE], [!TIP], [!IMPORTANT], [!WARNING]
|
|
148
|
+
> [!NOTE], [!TIP], [!IMPORTANT], [!WARNING] and [!CAUTION] become an alert with reach="section" and live="off" — content, not an announcement — in the tones accent, success, secondary, warning and danger. alerts={false} gives back the quote.
|
|
149
149
|
|
|
150
150
|
Excerpt — not a complete module
|
|
151
151
|
|
|
@@ -154,9 +154,9 @@ Excerpt — not a complete module
|
|
|
154
154
|
> A deployment during a migration waits for the migration to finish.
|
|
155
155
|
```
|
|
156
156
|
|
|
157
|
-
###
|
|
157
|
+
### Footnotes
|
|
158
158
|
|
|
159
|
-
|
|
159
|
+
Numbered by the first reference, with one return arrow per reference inside the last paragraph of the note. The section has a hidden heading that names the set; a definition nobody references is not drawn, as on GitHub.
|
|
160
160
|
|
|
161
161
|
Excerpt — not a complete module
|
|
162
162
|
|
|
@@ -164,9 +164,9 @@ Excerpt — not a complete module
|
|
|
164
164
|
<div slMarkdown [messages]="{ footnotes: 'Notas' }" [tree]="tree"></div>
|
|
165
165
|
```
|
|
166
166
|
|
|
167
|
-
###
|
|
167
|
+
### Internal and external links
|
|
168
168
|
|
|
169
|
-
|
|
169
|
+
An absolute http(s) address leaves the application: it is a Link with the glyph and the new-tab hint. A relative path is a plain a. external="same-tab" keeps the tab; isExternal decides which hosts belong to the application.
|
|
170
170
|
|
|
171
171
|
Excerpt — not a complete module
|
|
172
172
|
|
|
@@ -174,9 +174,9 @@ Excerpt — not a complete module
|
|
|
174
174
|
<div slMarkdown [isExternal]="isOwnDomainInternal" [tree]="tree"></div>
|
|
175
175
|
```
|
|
176
176
|
|
|
177
|
-
###
|
|
177
|
+
### Sanitization by construction
|
|
178
178
|
|
|
179
|
-
|
|
179
|
+
The family never writes innerHTML. Raw HTML is not drawn; javascript:, data: and the disguised spellings lose the link and stay as text; a refused image stays as its alternative text. transformUrl swaps the policy; allow restricts the types.
|
|
180
180
|
|
|
181
181
|
Excerpt — not a complete module
|
|
182
182
|
|
|
@@ -189,9 +189,9 @@ Excerpt — not a complete module
|
|
|
189
189
|
></div>
|
|
190
190
|
```
|
|
191
191
|
|
|
192
|
-
###
|
|
192
|
+
### Renderers and extensions
|
|
193
193
|
|
|
194
|
-
ng-template[slMarkdownNode]
|
|
194
|
+
ng-template[slMarkdownNode] with the name of a known type replaces its element — here the link becomes the application’s routerLink — and slMarkdownChildren draws the children in place. With the name of an unknown type, it draws that type: here a mention of a person, which a pass over the tree created. A type without a renderer does not appear.
|
|
195
195
|
|
|
196
196
|
Excerpt — not a complete module
|
|
197
197
|
|
|
@@ -206,9 +206,9 @@ Excerpt — not a complete module
|
|
|
206
206
|
</div>
|
|
207
207
|
```
|
|
208
208
|
|
|
209
|
-
###
|
|
209
|
+
### An answer that is still arriving
|
|
210
210
|
|
|
211
|
-
completeMarkdown
|
|
211
|
+
completeMarkdown closes what the stream left open — the fence, the **, the backtick, the cut link — before the parser. The blocks already drawn keep their key and do not mount again; streaming puts aria-busy on the region until the end.
|
|
212
212
|
|
|
213
213
|
Excerpt — not a complete module
|
|
214
214
|
|
|
@@ -221,9 +221,9 @@ Excerpt — not a complete module
|
|
|
221
221
|
></div>
|
|
222
222
|
```
|
|
223
223
|
|
|
224
|
-
###
|
|
224
|
+
### Loading, empty and error
|
|
225
225
|
|
|
226
|
-
loading
|
|
226
|
+
loading draws a three-line paragraph after the skeleton delay, in the region’s typography; empty writes messages.empty or the content projected in slMarkdownEmpty; status="error" replaces the document with a message and, with retryable, a button that emits retry.
|
|
227
227
|
|
|
228
228
|
Excerpt — not a complete module
|
|
229
229
|
|
|
@@ -236,18 +236,18 @@ Excerpt — not a complete module
|
|
|
236
236
|
[tree]="tree()"
|
|
237
237
|
(retry)="reload()"
|
|
238
238
|
>
|
|
239
|
-
<span slMarkdownEmpty>
|
|
239
|
+
<span slMarkdownEmpty>This service has no runbook yet.</span>
|
|
240
240
|
</div>
|
|
241
241
|
```
|
|
242
242
|
|
|
243
|
-
###
|
|
243
|
+
### On a documentation page
|
|
244
244
|
|
|
245
|
-
slContainer
|
|
245
|
+
slContainer gives the measure, prepareMarkdown gives the table of contents with the same ids the page draws — and exportAs gives the same document() from the template —, and provideMarkdownDefaults says once, in Portuguese, what the family writes.
|
|
246
246
|
|
|
247
247
|
Excerpt — not a complete module
|
|
248
248
|
|
|
249
249
|
```html
|
|
250
|
-
<nav aria-label="
|
|
250
|
+
<nav aria-label="On this page">
|
|
251
251
|
@for (heading of outline.headings; track heading.id) {
|
|
252
252
|
<a [href]="'#' + heading.id">{{ heading.text }}</a>
|
|
253
253
|
}
|
|
@@ -255,9 +255,9 @@ Excerpt — not a complete module
|
|
|
255
255
|
<div slContainer size="measure"><div slMarkdown headingAnchors [tree]="tree"></div></div>
|
|
256
256
|
```
|
|
257
257
|
|
|
258
|
-
###
|
|
258
|
+
### Keyboard and screen reader
|
|
259
259
|
|
|
260
|
-
Tab
|
|
260
|
+
Tab goes through the heading anchors, the links, a table that scrolls, the controls of a code block, the editable tasks and the footnote returns. The family adds no key: each stop belongs to a composed family.
|
|
261
261
|
|
|
262
262
|
Excerpt — not a complete module
|
|
263
263
|
|
package/docs/page-header.json
CHANGED
|
@@ -95,7 +95,7 @@
|
|
|
95
95
|
"part": "root",
|
|
96
96
|
"element": "the header carrying slPageHeader",
|
|
97
97
|
"required": true,
|
|
98
|
-
"purpose": "The family: sticky with a negative offset the size of the header area, carrying data-ui=\"page-header\", the four axes, data-expanded, data-revealed, data-loading and the measured facts data-scrolled, data-stuck and data-compact.
|
|
98
|
+
"purpose": "The family: sticky with a negative offset the size of the header area, carrying data-ui=\"page-header\", the four axes, data-expanded, data-revealed, data-loading and the measured facts data-scrolled, data-stuck and data-compact. In a frame narrower than 600 pixels — a phone — it carries data-compact, is not sticky and scrolls away with the page. It is its own container, so the rows reflow on its own inline size."
|
|
99
99
|
},
|
|
100
100
|
{
|
|
101
101
|
"part": "title-area",
|
|
@@ -8,7 +8,17 @@ description: Use when writing or changing a screen of an application built with
|
|
|
8
8
|
A screen is composed from the families' own parts first. An element of the
|
|
9
9
|
screen's own exists only where no family names a place for it.
|
|
10
10
|
|
|
11
|
-
## 1.
|
|
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
|
|
12
22
|
|
|
13
23
|
| The screen | Topic |
|
|
14
24
|
| ----------------------------------------------------- | ------------------ |
|
|
@@ -26,28 +36,28 @@ screen's own exists only where no family names a place for it.
|
|
|
26
36
|
A screen can be two of these: a record with an edit form in place reads both
|
|
27
37
|
topics.
|
|
28
38
|
|
|
29
|
-
##
|
|
39
|
+
## 3. Read
|
|
30
40
|
|
|
31
41
|
1. `../../guidelines/index.md`.
|
|
32
42
|
2. `../../guidelines/composition.md`, always.
|
|
33
|
-
3. The topic of step
|
|
43
|
+
3. The topic of step 2. Add `layout-alignment.md` and `shell-composition.md`
|
|
34
44
|
when the screen places controls in a row or in the application frame.
|
|
35
45
|
4. Add `errors-and-conflicts.md` and `reading-permissions.md` when the screen
|
|
36
46
|
writes data or reads under a role.
|
|
37
47
|
5. When the screen writes an element of its own, follow
|
|
38
48
|
`../../skills/build-own-element/SKILL.md`.
|
|
39
49
|
|
|
40
|
-
##
|
|
50
|
+
## 4. Read each family before writing beside it
|
|
41
51
|
|
|
42
52
|
For each family the screen uses, read `../../<family>.md` — its anatomy,
|
|
43
53
|
its slots, its axes (CP-01). When the family names a slot for an element, the
|
|
44
54
|
element stands in that slot.
|
|
45
55
|
|
|
46
|
-
##
|
|
56
|
+
## 5. Compose
|
|
47
57
|
|
|
48
|
-
-
|
|
49
|
-
|
|
50
|
-
|
|
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).
|
|
51
61
|
- Siblings of the screen's own stand in `inline` (one row) or `stack` (one
|
|
52
62
|
column) with a gap from the space scale; text of the screen's own takes its
|
|
53
63
|
size from the `typography` family's `text` member (CP-02).
|
|
@@ -67,12 +77,12 @@ element stands in that slot.
|
|
|
67
77
|
own instead of bending a family into a shape it does not have (CP-04). That
|
|
68
78
|
element is built with `../../skills/build-own-element/SKILL.md`.
|
|
69
79
|
|
|
70
|
-
##
|
|
80
|
+
## 6. Waits
|
|
71
81
|
|
|
72
82
|
Every region filled by a request and every control that starts one follow
|
|
73
83
|
`../../skills/waiting-states/SKILL.md`.
|
|
74
84
|
|
|
75
|
-
##
|
|
85
|
+
## 7. Done
|
|
76
86
|
|
|
77
87
|
1. Each `MUST` rule of the topics read: its `Check` passes.
|
|
78
88
|
2. Each `SHOULD` rule not followed is listed with its reason.
|
|
@@ -81,3 +91,5 @@ Every region filled by a request and every control that starts one follow
|
|
|
81
91
|
4. In a browser with the CPU throttled 4×, each control that switches a region
|
|
82
92
|
paints its new state in the next frame, with no long task between the input
|
|
83
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.
|
|
@@ -43,6 +43,12 @@ Each search below finds a defect without running the screen.
|
|
|
43
43
|
| A grid or flex track around a family that scrolls, with no zero minimum | the page scrolls, not the family | CP-03 |
|
|
44
44
|
| A badge, a tag or a colour beside a family that already draws the same state | a state stated twice | CP-06 |
|
|
45
45
|
| An element of the screen's own that takes focus with no ring in its `focus-visible` state | focus not drawn | OE-03 |
|
|
46
|
+
| 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 |
|
|
47
|
+
| 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 |
|
|
48
|
+
| A grid whose column state unpins its `actions` column | the row's actions leave the frame | LP-17 |
|
|
49
|
+
| 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 |
|
|
50
|
+
| Two destinations of the navigation whose `page`s state different `width`s | the column's edges move between destinations | CP-10 |
|
|
51
|
+
| A write whose success handler refreshes only the region of the control that wrote | figures elsewhere stay stale after the write | AF-08 |
|
|
46
52
|
|
|
47
53
|
A rule whose `Check` needs the screen running — a size class, a throttled
|
|
48
54
|
network, the accessibility tree — is run when the environment can run it, and
|
|
@@ -136,4 +136,7 @@ animating behind a message.
|
|
|
136
136
|
untouched.
|
|
137
137
|
- [ ] Reduced motion stops the animation and keeps the shape.
|
|
138
138
|
- [ ] Empty, no results and error are distinct states, each with its next step.
|
|
139
|
-
- [ ]
|
|
139
|
+
- [ ] For each control that writes, the regions on any screen whose figures
|
|
140
|
+
the write changes are listed, and each is shown read again after the
|
|
141
|
+
write (AF-08).
|
|
142
|
+
- [ ] Each `Check` of AF-01 to AF-08 passes.
|
package/docs/tags-input.json
CHANGED
|
@@ -130,7 +130,9 @@
|
|
|
130
130
|
"message",
|
|
131
131
|
"counter",
|
|
132
132
|
"clear",
|
|
133
|
-
"hint"
|
|
133
|
+
"hint",
|
|
134
|
+
"suggestions",
|
|
135
|
+
"suggestion"
|
|
134
136
|
]
|
|
135
137
|
}
|
|
136
138
|
},
|
|
@@ -195,6 +197,18 @@
|
|
|
195
197
|
"element": "span, visually hidden",
|
|
196
198
|
"required": true,
|
|
197
199
|
"purpose": "What the row answers to, for a reader who cannot see the remove buttons: Delete removes a value, and — while editable — Enter edits it. The row names it as its description."
|
|
200
|
+
},
|
|
201
|
+
{
|
|
202
|
+
"part": "suggestions",
|
|
203
|
+
"element": "div[role=\"listbox\"]",
|
|
204
|
+
"required": false,
|
|
205
|
+
"purpose": "With suggestions, the list under the frame of the ones the typed text matches, minus the values already chosen. Rendered only while open; the input controls it and names its highlighted option by aria-activedescendant."
|
|
206
|
+
},
|
|
207
|
+
{
|
|
208
|
+
"part": "suggestion",
|
|
209
|
+
"element": "div[role=\"option\"]",
|
|
210
|
+
"required": false,
|
|
211
|
+
"purpose": "One suggestion. data-highlighted and aria-selected on the one Enter adds; a press adds it and keeps focus in the input."
|
|
198
212
|
}
|
|
199
213
|
],
|
|
200
214
|
"api": [
|
|
@@ -254,6 +268,13 @@
|
|
|
254
268
|
"appliesTo": "sl-tags-input",
|
|
255
269
|
"description": "How a paste is split. The default splits on the delimiters and on every line break."
|
|
256
270
|
},
|
|
271
|
+
{
|
|
272
|
+
"name": "suggestions",
|
|
273
|
+
"type": "readonly string[]",
|
|
274
|
+
"defaultValue": "—",
|
|
275
|
+
"appliesTo": "sl-tags-input",
|
|
276
|
+
"description": "Values the reader may choose instead of typing them whole. The input becomes a combobox: the typed text filters them by the locale’s collator, ArrowDown and ArrowUp move through them, Enter adds the highlighted one. A chosen suggestion is normalized, judged, deduplicated and capped like typed text, and typed text still commits."
|
|
277
|
+
},
|
|
257
278
|
{
|
|
258
279
|
"name": "formatLabel",
|
|
259
280
|
"type": "(value: string) => string",
|
|
@@ -524,6 +545,7 @@
|
|
|
524
545
|
},
|
|
525
546
|
"tokens": [
|
|
526
547
|
"--slotted-border-subtle",
|
|
548
|
+
"--slotted-border-width-thin",
|
|
527
549
|
"--slotted-control-border-color",
|
|
528
550
|
"--slotted-control-border-width",
|
|
529
551
|
"--slotted-control-font-family",
|
|
@@ -562,9 +584,12 @@
|
|
|
562
584
|
"--slotted-font-size-xs",
|
|
563
585
|
"--slotted-font-weight-medium",
|
|
564
586
|
"--slotted-line-height-sm",
|
|
587
|
+
"--slotted-radius-lg",
|
|
565
588
|
"--slotted-radius-none",
|
|
589
|
+
"--slotted-shadow-md",
|
|
566
590
|
"--slotted-space-1",
|
|
567
591
|
"--slotted-space-2",
|
|
592
|
+
"--slotted-surface-raised",
|
|
568
593
|
"--slotted-surface-sunken",
|
|
569
594
|
"--slotted-tags-input-action-active-background",
|
|
570
595
|
"--slotted-tags-input-action-color",
|
|
@@ -604,7 +629,8 @@
|
|
|
604
629
|
"--slotted-tone-accent-text",
|
|
605
630
|
"--slotted-tone-danger-border",
|
|
606
631
|
"--slotted-tone-secondary-subtle-active",
|
|
607
|
-
"--slotted-tone-secondary-subtle-hover"
|
|
632
|
+
"--slotted-tone-secondary-subtle-hover",
|
|
633
|
+
"--slotted-z-index-popover"
|
|
608
634
|
],
|
|
609
635
|
"examples": [
|
|
610
636
|
{
|
package/docs/tags-input.md
CHANGED
|
@@ -37,6 +37,8 @@ Excerpt — not a complete module
|
|
|
37
37
|
| `counter` | span | no |
|
|
38
38
|
| `clear` | button | no |
|
|
39
39
|
| `hint` | span, visually hidden | yes |
|
|
40
|
+
| `suggestions` | div[role="listbox"] | no |
|
|
41
|
+
| `suggestion` | div[role="option"] | no |
|
|
40
42
|
|
|
41
43
|
## Props
|
|
42
44
|
|
|
@@ -50,6 +52,7 @@ Excerpt — not a complete module
|
|
|
50
52
|
| `invalidValues` | `'keep' \| 'refuse'` | keep | sl-tags-input | What becomes of a value that fails: a chip in the danger tone with its reason, or a report through valueRefuse. |
|
|
51
53
|
| `normalize` | `(text: string) => string` | — | sl-tags-input | Runs before a value is judged. Trim by default. |
|
|
52
54
|
| `split` | `(text: string) => readonly string[]` | — | sl-tags-input | How a paste is split. The default splits on the delimiters and on every line break. |
|
|
55
|
+
| `suggestions` | `readonly string[]` | — | sl-tags-input | Values the reader may choose instead of typing them whole. The input becomes a combobox: the typed text filters them by the locale’s collator, ArrowDown and ArrowUp move through them, Enter adds the highlighted one. A chosen suggestion is normalized, judged, deduplicated and capped like typed text, and typed text still commits. |
|
|
53
56
|
| `formatLabel` | `(value: string) => string` | — | sl-tags-input | The chip’s text for a value. |
|
|
54
57
|
| `lockedValues` | `readonly string[]` | — | sl-tags-input | The values the reader may not remove. |
|
|
55
58
|
| `pattern` | `string` | — | sl-tags-input | The input’s own pattern, applied to each value. |
|
|
@@ -124,7 +127,7 @@ Excerpt — not a complete module
|
|
|
124
127
|
|
|
125
128
|
## Tokens
|
|
126
129
|
|
|
127
|
-
`--slotted-border-subtle`, `--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-focus-ring-color`, `--slotted-focus-ring-color-invalid`, `--slotted-focus-ring-offset`, `--slotted-focus-ring-width`, `--slotted-font-size-xs`, `--slotted-font-weight-medium`, `--slotted-line-height-sm`, `--slotted-radius-none`, `--slotted-space-1`, `--slotted-space-2`, `--slotted-surface-sunken`, `--slotted-tags-input-action-active-background`, `--slotted-tags-input-action-color`, `--slotted-tags-input-action-hover-background`, `--slotted-tags-input-action-size`, `--slotted-tags-input-autofill-background`, `--slotted-tags-input-background`, `--slotted-tags-input-border-color`, `--slotted-tags-input-color`, `--slotted-tags-input-counter-color`, `--slotted-tags-input-counter-complete-color`, `--slotted-tags-input-current-border-color`, `--slotted-tags-input-disabled-background`, `--slotted-tags-input-disabled-border-color`, `--slotted-tags-input-disabled-color`, `--slotted-tags-input-field-basis`, `--slotted-tags-input-field-min`, `--slotted-tags-input-hover-border-color`, `--slotted-tags-input-icon-size-min`, `--slotted-tags-input-invalid-border-color`, `--slotted-tags-input-invalid-edge-width`, `--slotted-tags-input-invalid-focus-ring-color`, `--slotted-tags-input-placeholder-color`, `--slotted-tags-input-plain-hover-background`, `--slotted-tags-input-radius`, `--slotted-tags-input-readonly-background`, `--slotted-tags-input-shadow`, `--slotted-tags-input-subtle-background`, `--slotted-tags-input-subtle-border-color`, `--slotted-tags-input-subtle-hover-background`, `--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`
|
|
130
|
+
`--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-focus-ring-color`, `--slotted-focus-ring-color-invalid`, `--slotted-focus-ring-offset`, `--slotted-focus-ring-width`, `--slotted-font-size-xs`, `--slotted-font-weight-medium`, `--slotted-line-height-sm`, `--slotted-radius-lg`, `--slotted-radius-none`, `--slotted-shadow-md`, `--slotted-space-1`, `--slotted-space-2`, `--slotted-surface-raised`, `--slotted-surface-sunken`, `--slotted-tags-input-action-active-background`, `--slotted-tags-input-action-color`, `--slotted-tags-input-action-hover-background`, `--slotted-tags-input-action-size`, `--slotted-tags-input-autofill-background`, `--slotted-tags-input-background`, `--slotted-tags-input-border-color`, `--slotted-tags-input-color`, `--slotted-tags-input-counter-color`, `--slotted-tags-input-counter-complete-color`, `--slotted-tags-input-current-border-color`, `--slotted-tags-input-disabled-background`, `--slotted-tags-input-disabled-border-color`, `--slotted-tags-input-disabled-color`, `--slotted-tags-input-field-basis`, `--slotted-tags-input-field-min`, `--slotted-tags-input-hover-border-color`, `--slotted-tags-input-icon-size-min`, `--slotted-tags-input-invalid-border-color`, `--slotted-tags-input-invalid-edge-width`, `--slotted-tags-input-invalid-focus-ring-color`, `--slotted-tags-input-placeholder-color`, `--slotted-tags-input-plain-hover-background`, `--slotted-tags-input-radius`, `--slotted-tags-input-readonly-background`, `--slotted-tags-input-shadow`, `--slotted-tags-input-subtle-background`, `--slotted-tags-input-subtle-border-color`, `--slotted-tags-input-subtle-hover-background`, `--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`
|
|
128
131
|
|
|
129
132
|
## Examples
|
|
130
133
|
|