@slotted/angular 0.0.0-stage → 0.1.0-beta.0
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/section.md
ADDED
|
@@ -0,0 +1,208 @@
|
|
|
1
|
+
<!-- index: ./index.md -->
|
|
2
|
+
# section
|
|
3
|
+
|
|
4
|
+
`data-ui="section"` · Titled block of content within a page.
|
|
5
|
+
|
|
6
|
+
## Import
|
|
7
|
+
|
|
8
|
+
```ts
|
|
9
|
+
import { SlSection, SlSectionHeader, SlSectionTitle, SlSectionEyebrow, SlSectionHeading, SlSectionDescription, SlSectionActions, SlSectionBody, provideSectionDefaults } from '@slotted/angular/section';
|
|
10
|
+
```
|
|
11
|
+
|
|
12
|
+
Selector: `[slSection], [slSectionHeader], [slSectionTitle], [slSectionEyebrow], [slSectionHeading], [slSectionDescription], [slSectionActions], [slSectionBody]` · exportAs: `slSection, slSectionHeading`
|
|
13
|
+
|
|
14
|
+
## Minimal example
|
|
15
|
+
|
|
16
|
+
Excerpt — not a complete module
|
|
17
|
+
|
|
18
|
+
```html
|
|
19
|
+
<section slSection>
|
|
20
|
+
<div slSectionHeader>
|
|
21
|
+
<div slSectionTitle><h2 slSectionHeading>Itens do pedido</h2></div>
|
|
22
|
+
</div>
|
|
23
|
+
<div slSectionBody>…</div>
|
|
24
|
+
</section>
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
## Anatomy
|
|
28
|
+
|
|
29
|
+
| Part | Element | Required |
|
|
30
|
+
| --- | --- | --- |
|
|
31
|
+
| `root` | the section carrying slSection | yes |
|
|
32
|
+
| `header` | the element carrying slSectionHeader | no |
|
|
33
|
+
| `title` | the element carrying slSectionTitle | no |
|
|
34
|
+
| `eyebrow` | the element carrying slSectionEyebrow | no |
|
|
35
|
+
| `heading` | the h1 to h6 carrying slSectionHeading, or any element, which then gets role="heading" | no |
|
|
36
|
+
| `description` | the p carrying slSectionDescription | no |
|
|
37
|
+
| `actions` | the element carrying slSectionActions | no |
|
|
38
|
+
| `body` | the element carrying slSectionBody | yes |
|
|
39
|
+
|
|
40
|
+
## Props
|
|
41
|
+
|
|
42
|
+
| Name | Type | Default | Applies to | Description |
|
|
43
|
+
| --- | --- | --- | --- | --- |
|
|
44
|
+
| `size` | `'sm' \| 'md' \| 'lg'` | md | slSection, provideSectionDefaults | The step the heading sits at, on the type scale, independent of its rank |
|
|
45
|
+
| `level` | `'auto' \| '1' \| '2' \| '3' \| '4' \| '5' \| '6'` | auto | slSection | The rank of the heading. auto takes the one typography’s outline gives: 2 directly in a page body, one deeper inside another section. A native heading element keeps its own tag; any other element gets aria-level from this |
|
|
46
|
+
| `divider` | `boolean` | false | slSection, provideSectionDefaults | A rule under the header, for a page where space alone does not separate |
|
|
47
|
+
| `ground` | `'none' \| 'surface'` | none | slSection, provideSectionDefaults | none is transparent; surface paints the raised surface with a subtle edge and the large radius — no shadow, no hover, no action, because a section is not a card |
|
|
48
|
+
| `sticky` | `boolean` | false | slSection, provideSectionDefaults | The header stays under the page chrome while the body scrolls, painted in the page’s ground. Without a page it sticks to the top of whatever scrolls |
|
|
49
|
+
| `id` | `attribute` | generated | slSection | The identifier a hash link reaches, read with HostAttributeToken. The heading’s own id is derived from it |
|
|
50
|
+
| `slSectionHeading on any element` | `directive` | — | the consumer’s own element | A native heading gets nothing added; a div or a link gets role="heading" and aria-level, so a linked or editable title keeps its rank |
|
|
51
|
+
| `exportAs slSection` | `SlSection` | — | a template reference | The resolved rank, size, ground and the identifiers, as signals |
|
|
52
|
+
| `provideSectionDefaults()` | `{ size, divider, ground, sticky }` | — | an injector | The four decisions an application takes once. A section that states any of them itself still wins |
|
|
53
|
+
| `slHeadingLevel` | `from @slotted/angular/typography` | — | around a subtree | The outline context the section reads. The body already carries it as a host directive; put it on an element yourself to step the outline elsewhere |
|
|
54
|
+
| `native attributes` | `on every part` | — | every part | Every directive sits on the consumer’s own element, so id, class, routerLink and every listener stay where they were written |
|
|
55
|
+
|
|
56
|
+
## Axes and defaults
|
|
57
|
+
|
|
58
|
+
| Axis | Values | Default |
|
|
59
|
+
| --- | --- | --- |
|
|
60
|
+
| `size` | `sm`, `md`, `lg` | `md` |
|
|
61
|
+
| `level` | `auto`, `1`, `2`, `3`, `4`, `5`, `6` | `auto` |
|
|
62
|
+
| `divider` | `false`, `true` | `false` |
|
|
63
|
+
| `ground` | `none`, `surface` | `none` |
|
|
64
|
+
| `sticky` | `false`, `true` | `false` |
|
|
65
|
+
|
|
66
|
+
## Rules
|
|
67
|
+
|
|
68
|
+
- The practice is the WAI-ARIA APG’s Landmark Regions (w3.org/WAI/ARIA/apg/practices/landmark-regions/): a section element with an accessible name is a region landmark. The root is aria-labelledby its heading once one is rendered, so a section with a heading appears in the landmark list under the heading’s words, and one without a heading is a plain section that clutters nothing.
|
|
69
|
+
- The rank is real and the element is the consumer’s. Write h2 and the directive adds nothing; write a div or a link and it gets role="heading" and aria-level from the outline typography keeps — 2 directly in a page body, one deeper inside another section’s body — or from level.
|
|
70
|
+
- The body carries slHeadingLevel as a host directive, which is what keeps a nested section, a collapsible or a table caption at the right rank without either family reading the other. The HTML Standard requires each heading to be at most one deeper than the one before, and stepping by exactly one is the only way to hold that in a tree assembled from components.
|
|
71
|
+
- The root carries a scroll margin the height of the page chrome, so a hash link to the section lands under the header rather than behind it. The id is the consumer’s or a generated one, and the heading’s id is derived from it, so an anchor-nav family later has both to reach.
|
|
72
|
+
- Nothing here is interactive. The actions slot holds the consumer’s own controls, in the page tab sequence like any other; the sticky header is CSS and takes no focus.
|
|
73
|
+
|
|
74
|
+
## Tokens
|
|
75
|
+
|
|
76
|
+
`--slotted-border-subtle`, `--slotted-border-width-thin`, `--slotted-control-gap-md`, `--slotted-font-family-heading`, `--slotted-font-family-sans`, `--slotted-font-size-lg`, `--slotted-font-size-md`, `--slotted-font-size-sm`, `--slotted-font-size-xl`, `--slotted-font-size-xs`, `--slotted-font-weight-semibold`, `--slotted-line-height-lg`, `--slotted-line-height-md`, `--slotted-line-height-sm`, `--slotted-line-height-xl`, `--slotted-line-height-xs`, `--slotted-page-ground`, `--slotted-radius-lg`, `--slotted-section-border`, `--slotted-section-description-measure`, `--slotted-section-gap`, `--slotted-section-heading-size-lg`, `--slotted-section-heading-size-md`, `--slotted-section-heading-size-sm`, `--slotted-section-inset`, `--slotted-section-radius`, `--slotted-section-surface`, `--slotted-space-1`, `--slotted-space-3`, `--slotted-space-4`, `--slotted-space-5`, `--slotted-space-6`, `--slotted-surface`, `--slotted-surface-raised`, `--slotted-text`, `--slotted-text-muted`, `--slotted-z-index-sticky`
|
|
77
|
+
|
|
78
|
+
## Examples
|
|
79
|
+
|
|
80
|
+
### Every part, written out
|
|
81
|
+
|
|
82
|
+
The eyebrow with the count, the heading, the description under it, two actions at the end of the row, and the body with the table. The section is a region named by its heading.
|
|
83
|
+
|
|
84
|
+
Excerpt — not a complete module
|
|
85
|
+
|
|
86
|
+
```html
|
|
87
|
+
<section slSection divider id="itens">
|
|
88
|
+
<div slSectionHeader>
|
|
89
|
+
<div slSectionTitle>
|
|
90
|
+
<span slSectionEyebrow>36 itens</span>
|
|
91
|
+
<h2 slSectionHeading>Itens do pedido</h2>
|
|
92
|
+
<p slSectionDescription>Quantidades conforme a cotação aceite.</p>
|
|
93
|
+
</div>
|
|
94
|
+
<div slSectionActions><button slButton size="sm" variant="outline">Exportar</button></div>
|
|
95
|
+
</div>
|
|
96
|
+
<div slSectionBody><div slTable>…</div></div>
|
|
97
|
+
</section>
|
|
98
|
+
```
|
|
99
|
+
|
|
100
|
+
### The rank is the outline’s
|
|
101
|
+
|
|
102
|
+
Three sections nested with div headings: role="heading" at level 2 directly in the page, 3 inside it, 4 inside that — none of them told. level="5" on the last one overrides the outline.
|
|
103
|
+
|
|
104
|
+
Excerpt — not a complete module
|
|
105
|
+
|
|
106
|
+
```html
|
|
107
|
+
<section slSection>
|
|
108
|
+
<div slSectionHeading>Frota</div>
|
|
109
|
+
<div slSectionBody>
|
|
110
|
+
<section slSection><div slSectionHeading>Veículos pesados</div></section>
|
|
111
|
+
</div>
|
|
112
|
+
</section>
|
|
113
|
+
```
|
|
114
|
+
|
|
115
|
+
### The step the heading sits at
|
|
116
|
+
|
|
117
|
+
sm for a group inside a form, md for a section of a page, lg for the one section a screen is about. The step is a size on the type scale and says nothing about the rank.
|
|
118
|
+
|
|
119
|
+
Excerpt — not a complete module
|
|
120
|
+
|
|
121
|
+
```html
|
|
122
|
+
<section slSection level="3" size="lg">…</section>
|
|
123
|
+
```
|
|
124
|
+
|
|
125
|
+
### Space, a rule, or a surface
|
|
126
|
+
|
|
127
|
+
Three sections on the page’s sunken canvas: separated by the stack’s gap alone, by a divider under the header, and by a surface with an edge and a radius — no shadow, no hover, because a section is not a card.
|
|
128
|
+
|
|
129
|
+
Excerpt — not a complete module
|
|
130
|
+
|
|
131
|
+
```html
|
|
132
|
+
<section slSection ground="surface">…</section>
|
|
133
|
+
```
|
|
134
|
+
|
|
135
|
+
### A header that stays
|
|
136
|
+
|
|
137
|
+
Scroll the screen: each section’s header stops under the page chrome and the next one pushes it away. Pin the page header and they all stop lower, because the page publishes where its chrome ends. A sticky section republishes it for its body as page plus header, so layers add up: a section in a section, a table in that.
|
|
138
|
+
|
|
139
|
+
Excerpt — not a complete module
|
|
140
|
+
|
|
141
|
+
```html
|
|
142
|
+
<section slSection sticky>…</section>
|
|
143
|
+
```
|
|
144
|
+
|
|
145
|
+
### A section inside a section
|
|
146
|
+
|
|
147
|
+
The fleet, its heavy vehicles, the tractors: three depths, three ranks, and every rule the family owns reaches its parts with a child combinator, so the outer header styles nothing of the inner one.
|
|
148
|
+
|
|
149
|
+
Excerpt — not a complete module
|
|
150
|
+
|
|
151
|
+
```html
|
|
152
|
+
<section slSection size="lg">
|
|
153
|
+
<div slSectionHeading>Frota</div>
|
|
154
|
+
<div slSectionBody>
|
|
155
|
+
<section slSection>
|
|
156
|
+
<div slSectionHeading>Veículos pesados</div>
|
|
157
|
+
<div slSectionBody>
|
|
158
|
+
<section slSection size="sm"><div slSectionHeading>Cavalos mecânicos</div></section>
|
|
159
|
+
</div>
|
|
160
|
+
</section>
|
|
161
|
+
</div>
|
|
162
|
+
</section>
|
|
163
|
+
```
|
|
164
|
+
|
|
165
|
+
### Content the family did not choose
|
|
166
|
+
|
|
167
|
+
A nine-word heading wraps, a long eyebrow wraps in small capitals, a translated description keeps its measure, and a header with no actions leaves no vacancy at the end of the row.
|
|
168
|
+
|
|
169
|
+
Excerpt — not a complete module
|
|
170
|
+
|
|
171
|
+
```html
|
|
172
|
+
<h2 slSectionHeading>
|
|
173
|
+
Requisitos de homologação, garantia, recapagem e descarte ambientalmente adequado dos pneus
|
|
174
|
+
fornecidos
|
|
175
|
+
</h2>
|
|
176
|
+
```
|
|
177
|
+
|
|
178
|
+
### A section with a table, a collapsible and a description list in it
|
|
179
|
+
|
|
180
|
+
The body holds other families and steps the outline for them: the collapsible’s header sits one rank under the section. Scroll and the sticky header stays over all of it.
|
|
181
|
+
|
|
182
|
+
Excerpt — not a complete module
|
|
183
|
+
|
|
184
|
+
```html
|
|
185
|
+
<div slSectionBody><div slTable stickyHeader stickyTo="page">…</div></div>
|
|
186
|
+
```
|
|
187
|
+
|
|
188
|
+
### Setting it once, and reaching past it
|
|
189
|
+
|
|
190
|
+
provideSectionDefaults carries size, divider, ground and sticky for every section under it; the heading directive sits on the consumer’s own link while the family keeps the rank; a hash link reaches the root by its id.
|
|
191
|
+
|
|
192
|
+
Excerpt — not a complete module
|
|
193
|
+
|
|
194
|
+
```ts
|
|
195
|
+
bootstrapApplication(App, {
|
|
196
|
+
providers: [provideSectionDefaults({ divider: true, size: 'sm' })],
|
|
197
|
+
});
|
|
198
|
+
```
|
|
199
|
+
|
|
200
|
+
### What a reader hears
|
|
201
|
+
|
|
202
|
+
A section with a heading is a region in the landmark list, named by the heading; one without a heading is a plain section, absent from it. Jump to a section by hash and it lands under the page chrome, not behind it.
|
|
203
|
+
|
|
204
|
+
Excerpt — not a complete module
|
|
205
|
+
|
|
206
|
+
```html
|
|
207
|
+
<a slLink href="#historico">Ir ao histórico</a>
|
|
208
|
+
```
|
|
@@ -0,0 +1,429 @@
|
|
|
1
|
+
{
|
|
2
|
+
"family": "segmented-control",
|
|
3
|
+
"ui": "segmented-control",
|
|
4
|
+
"binding": "angular",
|
|
5
|
+
"catalog": {
|
|
6
|
+
"group": "Forms",
|
|
7
|
+
"summary": "Row of exclusive options, one selected."
|
|
8
|
+
},
|
|
9
|
+
"axes": {
|
|
10
|
+
"size": [
|
|
11
|
+
"sm",
|
|
12
|
+
"md",
|
|
13
|
+
"lg"
|
|
14
|
+
],
|
|
15
|
+
"orientation": [
|
|
16
|
+
"horizontal",
|
|
17
|
+
"vertical"
|
|
18
|
+
],
|
|
19
|
+
"condense": [
|
|
20
|
+
"none",
|
|
21
|
+
"icons"
|
|
22
|
+
]
|
|
23
|
+
},
|
|
24
|
+
"members": {
|
|
25
|
+
"segmentedControl": {
|
|
26
|
+
"nativeElement": "div",
|
|
27
|
+
"defaults": {
|
|
28
|
+
"size": "md",
|
|
29
|
+
"orientation": "horizontal",
|
|
30
|
+
"condense": "none",
|
|
31
|
+
"fullWidth": false,
|
|
32
|
+
"disabled": false
|
|
33
|
+
},
|
|
34
|
+
"capabilities": [
|
|
35
|
+
"selection",
|
|
36
|
+
"orientation",
|
|
37
|
+
"size",
|
|
38
|
+
"appearance",
|
|
39
|
+
"content",
|
|
40
|
+
"fullWidth",
|
|
41
|
+
"disabled",
|
|
42
|
+
"invalid",
|
|
43
|
+
"required",
|
|
44
|
+
"readOnly",
|
|
45
|
+
"wiring"
|
|
46
|
+
],
|
|
47
|
+
"states": [
|
|
48
|
+
"default",
|
|
49
|
+
"hover",
|
|
50
|
+
"active",
|
|
51
|
+
"focus-visible",
|
|
52
|
+
"checked",
|
|
53
|
+
"disabled",
|
|
54
|
+
"invalid",
|
|
55
|
+
"readonly"
|
|
56
|
+
],
|
|
57
|
+
"parts": [
|
|
58
|
+
"root",
|
|
59
|
+
"indicator",
|
|
60
|
+
"item",
|
|
61
|
+
"control",
|
|
62
|
+
"icon",
|
|
63
|
+
"label"
|
|
64
|
+
]
|
|
65
|
+
}
|
|
66
|
+
},
|
|
67
|
+
"docs": {
|
|
68
|
+
"segmentedControl": {
|
|
69
|
+
"imports": {
|
|
70
|
+
"source": "import {\n provideSegmentedControlDefaults,\n SlSegment,\n SlSegmentedControl,\n SlSegmentIcon,\n} from '@slotted/angular/segmented-control';",
|
|
71
|
+
"selector": "[slSegmentedControl]",
|
|
72
|
+
"exportAs": "slSegmentedControl"
|
|
73
|
+
},
|
|
74
|
+
"anatomy": [
|
|
75
|
+
{
|
|
76
|
+
"part": "root",
|
|
77
|
+
"element": "the consumer’s own element, with slSegmentedControl on it",
|
|
78
|
+
"required": true,
|
|
79
|
+
"purpose": "The track. It carries role=\"radiogroup\", data-ui=\"segmented-control\", the axes, and the two numbers the thumb is made of — the count of segments and the index of the checked one. It is exactly one control tall, so it lines up beside a field in a form."
|
|
80
|
+
},
|
|
81
|
+
{
|
|
82
|
+
"part": "indicator",
|
|
83
|
+
"element": "span",
|
|
84
|
+
"required": false,
|
|
85
|
+
"purpose": "The thumb. One column wide, moved by its own width times the checked index, so nothing is read from layout. It is absent while nothing is checked, so the first selection fades it in rather than sliding it from an edge the reader never saw."
|
|
86
|
+
},
|
|
87
|
+
{
|
|
88
|
+
"part": "item",
|
|
89
|
+
"element": "label, with slSegment on it",
|
|
90
|
+
"required": true,
|
|
91
|
+
"purpose": "One segment, and the whole hit area of its radio. It carries data-checked and data-disabled, and a rule on its leading edge that gives way around the thumb."
|
|
92
|
+
},
|
|
93
|
+
{
|
|
94
|
+
"part": "control",
|
|
95
|
+
"element": "input type=\"radio\"",
|
|
96
|
+
"required": true,
|
|
97
|
+
"purpose": "The radio the segment renders. Visually hidden and left where it is, covering the segment and reaching the track’s own edge so the target is the control’s height. Sharing one name is what buys the platform’s whole keyboard model."
|
|
98
|
+
},
|
|
99
|
+
{
|
|
100
|
+
"part": "icon",
|
|
101
|
+
"element": "the consumer’s own element, with slSegmentIcon on it",
|
|
102
|
+
"required": false,
|
|
103
|
+
"purpose": "The mark a segment was given, projected into it and hidden from the reading order. It is what stays when the control condenses."
|
|
104
|
+
},
|
|
105
|
+
{
|
|
106
|
+
"part": "label",
|
|
107
|
+
"element": "span",
|
|
108
|
+
"required": true,
|
|
109
|
+
"purpose": "The words the segment projects. Present at every width — under data-condense=\"icons\" they are hidden visually and kept in the DOM, so the accessible name does not change with the width of the container."
|
|
110
|
+
}
|
|
111
|
+
],
|
|
112
|
+
"api": [
|
|
113
|
+
{
|
|
114
|
+
"name": "value",
|
|
115
|
+
"type": "string",
|
|
116
|
+
"defaultValue": "—",
|
|
117
|
+
"appliesTo": "slSegmentedControl",
|
|
118
|
+
"description": "Present means the consumer owns the choice, for the life of the component. Absent, the control owns it and starts from defaultValue"
|
|
119
|
+
},
|
|
120
|
+
{
|
|
121
|
+
"name": "defaultValue",
|
|
122
|
+
"type": "string",
|
|
123
|
+
"defaultValue": "—",
|
|
124
|
+
"appliesTo": "slSegmentedControl",
|
|
125
|
+
"description": "What an uncontrolled control starts from, read once in ngOnInit. A later change to it does not silently become new state"
|
|
126
|
+
},
|
|
127
|
+
{
|
|
128
|
+
"name": "name",
|
|
129
|
+
"type": "string",
|
|
130
|
+
"defaultValue": "—",
|
|
131
|
+
"appliesTo": "slSegmentedControl",
|
|
132
|
+
"description": "The submission name the segments share, and the reason the platform treats them as one radio group. Generated when none is written, from an application-scoped factory so the server and the client agree"
|
|
133
|
+
},
|
|
134
|
+
{
|
|
135
|
+
"name": "size",
|
|
136
|
+
"type": "'sm' | 'md' | 'lg'",
|
|
137
|
+
"defaultValue": "md",
|
|
138
|
+
"appliesTo": "slSegmentedControl",
|
|
139
|
+
"description": "The control step. The track measures its segments back from it, so the whole control is exactly as tall as the field beside it"
|
|
140
|
+
},
|
|
141
|
+
{
|
|
142
|
+
"name": "orientation",
|
|
143
|
+
"type": "'horizontal' | 'vertical'",
|
|
144
|
+
"defaultValue": "horizontal",
|
|
145
|
+
"appliesTo": "slSegmentedControl",
|
|
146
|
+
"description": "How the segments flow and which way the thumb travels. A horizontal set writes aria-orientation, because radiogroup already implies vertical"
|
|
147
|
+
},
|
|
148
|
+
{
|
|
149
|
+
"name": "condense",
|
|
150
|
+
"type": "'none' | 'icons'",
|
|
151
|
+
"defaultValue": "none",
|
|
152
|
+
"appliesTo": "slSegmentedControl",
|
|
153
|
+
"description": "What the control does when it is narrower than its labels need. icons keeps the marks and hides the words, and makes the control take its parent’s width so there is a width to ask a question about"
|
|
154
|
+
},
|
|
155
|
+
{
|
|
156
|
+
"name": "fullWidth",
|
|
157
|
+
"type": "boolean",
|
|
158
|
+
"defaultValue": "false",
|
|
159
|
+
"appliesTo": "slSegmentedControl",
|
|
160
|
+
"description": "Whether the equal columns spread across the whole line. Left alone every column is the widest label’s"
|
|
161
|
+
},
|
|
162
|
+
{
|
|
163
|
+
"name": "disabled",
|
|
164
|
+
"type": "boolean",
|
|
165
|
+
"defaultValue": "false",
|
|
166
|
+
"appliesTo": "slSegmentedControl",
|
|
167
|
+
"description": "Unstated rather than false, so the control defers to the field around it and to a form that disables it. Stated, it reaches every radio as the native attribute"
|
|
168
|
+
},
|
|
169
|
+
{
|
|
170
|
+
"name": "readOnly",
|
|
171
|
+
"type": "boolean",
|
|
172
|
+
"defaultValue": "—",
|
|
173
|
+
"appliesTo": "slSegmentedControl",
|
|
174
|
+
"description": "Enforced by the family, because a radio ignores readonly: the change is refused on the click a pointer and Space share, and the control keeps its colours and its tab stops"
|
|
175
|
+
},
|
|
176
|
+
{
|
|
177
|
+
"name": "invalid",
|
|
178
|
+
"type": "boolean",
|
|
179
|
+
"defaultValue": "—",
|
|
180
|
+
"appliesTo": "slSegmentedControl",
|
|
181
|
+
"description": "Writes aria-invalid and data-invalid, and points the focus ring at the danger step so the outline and its shadow move together"
|
|
182
|
+
},
|
|
183
|
+
{
|
|
184
|
+
"name": "required",
|
|
185
|
+
"type": "boolean",
|
|
186
|
+
"defaultValue": "—",
|
|
187
|
+
"appliesTo": "slSegmentedControl",
|
|
188
|
+
"description": "Writes aria-required on the control, and is what validate() answers for the set: “choose one” is a fact about the group and not about any one segment"
|
|
189
|
+
},
|
|
190
|
+
{
|
|
191
|
+
"name": "value, on slSegment",
|
|
192
|
+
"type": "string",
|
|
193
|
+
"defaultValue": "—",
|
|
194
|
+
"appliesTo": "slSegment",
|
|
195
|
+
"description": "What this segment selects, and what the control’s value holds. It is required: a segment with no value is a choice a reader cannot make"
|
|
196
|
+
},
|
|
197
|
+
{
|
|
198
|
+
"name": "disabled, on slSegment",
|
|
199
|
+
"type": "boolean",
|
|
200
|
+
"defaultValue": "—",
|
|
201
|
+
"appliesTo": "slSegment",
|
|
202
|
+
"description": "One segment out of action while the rest of the control stays live"
|
|
203
|
+
}
|
|
204
|
+
],
|
|
205
|
+
"composition": [
|
|
206
|
+
{
|
|
207
|
+
"name": "slSegment",
|
|
208
|
+
"type": "directive on a label",
|
|
209
|
+
"defaultValue": "—",
|
|
210
|
+
"appliesTo": "the consumer’s element",
|
|
211
|
+
"description": "The segment is a directive, so the label is the consumer’s own: every attribute, every listener and every structural directive around it stay exactly as they were written. The radio inside it is the family’s and is not substitutable"
|
|
212
|
+
},
|
|
213
|
+
{
|
|
214
|
+
"name": "slSegmentIcon",
|
|
215
|
+
"type": "directive on any element",
|
|
216
|
+
"defaultValue": "—",
|
|
217
|
+
"appliesTo": "inside a segment",
|
|
218
|
+
"description": "The mark, projected into the segment and hidden from the reading order. An ng-icon, an inline svg or a span all work and none of them loses its own semantics"
|
|
219
|
+
},
|
|
220
|
+
{
|
|
221
|
+
"name": "exportAs",
|
|
222
|
+
"type": "'slSegmentedControl' | 'slSegment'",
|
|
223
|
+
"defaultValue": "—",
|
|
224
|
+
"appliesTo": "a template reference",
|
|
225
|
+
"description": "Reaches the instance, so a template can read selection(), checkedIndex() or a segment’s checked() without the component owning a second copy of the state"
|
|
226
|
+
},
|
|
227
|
+
{
|
|
228
|
+
"name": "provideSegmentedControlDefaults()",
|
|
229
|
+
"type": "(defaults: Partial<SegmentedControlDefaults>) => Provider",
|
|
230
|
+
"defaultValue": "—",
|
|
231
|
+
"appliesTo": "an injector",
|
|
232
|
+
"description": "The four decisions an application takes once, at the root or on one route. size is outranked by the field around the control"
|
|
233
|
+
},
|
|
234
|
+
{
|
|
235
|
+
"name": "formControl, ngModel",
|
|
236
|
+
"type": "ControlValueAccessor, Validator",
|
|
237
|
+
"defaultValue": "—",
|
|
238
|
+
"appliesTo": "slSegmentedControl",
|
|
239
|
+
"description": "The control belongs in a reactive form and in a template form: it writes the value, reports touched on blur, answers setDisabledState, and validates required over the set"
|
|
240
|
+
}
|
|
241
|
+
],
|
|
242
|
+
"events": [
|
|
243
|
+
{
|
|
244
|
+
"name": "valueChange",
|
|
245
|
+
"payload": "ChangeRequest<string | undefined>",
|
|
246
|
+
"when": "Before the value moves. The request carries the new value, the value it replaces — undefined while nothing has been chosen — the reason, the originating event, and cancel(), which refuses the move before anything commits and puts every element back."
|
|
247
|
+
},
|
|
248
|
+
{
|
|
249
|
+
"name": "click, focus, blur, on each segment",
|
|
250
|
+
"payload": "the element’s own events",
|
|
251
|
+
"when": "Whenever that segment’s label fires them. The segment is a directive on the consumer’s own element, so every listener the consumer bound is on the element itself; blur also marks the form control touched."
|
|
252
|
+
}
|
|
253
|
+
],
|
|
254
|
+
"accessibility": [
|
|
255
|
+
"The pattern is the WAI-ARIA APG’s Radio Group (w3.org/WAI/ARIA/apg/patterns/radio/), and its entire keyboard table is the platform’s: Tab lands on the checked segment or on the first when none is checked, Space checks the focused one, both pairs of arrows move focus and the choice together, the set wraps, and disabled segments are skipped — including the arrow directions of a right-to-left document.",
|
|
256
|
+
"A segment is a real input type=\"radio\" and not a button. Primer builds the row of buttons and pays one tab stop per segment where the pattern gives one for the set; Angular Material writes radiogroup around children carrying aria-pressed, which is a group whose role and children disagree. The family whose items are buttons is toggle-group, and the difference a reader feels is the arrows.",
|
|
257
|
+
"The role is withdrawn inside a field group, whose fieldset and legend already name the set, and a role the consumer wrote on the host survives both — it is read with HostAttributeToken before the host bindings write.",
|
|
258
|
+
"The ring is drawn on the segment and put out on the radio that holds the focus, so the family never paints two rings in two colours. It sits on the segment’s own edge, because the segments are flush inside the track and an offset ring would be drawn across the neighbour beside it.",
|
|
259
|
+
"Read-only has no platform answer for a radio, so it is enforced: the change is refused on the click a pointer and Space share, aria-readonly announces it, and the control keeps its tab stops and its full contrast. A refused change also puts the neighbour back, because the platform restores only the element that was clicked.",
|
|
260
|
+
"The thumb is shorter than the control it lives in, so the radio reaches the track’s own edge and the target is the control’s height rather than the thumb’s. With the segment never narrower than 24 CSS pixels, WCAG 2.2 SC 2.5.8 holds at the smallest step and the tightest density."
|
|
261
|
+
]
|
|
262
|
+
}
|
|
263
|
+
},
|
|
264
|
+
"tokens": [
|
|
265
|
+
"--slotted-border-subtle",
|
|
266
|
+
"--slotted-control-border-color",
|
|
267
|
+
"--slotted-control-border-width",
|
|
268
|
+
"--slotted-control-font-family",
|
|
269
|
+
"--slotted-control-font-size-lg",
|
|
270
|
+
"--slotted-control-font-size-md",
|
|
271
|
+
"--slotted-control-font-size-sm",
|
|
272
|
+
"--slotted-control-font-weight",
|
|
273
|
+
"--slotted-control-gap-lg",
|
|
274
|
+
"--slotted-control-gap-md",
|
|
275
|
+
"--slotted-control-gap-sm",
|
|
276
|
+
"--slotted-control-height-lg",
|
|
277
|
+
"--slotted-control-height-md",
|
|
278
|
+
"--slotted-control-height-sm",
|
|
279
|
+
"--slotted-control-icon-size-lg",
|
|
280
|
+
"--slotted-control-icon-size-md",
|
|
281
|
+
"--slotted-control-icon-size-sm",
|
|
282
|
+
"--slotted-control-invalid-edge-width",
|
|
283
|
+
"--slotted-control-letter-spacing",
|
|
284
|
+
"--slotted-control-line-height",
|
|
285
|
+
"--slotted-control-padding-inline-lg",
|
|
286
|
+
"--slotted-control-padding-inline-md",
|
|
287
|
+
"--slotted-control-padding-inline-sm",
|
|
288
|
+
"--slotted-control-radius",
|
|
289
|
+
"--slotted-control-shadow",
|
|
290
|
+
"--slotted-control-surface",
|
|
291
|
+
"--slotted-control-transition-duration",
|
|
292
|
+
"--slotted-control-transition-easing",
|
|
293
|
+
"--slotted-disabled-background",
|
|
294
|
+
"--slotted-disabled-border",
|
|
295
|
+
"--slotted-disabled-foreground",
|
|
296
|
+
"--slotted-duration-instant",
|
|
297
|
+
"--slotted-duration-medium",
|
|
298
|
+
"--slotted-easing-standard",
|
|
299
|
+
"--slotted-focus-ring-color",
|
|
300
|
+
"--slotted-focus-ring-color-invalid",
|
|
301
|
+
"--slotted-focus-ring-width",
|
|
302
|
+
"--slotted-radius-xs",
|
|
303
|
+
"--slotted-segmented-control-active-background",
|
|
304
|
+
"--slotted-segmented-control-background",
|
|
305
|
+
"--slotted-segmented-control-border-color",
|
|
306
|
+
"--slotted-segmented-control-checked-color",
|
|
307
|
+
"--slotted-segmented-control-color",
|
|
308
|
+
"--slotted-segmented-control-disabled-border-color",
|
|
309
|
+
"--slotted-segmented-control-disabled-color",
|
|
310
|
+
"--slotted-segmented-control-disabled-indicator-background",
|
|
311
|
+
"--slotted-segmented-control-divider-color",
|
|
312
|
+
"--slotted-segmented-control-hover-background",
|
|
313
|
+
"--slotted-segmented-control-indicator-background",
|
|
314
|
+
"--slotted-segmented-control-indicator-border-color",
|
|
315
|
+
"--slotted-segmented-control-inset",
|
|
316
|
+
"--slotted-segmented-control-invalid-border-color",
|
|
317
|
+
"--slotted-segmented-control-invalid-edge-width",
|
|
318
|
+
"--slotted-segmented-control-invalid-focus-ring-color",
|
|
319
|
+
"--slotted-segmented-control-radius",
|
|
320
|
+
"--slotted-segmented-control-shadow",
|
|
321
|
+
"--slotted-space-1",
|
|
322
|
+
"--slotted-target-min",
|
|
323
|
+
"--slotted-text",
|
|
324
|
+
"--slotted-tone-accent-border",
|
|
325
|
+
"--slotted-tone-accent-subtle-active",
|
|
326
|
+
"--slotted-tone-accent-text",
|
|
327
|
+
"--slotted-tone-danger-border",
|
|
328
|
+
"--slotted-tone-secondary-subtle-active",
|
|
329
|
+
"--slotted-tone-secondary-subtle-hover"
|
|
330
|
+
],
|
|
331
|
+
"examples": [
|
|
332
|
+
{
|
|
333
|
+
"id": "playground",
|
|
334
|
+
"title": "Playground",
|
|
335
|
+
"note": "One control with every axis on it, driven by the controls below the canvas. Tab into it once, then use the arrows: they move focus and the choice together, because the segments are radios.",
|
|
336
|
+
"language": "html",
|
|
337
|
+
"source": "<div slSegmentedControl aria-label=\"Período do gráfico\" defaultValue=\"week\">\n <label slSegment value=\"day\">Dia</label>\n <label slSegment value=\"week\">Semana</label>\n <label slSegment value=\"month\">Mês</label>\n</div>\n",
|
|
338
|
+
"verdict": "excerpt"
|
|
339
|
+
},
|
|
340
|
+
{
|
|
341
|
+
"id": "sizes",
|
|
342
|
+
"title": "The three control steps",
|
|
343
|
+
"note": "Each step reads the control scale and the track measures its segments back from it, so the whole control is as tall as the text field and the button beside it at every size.",
|
|
344
|
+
"language": "html",
|
|
345
|
+
"source": "<div slSegmentedControl aria-label=\"Visualização\" size=\"sm\" defaultValue=\"grid\">\n <label slSegment value=\"grid\">Grade</label>\n <label slSegment value=\"list\">Lista</label>\n</div>\n",
|
|
346
|
+
"verdict": "excerpt"
|
|
347
|
+
},
|
|
348
|
+
{
|
|
349
|
+
"id": "orientation",
|
|
350
|
+
"title": "Along the line, or down the page",
|
|
351
|
+
"note": "The thumb travels on whichever axis the segments do, and the platform moves the choice with both pairs of arrows because the set is radios sharing one name.",
|
|
352
|
+
"language": "html",
|
|
353
|
+
"source": "<div slSegmentedControl aria-label=\"Pagamento\" orientation=\"vertical\" defaultValue=\"invoice\">\n <label slSegment value=\"card\">Cartão</label>\n <label slSegment value=\"invoice\">Boleto</label>\n</div>\n",
|
|
354
|
+
"verdict": "excerpt"
|
|
355
|
+
},
|
|
356
|
+
{
|
|
357
|
+
"id": "states",
|
|
358
|
+
"title": "Every state the contract declares",
|
|
359
|
+
"note": "Hover, focus, one segment unavailable, the whole control unavailable, read-only and invalid. Read-only keeps its colours and refuses the change; only disabled loses them.",
|
|
360
|
+
"language": "html",
|
|
361
|
+
"source": "<div slSegmentedControl aria-label=\"Plano\" defaultValue=\"starter\">\n <label slSegment value=\"starter\">Inicial</label>\n <label slSegment value=\"enterprise\" disabled>Corporativo</label>\n</div>\n",
|
|
362
|
+
"verdict": "excerpt"
|
|
363
|
+
},
|
|
364
|
+
{
|
|
365
|
+
"id": "iconOnly",
|
|
366
|
+
"title": "Marks without words",
|
|
367
|
+
"note": "A segment with only a mark draws square and takes its accessible name from an aria-label, which the family reads from the host and writes onto the radio that holds the focus.",
|
|
368
|
+
"language": "html",
|
|
369
|
+
"source": "<div slSegmentedControl aria-label=\"Alinhamento\" defaultValue=\"center\">\n <label slSegment value=\"start\" aria-label=\"Início\">\n <ng-icon slSegmentIcon name=\"lucideAlignLeft\" />\n </label>\n</div>\n",
|
|
370
|
+
"verdict": "excerpt"
|
|
371
|
+
},
|
|
372
|
+
{
|
|
373
|
+
"id": "condense",
|
|
374
|
+
"title": "Narrower than its words",
|
|
375
|
+
"note": "Below the width its labels need, a control told to condense keeps its marks and hides its words — hidden, never removed, so every segment is announced the same at every width.",
|
|
376
|
+
"language": "html",
|
|
377
|
+
"source": "<div slSegmentedControl aria-label=\"Relatório\" condense=\"icons\" defaultValue=\"table\">\n <label slSegment value=\"table\">\n <ng-icon slSegmentIcon name=\"lucideTable\" />\n Tabela\n </label>\n</div>\n",
|
|
378
|
+
"verdict": "excerpt"
|
|
379
|
+
},
|
|
380
|
+
{
|
|
381
|
+
"id": "width",
|
|
382
|
+
"title": "Content width, or the whole line",
|
|
383
|
+
"note": "Left alone every column is the widest label’s, which is the rule Carbon states; fullWidth spreads the same equal columns across the line it is given.",
|
|
384
|
+
"language": "html",
|
|
385
|
+
"source": "<div slSegmentedControl aria-label=\"Entrega\" fullWidth defaultValue=\"afternoon\">\n <label slSegment value=\"morning\">Manhã</label>\n <label slSegment value=\"afternoon\">Tarde</label>\n</div>\n",
|
|
386
|
+
"verdict": "excerpt"
|
|
387
|
+
},
|
|
388
|
+
{
|
|
389
|
+
"id": "field",
|
|
390
|
+
"title": "Inside a field",
|
|
391
|
+
"note": "The control takes its step, its unavailable state and its description from the field around it, and gives the field back a control to name — the label points at the set, not at one segment.",
|
|
392
|
+
"language": "html",
|
|
393
|
+
"source": "<div slField>\n <label slFieldLabel>Moeda da fatura</label>\n <div slSegmentedControl name=\"currency\" defaultValue=\"brl\">\n <label slSegment value=\"brl\">BRL</label>\n <label slSegment value=\"usd\">USD</label>\n </div>\n <p slFieldDescription>A conversão usa a cotação do dia da emissão.</p>\n</div>\n",
|
|
394
|
+
"verdict": "excerpt"
|
|
395
|
+
},
|
|
396
|
+
{
|
|
397
|
+
"id": "form",
|
|
398
|
+
"title": "In a reactive form, and validated",
|
|
399
|
+
"note": "The control is a ControlValueAccessor and a Validator: the form holds the value, and “choose one” is answered by the set rather than by any single segment that cannot see it.",
|
|
400
|
+
"language": "html",
|
|
401
|
+
"source": "<div slSegmentedControl aria-label=\"Moeda\" required [formControl]=\"currency\">\n <label slSegment value=\"brl\">BRL</label>\n <label slSegment value=\"usd\">USD</label>\n</div>\n",
|
|
402
|
+
"verdict": "excerpt"
|
|
403
|
+
},
|
|
404
|
+
{
|
|
405
|
+
"id": "content",
|
|
406
|
+
"title": "Content the family did not choose",
|
|
407
|
+
"note": "A label longer than its column, a five-segment set in a narrow frame, and a right-to-left string inside a left-to-right page. Each clips at the ellipsis and keeps its whole text.",
|
|
408
|
+
"language": "html",
|
|
409
|
+
"source": "<div slSegmentedControl aria-label=\"Frequência\" fullWidth defaultValue=\"now\">\n <label slSegment value=\"now\">Imediatamente</label>\n <label slSegment value=\"digest\">Uma vez por dia, no resumo da noite</label>\n</div>\n",
|
|
410
|
+
"verdict": "excerpt"
|
|
411
|
+
},
|
|
412
|
+
{
|
|
413
|
+
"id": "composition",
|
|
414
|
+
"title": "The directive on the consumer’s own element, and the defaults once",
|
|
415
|
+
"note": "Every part is a directive, so the element is always the consumer’s; provideSegmentedControlDefaults states the axes once for a whole application or one route.",
|
|
416
|
+
"language": "ts",
|
|
417
|
+
"source": "providers: [provideSegmentedControlDefaults({ size: 'sm', fullWidth: true })];\n",
|
|
418
|
+
"verdict": "excerpt"
|
|
419
|
+
},
|
|
420
|
+
{
|
|
421
|
+
"id": "keyboard",
|
|
422
|
+
"title": "The keyboard, key by key",
|
|
423
|
+
"note": "Tab lands on the checked segment; both pairs of arrows move focus and the choice together and wrap at the ends; Space checks the focused one. Every row of it is the platform’s.",
|
|
424
|
+
"language": "html",
|
|
425
|
+
"source": "<div slSegmentedControl aria-label=\"Envio\">\n <label slSegment value=\"standard\">Padrão</label>\n <label slSegment value=\"express\">Expresso</label>\n</div>\n",
|
|
426
|
+
"verdict": "excerpt"
|
|
427
|
+
}
|
|
428
|
+
]
|
|
429
|
+
}
|