@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/button.json
ADDED
|
@@ -0,0 +1,977 @@
|
|
|
1
|
+
{
|
|
2
|
+
"family": "button",
|
|
3
|
+
"ui": "button",
|
|
4
|
+
"binding": "angular",
|
|
5
|
+
"catalog": {
|
|
6
|
+
"group": "Actions",
|
|
7
|
+
"summary": "Button, link button, icon button and toggle button."
|
|
8
|
+
},
|
|
9
|
+
"axes": {
|
|
10
|
+
"tone": [
|
|
11
|
+
"accent",
|
|
12
|
+
"secondary",
|
|
13
|
+
"success",
|
|
14
|
+
"warning",
|
|
15
|
+
"danger"
|
|
16
|
+
],
|
|
17
|
+
"variant": [
|
|
18
|
+
"solid",
|
|
19
|
+
"outline",
|
|
20
|
+
"ghost"
|
|
21
|
+
],
|
|
22
|
+
"size": [
|
|
23
|
+
"sm",
|
|
24
|
+
"md",
|
|
25
|
+
"lg"
|
|
26
|
+
],
|
|
27
|
+
"shape": [
|
|
28
|
+
"square",
|
|
29
|
+
"circle"
|
|
30
|
+
]
|
|
31
|
+
},
|
|
32
|
+
"members": {
|
|
33
|
+
"button": {
|
|
34
|
+
"nativeElement": "button",
|
|
35
|
+
"defaults": {
|
|
36
|
+
"tone": "accent",
|
|
37
|
+
"variant": "solid",
|
|
38
|
+
"size": "md",
|
|
39
|
+
"type": "button",
|
|
40
|
+
"fullWidth": false,
|
|
41
|
+
"disabled": false,
|
|
42
|
+
"focusableWhenDisabled": false,
|
|
43
|
+
"loading": false,
|
|
44
|
+
"loadingDelay": 0
|
|
45
|
+
},
|
|
46
|
+
"capabilities": [
|
|
47
|
+
"appearance",
|
|
48
|
+
"content",
|
|
49
|
+
"fullWidth",
|
|
50
|
+
"disabled",
|
|
51
|
+
"loading"
|
|
52
|
+
],
|
|
53
|
+
"states": [
|
|
54
|
+
"default",
|
|
55
|
+
"hover",
|
|
56
|
+
"active",
|
|
57
|
+
"focus-visible",
|
|
58
|
+
"disabled",
|
|
59
|
+
"loading"
|
|
60
|
+
],
|
|
61
|
+
"parts": [
|
|
62
|
+
"root",
|
|
63
|
+
"start",
|
|
64
|
+
"label",
|
|
65
|
+
"end",
|
|
66
|
+
"indicator"
|
|
67
|
+
]
|
|
68
|
+
},
|
|
69
|
+
"buttonLink": {
|
|
70
|
+
"nativeElement": "a",
|
|
71
|
+
"defaults": {
|
|
72
|
+
"tone": "accent",
|
|
73
|
+
"variant": "solid",
|
|
74
|
+
"size": "md",
|
|
75
|
+
"fullWidth": false,
|
|
76
|
+
"disabled": false
|
|
77
|
+
},
|
|
78
|
+
"capabilities": [
|
|
79
|
+
"appearance",
|
|
80
|
+
"content",
|
|
81
|
+
"fullWidth",
|
|
82
|
+
"disabled"
|
|
83
|
+
],
|
|
84
|
+
"states": [
|
|
85
|
+
"default",
|
|
86
|
+
"hover",
|
|
87
|
+
"active",
|
|
88
|
+
"focus-visible",
|
|
89
|
+
"disabled"
|
|
90
|
+
],
|
|
91
|
+
"parts": [
|
|
92
|
+
"root",
|
|
93
|
+
"start",
|
|
94
|
+
"label",
|
|
95
|
+
"end"
|
|
96
|
+
]
|
|
97
|
+
},
|
|
98
|
+
"iconButton": {
|
|
99
|
+
"nativeElement": "button",
|
|
100
|
+
"defaults": {
|
|
101
|
+
"tone": "secondary",
|
|
102
|
+
"variant": "ghost",
|
|
103
|
+
"size": "md",
|
|
104
|
+
"shape": "square",
|
|
105
|
+
"type": "button",
|
|
106
|
+
"disabled": false,
|
|
107
|
+
"focusableWhenDisabled": false,
|
|
108
|
+
"loading": false,
|
|
109
|
+
"loadingDelay": 0
|
|
110
|
+
},
|
|
111
|
+
"capabilities": [
|
|
112
|
+
"appearance",
|
|
113
|
+
"shape",
|
|
114
|
+
"disabled",
|
|
115
|
+
"loading",
|
|
116
|
+
"pressed"
|
|
117
|
+
],
|
|
118
|
+
"states": [
|
|
119
|
+
"default",
|
|
120
|
+
"hover",
|
|
121
|
+
"active",
|
|
122
|
+
"focus-visible",
|
|
123
|
+
"disabled",
|
|
124
|
+
"loading",
|
|
125
|
+
"pressed"
|
|
126
|
+
],
|
|
127
|
+
"parts": [
|
|
128
|
+
"root",
|
|
129
|
+
"icon",
|
|
130
|
+
"indicator"
|
|
131
|
+
]
|
|
132
|
+
},
|
|
133
|
+
"toggleButton": {
|
|
134
|
+
"nativeElement": "button",
|
|
135
|
+
"defaults": {
|
|
136
|
+
"tone": "secondary",
|
|
137
|
+
"variant": "outline",
|
|
138
|
+
"size": "md",
|
|
139
|
+
"type": "button",
|
|
140
|
+
"fullWidth": false,
|
|
141
|
+
"disabled": false,
|
|
142
|
+
"focusableWhenDisabled": false,
|
|
143
|
+
"loading": false,
|
|
144
|
+
"loadingDelay": 0,
|
|
145
|
+
"defaultPressed": false
|
|
146
|
+
},
|
|
147
|
+
"capabilities": [
|
|
148
|
+
"appearance",
|
|
149
|
+
"content",
|
|
150
|
+
"fullWidth",
|
|
151
|
+
"disabled",
|
|
152
|
+
"loading",
|
|
153
|
+
"pressed"
|
|
154
|
+
],
|
|
155
|
+
"states": [
|
|
156
|
+
"default",
|
|
157
|
+
"hover",
|
|
158
|
+
"active",
|
|
159
|
+
"focus-visible",
|
|
160
|
+
"disabled",
|
|
161
|
+
"loading",
|
|
162
|
+
"pressed"
|
|
163
|
+
],
|
|
164
|
+
"parts": [
|
|
165
|
+
"root",
|
|
166
|
+
"start",
|
|
167
|
+
"label",
|
|
168
|
+
"end",
|
|
169
|
+
"indicator"
|
|
170
|
+
]
|
|
171
|
+
}
|
|
172
|
+
},
|
|
173
|
+
"docs": {
|
|
174
|
+
"button": {
|
|
175
|
+
"imports": {
|
|
176
|
+
"source": "import {\n provideButtonDefaults,\n SlButton,\n SlButtonEnd,\n SlButtonLink,\n SlButtonStart,\n SlIconButton,\n SlToggleButton,\n} from '@slotted/angular/button';",
|
|
177
|
+
"selector": "button[slButton], [slButtonStart], [slButtonEnd]",
|
|
178
|
+
"exportAs": "slButton"
|
|
179
|
+
},
|
|
180
|
+
"anatomy": [
|
|
181
|
+
{
|
|
182
|
+
"part": "root",
|
|
183
|
+
"element": "the button element you write",
|
|
184
|
+
"required": true,
|
|
185
|
+
"purpose": "The control. Carries data-ui=\"button\", data-tone, data-variant and data-size. It also carries data-full-width, data-disabled and data-loading when they apply."
|
|
186
|
+
},
|
|
187
|
+
{
|
|
188
|
+
"part": "start",
|
|
189
|
+
"element": "the element you mark with slButtonStart",
|
|
190
|
+
"required": false,
|
|
191
|
+
"purpose": "Holds the start content. Absent when nothing is marked. While loading, it holds the indicator."
|
|
192
|
+
},
|
|
193
|
+
{
|
|
194
|
+
"part": "label",
|
|
195
|
+
"element": "span",
|
|
196
|
+
"required": true,
|
|
197
|
+
"purpose": "Wraps the projected text. Always rendered, because the accessible name is computed from it. With reduced motion or forced colours, a loading button with no icon fades it in place, and it keeps its size."
|
|
198
|
+
},
|
|
199
|
+
{
|
|
200
|
+
"part": "end",
|
|
201
|
+
"element": "the element you mark with slButtonEnd",
|
|
202
|
+
"required": false,
|
|
203
|
+
"purpose": "Holds the end content. Absent when nothing is marked. While loading, it holds the indicator when there is no start content."
|
|
204
|
+
},
|
|
205
|
+
{
|
|
206
|
+
"part": "indicator",
|
|
207
|
+
"element": "span with role=\"progressbar\"",
|
|
208
|
+
"required": false,
|
|
209
|
+
"purpose": "The loading indicator. Carries data-ui=\"spinner\", is named by messages.loading, and has no value, so it reads as indeterminate. Rendered in the start box, else in the end box, else centred over the label, once loadingDelay has passed."
|
|
210
|
+
}
|
|
211
|
+
],
|
|
212
|
+
"api": [
|
|
213
|
+
{
|
|
214
|
+
"name": "tone",
|
|
215
|
+
"type": "accent | secondary | success | warning | danger",
|
|
216
|
+
"defaultValue": "accent",
|
|
217
|
+
"appliesTo": "SlButton",
|
|
218
|
+
"description": "The semantic colour: accent for the primary action, secondary for a neutral one, and success, warning or danger for what the action does."
|
|
219
|
+
},
|
|
220
|
+
{
|
|
221
|
+
"name": "variant",
|
|
222
|
+
"type": "solid | outline | ghost",
|
|
223
|
+
"defaultValue": "solid",
|
|
224
|
+
"appliesTo": "SlButton",
|
|
225
|
+
"description": "How the tone is painted: solid, outline or ghost."
|
|
226
|
+
},
|
|
227
|
+
{
|
|
228
|
+
"name": "size",
|
|
229
|
+
"type": "sm | md | lg",
|
|
230
|
+
"defaultValue": "md",
|
|
231
|
+
"appliesTo": "SlButton",
|
|
232
|
+
"description": "The step of the control scale. Each step reads the --slotted-control-* tokens, so the density of the theme sets the height."
|
|
233
|
+
},
|
|
234
|
+
{
|
|
235
|
+
"name": "start",
|
|
236
|
+
"type": "[slButtonStart]",
|
|
237
|
+
"defaultValue": "—",
|
|
238
|
+
"appliesTo": "SlButton",
|
|
239
|
+
"description": "Content projected before the label, such as an icon, on the element you mark with slButtonStart. It mirrors in a right-to-left document."
|
|
240
|
+
},
|
|
241
|
+
{
|
|
242
|
+
"name": "end",
|
|
243
|
+
"type": "[slButtonEnd]",
|
|
244
|
+
"defaultValue": "—",
|
|
245
|
+
"appliesTo": "SlButton",
|
|
246
|
+
"description": "Content projected after the label, on the element you mark with slButtonEnd. It mirrors in a right-to-left document."
|
|
247
|
+
},
|
|
248
|
+
{
|
|
249
|
+
"name": "fullWidth",
|
|
250
|
+
"type": "boolean",
|
|
251
|
+
"defaultValue": "false",
|
|
252
|
+
"appliesTo": "SlButton",
|
|
253
|
+
"description": "Fills the inline size of the container."
|
|
254
|
+
},
|
|
255
|
+
{
|
|
256
|
+
"name": "disabled",
|
|
257
|
+
"type": "boolean",
|
|
258
|
+
"defaultValue": "false",
|
|
259
|
+
"appliesTo": "SlButton",
|
|
260
|
+
"description": "Refuses the action and marks the control unavailable. On its own, it sets the native disabled property, which also removes the control from the tab sequence."
|
|
261
|
+
},
|
|
262
|
+
{
|
|
263
|
+
"name": "focusableWhenDisabled",
|
|
264
|
+
"type": "boolean",
|
|
265
|
+
"defaultValue": "false",
|
|
266
|
+
"appliesTo": "SlButton",
|
|
267
|
+
"description": "Keeps a disabled control in the tab sequence: aria-disabled replaces the native property, and activation is still refused."
|
|
268
|
+
},
|
|
269
|
+
{
|
|
270
|
+
"name": "loading",
|
|
271
|
+
"type": "boolean",
|
|
272
|
+
"defaultValue": "false",
|
|
273
|
+
"appliesTo": "SlButton",
|
|
274
|
+
"description": "Refuses activation, keeps focus, and shows a progress indicator named by messages.loading."
|
|
275
|
+
},
|
|
276
|
+
{
|
|
277
|
+
"name": "loadingDelay",
|
|
278
|
+
"type": "number",
|
|
279
|
+
"defaultValue": "0",
|
|
280
|
+
"appliesTo": "SlButton",
|
|
281
|
+
"description": "Milliseconds before the indicator appears. Activation is refused from the start of the wait."
|
|
282
|
+
},
|
|
283
|
+
{
|
|
284
|
+
"name": "messages",
|
|
285
|
+
"type": "Partial<ButtonMessages>",
|
|
286
|
+
"defaultValue": "—",
|
|
287
|
+
"appliesTo": "SlButton",
|
|
288
|
+
"description": "Overrides for the strings of the active locale, key by key. loading names the progress indicator."
|
|
289
|
+
},
|
|
290
|
+
{
|
|
291
|
+
"name": "type",
|
|
292
|
+
"type": "button | submit | reset",
|
|
293
|
+
"defaultValue": "button",
|
|
294
|
+
"appliesTo": "SlButton",
|
|
295
|
+
"description": "The native button type. Set submit only for a button that submits its form."
|
|
296
|
+
}
|
|
297
|
+
],
|
|
298
|
+
"composition": [
|
|
299
|
+
{
|
|
300
|
+
"name": "provideButtonDefaults",
|
|
301
|
+
"type": "(defaults: ButtonDefaults) => Provider",
|
|
302
|
+
"defaultValue": "—",
|
|
303
|
+
"appliesTo": "SlButton",
|
|
304
|
+
"description": "Sets the default size, tone and variant of every button under the injector, SlButtonLink, SlIconButton and SlToggleButton included. An explicit input wins, and an axis left unset keeps each member’s own default."
|
|
305
|
+
}
|
|
306
|
+
],
|
|
307
|
+
"events": [],
|
|
308
|
+
"accessibility": [
|
|
309
|
+
"SlButton applies to the button element in your template, so Space, Enter, focus, form submission and the disabled state come from the platform. The visible label supplies the accessible name.",
|
|
310
|
+
"While loading, the indicator is a progress bar named by messages.loading, and the button announces aria-disabled while it keeps focus. React Aria’s pending button and Primer’s loading button use the same pattern. aria-busy is not set: screen readers do not announce it reliably on a button, and one mechanism already carries the state.",
|
|
311
|
+
"Where motion is allowed, the indicator is not drawn: once loadingDelay has passed, a band in the button’s own ink sweeps behind the label and the icon, which stay visible. With reduced motion or forced colours, the indicator is a ring drawn in the start or end icon’s box; a button with neither draws it over the label, which drops to zero opacity but stays in the accessibility tree and in the layout, so the accessible name survives the wait and the button keeps its size.",
|
|
312
|
+
"loading refuses activation on a capture-phase listener, before any click handler in your template, so a submit button cannot submit its form twice.",
|
|
313
|
+
"focusableWhenDisabled keeps a disabled button reachable. Use it when the button has a tooltip or an explanation a keyboard user needs, such as inside a toolbar. A reachable disabled button uses muted text on the subtle neutral background, at a contrast of 4.5:1 or more; a natively disabled button keeps the disabled grey.",
|
|
314
|
+
"SlButton has no render input: it applies to the element you write, so writing a different element replaces it.",
|
|
315
|
+
"A projected start or end icon repeats the label, so mark it aria-hidden. slGlyph sets aria-hidden itself."
|
|
316
|
+
]
|
|
317
|
+
},
|
|
318
|
+
"buttonLink": {
|
|
319
|
+
"imports": {
|
|
320
|
+
"source": "import {\n provideButtonDefaults,\n SlButton,\n SlButtonEnd,\n SlButtonLink,\n SlButtonStart,\n SlIconButton,\n SlToggleButton,\n} from '@slotted/angular/button';",
|
|
321
|
+
"selector": "a[slButtonLink]",
|
|
322
|
+
"exportAs": "slButtonLink"
|
|
323
|
+
},
|
|
324
|
+
"anatomy": [
|
|
325
|
+
{
|
|
326
|
+
"part": "root",
|
|
327
|
+
"element": "the anchor element you write",
|
|
328
|
+
"required": true,
|
|
329
|
+
"purpose": "The control. Carries data-ui=\"button\", data-tone, data-variant and data-size. It also carries data-full-width and data-disabled when they apply."
|
|
330
|
+
},
|
|
331
|
+
{
|
|
332
|
+
"part": "start",
|
|
333
|
+
"element": "the element you mark with slButtonStart",
|
|
334
|
+
"required": false,
|
|
335
|
+
"purpose": "Holds the start content. Absent when nothing is marked."
|
|
336
|
+
},
|
|
337
|
+
{
|
|
338
|
+
"part": "label",
|
|
339
|
+
"element": "span",
|
|
340
|
+
"required": true,
|
|
341
|
+
"purpose": "Wraps the projected text. Always rendered, because the accessible name is computed from it."
|
|
342
|
+
},
|
|
343
|
+
{
|
|
344
|
+
"part": "end",
|
|
345
|
+
"element": "the element you mark with slButtonEnd",
|
|
346
|
+
"required": false,
|
|
347
|
+
"purpose": "Holds the end content. Absent when nothing is marked."
|
|
348
|
+
}
|
|
349
|
+
],
|
|
350
|
+
"api": [
|
|
351
|
+
{
|
|
352
|
+
"name": "href",
|
|
353
|
+
"type": "string",
|
|
354
|
+
"defaultValue": "—",
|
|
355
|
+
"appliesTo": "SlButtonLink",
|
|
356
|
+
"description": "The destination. A disabled SlButtonLink does not render it."
|
|
357
|
+
},
|
|
358
|
+
{
|
|
359
|
+
"name": "tone",
|
|
360
|
+
"type": "accent | secondary | success | warning | danger",
|
|
361
|
+
"defaultValue": "accent",
|
|
362
|
+
"appliesTo": "SlButtonLink",
|
|
363
|
+
"description": "The semantic colour: accent for the primary action, secondary for a neutral one, and success, warning or danger for what the action does."
|
|
364
|
+
},
|
|
365
|
+
{
|
|
366
|
+
"name": "variant",
|
|
367
|
+
"type": "solid | outline | ghost",
|
|
368
|
+
"defaultValue": "solid",
|
|
369
|
+
"appliesTo": "SlButtonLink",
|
|
370
|
+
"description": "How the tone is painted: solid, outline or ghost."
|
|
371
|
+
},
|
|
372
|
+
{
|
|
373
|
+
"name": "size",
|
|
374
|
+
"type": "sm | md | lg",
|
|
375
|
+
"defaultValue": "md",
|
|
376
|
+
"appliesTo": "SlButtonLink",
|
|
377
|
+
"description": "The step of the control scale. Each step reads the --slotted-control-* tokens, so the density of the theme sets the height."
|
|
378
|
+
},
|
|
379
|
+
{
|
|
380
|
+
"name": "start",
|
|
381
|
+
"type": "[slButtonStart]",
|
|
382
|
+
"defaultValue": "—",
|
|
383
|
+
"appliesTo": "SlButtonLink",
|
|
384
|
+
"description": "Content projected before the label, such as an icon, on the element you mark with slButtonStart. It mirrors in a right-to-left document."
|
|
385
|
+
},
|
|
386
|
+
{
|
|
387
|
+
"name": "end",
|
|
388
|
+
"type": "[slButtonEnd]",
|
|
389
|
+
"defaultValue": "—",
|
|
390
|
+
"appliesTo": "SlButtonLink",
|
|
391
|
+
"description": "Content projected after the label, on the element you mark with slButtonEnd. It mirrors in a right-to-left document."
|
|
392
|
+
},
|
|
393
|
+
{
|
|
394
|
+
"name": "fullWidth",
|
|
395
|
+
"type": "boolean",
|
|
396
|
+
"defaultValue": "false",
|
|
397
|
+
"appliesTo": "SlButtonLink",
|
|
398
|
+
"description": "Fills the inline size of the container."
|
|
399
|
+
},
|
|
400
|
+
{
|
|
401
|
+
"name": "disabled",
|
|
402
|
+
"type": "boolean",
|
|
403
|
+
"defaultValue": "false",
|
|
404
|
+
"appliesTo": "SlButtonLink",
|
|
405
|
+
"description": "Removes the href and refuses activation. The link stays focusable with role=\"link\" and aria-disabled."
|
|
406
|
+
}
|
|
407
|
+
],
|
|
408
|
+
"composition": [],
|
|
409
|
+
"events": [],
|
|
410
|
+
"accessibility": [
|
|
411
|
+
"SlButtonLink applies to an anchor, so it is announced as a link and activates on Enter. Space does not activate it, as it does not activate any link.",
|
|
412
|
+
"routerLink works on the same anchor and writes its href. Do not also set href.",
|
|
413
|
+
"A disabled SlButtonLink renders no href. An anchor that kept its destination and only blocked click would still navigate on a middle click or a modified click.",
|
|
414
|
+
"A disabled SlButtonLink stays in the tab sequence with role=\"link\" and aria-disabled, so a keyboard user can discover that it is unavailable."
|
|
415
|
+
]
|
|
416
|
+
},
|
|
417
|
+
"iconButton": {
|
|
418
|
+
"imports": {
|
|
419
|
+
"source": "import {\n provideButtonDefaults,\n SlButton,\n SlButtonEnd,\n SlButtonLink,\n SlButtonStart,\n SlIconButton,\n SlToggleButton,\n} from '@slotted/angular/button';",
|
|
420
|
+
"selector": "button[slIconButton]",
|
|
421
|
+
"exportAs": "slIconButton"
|
|
422
|
+
},
|
|
423
|
+
"anatomy": [
|
|
424
|
+
{
|
|
425
|
+
"part": "root",
|
|
426
|
+
"element": "the button element you write",
|
|
427
|
+
"required": true,
|
|
428
|
+
"purpose": "The control. Carries data-ui=\"button\", data-tone, data-variant and data-size. It also carries data-shape, and data-disabled, data-loading and data-pressed when they apply."
|
|
429
|
+
},
|
|
430
|
+
{
|
|
431
|
+
"part": "icon",
|
|
432
|
+
"element": "span",
|
|
433
|
+
"required": true,
|
|
434
|
+
"purpose": "Wraps the projected icon. While loading, it holds the indicator drawn over the icon, so the control keeps its size."
|
|
435
|
+
},
|
|
436
|
+
{
|
|
437
|
+
"part": "indicator",
|
|
438
|
+
"element": "span with role=\"progressbar\"",
|
|
439
|
+
"required": false,
|
|
440
|
+
"purpose": "The loading indicator. Carries data-ui=\"spinner\", is named by messages.loading, and has no value, so it reads as indeterminate. Rendered inside the icon box once loadingDelay has passed."
|
|
441
|
+
}
|
|
442
|
+
],
|
|
443
|
+
"api": [
|
|
444
|
+
{
|
|
445
|
+
"name": "aria-label | aria-labelledby",
|
|
446
|
+
"type": "string",
|
|
447
|
+
"defaultValue": "required",
|
|
448
|
+
"appliesTo": "SlIconButton",
|
|
449
|
+
"description": "The accessible name. Required, because an icon supplies no text."
|
|
450
|
+
},
|
|
451
|
+
{
|
|
452
|
+
"name": "tone",
|
|
453
|
+
"type": "accent | secondary | success | warning | danger",
|
|
454
|
+
"defaultValue": "secondary",
|
|
455
|
+
"appliesTo": "SlIconButton",
|
|
456
|
+
"description": "The semantic colour: accent for the primary action, secondary for a neutral one, and success, warning or danger for what the action does."
|
|
457
|
+
},
|
|
458
|
+
{
|
|
459
|
+
"name": "variant",
|
|
460
|
+
"type": "solid | outline | ghost",
|
|
461
|
+
"defaultValue": "ghost",
|
|
462
|
+
"appliesTo": "SlIconButton",
|
|
463
|
+
"description": "How the tone is painted: solid, outline or ghost."
|
|
464
|
+
},
|
|
465
|
+
{
|
|
466
|
+
"name": "size",
|
|
467
|
+
"type": "sm | md | lg",
|
|
468
|
+
"defaultValue": "md",
|
|
469
|
+
"appliesTo": "SlIconButton",
|
|
470
|
+
"description": "The step of the control scale. Each step reads the --slotted-control-* tokens, so the density of the theme sets the height."
|
|
471
|
+
},
|
|
472
|
+
{
|
|
473
|
+
"name": "shape",
|
|
474
|
+
"type": "square | circle",
|
|
475
|
+
"defaultValue": "square",
|
|
476
|
+
"appliesTo": "SlIconButton",
|
|
477
|
+
"description": "The corners of the control: square keeps the radius of the control scale, circle rounds it fully. Both are as wide as they are tall."
|
|
478
|
+
},
|
|
479
|
+
{
|
|
480
|
+
"name": "disabled",
|
|
481
|
+
"type": "boolean",
|
|
482
|
+
"defaultValue": "false",
|
|
483
|
+
"appliesTo": "SlIconButton",
|
|
484
|
+
"description": "Refuses the action and marks the control unavailable. On its own, it sets the native disabled property, which also removes the control from the tab sequence."
|
|
485
|
+
},
|
|
486
|
+
{
|
|
487
|
+
"name": "focusableWhenDisabled",
|
|
488
|
+
"type": "boolean",
|
|
489
|
+
"defaultValue": "false",
|
|
490
|
+
"appliesTo": "SlIconButton",
|
|
491
|
+
"description": "Keeps a disabled control in the tab sequence: aria-disabled replaces the native property, and activation is still refused."
|
|
492
|
+
},
|
|
493
|
+
{
|
|
494
|
+
"name": "loading",
|
|
495
|
+
"type": "boolean",
|
|
496
|
+
"defaultValue": "false",
|
|
497
|
+
"appliesTo": "SlIconButton",
|
|
498
|
+
"description": "Refuses activation, keeps focus, and shows a progress indicator named by messages.loading."
|
|
499
|
+
},
|
|
500
|
+
{
|
|
501
|
+
"name": "loadingDelay",
|
|
502
|
+
"type": "number",
|
|
503
|
+
"defaultValue": "0",
|
|
504
|
+
"appliesTo": "SlIconButton",
|
|
505
|
+
"description": "Milliseconds before the indicator appears. Activation is refused from the start of the wait."
|
|
506
|
+
},
|
|
507
|
+
{
|
|
508
|
+
"name": "messages",
|
|
509
|
+
"type": "Partial<ButtonMessages>",
|
|
510
|
+
"defaultValue": "—",
|
|
511
|
+
"appliesTo": "SlIconButton",
|
|
512
|
+
"description": "Overrides for the strings of the active locale, key by key. loading names the progress indicator."
|
|
513
|
+
},
|
|
514
|
+
{
|
|
515
|
+
"name": "pressed",
|
|
516
|
+
"type": "boolean",
|
|
517
|
+
"defaultValue": "—",
|
|
518
|
+
"appliesTo": "SlIconButton",
|
|
519
|
+
"description": "The pressed state, controlled. Binding it makes the button a toggle whose value you own."
|
|
520
|
+
},
|
|
521
|
+
{
|
|
522
|
+
"name": "defaultPressed",
|
|
523
|
+
"type": "boolean",
|
|
524
|
+
"defaultValue": "—",
|
|
525
|
+
"appliesTo": "SlIconButton",
|
|
526
|
+
"description": "The initial pressed state when the button owns it. Binding it makes the button a toggle."
|
|
527
|
+
},
|
|
528
|
+
{
|
|
529
|
+
"name": "pressedChange",
|
|
530
|
+
"type": "ChangeRequest<boolean>",
|
|
531
|
+
"defaultValue": "—",
|
|
532
|
+
"appliesTo": "SlIconButton",
|
|
533
|
+
"description": "Emits the request: value, previous value, reason (pointer or keyboard), event and cancel()."
|
|
534
|
+
},
|
|
535
|
+
{
|
|
536
|
+
"name": "type",
|
|
537
|
+
"type": "button | submit | reset",
|
|
538
|
+
"defaultValue": "button",
|
|
539
|
+
"appliesTo": "SlIconButton",
|
|
540
|
+
"description": "The native button type. Set submit only for a button that submits its form."
|
|
541
|
+
}
|
|
542
|
+
],
|
|
543
|
+
"composition": [],
|
|
544
|
+
"events": [],
|
|
545
|
+
"accessibility": [
|
|
546
|
+
"The accessible name is required: the development build throws when neither aria-label nor aria-labelledby is present, because a template cannot make an attribute mandatory.",
|
|
547
|
+
"aria-pressed is rendered only when pressed or defaultPressed is bound, so a plain icon button does not announce a toggle state it does not have.",
|
|
548
|
+
"Keep the name the same in both pressed states. The APG toggle button pattern announces the state beside an unchanging label.",
|
|
549
|
+
"A pressed icon button uses the selected colours of the theme — accent text on the accent selection background, inside the accent edge — whatever its tone and variant. On hover it uses the hover step of that background, not the neutral hover of an unpressed button.",
|
|
550
|
+
"The control is as wide as it is tall, at the control height, and never smaller than the WCAG 2.2 minimum target of 24 by 24 CSS pixels at any density.",
|
|
551
|
+
"Add a tooltip when the icon alone does not say what the action does. The accessible name does not replace a visible label."
|
|
552
|
+
]
|
|
553
|
+
},
|
|
554
|
+
"toggleButton": {
|
|
555
|
+
"imports": {
|
|
556
|
+
"source": "import {\n provideButtonDefaults,\n SlButton,\n SlButtonEnd,\n SlButtonLink,\n SlButtonStart,\n SlIconButton,\n SlToggleButton,\n} from '@slotted/angular/button';",
|
|
557
|
+
"selector": "button[slToggleButton]",
|
|
558
|
+
"exportAs": "slToggleButton"
|
|
559
|
+
},
|
|
560
|
+
"anatomy": [
|
|
561
|
+
{
|
|
562
|
+
"part": "root",
|
|
563
|
+
"element": "the button element you write",
|
|
564
|
+
"required": true,
|
|
565
|
+
"purpose": "The control. Carries data-ui=\"button\", data-tone, data-variant and data-size. It also carries data-full-width, data-disabled, data-loading and data-pressed when they apply."
|
|
566
|
+
},
|
|
567
|
+
{
|
|
568
|
+
"part": "start",
|
|
569
|
+
"element": "the element you mark with slButtonStart",
|
|
570
|
+
"required": false,
|
|
571
|
+
"purpose": "Holds the start content. Absent when nothing is marked. While loading, it holds the indicator."
|
|
572
|
+
},
|
|
573
|
+
{
|
|
574
|
+
"part": "label",
|
|
575
|
+
"element": "span",
|
|
576
|
+
"required": true,
|
|
577
|
+
"purpose": "Wraps the projected text. Always rendered, because the accessible name is computed from it. With reduced motion or forced colours, a loading button with no icon fades it in place, and it keeps its size."
|
|
578
|
+
},
|
|
579
|
+
{
|
|
580
|
+
"part": "end",
|
|
581
|
+
"element": "the element you mark with slButtonEnd",
|
|
582
|
+
"required": false,
|
|
583
|
+
"purpose": "Holds the end content. Absent when nothing is marked. While loading, it holds the indicator when there is no start content."
|
|
584
|
+
},
|
|
585
|
+
{
|
|
586
|
+
"part": "indicator",
|
|
587
|
+
"element": "span with role=\"progressbar\"",
|
|
588
|
+
"required": false,
|
|
589
|
+
"purpose": "The loading indicator. Carries data-ui=\"spinner\", is named by messages.loading, and has no value, so it reads as indeterminate. Rendered in the start box, else in the end box, else centred over the label, once loadingDelay has passed."
|
|
590
|
+
}
|
|
591
|
+
],
|
|
592
|
+
"api": [
|
|
593
|
+
{
|
|
594
|
+
"name": "tone",
|
|
595
|
+
"type": "accent | secondary | success | warning | danger",
|
|
596
|
+
"defaultValue": "secondary",
|
|
597
|
+
"appliesTo": "SlToggleButton",
|
|
598
|
+
"description": "The semantic colour: accent for the primary action, secondary for a neutral one, and success, warning or danger for what the action does."
|
|
599
|
+
},
|
|
600
|
+
{
|
|
601
|
+
"name": "variant",
|
|
602
|
+
"type": "solid | outline | ghost",
|
|
603
|
+
"defaultValue": "outline",
|
|
604
|
+
"appliesTo": "SlToggleButton",
|
|
605
|
+
"description": "How the tone is painted: solid, outline or ghost."
|
|
606
|
+
},
|
|
607
|
+
{
|
|
608
|
+
"name": "size",
|
|
609
|
+
"type": "sm | md | lg",
|
|
610
|
+
"defaultValue": "md",
|
|
611
|
+
"appliesTo": "SlToggleButton",
|
|
612
|
+
"description": "The step of the control scale. Each step reads the --slotted-control-* tokens, so the density of the theme sets the height."
|
|
613
|
+
},
|
|
614
|
+
{
|
|
615
|
+
"name": "start",
|
|
616
|
+
"type": "[slButtonStart]",
|
|
617
|
+
"defaultValue": "—",
|
|
618
|
+
"appliesTo": "SlToggleButton",
|
|
619
|
+
"description": "Content projected before the label, such as an icon, on the element you mark with slButtonStart. It mirrors in a right-to-left document."
|
|
620
|
+
},
|
|
621
|
+
{
|
|
622
|
+
"name": "end",
|
|
623
|
+
"type": "[slButtonEnd]",
|
|
624
|
+
"defaultValue": "—",
|
|
625
|
+
"appliesTo": "SlToggleButton",
|
|
626
|
+
"description": "Content projected after the label, on the element you mark with slButtonEnd. It mirrors in a right-to-left document."
|
|
627
|
+
},
|
|
628
|
+
{
|
|
629
|
+
"name": "fullWidth",
|
|
630
|
+
"type": "boolean",
|
|
631
|
+
"defaultValue": "false",
|
|
632
|
+
"appliesTo": "SlToggleButton",
|
|
633
|
+
"description": "Fills the inline size of the container."
|
|
634
|
+
},
|
|
635
|
+
{
|
|
636
|
+
"name": "disabled",
|
|
637
|
+
"type": "boolean",
|
|
638
|
+
"defaultValue": "false",
|
|
639
|
+
"appliesTo": "SlToggleButton",
|
|
640
|
+
"description": "Refuses the action and marks the control unavailable. On its own, it sets the native disabled property, which also removes the control from the tab sequence."
|
|
641
|
+
},
|
|
642
|
+
{
|
|
643
|
+
"name": "focusableWhenDisabled",
|
|
644
|
+
"type": "boolean",
|
|
645
|
+
"defaultValue": "false",
|
|
646
|
+
"appliesTo": "SlToggleButton",
|
|
647
|
+
"description": "Keeps a disabled control in the tab sequence: aria-disabled replaces the native property, and activation is still refused."
|
|
648
|
+
},
|
|
649
|
+
{
|
|
650
|
+
"name": "loading",
|
|
651
|
+
"type": "boolean",
|
|
652
|
+
"defaultValue": "false",
|
|
653
|
+
"appliesTo": "SlToggleButton",
|
|
654
|
+
"description": "Refuses activation, keeps focus, and shows a progress indicator named by messages.loading."
|
|
655
|
+
},
|
|
656
|
+
{
|
|
657
|
+
"name": "loadingDelay",
|
|
658
|
+
"type": "number",
|
|
659
|
+
"defaultValue": "0",
|
|
660
|
+
"appliesTo": "SlToggleButton",
|
|
661
|
+
"description": "Milliseconds before the indicator appears. Activation is refused from the start of the wait."
|
|
662
|
+
},
|
|
663
|
+
{
|
|
664
|
+
"name": "messages",
|
|
665
|
+
"type": "Partial<ButtonMessages>",
|
|
666
|
+
"defaultValue": "—",
|
|
667
|
+
"appliesTo": "SlToggleButton",
|
|
668
|
+
"description": "Overrides for the strings of the active locale, key by key. loading names the progress indicator."
|
|
669
|
+
},
|
|
670
|
+
{
|
|
671
|
+
"name": "pressed",
|
|
672
|
+
"type": "boolean",
|
|
673
|
+
"defaultValue": "—",
|
|
674
|
+
"appliesTo": "SlToggleButton",
|
|
675
|
+
"description": "The pressed state, controlled. Binding it makes you the owner of the value."
|
|
676
|
+
},
|
|
677
|
+
{
|
|
678
|
+
"name": "defaultPressed",
|
|
679
|
+
"type": "boolean",
|
|
680
|
+
"defaultValue": "false",
|
|
681
|
+
"appliesTo": "SlToggleButton",
|
|
682
|
+
"description": "The initial pressed state when the button owns it, read once."
|
|
683
|
+
},
|
|
684
|
+
{
|
|
685
|
+
"name": "pressedChange",
|
|
686
|
+
"type": "ChangeRequest<boolean>",
|
|
687
|
+
"defaultValue": "—",
|
|
688
|
+
"appliesTo": "SlToggleButton",
|
|
689
|
+
"description": "Emits the request: value, previous value, reason (pointer or keyboard), event and cancel()."
|
|
690
|
+
},
|
|
691
|
+
{
|
|
692
|
+
"name": "type",
|
|
693
|
+
"type": "button | submit | reset",
|
|
694
|
+
"defaultValue": "button",
|
|
695
|
+
"appliesTo": "SlToggleButton",
|
|
696
|
+
"description": "The native button type. Set submit only for a button that submits its form."
|
|
697
|
+
}
|
|
698
|
+
],
|
|
699
|
+
"composition": [],
|
|
700
|
+
"events": [],
|
|
701
|
+
"accessibility": [
|
|
702
|
+
"SlToggleButton applies to a native button and sets aria-pressed, so it is announced as a toggle button and activates on Space and Enter.",
|
|
703
|
+
"Keep the label the same in both states: \"Mute\" stays \"Mute\" and the state is announced beside it. When the label has to change, use SlButton.",
|
|
704
|
+
"There is no [(pressed)]: a two-way binding carries only the value, and the change request also carries the reason and cancel(). One output, pressedChange, carries the whole request.",
|
|
705
|
+
"The reason is pointer when the click reports a click count and keyboard when it reports none, because a native button fires the same click for a pointer, Space and Enter.",
|
|
706
|
+
"Calling preventDefault on the click refuses the activation, and the pressed state does not change.",
|
|
707
|
+
"Use a checkbox, not SlToggleButton, for a value a form submits."
|
|
708
|
+
]
|
|
709
|
+
}
|
|
710
|
+
},
|
|
711
|
+
"tokens": [
|
|
712
|
+
"--slotted-border-subtle",
|
|
713
|
+
"--slotted-border-width-thin",
|
|
714
|
+
"--slotted-control-border-color",
|
|
715
|
+
"--slotted-control-border-width",
|
|
716
|
+
"--slotted-control-font-family",
|
|
717
|
+
"--slotted-control-font-size-lg",
|
|
718
|
+
"--slotted-control-font-size-md",
|
|
719
|
+
"--slotted-control-font-size-sm",
|
|
720
|
+
"--slotted-control-font-weight",
|
|
721
|
+
"--slotted-control-gap-lg",
|
|
722
|
+
"--slotted-control-gap-md",
|
|
723
|
+
"--slotted-control-gap-sm",
|
|
724
|
+
"--slotted-control-height-lg",
|
|
725
|
+
"--slotted-control-height-md",
|
|
726
|
+
"--slotted-control-height-sm",
|
|
727
|
+
"--slotted-control-icon-size-lg",
|
|
728
|
+
"--slotted-control-icon-size-md",
|
|
729
|
+
"--slotted-control-icon-size-sm",
|
|
730
|
+
"--slotted-control-letter-spacing",
|
|
731
|
+
"--slotted-control-line-height",
|
|
732
|
+
"--slotted-control-padding-inline-lg",
|
|
733
|
+
"--slotted-control-padding-inline-md",
|
|
734
|
+
"--slotted-control-padding-inline-sm",
|
|
735
|
+
"--slotted-control-radius",
|
|
736
|
+
"--slotted-control-shadow",
|
|
737
|
+
"--slotted-control-transition-duration",
|
|
738
|
+
"--slotted-control-transition-easing",
|
|
739
|
+
"--slotted-disabled-background",
|
|
740
|
+
"--slotted-disabled-border",
|
|
741
|
+
"--slotted-disabled-foreground",
|
|
742
|
+
"--slotted-duration-instant",
|
|
743
|
+
"--slotted-duration-loop",
|
|
744
|
+
"--slotted-focus-ring-color",
|
|
745
|
+
"--slotted-focus-ring-offset",
|
|
746
|
+
"--slotted-focus-ring-width",
|
|
747
|
+
"--slotted-line-height-sm",
|
|
748
|
+
"--slotted-radius-full",
|
|
749
|
+
"--slotted-space-2",
|
|
750
|
+
"--slotted-target-min",
|
|
751
|
+
"--slotted-text-muted",
|
|
752
|
+
"--slotted-tone-accent-border",
|
|
753
|
+
"--slotted-tone-accent-on-solid",
|
|
754
|
+
"--slotted-tone-accent-solid",
|
|
755
|
+
"--slotted-tone-accent-solid-active",
|
|
756
|
+
"--slotted-tone-accent-solid-hover",
|
|
757
|
+
"--slotted-tone-accent-subtle-active",
|
|
758
|
+
"--slotted-tone-accent-subtle-hover",
|
|
759
|
+
"--slotted-tone-accent-text",
|
|
760
|
+
"--slotted-tone-danger-on-solid",
|
|
761
|
+
"--slotted-tone-danger-solid",
|
|
762
|
+
"--slotted-tone-danger-solid-active",
|
|
763
|
+
"--slotted-tone-danger-solid-hover",
|
|
764
|
+
"--slotted-tone-danger-text",
|
|
765
|
+
"--slotted-tone-secondary-on-solid",
|
|
766
|
+
"--slotted-tone-secondary-solid",
|
|
767
|
+
"--slotted-tone-secondary-solid-active",
|
|
768
|
+
"--slotted-tone-secondary-solid-hover",
|
|
769
|
+
"--slotted-tone-secondary-subtle-active",
|
|
770
|
+
"--slotted-tone-secondary-subtle-hover",
|
|
771
|
+
"--slotted-tone-secondary-text",
|
|
772
|
+
"--slotted-tone-success-on-solid",
|
|
773
|
+
"--slotted-tone-success-solid",
|
|
774
|
+
"--slotted-tone-success-solid-active",
|
|
775
|
+
"--slotted-tone-success-solid-hover",
|
|
776
|
+
"--slotted-tone-success-text",
|
|
777
|
+
"--slotted-tone-warning-on-solid",
|
|
778
|
+
"--slotted-tone-warning-solid",
|
|
779
|
+
"--slotted-tone-warning-solid-active",
|
|
780
|
+
"--slotted-tone-warning-solid-hover",
|
|
781
|
+
"--slotted-tone-warning-text"
|
|
782
|
+
],
|
|
783
|
+
"examples": [
|
|
784
|
+
{
|
|
785
|
+
"id": "angular-button-basic",
|
|
786
|
+
"title": "An action",
|
|
787
|
+
"note": null,
|
|
788
|
+
"language": "html",
|
|
789
|
+
"source": "<button slButton (click)=\"save()\">\n <span slButtonStart><ng-icon aria-hidden=\"true\" name=\"lucideSave\" /></span>\n Save changes\n</button>\n",
|
|
790
|
+
"verdict": "excerpt"
|
|
791
|
+
},
|
|
792
|
+
{
|
|
793
|
+
"id": "angular-button-loading",
|
|
794
|
+
"title": "Waiting for the action to finish",
|
|
795
|
+
"note": null,
|
|
796
|
+
"language": "html",
|
|
797
|
+
"source": "<button\n slButton\n [loading]=\"saving()\"\n [loadingDelay]=\"300\"\n [messages]=\"{ loading: 'Saving' }\"\n (click)=\"save()\"\n>\n <span slButtonStart><ng-icon aria-hidden=\"true\" name=\"lucideSave\" /></span>\n Save changes\n</button>\n",
|
|
798
|
+
"verdict": "excerpt"
|
|
799
|
+
},
|
|
800
|
+
{
|
|
801
|
+
"id": "angular-button-defaults",
|
|
802
|
+
"title": "Every action in the application, decided once",
|
|
803
|
+
"note": null,
|
|
804
|
+
"language": "ts",
|
|
805
|
+
"source": "bootstrapApplication(App, {\n providers: [provideButtonDefaults({ size: 'sm' })],\n});\n",
|
|
806
|
+
"verdict": "excerpt"
|
|
807
|
+
},
|
|
808
|
+
{
|
|
809
|
+
"id": "angular-button-link-native",
|
|
810
|
+
"title": "Navigating",
|
|
811
|
+
"note": null,
|
|
812
|
+
"language": "html",
|
|
813
|
+
"source": "<a slButtonLink href=\"/settings\">Open settings</a>\n",
|
|
814
|
+
"verdict": "excerpt"
|
|
815
|
+
},
|
|
816
|
+
{
|
|
817
|
+
"id": "angular-button-link-router",
|
|
818
|
+
"title": "Navigation the router owns",
|
|
819
|
+
"note": null,
|
|
820
|
+
"language": "html",
|
|
821
|
+
"source": "<a slButtonLink variant=\"outline\" routerLink=\"/settings\">Open settings</a>\n",
|
|
822
|
+
"verdict": "excerpt"
|
|
823
|
+
},
|
|
824
|
+
{
|
|
825
|
+
"id": "angular-icon-button-basic",
|
|
826
|
+
"title": "A named icon-only action",
|
|
827
|
+
"note": null,
|
|
828
|
+
"language": "html",
|
|
829
|
+
"source": "<button slIconButton tone=\"danger\" aria-label=\"Delete invoice\" (click)=\"remove()\">\n <ng-icon aria-hidden=\"true\" name=\"lucideTrash2\" />\n</button>\n",
|
|
830
|
+
"verdict": "excerpt"
|
|
831
|
+
},
|
|
832
|
+
{
|
|
833
|
+
"id": "angular-icon-button-toggle",
|
|
834
|
+
"title": "An icon toggle in a toolbar",
|
|
835
|
+
"note": null,
|
|
836
|
+
"language": "html",
|
|
837
|
+
"source": "<button slIconButton aria-label=\"Bold\" [pressed]=\"bold()\" (pressedChange)=\"bold.set($event.value)\">\n <ng-icon aria-hidden=\"true\" name=\"lucideBold\" />\n</button>\n",
|
|
838
|
+
"verdict": "excerpt"
|
|
839
|
+
},
|
|
840
|
+
{
|
|
841
|
+
"id": "angular-toggle-button-uncontrolled",
|
|
842
|
+
"title": "A toggle that owns its own state",
|
|
843
|
+
"note": null,
|
|
844
|
+
"language": "html",
|
|
845
|
+
"source": "<button slToggleButton defaultPressed>Pin</button>\n",
|
|
846
|
+
"verdict": "excerpt"
|
|
847
|
+
},
|
|
848
|
+
{
|
|
849
|
+
"id": "angular-toggle-button-controlled",
|
|
850
|
+
"title": "A toggle the consumer owns, with the reason",
|
|
851
|
+
"note": null,
|
|
852
|
+
"language": "html",
|
|
853
|
+
"source": "<button slToggleButton [pressed]=\"pinned()\" (pressedChange)=\"onPinnedChange($event)\">Pin</button>\n",
|
|
854
|
+
"verdict": "excerpt"
|
|
855
|
+
},
|
|
856
|
+
{
|
|
857
|
+
"id": "basic",
|
|
858
|
+
"title": "basic.ts",
|
|
859
|
+
"note": null,
|
|
860
|
+
"language": "ts",
|
|
861
|
+
"source": "import { Component } from '@angular/core';\nimport { SlButton } from '@slotted/angular/button';\n\n@Component({\n selector: 'app-button-basic',\n imports: [SlButton],\n template: `<button slButton type=\"button\" (click)=\"save()\">Save changes</button>`,\n})\nexport class ButtonBasic {\n save(): void {\n console.log('saved');\n }\n}\n",
|
|
862
|
+
"verdict": "example"
|
|
863
|
+
},
|
|
864
|
+
{
|
|
865
|
+
"id": "confirm-delete",
|
|
866
|
+
"title": "confirm-delete.ts",
|
|
867
|
+
"note": null,
|
|
868
|
+
"language": "ts",
|
|
869
|
+
"source": "import { Component, signal } from '@angular/core';\nimport { SlButton, SlButtonStart } from '@slotted/angular/button';\nimport {\n SlAlertDialog,\n SlAlertDialogAction,\n SlAlertDialogCancel,\n SlAlertDialogIcon,\n SlDialogDescription,\n SlDialogFooter,\n SlDialogHeader,\n SlDialogTitle,\n SlDialogTrigger,\n} from '@slotted/angular/dialog';\nimport { SlGlyph } from '@slotted/angular/icon';\nimport { SlInline } from '@slotted/angular/inline';\nimport { SlText } from '@slotted/angular/typography';\n\n@Component({\n selector: 'app-button-confirm-delete',\n imports: [\n SlAlertDialog,\n SlAlertDialogAction,\n SlAlertDialogCancel,\n SlAlertDialogIcon,\n SlButton,\n SlButtonStart,\n SlDialogDescription,\n SlDialogFooter,\n SlDialogHeader,\n SlDialogTitle,\n SlDialogTrigger,\n SlGlyph,\n SlInline,\n SlText,\n ],\n template: `\n <div slInline align=\"center\" [gap]=\"2\">\n <button\n slButton\n tone=\"danger\"\n variant=\"outline\"\n focusableWhenDisabled\n [disabled]=\"deleted()\"\n [slDialogTrigger]=\"dialog\"\n >\n <span slButtonStart><svg slGlyph name=\"trash\"></svg></span>\n Delete supplier\n </button>\n <sl-alert-dialog #dialog=\"slAlertDialog\" [(open)]=\"open\">\n <header slDialogHeader>\n <span slAlertDialogIcon></span>\n <h2 slDialogTitle>Delete Northwind Traders?</h2>\n <p slDialogDescription>\n The supplier and its 18 open purchase orders are removed for everyone. This cannot be\n undone.\n </p>\n </header>\n <footer slDialogFooter>\n <button slButton slAlertDialogCancel tone=\"secondary\" variant=\"outline\">\n Keep supplier\n </button>\n <button slButton slAlertDialogAction tone=\"danger\" (click)=\"deleted.set(true)\">\n Delete supplier\n </button>\n </footer>\n </sl-alert-dialog>\n @if (deleted()) {\n <span slText size=\"sm\" tone=\"muted\">Northwind Traders was deleted.</span>\n <button slButton size=\"sm\" tone=\"secondary\" variant=\"ghost\" (click)=\"deleted.set(false)\">\n Undo\n </button>\n }\n </div>\n `,\n})\nexport class ButtonConfirmDelete {\n readonly open = signal(false);\n readonly deleted = signal(false);\n}\n",
|
|
870
|
+
"verdict": "example"
|
|
871
|
+
},
|
|
872
|
+
{
|
|
873
|
+
"id": "defaults",
|
|
874
|
+
"title": "defaults.ts",
|
|
875
|
+
"note": null,
|
|
876
|
+
"language": "ts",
|
|
877
|
+
"source": "import { Component } from '@angular/core';\nimport { provideButtonDefaults, SlButton, SlButtonStart } from '@slotted/angular/button';\nimport { SlGlyph } from '@slotted/angular/icon';\nimport { SlInline } from '@slotted/angular/inline';\n\n@Component({\n selector: 'app-button-defaults',\n imports: [SlButton, SlButtonStart, SlGlyph, SlInline],\n providers: [provideButtonDefaults({ size: 'sm', tone: 'secondary', variant: 'outline' })],\n template: `\n <div slInline [gap]=\"2\">\n <button slButton>\n <span slButtonStart><svg slGlyph name=\"funnel\"></svg></span>\n Filter\n </button>\n <button slButton>Columns</button>\n <button slButton>Export</button>\n <button slButton tone=\"accent\" variant=\"solid\">\n <span slButtonStart><svg slGlyph name=\"plus\"></svg></span>\n New order\n </button>\n </div>\n `,\n})\nexport class ButtonDefaults {}\n",
|
|
878
|
+
"verdict": "example"
|
|
879
|
+
},
|
|
880
|
+
{
|
|
881
|
+
"id": "disabled",
|
|
882
|
+
"title": "disabled.ts",
|
|
883
|
+
"note": null,
|
|
884
|
+
"language": "ts",
|
|
885
|
+
"source": "import { Component } from '@angular/core';\nimport { SlButton } from '@slotted/angular/button';\nimport { SlInline } from '@slotted/angular/inline';\nimport { SlStack } from '@slotted/angular/stack';\nimport { SlText } from '@slotted/angular/typography';\n\n@Component({\n selector: 'app-button-disabled',\n imports: [SlButton, SlInline, SlStack, SlText],\n template: `\n <div slStack [gap]=\"2\">\n <div slInline [gap]=\"2\">\n <button slButton disabled tone=\"secondary\" variant=\"outline\">Export</button>\n <button slButton aria-describedby=\"submit-hint\" disabled focusableWhenDisabled>\n Submit for approval\n </button>\n </div>\n <span slText id=\"submit-hint\" size=\"sm\" tone=\"muted\">\n Add at least one line item before submitting.\n </span>\n </div>\n `,\n})\nexport class ButtonDisabled {}\n",
|
|
886
|
+
"verdict": "example"
|
|
887
|
+
},
|
|
888
|
+
{
|
|
889
|
+
"id": "full-width",
|
|
890
|
+
"title": "full-width.ts",
|
|
891
|
+
"note": null,
|
|
892
|
+
"language": "ts",
|
|
893
|
+
"source": "import { Component } from '@angular/core';\nimport { SlButton } from '@slotted/angular/button';\nimport { SlStack } from '@slotted/angular/stack';\n\n@Component({\n selector: 'app-button-full-width',\n imports: [SlButton, SlStack],\n template: `\n <div slStack [gap]=\"2\">\n <button slButton fullWidth>Pay $1,240.00</button>\n <button slButton fullWidth tone=\"secondary\" variant=\"outline\">Pay by bank transfer</button>\n </div>\n `,\n})\nexport class ButtonFullWidth {}\n",
|
|
894
|
+
"verdict": "example"
|
|
895
|
+
},
|
|
896
|
+
{
|
|
897
|
+
"id": "group",
|
|
898
|
+
"title": "group.ts",
|
|
899
|
+
"note": null,
|
|
900
|
+
"language": "ts",
|
|
901
|
+
"source": "import { Component } from '@angular/core';\nimport { SlButton, SlIconButton } from '@slotted/angular/button';\nimport { SlButtonGroup } from '@slotted/angular/button-group';\nimport { SlGlyph } from '@slotted/angular/icon';\n\n@Component({\n selector: 'app-button-group',\n imports: [SlButton, SlButtonGroup, SlGlyph, SlIconButton],\n template: `\n <div slButtonGroup aria-label=\"Invoice actions\" tone=\"secondary\" variant=\"outline\">\n <button slButton>Edit</button>\n <button slButton>Duplicate</button>\n <button slButton>Send</button>\n <button slIconButton aria-label=\"More invoice actions\">\n <svg slGlyph name=\"ellipsis\"></svg>\n </button>\n </div>\n `,\n})\nexport class ButtonGroupExample {}\n",
|
|
902
|
+
"verdict": "example"
|
|
903
|
+
},
|
|
904
|
+
{
|
|
905
|
+
"id": "icon-button",
|
|
906
|
+
"title": "icon-button.ts",
|
|
907
|
+
"note": null,
|
|
908
|
+
"language": "ts",
|
|
909
|
+
"source": "import { Component } from '@angular/core';\nimport { SlIconButton } from '@slotted/angular/button';\nimport { SlGlyph } from '@slotted/angular/icon';\nimport { SlInline } from '@slotted/angular/inline';\n\n@Component({\n selector: 'app-button-icon-button',\n imports: [SlGlyph, SlIconButton, SlInline],\n template: `\n <div slInline align=\"center\" [gap]=\"2\">\n <button slIconButton aria-label=\"Copy invoice number\">\n <svg slGlyph name=\"copy\"></svg>\n </button>\n <button slIconButton aria-label=\"Refresh balances\" variant=\"outline\">\n <svg slGlyph name=\"rotate-ccw\"></svg>\n </button>\n <button slIconButton aria-label=\"Delete draft\" tone=\"danger\">\n <svg slGlyph name=\"trash\"></svg>\n </button>\n <button slIconButton aria-label=\"Add note\" shape=\"circle\" tone=\"accent\" variant=\"solid\">\n <svg slGlyph name=\"plus\"></svg>\n </button>\n </div>\n `,\n})\nexport class ButtonIconButton {}\n",
|
|
910
|
+
"verdict": "example"
|
|
911
|
+
},
|
|
912
|
+
{
|
|
913
|
+
"id": "icons",
|
|
914
|
+
"title": "icons.ts",
|
|
915
|
+
"note": null,
|
|
916
|
+
"language": "ts",
|
|
917
|
+
"source": "import { Component } from '@angular/core';\nimport { SlButton, SlButtonEnd, SlButtonStart } from '@slotted/angular/button';\nimport { SlGlyph } from '@slotted/angular/icon';\nimport { SlInline } from '@slotted/angular/inline';\n\n@Component({\n selector: 'app-button-icons',\n imports: [SlButton, SlButtonEnd, SlButtonStart, SlGlyph, SlInline],\n template: `\n <div slInline [gap]=\"2\">\n <button slButton>\n <span slButtonStart><svg slGlyph name=\"plus\"></svg></span>\n New order\n </button>\n <button slButton tone=\"secondary\" variant=\"outline\">\n <span slButtonStart><svg slGlyph name=\"upload\"></svg></span>\n Import CSV\n </button>\n <button slButton tone=\"secondary\" variant=\"ghost\">\n Continue to payment\n <span slButtonEnd><svg slGlyph name=\"chevron-right\"></svg></span>\n </button>\n </div>\n `,\n})\nexport class ButtonIcons {}\n",
|
|
918
|
+
"verdict": "example"
|
|
919
|
+
},
|
|
920
|
+
{
|
|
921
|
+
"id": "link",
|
|
922
|
+
"title": "link.ts",
|
|
923
|
+
"note": null,
|
|
924
|
+
"language": "ts",
|
|
925
|
+
"source": "import { Component } from '@angular/core';\nimport { SlButtonEnd, SlButtonLink } from '@slotted/angular/button';\nimport { SlGlyph } from '@slotted/angular/icon';\nimport { SlInline } from '@slotted/angular/inline';\n\n@Component({\n selector: 'app-button-link',\n imports: [SlButtonEnd, SlButtonLink, SlGlyph, SlInline],\n template: `\n <div slInline [gap]=\"2\">\n <a slButtonLink href=\"/invoices/INV-2041\">\n View invoice\n <span slButtonEnd><svg slGlyph name=\"chevron-right\"></svg></span>\n </a>\n <a slButtonLink disabled href=\"/statements/2026-09.pdf\" tone=\"secondary\" variant=\"outline\">\n Download statement\n </a>\n </div>\n `,\n})\nexport class ButtonLinkExample {}\n",
|
|
926
|
+
"verdict": "example"
|
|
927
|
+
},
|
|
928
|
+
{
|
|
929
|
+
"id": "loading",
|
|
930
|
+
"title": "loading.ts",
|
|
931
|
+
"note": null,
|
|
932
|
+
"language": "ts",
|
|
933
|
+
"source": "import { Component, signal } from '@angular/core';\nimport { SlButton, SlButtonStart } from '@slotted/angular/button';\nimport { SlGlyph } from '@slotted/angular/icon';\nimport { SlInline } from '@slotted/angular/inline';\n\n@Component({\n selector: 'app-button-loading',\n imports: [SlButton, SlButtonStart, SlGlyph, SlInline],\n template: `\n <div slInline [gap]=\"2\">\n <button\n slButton\n tone=\"secondary\"\n variant=\"outline\"\n [loading]=\"syncing()\"\n [messages]=\"{ loading: 'Syncing' }\"\n (click)=\"sync()\"\n >\n <span slButtonStart><svg slGlyph name=\"rotate-ccw\"></svg></span>\n Sync inventory\n </button>\n <button\n slButton\n [loading]=\"sending()\"\n [loadingDelay]=\"300\"\n [messages]=\"{ loading: 'Sending' }\"\n (click)=\"send()\"\n >\n Send invoice\n </button>\n </div>\n `,\n})\nexport class ButtonLoading {\n readonly syncing = signal(false);\n readonly sending = signal(false);\n\n sync(): void {\n this.syncing.set(true);\n setTimeout(() => this.syncing.set(false), 2000);\n }\n\n send(): void {\n this.sending.set(true);\n setTimeout(() => this.sending.set(false), 2000);\n }\n}\n",
|
|
934
|
+
"verdict": "example"
|
|
935
|
+
},
|
|
936
|
+
{
|
|
937
|
+
"id": "sizes",
|
|
938
|
+
"title": "sizes.ts",
|
|
939
|
+
"note": null,
|
|
940
|
+
"language": "ts",
|
|
941
|
+
"source": "import { Component } from '@angular/core';\nimport { SlButton } from '@slotted/angular/button';\nimport { SlInline } from '@slotted/angular/inline';\n\n@Component({\n selector: 'app-button-sizes',\n imports: [SlButton, SlInline],\n template: `\n <div slInline align=\"center\" [gap]=\"2\">\n <button slButton size=\"sm\">Add line item</button>\n <button slButton size=\"md\">Add line item</button>\n <button slButton size=\"lg\">Add line item</button>\n </div>\n `,\n})\nexport class ButtonSizes {}\n",
|
|
942
|
+
"verdict": "example"
|
|
943
|
+
},
|
|
944
|
+
{
|
|
945
|
+
"id": "toggle",
|
|
946
|
+
"title": "toggle.ts",
|
|
947
|
+
"note": null,
|
|
948
|
+
"language": "ts",
|
|
949
|
+
"source": "import { Component, signal } from '@angular/core';\nimport { SlButtonStart, SlIconButton, SlToggleButton } from '@slotted/angular/button';\nimport { SlGlyph } from '@slotted/angular/icon';\nimport { SlInline } from '@slotted/angular/inline';\nimport { SlStack } from '@slotted/angular/stack';\nimport { SlText } from '@slotted/angular/typography';\n\n@Component({\n selector: 'app-button-toggle',\n imports: [SlButtonStart, SlGlyph, SlIconButton, SlInline, SlStack, SlText, SlToggleButton],\n template: `\n <div slStack [gap]=\"2\">\n <div slInline align=\"center\" [gap]=\"2\">\n <button\n slToggleButton\n [pressed]=\"autoRefresh()\"\n (pressedChange)=\"autoRefresh.set($event.value)\"\n >\n Auto-refresh\n </button>\n <button slToggleButton defaultPressed>\n <span slButtonStart><svg slGlyph name=\"pin\"></svg></span>\n Pin to dashboard\n </button>\n <button slIconButton aria-label=\"Mark as priority\" [defaultPressed]=\"false\">\n <svg slGlyph name=\"star\"></svg>\n </button>\n </div>\n <span slText size=\"sm\" tone=\"muted\">\n {{ autoRefresh() ? 'Balances refresh every 30 seconds.' : 'Balances refresh on demand.' }}\n </span>\n </div>\n `,\n})\nexport class ButtonToggle {\n readonly autoRefresh = signal(true);\n}\n",
|
|
950
|
+
"verdict": "example"
|
|
951
|
+
},
|
|
952
|
+
{
|
|
953
|
+
"id": "tones",
|
|
954
|
+
"title": "tones.ts",
|
|
955
|
+
"note": null,
|
|
956
|
+
"language": "ts",
|
|
957
|
+
"source": "import { Component } from '@angular/core';\nimport { SlButton } from '@slotted/angular/button';\nimport { SlInline } from '@slotted/angular/inline';\nimport { SlStack } from '@slotted/angular/stack';\n\n@Component({\n selector: 'app-button-tones',\n imports: [SlButton, SlInline, SlStack],\n template: `\n <div slStack [gap]=\"3\">\n <div slInline [gap]=\"2\">\n <button slButton>Create order</button>\n <button slButton tone=\"secondary\">Export</button>\n <button slButton tone=\"success\">Approve</button>\n <button slButton tone=\"warning\">Hold shipment</button>\n <button slButton tone=\"danger\">Void invoice</button>\n </div>\n <div slInline [gap]=\"2\">\n <button slButton variant=\"outline\">Create order</button>\n <button slButton tone=\"secondary\" variant=\"outline\">Export</button>\n <button slButton tone=\"success\" variant=\"outline\">Approve</button>\n <button slButton tone=\"warning\" variant=\"outline\">Hold shipment</button>\n <button slButton tone=\"danger\" variant=\"outline\">Void invoice</button>\n </div>\n </div>\n `,\n})\nexport class ButtonTones {}\n",
|
|
958
|
+
"verdict": "example"
|
|
959
|
+
},
|
|
960
|
+
{
|
|
961
|
+
"id": "toolbar",
|
|
962
|
+
"title": "toolbar.ts",
|
|
963
|
+
"note": null,
|
|
964
|
+
"language": "ts",
|
|
965
|
+
"source": "import { Component } from '@angular/core';\nimport { SlButton, SlButtonStart, SlIconButton } from '@slotted/angular/button';\nimport { SlGlyph } from '@slotted/angular/icon';\nimport { SlToolbar, SlToolbarSeparator, SlToolbarSpacer } from '@slotted/angular/toolbar';\nimport { SlText } from '@slotted/angular/typography';\n\n@Component({\n selector: 'app-button-toolbar',\n imports: [\n SlButton,\n SlButtonStart,\n SlGlyph,\n SlIconButton,\n SlText,\n SlToolbar,\n SlToolbarSeparator,\n SlToolbarSpacer,\n ],\n template: `\n <div slToolbar aria-label=\"Order SO-1187\">\n <button slButton tone=\"secondary\" variant=\"ghost\">\n <span slButtonStart><svg slGlyph name=\"file-text\"></svg></span>\n Packing slip\n </button>\n <button slButton tone=\"secondary\" variant=\"ghost\">Duplicate</button>\n <div slToolbarSeparator></div>\n <button slIconButton aria-label=\"Copy order number\">\n <svg slGlyph name=\"copy\"></svg>\n </button>\n <button\n slIconButton\n aria-describedby=\"delete-reason\"\n aria-label=\"Delete order\"\n disabled\n focusableWhenDisabled\n tone=\"danger\"\n >\n <svg slGlyph name=\"trash\"></svg>\n </button>\n <div slToolbarSpacer></div>\n <span slText id=\"delete-reason\" size=\"sm\" tone=\"muted\">\n Shipped orders cannot be deleted.\n </span>\n </div>\n `,\n})\nexport class ButtonToolbar {}\n",
|
|
966
|
+
"verdict": "example"
|
|
967
|
+
},
|
|
968
|
+
{
|
|
969
|
+
"id": "variants",
|
|
970
|
+
"title": "variants.ts",
|
|
971
|
+
"note": null,
|
|
972
|
+
"language": "ts",
|
|
973
|
+
"source": "import { Component } from '@angular/core';\nimport { SlButton } from '@slotted/angular/button';\nimport { SlInline } from '@slotted/angular/inline';\n\n@Component({\n selector: 'app-button-variants',\n imports: [SlButton, SlInline],\n template: `\n <div slInline [gap]=\"2\">\n <button slButton>Publish invoice</button>\n <button slButton tone=\"secondary\" variant=\"outline\">Save draft</button>\n <button slButton tone=\"secondary\" variant=\"ghost\">Discard</button>\n </div>\n `,\n})\nexport class ButtonVariants {}\n",
|
|
974
|
+
"verdict": "example"
|
|
975
|
+
}
|
|
976
|
+
]
|
|
977
|
+
}
|