@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
|
@@ -0,0 +1,612 @@
|
|
|
1
|
+
<!-- index: ./index.md -->
|
|
2
|
+
# checkbox-group
|
|
3
|
+
|
|
4
|
+
`data-ui="checkbox-group"` · Set of checkboxes under one label.
|
|
5
|
+
|
|
6
|
+
## Examples
|
|
7
|
+
|
|
8
|
+
### Playground
|
|
9
|
+
|
|
10
|
+
One set with every axis on it, driven by the controls below the canvas. Tick two options and watch the array in the actions panel: the order is the set’s, never the click order.
|
|
11
|
+
|
|
12
|
+
Excerpt — not a complete module
|
|
13
|
+
|
|
14
|
+
```html
|
|
15
|
+
<div slCheckboxGroup name="days" [allValues]="days" [defaultValue]="['mon']">
|
|
16
|
+
<div slCheckbox value="mon">Segunda</div>
|
|
17
|
+
<div slCheckbox value="wed">Quarta</div>
|
|
18
|
+
<div slCheckbox value="fri">Sexta</div>
|
|
19
|
+
</div>
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
### How the choices flow
|
|
23
|
+
|
|
24
|
+
A horizontal set wraps rather than scrolling or clipping, because a row whose last option nobody can see is worse than two rows — and the distance between two choices is twice the distance between a box and its own label.
|
|
25
|
+
|
|
26
|
+
Example
|
|
27
|
+
|
|
28
|
+
```ts
|
|
29
|
+
import { Component } from '@angular/core';
|
|
30
|
+
import { SlCheckbox } from '@slotted/angular/checkbox';
|
|
31
|
+
import { SlCheckboxGroup } from '@slotted/angular/checkbox-group';
|
|
32
|
+
import { SlFieldGroup, SlFieldGroupLegend } from '@slotted/angular/field-group';
|
|
33
|
+
|
|
34
|
+
@Component({
|
|
35
|
+
selector: 'app-checkbox-group-orientation',
|
|
36
|
+
imports: [SlCheckbox, SlCheckboxGroup, SlFieldGroup, SlFieldGroupLegend],
|
|
37
|
+
template: `
|
|
38
|
+
<fieldset slFieldGroup>
|
|
39
|
+
<legend slFieldGroupLegend>Invoice status</legend>
|
|
40
|
+
<div slCheckboxGroup orientation="horizontal" [defaultValue]="['open', 'overdue']">
|
|
41
|
+
<div slCheckbox value="draft">Draft</div>
|
|
42
|
+
<div slCheckbox value="open">Open</div>
|
|
43
|
+
<div slCheckbox value="paid">Paid</div>
|
|
44
|
+
<div slCheckbox value="overdue">Overdue</div>
|
|
45
|
+
<div slCheckbox value="void">Void</div>
|
|
46
|
+
</div>
|
|
47
|
+
</fieldset>
|
|
48
|
+
`,
|
|
49
|
+
})
|
|
50
|
+
export class CheckboxGroupOrientation {}
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
### A set of framed choices
|
|
54
|
+
|
|
55
|
+
The variant belongs to the group, not to each box: a set with one plain choice among four tiles is a set nobody meant to write. Arrangement is not the group’s — Grid already owns columns, minItemWidth and a stretching alignment, so tiles in a row come out the same width and the same height.
|
|
56
|
+
|
|
57
|
+
Excerpt — not a complete module
|
|
58
|
+
|
|
59
|
+
```html
|
|
60
|
+
<div slCheckboxGroup variant="tile" [defaultValue]="['pix']">
|
|
61
|
+
<div slGrid minItemWidth="sm">
|
|
62
|
+
<div slCheckbox value="pix">
|
|
63
|
+
Pix
|
|
64
|
+
<p slCheckboxDescription>Compensação imediata.</p>
|
|
65
|
+
</div>
|
|
66
|
+
<div slCheckbox value="card">
|
|
67
|
+
Cartão de crédito
|
|
68
|
+
<p slCheckboxDescription>Parcelamento em até doze vezes.</p>
|
|
69
|
+
</div>
|
|
70
|
+
</div>
|
|
71
|
+
</div>
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
### One box that commands the set
|
|
75
|
+
|
|
76
|
+
The parent is derived and never entered: ticked when every value is selected, mixed between the two, and its request replaces the whole selection rather than toggling a value of its own.
|
|
77
|
+
|
|
78
|
+
Example
|
|
79
|
+
|
|
80
|
+
```ts
|
|
81
|
+
import { Component } from '@angular/core';
|
|
82
|
+
import { SlCheckbox } from '@slotted/angular/checkbox';
|
|
83
|
+
import { SlCheckboxGroup } from '@slotted/angular/checkbox-group';
|
|
84
|
+
import { SlFieldGroup, SlFieldGroupLegend } from '@slotted/angular/field-group';
|
|
85
|
+
|
|
86
|
+
@Component({
|
|
87
|
+
selector: 'app-checkbox-group-parent',
|
|
88
|
+
imports: [SlCheckbox, SlCheckboxGroup, SlFieldGroup, SlFieldGroupLegend],
|
|
89
|
+
template: `
|
|
90
|
+
<fieldset slFieldGroup>
|
|
91
|
+
<legend slFieldGroupLegend>Columns to export</legend>
|
|
92
|
+
<div
|
|
93
|
+
slCheckboxGroup
|
|
94
|
+
name="columns"
|
|
95
|
+
[allValues]="columns"
|
|
96
|
+
[defaultValue]="['order', 'customer', 'total']"
|
|
97
|
+
>
|
|
98
|
+
<div slCheckbox parent>All columns</div>
|
|
99
|
+
<div slCheckbox value="order">Order number</div>
|
|
100
|
+
<div slCheckbox value="customer">Customer</div>
|
|
101
|
+
<div slCheckbox value="placed">Placed on</div>
|
|
102
|
+
<div slCheckbox value="total">Total</div>
|
|
103
|
+
<div slCheckbox value="status">Status</div>
|
|
104
|
+
</div>
|
|
105
|
+
</fieldset>
|
|
106
|
+
`,
|
|
107
|
+
})
|
|
108
|
+
export class CheckboxGroupParent {
|
|
109
|
+
readonly columns = ['order', 'customer', 'placed', 'total', 'status'];
|
|
110
|
+
}
|
|
111
|
+
```
|
|
112
|
+
|
|
113
|
+
### What the group says to every box in it
|
|
114
|
+
|
|
115
|
+
Each of the four is unstated rather than false, so a group defers to the field around it and a box defers to the group; stated anywhere, it wins from there down and every box paints it.
|
|
116
|
+
|
|
117
|
+
Example
|
|
118
|
+
|
|
119
|
+
```ts
|
|
120
|
+
import { Component } from '@angular/core';
|
|
121
|
+
import { SlCheckbox } from '@slotted/angular/checkbox';
|
|
122
|
+
import { SlCheckboxGroup } from '@slotted/angular/checkbox-group';
|
|
123
|
+
import {
|
|
124
|
+
SlFieldGroup,
|
|
125
|
+
SlFieldGroupDescription,
|
|
126
|
+
SlFieldGroupError,
|
|
127
|
+
SlFieldGroupLegend,
|
|
128
|
+
} from '@slotted/angular/field-group';
|
|
129
|
+
import { SlStack } from '@slotted/angular/stack';
|
|
130
|
+
|
|
131
|
+
@Component({
|
|
132
|
+
selector: 'app-checkbox-group-states',
|
|
133
|
+
imports: [
|
|
134
|
+
SlCheckbox,
|
|
135
|
+
SlCheckboxGroup,
|
|
136
|
+
SlFieldGroup,
|
|
137
|
+
SlFieldGroupDescription,
|
|
138
|
+
SlFieldGroupError,
|
|
139
|
+
SlFieldGroupLegend,
|
|
140
|
+
SlStack,
|
|
141
|
+
],
|
|
142
|
+
template: `
|
|
143
|
+
<div slStack [gap]="6">
|
|
144
|
+
<fieldset slFieldGroup required>
|
|
145
|
+
<legend slFieldGroupLegend>Sales regions</legend>
|
|
146
|
+
<span slFieldGroupError>Choose at least one region for this price list.</span>
|
|
147
|
+
<div slCheckboxGroup invalid orientation="horizontal">
|
|
148
|
+
<div slCheckbox value="us">United States</div>
|
|
149
|
+
<div slCheckbox value="ca">Canada</div>
|
|
150
|
+
<div slCheckbox value="eu">European Union</div>
|
|
151
|
+
</div>
|
|
152
|
+
</fieldset>
|
|
153
|
+
<fieldset slFieldGroup readOnly>
|
|
154
|
+
<legend slFieldGroupLegend>Tax exemptions</legend>
|
|
155
|
+
<span slFieldGroupDescription>Set by the finance team on the customer record.</span>
|
|
156
|
+
<div slCheckboxGroup orientation="horizontal" [defaultValue]="['resale']">
|
|
157
|
+
<div slCheckbox value="resale">Resale</div>
|
|
158
|
+
<div slCheckbox value="nonprofit">Nonprofit</div>
|
|
159
|
+
</div>
|
|
160
|
+
</fieldset>
|
|
161
|
+
<fieldset slFieldGroup disabled>
|
|
162
|
+
<legend slFieldGroupLegend>Carriers</legend>
|
|
163
|
+
<span slFieldGroupDescription>Carriers open once a ship-from address is saved.</span>
|
|
164
|
+
<div slCheckboxGroup orientation="horizontal" [defaultValue]="['ups']">
|
|
165
|
+
<div slCheckbox value="ups">UPS</div>
|
|
166
|
+
<div slCheckbox value="fedex">FedEx</div>
|
|
167
|
+
<div slCheckbox value="usps">USPS</div>
|
|
168
|
+
</div>
|
|
169
|
+
</fieldset>
|
|
170
|
+
</div>
|
|
171
|
+
`,
|
|
172
|
+
})
|
|
173
|
+
export class CheckboxGroupStates {}
|
|
174
|
+
```
|
|
175
|
+
|
|
176
|
+
### How many of them are chosen
|
|
177
|
+
|
|
178
|
+
The number reaches the field’s label row through the channel a text field opened for characters, so a reader finds "2/5" where they already look for a count rather than in a sentence under the set.
|
|
179
|
+
|
|
180
|
+
Example
|
|
181
|
+
|
|
182
|
+
```ts
|
|
183
|
+
import { Component } from '@angular/core';
|
|
184
|
+
import { SlCheckbox } from '@slotted/angular/checkbox';
|
|
185
|
+
import { SlCheckboxGroup } from '@slotted/angular/checkbox-group';
|
|
186
|
+
import { SlField, SlFieldDescription, SlFieldLabel } from '@slotted/angular/field';
|
|
187
|
+
|
|
188
|
+
@Component({
|
|
189
|
+
selector: 'app-checkbox-group-count',
|
|
190
|
+
imports: [SlCheckbox, SlCheckboxGroup, SlField, SlFieldDescription, SlFieldLabel],
|
|
191
|
+
template: `
|
|
192
|
+
<div slField>
|
|
193
|
+
<label slFieldLabel>Fulfil from</label>
|
|
194
|
+
<div
|
|
195
|
+
slCheckboxGroup
|
|
196
|
+
name="warehouses"
|
|
197
|
+
showCount
|
|
198
|
+
[allValues]="warehouses"
|
|
199
|
+
[defaultValue]="['seattle', 'tacoma']"
|
|
200
|
+
>
|
|
201
|
+
<div slCheckbox value="seattle">Seattle</div>
|
|
202
|
+
<div slCheckbox value="tacoma">Tacoma</div>
|
|
203
|
+
<div slCheckbox value="portland">Portland</div>
|
|
204
|
+
<div slCheckbox value="boise">Boise</div>
|
|
205
|
+
</div>
|
|
206
|
+
<span slFieldDescription>Orders ship from the nearest selected warehouse.</span>
|
|
207
|
+
</div>
|
|
208
|
+
`,
|
|
209
|
+
})
|
|
210
|
+
export class CheckboxGroupCount {
|
|
211
|
+
readonly warehouses = ['seattle', 'tacoma', 'portland', 'boise'];
|
|
212
|
+
}
|
|
213
|
+
```
|
|
214
|
+
|
|
215
|
+
### Inside a group of fields, and in a reactive form
|
|
216
|
+
|
|
217
|
+
The fieldset and its legend are what group and name the set, so this group withdraws its own role — and the same element takes formControlName, because the accessor and the validator both live on the root.
|
|
218
|
+
|
|
219
|
+
Excerpt — not a complete module
|
|
220
|
+
|
|
221
|
+
```html
|
|
222
|
+
<fieldset slFieldGroup required>
|
|
223
|
+
<legend slFieldGroupLegend>Notificações</legend>
|
|
224
|
+
<div slCheckboxGroup required formControlName="alerts">
|
|
225
|
+
<div slCheckbox value="approved">Pedido aprovado</div>
|
|
226
|
+
<div slCheckbox value="refused">Pedido recusado</div>
|
|
227
|
+
</div>
|
|
228
|
+
</fieldset>
|
|
229
|
+
```
|
|
230
|
+
|
|
231
|
+
### Content the family did not choose
|
|
232
|
+
|
|
233
|
+
A set of long options keeps every box on the first line of its own label, a narrow column turns a horizontal set into a stack without a media query, and a right-to-left set mirrors whole rather than rearranging.
|
|
234
|
+
|
|
235
|
+
Excerpt — not a complete module
|
|
236
|
+
|
|
237
|
+
```html
|
|
238
|
+
<div slCheckboxGroup orientation="horizontal">
|
|
239
|
+
<div slCheckbox value="a">
|
|
240
|
+
Autorizo o uso dos dados de navegação para personalizar as recomendações
|
|
241
|
+
</div>
|
|
242
|
+
<div slCheckbox value="b">E também para medir o alcance das campanhas</div>
|
|
243
|
+
</div>
|
|
244
|
+
```
|
|
245
|
+
|
|
246
|
+
### Setting it once, and reaching past it
|
|
247
|
+
|
|
248
|
+
The token carries the three decisions an application takes once, exportAs reaches the instance, and the root is the consumer’s own element — so a set of choices can be a real list.
|
|
249
|
+
|
|
250
|
+
Excerpt — not a complete module
|
|
251
|
+
|
|
252
|
+
```html
|
|
253
|
+
<ul slCheckboxGroup class="slotted-demo-list" [defaultValue]="['a']">
|
|
254
|
+
<li slCheckbox value="a">Um item</li>
|
|
255
|
+
<li slCheckbox value="b">E outro abaixo dele</li>
|
|
256
|
+
</ul>
|
|
257
|
+
```
|
|
258
|
+
|
|
259
|
+
### What the keyboard does, and who implements it
|
|
260
|
+
|
|
261
|
+
Every box is its own tab stop and Space toggles it, because a checkbox is one choice made on its own — which is exactly what tells this family apart from a radio group, where the whole set is one stop.
|
|
262
|
+
|
|
263
|
+
Excerpt — not a complete module
|
|
264
|
+
|
|
265
|
+
```html
|
|
266
|
+
<!-- The group binds no key at all: each box is a native checkbox, so Tab
|
|
267
|
+
reaches every one of them and Space toggles the one that has focus. -->
|
|
268
|
+
<div slCheckboxGroup>
|
|
269
|
+
<div slCheckbox value="a">Tab até aqui</div>
|
|
270
|
+
<div slCheckbox value="b">E de novo até aqui</div>
|
|
271
|
+
</div>
|
|
272
|
+
```
|
|
273
|
+
|
|
274
|
+
### controlled.ts
|
|
275
|
+
|
|
276
|
+
Example
|
|
277
|
+
|
|
278
|
+
```ts
|
|
279
|
+
import { Component, computed, signal } from '@angular/core';
|
|
280
|
+
import { SlCheckbox } from '@slotted/angular/checkbox';
|
|
281
|
+
import { SlCheckboxGroup } from '@slotted/angular/checkbox-group';
|
|
282
|
+
import { SlFieldGroup, SlFieldGroupLegend } from '@slotted/angular/field-group';
|
|
283
|
+
import { SlStack } from '@slotted/angular/stack';
|
|
284
|
+
|
|
285
|
+
const ORDERS: Record<string, number> = { card: 812, transfer: 145, paypal: 96 };
|
|
286
|
+
|
|
287
|
+
@Component({
|
|
288
|
+
selector: 'app-checkbox-group-controlled',
|
|
289
|
+
imports: [SlCheckbox, SlCheckboxGroup, SlFieldGroup, SlFieldGroupLegend, SlStack],
|
|
290
|
+
template: `
|
|
291
|
+
<div slStack [gap]="4">
|
|
292
|
+
<fieldset slFieldGroup>
|
|
293
|
+
<legend slFieldGroupLegend>Payment method</legend>
|
|
294
|
+
<div
|
|
295
|
+
slCheckboxGroup
|
|
296
|
+
orientation="horizontal"
|
|
297
|
+
[value]="methods()"
|
|
298
|
+
(valueChange)="methods.set($event.value)"
|
|
299
|
+
>
|
|
300
|
+
<div slCheckbox value="card">Card</div>
|
|
301
|
+
<div slCheckbox value="transfer">Bank transfer</div>
|
|
302
|
+
<div slCheckbox value="paypal">PayPal</div>
|
|
303
|
+
</div>
|
|
304
|
+
</fieldset>
|
|
305
|
+
<span>Showing {{ shown() }} orders</span>
|
|
306
|
+
</div>
|
|
307
|
+
`,
|
|
308
|
+
})
|
|
309
|
+
export class CheckboxGroupControlled {
|
|
310
|
+
readonly methods = signal<readonly string[]>(['card', 'transfer']);
|
|
311
|
+
readonly shown = computed(() =>
|
|
312
|
+
this.methods().reduce((sum, method) => sum + (ORDERS[method] ?? 0), 0),
|
|
313
|
+
);
|
|
314
|
+
}
|
|
315
|
+
```
|
|
316
|
+
|
|
317
|
+
### defaults.ts
|
|
318
|
+
|
|
319
|
+
Example
|
|
320
|
+
|
|
321
|
+
```ts
|
|
322
|
+
import { Component } from '@angular/core';
|
|
323
|
+
import { SlCheckbox } from '@slotted/angular/checkbox';
|
|
324
|
+
import { provideCheckboxGroupDefaults, SlCheckboxGroup } from '@slotted/angular/checkbox-group';
|
|
325
|
+
import { SlFieldGroup, SlFieldGroupLegend } from '@slotted/angular/field-group';
|
|
326
|
+
import { SlStack } from '@slotted/angular/stack';
|
|
327
|
+
|
|
328
|
+
@Component({
|
|
329
|
+
selector: 'app-checkbox-group-defaults',
|
|
330
|
+
imports: [SlCheckbox, SlCheckboxGroup, SlFieldGroup, SlFieldGroupLegend, SlStack],
|
|
331
|
+
providers: [provideCheckboxGroupDefaults({ orientation: 'horizontal' })],
|
|
332
|
+
template: `
|
|
333
|
+
<div slStack [gap]="5">
|
|
334
|
+
<fieldset slFieldGroup>
|
|
335
|
+
<legend slFieldGroupLegend>Fulfilment</legend>
|
|
336
|
+
<div slCheckboxGroup [defaultValue]="['unfulfilled', 'partial']">
|
|
337
|
+
<div slCheckbox value="unfulfilled">Unfulfilled</div>
|
|
338
|
+
<div slCheckbox value="partial">Partial</div>
|
|
339
|
+
<div slCheckbox value="fulfilled">Fulfilled</div>
|
|
340
|
+
</div>
|
|
341
|
+
</fieldset>
|
|
342
|
+
<fieldset slFieldGroup>
|
|
343
|
+
<legend slFieldGroupLegend>Sales channel</legend>
|
|
344
|
+
<div slCheckboxGroup [defaultValue]="['online']">
|
|
345
|
+
<div slCheckbox value="online">Online</div>
|
|
346
|
+
<div slCheckbox value="retail">Retail</div>
|
|
347
|
+
<div slCheckbox value="wholesale">Wholesale</div>
|
|
348
|
+
</div>
|
|
349
|
+
</fieldset>
|
|
350
|
+
</div>
|
|
351
|
+
`,
|
|
352
|
+
})
|
|
353
|
+
export class CheckboxGroupDefaults {}
|
|
354
|
+
```
|
|
355
|
+
|
|
356
|
+
### descriptions.ts
|
|
357
|
+
|
|
358
|
+
Example
|
|
359
|
+
|
|
360
|
+
```ts
|
|
361
|
+
import { Component } from '@angular/core';
|
|
362
|
+
import { SlCheckbox, SlCheckboxDescription } from '@slotted/angular/checkbox';
|
|
363
|
+
import { SlCheckboxGroup } from '@slotted/angular/checkbox-group';
|
|
364
|
+
import { SlFieldGroup, SlFieldGroupLegend } from '@slotted/angular/field-group';
|
|
365
|
+
|
|
366
|
+
@Component({
|
|
367
|
+
selector: 'app-checkbox-group-descriptions',
|
|
368
|
+
imports: [SlCheckbox, SlCheckboxDescription, SlCheckboxGroup, SlFieldGroup, SlFieldGroupLegend],
|
|
369
|
+
template: `
|
|
370
|
+
<fieldset slFieldGroup>
|
|
371
|
+
<legend slFieldGroupLegend>When stock runs low</legend>
|
|
372
|
+
<div slCheckboxGroup [defaultValue]="['alert']">
|
|
373
|
+
<div slCheckbox value="alert">
|
|
374
|
+
Alert the buyer
|
|
375
|
+
<p slCheckboxDescription>
|
|
376
|
+
Sent to the buyer for the SKU when on-hand drops below the reorder point.
|
|
377
|
+
</p>
|
|
378
|
+
</div>
|
|
379
|
+
<div slCheckbox value="draft-po">
|
|
380
|
+
Draft a purchase order
|
|
381
|
+
<p slCheckboxDescription>
|
|
382
|
+
Created for the preferred supplier at the usual order quantity, waiting for approval.
|
|
383
|
+
</p>
|
|
384
|
+
</div>
|
|
385
|
+
<div slCheckbox value="hide">
|
|
386
|
+
Stop selling online at zero
|
|
387
|
+
<p slCheckboxDescription>
|
|
388
|
+
The product page shows Out of stock instead of a delivery date.
|
|
389
|
+
</p>
|
|
390
|
+
</div>
|
|
391
|
+
</div>
|
|
392
|
+
</fieldset>
|
|
393
|
+
`,
|
|
394
|
+
})
|
|
395
|
+
export class CheckboxGroupDescriptions {}
|
|
396
|
+
```
|
|
397
|
+
|
|
398
|
+
### disabled-option.ts
|
|
399
|
+
|
|
400
|
+
Example
|
|
401
|
+
|
|
402
|
+
```ts
|
|
403
|
+
import { Component } from '@angular/core';
|
|
404
|
+
import { SlCheckbox, SlCheckboxDescription } from '@slotted/angular/checkbox';
|
|
405
|
+
import { SlCheckboxGroup } from '@slotted/angular/checkbox-group';
|
|
406
|
+
import { SlFieldGroup, SlFieldGroupLegend } from '@slotted/angular/field-group';
|
|
407
|
+
|
|
408
|
+
@Component({
|
|
409
|
+
selector: 'app-checkbox-group-disabled-option',
|
|
410
|
+
imports: [SlCheckbox, SlCheckboxDescription, SlCheckboxGroup, SlFieldGroup, SlFieldGroupLegend],
|
|
411
|
+
template: `
|
|
412
|
+
<fieldset slFieldGroup>
|
|
413
|
+
<legend slFieldGroupLegend>Send order updates by</legend>
|
|
414
|
+
<div slCheckboxGroup name="updates" [defaultValue]="['email']">
|
|
415
|
+
<div slCheckbox value="email">Email</div>
|
|
416
|
+
<div slCheckbox value="sms" disabled>
|
|
417
|
+
Text message
|
|
418
|
+
<p slCheckboxDescription>Add a mobile number to the customer record to turn this on.</p>
|
|
419
|
+
</div>
|
|
420
|
+
<div slCheckbox value="webhook">Webhook to the storefront</div>
|
|
421
|
+
</div>
|
|
422
|
+
</fieldset>
|
|
423
|
+
`,
|
|
424
|
+
})
|
|
425
|
+
export class CheckboxGroupDisabledOption {}
|
|
426
|
+
```
|
|
427
|
+
|
|
428
|
+
### label-placement.ts
|
|
429
|
+
|
|
430
|
+
Example
|
|
431
|
+
|
|
432
|
+
```ts
|
|
433
|
+
import { Component } from '@angular/core';
|
|
434
|
+
import { SlCheckbox } from '@slotted/angular/checkbox';
|
|
435
|
+
import { SlCheckboxGroup } from '@slotted/angular/checkbox-group';
|
|
436
|
+
import { SlFieldGroup, SlFieldGroupLegend } from '@slotted/angular/field-group';
|
|
437
|
+
|
|
438
|
+
@Component({
|
|
439
|
+
selector: 'app-checkbox-group-label-placement',
|
|
440
|
+
imports: [SlCheckbox, SlCheckboxGroup, SlFieldGroup, SlFieldGroupLegend],
|
|
441
|
+
template: `
|
|
442
|
+
<fieldset slFieldGroup>
|
|
443
|
+
<legend slFieldGroupLegend>Email reports</legend>
|
|
444
|
+
<div slCheckboxGroup labelPlacement="start" [defaultValue]="['weekly']">
|
|
445
|
+
<div slCheckbox value="daily">Daily sales summary</div>
|
|
446
|
+
<div slCheckbox value="weekly">Weekly stock report</div>
|
|
447
|
+
<div slCheckbox value="monthly">Monthly statement</div>
|
|
448
|
+
</div>
|
|
449
|
+
</fieldset>
|
|
450
|
+
`,
|
|
451
|
+
})
|
|
452
|
+
export class CheckboxGroupLabelPlacement {}
|
|
453
|
+
```
|
|
454
|
+
|
|
455
|
+
### sizes.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
|
+
import { SlStack } from '@slotted/angular/stack';
|
|
465
|
+
|
|
466
|
+
@Component({
|
|
467
|
+
selector: 'app-checkbox-group-sizes',
|
|
468
|
+
imports: [SlCheckbox, SlCheckboxGroup, SlFieldGroup, SlFieldGroupLegend, SlStack],
|
|
469
|
+
template: `
|
|
470
|
+
<div slStack [gap]="5">
|
|
471
|
+
<fieldset slFieldGroup size="sm">
|
|
472
|
+
<legend slFieldGroupLegend>Show columns</legend>
|
|
473
|
+
<div slCheckboxGroup orientation="horizontal" [defaultValue]="['sku', 'on-hand']">
|
|
474
|
+
<div slCheckbox value="sku">SKU</div>
|
|
475
|
+
<div slCheckbox value="on-hand">On hand</div>
|
|
476
|
+
<div slCheckbox value="reserved">Reserved</div>
|
|
477
|
+
</div>
|
|
478
|
+
</fieldset>
|
|
479
|
+
<fieldset slFieldGroup size="md">
|
|
480
|
+
<legend slFieldGroupLegend>Ship from</legend>
|
|
481
|
+
<div slCheckboxGroup orientation="horizontal" [defaultValue]="['seattle']">
|
|
482
|
+
<div slCheckbox value="seattle">Seattle</div>
|
|
483
|
+
<div slCheckbox value="tacoma">Tacoma</div>
|
|
484
|
+
<div slCheckbox value="portland">Portland</div>
|
|
485
|
+
</div>
|
|
486
|
+
</fieldset>
|
|
487
|
+
<fieldset slFieldGroup size="lg">
|
|
488
|
+
<legend slFieldGroupLegend>Accept payment by</legend>
|
|
489
|
+
<div slCheckboxGroup orientation="horizontal" [defaultValue]="['card', 'transfer']">
|
|
490
|
+
<div slCheckbox value="card">Card</div>
|
|
491
|
+
<div slCheckbox value="transfer">Bank transfer</div>
|
|
492
|
+
</div>
|
|
493
|
+
</fieldset>
|
|
494
|
+
</div>
|
|
495
|
+
`,
|
|
496
|
+
})
|
|
497
|
+
export class CheckboxGroupSizes {}
|
|
498
|
+
```
|
|
499
|
+
|
|
500
|
+
### tiles.ts
|
|
501
|
+
|
|
502
|
+
Example
|
|
503
|
+
|
|
504
|
+
```ts
|
|
505
|
+
import { Component } from '@angular/core';
|
|
506
|
+
import { SlCheckbox, SlCheckboxDescription } from '@slotted/angular/checkbox';
|
|
507
|
+
import { SlCheckboxGroup } from '@slotted/angular/checkbox-group';
|
|
508
|
+
import { SlFieldGroup, SlFieldGroupLegend } from '@slotted/angular/field-group';
|
|
509
|
+
import { SlGrid } from '@slotted/angular/grid';
|
|
510
|
+
|
|
511
|
+
@Component({
|
|
512
|
+
selector: 'app-checkbox-group-tiles',
|
|
513
|
+
imports: [
|
|
514
|
+
SlCheckbox,
|
|
515
|
+
SlCheckboxDescription,
|
|
516
|
+
SlCheckboxGroup,
|
|
517
|
+
SlFieldGroup,
|
|
518
|
+
SlFieldGroupLegend,
|
|
519
|
+
SlGrid,
|
|
520
|
+
],
|
|
521
|
+
template: `
|
|
522
|
+
<fieldset slFieldGroup>
|
|
523
|
+
<legend slFieldGroupLegend>Add-ons</legend>
|
|
524
|
+
<div slCheckboxGroup name="add-ons" variant="tile" [defaultValue]="['audit-log']">
|
|
525
|
+
<div slGrid minItemWidth="xs">
|
|
526
|
+
<div slCheckbox value="audit-log">
|
|
527
|
+
Audit log
|
|
528
|
+
<p slCheckboxDescription>$29 per month. Every change kept for a year.</p>
|
|
529
|
+
</div>
|
|
530
|
+
<div slCheckbox value="sso">
|
|
531
|
+
Single sign-on
|
|
532
|
+
<p slCheckboxDescription>$49 per month. SAML and SCIM provisioning.</p>
|
|
533
|
+
</div>
|
|
534
|
+
<div slCheckbox value="support">
|
|
535
|
+
Priority support
|
|
536
|
+
<p slCheckboxDescription>$99 per month. Replies within four hours.</p>
|
|
537
|
+
</div>
|
|
538
|
+
</div>
|
|
539
|
+
</div>
|
|
540
|
+
</fieldset>
|
|
541
|
+
`,
|
|
542
|
+
})
|
|
543
|
+
export class CheckboxGroupTiles {}
|
|
544
|
+
```
|
|
545
|
+
|
|
546
|
+
### validation.ts
|
|
547
|
+
|
|
548
|
+
Example
|
|
549
|
+
|
|
550
|
+
```ts
|
|
551
|
+
import { Component, signal } from '@angular/core';
|
|
552
|
+
import { FormControl, ReactiveFormsModule } from '@angular/forms';
|
|
553
|
+
import { SlButton } from '@slotted/angular/button';
|
|
554
|
+
import { SlCheckbox } from '@slotted/angular/checkbox';
|
|
555
|
+
import { SlCheckboxGroup } from '@slotted/angular/checkbox-group';
|
|
556
|
+
import { SlFieldGroup, SlFieldGroupError, SlFieldGroupLegend } from '@slotted/angular/field-group';
|
|
557
|
+
import { SlInline } from '@slotted/angular/inline';
|
|
558
|
+
import { SlStack } from '@slotted/angular/stack';
|
|
559
|
+
|
|
560
|
+
@Component({
|
|
561
|
+
selector: 'app-checkbox-group-validation',
|
|
562
|
+
imports: [
|
|
563
|
+
ReactiveFormsModule,
|
|
564
|
+
SlButton,
|
|
565
|
+
SlCheckbox,
|
|
566
|
+
SlCheckboxGroup,
|
|
567
|
+
SlFieldGroup,
|
|
568
|
+
SlFieldGroupError,
|
|
569
|
+
SlFieldGroupLegend,
|
|
570
|
+
SlInline,
|
|
571
|
+
SlStack,
|
|
572
|
+
],
|
|
573
|
+
template: `
|
|
574
|
+
<form novalidate (submit)="submit($event)">
|
|
575
|
+
<div slStack [gap]="4">
|
|
576
|
+
<fieldset slFieldGroup required>
|
|
577
|
+
<legend slFieldGroupLegend>Send shipping confirmations by</legend>
|
|
578
|
+
<span slFieldGroupError live="polite" reserve>{{
|
|
579
|
+
missing ? 'Choose at least one channel.' : ''
|
|
580
|
+
}}</span>
|
|
581
|
+
<div slCheckboxGroup [formControl]="channels" [invalid]="missing ? true : undefined">
|
|
582
|
+
<div slCheckbox value="email">Email</div>
|
|
583
|
+
<div slCheckbox value="sms">Text message</div>
|
|
584
|
+
<div slCheckbox value="in-app">In-app notification</div>
|
|
585
|
+
</div>
|
|
586
|
+
</fieldset>
|
|
587
|
+
<div slInline [gap]="3" align="center">
|
|
588
|
+
<button slButton type="submit">Save preferences</button>
|
|
589
|
+
@if (submitted() && channels.valid) {
|
|
590
|
+
<span role="status">Preferences saved.</span>
|
|
591
|
+
}
|
|
592
|
+
</div>
|
|
593
|
+
</div>
|
|
594
|
+
</form>
|
|
595
|
+
`,
|
|
596
|
+
})
|
|
597
|
+
export class CheckboxGroupValidation {
|
|
598
|
+
/* The group is the form control and its validator: inside a required field
|
|
599
|
+
group, an empty selection fails with { required: true }. */
|
|
600
|
+
readonly channels = new FormControl<readonly string[]>([], { nonNullable: true });
|
|
601
|
+
readonly submitted = signal(false);
|
|
602
|
+
|
|
603
|
+
get missing(): boolean {
|
|
604
|
+
return this.submitted() && this.channels.invalid;
|
|
605
|
+
}
|
|
606
|
+
|
|
607
|
+
submit(event: Event): void {
|
|
608
|
+
event.preventDefault();
|
|
609
|
+
this.submitted.set(true);
|
|
610
|
+
}
|
|
611
|
+
}
|
|
612
|
+
```
|