@slotted/angular 0.0.0-stage → 0.1.0-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +51 -2
- package/docs/AGENTS.snippet.md +10 -0
- package/docs/accordion.json +345 -0
- package/docs/accordion.md +207 -0
- package/docs/action-bar.json +421 -0
- package/docs/action-bar.md +364 -0
- package/docs/action-sheet.json +210 -0
- package/docs/action-sheet.md +19 -0
- package/docs/alert.json +407 -0
- package/docs/alert.md +239 -0
- package/docs/app-shell.examples.md +349 -0
- package/docs/app-shell.json +835 -0
- package/docs/app-shell.md +214 -0
- package/docs/aspect-ratio.json +159 -0
- package/docs/aspect-ratio.md +134 -0
- package/docs/attachment.json +486 -0
- package/docs/attachment.md +253 -0
- package/docs/avatar-group.json +208 -0
- package/docs/avatar-group.md +130 -0
- package/docs/avatar.json +342 -0
- package/docs/avatar.md +142 -0
- package/docs/badge.json +334 -0
- package/docs/badge.md +138 -0
- package/docs/breadcrumb.json +368 -0
- package/docs/breadcrumb.md +237 -0
- package/docs/button-group.json +158 -0
- package/docs/button-group.md +72 -0
- package/docs/button.examples.md +621 -0
- package/docs/button.json +977 -0
- package/docs/button.md +200 -0
- package/docs/calendar.json +592 -0
- package/docs/calendar.md +242 -0
- package/docs/card.json +283 -0
- package/docs/card.md +130 -0
- package/docs/carousel.json +560 -0
- package/docs/carousel.md +357 -0
- package/docs/cascader.json +933 -0
- package/docs/cascader.md +379 -0
- package/docs/chart.examples.md +582 -0
- package/docs/chart.json +1359 -0
- package/docs/chart.md +187 -0
- package/docs/checkbox-group.examples.md +612 -0
- package/docs/checkbox-group.json +395 -0
- package/docs/checkbox-group.md +106 -0
- package/docs/checkbox.examples.md +546 -0
- package/docs/checkbox.json +506 -0
- package/docs/checkbox.md +104 -0
- package/docs/code-block.json +616 -0
- package/docs/code-block.md +303 -0
- package/docs/collapsible.json +456 -0
- package/docs/collapsible.md +261 -0
- package/docs/color-picker.json +523 -0
- package/docs/color-picker.md +201 -0
- package/docs/column-manager.json +486 -0
- package/docs/column-manager.md +277 -0
- package/docs/combobox.examples.md +1732 -0
- package/docs/combobox.json +1250 -0
- package/docs/combobox.md +209 -0
- package/docs/command-palette.json +800 -0
- package/docs/command-palette.md +419 -0
- package/docs/container.json +156 -0
- package/docs/container.md +92 -0
- package/docs/context-menu.json +231 -0
- package/docs/context-menu.md +176 -0
- package/docs/currency-field.examples.md +321 -0
- package/docs/currency-field.json +649 -0
- package/docs/currency-field.md +128 -0
- package/docs/dashboard-grid.json +680 -0
- package/docs/dashboard-grid.md +265 -0
- package/docs/data-grid.examples.md +3064 -0
- package/docs/data-grid.json +1577 -0
- package/docs/data-grid.md +237 -0
- package/docs/data-grid.props.md +81 -0
- package/docs/data-list.json +685 -0
- package/docs/data-list.md +327 -0
- package/docs/date-field.json +490 -0
- package/docs/date-field.md +235 -0
- package/docs/date-picker.examples.md +1226 -0
- package/docs/date-picker.json +696 -0
- package/docs/date-picker.md +121 -0
- package/docs/date-range-picker.examples.md +1300 -0
- package/docs/date-range-picker.json +903 -0
- package/docs/date-range-picker.md +142 -0
- package/docs/datetime-field.json +665 -0
- package/docs/datetime-field.md +337 -0
- package/docs/datetime-picker.examples.md +1269 -0
- package/docs/datetime-picker.json +928 -0
- package/docs/datetime-picker.md +150 -0
- package/docs/datetime-range-picker.examples.md +225 -0
- package/docs/datetime-range-picker.json +1015 -0
- package/docs/datetime-range-picker.md +162 -0
- package/docs/description-list.json +471 -0
- package/docs/description-list.md +268 -0
- package/docs/detail-panel.json +530 -0
- package/docs/detail-panel.md +361 -0
- package/docs/dialog.examples.md +2467 -0
- package/docs/dialog.json +1141 -0
- package/docs/dialog.md +217 -0
- package/docs/dialog.props.md +63 -0
- package/docs/divider.json +148 -0
- package/docs/divider.md +83 -0
- package/docs/drawer.examples.md +1929 -0
- package/docs/drawer.json +753 -0
- package/docs/drawer.md +199 -0
- package/docs/entity-picker.json +946 -0
- package/docs/entity-picker.md +365 -0
- package/docs/event-calendar.examples.md +308 -0
- package/docs/event-calendar.json +1202 -0
- package/docs/event-calendar.md +201 -0
- package/docs/field-group.json +333 -0
- package/docs/field-group.md +181 -0
- package/docs/field.examples.md +676 -0
- package/docs/field.json +528 -0
- package/docs/field.md +127 -0
- package/docs/filter-bar.json +817 -0
- package/docs/filter-bar.md +380 -0
- package/docs/form.json +378 -0
- package/docs/form.md +235 -0
- package/docs/fullscreen.json +395 -0
- package/docs/fullscreen.md +225 -0
- package/docs/grid.json +176 -0
- package/docs/grid.md +74 -0
- package/docs/highlight.json +279 -0
- package/docs/highlight.md +210 -0
- package/docs/hover-card.json +254 -0
- package/docs/hover-card.md +213 -0
- package/docs/icon.json +173 -0
- package/docs/icon.md +101 -0
- package/docs/image.json +476 -0
- package/docs/image.md +254 -0
- package/docs/import-export-center.json +836 -0
- package/docs/import-export-center.md +345 -0
- package/docs/index.md +141 -0
- package/docs/inline-message.json +312 -0
- package/docs/inline-message.md +191 -0
- package/docs/inline.json +149 -0
- package/docs/inline.md +72 -0
- package/docs/kbd.json +350 -0
- package/docs/kbd.md +210 -0
- package/docs/link.json +264 -0
- package/docs/link.md +167 -0
- package/docs/list-item.json +463 -0
- package/docs/list-item.md +236 -0
- package/docs/list.json +321 -0
- package/docs/list.md +185 -0
- package/docs/listbox.json +807 -0
- package/docs/listbox.md +413 -0
- package/docs/loading-overlay.json +440 -0
- package/docs/loading-overlay.md +248 -0
- package/docs/markdown.json +461 -0
- package/docs/markdown.md +266 -0
- package/docs/menu.examples.md +1651 -0
- package/docs/menu.json +922 -0
- package/docs/menu.md +155 -0
- package/docs/menubar.json +292 -0
- package/docs/menubar.md +173 -0
- package/docs/message-scroller.json +401 -0
- package/docs/message-scroller.md +212 -0
- package/docs/message.json +862 -0
- package/docs/message.md +473 -0
- package/docs/multi-select.examples.md +1922 -0
- package/docs/multi-select.json +1314 -0
- package/docs/multi-select.md +213 -0
- package/docs/navigation-menu.json +529 -0
- package/docs/navigation-menu.md +329 -0
- package/docs/notification-center.json +664 -0
- package/docs/notification-center.md +372 -0
- package/docs/number-field.examples.md +1078 -0
- package/docs/number-field.json +668 -0
- package/docs/number-field.md +137 -0
- package/docs/otp-input.json +479 -0
- package/docs/otp-input.md +291 -0
- package/docs/page-header.json +574 -0
- package/docs/page-header.md +338 -0
- package/docs/page.json +332 -0
- package/docs/page.md +184 -0
- package/docs/pagination.json +434 -0
- package/docs/pagination.md +238 -0
- package/docs/popover.examples.md +1235 -0
- package/docs/popover.json +656 -0
- package/docs/popover.md +199 -0
- package/docs/progress-indicator.json +501 -0
- package/docs/progress-indicator.md +329 -0
- package/docs/prompt-composer.json +498 -0
- package/docs/prompt-composer.md +278 -0
- package/docs/prose.json +357 -0
- package/docs/prose.md +226 -0
- package/docs/radio-group.examples.md +626 -0
- package/docs/radio-group.json +541 -0
- package/docs/radio-group.md +112 -0
- package/docs/rating.json +1053 -0
- package/docs/rating.md +435 -0
- package/docs/result-state.json +376 -0
- package/docs/result-state.md +286 -0
- package/docs/saved-views.json +384 -0
- package/docs/saved-views.md +242 -0
- package/docs/scroll-area.json +120 -0
- package/docs/scroll-area.md +8 -0
- package/docs/section.json +344 -0
- package/docs/section.md +208 -0
- package/docs/segmented-control.json +429 -0
- package/docs/segmented-control.md +240 -0
- package/docs/select.examples.md +1214 -0
- package/docs/select.json +1147 -0
- package/docs/select.md +199 -0
- package/docs/side-navigation.json +632 -0
- package/docs/side-navigation.md +430 -0
- package/docs/skeleton.json +358 -0
- package/docs/skeleton.md +223 -0
- package/docs/slider.json +522 -0
- package/docs/slider.md +261 -0
- package/docs/sparkline.json +426 -0
- package/docs/sparkline.md +206 -0
- package/docs/split-button.json +361 -0
- package/docs/split-button.md +275 -0
- package/docs/splitter.json +142 -0
- package/docs/splitter.md +14 -0
- package/docs/stack.json +135 -0
- package/docs/stack.md +74 -0
- package/docs/stat-card.json +529 -0
- package/docs/stat-card.md +270 -0
- package/docs/status-indicator.json +314 -0
- package/docs/status-indicator.md +197 -0
- package/docs/stepper.json +451 -0
- package/docs/stepper.md +250 -0
- package/docs/switch.json +451 -0
- package/docs/switch.md +508 -0
- package/docs/table-of-contents.json +553 -0
- package/docs/table-of-contents.md +289 -0
- package/docs/table.examples.md +1981 -0
- package/docs/table.json +1059 -0
- package/docs/table.md +290 -0
- package/docs/tabs.examples.md +1370 -0
- package/docs/tabs.json +661 -0
- package/docs/tabs.md +211 -0
- package/docs/tag.json +813 -0
- package/docs/tag.md +241 -0
- package/docs/tags-input.json +771 -0
- package/docs/tags-input.md +361 -0
- package/docs/text-field.examples.md +821 -0
- package/docs/text-field.json +604 -0
- package/docs/text-field.md +125 -0
- package/docs/textarea.examples.md +612 -0
- package/docs/textarea.json +440 -0
- package/docs/textarea.md +98 -0
- package/docs/time-field.json +584 -0
- package/docs/time-field.md +291 -0
- package/docs/time-picker.json +679 -0
- package/docs/time-picker.md +315 -0
- package/docs/time-range-picker.examples.md +191 -0
- package/docs/time-range-picker.json +924 -0
- package/docs/time-range-picker.md +152 -0
- package/docs/timeline.json +839 -0
- package/docs/timeline.md +401 -0
- package/docs/toast.json +642 -0
- package/docs/toast.md +311 -0
- package/docs/toggle-group.json +417 -0
- package/docs/toggle-group.md +255 -0
- package/docs/toggle.json +326 -0
- package/docs/toggle.md +222 -0
- package/docs/toolbar.json +380 -0
- package/docs/toolbar.md +240 -0
- package/docs/tooltip.examples.md +664 -0
- package/docs/tooltip.json +604 -0
- package/docs/tooltip.md +146 -0
- package/docs/top-navigation.examples.md +287 -0
- package/docs/top-navigation.json +648 -0
- package/docs/top-navigation.md +138 -0
- package/docs/tour.json +759 -0
- package/docs/tour.md +337 -0
- package/docs/transfer.json +746 -0
- package/docs/transfer.md +273 -0
- package/docs/tree.json +918 -0
- package/docs/tree.md +397 -0
- package/docs/typography.json +317 -0
- package/docs/typography.md +107 -0
- package/docs/upload.examples.md +358 -0
- package/docs/upload.json +1103 -0
- package/docs/upload.md +166 -0
- package/docs/visually-hidden.json +71 -0
- package/docs/visually-hidden.md +42 -0
- package/docs/wizard.json +724 -0
- package/docs/wizard.md +295 -0
- package/fesm2022/slotted-angular-accordion.mjs +247 -0
- package/fesm2022/slotted-angular-accordion.mjs.map +1 -0
- package/fesm2022/slotted-angular-action-bar.mjs +639 -0
- package/fesm2022/slotted-angular-action-bar.mjs.map +1 -0
- package/fesm2022/slotted-angular-action-sheet.mjs +749 -0
- package/fesm2022/slotted-angular-action-sheet.mjs.map +1 -0
- package/fesm2022/slotted-angular-alert.mjs +427 -0
- package/fesm2022/slotted-angular-alert.mjs.map +1 -0
- package/fesm2022/slotted-angular-app-shell.mjs +1334 -0
- package/fesm2022/slotted-angular-app-shell.mjs.map +1 -0
- package/fesm2022/slotted-angular-aspect-ratio.mjs +63 -0
- package/fesm2022/slotted-angular-aspect-ratio.mjs.map +1 -0
- package/fesm2022/slotted-angular-attachment.mjs +595 -0
- package/fesm2022/slotted-angular-attachment.mjs.map +1 -0
- package/fesm2022/slotted-angular-avatar-group.mjs +230 -0
- package/fesm2022/slotted-angular-avatar-group.mjs.map +1 -0
- package/fesm2022/slotted-angular-avatar.mjs +330 -0
- package/fesm2022/slotted-angular-avatar.mjs.map +1 -0
- package/fesm2022/slotted-angular-badge.mjs +255 -0
- package/fesm2022/slotted-angular-badge.mjs.map +1 -0
- package/fesm2022/slotted-angular-breadcrumb.mjs +544 -0
- package/fesm2022/slotted-angular-breadcrumb.mjs.map +1 -0
- package/fesm2022/slotted-angular-button-group.mjs +146 -0
- package/fesm2022/slotted-angular-button-group.mjs.map +1 -0
- package/fesm2022/slotted-angular-button.mjs +692 -0
- package/fesm2022/slotted-angular-button.mjs.map +1 -0
- package/fesm2022/slotted-angular-calendar.mjs +916 -0
- package/fesm2022/slotted-angular-calendar.mjs.map +1 -0
- package/fesm2022/slotted-angular-card.mjs +225 -0
- package/fesm2022/slotted-angular-card.mjs.map +1 -0
- package/fesm2022/slotted-angular-carousel.mjs +840 -0
- package/fesm2022/slotted-angular-carousel.mjs.map +1 -0
- package/fesm2022/slotted-angular-cascader.mjs +1839 -0
- package/fesm2022/slotted-angular-cascader.mjs.map +1 -0
- package/fesm2022/slotted-angular-chart.mjs +974 -0
- package/fesm2022/slotted-angular-chart.mjs.map +1 -0
- package/fesm2022/slotted-angular-checkbox-group.mjs +283 -0
- package/fesm2022/slotted-angular-checkbox-group.mjs.map +1 -0
- package/fesm2022/slotted-angular-checkbox.mjs +468 -0
- package/fesm2022/slotted-angular-checkbox.mjs.map +1 -0
- package/fesm2022/slotted-angular-code-block.mjs +476 -0
- package/fesm2022/slotted-angular-code-block.mjs.map +1 -0
- package/fesm2022/slotted-angular-collapsible.mjs +479 -0
- package/fesm2022/slotted-angular-collapsible.mjs.map +1 -0
- package/fesm2022/slotted-angular-color-picker.mjs +910 -0
- package/fesm2022/slotted-angular-color-picker.mjs.map +1 -0
- package/fesm2022/slotted-angular-column-manager.mjs +1037 -0
- package/fesm2022/slotted-angular-column-manager.mjs.map +1 -0
- package/fesm2022/slotted-angular-combobox.mjs +1480 -0
- package/fesm2022/slotted-angular-combobox.mjs.map +1 -0
- package/fesm2022/slotted-angular-command-palette.mjs +1283 -0
- package/fesm2022/slotted-angular-command-palette.mjs.map +1 -0
- package/fesm2022/slotted-angular-container.mjs +105 -0
- package/fesm2022/slotted-angular-container.mjs.map +1 -0
- package/fesm2022/slotted-angular-context-menu.mjs +221 -0
- package/fesm2022/slotted-angular-context-menu.mjs.map +1 -0
- package/fesm2022/slotted-angular-currency-field.mjs +1131 -0
- package/fesm2022/slotted-angular-currency-field.mjs.map +1 -0
- package/fesm2022/slotted-angular-dashboard-grid.mjs +1928 -0
- package/fesm2022/slotted-angular-dashboard-grid.mjs.map +1 -0
- package/fesm2022/slotted-angular-data-grid.mjs +6697 -0
- package/fesm2022/slotted-angular-data-grid.mjs.map +1 -0
- package/fesm2022/slotted-angular-data-list.mjs +1418 -0
- package/fesm2022/slotted-angular-data-list.mjs.map +1 -0
- package/fesm2022/slotted-angular-date-field.mjs +772 -0
- package/fesm2022/slotted-angular-date-field.mjs.map +1 -0
- package/fesm2022/slotted-angular-date-picker.mjs +690 -0
- package/fesm2022/slotted-angular-date-picker.mjs.map +1 -0
- package/fesm2022/slotted-angular-date-range-picker.mjs +1150 -0
- package/fesm2022/slotted-angular-date-range-picker.mjs.map +1 -0
- package/fesm2022/slotted-angular-datetime-field.mjs +1058 -0
- package/fesm2022/slotted-angular-datetime-field.mjs.map +1 -0
- package/fesm2022/slotted-angular-datetime-picker.mjs +1362 -0
- package/fesm2022/slotted-angular-datetime-picker.mjs.map +1 -0
- package/fesm2022/slotted-angular-datetime-range-picker.mjs +1872 -0
- package/fesm2022/slotted-angular-datetime-range-picker.mjs.map +1 -0
- package/fesm2022/slotted-angular-description-list.mjs +545 -0
- package/fesm2022/slotted-angular-description-list.mjs.map +1 -0
- package/fesm2022/slotted-angular-detail-panel.mjs +754 -0
- package/fesm2022/slotted-angular-detail-panel.mjs.map +1 -0
- package/fesm2022/slotted-angular-dialog.mjs +980 -0
- package/fesm2022/slotted-angular-dialog.mjs.map +1 -0
- package/fesm2022/slotted-angular-divider.mjs +76 -0
- package/fesm2022/slotted-angular-divider.mjs.map +1 -0
- package/fesm2022/slotted-angular-drawer.mjs +1397 -0
- package/fesm2022/slotted-angular-drawer.mjs.map +1 -0
- package/fesm2022/slotted-angular-entity-picker.mjs +1987 -0
- package/fesm2022/slotted-angular-entity-picker.mjs.map +1 -0
- package/fesm2022/slotted-angular-event-calendar.mjs +2934 -0
- package/fesm2022/slotted-angular-event-calendar.mjs.map +1 -0
- package/fesm2022/slotted-angular-field-group.mjs +301 -0
- package/fesm2022/slotted-angular-field-group.mjs.map +1 -0
- package/fesm2022/slotted-angular-field.mjs +928 -0
- package/fesm2022/slotted-angular-field.mjs.map +1 -0
- package/fesm2022/slotted-angular-filter-bar.mjs +3107 -0
- package/fesm2022/slotted-angular-filter-bar.mjs.map +1 -0
- package/fesm2022/slotted-angular-form.mjs +592 -0
- package/fesm2022/slotted-angular-form.mjs.map +1 -0
- package/fesm2022/slotted-angular-fullscreen.mjs +314 -0
- package/fesm2022/slotted-angular-fullscreen.mjs.map +1 -0
- package/fesm2022/slotted-angular-grid.mjs +58 -0
- package/fesm2022/slotted-angular-grid.mjs.map +1 -0
- package/fesm2022/slotted-angular-highlight.mjs +123 -0
- package/fesm2022/slotted-angular-highlight.mjs.map +1 -0
- package/fesm2022/slotted-angular-hover-card.mjs +326 -0
- package/fesm2022/slotted-angular-hover-card.mjs.map +1 -0
- package/fesm2022/slotted-angular-i18n.mjs +75 -0
- package/fesm2022/slotted-angular-i18n.mjs.map +1 -0
- package/fesm2022/slotted-angular-icon.mjs +232 -0
- package/fesm2022/slotted-angular-icon.mjs.map +1 -0
- package/fesm2022/slotted-angular-image.mjs +442 -0
- package/fesm2022/slotted-angular-image.mjs.map +1 -0
- package/fesm2022/slotted-angular-import-export-center.mjs +1792 -0
- package/fesm2022/slotted-angular-import-export-center.mjs.map +1 -0
- package/fesm2022/slotted-angular-inline-message.mjs +280 -0
- package/fesm2022/slotted-angular-inline-message.mjs.map +1 -0
- package/fesm2022/slotted-angular-inline.mjs +52 -0
- package/fesm2022/slotted-angular-inline.mjs.map +1 -0
- package/fesm2022/slotted-angular-kbd.mjs +284 -0
- package/fesm2022/slotted-angular-kbd.mjs.map +1 -0
- package/fesm2022/slotted-angular-link.mjs +182 -0
- package/fesm2022/slotted-angular-link.mjs.map +1 -0
- package/fesm2022/slotted-angular-list-item.mjs +367 -0
- package/fesm2022/slotted-angular-list-item.mjs.map +1 -0
- package/fesm2022/slotted-angular-list.mjs +256 -0
- package/fesm2022/slotted-angular-list.mjs.map +1 -0
- package/fesm2022/slotted-angular-listbox.mjs +1274 -0
- package/fesm2022/slotted-angular-listbox.mjs.map +1 -0
- package/fesm2022/slotted-angular-loading-overlay.mjs +451 -0
- package/fesm2022/slotted-angular-loading-overlay.mjs.map +1 -0
- package/fesm2022/slotted-angular-markdown.mjs +914 -0
- package/fesm2022/slotted-angular-markdown.mjs.map +1 -0
- package/fesm2022/slotted-angular-menu.mjs +1211 -0
- package/fesm2022/slotted-angular-menu.mjs.map +1 -0
- package/fesm2022/slotted-angular-menubar.mjs +230 -0
- package/fesm2022/slotted-angular-menubar.mjs.map +1 -0
- package/fesm2022/slotted-angular-message-scroller.mjs +378 -0
- package/fesm2022/slotted-angular-message-scroller.mjs.map +1 -0
- package/fesm2022/slotted-angular-message.mjs +866 -0
- package/fesm2022/slotted-angular-message.mjs.map +1 -0
- package/fesm2022/slotted-angular-multi-select.mjs +1939 -0
- package/fesm2022/slotted-angular-multi-select.mjs.map +1 -0
- package/fesm2022/slotted-angular-navigation-menu.mjs +770 -0
- package/fesm2022/slotted-angular-navigation-menu.mjs.map +1 -0
- package/fesm2022/slotted-angular-notification-center.mjs +1172 -0
- package/fesm2022/slotted-angular-notification-center.mjs.map +1 -0
- package/fesm2022/slotted-angular-number-field.mjs +966 -0
- package/fesm2022/slotted-angular-number-field.mjs.map +1 -0
- package/fesm2022/slotted-angular-otp-input.mjs +629 -0
- package/fesm2022/slotted-angular-otp-input.mjs.map +1 -0
- package/fesm2022/slotted-angular-page-header.mjs +788 -0
- package/fesm2022/slotted-angular-page-header.mjs.map +1 -0
- package/fesm2022/slotted-angular-page.mjs +255 -0
- package/fesm2022/slotted-angular-page.mjs.map +1 -0
- package/fesm2022/slotted-angular-pagination.mjs +562 -0
- package/fesm2022/slotted-angular-pagination.mjs.map +1 -0
- package/fesm2022/slotted-angular-popover.mjs +799 -0
- package/fesm2022/slotted-angular-popover.mjs.map +1 -0
- package/fesm2022/slotted-angular-progress-indicator.mjs +572 -0
- package/fesm2022/slotted-angular-progress-indicator.mjs.map +1 -0
- package/fesm2022/slotted-angular-prompt-composer.mjs +596 -0
- package/fesm2022/slotted-angular-prompt-composer.mjs.map +1 -0
- package/fesm2022/slotted-angular-prose.mjs +314 -0
- package/fesm2022/slotted-angular-prose.mjs.map +1 -0
- package/fesm2022/slotted-angular-radio-group.mjs +469 -0
- package/fesm2022/slotted-angular-radio-group.mjs.map +1 -0
- package/fesm2022/slotted-angular-rating.mjs +1174 -0
- package/fesm2022/slotted-angular-rating.mjs.map +1 -0
- package/fesm2022/slotted-angular-result-state.mjs +330 -0
- package/fesm2022/slotted-angular-result-state.mjs.map +1 -0
- package/fesm2022/slotted-angular-saved-views.mjs +877 -0
- package/fesm2022/slotted-angular-saved-views.mjs.map +1 -0
- package/fesm2022/slotted-angular-scroll-area.mjs +294 -0
- package/fesm2022/slotted-angular-scroll-area.mjs.map +1 -0
- package/fesm2022/slotted-angular-section.mjs +266 -0
- package/fesm2022/slotted-angular-section.mjs.map +1 -0
- package/fesm2022/slotted-angular-segmented-control.mjs +454 -0
- package/fesm2022/slotted-angular-segmented-control.mjs.map +1 -0
- package/fesm2022/slotted-angular-select.mjs +1899 -0
- package/fesm2022/slotted-angular-select.mjs.map +1 -0
- package/fesm2022/slotted-angular-side-navigation.mjs +1042 -0
- package/fesm2022/slotted-angular-side-navigation.mjs.map +1 -0
- package/fesm2022/slotted-angular-skeleton.mjs +316 -0
- package/fesm2022/slotted-angular-skeleton.mjs.map +1 -0
- package/fesm2022/slotted-angular-slider.mjs +586 -0
- package/fesm2022/slotted-angular-slider.mjs.map +1 -0
- package/fesm2022/slotted-angular-sparkline.mjs +235 -0
- package/fesm2022/slotted-angular-sparkline.mjs.map +1 -0
- package/fesm2022/slotted-angular-split-button.mjs +331 -0
- package/fesm2022/slotted-angular-split-button.mjs.map +1 -0
- package/fesm2022/slotted-angular-splitter.mjs +516 -0
- package/fesm2022/slotted-angular-splitter.mjs.map +1 -0
- package/fesm2022/slotted-angular-stack.mjs +48 -0
- package/fesm2022/slotted-angular-stack.mjs.map +1 -0
- package/fesm2022/slotted-angular-stat-card.mjs +478 -0
- package/fesm2022/slotted-angular-stat-card.mjs.map +1 -0
- package/fesm2022/slotted-angular-status-indicator.mjs +155 -0
- package/fesm2022/slotted-angular-status-indicator.mjs.map +1 -0
- package/fesm2022/slotted-angular-stepper.mjs +536 -0
- package/fesm2022/slotted-angular-stepper.mjs.map +1 -0
- package/fesm2022/slotted-angular-switch.mjs +447 -0
- package/fesm2022/slotted-angular-switch.mjs.map +1 -0
- package/fesm2022/slotted-angular-table-of-contents.mjs +750 -0
- package/fesm2022/slotted-angular-table-of-contents.mjs.map +1 -0
- package/fesm2022/slotted-angular-table.mjs +2518 -0
- package/fesm2022/slotted-angular-table.mjs.map +1 -0
- package/fesm2022/slotted-angular-tabs.mjs +829 -0
- package/fesm2022/slotted-angular-tabs.mjs.map +1 -0
- package/fesm2022/slotted-angular-tag.mjs +595 -0
- package/fesm2022/slotted-angular-tag.mjs.map +1 -0
- package/fesm2022/slotted-angular-tags-input.mjs +1211 -0
- package/fesm2022/slotted-angular-tags-input.mjs.map +1 -0
- package/fesm2022/slotted-angular-text-field.mjs +674 -0
- package/fesm2022/slotted-angular-text-field.mjs.map +1 -0
- package/fesm2022/slotted-angular-textarea.mjs +275 -0
- package/fesm2022/slotted-angular-textarea.mjs.map +1 -0
- package/fesm2022/slotted-angular-theme.mjs +45 -0
- package/fesm2022/slotted-angular-theme.mjs.map +1 -0
- package/fesm2022/slotted-angular-time-field.mjs +895 -0
- package/fesm2022/slotted-angular-time-field.mjs.map +1 -0
- package/fesm2022/slotted-angular-time-picker.mjs +856 -0
- package/fesm2022/slotted-angular-time-picker.mjs.map +1 -0
- package/fesm2022/slotted-angular-time-range-picker.mjs +1534 -0
- package/fesm2022/slotted-angular-time-range-picker.mjs.map +1 -0
- package/fesm2022/slotted-angular-timeline.mjs +928 -0
- package/fesm2022/slotted-angular-timeline.mjs.map +1 -0
- package/fesm2022/slotted-angular-toast.mjs +917 -0
- package/fesm2022/slotted-angular-toast.mjs.map +1 -0
- package/fesm2022/slotted-angular-toggle-group.mjs +311 -0
- package/fesm2022/slotted-angular-toggle-group.mjs.map +1 -0
- package/fesm2022/slotted-angular-toggle.mjs +162 -0
- package/fesm2022/slotted-angular-toggle.mjs.map +1 -0
- package/fesm2022/slotted-angular-toolbar.mjs +536 -0
- package/fesm2022/slotted-angular-toolbar.mjs.map +1 -0
- package/fesm2022/slotted-angular-tooltip.mjs +798 -0
- package/fesm2022/slotted-angular-tooltip.mjs.map +1 -0
- package/fesm2022/slotted-angular-top-navigation.mjs +1308 -0
- package/fesm2022/slotted-angular-top-navigation.mjs.map +1 -0
- package/fesm2022/slotted-angular-tour.mjs +1330 -0
- package/fesm2022/slotted-angular-tour.mjs.map +1 -0
- package/fesm2022/slotted-angular-transfer.mjs +1406 -0
- package/fesm2022/slotted-angular-transfer.mjs.map +1 -0
- package/fesm2022/slotted-angular-tree.mjs +1448 -0
- package/fesm2022/slotted-angular-tree.mjs.map +1 -0
- package/fesm2022/slotted-angular-typography.mjs +184 -0
- package/fesm2022/slotted-angular-typography.mjs.map +1 -0
- package/fesm2022/slotted-angular-upload.mjs +1523 -0
- package/fesm2022/slotted-angular-upload.mjs.map +1 -0
- package/fesm2022/slotted-angular-visually-hidden.mjs +32 -0
- package/fesm2022/slotted-angular-visually-hidden.mjs.map +1 -0
- package/fesm2022/slotted-angular-wizard.mjs +1715 -0
- package/fesm2022/slotted-angular-wizard.mjs.map +1 -0
- package/fesm2022/slotted-angular.mjs +4 -0
- package/fesm2022/slotted-angular.mjs.map +1 -0
- package/package.json +537 -3
- package/types/slotted-angular-accordion.d.ts +156 -0
- package/types/slotted-angular-accordion.d.ts.map +1 -0
- package/types/slotted-angular-action-bar.d.ts +291 -0
- package/types/slotted-angular-action-bar.d.ts.map +1 -0
- package/types/slotted-angular-action-sheet.d.ts +294 -0
- package/types/slotted-angular-action-sheet.d.ts.map +1 -0
- package/types/slotted-angular-alert.d.ts +214 -0
- package/types/slotted-angular-alert.d.ts.map +1 -0
- package/types/slotted-angular-app-shell.d.ts +549 -0
- package/types/slotted-angular-app-shell.d.ts.map +1 -0
- package/types/slotted-angular-aspect-ratio.d.ts +57 -0
- package/types/slotted-angular-aspect-ratio.d.ts.map +1 -0
- package/types/slotted-angular-attachment.d.ts +294 -0
- package/types/slotted-angular-attachment.d.ts.map +1 -0
- package/types/slotted-angular-avatar-group.d.ts +119 -0
- package/types/slotted-angular-avatar-group.d.ts.map +1 -0
- package/types/slotted-angular-avatar.d.ts +202 -0
- package/types/slotted-angular-avatar.d.ts.map +1 -0
- package/types/slotted-angular-badge.d.ts +166 -0
- package/types/slotted-angular-badge.d.ts.map +1 -0
- package/types/slotted-angular-breadcrumb.d.ts +251 -0
- package/types/slotted-angular-breadcrumb.d.ts.map +1 -0
- package/types/slotted-angular-button-group.d.ts +89 -0
- package/types/slotted-angular-button-group.d.ts.map +1 -0
- package/types/slotted-angular-button.d.ts +390 -0
- package/types/slotted-angular-button.d.ts.map +1 -0
- package/types/slotted-angular-calendar.d.ts +280 -0
- package/types/slotted-angular-calendar.d.ts.map +1 -0
- package/types/slotted-angular-card.d.ts +140 -0
- package/types/slotted-angular-card.d.ts.map +1 -0
- package/types/slotted-angular-carousel.d.ts +288 -0
- package/types/slotted-angular-carousel.d.ts.map +1 -0
- package/types/slotted-angular-cascader.d.ts +351 -0
- package/types/slotted-angular-cascader.d.ts.map +1 -0
- package/types/slotted-angular-chart.d.ts +319 -0
- package/types/slotted-angular-chart.d.ts.map +1 -0
- package/types/slotted-angular-checkbox-group.d.ts +156 -0
- package/types/slotted-angular-checkbox-group.d.ts.map +1 -0
- package/types/slotted-angular-checkbox.d.ts +197 -0
- package/types/slotted-angular-checkbox.d.ts.map +1 -0
- package/types/slotted-angular-code-block.d.ts +158 -0
- package/types/slotted-angular-code-block.d.ts.map +1 -0
- package/types/slotted-angular-collapsible.d.ts +272 -0
- package/types/slotted-angular-collapsible.d.ts.map +1 -0
- package/types/slotted-angular-color-picker.d.ts +181 -0
- package/types/slotted-angular-color-picker.d.ts.map +1 -0
- package/types/slotted-angular-column-manager.d.ts +200 -0
- package/types/slotted-angular-column-manager.d.ts.map +1 -0
- package/types/slotted-angular-combobox.d.ts +449 -0
- package/types/slotted-angular-combobox.d.ts.map +1 -0
- package/types/slotted-angular-command-palette.d.ts +256 -0
- package/types/slotted-angular-command-palette.d.ts.map +1 -0
- package/types/slotted-angular-container.d.ts +84 -0
- package/types/slotted-angular-container.d.ts.map +1 -0
- package/types/slotted-angular-context-menu.d.ts +84 -0
- package/types/slotted-angular-context-menu.d.ts.map +1 -0
- package/types/slotted-angular-currency-field.d.ts +480 -0
- package/types/slotted-angular-currency-field.d.ts.map +1 -0
- package/types/slotted-angular-dashboard-grid.d.ts +341 -0
- package/types/slotted-angular-dashboard-grid.d.ts.map +1 -0
- package/types/slotted-angular-data-grid.d.ts +1077 -0
- package/types/slotted-angular-data-grid.d.ts.map +1 -0
- package/types/slotted-angular-data-list.d.ts +272 -0
- package/types/slotted-angular-data-list.d.ts.map +1 -0
- package/types/slotted-angular-date-field.d.ts +320 -0
- package/types/slotted-angular-date-field.d.ts.map +1 -0
- package/types/slotted-angular-date-picker.d.ts +224 -0
- package/types/slotted-angular-date-picker.d.ts.map +1 -0
- package/types/slotted-angular-date-range-picker.d.ts +310 -0
- package/types/slotted-angular-date-range-picker.d.ts.map +1 -0
- package/types/slotted-angular-datetime-field.d.ts +362 -0
- package/types/slotted-angular-datetime-field.d.ts.map +1 -0
- package/types/slotted-angular-datetime-picker.d.ts +370 -0
- package/types/slotted-angular-datetime-picker.d.ts.map +1 -0
- package/types/slotted-angular-datetime-range-picker.d.ts +459 -0
- package/types/slotted-angular-datetime-range-picker.d.ts.map +1 -0
- package/types/slotted-angular-description-list.d.ts +281 -0
- package/types/slotted-angular-description-list.d.ts.map +1 -0
- package/types/slotted-angular-detail-panel.d.ts +240 -0
- package/types/slotted-angular-detail-panel.d.ts.map +1 -0
- package/types/slotted-angular-dialog.d.ts +497 -0
- package/types/slotted-angular-dialog.d.ts.map +1 -0
- package/types/slotted-angular-divider.d.ts +40 -0
- package/types/slotted-angular-divider.d.ts.map +1 -0
- package/types/slotted-angular-drawer.d.ts +532 -0
- package/types/slotted-angular-drawer.d.ts.map +1 -0
- package/types/slotted-angular-entity-picker.d.ts +338 -0
- package/types/slotted-angular-entity-picker.d.ts.map +1 -0
- package/types/slotted-angular-event-calendar.d.ts +574 -0
- package/types/slotted-angular-event-calendar.d.ts.map +1 -0
- package/types/slotted-angular-field-group.d.ts +152 -0
- package/types/slotted-angular-field-group.d.ts.map +1 -0
- package/types/slotted-angular-field.d.ts +535 -0
- package/types/slotted-angular-field.d.ts.map +1 -0
- package/types/slotted-angular-filter-bar.d.ts +573 -0
- package/types/slotted-angular-filter-bar.d.ts.map +1 -0
- package/types/slotted-angular-form.d.ts +298 -0
- package/types/slotted-angular-form.d.ts.map +1 -0
- package/types/slotted-angular-fullscreen.d.ts +145 -0
- package/types/slotted-angular-fullscreen.d.ts.map +1 -0
- package/types/slotted-angular-grid.d.ts +50 -0
- package/types/slotted-angular-grid.d.ts.map +1 -0
- package/types/slotted-angular-highlight.d.ts +93 -0
- package/types/slotted-angular-highlight.d.ts.map +1 -0
- package/types/slotted-angular-hover-card.d.ts +140 -0
- package/types/slotted-angular-hover-card.d.ts.map +1 -0
- package/types/slotted-angular-i18n.d.ts +46 -0
- package/types/slotted-angular-i18n.d.ts.map +1 -0
- package/types/slotted-angular-icon.d.ts +94 -0
- package/types/slotted-angular-icon.d.ts.map +1 -0
- package/types/slotted-angular-image.d.ts +251 -0
- package/types/slotted-angular-image.d.ts.map +1 -0
- package/types/slotted-angular-import-export-center.d.ts +351 -0
- package/types/slotted-angular-import-export-center.d.ts.map +1 -0
- package/types/slotted-angular-inline-message.d.ts +195 -0
- package/types/slotted-angular-inline-message.d.ts.map +1 -0
- package/types/slotted-angular-inline.d.ts +41 -0
- package/types/slotted-angular-inline.d.ts.map +1 -0
- package/types/slotted-angular-kbd.d.ts +174 -0
- package/types/slotted-angular-kbd.d.ts.map +1 -0
- package/types/slotted-angular-link.d.ts +94 -0
- package/types/slotted-angular-link.d.ts.map +1 -0
- package/types/slotted-angular-list-item.d.ts +210 -0
- package/types/slotted-angular-list-item.d.ts.map +1 -0
- package/types/slotted-angular-list.d.ts +176 -0
- package/types/slotted-angular-list.d.ts.map +1 -0
- package/types/slotted-angular-listbox.d.ts +470 -0
- package/types/slotted-angular-listbox.d.ts.map +1 -0
- package/types/slotted-angular-loading-overlay.d.ts +219 -0
- package/types/slotted-angular-loading-overlay.d.ts.map +1 -0
- package/types/slotted-angular-markdown.d.ts +172 -0
- package/types/slotted-angular-markdown.d.ts.map +1 -0
- package/types/slotted-angular-menu.d.ts +448 -0
- package/types/slotted-angular-menu.d.ts.map +1 -0
- package/types/slotted-angular-menubar.d.ts +90 -0
- package/types/slotted-angular-menubar.d.ts.map +1 -0
- package/types/slotted-angular-message-scroller.d.ts +151 -0
- package/types/slotted-angular-message-scroller.d.ts.map +1 -0
- package/types/slotted-angular-message.d.ts +348 -0
- package/types/slotted-angular-message.d.ts.map +1 -0
- package/types/slotted-angular-multi-select.d.ts +462 -0
- package/types/slotted-angular-multi-select.d.ts.map +1 -0
- package/types/slotted-angular-navigation-menu.d.ts +309 -0
- package/types/slotted-angular-navigation-menu.d.ts.map +1 -0
- package/types/slotted-angular-notification-center.d.ts +318 -0
- package/types/slotted-angular-notification-center.d.ts.map +1 -0
- package/types/slotted-angular-number-field.d.ts +402 -0
- package/types/slotted-angular-number-field.d.ts.map +1 -0
- package/types/slotted-angular-otp-input.d.ts +286 -0
- package/types/slotted-angular-otp-input.d.ts.map +1 -0
- package/types/slotted-angular-page-header.d.ts +334 -0
- package/types/slotted-angular-page-header.d.ts.map +1 -0
- package/types/slotted-angular-page.d.ts +141 -0
- package/types/slotted-angular-page.d.ts.map +1 -0
- package/types/slotted-angular-pagination.d.ts +213 -0
- package/types/slotted-angular-pagination.d.ts.map +1 -0
- package/types/slotted-angular-popover.d.ts +366 -0
- package/types/slotted-angular-popover.d.ts.map +1 -0
- package/types/slotted-angular-progress-indicator.d.ts +312 -0
- package/types/slotted-angular-progress-indicator.d.ts.map +1 -0
- package/types/slotted-angular-prompt-composer.d.ts +242 -0
- package/types/slotted-angular-prompt-composer.d.ts.map +1 -0
- package/types/slotted-angular-prose.d.ts +171 -0
- package/types/slotted-angular-prose.d.ts.map +1 -0
- package/types/slotted-angular-radio-group.d.ts +268 -0
- package/types/slotted-angular-radio-group.d.ts.map +1 -0
- package/types/slotted-angular-rating.d.ts +374 -0
- package/types/slotted-angular-rating.d.ts.map +1 -0
- package/types/slotted-angular-result-state.d.ts +217 -0
- package/types/slotted-angular-result-state.d.ts.map +1 -0
- package/types/slotted-angular-saved-views.d.ts +198 -0
- package/types/slotted-angular-saved-views.d.ts.map +1 -0
- package/types/slotted-angular-scroll-area.d.ts +186 -0
- package/types/slotted-angular-scroll-area.d.ts.map +1 -0
- package/types/slotted-angular-section.d.ts +143 -0
- package/types/slotted-angular-section.d.ts.map +1 -0
- package/types/slotted-angular-segmented-control.d.ts +251 -0
- package/types/slotted-angular-segmented-control.d.ts.map +1 -0
- package/types/slotted-angular-select.d.ts +507 -0
- package/types/slotted-angular-select.d.ts.map +1 -0
- package/types/slotted-angular-side-navigation.d.ts +373 -0
- package/types/slotted-angular-side-navigation.d.ts.map +1 -0
- package/types/slotted-angular-skeleton.d.ts +198 -0
- package/types/slotted-angular-skeleton.d.ts.map +1 -0
- package/types/slotted-angular-slider.d.ts +216 -0
- package/types/slotted-angular-slider.d.ts.map +1 -0
- package/types/slotted-angular-sparkline.d.ts +106 -0
- package/types/slotted-angular-sparkline.d.ts.map +1 -0
- package/types/slotted-angular-split-button.d.ts +180 -0
- package/types/slotted-angular-split-button.d.ts.map +1 -0
- package/types/slotted-angular-splitter.d.ts +206 -0
- package/types/slotted-angular-splitter.d.ts.map +1 -0
- package/types/slotted-angular-stack.d.ts +38 -0
- package/types/slotted-angular-stack.d.ts.map +1 -0
- package/types/slotted-angular-stat-card.d.ts +232 -0
- package/types/slotted-angular-stat-card.d.ts.map +1 -0
- package/types/slotted-angular-status-indicator.d.ts +106 -0
- package/types/slotted-angular-status-indicator.d.ts.map +1 -0
- package/types/slotted-angular-stepper.d.ts +198 -0
- package/types/slotted-angular-stepper.d.ts.map +1 -0
- package/types/slotted-angular-switch.d.ts +243 -0
- package/types/slotted-angular-switch.d.ts.map +1 -0
- package/types/slotted-angular-table-of-contents.d.ts +210 -0
- package/types/slotted-angular-table-of-contents.d.ts.map +1 -0
- package/types/slotted-angular-table.d.ts +888 -0
- package/types/slotted-angular-table.d.ts.map +1 -0
- package/types/slotted-angular-tabs.d.ts +340 -0
- package/types/slotted-angular-tabs.d.ts.map +1 -0
- package/types/slotted-angular-tag.d.ts +279 -0
- package/types/slotted-angular-tag.d.ts.map +1 -0
- package/types/slotted-angular-tags-input.d.ts +302 -0
- package/types/slotted-angular-tags-input.d.ts.map +1 -0
- package/types/slotted-angular-text-field.d.ts +334 -0
- package/types/slotted-angular-text-field.d.ts.map +1 -0
- package/types/slotted-angular-textarea.d.ts +150 -0
- package/types/slotted-angular-textarea.d.ts.map +1 -0
- package/types/slotted-angular-theme.d.ts +26 -0
- package/types/slotted-angular-theme.d.ts.map +1 -0
- package/types/slotted-angular-time-field.d.ts +300 -0
- package/types/slotted-angular-time-field.d.ts.map +1 -0
- package/types/slotted-angular-time-picker.d.ts +260 -0
- package/types/slotted-angular-time-picker.d.ts.map +1 -0
- package/types/slotted-angular-time-range-picker.d.ts +401 -0
- package/types/slotted-angular-time-range-picker.d.ts.map +1 -0
- package/types/slotted-angular-timeline.d.ts +329 -0
- package/types/slotted-angular-timeline.d.ts.map +1 -0
- package/types/slotted-angular-toast.d.ts +340 -0
- package/types/slotted-angular-toast.d.ts.map +1 -0
- package/types/slotted-angular-toggle-group.d.ts +167 -0
- package/types/slotted-angular-toggle-group.d.ts.map +1 -0
- package/types/slotted-angular-toggle.d.ts +106 -0
- package/types/slotted-angular-toggle.d.ts.map +1 -0
- package/types/slotted-angular-toolbar.d.ts +252 -0
- package/types/slotted-angular-toolbar.d.ts.map +1 -0
- package/types/slotted-angular-tooltip.d.ts +388 -0
- package/types/slotted-angular-tooltip.d.ts.map +1 -0
- package/types/slotted-angular-top-navigation.d.ts +442 -0
- package/types/slotted-angular-top-navigation.d.ts.map +1 -0
- package/types/slotted-angular-tour.d.ts +440 -0
- package/types/slotted-angular-tour.d.ts.map +1 -0
- package/types/slotted-angular-transfer.d.ts +296 -0
- package/types/slotted-angular-transfer.d.ts.map +1 -0
- package/types/slotted-angular-tree.d.ts +499 -0
- package/types/slotted-angular-tree.d.ts.map +1 -0
- package/types/slotted-angular-typography.d.ts +89 -0
- package/types/slotted-angular-typography.d.ts.map +1 -0
- package/types/slotted-angular-upload.d.ts +365 -0
- package/types/slotted-angular-upload.d.ts.map +1 -0
- package/types/slotted-angular-visually-hidden.d.ts +19 -0
- package/types/slotted-angular-visually-hidden.d.ts.map +1 -0
- package/types/slotted-angular-wizard.d.ts +441 -0
- package/types/slotted-angular-wizard.d.ts.map +1 -0
- package/types/slotted-angular.d.ts +3 -0
- package/types/slotted-angular.d.ts.map +1 -0
|
@@ -0,0 +1,546 @@
|
|
|
1
|
+
<!-- index: ./index.md -->
|
|
2
|
+
# checkbox
|
|
3
|
+
|
|
4
|
+
`data-ui="checkbox"` · Box that turns one option on or off.
|
|
5
|
+
|
|
6
|
+
## Examples
|
|
7
|
+
|
|
8
|
+
### Playground
|
|
9
|
+
|
|
10
|
+
One box with every axis on it, driven by the controls below the canvas. Click the label, not only the box: the target runs from the square to the end of the text.
|
|
11
|
+
|
|
12
|
+
Excerpt — not a complete module
|
|
13
|
+
|
|
14
|
+
```html
|
|
15
|
+
<div slCheckbox defaultChecked>
|
|
16
|
+
Enviar recibo
|
|
17
|
+
<p slCheckboxDescription>Enviaremos o recibo por e-mail.</p>
|
|
18
|
+
</div>
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
### The step the box sits at
|
|
22
|
+
|
|
23
|
+
The square is the control glyph scale, so the three steps shrink together with the type and the gap when the toolbar switches to dense — and the label keeps its 24-pixel target at every one of them.
|
|
24
|
+
|
|
25
|
+
Example
|
|
26
|
+
|
|
27
|
+
```ts
|
|
28
|
+
import { Component } from '@angular/core';
|
|
29
|
+
import { SlCheckbox } from '@slotted/angular/checkbox';
|
|
30
|
+
import { SlStack } from '@slotted/angular/stack';
|
|
31
|
+
|
|
32
|
+
@Component({
|
|
33
|
+
selector: 'app-checkbox-sizes',
|
|
34
|
+
imports: [SlCheckbox, SlStack],
|
|
35
|
+
template: `
|
|
36
|
+
<div slStack [gap]="4">
|
|
37
|
+
<div slCheckbox size="sm" defaultChecked>Show archived orders</div>
|
|
38
|
+
<div slCheckbox size="md" defaultChecked>Notify the warehouse</div>
|
|
39
|
+
<div slCheckbox size="lg" defaultChecked>Remember this device</div>
|
|
40
|
+
</div>
|
|
41
|
+
`,
|
|
42
|
+
})
|
|
43
|
+
export class CheckboxSizes {}
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
### The choice as a framed surface
|
|
47
|
+
|
|
48
|
+
Click anywhere inside a tile, not only the box: the label’s hit area stretches over the whole surface, so the target is the frame. Chosen says it with a two-pixel accent edge as well as a tint, because the high-contrast scheme flattens every tint to white and only the width survives.
|
|
49
|
+
|
|
50
|
+
Example
|
|
51
|
+
|
|
52
|
+
```ts
|
|
53
|
+
import { Component } from '@angular/core';
|
|
54
|
+
import { SlCheckbox, SlCheckboxDescription } from '@slotted/angular/checkbox';
|
|
55
|
+
import { SlGrid } from '@slotted/angular/grid';
|
|
56
|
+
|
|
57
|
+
@Component({
|
|
58
|
+
selector: 'app-checkbox-tile',
|
|
59
|
+
imports: [SlCheckbox, SlCheckboxDescription, SlGrid],
|
|
60
|
+
template: `
|
|
61
|
+
<div slGrid [gap]="4" minItemWidth="sm">
|
|
62
|
+
<div slCheckbox variant="tile" defaultChecked>
|
|
63
|
+
Daily backup
|
|
64
|
+
<p slCheckboxDescription>One copy a day, kept for 30 days.</p>
|
|
65
|
+
</div>
|
|
66
|
+
<div slCheckbox variant="tile">
|
|
67
|
+
Audit log
|
|
68
|
+
<p slCheckboxDescription>Who changed what, and when, exported as CSV.</p>
|
|
69
|
+
</div>
|
|
70
|
+
<div slCheckbox variant="tile" disabled>
|
|
71
|
+
Secondary region
|
|
72
|
+
<p slCheckboxDescription>Available on the Scale plan.</p>
|
|
73
|
+
</div>
|
|
74
|
+
</div>
|
|
75
|
+
`,
|
|
76
|
+
})
|
|
77
|
+
export class CheckboxTile {}
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
### Every state the box paints
|
|
81
|
+
|
|
82
|
+
Read-only keeps full-strength ink, its ring and its tab stop, because the value is real and still submitted; disabled loses all three. Invalid thickens the border as well as reddening it, because the high-contrast scheme paints every border the same black.
|
|
83
|
+
|
|
84
|
+
Example
|
|
85
|
+
|
|
86
|
+
```ts
|
|
87
|
+
import { Component } from '@angular/core';
|
|
88
|
+
import { SlCheckbox, SlCheckboxDescription } from '@slotted/angular/checkbox';
|
|
89
|
+
import { SlStack } from '@slotted/angular/stack';
|
|
90
|
+
|
|
91
|
+
@Component({
|
|
92
|
+
selector: 'app-checkbox-states',
|
|
93
|
+
imports: [SlCheckbox, SlCheckboxDescription, SlStack],
|
|
94
|
+
template: `
|
|
95
|
+
<div slStack [gap]="4">
|
|
96
|
+
<div slCheckbox readOnly defaultChecked>
|
|
97
|
+
Tax exempt
|
|
98
|
+
<p slCheckboxDescription>Set by the customer's tax certificate.</p>
|
|
99
|
+
</div>
|
|
100
|
+
<div slCheckbox disabled>
|
|
101
|
+
Same-day delivery
|
|
102
|
+
<p slCheckboxDescription>Not offered from the Seattle warehouse.</p>
|
|
103
|
+
</div>
|
|
104
|
+
<div slCheckbox invalid>
|
|
105
|
+
I counted every item on shelf A-14
|
|
106
|
+
<p slCheckboxDescription>Confirm the count before closing the cycle.</p>
|
|
107
|
+
</div>
|
|
108
|
+
</div>
|
|
109
|
+
`,
|
|
110
|
+
})
|
|
111
|
+
export class CheckboxStates {}
|
|
112
|
+
```
|
|
113
|
+
|
|
114
|
+
### The mixed state, and the box that commands a set
|
|
115
|
+
|
|
116
|
+
Mixed is a state and never a third value: the form still submits a boolean. Tick the parent and the whole set follows; untick one child and the parent goes back to the dash on its own.
|
|
117
|
+
|
|
118
|
+
Example
|
|
119
|
+
|
|
120
|
+
```ts
|
|
121
|
+
import { Component, computed, signal } from '@angular/core';
|
|
122
|
+
import { SlCheckbox, SlCheckboxDescription } from '@slotted/angular/checkbox';
|
|
123
|
+
import { SlStack } from '@slotted/angular/stack';
|
|
124
|
+
import { SlText } from '@slotted/angular/typography';
|
|
125
|
+
|
|
126
|
+
function summary(taxable: boolean | 'mixed'): string {
|
|
127
|
+
if (taxable === 'mixed') return 'Taxed on 2 of the 3 selected products.';
|
|
128
|
+
return taxable
|
|
129
|
+
? 'All 3 selected products will be taxed.'
|
|
130
|
+
: 'None of the 3 selected products will be taxed.';
|
|
131
|
+
}
|
|
132
|
+
|
|
133
|
+
@Component({
|
|
134
|
+
selector: 'app-checkbox-indeterminate',
|
|
135
|
+
imports: [SlCheckbox, SlCheckboxDescription, SlStack, SlText],
|
|
136
|
+
template: `
|
|
137
|
+
<div slStack [gap]="3">
|
|
138
|
+
<span slText weight="medium">Edit 3 products</span>
|
|
139
|
+
<div
|
|
140
|
+
slCheckbox
|
|
141
|
+
[checked]="taxable() === true"
|
|
142
|
+
[indeterminate]="taxable() === 'mixed'"
|
|
143
|
+
(checkedChange)="taxable.set($event.value)"
|
|
144
|
+
>
|
|
145
|
+
Taxable
|
|
146
|
+
<p slCheckboxDescription>{{ summary() }}</p>
|
|
147
|
+
</div>
|
|
148
|
+
</div>
|
|
149
|
+
`,
|
|
150
|
+
})
|
|
151
|
+
export class CheckboxIndeterminate {
|
|
152
|
+
readonly taxable = signal<boolean | 'mixed'>('mixed');
|
|
153
|
+
readonly summary = computed(() => summary(this.taxable()));
|
|
154
|
+
}
|
|
155
|
+
```
|
|
156
|
+
|
|
157
|
+
### Which side of its label the box is on
|
|
158
|
+
|
|
159
|
+
start pushes the box to the end of the row, which is where a settings list puts a control — and it is why the column is a fraction rather than the label’s own width: five boxes have to line up with each other.
|
|
160
|
+
|
|
161
|
+
Example
|
|
162
|
+
|
|
163
|
+
```ts
|
|
164
|
+
import { Component } from '@angular/core';
|
|
165
|
+
import { SlCheckbox } from '@slotted/angular/checkbox';
|
|
166
|
+
import { SlStack } from '@slotted/angular/stack';
|
|
167
|
+
|
|
168
|
+
@Component({
|
|
169
|
+
selector: 'app-checkbox-placement',
|
|
170
|
+
imports: [SlCheckbox, SlStack],
|
|
171
|
+
template: `
|
|
172
|
+
<div slStack [gap]="3">
|
|
173
|
+
<div slCheckbox labelPlacement="start" defaultChecked>Email when an order ships</div>
|
|
174
|
+
<div slCheckbox labelPlacement="start">Email when stock runs low</div>
|
|
175
|
+
<div slCheckbox labelPlacement="start" defaultChecked>Weekly sales digest</div>
|
|
176
|
+
</div>
|
|
177
|
+
`,
|
|
178
|
+
})
|
|
179
|
+
export class CheckboxPlacement {}
|
|
180
|
+
```
|
|
181
|
+
|
|
182
|
+
### Saying more than the label does
|
|
183
|
+
|
|
184
|
+
The description aligns under the label rather than under the box, in both placements and both writing directions, and it is announced as the control’s description rather than as part of its name.
|
|
185
|
+
|
|
186
|
+
Example
|
|
187
|
+
|
|
188
|
+
```ts
|
|
189
|
+
import { Component } from '@angular/core';
|
|
190
|
+
import { SlCheckbox, SlCheckboxDescription } from '@slotted/angular/checkbox';
|
|
191
|
+
import { SlStack } from '@slotted/angular/stack';
|
|
192
|
+
|
|
193
|
+
@Component({
|
|
194
|
+
selector: 'app-checkbox-description',
|
|
195
|
+
imports: [SlCheckbox, SlCheckboxDescription, SlStack],
|
|
196
|
+
template: `
|
|
197
|
+
<div slStack [gap]="4">
|
|
198
|
+
<div slCheckbox defaultChecked>
|
|
199
|
+
Email me when a payment fails
|
|
200
|
+
<p slCheckboxDescription>One message per failed payment, sent to the billing contact.</p>
|
|
201
|
+
</div>
|
|
202
|
+
<div slCheckbox>
|
|
203
|
+
Send a daily summary instead
|
|
204
|
+
<p slCheckboxDescription>
|
|
205
|
+
Sent at 08:00 in the account's time zone, and skipped on days with no failures.
|
|
206
|
+
</p>
|
|
207
|
+
</div>
|
|
208
|
+
</div>
|
|
209
|
+
`,
|
|
210
|
+
})
|
|
211
|
+
export class CheckboxDescription {}
|
|
212
|
+
```
|
|
213
|
+
|
|
214
|
+
### Inside a field, and in a reactive form
|
|
215
|
+
|
|
216
|
+
The box reads the field for its step and its four shared states and never for its identifier, and the same element is where formControlName goes — the value accessor is on the root.
|
|
217
|
+
|
|
218
|
+
Excerpt — not a complete module
|
|
219
|
+
|
|
220
|
+
```html
|
|
221
|
+
<fieldset slFieldGroup required>
|
|
222
|
+
<legend slFieldGroupLegend>Notificações</legend>
|
|
223
|
+
<div slCheckboxGroup name="alerts" formControlName="alerts">
|
|
224
|
+
<div slCheckbox value="approved">Pedido aprovado</div>
|
|
225
|
+
<div slCheckbox value="refused">Pedido recusado</div>
|
|
226
|
+
</div>
|
|
227
|
+
</fieldset>
|
|
228
|
+
```
|
|
229
|
+
|
|
230
|
+
### Content the family did not choose
|
|
231
|
+
|
|
232
|
+
A label that wraps to three lines keeps the box on the first of them rather than in the middle of the block, an unbroken token breaks instead of taking the page with it, and a right-to-left label mirrors the whole row.
|
|
233
|
+
|
|
234
|
+
Excerpt — not a complete module
|
|
235
|
+
|
|
236
|
+
```html
|
|
237
|
+
<div slCheckbox>
|
|
238
|
+
Concordo em receber comunicações sobre alterações contratuais e prazos de entrega.
|
|
239
|
+
<p slCheckboxDescription>A caixa continua na primeira linha do rótulo.</p>
|
|
240
|
+
</div>
|
|
241
|
+
|
|
242
|
+
<div slCheckbox dir="rtl">أوافق على تلقي رسائل حول التغييرات في العقد.</div>
|
|
243
|
+
```
|
|
244
|
+
|
|
245
|
+
### Setting it once, and reaching past it
|
|
246
|
+
|
|
247
|
+
The token carries the two decisions an application takes once, exportAs reaches the instance and the native element behind it, and the root is the consumer’s own element rather than one the family renders.
|
|
248
|
+
|
|
249
|
+
Excerpt — not a complete module
|
|
250
|
+
|
|
251
|
+
```html
|
|
252
|
+
<!-- exportAs reaches the instance; inputElement reaches the input,
|
|
253
|
+
which already has focus() and click(). -->
|
|
254
|
+
<div slCheckbox #box="slCheckbox">Uma caixa</div>
|
|
255
|
+
<button type="button" (click)="box.inputElement.focus()">Focar</button>
|
|
256
|
+
```
|
|
257
|
+
|
|
258
|
+
### What the keyboard does, and who implements it
|
|
259
|
+
|
|
260
|
+
Space toggles and Enter submits the form, and neither is a listener this family writes: the control is a native checkbox, so the whole table is the platform’s and arrives translated and mirrored for free.
|
|
261
|
+
|
|
262
|
+
Excerpt — not a complete module
|
|
263
|
+
|
|
264
|
+
```html
|
|
265
|
+
<!-- Space and a pointer arrive as one click. A click synthesised by the
|
|
266
|
+
keyboard reports no detail, which is how the reason is told apart
|
|
267
|
+
without a key listener existing anywhere in the family. -->
|
|
268
|
+
<div slCheckbox (checkedChange)="log($event.reason)">Marque com o teclado</div>
|
|
269
|
+
```
|
|
270
|
+
|
|
271
|
+
### controlled.ts
|
|
272
|
+
|
|
273
|
+
Example
|
|
274
|
+
|
|
275
|
+
```ts
|
|
276
|
+
import { Component, signal } from '@angular/core';
|
|
277
|
+
import { SlCheckbox, SlCheckboxDescription } from '@slotted/angular/checkbox';
|
|
278
|
+
import { SlField, SlFieldLabel } from '@slotted/angular/field';
|
|
279
|
+
import { SlStack } from '@slotted/angular/stack';
|
|
280
|
+
import { SlTextField, SlTextFieldInput } from '@slotted/angular/text-field';
|
|
281
|
+
|
|
282
|
+
@Component({
|
|
283
|
+
selector: 'app-checkbox-controlled',
|
|
284
|
+
imports: [
|
|
285
|
+
SlCheckbox,
|
|
286
|
+
SlCheckboxDescription,
|
|
287
|
+
SlField,
|
|
288
|
+
SlFieldLabel,
|
|
289
|
+
SlStack,
|
|
290
|
+
SlTextField,
|
|
291
|
+
SlTextFieldInput,
|
|
292
|
+
],
|
|
293
|
+
template: `
|
|
294
|
+
<div slStack [gap]="4">
|
|
295
|
+
<div slCheckbox [checked]="sameAddress()" (checkedChange)="sameAddress.set($event.value)">
|
|
296
|
+
Bill to the shipping address
|
|
297
|
+
<p slCheckboxDescription>Ships to 12 Orchestra Terrace, Walla Walla, WA 99362.</p>
|
|
298
|
+
</div>
|
|
299
|
+
@if (!sameAddress()) {
|
|
300
|
+
<div slField required>
|
|
301
|
+
<label slFieldLabel>Billing address</label>
|
|
302
|
+
<div slTextField>
|
|
303
|
+
<input slTextFieldInput autocomplete="billing street-address" />
|
|
304
|
+
</div>
|
|
305
|
+
</div>
|
|
306
|
+
}
|
|
307
|
+
</div>
|
|
308
|
+
`,
|
|
309
|
+
})
|
|
310
|
+
export class CheckboxControlled {
|
|
311
|
+
readonly sameAddress = signal(true);
|
|
312
|
+
}
|
|
313
|
+
```
|
|
314
|
+
|
|
315
|
+
### defaults.ts
|
|
316
|
+
|
|
317
|
+
Example
|
|
318
|
+
|
|
319
|
+
```ts
|
|
320
|
+
import { Component } from '@angular/core';
|
|
321
|
+
import { provideCheckboxDefaults, SlCheckbox } from '@slotted/angular/checkbox';
|
|
322
|
+
import { SlStack } from '@slotted/angular/stack';
|
|
323
|
+
|
|
324
|
+
@Component({
|
|
325
|
+
selector: 'app-checkbox-defaults',
|
|
326
|
+
imports: [SlCheckbox, SlStack],
|
|
327
|
+
providers: [provideCheckboxDefaults({ size: 'sm', labelPlacement: 'start' })],
|
|
328
|
+
template: `
|
|
329
|
+
<div slStack [gap]="2">
|
|
330
|
+
<div slCheckbox defaultChecked>Show prices with tax</div>
|
|
331
|
+
<div slCheckbox>Show discontinued products</div>
|
|
332
|
+
<div slCheckbox defaultChecked>Group orders by customer</div>
|
|
333
|
+
</div>
|
|
334
|
+
`,
|
|
335
|
+
})
|
|
336
|
+
export class CheckboxDefaults {}
|
|
337
|
+
```
|
|
338
|
+
|
|
339
|
+
### form.ts
|
|
340
|
+
|
|
341
|
+
Example
|
|
342
|
+
|
|
343
|
+
```ts
|
|
344
|
+
import { Component, signal } from '@angular/core';
|
|
345
|
+
import { SlButton } from '@slotted/angular/button';
|
|
346
|
+
import { SlCheckbox } from '@slotted/angular/checkbox';
|
|
347
|
+
import { SlFieldGroup, SlFieldGroupLegend } from '@slotted/angular/field-group';
|
|
348
|
+
import { SlInline } from '@slotted/angular/inline';
|
|
349
|
+
import { SlStack } from '@slotted/angular/stack';
|
|
350
|
+
import { SlText } from '@slotted/angular/typography';
|
|
351
|
+
|
|
352
|
+
@Component({
|
|
353
|
+
selector: 'app-checkbox-form',
|
|
354
|
+
imports: [SlButton, SlCheckbox, SlFieldGroup, SlFieldGroupLegend, SlInline, SlStack, SlText],
|
|
355
|
+
template: `
|
|
356
|
+
<form (submit)="submit($event)" (reset)="saved.set(null)">
|
|
357
|
+
<div slStack [gap]="4">
|
|
358
|
+
<fieldset slFieldGroup>
|
|
359
|
+
<legend slFieldGroupLegend>Reports emailed each morning</legend>
|
|
360
|
+
<div slStack [gap]="2">
|
|
361
|
+
<div slCheckbox name="reports" value="daily-sales" defaultChecked>Daily sales</div>
|
|
362
|
+
<div slCheckbox name="reports" value="low-stock">Low stock</div>
|
|
363
|
+
<div slCheckbox name="reports" value="payouts" defaultChecked>Payouts</div>
|
|
364
|
+
</div>
|
|
365
|
+
</fieldset>
|
|
366
|
+
<div slInline [gap]="3" align="center">
|
|
367
|
+
<button slButton type="submit">Save</button>
|
|
368
|
+
<button slButton type="reset" variant="outline" tone="secondary">Reset</button>
|
|
369
|
+
</div>
|
|
370
|
+
<span slText size="sm" tone="muted" role="status">
|
|
371
|
+
{{ saved() === null ? '' : 'Submitted reports: ' + saved() + '.' }}
|
|
372
|
+
</span>
|
|
373
|
+
</div>
|
|
374
|
+
</form>
|
|
375
|
+
`,
|
|
376
|
+
})
|
|
377
|
+
export class CheckboxForm {
|
|
378
|
+
readonly saved = signal<string | null>(null);
|
|
379
|
+
|
|
380
|
+
submit(event: SubmitEvent): void {
|
|
381
|
+
event.preventDefault();
|
|
382
|
+
const reports = new FormData(event.target as HTMLFormElement).getAll('reports');
|
|
383
|
+
this.saved.set(reports.length === 0 ? 'none' : reports.join(', '));
|
|
384
|
+
}
|
|
385
|
+
}
|
|
386
|
+
```
|
|
387
|
+
|
|
388
|
+
### hidden-label.ts
|
|
389
|
+
|
|
390
|
+
Example
|
|
391
|
+
|
|
392
|
+
```ts
|
|
393
|
+
import { Component } from '@angular/core';
|
|
394
|
+
import { SlCheckbox } from '@slotted/angular/checkbox';
|
|
395
|
+
import { SlInline } from '@slotted/angular/inline';
|
|
396
|
+
import { SlStack } from '@slotted/angular/stack';
|
|
397
|
+
import { SlText } from '@slotted/angular/typography';
|
|
398
|
+
import { SlVisuallyHidden } from '@slotted/angular/visually-hidden';
|
|
399
|
+
|
|
400
|
+
@Component({
|
|
401
|
+
selector: 'app-checkbox-hidden-label',
|
|
402
|
+
imports: [SlCheckbox, SlInline, SlStack, SlText, SlVisuallyHidden],
|
|
403
|
+
template: `
|
|
404
|
+
<div slStack [gap]="2">
|
|
405
|
+
@for (invoice of invoices; track invoice.id) {
|
|
406
|
+
<div slInline [gap]="3" align="center">
|
|
407
|
+
<div slCheckbox size="sm" [value]="invoice.id">
|
|
408
|
+
<span slVisuallyHidden>Select {{ invoice.id }}</span>
|
|
409
|
+
</div>
|
|
410
|
+
<span slText numeric="tabular">{{ invoice.id }}</span>
|
|
411
|
+
<span slText tone="muted">{{ invoice.customer }}</span>
|
|
412
|
+
<span slText numeric="tabular">{{ invoice.amount }}</span>
|
|
413
|
+
</div>
|
|
414
|
+
}
|
|
415
|
+
</div>
|
|
416
|
+
`,
|
|
417
|
+
})
|
|
418
|
+
export class CheckboxHiddenLabel {
|
|
419
|
+
readonly invoices = [
|
|
420
|
+
{ id: 'INV-1042', customer: 'Alfreds Futterkiste', amount: '$1,250.00' },
|
|
421
|
+
{ id: 'INV-1043', customer: 'Ernst Handel', amount: '$4,318.40' },
|
|
422
|
+
{ id: 'INV-1044', customer: 'Island Trading', amount: '$872.15' },
|
|
423
|
+
];
|
|
424
|
+
}
|
|
425
|
+
```
|
|
426
|
+
|
|
427
|
+
### long-label.ts
|
|
428
|
+
|
|
429
|
+
Example
|
|
430
|
+
|
|
431
|
+
```ts
|
|
432
|
+
import { Component } from '@angular/core';
|
|
433
|
+
import { SlCheckbox, SlCheckboxDescription } from '@slotted/angular/checkbox';
|
|
434
|
+
import { SlStack } from '@slotted/angular/stack';
|
|
435
|
+
|
|
436
|
+
@Component({
|
|
437
|
+
selector: 'app-checkbox-long-label',
|
|
438
|
+
imports: [SlCheckbox, SlCheckboxDescription, SlStack],
|
|
439
|
+
template: `
|
|
440
|
+
<div slStack [gap]="4">
|
|
441
|
+
<div slCheckbox defaultChecked>
|
|
442
|
+
Send notices about contract changes, delivery deadlines and changes to the return policy for
|
|
443
|
+
this store and every other store in the group
|
|
444
|
+
<p slCheckboxDescription>Notices go to the billing contact on the account.</p>
|
|
445
|
+
</div>
|
|
446
|
+
<div slCheckbox>
|
|
447
|
+
Forward order events to https://hooks.northwind.example/orders/fulfilment-updates
|
|
448
|
+
</div>
|
|
449
|
+
</div>
|
|
450
|
+
`,
|
|
451
|
+
})
|
|
452
|
+
export class CheckboxLongLabel {}
|
|
453
|
+
```
|
|
454
|
+
|
|
455
|
+
### parent.ts
|
|
456
|
+
|
|
457
|
+
Example
|
|
458
|
+
|
|
459
|
+
```ts
|
|
460
|
+
import { Component } from '@angular/core';
|
|
461
|
+
import { SlCheckbox } from '@slotted/angular/checkbox';
|
|
462
|
+
import { SlCheckboxGroup } from '@slotted/angular/checkbox-group';
|
|
463
|
+
import { SlFieldGroup, SlFieldGroupLegend } from '@slotted/angular/field-group';
|
|
464
|
+
|
|
465
|
+
@Component({
|
|
466
|
+
selector: 'app-checkbox-parent',
|
|
467
|
+
imports: [SlCheckbox, SlCheckboxGroup, SlFieldGroup, SlFieldGroupLegend],
|
|
468
|
+
template: `
|
|
469
|
+
<fieldset slFieldGroup>
|
|
470
|
+
<legend slFieldGroupLegend>Delivery days</legend>
|
|
471
|
+
<div
|
|
472
|
+
slCheckboxGroup
|
|
473
|
+
[allValues]="weekdays"
|
|
474
|
+
[defaultValue]="['mon', 'wed', 'fri']"
|
|
475
|
+
name="days"
|
|
476
|
+
>
|
|
477
|
+
<div slCheckbox parent>Every weekday</div>
|
|
478
|
+
<div slCheckbox value="mon">Monday</div>
|
|
479
|
+
<div slCheckbox value="tue">Tuesday</div>
|
|
480
|
+
<div slCheckbox value="wed">Wednesday</div>
|
|
481
|
+
<div slCheckbox value="thu">Thursday</div>
|
|
482
|
+
<div slCheckbox value="fri">Friday</div>
|
|
483
|
+
</div>
|
|
484
|
+
</fieldset>
|
|
485
|
+
`,
|
|
486
|
+
})
|
|
487
|
+
export class CheckboxParent {
|
|
488
|
+
readonly weekdays = ['mon', 'tue', 'wed', 'thu', 'fri'];
|
|
489
|
+
}
|
|
490
|
+
```
|
|
491
|
+
|
|
492
|
+
### validation.ts
|
|
493
|
+
|
|
494
|
+
Example
|
|
495
|
+
|
|
496
|
+
```ts
|
|
497
|
+
import { Component, computed, signal } from '@angular/core';
|
|
498
|
+
import { toSignal } from '@angular/core/rxjs-interop';
|
|
499
|
+
import { FormControl, ReactiveFormsModule, Validators } from '@angular/forms';
|
|
500
|
+
import { SlButton } from '@slotted/angular/button';
|
|
501
|
+
import { SlCheckbox } from '@slotted/angular/checkbox';
|
|
502
|
+
import { SlField, SlFieldError } from '@slotted/angular/field';
|
|
503
|
+
import { SlInline } from '@slotted/angular/inline';
|
|
504
|
+
import { SlStack } from '@slotted/angular/stack';
|
|
505
|
+
|
|
506
|
+
@Component({
|
|
507
|
+
selector: 'app-checkbox-validation',
|
|
508
|
+
imports: [ReactiveFormsModule, SlButton, SlCheckbox, SlField, SlFieldError, SlInline, SlStack],
|
|
509
|
+
template: `
|
|
510
|
+
<form novalidate (submit)="submit($event)">
|
|
511
|
+
<div slStack [gap]="4">
|
|
512
|
+
<div slField required [invalid]="error() !== '' ? true : undefined">
|
|
513
|
+
<div slCheckbox [formControl]="terms" (checkedChange)="placed.set(false)">
|
|
514
|
+
I accept the supplier terms for this purchase order
|
|
515
|
+
</div>
|
|
516
|
+
<span slFieldError live="polite" reserve>{{ error() }}</span>
|
|
517
|
+
</div>
|
|
518
|
+
<div slInline [gap]="3" align="center">
|
|
519
|
+
<button slButton type="submit">Place order</button>
|
|
520
|
+
@if (placed()) {
|
|
521
|
+
<span role="status">Order placed.</span>
|
|
522
|
+
}
|
|
523
|
+
</div>
|
|
524
|
+
</div>
|
|
525
|
+
</form>
|
|
526
|
+
`,
|
|
527
|
+
})
|
|
528
|
+
export class CheckboxValidation {
|
|
529
|
+
readonly terms = new FormControl(false, {
|
|
530
|
+
nonNullable: true,
|
|
531
|
+
validators: Validators.requiredTrue,
|
|
532
|
+
});
|
|
533
|
+
readonly accepted = toSignal(this.terms.valueChanges, { initialValue: this.terms.value });
|
|
534
|
+
readonly submitted = signal(false);
|
|
535
|
+
readonly placed = signal(false);
|
|
536
|
+
readonly error = computed(() =>
|
|
537
|
+
this.submitted() && !this.accepted() ? 'Accept the supplier terms to place the order.' : '',
|
|
538
|
+
);
|
|
539
|
+
|
|
540
|
+
submit(event: Event): void {
|
|
541
|
+
event.preventDefault();
|
|
542
|
+
this.submitted.set(true);
|
|
543
|
+
this.placed.set(this.terms.valid);
|
|
544
|
+
}
|
|
545
|
+
}
|
|
546
|
+
```
|