@slotted/angular 0.0.0-stage → 0.1.0-beta.1
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/LICENSE +21 -0
- package/README.md +51 -2
- package/docs/AGENTS.snippet.md +10 -0
- package/docs/accordion.json +345 -0
- package/docs/accordion.md +207 -0
- package/docs/action-bar.json +421 -0
- package/docs/action-bar.md +364 -0
- package/docs/action-sheet.json +210 -0
- package/docs/action-sheet.md +19 -0
- package/docs/alert.json +407 -0
- package/docs/alert.md +239 -0
- package/docs/app-shell.examples.md +349 -0
- package/docs/app-shell.json +835 -0
- package/docs/app-shell.md +214 -0
- package/docs/aspect-ratio.json +159 -0
- package/docs/aspect-ratio.md +134 -0
- package/docs/attachment.json +486 -0
- package/docs/attachment.md +253 -0
- package/docs/avatar-group.json +208 -0
- package/docs/avatar-group.md +130 -0
- package/docs/avatar.json +342 -0
- package/docs/avatar.md +142 -0
- package/docs/badge.json +334 -0
- package/docs/badge.md +138 -0
- package/docs/breadcrumb.json +368 -0
- package/docs/breadcrumb.md +237 -0
- package/docs/button-group.json +158 -0
- package/docs/button-group.md +72 -0
- package/docs/button.examples.md +621 -0
- package/docs/button.json +977 -0
- package/docs/button.md +200 -0
- package/docs/calendar.json +592 -0
- package/docs/calendar.md +242 -0
- package/docs/card.json +283 -0
- package/docs/card.md +130 -0
- package/docs/carousel.json +560 -0
- package/docs/carousel.md +357 -0
- package/docs/cascader.json +933 -0
- package/docs/cascader.md +379 -0
- package/docs/chart.examples.md +582 -0
- package/docs/chart.json +1359 -0
- package/docs/chart.md +187 -0
- package/docs/checkbox-group.examples.md +612 -0
- package/docs/checkbox-group.json +395 -0
- package/docs/checkbox-group.md +106 -0
- package/docs/checkbox.examples.md +546 -0
- package/docs/checkbox.json +506 -0
- package/docs/checkbox.md +104 -0
- package/docs/code-block.json +616 -0
- package/docs/code-block.md +303 -0
- package/docs/collapsible.json +456 -0
- package/docs/collapsible.md +261 -0
- package/docs/color-picker.json +523 -0
- package/docs/color-picker.md +201 -0
- package/docs/column-manager.json +486 -0
- package/docs/column-manager.md +277 -0
- package/docs/combobox.examples.md +1732 -0
- package/docs/combobox.json +1250 -0
- package/docs/combobox.md +209 -0
- package/docs/command-palette.json +800 -0
- package/docs/command-palette.md +419 -0
- package/docs/container.json +156 -0
- package/docs/container.md +92 -0
- package/docs/context-menu.json +231 -0
- package/docs/context-menu.md +176 -0
- package/docs/currency-field.examples.md +321 -0
- package/docs/currency-field.json +649 -0
- package/docs/currency-field.md +128 -0
- package/docs/dashboard-grid.json +680 -0
- package/docs/dashboard-grid.md +265 -0
- package/docs/data-grid.examples.md +3064 -0
- package/docs/data-grid.json +1577 -0
- package/docs/data-grid.md +237 -0
- package/docs/data-grid.props.md +81 -0
- package/docs/data-list.json +685 -0
- package/docs/data-list.md +327 -0
- package/docs/date-field.json +490 -0
- package/docs/date-field.md +235 -0
- package/docs/date-picker.examples.md +1226 -0
- package/docs/date-picker.json +696 -0
- package/docs/date-picker.md +121 -0
- package/docs/date-range-picker.examples.md +1300 -0
- package/docs/date-range-picker.json +903 -0
- package/docs/date-range-picker.md +142 -0
- package/docs/datetime-field.json +665 -0
- package/docs/datetime-field.md +337 -0
- package/docs/datetime-picker.examples.md +1269 -0
- package/docs/datetime-picker.json +928 -0
- package/docs/datetime-picker.md +150 -0
- package/docs/datetime-range-picker.examples.md +225 -0
- package/docs/datetime-range-picker.json +1015 -0
- package/docs/datetime-range-picker.md +162 -0
- package/docs/description-list.json +471 -0
- package/docs/description-list.md +268 -0
- package/docs/detail-panel.json +530 -0
- package/docs/detail-panel.md +361 -0
- package/docs/dialog.examples.md +2467 -0
- package/docs/dialog.json +1141 -0
- package/docs/dialog.md +217 -0
- package/docs/dialog.props.md +63 -0
- package/docs/divider.json +148 -0
- package/docs/divider.md +83 -0
- package/docs/drawer.examples.md +1929 -0
- package/docs/drawer.json +753 -0
- package/docs/drawer.md +199 -0
- package/docs/entity-picker.json +946 -0
- package/docs/entity-picker.md +365 -0
- package/docs/event-calendar.examples.md +308 -0
- package/docs/event-calendar.json +1202 -0
- package/docs/event-calendar.md +201 -0
- package/docs/field-group.json +333 -0
- package/docs/field-group.md +181 -0
- package/docs/field.examples.md +676 -0
- package/docs/field.json +528 -0
- package/docs/field.md +127 -0
- package/docs/filter-bar.json +817 -0
- package/docs/filter-bar.md +380 -0
- package/docs/form.json +378 -0
- package/docs/form.md +235 -0
- package/docs/fullscreen.json +395 -0
- package/docs/fullscreen.md +225 -0
- package/docs/grid.json +176 -0
- package/docs/grid.md +74 -0
- package/docs/highlight.json +279 -0
- package/docs/highlight.md +210 -0
- package/docs/hover-card.json +254 -0
- package/docs/hover-card.md +213 -0
- package/docs/icon.json +173 -0
- package/docs/icon.md +101 -0
- package/docs/image.json +476 -0
- package/docs/image.md +254 -0
- package/docs/import-export-center.json +836 -0
- package/docs/import-export-center.md +345 -0
- package/docs/index.md +141 -0
- package/docs/inline-message.json +312 -0
- package/docs/inline-message.md +191 -0
- package/docs/inline.json +149 -0
- package/docs/inline.md +72 -0
- package/docs/kbd.json +350 -0
- package/docs/kbd.md +210 -0
- package/docs/link.json +264 -0
- package/docs/link.md +167 -0
- package/docs/list-item.json +463 -0
- package/docs/list-item.md +236 -0
- package/docs/list.json +321 -0
- package/docs/list.md +185 -0
- package/docs/listbox.json +807 -0
- package/docs/listbox.md +413 -0
- package/docs/loading-overlay.json +440 -0
- package/docs/loading-overlay.md +248 -0
- package/docs/markdown.json +461 -0
- package/docs/markdown.md +266 -0
- package/docs/menu.examples.md +1651 -0
- package/docs/menu.json +922 -0
- package/docs/menu.md +155 -0
- package/docs/menubar.json +292 -0
- package/docs/menubar.md +173 -0
- package/docs/message-scroller.json +401 -0
- package/docs/message-scroller.md +212 -0
- package/docs/message.json +862 -0
- package/docs/message.md +473 -0
- package/docs/multi-select.examples.md +1922 -0
- package/docs/multi-select.json +1314 -0
- package/docs/multi-select.md +213 -0
- package/docs/navigation-menu.json +529 -0
- package/docs/navigation-menu.md +329 -0
- package/docs/notification-center.json +664 -0
- package/docs/notification-center.md +372 -0
- package/docs/number-field.examples.md +1078 -0
- package/docs/number-field.json +668 -0
- package/docs/number-field.md +137 -0
- package/docs/otp-input.json +479 -0
- package/docs/otp-input.md +291 -0
- package/docs/page-header.json +574 -0
- package/docs/page-header.md +338 -0
- package/docs/page.json +332 -0
- package/docs/page.md +184 -0
- package/docs/pagination.json +434 -0
- package/docs/pagination.md +238 -0
- package/docs/popover.examples.md +1235 -0
- package/docs/popover.json +656 -0
- package/docs/popover.md +199 -0
- package/docs/progress-indicator.json +501 -0
- package/docs/progress-indicator.md +329 -0
- package/docs/prompt-composer.json +498 -0
- package/docs/prompt-composer.md +278 -0
- package/docs/prose.json +357 -0
- package/docs/prose.md +226 -0
- package/docs/radio-group.examples.md +626 -0
- package/docs/radio-group.json +541 -0
- package/docs/radio-group.md +112 -0
- package/docs/rating.json +1053 -0
- package/docs/rating.md +435 -0
- package/docs/result-state.json +376 -0
- package/docs/result-state.md +286 -0
- package/docs/saved-views.json +384 -0
- package/docs/saved-views.md +242 -0
- package/docs/scroll-area.json +120 -0
- package/docs/scroll-area.md +8 -0
- package/docs/section.json +344 -0
- package/docs/section.md +208 -0
- package/docs/segmented-control.json +429 -0
- package/docs/segmented-control.md +240 -0
- package/docs/select.examples.md +1214 -0
- package/docs/select.json +1147 -0
- package/docs/select.md +199 -0
- package/docs/side-navigation.json +632 -0
- package/docs/side-navigation.md +430 -0
- package/docs/skeleton.json +358 -0
- package/docs/skeleton.md +223 -0
- package/docs/slider.json +522 -0
- package/docs/slider.md +261 -0
- package/docs/sparkline.json +426 -0
- package/docs/sparkline.md +206 -0
- package/docs/split-button.json +361 -0
- package/docs/split-button.md +275 -0
- package/docs/splitter.json +142 -0
- package/docs/splitter.md +14 -0
- package/docs/stack.json +135 -0
- package/docs/stack.md +74 -0
- package/docs/stat-card.json +529 -0
- package/docs/stat-card.md +270 -0
- package/docs/status-indicator.json +314 -0
- package/docs/status-indicator.md +197 -0
- package/docs/stepper.json +451 -0
- package/docs/stepper.md +250 -0
- package/docs/switch.json +451 -0
- package/docs/switch.md +508 -0
- package/docs/table-of-contents.json +553 -0
- package/docs/table-of-contents.md +289 -0
- package/docs/table.examples.md +1981 -0
- package/docs/table.json +1059 -0
- package/docs/table.md +290 -0
- package/docs/tabs.examples.md +1370 -0
- package/docs/tabs.json +661 -0
- package/docs/tabs.md +211 -0
- package/docs/tag.json +813 -0
- package/docs/tag.md +241 -0
- package/docs/tags-input.json +771 -0
- package/docs/tags-input.md +361 -0
- package/docs/text-field.examples.md +821 -0
- package/docs/text-field.json +604 -0
- package/docs/text-field.md +125 -0
- package/docs/textarea.examples.md +612 -0
- package/docs/textarea.json +440 -0
- package/docs/textarea.md +98 -0
- package/docs/time-field.json +584 -0
- package/docs/time-field.md +291 -0
- package/docs/time-picker.json +679 -0
- package/docs/time-picker.md +315 -0
- package/docs/time-range-picker.examples.md +191 -0
- package/docs/time-range-picker.json +924 -0
- package/docs/time-range-picker.md +152 -0
- package/docs/timeline.json +839 -0
- package/docs/timeline.md +401 -0
- package/docs/toast.json +642 -0
- package/docs/toast.md +311 -0
- package/docs/toggle-group.json +417 -0
- package/docs/toggle-group.md +255 -0
- package/docs/toggle.json +326 -0
- package/docs/toggle.md +222 -0
- package/docs/toolbar.json +380 -0
- package/docs/toolbar.md +240 -0
- package/docs/tooltip.examples.md +664 -0
- package/docs/tooltip.json +604 -0
- package/docs/tooltip.md +146 -0
- package/docs/top-navigation.examples.md +287 -0
- package/docs/top-navigation.json +648 -0
- package/docs/top-navigation.md +138 -0
- package/docs/tour.json +759 -0
- package/docs/tour.md +337 -0
- package/docs/transfer.json +746 -0
- package/docs/transfer.md +273 -0
- package/docs/tree.json +918 -0
- package/docs/tree.md +397 -0
- package/docs/typography.json +317 -0
- package/docs/typography.md +107 -0
- package/docs/upload.examples.md +358 -0
- package/docs/upload.json +1103 -0
- package/docs/upload.md +166 -0
- package/docs/visually-hidden.json +71 -0
- package/docs/visually-hidden.md +42 -0
- package/docs/wizard.json +724 -0
- package/docs/wizard.md +295 -0
- package/fesm2022/slotted-angular-accordion.mjs +247 -0
- package/fesm2022/slotted-angular-accordion.mjs.map +1 -0
- package/fesm2022/slotted-angular-action-bar.mjs +639 -0
- package/fesm2022/slotted-angular-action-bar.mjs.map +1 -0
- package/fesm2022/slotted-angular-action-sheet.mjs +749 -0
- package/fesm2022/slotted-angular-action-sheet.mjs.map +1 -0
- package/fesm2022/slotted-angular-alert.mjs +427 -0
- package/fesm2022/slotted-angular-alert.mjs.map +1 -0
- package/fesm2022/slotted-angular-app-shell.mjs +1334 -0
- package/fesm2022/slotted-angular-app-shell.mjs.map +1 -0
- package/fesm2022/slotted-angular-aspect-ratio.mjs +63 -0
- package/fesm2022/slotted-angular-aspect-ratio.mjs.map +1 -0
- package/fesm2022/slotted-angular-attachment.mjs +595 -0
- package/fesm2022/slotted-angular-attachment.mjs.map +1 -0
- package/fesm2022/slotted-angular-avatar-group.mjs +230 -0
- package/fesm2022/slotted-angular-avatar-group.mjs.map +1 -0
- package/fesm2022/slotted-angular-avatar.mjs +330 -0
- package/fesm2022/slotted-angular-avatar.mjs.map +1 -0
- package/fesm2022/slotted-angular-badge.mjs +255 -0
- package/fesm2022/slotted-angular-badge.mjs.map +1 -0
- package/fesm2022/slotted-angular-breadcrumb.mjs +544 -0
- package/fesm2022/slotted-angular-breadcrumb.mjs.map +1 -0
- package/fesm2022/slotted-angular-button-group.mjs +146 -0
- package/fesm2022/slotted-angular-button-group.mjs.map +1 -0
- package/fesm2022/slotted-angular-button.mjs +692 -0
- package/fesm2022/slotted-angular-button.mjs.map +1 -0
- package/fesm2022/slotted-angular-calendar.mjs +916 -0
- package/fesm2022/slotted-angular-calendar.mjs.map +1 -0
- package/fesm2022/slotted-angular-card.mjs +225 -0
- package/fesm2022/slotted-angular-card.mjs.map +1 -0
- package/fesm2022/slotted-angular-carousel.mjs +840 -0
- package/fesm2022/slotted-angular-carousel.mjs.map +1 -0
- package/fesm2022/slotted-angular-cascader.mjs +1839 -0
- package/fesm2022/slotted-angular-cascader.mjs.map +1 -0
- package/fesm2022/slotted-angular-chart.mjs +974 -0
- package/fesm2022/slotted-angular-chart.mjs.map +1 -0
- package/fesm2022/slotted-angular-checkbox-group.mjs +283 -0
- package/fesm2022/slotted-angular-checkbox-group.mjs.map +1 -0
- package/fesm2022/slotted-angular-checkbox.mjs +468 -0
- package/fesm2022/slotted-angular-checkbox.mjs.map +1 -0
- package/fesm2022/slotted-angular-code-block.mjs +476 -0
- package/fesm2022/slotted-angular-code-block.mjs.map +1 -0
- package/fesm2022/slotted-angular-collapsible.mjs +479 -0
- package/fesm2022/slotted-angular-collapsible.mjs.map +1 -0
- package/fesm2022/slotted-angular-color-picker.mjs +910 -0
- package/fesm2022/slotted-angular-color-picker.mjs.map +1 -0
- package/fesm2022/slotted-angular-column-manager.mjs +1037 -0
- package/fesm2022/slotted-angular-column-manager.mjs.map +1 -0
- package/fesm2022/slotted-angular-combobox.mjs +1480 -0
- package/fesm2022/slotted-angular-combobox.mjs.map +1 -0
- package/fesm2022/slotted-angular-command-palette.mjs +1283 -0
- package/fesm2022/slotted-angular-command-palette.mjs.map +1 -0
- package/fesm2022/slotted-angular-container.mjs +105 -0
- package/fesm2022/slotted-angular-container.mjs.map +1 -0
- package/fesm2022/slotted-angular-context-menu.mjs +221 -0
- package/fesm2022/slotted-angular-context-menu.mjs.map +1 -0
- package/fesm2022/slotted-angular-currency-field.mjs +1131 -0
- package/fesm2022/slotted-angular-currency-field.mjs.map +1 -0
- package/fesm2022/slotted-angular-dashboard-grid.mjs +1928 -0
- package/fesm2022/slotted-angular-dashboard-grid.mjs.map +1 -0
- package/fesm2022/slotted-angular-data-grid.mjs +6697 -0
- package/fesm2022/slotted-angular-data-grid.mjs.map +1 -0
- package/fesm2022/slotted-angular-data-list.mjs +1418 -0
- package/fesm2022/slotted-angular-data-list.mjs.map +1 -0
- package/fesm2022/slotted-angular-date-field.mjs +772 -0
- package/fesm2022/slotted-angular-date-field.mjs.map +1 -0
- package/fesm2022/slotted-angular-date-picker.mjs +690 -0
- package/fesm2022/slotted-angular-date-picker.mjs.map +1 -0
- package/fesm2022/slotted-angular-date-range-picker.mjs +1150 -0
- package/fesm2022/slotted-angular-date-range-picker.mjs.map +1 -0
- package/fesm2022/slotted-angular-datetime-field.mjs +1058 -0
- package/fesm2022/slotted-angular-datetime-field.mjs.map +1 -0
- package/fesm2022/slotted-angular-datetime-picker.mjs +1362 -0
- package/fesm2022/slotted-angular-datetime-picker.mjs.map +1 -0
- package/fesm2022/slotted-angular-datetime-range-picker.mjs +1872 -0
- package/fesm2022/slotted-angular-datetime-range-picker.mjs.map +1 -0
- package/fesm2022/slotted-angular-description-list.mjs +545 -0
- package/fesm2022/slotted-angular-description-list.mjs.map +1 -0
- package/fesm2022/slotted-angular-detail-panel.mjs +754 -0
- package/fesm2022/slotted-angular-detail-panel.mjs.map +1 -0
- package/fesm2022/slotted-angular-dialog.mjs +980 -0
- package/fesm2022/slotted-angular-dialog.mjs.map +1 -0
- package/fesm2022/slotted-angular-divider.mjs +76 -0
- package/fesm2022/slotted-angular-divider.mjs.map +1 -0
- package/fesm2022/slotted-angular-drawer.mjs +1397 -0
- package/fesm2022/slotted-angular-drawer.mjs.map +1 -0
- package/fesm2022/slotted-angular-entity-picker.mjs +1987 -0
- package/fesm2022/slotted-angular-entity-picker.mjs.map +1 -0
- package/fesm2022/slotted-angular-event-calendar.mjs +2934 -0
- package/fesm2022/slotted-angular-event-calendar.mjs.map +1 -0
- package/fesm2022/slotted-angular-field-group.mjs +301 -0
- package/fesm2022/slotted-angular-field-group.mjs.map +1 -0
- package/fesm2022/slotted-angular-field.mjs +928 -0
- package/fesm2022/slotted-angular-field.mjs.map +1 -0
- package/fesm2022/slotted-angular-filter-bar.mjs +3107 -0
- package/fesm2022/slotted-angular-filter-bar.mjs.map +1 -0
- package/fesm2022/slotted-angular-form.mjs +592 -0
- package/fesm2022/slotted-angular-form.mjs.map +1 -0
- package/fesm2022/slotted-angular-fullscreen.mjs +314 -0
- package/fesm2022/slotted-angular-fullscreen.mjs.map +1 -0
- package/fesm2022/slotted-angular-grid.mjs +58 -0
- package/fesm2022/slotted-angular-grid.mjs.map +1 -0
- package/fesm2022/slotted-angular-highlight.mjs +123 -0
- package/fesm2022/slotted-angular-highlight.mjs.map +1 -0
- package/fesm2022/slotted-angular-hover-card.mjs +326 -0
- package/fesm2022/slotted-angular-hover-card.mjs.map +1 -0
- package/fesm2022/slotted-angular-i18n.mjs +75 -0
- package/fesm2022/slotted-angular-i18n.mjs.map +1 -0
- package/fesm2022/slotted-angular-icon.mjs +232 -0
- package/fesm2022/slotted-angular-icon.mjs.map +1 -0
- package/fesm2022/slotted-angular-image.mjs +442 -0
- package/fesm2022/slotted-angular-image.mjs.map +1 -0
- package/fesm2022/slotted-angular-import-export-center.mjs +1792 -0
- package/fesm2022/slotted-angular-import-export-center.mjs.map +1 -0
- package/fesm2022/slotted-angular-inline-message.mjs +280 -0
- package/fesm2022/slotted-angular-inline-message.mjs.map +1 -0
- package/fesm2022/slotted-angular-inline.mjs +52 -0
- package/fesm2022/slotted-angular-inline.mjs.map +1 -0
- package/fesm2022/slotted-angular-kbd.mjs +284 -0
- package/fesm2022/slotted-angular-kbd.mjs.map +1 -0
- package/fesm2022/slotted-angular-link.mjs +182 -0
- package/fesm2022/slotted-angular-link.mjs.map +1 -0
- package/fesm2022/slotted-angular-list-item.mjs +367 -0
- package/fesm2022/slotted-angular-list-item.mjs.map +1 -0
- package/fesm2022/slotted-angular-list.mjs +256 -0
- package/fesm2022/slotted-angular-list.mjs.map +1 -0
- package/fesm2022/slotted-angular-listbox.mjs +1274 -0
- package/fesm2022/slotted-angular-listbox.mjs.map +1 -0
- package/fesm2022/slotted-angular-loading-overlay.mjs +451 -0
- package/fesm2022/slotted-angular-loading-overlay.mjs.map +1 -0
- package/fesm2022/slotted-angular-markdown.mjs +914 -0
- package/fesm2022/slotted-angular-markdown.mjs.map +1 -0
- package/fesm2022/slotted-angular-menu.mjs +1211 -0
- package/fesm2022/slotted-angular-menu.mjs.map +1 -0
- package/fesm2022/slotted-angular-menubar.mjs +230 -0
- package/fesm2022/slotted-angular-menubar.mjs.map +1 -0
- package/fesm2022/slotted-angular-message-scroller.mjs +378 -0
- package/fesm2022/slotted-angular-message-scroller.mjs.map +1 -0
- package/fesm2022/slotted-angular-message.mjs +866 -0
- package/fesm2022/slotted-angular-message.mjs.map +1 -0
- package/fesm2022/slotted-angular-multi-select.mjs +1939 -0
- package/fesm2022/slotted-angular-multi-select.mjs.map +1 -0
- package/fesm2022/slotted-angular-navigation-menu.mjs +770 -0
- package/fesm2022/slotted-angular-navigation-menu.mjs.map +1 -0
- package/fesm2022/slotted-angular-notification-center.mjs +1172 -0
- package/fesm2022/slotted-angular-notification-center.mjs.map +1 -0
- package/fesm2022/slotted-angular-number-field.mjs +966 -0
- package/fesm2022/slotted-angular-number-field.mjs.map +1 -0
- package/fesm2022/slotted-angular-otp-input.mjs +629 -0
- package/fesm2022/slotted-angular-otp-input.mjs.map +1 -0
- package/fesm2022/slotted-angular-page-header.mjs +788 -0
- package/fesm2022/slotted-angular-page-header.mjs.map +1 -0
- package/fesm2022/slotted-angular-page.mjs +255 -0
- package/fesm2022/slotted-angular-page.mjs.map +1 -0
- package/fesm2022/slotted-angular-pagination.mjs +562 -0
- package/fesm2022/slotted-angular-pagination.mjs.map +1 -0
- package/fesm2022/slotted-angular-popover.mjs +799 -0
- package/fesm2022/slotted-angular-popover.mjs.map +1 -0
- package/fesm2022/slotted-angular-progress-indicator.mjs +572 -0
- package/fesm2022/slotted-angular-progress-indicator.mjs.map +1 -0
- package/fesm2022/slotted-angular-prompt-composer.mjs +596 -0
- package/fesm2022/slotted-angular-prompt-composer.mjs.map +1 -0
- package/fesm2022/slotted-angular-prose.mjs +314 -0
- package/fesm2022/slotted-angular-prose.mjs.map +1 -0
- package/fesm2022/slotted-angular-radio-group.mjs +469 -0
- package/fesm2022/slotted-angular-radio-group.mjs.map +1 -0
- package/fesm2022/slotted-angular-rating.mjs +1174 -0
- package/fesm2022/slotted-angular-rating.mjs.map +1 -0
- package/fesm2022/slotted-angular-result-state.mjs +330 -0
- package/fesm2022/slotted-angular-result-state.mjs.map +1 -0
- package/fesm2022/slotted-angular-saved-views.mjs +877 -0
- package/fesm2022/slotted-angular-saved-views.mjs.map +1 -0
- package/fesm2022/slotted-angular-scroll-area.mjs +294 -0
- package/fesm2022/slotted-angular-scroll-area.mjs.map +1 -0
- package/fesm2022/slotted-angular-section.mjs +266 -0
- package/fesm2022/slotted-angular-section.mjs.map +1 -0
- package/fesm2022/slotted-angular-segmented-control.mjs +454 -0
- package/fesm2022/slotted-angular-segmented-control.mjs.map +1 -0
- package/fesm2022/slotted-angular-select.mjs +1899 -0
- package/fesm2022/slotted-angular-select.mjs.map +1 -0
- package/fesm2022/slotted-angular-side-navigation.mjs +1042 -0
- package/fesm2022/slotted-angular-side-navigation.mjs.map +1 -0
- package/fesm2022/slotted-angular-skeleton.mjs +316 -0
- package/fesm2022/slotted-angular-skeleton.mjs.map +1 -0
- package/fesm2022/slotted-angular-slider.mjs +586 -0
- package/fesm2022/slotted-angular-slider.mjs.map +1 -0
- package/fesm2022/slotted-angular-sparkline.mjs +235 -0
- package/fesm2022/slotted-angular-sparkline.mjs.map +1 -0
- package/fesm2022/slotted-angular-split-button.mjs +331 -0
- package/fesm2022/slotted-angular-split-button.mjs.map +1 -0
- package/fesm2022/slotted-angular-splitter.mjs +516 -0
- package/fesm2022/slotted-angular-splitter.mjs.map +1 -0
- package/fesm2022/slotted-angular-stack.mjs +48 -0
- package/fesm2022/slotted-angular-stack.mjs.map +1 -0
- package/fesm2022/slotted-angular-stat-card.mjs +478 -0
- package/fesm2022/slotted-angular-stat-card.mjs.map +1 -0
- package/fesm2022/slotted-angular-status-indicator.mjs +155 -0
- package/fesm2022/slotted-angular-status-indicator.mjs.map +1 -0
- package/fesm2022/slotted-angular-stepper.mjs +536 -0
- package/fesm2022/slotted-angular-stepper.mjs.map +1 -0
- package/fesm2022/slotted-angular-switch.mjs +447 -0
- package/fesm2022/slotted-angular-switch.mjs.map +1 -0
- package/fesm2022/slotted-angular-table-of-contents.mjs +750 -0
- package/fesm2022/slotted-angular-table-of-contents.mjs.map +1 -0
- package/fesm2022/slotted-angular-table.mjs +2518 -0
- package/fesm2022/slotted-angular-table.mjs.map +1 -0
- package/fesm2022/slotted-angular-tabs.mjs +829 -0
- package/fesm2022/slotted-angular-tabs.mjs.map +1 -0
- package/fesm2022/slotted-angular-tag.mjs +595 -0
- package/fesm2022/slotted-angular-tag.mjs.map +1 -0
- package/fesm2022/slotted-angular-tags-input.mjs +1211 -0
- package/fesm2022/slotted-angular-tags-input.mjs.map +1 -0
- package/fesm2022/slotted-angular-text-field.mjs +674 -0
- package/fesm2022/slotted-angular-text-field.mjs.map +1 -0
- package/fesm2022/slotted-angular-textarea.mjs +275 -0
- package/fesm2022/slotted-angular-textarea.mjs.map +1 -0
- package/fesm2022/slotted-angular-theme.mjs +45 -0
- package/fesm2022/slotted-angular-theme.mjs.map +1 -0
- package/fesm2022/slotted-angular-time-field.mjs +895 -0
- package/fesm2022/slotted-angular-time-field.mjs.map +1 -0
- package/fesm2022/slotted-angular-time-picker.mjs +856 -0
- package/fesm2022/slotted-angular-time-picker.mjs.map +1 -0
- package/fesm2022/slotted-angular-time-range-picker.mjs +1534 -0
- package/fesm2022/slotted-angular-time-range-picker.mjs.map +1 -0
- package/fesm2022/slotted-angular-timeline.mjs +928 -0
- package/fesm2022/slotted-angular-timeline.mjs.map +1 -0
- package/fesm2022/slotted-angular-toast.mjs +917 -0
- package/fesm2022/slotted-angular-toast.mjs.map +1 -0
- package/fesm2022/slotted-angular-toggle-group.mjs +311 -0
- package/fesm2022/slotted-angular-toggle-group.mjs.map +1 -0
- package/fesm2022/slotted-angular-toggle.mjs +162 -0
- package/fesm2022/slotted-angular-toggle.mjs.map +1 -0
- package/fesm2022/slotted-angular-toolbar.mjs +536 -0
- package/fesm2022/slotted-angular-toolbar.mjs.map +1 -0
- package/fesm2022/slotted-angular-tooltip.mjs +798 -0
- package/fesm2022/slotted-angular-tooltip.mjs.map +1 -0
- package/fesm2022/slotted-angular-top-navigation.mjs +1308 -0
- package/fesm2022/slotted-angular-top-navigation.mjs.map +1 -0
- package/fesm2022/slotted-angular-tour.mjs +1330 -0
- package/fesm2022/slotted-angular-tour.mjs.map +1 -0
- package/fesm2022/slotted-angular-transfer.mjs +1406 -0
- package/fesm2022/slotted-angular-transfer.mjs.map +1 -0
- package/fesm2022/slotted-angular-tree.mjs +1448 -0
- package/fesm2022/slotted-angular-tree.mjs.map +1 -0
- package/fesm2022/slotted-angular-typography.mjs +184 -0
- package/fesm2022/slotted-angular-typography.mjs.map +1 -0
- package/fesm2022/slotted-angular-upload.mjs +1523 -0
- package/fesm2022/slotted-angular-upload.mjs.map +1 -0
- package/fesm2022/slotted-angular-visually-hidden.mjs +32 -0
- package/fesm2022/slotted-angular-visually-hidden.mjs.map +1 -0
- package/fesm2022/slotted-angular-wizard.mjs +1715 -0
- package/fesm2022/slotted-angular-wizard.mjs.map +1 -0
- package/fesm2022/slotted-angular.mjs +4 -0
- package/fesm2022/slotted-angular.mjs.map +1 -0
- package/package.json +537 -3
- package/types/slotted-angular-accordion.d.ts +156 -0
- package/types/slotted-angular-accordion.d.ts.map +1 -0
- package/types/slotted-angular-action-bar.d.ts +291 -0
- package/types/slotted-angular-action-bar.d.ts.map +1 -0
- package/types/slotted-angular-action-sheet.d.ts +294 -0
- package/types/slotted-angular-action-sheet.d.ts.map +1 -0
- package/types/slotted-angular-alert.d.ts +214 -0
- package/types/slotted-angular-alert.d.ts.map +1 -0
- package/types/slotted-angular-app-shell.d.ts +549 -0
- package/types/slotted-angular-app-shell.d.ts.map +1 -0
- package/types/slotted-angular-aspect-ratio.d.ts +57 -0
- package/types/slotted-angular-aspect-ratio.d.ts.map +1 -0
- package/types/slotted-angular-attachment.d.ts +294 -0
- package/types/slotted-angular-attachment.d.ts.map +1 -0
- package/types/slotted-angular-avatar-group.d.ts +119 -0
- package/types/slotted-angular-avatar-group.d.ts.map +1 -0
- package/types/slotted-angular-avatar.d.ts +202 -0
- package/types/slotted-angular-avatar.d.ts.map +1 -0
- package/types/slotted-angular-badge.d.ts +166 -0
- package/types/slotted-angular-badge.d.ts.map +1 -0
- package/types/slotted-angular-breadcrumb.d.ts +251 -0
- package/types/slotted-angular-breadcrumb.d.ts.map +1 -0
- package/types/slotted-angular-button-group.d.ts +89 -0
- package/types/slotted-angular-button-group.d.ts.map +1 -0
- package/types/slotted-angular-button.d.ts +390 -0
- package/types/slotted-angular-button.d.ts.map +1 -0
- package/types/slotted-angular-calendar.d.ts +280 -0
- package/types/slotted-angular-calendar.d.ts.map +1 -0
- package/types/slotted-angular-card.d.ts +140 -0
- package/types/slotted-angular-card.d.ts.map +1 -0
- package/types/slotted-angular-carousel.d.ts +288 -0
- package/types/slotted-angular-carousel.d.ts.map +1 -0
- package/types/slotted-angular-cascader.d.ts +351 -0
- package/types/slotted-angular-cascader.d.ts.map +1 -0
- package/types/slotted-angular-chart.d.ts +319 -0
- package/types/slotted-angular-chart.d.ts.map +1 -0
- package/types/slotted-angular-checkbox-group.d.ts +156 -0
- package/types/slotted-angular-checkbox-group.d.ts.map +1 -0
- package/types/slotted-angular-checkbox.d.ts +197 -0
- package/types/slotted-angular-checkbox.d.ts.map +1 -0
- package/types/slotted-angular-code-block.d.ts +158 -0
- package/types/slotted-angular-code-block.d.ts.map +1 -0
- package/types/slotted-angular-collapsible.d.ts +272 -0
- package/types/slotted-angular-collapsible.d.ts.map +1 -0
- package/types/slotted-angular-color-picker.d.ts +181 -0
- package/types/slotted-angular-color-picker.d.ts.map +1 -0
- package/types/slotted-angular-column-manager.d.ts +200 -0
- package/types/slotted-angular-column-manager.d.ts.map +1 -0
- package/types/slotted-angular-combobox.d.ts +449 -0
- package/types/slotted-angular-combobox.d.ts.map +1 -0
- package/types/slotted-angular-command-palette.d.ts +256 -0
- package/types/slotted-angular-command-palette.d.ts.map +1 -0
- package/types/slotted-angular-container.d.ts +84 -0
- package/types/slotted-angular-container.d.ts.map +1 -0
- package/types/slotted-angular-context-menu.d.ts +84 -0
- package/types/slotted-angular-context-menu.d.ts.map +1 -0
- package/types/slotted-angular-currency-field.d.ts +480 -0
- package/types/slotted-angular-currency-field.d.ts.map +1 -0
- package/types/slotted-angular-dashboard-grid.d.ts +341 -0
- package/types/slotted-angular-dashboard-grid.d.ts.map +1 -0
- package/types/slotted-angular-data-grid.d.ts +1077 -0
- package/types/slotted-angular-data-grid.d.ts.map +1 -0
- package/types/slotted-angular-data-list.d.ts +272 -0
- package/types/slotted-angular-data-list.d.ts.map +1 -0
- package/types/slotted-angular-date-field.d.ts +320 -0
- package/types/slotted-angular-date-field.d.ts.map +1 -0
- package/types/slotted-angular-date-picker.d.ts +224 -0
- package/types/slotted-angular-date-picker.d.ts.map +1 -0
- package/types/slotted-angular-date-range-picker.d.ts +310 -0
- package/types/slotted-angular-date-range-picker.d.ts.map +1 -0
- package/types/slotted-angular-datetime-field.d.ts +362 -0
- package/types/slotted-angular-datetime-field.d.ts.map +1 -0
- package/types/slotted-angular-datetime-picker.d.ts +370 -0
- package/types/slotted-angular-datetime-picker.d.ts.map +1 -0
- package/types/slotted-angular-datetime-range-picker.d.ts +459 -0
- package/types/slotted-angular-datetime-range-picker.d.ts.map +1 -0
- package/types/slotted-angular-description-list.d.ts +281 -0
- package/types/slotted-angular-description-list.d.ts.map +1 -0
- package/types/slotted-angular-detail-panel.d.ts +240 -0
- package/types/slotted-angular-detail-panel.d.ts.map +1 -0
- package/types/slotted-angular-dialog.d.ts +497 -0
- package/types/slotted-angular-dialog.d.ts.map +1 -0
- package/types/slotted-angular-divider.d.ts +40 -0
- package/types/slotted-angular-divider.d.ts.map +1 -0
- package/types/slotted-angular-drawer.d.ts +532 -0
- package/types/slotted-angular-drawer.d.ts.map +1 -0
- package/types/slotted-angular-entity-picker.d.ts +338 -0
- package/types/slotted-angular-entity-picker.d.ts.map +1 -0
- package/types/slotted-angular-event-calendar.d.ts +574 -0
- package/types/slotted-angular-event-calendar.d.ts.map +1 -0
- package/types/slotted-angular-field-group.d.ts +152 -0
- package/types/slotted-angular-field-group.d.ts.map +1 -0
- package/types/slotted-angular-field.d.ts +535 -0
- package/types/slotted-angular-field.d.ts.map +1 -0
- package/types/slotted-angular-filter-bar.d.ts +573 -0
- package/types/slotted-angular-filter-bar.d.ts.map +1 -0
- package/types/slotted-angular-form.d.ts +298 -0
- package/types/slotted-angular-form.d.ts.map +1 -0
- package/types/slotted-angular-fullscreen.d.ts +145 -0
- package/types/slotted-angular-fullscreen.d.ts.map +1 -0
- package/types/slotted-angular-grid.d.ts +50 -0
- package/types/slotted-angular-grid.d.ts.map +1 -0
- package/types/slotted-angular-highlight.d.ts +93 -0
- package/types/slotted-angular-highlight.d.ts.map +1 -0
- package/types/slotted-angular-hover-card.d.ts +140 -0
- package/types/slotted-angular-hover-card.d.ts.map +1 -0
- package/types/slotted-angular-i18n.d.ts +46 -0
- package/types/slotted-angular-i18n.d.ts.map +1 -0
- package/types/slotted-angular-icon.d.ts +94 -0
- package/types/slotted-angular-icon.d.ts.map +1 -0
- package/types/slotted-angular-image.d.ts +251 -0
- package/types/slotted-angular-image.d.ts.map +1 -0
- package/types/slotted-angular-import-export-center.d.ts +351 -0
- package/types/slotted-angular-import-export-center.d.ts.map +1 -0
- package/types/slotted-angular-inline-message.d.ts +195 -0
- package/types/slotted-angular-inline-message.d.ts.map +1 -0
- package/types/slotted-angular-inline.d.ts +41 -0
- package/types/slotted-angular-inline.d.ts.map +1 -0
- package/types/slotted-angular-kbd.d.ts +174 -0
- package/types/slotted-angular-kbd.d.ts.map +1 -0
- package/types/slotted-angular-link.d.ts +94 -0
- package/types/slotted-angular-link.d.ts.map +1 -0
- package/types/slotted-angular-list-item.d.ts +210 -0
- package/types/slotted-angular-list-item.d.ts.map +1 -0
- package/types/slotted-angular-list.d.ts +176 -0
- package/types/slotted-angular-list.d.ts.map +1 -0
- package/types/slotted-angular-listbox.d.ts +470 -0
- package/types/slotted-angular-listbox.d.ts.map +1 -0
- package/types/slotted-angular-loading-overlay.d.ts +219 -0
- package/types/slotted-angular-loading-overlay.d.ts.map +1 -0
- package/types/slotted-angular-markdown.d.ts +172 -0
- package/types/slotted-angular-markdown.d.ts.map +1 -0
- package/types/slotted-angular-menu.d.ts +448 -0
- package/types/slotted-angular-menu.d.ts.map +1 -0
- package/types/slotted-angular-menubar.d.ts +90 -0
- package/types/slotted-angular-menubar.d.ts.map +1 -0
- package/types/slotted-angular-message-scroller.d.ts +151 -0
- package/types/slotted-angular-message-scroller.d.ts.map +1 -0
- package/types/slotted-angular-message.d.ts +348 -0
- package/types/slotted-angular-message.d.ts.map +1 -0
- package/types/slotted-angular-multi-select.d.ts +462 -0
- package/types/slotted-angular-multi-select.d.ts.map +1 -0
- package/types/slotted-angular-navigation-menu.d.ts +309 -0
- package/types/slotted-angular-navigation-menu.d.ts.map +1 -0
- package/types/slotted-angular-notification-center.d.ts +318 -0
- package/types/slotted-angular-notification-center.d.ts.map +1 -0
- package/types/slotted-angular-number-field.d.ts +402 -0
- package/types/slotted-angular-number-field.d.ts.map +1 -0
- package/types/slotted-angular-otp-input.d.ts +286 -0
- package/types/slotted-angular-otp-input.d.ts.map +1 -0
- package/types/slotted-angular-page-header.d.ts +334 -0
- package/types/slotted-angular-page-header.d.ts.map +1 -0
- package/types/slotted-angular-page.d.ts +141 -0
- package/types/slotted-angular-page.d.ts.map +1 -0
- package/types/slotted-angular-pagination.d.ts +213 -0
- package/types/slotted-angular-pagination.d.ts.map +1 -0
- package/types/slotted-angular-popover.d.ts +366 -0
- package/types/slotted-angular-popover.d.ts.map +1 -0
- package/types/slotted-angular-progress-indicator.d.ts +312 -0
- package/types/slotted-angular-progress-indicator.d.ts.map +1 -0
- package/types/slotted-angular-prompt-composer.d.ts +242 -0
- package/types/slotted-angular-prompt-composer.d.ts.map +1 -0
- package/types/slotted-angular-prose.d.ts +171 -0
- package/types/slotted-angular-prose.d.ts.map +1 -0
- package/types/slotted-angular-radio-group.d.ts +268 -0
- package/types/slotted-angular-radio-group.d.ts.map +1 -0
- package/types/slotted-angular-rating.d.ts +374 -0
- package/types/slotted-angular-rating.d.ts.map +1 -0
- package/types/slotted-angular-result-state.d.ts +217 -0
- package/types/slotted-angular-result-state.d.ts.map +1 -0
- package/types/slotted-angular-saved-views.d.ts +198 -0
- package/types/slotted-angular-saved-views.d.ts.map +1 -0
- package/types/slotted-angular-scroll-area.d.ts +186 -0
- package/types/slotted-angular-scroll-area.d.ts.map +1 -0
- package/types/slotted-angular-section.d.ts +143 -0
- package/types/slotted-angular-section.d.ts.map +1 -0
- package/types/slotted-angular-segmented-control.d.ts +251 -0
- package/types/slotted-angular-segmented-control.d.ts.map +1 -0
- package/types/slotted-angular-select.d.ts +507 -0
- package/types/slotted-angular-select.d.ts.map +1 -0
- package/types/slotted-angular-side-navigation.d.ts +373 -0
- package/types/slotted-angular-side-navigation.d.ts.map +1 -0
- package/types/slotted-angular-skeleton.d.ts +198 -0
- package/types/slotted-angular-skeleton.d.ts.map +1 -0
- package/types/slotted-angular-slider.d.ts +216 -0
- package/types/slotted-angular-slider.d.ts.map +1 -0
- package/types/slotted-angular-sparkline.d.ts +106 -0
- package/types/slotted-angular-sparkline.d.ts.map +1 -0
- package/types/slotted-angular-split-button.d.ts +180 -0
- package/types/slotted-angular-split-button.d.ts.map +1 -0
- package/types/slotted-angular-splitter.d.ts +206 -0
- package/types/slotted-angular-splitter.d.ts.map +1 -0
- package/types/slotted-angular-stack.d.ts +38 -0
- package/types/slotted-angular-stack.d.ts.map +1 -0
- package/types/slotted-angular-stat-card.d.ts +232 -0
- package/types/slotted-angular-stat-card.d.ts.map +1 -0
- package/types/slotted-angular-status-indicator.d.ts +106 -0
- package/types/slotted-angular-status-indicator.d.ts.map +1 -0
- package/types/slotted-angular-stepper.d.ts +198 -0
- package/types/slotted-angular-stepper.d.ts.map +1 -0
- package/types/slotted-angular-switch.d.ts +243 -0
- package/types/slotted-angular-switch.d.ts.map +1 -0
- package/types/slotted-angular-table-of-contents.d.ts +210 -0
- package/types/slotted-angular-table-of-contents.d.ts.map +1 -0
- package/types/slotted-angular-table.d.ts +888 -0
- package/types/slotted-angular-table.d.ts.map +1 -0
- package/types/slotted-angular-tabs.d.ts +340 -0
- package/types/slotted-angular-tabs.d.ts.map +1 -0
- package/types/slotted-angular-tag.d.ts +279 -0
- package/types/slotted-angular-tag.d.ts.map +1 -0
- package/types/slotted-angular-tags-input.d.ts +302 -0
- package/types/slotted-angular-tags-input.d.ts.map +1 -0
- package/types/slotted-angular-text-field.d.ts +334 -0
- package/types/slotted-angular-text-field.d.ts.map +1 -0
- package/types/slotted-angular-textarea.d.ts +150 -0
- package/types/slotted-angular-textarea.d.ts.map +1 -0
- package/types/slotted-angular-theme.d.ts +26 -0
- package/types/slotted-angular-theme.d.ts.map +1 -0
- package/types/slotted-angular-time-field.d.ts +300 -0
- package/types/slotted-angular-time-field.d.ts.map +1 -0
- package/types/slotted-angular-time-picker.d.ts +260 -0
- package/types/slotted-angular-time-picker.d.ts.map +1 -0
- package/types/slotted-angular-time-range-picker.d.ts +401 -0
- package/types/slotted-angular-time-range-picker.d.ts.map +1 -0
- package/types/slotted-angular-timeline.d.ts +329 -0
- package/types/slotted-angular-timeline.d.ts.map +1 -0
- package/types/slotted-angular-toast.d.ts +340 -0
- package/types/slotted-angular-toast.d.ts.map +1 -0
- package/types/slotted-angular-toggle-group.d.ts +167 -0
- package/types/slotted-angular-toggle-group.d.ts.map +1 -0
- package/types/slotted-angular-toggle.d.ts +106 -0
- package/types/slotted-angular-toggle.d.ts.map +1 -0
- package/types/slotted-angular-toolbar.d.ts +252 -0
- package/types/slotted-angular-toolbar.d.ts.map +1 -0
- package/types/slotted-angular-tooltip.d.ts +388 -0
- package/types/slotted-angular-tooltip.d.ts.map +1 -0
- package/types/slotted-angular-top-navigation.d.ts +442 -0
- package/types/slotted-angular-top-navigation.d.ts.map +1 -0
- package/types/slotted-angular-tour.d.ts +440 -0
- package/types/slotted-angular-tour.d.ts.map +1 -0
- package/types/slotted-angular-transfer.d.ts +296 -0
- package/types/slotted-angular-transfer.d.ts.map +1 -0
- package/types/slotted-angular-tree.d.ts +499 -0
- package/types/slotted-angular-tree.d.ts.map +1 -0
- package/types/slotted-angular-typography.d.ts +89 -0
- package/types/slotted-angular-typography.d.ts.map +1 -0
- package/types/slotted-angular-upload.d.ts +365 -0
- package/types/slotted-angular-upload.d.ts.map +1 -0
- package/types/slotted-angular-visually-hidden.d.ts +19 -0
- package/types/slotted-angular-visually-hidden.d.ts.map +1 -0
- package/types/slotted-angular-wizard.d.ts +441 -0
- package/types/slotted-angular-wizard.d.ts.map +1 -0
- package/types/slotted-angular.d.ts +3 -0
- package/types/slotted-angular.d.ts.map +1 -0
package/docs/alert.json
ADDED
|
@@ -0,0 +1,407 @@
|
|
|
1
|
+
{
|
|
2
|
+
"family": "alert",
|
|
3
|
+
"ui": "alert",
|
|
4
|
+
"binding": "angular",
|
|
5
|
+
"catalog": {
|
|
6
|
+
"group": "Feedback",
|
|
7
|
+
"summary": "Static message with a tone, icon and actions."
|
|
8
|
+
},
|
|
9
|
+
"axes": {
|
|
10
|
+
"tone": [
|
|
11
|
+
"accent",
|
|
12
|
+
"secondary",
|
|
13
|
+
"success",
|
|
14
|
+
"warning",
|
|
15
|
+
"danger"
|
|
16
|
+
],
|
|
17
|
+
"variant": [
|
|
18
|
+
"soft",
|
|
19
|
+
"outline",
|
|
20
|
+
"solid"
|
|
21
|
+
],
|
|
22
|
+
"reach": [
|
|
23
|
+
"inline",
|
|
24
|
+
"section",
|
|
25
|
+
"page"
|
|
26
|
+
],
|
|
27
|
+
"live": [
|
|
28
|
+
"off",
|
|
29
|
+
"polite",
|
|
30
|
+
"assertive"
|
|
31
|
+
]
|
|
32
|
+
},
|
|
33
|
+
"members": {
|
|
34
|
+
"alert": {
|
|
35
|
+
"nativeElement": "section",
|
|
36
|
+
"defaults": {
|
|
37
|
+
"tone": "accent",
|
|
38
|
+
"variant": "soft",
|
|
39
|
+
"reach": "section",
|
|
40
|
+
"live": "off",
|
|
41
|
+
"hideIcon": false,
|
|
42
|
+
"dismissible": false,
|
|
43
|
+
"defaultOpen": true,
|
|
44
|
+
"restoreFocus": true
|
|
45
|
+
},
|
|
46
|
+
"capabilities": [
|
|
47
|
+
"appearance",
|
|
48
|
+
"live",
|
|
49
|
+
"open"
|
|
50
|
+
],
|
|
51
|
+
"states": [
|
|
52
|
+
"default",
|
|
53
|
+
"hover",
|
|
54
|
+
"active",
|
|
55
|
+
"focus-visible",
|
|
56
|
+
"open"
|
|
57
|
+
],
|
|
58
|
+
"parts": [
|
|
59
|
+
"root",
|
|
60
|
+
"icon",
|
|
61
|
+
"content",
|
|
62
|
+
"title",
|
|
63
|
+
"description",
|
|
64
|
+
"actions",
|
|
65
|
+
"dismiss"
|
|
66
|
+
]
|
|
67
|
+
}
|
|
68
|
+
},
|
|
69
|
+
"docs": {
|
|
70
|
+
"alert": {
|
|
71
|
+
"imports": {
|
|
72
|
+
"source": "import {\n provideAlertDefaults,\n SlAlert,\n SlAlertActions,\n SlAlertContent,\n SlAlertDescription,\n SlAlertIcon,\n SlAlertTitle,\n} from '@slotted/angular/alert';",
|
|
73
|
+
"selector": "[slAlert]",
|
|
74
|
+
"exportAs": "slAlert"
|
|
75
|
+
},
|
|
76
|
+
"anatomy": [
|
|
77
|
+
{
|
|
78
|
+
"part": "root",
|
|
79
|
+
"element": "the element the consumer wrote — a section",
|
|
80
|
+
"required": true,
|
|
81
|
+
"purpose": "The box. Carries data-ui=\"alert\", the four axes, data-open, hidden when closed, and tabindex=\"-1\". Written on a section it is a region landmark once its title names it; on anything else it is a plain grouping element."
|
|
82
|
+
},
|
|
83
|
+
{
|
|
84
|
+
"part": "icon",
|
|
85
|
+
"element": "span",
|
|
86
|
+
"required": false,
|
|
87
|
+
"purpose": "The tone’s mark, drawn as a mask from the foundation’s status glyph set and hidden from assistive technology. Absent when hideIcon; holds whatever is projected with slAlertIcon."
|
|
88
|
+
},
|
|
89
|
+
{
|
|
90
|
+
"part": "content",
|
|
91
|
+
"element": "the element carrying slAlertContent",
|
|
92
|
+
"required": true,
|
|
93
|
+
"purpose": "The title and the description, and nothing else. This is the live region: role=\"status\" or role=\"alert\" is written here, so the controls beside it are outside what a reader hears."
|
|
94
|
+
},
|
|
95
|
+
{
|
|
96
|
+
"part": "title",
|
|
97
|
+
"element": "the element carrying slAlertTitle — a div, or a heading",
|
|
98
|
+
"required": false,
|
|
99
|
+
"purpose": "The message’s name, and the box’s: the root points aria-labelledby at it. The element is the page’s own, so writing <h3 slAlertTitle> is how a message joins the document outline."
|
|
100
|
+
},
|
|
101
|
+
{
|
|
102
|
+
"part": "description",
|
|
103
|
+
"element": "the element carrying slAlertDescription — a p",
|
|
104
|
+
"required": false,
|
|
105
|
+
"purpose": "The message. It breaks a string no language can break — a digest, a host name — rather than overflowing, and removes nothing from the DOM to do it."
|
|
106
|
+
},
|
|
107
|
+
{
|
|
108
|
+
"part": "actions",
|
|
109
|
+
"element": "the element carrying slAlertActions",
|
|
110
|
+
"required": false,
|
|
111
|
+
"purpose": "The controls that act on the message, outside the live region. They stack at a narrow container width, and rejoin the message’s own line on a page banner past 40rem."
|
|
112
|
+
},
|
|
113
|
+
{
|
|
114
|
+
"part": "dismiss",
|
|
115
|
+
"element": "button",
|
|
116
|
+
"required": false,
|
|
117
|
+
"purpose": "Closes the message. Rendered when dismissible, named by the catalog’s dismiss, and sized from its glyph plus a step of air, floored at the WCAG 2.2 minimum so the target holds at every density (R2)."
|
|
118
|
+
}
|
|
119
|
+
],
|
|
120
|
+
"api": [
|
|
121
|
+
{
|
|
122
|
+
"name": "tone",
|
|
123
|
+
"type": "'accent' | 'secondary' | 'success' | 'warning' | 'danger'",
|
|
124
|
+
"defaultValue": "accent",
|
|
125
|
+
"appliesTo": "slAlert",
|
|
126
|
+
"description": "Which of the five semantic colours the message speaks in, and which mark it draws: circle-info, none for secondary, circle-check, circle-alert, circle-x"
|
|
127
|
+
},
|
|
128
|
+
{
|
|
129
|
+
"name": "variant",
|
|
130
|
+
"type": "'soft' | 'outline' | 'solid'",
|
|
131
|
+
"defaultValue": "soft",
|
|
132
|
+
"appliesTo": "slAlert",
|
|
133
|
+
"description": "How that colour is painted. soft carries the tone’s surface and its border, outline the border alone, solid the tone’s fill and the ink the theme measures against it"
|
|
134
|
+
},
|
|
135
|
+
{
|
|
136
|
+
"name": "reach",
|
|
137
|
+
"type": "'inline' | 'section' | 'page'",
|
|
138
|
+
"defaultValue": "section",
|
|
139
|
+
"appliesTo": "slAlert",
|
|
140
|
+
"description": "The scope the message applies to. inline is tightest and sits beside a field group; page loses its corners and its inline edges because it runs to both edges of what holds it"
|
|
141
|
+
},
|
|
142
|
+
{
|
|
143
|
+
"name": "live",
|
|
144
|
+
"type": "'off' | 'polite' | 'assertive'",
|
|
145
|
+
"defaultValue": "off",
|
|
146
|
+
"appliesTo": "slAlert",
|
|
147
|
+
"description": "Whether the text announces itself. polite writes role=\"status\" on the slAlertContent element and assertive writes role=\"alert\"; both imply aria-live and aria-atomic, and neither is written on the box"
|
|
148
|
+
},
|
|
149
|
+
{
|
|
150
|
+
"name": "hideIcon",
|
|
151
|
+
"type": "boolean",
|
|
152
|
+
"defaultValue": "false",
|
|
153
|
+
"appliesTo": "slAlert",
|
|
154
|
+
"description": "Draws no mark at all, for a callout that carries its own artwork in the body"
|
|
155
|
+
},
|
|
156
|
+
{
|
|
157
|
+
"name": "dismissible",
|
|
158
|
+
"type": "boolean",
|
|
159
|
+
"defaultValue": "false",
|
|
160
|
+
"appliesTo": "slAlert",
|
|
161
|
+
"description": "Renders the control that closes the message. Angular cannot see whether an output is subscribed, so the opt-in is stated — the asymmetry with React that tag recorded first"
|
|
162
|
+
},
|
|
163
|
+
{
|
|
164
|
+
"name": "messages",
|
|
165
|
+
"type": "Partial<AlertMessages>",
|
|
166
|
+
"defaultValue": "—",
|
|
167
|
+
"appliesTo": "slAlert",
|
|
168
|
+
"description": "Words laid over the language in force, key by key: what that control announces (dismiss)"
|
|
169
|
+
},
|
|
170
|
+
{
|
|
171
|
+
"name": "open",
|
|
172
|
+
"type": "boolean",
|
|
173
|
+
"defaultValue": "—",
|
|
174
|
+
"appliesTo": "slAlert",
|
|
175
|
+
"description": "The openness the consumer owns. Passing it puts the alert in controlled mode for good, and the family then only asks"
|
|
176
|
+
},
|
|
177
|
+
{
|
|
178
|
+
"name": "defaultOpen",
|
|
179
|
+
"type": "boolean",
|
|
180
|
+
"defaultValue": "true",
|
|
181
|
+
"appliesTo": "slAlert",
|
|
182
|
+
"description": "The openness an uncontrolled alert starts from, read once. A later change to it is not silently adopted"
|
|
183
|
+
},
|
|
184
|
+
{
|
|
185
|
+
"name": "restoreFocus",
|
|
186
|
+
"type": "boolean",
|
|
187
|
+
"defaultValue": "true",
|
|
188
|
+
"appliesTo": "slAlert",
|
|
189
|
+
"description": "Returns the keyboard to the element it came from when the message closes with focus inside it. Nothing moves when focus was never there"
|
|
190
|
+
}
|
|
191
|
+
],
|
|
192
|
+
"composition": [
|
|
193
|
+
{
|
|
194
|
+
"name": "slAlertIcon",
|
|
195
|
+
"type": "projected content",
|
|
196
|
+
"defaultValue": "—",
|
|
197
|
+
"appliesTo": "any element inside slAlert",
|
|
198
|
+
"description": "Replaces the tone’s mark, keeping the box, the size and the place on the message’s first line. React passes a node in icon instead; content projection is what an Angular consumer has"
|
|
199
|
+
},
|
|
200
|
+
{
|
|
201
|
+
"name": "setOpen",
|
|
202
|
+
"type": "(open: boolean) => void",
|
|
203
|
+
"defaultValue": "—",
|
|
204
|
+
"appliesTo": "slAlert, through exportAs",
|
|
205
|
+
"description": "Opens or closes the message from a template, emitting programmatic as the reason. It is the reach a template has and React does not: JSX can re-render an input, and a template can only call a method"
|
|
206
|
+
},
|
|
207
|
+
{
|
|
208
|
+
"name": "focus",
|
|
209
|
+
"type": "() => void",
|
|
210
|
+
"defaultValue": "—",
|
|
211
|
+
"appliesTo": "slAlert, through exportAs",
|
|
212
|
+
"description": "Sends the keyboard to the box, which carries tabindex=\"-1\". The family never does this by itself, because the APG says an alert must not affect keyboard focus"
|
|
213
|
+
},
|
|
214
|
+
{
|
|
215
|
+
"name": "provideAlertDefaults",
|
|
216
|
+
"type": "{ tone, variant, reach, live }",
|
|
217
|
+
"defaultValue": "—",
|
|
218
|
+
"appliesTo": "an injector",
|
|
219
|
+
"description": "Sets all four once for every alert under it; an explicit input on one message still wins"
|
|
220
|
+
},
|
|
221
|
+
{
|
|
222
|
+
"name": "ng-content",
|
|
223
|
+
"type": "projected content",
|
|
224
|
+
"defaultValue": "—",
|
|
225
|
+
"appliesTo": "slAlertContent",
|
|
226
|
+
"description": "The title and the description. Anything else placed here joins the live region, which is why the actions are a part of their own"
|
|
227
|
+
}
|
|
228
|
+
],
|
|
229
|
+
"events": [
|
|
230
|
+
{
|
|
231
|
+
"name": "(openChange)",
|
|
232
|
+
"payload": "ChangeRequest<boolean> — value, previous, reason, source, cancel()",
|
|
233
|
+
"when": "The dismiss control is activated, or a template calls setOpen(). reason is dismiss or programmatic, source is the originating event, and $event.cancel() refuses the change — the message stays open and the keyboard stays where it is. Nothing is emitted when the consumer moves open itself."
|
|
234
|
+
}
|
|
235
|
+
],
|
|
236
|
+
"accessibility": [
|
|
237
|
+
"The applicable pattern is the WAI-ARIA APG Alert Pattern (w3.org/WAI/ARIA/apg/patterns/alert/). It declares one role and no keyboard interaction: an alert is not a widget, so it holds no keys. Its two prose requirements — that an alert must not affect keyboard focus, and must not disappear on its own — are what this family declines automatic focus and automatic dismissal for.",
|
|
238
|
+
"The box is a landmark, not a live region. MDN’s alert role reference states that the role “should only be used for text content, not interactive elements such as links or buttons”, and every alert worth shipping has a dismiss control. The directive belongs on a section, named by its own title through aria-labelledby, and the region that announces is the slAlertContent element, which holds the title and the description alone.",
|
|
239
|
+
"live defaults to off because the APG records that “screen readers do not inform users of alerts that are present on the page before page load completes”. An alert already on the page announces nothing whatever role it carries; polite and assertive are for a message that arrives while the reader is working, and both are written as a role that already implies aria-live and aria-atomic.",
|
|
240
|
+
"Every tone with a severity carries a mark as well as a colour, and secondary carries none: a neutral note has no severity to state. Under forced colours the five grounds become one system colour and the five borders one more, so the mark, and its absence on a note, is the only thing distinguishing an error from a note — WCAG 2.2 1.4.1.",
|
|
241
|
+
"The dismiss control is a real button with a real name and an inner control rather than a Button (R2): its box is the glyph plus a step of air on each side, floored at --slotted-target-min, which is the WCAG 2.2 2.5.8 minimum of 24 CSS pixels; at rest it has no frame and no ground, and hover moves only the ground.",
|
|
242
|
+
"When the message closes with focus inside it, the keyboard goes back to the element it came from. None of the ten surveyed implementations answers this, and the failure it prevents is the one a real product hits first: the dismiss control is destroyed, focus falls to the document body, and the next Tab starts again at the top of the page.",
|
|
243
|
+
"Closing hides rather than removes, so the live region is still in the document if the message comes back and data-open is a state a consumer can style. An application that must not pay for the hidden subtree writes its own @if and never uses defaultOpen.",
|
|
244
|
+
"Escape does not close the message. An alert is not a dismissable layer, and one inside a dialog would swallow the dialog’s own Escape; a message that must interrupt the reader is an alert dialog rather than an alert."
|
|
245
|
+
]
|
|
246
|
+
}
|
|
247
|
+
},
|
|
248
|
+
"tokens": [
|
|
249
|
+
"--slotted-alert-actions-gap",
|
|
250
|
+
"--slotted-alert-border-width",
|
|
251
|
+
"--slotted-alert-column-gap",
|
|
252
|
+
"--slotted-alert-dismiss-radius",
|
|
253
|
+
"--slotted-alert-dismiss-size",
|
|
254
|
+
"--slotted-alert-font-family",
|
|
255
|
+
"--slotted-alert-padding-block",
|
|
256
|
+
"--slotted-alert-padding-inline",
|
|
257
|
+
"--slotted-alert-radius",
|
|
258
|
+
"--slotted-alert-row-gap",
|
|
259
|
+
"--slotted-alert-state-layer-active",
|
|
260
|
+
"--slotted-alert-state-layer-hover",
|
|
261
|
+
"--slotted-alert-text-gap",
|
|
262
|
+
"--slotted-alert-title-font-family",
|
|
263
|
+
"--slotted-alert-title-font-weight",
|
|
264
|
+
"--slotted-border-width-thin",
|
|
265
|
+
"--slotted-control-font-family",
|
|
266
|
+
"--slotted-control-font-size-lg",
|
|
267
|
+
"--slotted-control-font-size-md",
|
|
268
|
+
"--slotted-control-font-size-sm",
|
|
269
|
+
"--slotted-control-icon-size-lg",
|
|
270
|
+
"--slotted-control-icon-size-md",
|
|
271
|
+
"--slotted-control-icon-size-sm",
|
|
272
|
+
"--slotted-control-inner-size-lg",
|
|
273
|
+
"--slotted-control-inner-size-md",
|
|
274
|
+
"--slotted-control-inner-size-sm",
|
|
275
|
+
"--slotted-control-radius",
|
|
276
|
+
"--slotted-control-transition-duration",
|
|
277
|
+
"--slotted-control-transition-easing",
|
|
278
|
+
"--slotted-disabled-foreground",
|
|
279
|
+
"--slotted-duration-short",
|
|
280
|
+
"--slotted-easing-enter",
|
|
281
|
+
"--slotted-easing-exit",
|
|
282
|
+
"--slotted-focus-ring-color",
|
|
283
|
+
"--slotted-focus-ring-offset",
|
|
284
|
+
"--slotted-focus-ring-width",
|
|
285
|
+
"--slotted-font-family-heading",
|
|
286
|
+
"--slotted-font-family-sans",
|
|
287
|
+
"--slotted-font-weight-semibold",
|
|
288
|
+
"--slotted-line-height-md",
|
|
289
|
+
"--slotted-radius-md",
|
|
290
|
+
"--slotted-radius-sm",
|
|
291
|
+
"--slotted-space-2",
|
|
292
|
+
"--slotted-space-3",
|
|
293
|
+
"--slotted-space-4",
|
|
294
|
+
"--slotted-space-5",
|
|
295
|
+
"--slotted-space-6",
|
|
296
|
+
"--slotted-space-7",
|
|
297
|
+
"--slotted-target-comfortable",
|
|
298
|
+
"--slotted-target-min",
|
|
299
|
+
"--slotted-tone-accent-border",
|
|
300
|
+
"--slotted-tone-accent-on-solid",
|
|
301
|
+
"--slotted-tone-accent-solid",
|
|
302
|
+
"--slotted-tone-accent-surface",
|
|
303
|
+
"--slotted-tone-accent-text",
|
|
304
|
+
"--slotted-tone-danger-border",
|
|
305
|
+
"--slotted-tone-danger-on-solid",
|
|
306
|
+
"--slotted-tone-danger-solid",
|
|
307
|
+
"--slotted-tone-danger-surface",
|
|
308
|
+
"--slotted-tone-danger-text",
|
|
309
|
+
"--slotted-tone-secondary-border",
|
|
310
|
+
"--slotted-tone-secondary-on-solid",
|
|
311
|
+
"--slotted-tone-secondary-solid",
|
|
312
|
+
"--slotted-tone-secondary-surface",
|
|
313
|
+
"--slotted-tone-secondary-text",
|
|
314
|
+
"--slotted-tone-success-border",
|
|
315
|
+
"--slotted-tone-success-on-solid",
|
|
316
|
+
"--slotted-tone-success-solid",
|
|
317
|
+
"--slotted-tone-success-surface",
|
|
318
|
+
"--slotted-tone-success-text",
|
|
319
|
+
"--slotted-tone-warning-border",
|
|
320
|
+
"--slotted-tone-warning-on-solid",
|
|
321
|
+
"--slotted-tone-warning-solid",
|
|
322
|
+
"--slotted-tone-warning-surface",
|
|
323
|
+
"--slotted-tone-warning-text"
|
|
324
|
+
],
|
|
325
|
+
"examples": [
|
|
326
|
+
{
|
|
327
|
+
"id": "playground",
|
|
328
|
+
"title": "Playground",
|
|
329
|
+
"note": "One message with every axis on it, driven by the controls below the canvas. Change the tone and the mark changes with it, which is what makes the five distinguishable in greyscale.",
|
|
330
|
+
"language": "html",
|
|
331
|
+
"source": "<section slAlert tone=\"warning\">\n <div slAlertContent>\n <div slAlertTitle>Sua assinatura expira em três dias</div>\n <p slAlertDescription>Renove para manter o acesso da equipe.</p>\n </div>\n</section>\n",
|
|
332
|
+
"verdict": "excerpt"
|
|
333
|
+
},
|
|
334
|
+
{
|
|
335
|
+
"id": "tones",
|
|
336
|
+
"title": "What the message is about",
|
|
337
|
+
"note": "Five tones and five marks. The mark is the answer to WCAG 2.2 1.4.1: read in greyscale, or under forced colours where every ground becomes one system colour, the silhouette is the only thing left.",
|
|
338
|
+
"language": "html",
|
|
339
|
+
"source": "<!-- accent is information, secondary a neutral note, success something\n finished, warning something needing attention, danger something failed. -->\n<section slAlert tone=\"danger\">\n <div slAlertContent>\n <div slAlertTitle>Não foi possível salvar</div>\n </div>\n</section>\n",
|
|
340
|
+
"verdict": "excerpt"
|
|
341
|
+
},
|
|
342
|
+
{
|
|
343
|
+
"id": "variants",
|
|
344
|
+
"title": "How that tone is painted",
|
|
345
|
+
"note": "soft and solid bring a ground with them and survive any surface; outline takes the one underneath, so it reads on the page’s own surfaces and goes quiet on a ground the theme never measured its ink against.",
|
|
346
|
+
"language": "html",
|
|
347
|
+
"source": "<section slAlert variant=\"soft\"></section>\n<section slAlert variant=\"outline\"></section>\n<section slAlert variant=\"solid\"></section>\n\n<!-- A dark region is a scheme rather than a surface. -->\n<div data-slotted-scheme=\"dark\">\n <section slAlert variant=\"outline\"></section>\n</div>\n",
|
|
348
|
+
"verdict": "excerpt"
|
|
349
|
+
},
|
|
350
|
+
{
|
|
351
|
+
"id": "reach",
|
|
352
|
+
"title": "How far the message reaches",
|
|
353
|
+
"note": "The guide’s three recipes as one axis: inline beside the thing it is about, section inside a page section, page across an application. A page banner loses its corners because it runs to both edges.",
|
|
354
|
+
"language": "html",
|
|
355
|
+
"source": "<section slAlert reach=\"inline\" tone=\"danger\">\n <div slAlertContent>\n <p slAlertDescription>Informe um CNPJ válido.</p>\n </div>\n</section>\n\n<section slAlert reach=\"page\" tone=\"warning\"></section>\n",
|
|
356
|
+
"verdict": "excerpt"
|
|
357
|
+
},
|
|
358
|
+
{
|
|
359
|
+
"id": "dismissal",
|
|
360
|
+
"title": "Putting the message away",
|
|
361
|
+
"note": "The left one owns its own openness and needs no state at all; the right one hands it to the application, which can refuse the request. Watch where the keyboard lands after either of them closes.",
|
|
362
|
+
"language": "html",
|
|
363
|
+
"source": "<section slAlert dismissible></section>\n\n<section slAlert dismissible [open]=\"open()\" (openChange)=\"open.set($event.value)\"></section>\n\n<section slAlert dismissible (openChange)=\"confirmed() ? null : $event.cancel()\"></section>\n",
|
|
364
|
+
"verdict": "excerpt"
|
|
365
|
+
},
|
|
366
|
+
{
|
|
367
|
+
"id": "actions",
|
|
368
|
+
"title": "What the message asks for",
|
|
369
|
+
"note": "The controls are the consumer’s own buttons, in a part outside the live region — a reader hearing the message is not read two button labels in the middle of it. They stack when the box is narrow.",
|
|
370
|
+
"language": "html",
|
|
371
|
+
"source": "<section slAlert tone=\"warning\">\n <div slAlertContent>\n <div slAlertTitle>Sua assinatura expira em três dias</div>\n </div>\n <div slAlertActions>\n <button slButton size=\"sm\" tone=\"warning\" type=\"button\">Renovar</button>\n <button slButton size=\"sm\" tone=\"warning\" variant=\"ghost\" type=\"button\">Ver planos</button>\n </div>\n</section>\n",
|
|
372
|
+
"verdict": "excerpt"
|
|
373
|
+
},
|
|
374
|
+
{
|
|
375
|
+
"id": "live",
|
|
376
|
+
"title": "What a reader hears, and when",
|
|
377
|
+
"note": "off by default, because the APG records that alerts already on the page when it loads are not announced at all. Press the button and the message arrives while the reader is elsewhere, which is what polite and assertive are for.",
|
|
378
|
+
"language": "html",
|
|
379
|
+
"source": "<!-- role=\"status\" on the text, which implies aria-live and aria-atomic. -->\n<section slAlert live=\"polite\" tone=\"success\"></section>\n\n<!-- role=\"alert\": a failed save, a lost connection, an expiring session. -->\n<section slAlert live=\"assertive\" tone=\"danger\"></section>\n",
|
|
380
|
+
"verdict": "excerpt"
|
|
381
|
+
},
|
|
382
|
+
{
|
|
383
|
+
"id": "content",
|
|
384
|
+
"title": "Content the family did not choose",
|
|
385
|
+
"note": "A German compound that wraps, a container digest with no break opportunity, a message with no mark, and a title standing alone — all in a column narrow enough to make each of them a problem.",
|
|
386
|
+
"language": "html",
|
|
387
|
+
"source": "<section slAlert hideIcon>\n <div slAlertContent>\n <div slAlertTitle>O deploy falhou</div>\n <p slAlertDescription>{{ digest }}</p>\n </div>\n</section>\n",
|
|
388
|
+
"verdict": "excerpt"
|
|
389
|
+
},
|
|
390
|
+
{
|
|
391
|
+
"id": "composition",
|
|
392
|
+
"title": "Composition and escape hatches",
|
|
393
|
+
"note": "provideAlertDefaults sets the defaults once, the element of every part is the page’s own, slAlertIcon replaces the mark, and exportAs reaches the instance so a template can move focus to the message.",
|
|
394
|
+
"language": "ts",
|
|
395
|
+
"source": "bootstrapApplication(App, {\n providers: [provideAlertDefaults({ reach: 'page' })],\n});\n",
|
|
396
|
+
"verdict": "excerpt"
|
|
397
|
+
},
|
|
398
|
+
{
|
|
399
|
+
"id": "accessibility",
|
|
400
|
+
"title": "The landmark, the region and the keyboard",
|
|
401
|
+
"note": "Tab into the message and out of it: the box is a region a reader can jump to, the text is the only thing that announces, and closing the message puts the keyboard back where it came from.",
|
|
402
|
+
"language": "html",
|
|
403
|
+
"source": "<!-- A region landmark named \"Manutenção\", holding a polite status region. -->\n<section slAlert live=\"polite\">\n <div slAlertContent>\n <div slAlertTitle>Manutenção</div>\n </div>\n</section>\n\n<!-- No title: a plain grouping element, and no landmark to jump to. -->\n<section slAlert>\n <div slAlertContent>Pronto.</div>\n</section>\n",
|
|
404
|
+
"verdict": "excerpt"
|
|
405
|
+
}
|
|
406
|
+
]
|
|
407
|
+
}
|
package/docs/alert.md
ADDED
|
@@ -0,0 +1,239 @@
|
|
|
1
|
+
<!-- index: ./index.md -->
|
|
2
|
+
# alert
|
|
3
|
+
|
|
4
|
+
`data-ui="alert"` · Static message with a tone, icon and actions.
|
|
5
|
+
|
|
6
|
+
## Import
|
|
7
|
+
|
|
8
|
+
```ts
|
|
9
|
+
import {
|
|
10
|
+
provideAlertDefaults,
|
|
11
|
+
SlAlert,
|
|
12
|
+
SlAlertActions,
|
|
13
|
+
SlAlertContent,
|
|
14
|
+
SlAlertDescription,
|
|
15
|
+
SlAlertIcon,
|
|
16
|
+
SlAlertTitle,
|
|
17
|
+
} from '@slotted/angular/alert';
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
Selector: `[slAlert]` · exportAs: `slAlert`
|
|
21
|
+
|
|
22
|
+
## Minimal example
|
|
23
|
+
|
|
24
|
+
Excerpt — not a complete module
|
|
25
|
+
|
|
26
|
+
```html
|
|
27
|
+
<section slAlert tone="warning">
|
|
28
|
+
<div slAlertContent>
|
|
29
|
+
<div slAlertTitle>Sua assinatura expira em três dias</div>
|
|
30
|
+
<p slAlertDescription>Renove para manter o acesso da equipe.</p>
|
|
31
|
+
</div>
|
|
32
|
+
</section>
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
## Anatomy
|
|
36
|
+
|
|
37
|
+
| Part | Element | Required |
|
|
38
|
+
| --- | --- | --- |
|
|
39
|
+
| `root` | the element the consumer wrote — a section | yes |
|
|
40
|
+
| `icon` | span | no |
|
|
41
|
+
| `content` | the element carrying slAlertContent | yes |
|
|
42
|
+
| `title` | the element carrying slAlertTitle — a div, or a heading | no |
|
|
43
|
+
| `description` | the element carrying slAlertDescription — a p | no |
|
|
44
|
+
| `actions` | the element carrying slAlertActions | no |
|
|
45
|
+
| `dismiss` | button | no |
|
|
46
|
+
|
|
47
|
+
## Props
|
|
48
|
+
|
|
49
|
+
| Name | Type | Default | Applies to | Description |
|
|
50
|
+
| --- | --- | --- | --- | --- |
|
|
51
|
+
| `tone` | `'accent' \| 'secondary' \| 'success' \| 'warning' \| 'danger'` | accent | slAlert | Which of the five semantic colours the message speaks in, and which mark it draws: circle-info, none for secondary, circle-check, circle-alert, circle-x |
|
|
52
|
+
| `variant` | `'soft' \| 'outline' \| 'solid'` | soft | slAlert | How that colour is painted. soft carries the tone’s surface and its border, outline the border alone, solid the tone’s fill and the ink the theme measures against it |
|
|
53
|
+
| `reach` | `'inline' \| 'section' \| 'page'` | section | slAlert | The scope the message applies to. inline is tightest and sits beside a field group; page loses its corners and its inline edges because it runs to both edges of what holds it |
|
|
54
|
+
| `live` | `'off' \| 'polite' \| 'assertive'` | off | slAlert | Whether the text announces itself. polite writes role="status" on the slAlertContent element and assertive writes role="alert"; both imply aria-live and aria-atomic, and neither is written on the box |
|
|
55
|
+
| `hideIcon` | `boolean` | false | slAlert | Draws no mark at all, for a callout that carries its own artwork in the body |
|
|
56
|
+
| `dismissible` | `boolean` | false | slAlert | Renders the control that closes the message. Angular cannot see whether an output is subscribed, so the opt-in is stated — the asymmetry with React that tag recorded first |
|
|
57
|
+
| `messages` | `Partial<AlertMessages>` | — | slAlert | Words laid over the language in force, key by key: what that control announces (dismiss) |
|
|
58
|
+
| `open` | `boolean` | — | slAlert | The openness the consumer owns. Passing it puts the alert in controlled mode for good, and the family then only asks |
|
|
59
|
+
| `defaultOpen` | `boolean` | true | slAlert | The openness an uncontrolled alert starts from, read once. A later change to it is not silently adopted |
|
|
60
|
+
| `restoreFocus` | `boolean` | true | slAlert | Returns the keyboard to the element it came from when the message closes with focus inside it. Nothing moves when focus was never there |
|
|
61
|
+
| `slAlertIcon` | `projected content` | — | any element inside slAlert | Replaces the tone’s mark, keeping the box, the size and the place on the message’s first line. React passes a node in icon instead; content projection is what an Angular consumer has |
|
|
62
|
+
| `setOpen` | `(open: boolean) => void` | — | slAlert, through exportAs | Opens or closes the message from a template, emitting programmatic as the reason. It is the reach a template has and React does not: JSX can re-render an input, and a template can only call a method |
|
|
63
|
+
| `focus` | `() => void` | — | slAlert, through exportAs | Sends the keyboard to the box, which carries tabindex="-1". The family never does this by itself, because the APG says an alert must not affect keyboard focus |
|
|
64
|
+
| `provideAlertDefaults` | `{ tone, variant, reach, live }` | — | an injector | Sets all four once for every alert under it; an explicit input on one message still wins |
|
|
65
|
+
| `ng-content` | `projected content` | — | slAlertContent | The title and the description. Anything else placed here joins the live region, which is why the actions are a part of their own |
|
|
66
|
+
|
|
67
|
+
## Events
|
|
68
|
+
|
|
69
|
+
| Name | Payload | When |
|
|
70
|
+
| --- | --- | --- |
|
|
71
|
+
| `(openChange)` | `ChangeRequest<boolean> — value, previous, reason, source, cancel()` | The dismiss control is activated, or a template calls setOpen(). reason is dismiss or programmatic, source is the originating event, and $event.cancel() refuses the change — the message stays open and the keyboard stays where it is. Nothing is emitted when the consumer moves open itself. |
|
|
72
|
+
|
|
73
|
+
## Axes and defaults
|
|
74
|
+
|
|
75
|
+
| Axis | Values | Default |
|
|
76
|
+
| --- | --- | --- |
|
|
77
|
+
| `tone` | `accent`, `secondary`, `success`, `warning`, `danger` | `accent` |
|
|
78
|
+
| `variant` | `soft`, `outline`, `solid` | `soft` |
|
|
79
|
+
| `reach` | `inline`, `section`, `page` | `section` |
|
|
80
|
+
| `live` | `off`, `polite`, `assertive` | `off` |
|
|
81
|
+
|
|
82
|
+
## Rules
|
|
83
|
+
|
|
84
|
+
- The applicable pattern is the WAI-ARIA APG Alert Pattern (w3.org/WAI/ARIA/apg/patterns/alert/). It declares one role and no keyboard interaction: an alert is not a widget, so it holds no keys. Its two prose requirements — that an alert must not affect keyboard focus, and must not disappear on its own — are what this family declines automatic focus and automatic dismissal for.
|
|
85
|
+
- The box is a landmark, not a live region. MDN’s alert role reference states that the role “should only be used for text content, not interactive elements such as links or buttons”, and every alert worth shipping has a dismiss control. The directive belongs on a section, named by its own title through aria-labelledby, and the region that announces is the slAlertContent element, which holds the title and the description alone.
|
|
86
|
+
- live defaults to off because the APG records that “screen readers do not inform users of alerts that are present on the page before page load completes”. An alert already on the page announces nothing whatever role it carries; polite and assertive are for a message that arrives while the reader is working, and both are written as a role that already implies aria-live and aria-atomic.
|
|
87
|
+
- Every tone with a severity carries a mark as well as a colour, and secondary carries none: a neutral note has no severity to state. Under forced colours the five grounds become one system colour and the five borders one more, so the mark, and its absence on a note, is the only thing distinguishing an error from a note — WCAG 2.2 1.4.1.
|
|
88
|
+
- The dismiss control is a real button with a real name and an inner control rather than a Button (R2): its box is the glyph plus a step of air on each side, floored at --slotted-target-min, which is the WCAG 2.2 2.5.8 minimum of 24 CSS pixels; at rest it has no frame and no ground, and hover moves only the ground.
|
|
89
|
+
- When the message closes with focus inside it, the keyboard goes back to the element it came from. None of the ten surveyed implementations answers this, and the failure it prevents is the one a real product hits first: the dismiss control is destroyed, focus falls to the document body, and the next Tab starts again at the top of the page.
|
|
90
|
+
- Closing hides rather than removes, so the live region is still in the document if the message comes back and data-open is a state a consumer can style. An application that must not pay for the hidden subtree writes its own @if and never uses defaultOpen.
|
|
91
|
+
- Escape does not close the message. An alert is not a dismissable layer, and one inside a dialog would swallow the dialog’s own Escape; a message that must interrupt the reader is an alert dialog rather than an alert.
|
|
92
|
+
|
|
93
|
+
## Tokens
|
|
94
|
+
|
|
95
|
+
`--slotted-alert-actions-gap`, `--slotted-alert-border-width`, `--slotted-alert-column-gap`, `--slotted-alert-dismiss-radius`, `--slotted-alert-dismiss-size`, `--slotted-alert-font-family`, `--slotted-alert-padding-block`, `--slotted-alert-padding-inline`, `--slotted-alert-radius`, `--slotted-alert-row-gap`, `--slotted-alert-state-layer-active`, `--slotted-alert-state-layer-hover`, `--slotted-alert-text-gap`, `--slotted-alert-title-font-family`, `--slotted-alert-title-font-weight`, `--slotted-border-width-thin`, `--slotted-control-font-family`, `--slotted-control-font-size-lg`, `--slotted-control-font-size-md`, `--slotted-control-font-size-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-radius`, `--slotted-control-transition-duration`, `--slotted-control-transition-easing`, `--slotted-disabled-foreground`, `--slotted-duration-short`, `--slotted-easing-enter`, `--slotted-easing-exit`, `--slotted-focus-ring-color`, `--slotted-focus-ring-offset`, `--slotted-focus-ring-width`, `--slotted-font-family-heading`, `--slotted-font-family-sans`, `--slotted-font-weight-semibold`, `--slotted-line-height-md`, `--slotted-radius-md`, `--slotted-radius-sm`, `--slotted-space-2`, `--slotted-space-3`, `--slotted-space-4`, `--slotted-space-5`, `--slotted-space-6`, `--slotted-space-7`, `--slotted-target-comfortable`, `--slotted-target-min`, `--slotted-tone-accent-border`, `--slotted-tone-accent-on-solid`, `--slotted-tone-accent-solid`, `--slotted-tone-accent-surface`, `--slotted-tone-accent-text`, `--slotted-tone-danger-border`, `--slotted-tone-danger-on-solid`, `--slotted-tone-danger-solid`, `--slotted-tone-danger-surface`, `--slotted-tone-danger-text`, `--slotted-tone-secondary-border`, `--slotted-tone-secondary-on-solid`, `--slotted-tone-secondary-solid`, `--slotted-tone-secondary-surface`, `--slotted-tone-secondary-text`, `--slotted-tone-success-border`, `--slotted-tone-success-on-solid`, `--slotted-tone-success-solid`, `--slotted-tone-success-surface`, `--slotted-tone-success-text`, `--slotted-tone-warning-border`, `--slotted-tone-warning-on-solid`, `--slotted-tone-warning-solid`, `--slotted-tone-warning-surface`, `--slotted-tone-warning-text`
|
|
96
|
+
|
|
97
|
+
## Examples
|
|
98
|
+
|
|
99
|
+
### What the message is about
|
|
100
|
+
|
|
101
|
+
Five tones and five marks. The mark is the answer to WCAG 2.2 1.4.1: read in greyscale, or under forced colours where every ground becomes one system colour, the silhouette is the only thing left.
|
|
102
|
+
|
|
103
|
+
Excerpt — not a complete module
|
|
104
|
+
|
|
105
|
+
```html
|
|
106
|
+
<!-- accent is information, secondary a neutral note, success something
|
|
107
|
+
finished, warning something needing attention, danger something failed. -->
|
|
108
|
+
<section slAlert tone="danger">
|
|
109
|
+
<div slAlertContent>
|
|
110
|
+
<div slAlertTitle>Não foi possível salvar</div>
|
|
111
|
+
</div>
|
|
112
|
+
</section>
|
|
113
|
+
```
|
|
114
|
+
|
|
115
|
+
### How that tone is painted
|
|
116
|
+
|
|
117
|
+
soft and solid bring a ground with them and survive any surface; outline takes the one underneath, so it reads on the page’s own surfaces and goes quiet on a ground the theme never measured its ink against.
|
|
118
|
+
|
|
119
|
+
Excerpt — not a complete module
|
|
120
|
+
|
|
121
|
+
```html
|
|
122
|
+
<section slAlert variant="soft"></section>
|
|
123
|
+
<section slAlert variant="outline"></section>
|
|
124
|
+
<section slAlert variant="solid"></section>
|
|
125
|
+
|
|
126
|
+
<!-- A dark region is a scheme rather than a surface. -->
|
|
127
|
+
<div data-slotted-scheme="dark">
|
|
128
|
+
<section slAlert variant="outline"></section>
|
|
129
|
+
</div>
|
|
130
|
+
```
|
|
131
|
+
|
|
132
|
+
### How far the message reaches
|
|
133
|
+
|
|
134
|
+
The guide’s three recipes as one axis: inline beside the thing it is about, section inside a page section, page across an application. A page banner loses its corners because it runs to both edges.
|
|
135
|
+
|
|
136
|
+
Excerpt — not a complete module
|
|
137
|
+
|
|
138
|
+
```html
|
|
139
|
+
<section slAlert reach="inline" tone="danger">
|
|
140
|
+
<div slAlertContent>
|
|
141
|
+
<p slAlertDescription>Informe um CNPJ válido.</p>
|
|
142
|
+
</div>
|
|
143
|
+
</section>
|
|
144
|
+
|
|
145
|
+
<section slAlert reach="page" tone="warning"></section>
|
|
146
|
+
```
|
|
147
|
+
|
|
148
|
+
### Putting the message away
|
|
149
|
+
|
|
150
|
+
The left one owns its own openness and needs no state at all; the right one hands it to the application, which can refuse the request. Watch where the keyboard lands after either of them closes.
|
|
151
|
+
|
|
152
|
+
Excerpt — not a complete module
|
|
153
|
+
|
|
154
|
+
```html
|
|
155
|
+
<section slAlert dismissible></section>
|
|
156
|
+
|
|
157
|
+
<section slAlert dismissible [open]="open()" (openChange)="open.set($event.value)"></section>
|
|
158
|
+
|
|
159
|
+
<section slAlert dismissible (openChange)="confirmed() ? null : $event.cancel()"></section>
|
|
160
|
+
```
|
|
161
|
+
|
|
162
|
+
### What the message asks for
|
|
163
|
+
|
|
164
|
+
The controls are the consumer’s own buttons, in a part outside the live region — a reader hearing the message is not read two button labels in the middle of it. They stack when the box is narrow.
|
|
165
|
+
|
|
166
|
+
Excerpt — not a complete module
|
|
167
|
+
|
|
168
|
+
```html
|
|
169
|
+
<section slAlert tone="warning">
|
|
170
|
+
<div slAlertContent>
|
|
171
|
+
<div slAlertTitle>Sua assinatura expira em três dias</div>
|
|
172
|
+
</div>
|
|
173
|
+
<div slAlertActions>
|
|
174
|
+
<button slButton size="sm" tone="warning" type="button">Renovar</button>
|
|
175
|
+
<button slButton size="sm" tone="warning" variant="ghost" type="button">Ver planos</button>
|
|
176
|
+
</div>
|
|
177
|
+
</section>
|
|
178
|
+
```
|
|
179
|
+
|
|
180
|
+
### What a reader hears, and when
|
|
181
|
+
|
|
182
|
+
off by default, because the APG records that alerts already on the page when it loads are not announced at all. Press the button and the message arrives while the reader is elsewhere, which is what polite and assertive are for.
|
|
183
|
+
|
|
184
|
+
Excerpt — not a complete module
|
|
185
|
+
|
|
186
|
+
```html
|
|
187
|
+
<!-- role="status" on the text, which implies aria-live and aria-atomic. -->
|
|
188
|
+
<section slAlert live="polite" tone="success"></section>
|
|
189
|
+
|
|
190
|
+
<!-- role="alert": a failed save, a lost connection, an expiring session. -->
|
|
191
|
+
<section slAlert live="assertive" tone="danger"></section>
|
|
192
|
+
```
|
|
193
|
+
|
|
194
|
+
### Content the family did not choose
|
|
195
|
+
|
|
196
|
+
A German compound that wraps, a container digest with no break opportunity, a message with no mark, and a title standing alone — all in a column narrow enough to make each of them a problem.
|
|
197
|
+
|
|
198
|
+
Excerpt — not a complete module
|
|
199
|
+
|
|
200
|
+
```html
|
|
201
|
+
<section slAlert hideIcon>
|
|
202
|
+
<div slAlertContent>
|
|
203
|
+
<div slAlertTitle>O deploy falhou</div>
|
|
204
|
+
<p slAlertDescription>{{ digest }}</p>
|
|
205
|
+
</div>
|
|
206
|
+
</section>
|
|
207
|
+
```
|
|
208
|
+
|
|
209
|
+
### Composition and escape hatches
|
|
210
|
+
|
|
211
|
+
provideAlertDefaults sets the defaults once, the element of every part is the page’s own, slAlertIcon replaces the mark, and exportAs reaches the instance so a template can move focus to the message.
|
|
212
|
+
|
|
213
|
+
Excerpt — not a complete module
|
|
214
|
+
|
|
215
|
+
```ts
|
|
216
|
+
bootstrapApplication(App, {
|
|
217
|
+
providers: [provideAlertDefaults({ reach: 'page' })],
|
|
218
|
+
});
|
|
219
|
+
```
|
|
220
|
+
|
|
221
|
+
### The landmark, the region and the keyboard
|
|
222
|
+
|
|
223
|
+
Tab into the message and out of it: the box is a region a reader can jump to, the text is the only thing that announces, and closing the message puts the keyboard back where it came from.
|
|
224
|
+
|
|
225
|
+
Excerpt — not a complete module
|
|
226
|
+
|
|
227
|
+
```html
|
|
228
|
+
<!-- A region landmark named "Manutenção", holding a polite status region. -->
|
|
229
|
+
<section slAlert live="polite">
|
|
230
|
+
<div slAlertContent>
|
|
231
|
+
<div slAlertTitle>Manutenção</div>
|
|
232
|
+
</div>
|
|
233
|
+
</section>
|
|
234
|
+
|
|
235
|
+
<!-- No title: a plain grouping element, and no landmark to jump to. -->
|
|
236
|
+
<section slAlert>
|
|
237
|
+
<div slAlertContent>Pronto.</div>
|
|
238
|
+
</section>
|
|
239
|
+
```
|