@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/calendar.md
ADDED
|
@@ -0,0 +1,242 @@
|
|
|
1
|
+
<!-- index: ./index.md -->
|
|
2
|
+
# calendar
|
|
3
|
+
|
|
4
|
+
`data-ui="calendar"` · Month grid for choosing a date or a range.
|
|
5
|
+
|
|
6
|
+
## Import
|
|
7
|
+
|
|
8
|
+
```ts
|
|
9
|
+
import { SlCalendar } from '@slotted/angular/calendar';
|
|
10
|
+
```
|
|
11
|
+
|
|
12
|
+
Selector: `[slCalendar]` · exportAs: `slCalendar`
|
|
13
|
+
|
|
14
|
+
## Minimal example
|
|
15
|
+
|
|
16
|
+
Excerpt — not a complete module
|
|
17
|
+
|
|
18
|
+
```html
|
|
19
|
+
<div slCalendar locale="pt-BR" (valueChange)="onValue($event)"></div>
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
## Anatomy
|
|
23
|
+
|
|
24
|
+
| Part | Element | Required |
|
|
25
|
+
| --- | --- | --- |
|
|
26
|
+
| `root` | the consumer’s own element | yes |
|
|
27
|
+
| `header` | div | yes |
|
|
28
|
+
| `previous` | button | yes |
|
|
29
|
+
| `next` | button | yes |
|
|
30
|
+
| `heading` | button | yes |
|
|
31
|
+
| `grids` | div | yes |
|
|
32
|
+
| `grid` | table | yes |
|
|
33
|
+
| `grid-caption` | caption | yes |
|
|
34
|
+
| `week-headers` | tr | yes |
|
|
35
|
+
| `week-header` | th | yes |
|
|
36
|
+
| `week` | tr | yes |
|
|
37
|
+
| `week-number` | th | no |
|
|
38
|
+
| `cell` | td | yes |
|
|
39
|
+
| `day` | span | yes |
|
|
40
|
+
| `months` | div | no |
|
|
41
|
+
| `years` | div | no |
|
|
42
|
+
| `period` | button | no |
|
|
43
|
+
|
|
44
|
+
## Props
|
|
45
|
+
|
|
46
|
+
| Name | Type | Default | Applies to | Description |
|
|
47
|
+
| --- | --- | --- | --- | --- |
|
|
48
|
+
| `value` | `PlainDate \| DateRange \| PlainDate[] \| null` | — | SlCalendar | What the calendar holds, which depends on selectionMode. Present means the consumer owns it. |
|
|
49
|
+
| `defaultValue` | `PlainDate \| DateRange \| PlainDate[] \| null` | — | SlCalendar | What it starts from when nobody else writes one. Read once; a later change to it is not new state. |
|
|
50
|
+
| `focusedDate` | `PlainDate` | — | SlCalendar | The date the reader is on, which is not the date they have chosen. Present means the consumer owns it, which is what a product that pages a calendar from outside needs. |
|
|
51
|
+
| `defaultFocusedDate` | `PlainDate` | today | SlCalendar | Where the reader starts. Unset, it is the value if there is one and today if there is not. |
|
|
52
|
+
| `selectionMode` | `'single' \| 'range' \| 'multiple'` | single | SlCalendar | How many dates the reader may choose, and what the value then is. |
|
|
53
|
+
| `months` | `number` | 1 | SlCalendar | How many months are drawn side by side. They wrap when they do not fit; nothing is withdrawn. |
|
|
54
|
+
| `view` | `'day' \| 'month' \| 'year'` | day | SlCalendar | Which grid is showing. Present means the consumer owns it; defaultView sets the starting one. |
|
|
55
|
+
| `defaultView` | `'day' \| 'month' \| 'year'` | day | SlCalendar | The view it opens on. |
|
|
56
|
+
| `min` | `PlainDate` | — | SlCalendar | The earliest date the reader may reach. An arrow that would leave the range stops at the edge. |
|
|
57
|
+
| `max` | `PlainDate` | — | SlCalendar | The latest date the reader may reach. |
|
|
58
|
+
| `isDateUnavailable` | `(date: PlainDate) => boolean` | — | SlCalendar | Refuses particular dates. A refused date stays focusable and cannot be chosen. |
|
|
59
|
+
| `weekNumbers` | `boolean` | false | SlCalendar | Draws the ISO 8601 week number as a row header. |
|
|
60
|
+
| `fixedWeeks` | `boolean` | false | SlCalendar | Always six rows, so paging does not change the surface’s height. Worth setting inside a popover. |
|
|
61
|
+
| `outsideDays` | `'shown' \| 'selectable' \| 'hidden'` | shown | SlCalendar | What a day of the month either side does: drawn and not pressable, drawn and pressable, or not drawn. |
|
|
62
|
+
| `locale` | `string` | the language in force | SlCalendar | BCP 47. Decides the month names, the weekday names and the day a week starts on. |
|
|
63
|
+
| `timeZone` | `string` | the runtime’s | SlCalendar | Which zone answers "what is today". |
|
|
64
|
+
| `firstDayOfWeek` | `number` | the locale’s | SlCalendar | 0 is Sunday. Overrides what the locale says, for a product that fixes one. |
|
|
65
|
+
| `calendar` | `'gregory'` | gregory | SlCalendar | The calendar system. One value today, and an axis rather than a silence. |
|
|
66
|
+
| `disabled` | `boolean` | — | SlCalendar | Answers no key and no press, and takes every cell out of the tab sequence. |
|
|
67
|
+
| `readOnly` | `boolean` | — | SlCalendar | Readable and not changeable, and never faded. |
|
|
68
|
+
| `invalid` | `boolean` | — | SlCalendar | Retargets the focus ring to the danger colour. |
|
|
69
|
+
| `messages` | `Partial<CalendarMessages>` | — | SlCalendar | Words laid over the language in force, key by key: the back (previous) and forward (next) triggers’ accessible names. |
|
|
70
|
+
| `provideCalendarDefaults` | `Provider` | — | application | Sets timeZone, firstDayOfWeek, months, weekNumbers, fixedWeeks, outsideDays and calendar once for everything under the injector; an input on the calendar still wins. |
|
|
71
|
+
| `exportAs` | `slCalendar` | — | SlCalendar | Hands a template the instance, so focus(), focusDate(), currentView() and the derived selection() signal are reachable without a component of its own. |
|
|
72
|
+
| `focusDate` | `(date: PlainDate) => void` | — | SlCalendar | Moves the reader to a date, paging the grid to reach it — the one action no input can express. |
|
|
73
|
+
| `currentView` | `Signal<CalendarView>` | — | SlCalendar | Which grid is showing, as a signal, so a template reads it without an event handler and without a second copy of it. |
|
|
74
|
+
|
|
75
|
+
## Events
|
|
76
|
+
|
|
77
|
+
| Name | Payload | When |
|
|
78
|
+
| --- | --- | --- |
|
|
79
|
+
| `valueChange` | `ChangeRequest<CalendarValue>` | Before the value moves, and cancellable. The request carries the new value, the value it replaces, the reason — pointer or keyboard — and the originating event. There is no two-way [(value)]: one slot could carry none of that. |
|
|
80
|
+
| `focusedDateChange` | `ChangeRequest<PlainDate>` | Before the date the reader is on moves, and cancellable. It fires for every arrow and every page, which is what lets a consumer load a month before it is shown. |
|
|
81
|
+
| `viewChange` | `CalendarView` | When the heading walks up a view or Escape walks down one. |
|
|
82
|
+
|
|
83
|
+
## Axes and defaults
|
|
84
|
+
|
|
85
|
+
| Axis | Values | Default |
|
|
86
|
+
| --- | --- | --- |
|
|
87
|
+
| `months` | `1`, `2`, `3` | `1` |
|
|
88
|
+
| `selectionMode` | `single`, `range`, `multiple` | `single` |
|
|
89
|
+
| `view` | `day`, `month`, `year` | `day` |
|
|
90
|
+
| `calendar` | `gregory` | `gregory` |
|
|
91
|
+
| `weekNumbers` | `off`, `on` | `false` |
|
|
92
|
+
| `fixedWeeks` | `off`, `on` | `false` |
|
|
93
|
+
| `outsideDays` | `shown`, `selectable`, `hidden` | `shown` |
|
|
94
|
+
|
|
95
|
+
## Rules
|
|
96
|
+
|
|
97
|
+
- The grid role is on a real table, so the row, column-header and cell roles are implied by tr, th and td and are deliberately not written — the APG’s own note, and the duplication a pattern check exists to refuse.
|
|
98
|
+
- Exactly one cell is in the tab sequence, and the arrows move it. Focus is only put back into the DOM after a key moved it, never on a render, so a calendar on a page does not steal the reader’s place.
|
|
99
|
+
- The heading is a polite live region, because paging with a key changes nothing that focus lands on and nothing else would announce the new month.
|
|
100
|
+
- A column header shows the locale’s narrow weekday and carries the full name in abbr, which is the difference between a screen reader saying "Mo" and saying "Monday".
|
|
101
|
+
- A date the predicate refuses carries aria-disabled rather than being removed, so a reader can arrow onto it and be told why it is out; and it is struck through as well as dimmed, because colour alone says nothing under forced colours.
|
|
102
|
+
- Today is a dot under the number and focus is a ring around it. They were the same ring once, and a reader arrowing onto today saw one box and could not tell which of the two facts it was.
|
|
103
|
+
|
|
104
|
+
## Tokens
|
|
105
|
+
|
|
106
|
+
`--slotted-border-subtle`, `--slotted-border-width-thin`, `--slotted-calendar-active-background`, `--slotted-calendar-background`, `--slotted-calendar-cell-size`, `--slotted-calendar-color`, `--slotted-calendar-day-radius`, `--slotted-calendar-disabled-color`, `--slotted-calendar-hover-background`, `--slotted-calendar-in-range-color`, `--slotted-calendar-invalid-edge-width`, `--slotted-calendar-invalid-focus-ring-color`, `--slotted-calendar-outside-color`, `--slotted-calendar-preview-background`, `--slotted-calendar-preview-border-color`, `--slotted-calendar-radius`, `--slotted-calendar-range-active-background`, `--slotted-calendar-range-background`, `--slotted-calendar-range-border-color`, `--slotted-calendar-range-hover-background`, `--slotted-calendar-selected-background`, `--slotted-calendar-selected-color`, `--slotted-calendar-today-color`, `--slotted-calendar-trigger-color`, `--slotted-calendar-unavailable-color`, `--slotted-calendar-week-number-border-color`, `--slotted-calendar-week-number-color`, `--slotted-calendar-weekday-color`, `--slotted-control-font-family`, `--slotted-control-font-size-md`, `--slotted-control-gap-md`, `--slotted-control-height-md`, `--slotted-control-icon-size-md`, `--slotted-control-invalid-edge-width`, `--slotted-control-radius`, `--slotted-control-transition-duration`, `--slotted-control-transition-easing`, `--slotted-disabled-background`, `--slotted-disabled-foreground`, `--slotted-focus-ring-color`, `--slotted-focus-ring-color-invalid`, `--slotted-focus-ring-offset`, `--slotted-focus-ring-width`, `--slotted-font-size-xs`, `--slotted-font-weight-medium`, `--slotted-font-weight-regular`, `--slotted-font-weight-semibold`, `--slotted-highlight-tint-opacity`, `--slotted-radius-full`, `--slotted-radius-sm`, `--slotted-space-1`, `--slotted-space-2`, `--slotted-space-4`, `--slotted-space-6`, `--slotted-target-min`, `--slotted-text`, `--slotted-text-muted`, `--slotted-tone-accent-border`, `--slotted-tone-accent-on-solid`, `--slotted-tone-accent-solid`, `--slotted-tone-accent-subtle-active`, `--slotted-tone-accent-subtle-hover`, `--slotted-tone-accent-text`, `--slotted-tone-secondary-subtle-active`, `--slotted-tone-secondary-subtle-hover`
|
|
107
|
+
|
|
108
|
+
## Examples
|
|
109
|
+
|
|
110
|
+
### One date
|
|
111
|
+
|
|
112
|
+
The default mode. Pressing the chosen date again takes it back, which is the only way to empty the value without a control of its own.
|
|
113
|
+
|
|
114
|
+
Excerpt — not a complete module
|
|
115
|
+
|
|
116
|
+
```html
|
|
117
|
+
<div slCalendar selectionMode="single" [value]="value" (valueChange)="onValue($event)"></div>
|
|
118
|
+
```
|
|
119
|
+
|
|
120
|
+
### A run of days
|
|
121
|
+
|
|
122
|
+
Two presses make a range, and either end may come first: choosing the 11th and then the 7th means the 7th to the 11th. A third press starts again, because a range that only grew could never be narrowed.
|
|
123
|
+
|
|
124
|
+
Excerpt — not a complete module
|
|
125
|
+
|
|
126
|
+
```html
|
|
127
|
+
<div slCalendar selectionMode="range" [value]="run"></div>
|
|
128
|
+
<div slCalendar selectionMode="multiple" [value]="dates"></div>
|
|
129
|
+
```
|
|
130
|
+
|
|
131
|
+
### Day, month and year
|
|
132
|
+
|
|
133
|
+
Press the heading to walk up and Escape to walk down. A reader entering a birth date must not press "previous month" four hundred times, which is what these two views exist to prevent.
|
|
134
|
+
|
|
135
|
+
Excerpt — not a complete module
|
|
136
|
+
|
|
137
|
+
```html
|
|
138
|
+
<div slCalendar defaultView="year" (viewChange)="onView($event)"></div>
|
|
139
|
+
```
|
|
140
|
+
|
|
141
|
+
### More than one month
|
|
142
|
+
|
|
143
|
+
Two or three months side by side, each with its own caption because the heading then names the span. Narrow the stage: a month that no longer fits wraps under the first rather than being withdrawn.
|
|
144
|
+
|
|
145
|
+
Excerpt — not a complete module
|
|
146
|
+
|
|
147
|
+
```html
|
|
148
|
+
<div slCalendar selectionMode="range" [months]="2"></div>
|
|
149
|
+
```
|
|
150
|
+
|
|
151
|
+
### The locale writes the month
|
|
152
|
+
|
|
153
|
+
The month name, the weekday names and the day a week starts on all come from Intl. A German week starts on Monday and a Brazilian one on Sunday, from the same component and no table.
|
|
154
|
+
|
|
155
|
+
Excerpt — not a complete module
|
|
156
|
+
|
|
157
|
+
```html
|
|
158
|
+
<div slCalendar locale="pt-BR"></div>
|
|
159
|
+
<div slCalendar locale="de-DE"></div>
|
|
160
|
+
<div slCalendar locale="ja-JP"></div>
|
|
161
|
+
<div slCalendar locale="pt-BR" [firstDayOfWeek]="1"></div>
|
|
162
|
+
```
|
|
163
|
+
|
|
164
|
+
### Bounds
|
|
165
|
+
|
|
166
|
+
min and max fence what the reader may reach: an arrow that would leave the range stops at the edge, and a date outside it cannot be pressed at all.
|
|
167
|
+
|
|
168
|
+
Excerpt — not a complete module
|
|
169
|
+
|
|
170
|
+
```html
|
|
171
|
+
<div slCalendar [min]="first" [max]="last"></div>
|
|
172
|
+
```
|
|
173
|
+
|
|
174
|
+
### Days that are refused
|
|
175
|
+
|
|
176
|
+
A refused date stays focusable — aria-disabled, never disabled — so a reader can arrow onto it, be told why it is out, and arrow past. Struck through rather than only faded, because colour alone says nothing under forced colours.
|
|
177
|
+
|
|
178
|
+
Excerpt — not a complete module
|
|
179
|
+
|
|
180
|
+
```html
|
|
181
|
+
<div slCalendar [isDateUnavailable]="isWeekend"></div>
|
|
182
|
+
```
|
|
183
|
+
|
|
184
|
+
### Week numbers
|
|
185
|
+
|
|
186
|
+
ISO 8601 numbering, as a row header separated by a rule. The rule is what keeps the column from reading as an eighth day of the week.
|
|
187
|
+
|
|
188
|
+
Excerpt — not a complete module
|
|
189
|
+
|
|
190
|
+
```html
|
|
191
|
+
<div slCalendar weekNumbers fixedWeeks [firstDayOfWeek]="1"></div>
|
|
192
|
+
```
|
|
193
|
+
|
|
194
|
+
### States
|
|
195
|
+
|
|
196
|
+
Read-only keeps the value legible and answers nothing; disabled takes every cell out of the tab sequence and paints today in the disabled ink; invalid retargets the focus ring rather than removing it.
|
|
197
|
+
|
|
198
|
+
Excerpt — not a complete module
|
|
199
|
+
|
|
200
|
+
```html
|
|
201
|
+
<div slCalendar readOnly></div>
|
|
202
|
+
<div slCalendar invalid></div>
|
|
203
|
+
<div slCalendar disabled></div>
|
|
204
|
+
```
|
|
205
|
+
|
|
206
|
+
### Density and width
|
|
207
|
+
|
|
208
|
+
Seven columns of two-digit numbers make this the densest grid the library draws. Switch the toolbar to dense and narrow the stage: the cell is the room there is divided by the columns there are, bounded by the WCAG minimum below.
|
|
209
|
+
|
|
210
|
+
Excerpt — not a complete module
|
|
211
|
+
|
|
212
|
+
```html
|
|
213
|
+
<div slCalendar fixedWeeks></div>
|
|
214
|
+
```
|
|
215
|
+
|
|
216
|
+
### Composition and escape hatches
|
|
217
|
+
|
|
218
|
+
A provider sets the shape once, provideSlotted the language; focusedDate is a value of its own a consumer may own; and the ref hands back focus() and focusDate(), which page the grid to reach a date.
|
|
219
|
+
|
|
220
|
+
Excerpt — not a complete module
|
|
221
|
+
|
|
222
|
+
```html
|
|
223
|
+
<div slCalendar #cal="slCalendar" locale="pt-BR" (focusedDateChange)="onFocused($event)"></div>
|
|
224
|
+
<button type="button" (click)="cal.focusDate(christmas)">Ir para o Natal</button>
|
|
225
|
+
```
|
|
226
|
+
|
|
227
|
+
### The keyboard
|
|
228
|
+
|
|
229
|
+
Every key the APG grid pattern lists, including the two a month grid needs that a list does not: PageUp and PageDown move a month, and Shift with either moves a year.
|
|
230
|
+
|
|
231
|
+
Excerpt — not a complete module
|
|
232
|
+
|
|
233
|
+
```html
|
|
234
|
+
<!-- ArrowLeft / ArrowRight a day, mirrored under dir="rtl" -->
|
|
235
|
+
<!-- ArrowUp / ArrowDown the same weekday, a week either way -->
|
|
236
|
+
<!-- Home / End the first and last day of the displayed week -->
|
|
237
|
+
<!-- PageUp / PageDown a month, clamped to the last day it has -->
|
|
238
|
+
<!-- Shift + PageUp / Down a year, on the same terms -->
|
|
239
|
+
<!-- Enter / Space chooses the date focus is on -->
|
|
240
|
+
<!-- Escape walks down a view, and out of nothing -->
|
|
241
|
+
<div slCalendar></div>
|
|
242
|
+
```
|
package/docs/card.json
ADDED
|
@@ -0,0 +1,283 @@
|
|
|
1
|
+
{
|
|
2
|
+
"family": "card",
|
|
3
|
+
"ui": "card",
|
|
4
|
+
"binding": "angular",
|
|
5
|
+
"catalog": {
|
|
6
|
+
"group": "Layout",
|
|
7
|
+
"summary": "Bordered surface that groups related content."
|
|
8
|
+
},
|
|
9
|
+
"axes": {
|
|
10
|
+
"orientation": [
|
|
11
|
+
"vertical",
|
|
12
|
+
"horizontal"
|
|
13
|
+
],
|
|
14
|
+
"fill": [
|
|
15
|
+
"outline",
|
|
16
|
+
"elevated",
|
|
17
|
+
"subtle"
|
|
18
|
+
],
|
|
19
|
+
"size": [
|
|
20
|
+
"sm",
|
|
21
|
+
"md",
|
|
22
|
+
"lg"
|
|
23
|
+
]
|
|
24
|
+
},
|
|
25
|
+
"members": {
|
|
26
|
+
"card": {
|
|
27
|
+
"nativeElement": "div",
|
|
28
|
+
"defaults": {
|
|
29
|
+
"orientation": "vertical",
|
|
30
|
+
"fill": "outline",
|
|
31
|
+
"size": "md",
|
|
32
|
+
"selected": false,
|
|
33
|
+
"disabled": false
|
|
34
|
+
},
|
|
35
|
+
"capabilities": [
|
|
36
|
+
"orientation",
|
|
37
|
+
"size"
|
|
38
|
+
],
|
|
39
|
+
"states": [
|
|
40
|
+
"default",
|
|
41
|
+
"hover",
|
|
42
|
+
"active",
|
|
43
|
+
"focus-visible",
|
|
44
|
+
"selected",
|
|
45
|
+
"disabled"
|
|
46
|
+
],
|
|
47
|
+
"parts": [
|
|
48
|
+
"root",
|
|
49
|
+
"media",
|
|
50
|
+
"header",
|
|
51
|
+
"actions",
|
|
52
|
+
"body",
|
|
53
|
+
"footer",
|
|
54
|
+
"link",
|
|
55
|
+
"selection"
|
|
56
|
+
]
|
|
57
|
+
}
|
|
58
|
+
},
|
|
59
|
+
"docs": {
|
|
60
|
+
"card": {
|
|
61
|
+
"imports": null,
|
|
62
|
+
"anatomy": [],
|
|
63
|
+
"api": [
|
|
64
|
+
{
|
|
65
|
+
"name": "orientation",
|
|
66
|
+
"type": "'vertical' | 'horizontal'",
|
|
67
|
+
"defaultValue": "vertical",
|
|
68
|
+
"appliesTo": "slCard",
|
|
69
|
+
"description": "Puts the media beside the regions, and returns it to the top in a narrow container"
|
|
70
|
+
},
|
|
71
|
+
{
|
|
72
|
+
"name": "fill",
|
|
73
|
+
"type": "'outline' | 'elevated' | 'subtle'",
|
|
74
|
+
"defaultValue": "outline",
|
|
75
|
+
"appliesTo": "slCard",
|
|
76
|
+
"description": "How the surface is bounded: a hairline edge, the edge plus a lift, or a filled ground"
|
|
77
|
+
},
|
|
78
|
+
{
|
|
79
|
+
"name": "size",
|
|
80
|
+
"type": "'sm' | 'md' | 'lg'",
|
|
81
|
+
"defaultValue": "md",
|
|
82
|
+
"appliesTo": "slCard",
|
|
83
|
+
"description": "The card's own inset. Density is the application's choice; this is this card's"
|
|
84
|
+
},
|
|
85
|
+
{
|
|
86
|
+
"name": "selected",
|
|
87
|
+
"type": "boolean",
|
|
88
|
+
"defaultValue": "false",
|
|
89
|
+
"appliesTo": "slCard",
|
|
90
|
+
"description": "Mirrors a selection the page owns; the control inside is what announces it"
|
|
91
|
+
},
|
|
92
|
+
{
|
|
93
|
+
"name": "disabled",
|
|
94
|
+
"type": "boolean",
|
|
95
|
+
"defaultValue": "false",
|
|
96
|
+
"appliesTo": "slCard",
|
|
97
|
+
"description": "Mirrors a control the page has disabled; the card disables nothing itself"
|
|
98
|
+
},
|
|
99
|
+
{
|
|
100
|
+
"name": "slCardMedia",
|
|
101
|
+
"type": "directive",
|
|
102
|
+
"defaultValue": "—",
|
|
103
|
+
"appliesTo": "any element",
|
|
104
|
+
"description": "Media that bleeds to the edge and rounds the corners it touches"
|
|
105
|
+
},
|
|
106
|
+
{
|
|
107
|
+
"name": "slCardHeader",
|
|
108
|
+
"type": "directive",
|
|
109
|
+
"defaultValue": "—",
|
|
110
|
+
"appliesTo": "any element",
|
|
111
|
+
"description": "A title and the line that supports it"
|
|
112
|
+
},
|
|
113
|
+
{
|
|
114
|
+
"name": "slCardActions",
|
|
115
|
+
"type": "directive",
|
|
116
|
+
"defaultValue": "—",
|
|
117
|
+
"appliesTo": "inside slCardHeader",
|
|
118
|
+
"description": "The corner of the header: a badge, a status, a menu button"
|
|
119
|
+
},
|
|
120
|
+
{
|
|
121
|
+
"name": "slCardSelection",
|
|
122
|
+
"type": "directive",
|
|
123
|
+
"defaultValue": "—",
|
|
124
|
+
"appliesTo": "inside slCardHeader",
|
|
125
|
+
"description": "The column a choice card keeps for its checkbox or radio"
|
|
126
|
+
},
|
|
127
|
+
{
|
|
128
|
+
"name": "slCardBody",
|
|
129
|
+
"type": "directive",
|
|
130
|
+
"defaultValue": "—",
|
|
131
|
+
"appliesTo": "any element",
|
|
132
|
+
"description": "The content of the card"
|
|
133
|
+
},
|
|
134
|
+
{
|
|
135
|
+
"name": "slCardFooter",
|
|
136
|
+
"type": "directive",
|
|
137
|
+
"defaultValue": "—",
|
|
138
|
+
"appliesTo": "any element",
|
|
139
|
+
"description": "Actions and metadata, above the hit area a link stretches"
|
|
140
|
+
},
|
|
141
|
+
{
|
|
142
|
+
"name": "slCardLink",
|
|
143
|
+
"type": "directive",
|
|
144
|
+
"defaultValue": "—",
|
|
145
|
+
"appliesTo": "a[href]",
|
|
146
|
+
"description": "The one destination the card resolves to; its hit area covers the surface"
|
|
147
|
+
},
|
|
148
|
+
{
|
|
149
|
+
"name": "provideCardDefaults",
|
|
150
|
+
"type": "{ fill, orientation, size }",
|
|
151
|
+
"defaultValue": "—",
|
|
152
|
+
"appliesTo": "any injector",
|
|
153
|
+
"description": "Sets the defaults once for every card under it, as a provider on the application or a route; an explicit input still wins"
|
|
154
|
+
}
|
|
155
|
+
],
|
|
156
|
+
"composition": [],
|
|
157
|
+
"events": [],
|
|
158
|
+
"accessibility": [
|
|
159
|
+
"There is no card pattern in the WAI-ARIA Authoring Practices, and a card is structure rather than a widget. The applicable guidance is Structural Roles: use the HTML element that already carries the meaning.",
|
|
160
|
+
"Every part is a directive written on the element the page chose, so an article with its own heading, the li of a list of results and the label of a chooser are all the same card. The family writes no role.",
|
|
161
|
+
"The card contributes no keyboard behaviour. slCardLink only matches an anchor, so Enter, the context menu and middle-click are the platform’s.",
|
|
162
|
+
"The link is named by its own text. A card whose root were the link would take every string inside it into that name, which is the reason the hit area is stretched from the link instead.",
|
|
163
|
+
"A card carries at most one slCardLink, and it navigates. A whole surface that fires a command on any click, with no visible control boundary, is a misclick nobody can undo; put a button in slCardActions or the footer instead.",
|
|
164
|
+
"slCardActions and slCardFooter both sit above the stretched hit area, so a control in either stays operable. An interactive element anywhere else needs position: relative of its own.",
|
|
165
|
+
"Text over the stretched area cannot be selected with the pointer. That is the cost of the whole-card target, and the reason a card with no link stretches nothing.",
|
|
166
|
+
"selected and disabled are painted, never announced. The radio, checkbox or button inside the card is what carries the state for assistive technology.",
|
|
167
|
+
"selected is the accent surface under a hairline accent edge, the pair a selected row paints. In high contrast and forced colours both flatten, and the checked control inside is what carries the state. elevated keeps its hairline because a shadow is removed there outright.",
|
|
168
|
+
"The focus ring is drawn on the card while the link has focus. In a browser without :has() the link keeps its own native outline instead.",
|
|
169
|
+
"A rule between two regions is an slDivider written between them. It is announced as a separator unless it is marked decorative, which is usually what a rule inside one card is."
|
|
170
|
+
]
|
|
171
|
+
}
|
|
172
|
+
},
|
|
173
|
+
"tokens": [
|
|
174
|
+
"--slotted-border-strong",
|
|
175
|
+
"--slotted-border-subtle",
|
|
176
|
+
"--slotted-border-width-thin",
|
|
177
|
+
"--slotted-card-actions-gap",
|
|
178
|
+
"--slotted-card-background",
|
|
179
|
+
"--slotted-card-background-disabled",
|
|
180
|
+
"--slotted-card-background-selected",
|
|
181
|
+
"--slotted-card-background-selected-active",
|
|
182
|
+
"--slotted-card-background-selected-hover",
|
|
183
|
+
"--slotted-card-background-subtle",
|
|
184
|
+
"--slotted-card-border-color",
|
|
185
|
+
"--slotted-card-border-color-disabled",
|
|
186
|
+
"--slotted-card-border-color-hover",
|
|
187
|
+
"--slotted-card-border-width",
|
|
188
|
+
"--slotted-card-color",
|
|
189
|
+
"--slotted-card-color-disabled",
|
|
190
|
+
"--slotted-card-edge-color-selected",
|
|
191
|
+
"--slotted-card-edge-width-selected",
|
|
192
|
+
"--slotted-card-footer-gap",
|
|
193
|
+
"--slotted-card-header-column-gap",
|
|
194
|
+
"--slotted-card-header-gap",
|
|
195
|
+
"--slotted-card-media-size",
|
|
196
|
+
"--slotted-card-padding-block",
|
|
197
|
+
"--slotted-card-padding-block-lg",
|
|
198
|
+
"--slotted-card-padding-block-sm",
|
|
199
|
+
"--slotted-card-padding-inline",
|
|
200
|
+
"--slotted-card-padding-inline-lg",
|
|
201
|
+
"--slotted-card-padding-inline-sm",
|
|
202
|
+
"--slotted-card-radius",
|
|
203
|
+
"--slotted-card-region-gap",
|
|
204
|
+
"--slotted-card-region-gap-lg",
|
|
205
|
+
"--slotted-card-region-gap-sm",
|
|
206
|
+
"--slotted-card-selection-line",
|
|
207
|
+
"--slotted-card-selection-size",
|
|
208
|
+
"--slotted-card-shadow",
|
|
209
|
+
"--slotted-card-shadow-hover",
|
|
210
|
+
"--slotted-disabled-background",
|
|
211
|
+
"--slotted-disabled-border",
|
|
212
|
+
"--slotted-disabled-foreground",
|
|
213
|
+
"--slotted-duration-short",
|
|
214
|
+
"--slotted-easing-standard",
|
|
215
|
+
"--slotted-focus-ring-color",
|
|
216
|
+
"--slotted-focus-ring-offset",
|
|
217
|
+
"--slotted-focus-ring-width",
|
|
218
|
+
"--slotted-font-size-lg",
|
|
219
|
+
"--slotted-line-height-lg",
|
|
220
|
+
"--slotted-radius-lg",
|
|
221
|
+
"--slotted-selection-size-md",
|
|
222
|
+
"--slotted-shadow-lg",
|
|
223
|
+
"--slotted-shadow-md",
|
|
224
|
+
"--slotted-shadow-sm",
|
|
225
|
+
"--slotted-shadow-xs",
|
|
226
|
+
"--slotted-space-2",
|
|
227
|
+
"--slotted-space-3",
|
|
228
|
+
"--slotted-space-4",
|
|
229
|
+
"--slotted-space-5",
|
|
230
|
+
"--slotted-space-6",
|
|
231
|
+
"--slotted-space-8",
|
|
232
|
+
"--slotted-surface-raised",
|
|
233
|
+
"--slotted-surface-sunken",
|
|
234
|
+
"--slotted-text",
|
|
235
|
+
"--slotted-tone-accent-border",
|
|
236
|
+
"--slotted-tone-accent-subtle-active",
|
|
237
|
+
"--slotted-tone-accent-subtle-hover",
|
|
238
|
+
"--slotted-tone-accent-surface",
|
|
239
|
+
"--slotted-tone-secondary-subtle-active"
|
|
240
|
+
],
|
|
241
|
+
"examples": [
|
|
242
|
+
{
|
|
243
|
+
"id": "card-angular-regions",
|
|
244
|
+
"title": "The regions, and the corner of the header",
|
|
245
|
+
"note": null,
|
|
246
|
+
"language": "html",
|
|
247
|
+
"source": "<div slCard>\n <div slCardHeader>\n <h3 slHeading [level]=\"3\">Northwind billing</h3>\n <span slText size=\"sm\" tone=\"muted\">Invoices and payment methods</span>\n <span slCardActions><span slBadge tone=\"warning\">Overdue</span></span>\n </div>\n <div slCardBody>The next invoice settles on 1 October.</div>\n <div slCardFooter>\n <button type=\"button\">Pay now</button>\n </div>\n</div>\n",
|
|
248
|
+
"verdict": "excerpt"
|
|
249
|
+
},
|
|
250
|
+
{
|
|
251
|
+
"id": "card-angular-sections",
|
|
252
|
+
"title": "A rule between two regions",
|
|
253
|
+
"note": null,
|
|
254
|
+
"language": "html",
|
|
255
|
+
"source": "<div slCard>\n <div slCardHeader><h3 slHeading [level]=\"3\">Review pictures</h3></div>\n <hr slDivider decorative />\n <div slCardBody>Two hundred images since the last visit.</div>\n <hr slDivider decorative inset />\n <div slCardFooter>\n <span slText size=\"xs\" tone=\"muted\">The inset rule lines up with the text</span>\n </div>\n</div>\n",
|
|
256
|
+
"verdict": "excerpt"
|
|
257
|
+
},
|
|
258
|
+
{
|
|
259
|
+
"id": "card-angular-link",
|
|
260
|
+
"title": "One destination, named by the title",
|
|
261
|
+
"note": null,
|
|
262
|
+
"language": "html",
|
|
263
|
+
"source": "<div slCard>\n <div slCardHeader>\n <a slCardLink href=\"/accounts/northwind\">Northwind Traders</a>\n </div>\n <div slCardBody>Twelve open invoices</div>\n <div slCardFooter>\n <a href=\"/accounts/northwind/settings\">Billing settings</a>\n </div>\n</div>\n",
|
|
264
|
+
"verdict": "excerpt"
|
|
265
|
+
},
|
|
266
|
+
{
|
|
267
|
+
"id": "card-angular-chooser",
|
|
268
|
+
"title": "A chooser, where the radio owns the state",
|
|
269
|
+
"note": null,
|
|
270
|
+
"language": "html",
|
|
271
|
+
"source": "<label slCard [selected]=\"plan() === 'team'\">\n <div slCardHeader>\n <span slCardSelection>\n <input type=\"radio\" name=\"plan\" value=\"team\" [(ngModel)]=\"plan\" />\n </span>\n <h3 slHeading [level]=\"3\">Team</h3>\n <span slText size=\"sm\" tone=\"muted\">Twenty seats and shared billing</span>\n </div>\n</label>\n",
|
|
272
|
+
"verdict": "excerpt"
|
|
273
|
+
},
|
|
274
|
+
{
|
|
275
|
+
"id": "card-angular-horizontal",
|
|
276
|
+
"title": "Media beside the content, until the card is narrow",
|
|
277
|
+
"note": null,
|
|
278
|
+
"language": "html",
|
|
279
|
+
"source": "<div slCard orientation=\"horizontal\">\n <figure slCardMedia><img alt=\"\" [src]=\"report.cover\" /></figure>\n <div slCardHeader>\n <h3 slHeading [level]=\"3\">Quarterly report</h3>\n </div>\n <div slCardBody>Revenue, retention and the accounts that moved them.</div>\n</div>\n",
|
|
280
|
+
"verdict": "excerpt"
|
|
281
|
+
}
|
|
282
|
+
]
|
|
283
|
+
}
|
package/docs/card.md
ADDED
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
<!-- index: ./index.md -->
|
|
2
|
+
# card
|
|
3
|
+
|
|
4
|
+
`data-ui="card"` · Bordered surface that groups related content.
|
|
5
|
+
|
|
6
|
+
## Minimal example
|
|
7
|
+
|
|
8
|
+
Excerpt — not a complete module
|
|
9
|
+
|
|
10
|
+
```html
|
|
11
|
+
<div slCard>
|
|
12
|
+
<div slCardHeader>
|
|
13
|
+
<h3 slHeading [level]="3">Northwind billing</h3>
|
|
14
|
+
<span slText size="sm" tone="muted">Invoices and payment methods</span>
|
|
15
|
+
<span slCardActions><span slBadge tone="warning">Overdue</span></span>
|
|
16
|
+
</div>
|
|
17
|
+
<div slCardBody>The next invoice settles on 1 October.</div>
|
|
18
|
+
<div slCardFooter>
|
|
19
|
+
<button type="button">Pay now</button>
|
|
20
|
+
</div>
|
|
21
|
+
</div>
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
## Props
|
|
25
|
+
|
|
26
|
+
| Name | Type | Default | Applies to | Description |
|
|
27
|
+
| --- | --- | --- | --- | --- |
|
|
28
|
+
| `orientation` | `'vertical' \| 'horizontal'` | vertical | slCard | Puts the media beside the regions, and returns it to the top in a narrow container |
|
|
29
|
+
| `fill` | `'outline' \| 'elevated' \| 'subtle'` | outline | slCard | How the surface is bounded: a hairline edge, the edge plus a lift, or a filled ground |
|
|
30
|
+
| `size` | `'sm' \| 'md' \| 'lg'` | md | slCard | The card's own inset. Density is the application's choice; this is this card's |
|
|
31
|
+
| `selected` | `boolean` | false | slCard | Mirrors a selection the page owns; the control inside is what announces it |
|
|
32
|
+
| `disabled` | `boolean` | false | slCard | Mirrors a control the page has disabled; the card disables nothing itself |
|
|
33
|
+
| `slCardMedia` | `directive` | — | any element | Media that bleeds to the edge and rounds the corners it touches |
|
|
34
|
+
| `slCardHeader` | `directive` | — | any element | A title and the line that supports it |
|
|
35
|
+
| `slCardActions` | `directive` | — | inside slCardHeader | The corner of the header: a badge, a status, a menu button |
|
|
36
|
+
| `slCardSelection` | `directive` | — | inside slCardHeader | The column a choice card keeps for its checkbox or radio |
|
|
37
|
+
| `slCardBody` | `directive` | — | any element | The content of the card |
|
|
38
|
+
| `slCardFooter` | `directive` | — | any element | Actions and metadata, above the hit area a link stretches |
|
|
39
|
+
| `slCardLink` | `directive` | — | a[href] | The one destination the card resolves to; its hit area covers the surface |
|
|
40
|
+
| `provideCardDefaults` | `{ fill, orientation, size }` | — | any injector | Sets the defaults once for every card under it, as a provider on the application or a route; an explicit input still wins |
|
|
41
|
+
|
|
42
|
+
## Axes and defaults
|
|
43
|
+
|
|
44
|
+
| Axis | Values | Default |
|
|
45
|
+
| --- | --- | --- |
|
|
46
|
+
| `orientation` | `vertical`, `horizontal` | `vertical` |
|
|
47
|
+
| `fill` | `outline`, `elevated`, `subtle` | `outline` |
|
|
48
|
+
| `size` | `sm`, `md`, `lg` | `md` |
|
|
49
|
+
|
|
50
|
+
## Rules
|
|
51
|
+
|
|
52
|
+
- There is no card pattern in the WAI-ARIA Authoring Practices, and a card is structure rather than a widget. The applicable guidance is Structural Roles: use the HTML element that already carries the meaning.
|
|
53
|
+
- Every part is a directive written on the element the page chose, so an article with its own heading, the li of a list of results and the label of a chooser are all the same card. The family writes no role.
|
|
54
|
+
- The card contributes no keyboard behaviour. slCardLink only matches an anchor, so Enter, the context menu and middle-click are the platform’s.
|
|
55
|
+
- The link is named by its own text. A card whose root were the link would take every string inside it into that name, which is the reason the hit area is stretched from the link instead.
|
|
56
|
+
- A card carries at most one slCardLink, and it navigates. A whole surface that fires a command on any click, with no visible control boundary, is a misclick nobody can undo; put a button in slCardActions or the footer instead.
|
|
57
|
+
- slCardActions and slCardFooter both sit above the stretched hit area, so a control in either stays operable. An interactive element anywhere else needs position: relative of its own.
|
|
58
|
+
- Text over the stretched area cannot be selected with the pointer. That is the cost of the whole-card target, and the reason a card with no link stretches nothing.
|
|
59
|
+
- selected and disabled are painted, never announced. The radio, checkbox or button inside the card is what carries the state for assistive technology.
|
|
60
|
+
- selected is the accent surface under a hairline accent edge, the pair a selected row paints. In high contrast and forced colours both flatten, and the checked control inside is what carries the state. elevated keeps its hairline because a shadow is removed there outright.
|
|
61
|
+
- The focus ring is drawn on the card while the link has focus. In a browser without :has() the link keeps its own native outline instead.
|
|
62
|
+
- A rule between two regions is an slDivider written between them. It is announced as a separator unless it is marked decorative, which is usually what a rule inside one card is.
|
|
63
|
+
|
|
64
|
+
## Tokens
|
|
65
|
+
|
|
66
|
+
`--slotted-border-strong`, `--slotted-border-subtle`, `--slotted-border-width-thin`, `--slotted-card-actions-gap`, `--slotted-card-background`, `--slotted-card-background-disabled`, `--slotted-card-background-selected`, `--slotted-card-background-selected-active`, `--slotted-card-background-selected-hover`, `--slotted-card-background-subtle`, `--slotted-card-border-color`, `--slotted-card-border-color-disabled`, `--slotted-card-border-color-hover`, `--slotted-card-border-width`, `--slotted-card-color`, `--slotted-card-color-disabled`, `--slotted-card-edge-color-selected`, `--slotted-card-edge-width-selected`, `--slotted-card-footer-gap`, `--slotted-card-header-column-gap`, `--slotted-card-header-gap`, `--slotted-card-media-size`, `--slotted-card-padding-block`, `--slotted-card-padding-block-lg`, `--slotted-card-padding-block-sm`, `--slotted-card-padding-inline`, `--slotted-card-padding-inline-lg`, `--slotted-card-padding-inline-sm`, `--slotted-card-radius`, `--slotted-card-region-gap`, `--slotted-card-region-gap-lg`, `--slotted-card-region-gap-sm`, `--slotted-card-selection-line`, `--slotted-card-selection-size`, `--slotted-card-shadow`, `--slotted-card-shadow-hover`, `--slotted-disabled-background`, `--slotted-disabled-border`, `--slotted-disabled-foreground`, `--slotted-duration-short`, `--slotted-easing-standard`, `--slotted-focus-ring-color`, `--slotted-focus-ring-offset`, `--slotted-focus-ring-width`, `--slotted-font-size-lg`, `--slotted-line-height-lg`, `--slotted-radius-lg`, `--slotted-selection-size-md`, `--slotted-shadow-lg`, `--slotted-shadow-md`, `--slotted-shadow-sm`, `--slotted-shadow-xs`, `--slotted-space-2`, `--slotted-space-3`, `--slotted-space-4`, `--slotted-space-5`, `--slotted-space-6`, `--slotted-space-8`, `--slotted-surface-raised`, `--slotted-surface-sunken`, `--slotted-text`, `--slotted-tone-accent-border`, `--slotted-tone-accent-subtle-active`, `--slotted-tone-accent-subtle-hover`, `--slotted-tone-accent-surface`, `--slotted-tone-secondary-subtle-active`
|
|
67
|
+
|
|
68
|
+
## Examples
|
|
69
|
+
|
|
70
|
+
### A rule between two regions
|
|
71
|
+
|
|
72
|
+
Excerpt — not a complete module
|
|
73
|
+
|
|
74
|
+
```html
|
|
75
|
+
<div slCard>
|
|
76
|
+
<div slCardHeader><h3 slHeading [level]="3">Review pictures</h3></div>
|
|
77
|
+
<hr slDivider decorative />
|
|
78
|
+
<div slCardBody>Two hundred images since the last visit.</div>
|
|
79
|
+
<hr slDivider decorative inset />
|
|
80
|
+
<div slCardFooter>
|
|
81
|
+
<span slText size="xs" tone="muted">The inset rule lines up with the text</span>
|
|
82
|
+
</div>
|
|
83
|
+
</div>
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
### One destination, named by the title
|
|
87
|
+
|
|
88
|
+
Excerpt — not a complete module
|
|
89
|
+
|
|
90
|
+
```html
|
|
91
|
+
<div slCard>
|
|
92
|
+
<div slCardHeader>
|
|
93
|
+
<a slCardLink href="/accounts/northwind">Northwind Traders</a>
|
|
94
|
+
</div>
|
|
95
|
+
<div slCardBody>Twelve open invoices</div>
|
|
96
|
+
<div slCardFooter>
|
|
97
|
+
<a href="/accounts/northwind/settings">Billing settings</a>
|
|
98
|
+
</div>
|
|
99
|
+
</div>
|
|
100
|
+
```
|
|
101
|
+
|
|
102
|
+
### A chooser, where the radio owns the state
|
|
103
|
+
|
|
104
|
+
Excerpt — not a complete module
|
|
105
|
+
|
|
106
|
+
```html
|
|
107
|
+
<label slCard [selected]="plan() === 'team'">
|
|
108
|
+
<div slCardHeader>
|
|
109
|
+
<span slCardSelection>
|
|
110
|
+
<input type="radio" name="plan" value="team" [(ngModel)]="plan" />
|
|
111
|
+
</span>
|
|
112
|
+
<h3 slHeading [level]="3">Team</h3>
|
|
113
|
+
<span slText size="sm" tone="muted">Twenty seats and shared billing</span>
|
|
114
|
+
</div>
|
|
115
|
+
</label>
|
|
116
|
+
```
|
|
117
|
+
|
|
118
|
+
### Media beside the content, until the card is narrow
|
|
119
|
+
|
|
120
|
+
Excerpt — not a complete module
|
|
121
|
+
|
|
122
|
+
```html
|
|
123
|
+
<div slCard orientation="horizontal">
|
|
124
|
+
<figure slCardMedia><img alt="" [src]="report.cover" /></figure>
|
|
125
|
+
<div slCardHeader>
|
|
126
|
+
<h3 slHeading [level]="3">Quarterly report</h3>
|
|
127
|
+
</div>
|
|
128
|
+
<div slCardBody>Revenue, retention and the accounts that moved them.</div>
|
|
129
|
+
</div>
|
|
130
|
+
```
|