@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,536 @@
|
|
|
1
|
+
import { createRovingTabindex, toolbarOwnedKeys, TOOLBAR_ITEM_SELECTOR } from '@slotted/core/focus';
|
|
2
|
+
import { createCollapse } from '@slotted/core/overflow';
|
|
3
|
+
import * as i0 from '@angular/core';
|
|
4
|
+
import { InjectionToken, inject, input, booleanAttribute, output, ElementRef, signal, computed, DestroyRef, afterNextRender, effect, ViewEncapsulation, ChangeDetectionStrategy, Component, Directive, HostAttributeToken, viewChild, Injector } from '@angular/core';
|
|
5
|
+
import { NgTemplateOutlet } from '@angular/common';
|
|
6
|
+
import { SlGlyph, SlIcon } from '@slotted/angular/icon';
|
|
7
|
+
import { SlMenu, SlMenuSeparator, SlMenuTrigger } from '@slotted/angular/menu';
|
|
8
|
+
|
|
9
|
+
const FALLBACK = {
|
|
10
|
+
loop: true,
|
|
11
|
+
orientation: 'horizontal',
|
|
12
|
+
overflow: 'wrap',
|
|
13
|
+
size: 'md',
|
|
14
|
+
variant: 'plain',
|
|
15
|
+
};
|
|
16
|
+
const TOOLBAR_DEFAULTS = new InjectionToken('slotted toolbar defaults', {
|
|
17
|
+
providedIn: 'root',
|
|
18
|
+
factory: () => FALLBACK,
|
|
19
|
+
});
|
|
20
|
+
/**
|
|
21
|
+
* An application decides once how its bars are drawn and how they behave — a
|
|
22
|
+
* product whose bars are all framed and compact says so in one place rather
|
|
23
|
+
* than on every bar. A bar that states any of them itself still wins.
|
|
24
|
+
*/
|
|
25
|
+
function provideToolbarDefaults(defaults) {
|
|
26
|
+
return {
|
|
27
|
+
provide: TOOLBAR_DEFAULTS,
|
|
28
|
+
useFactory: () => ({ ...FALLBACK, ...defaults }),
|
|
29
|
+
};
|
|
30
|
+
}
|
|
31
|
+
/** What a toolbar renders as here, before it states anything of its own. */
|
|
32
|
+
function injectToolbarDefaults() {
|
|
33
|
+
return inject(TOOLBAR_DEFAULTS);
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
/** The attribute that says a unit has somewhere to go. */
|
|
37
|
+
const TOOLBAR_UNIT_ATTRIBUTE = 'data-unit';
|
|
38
|
+
/**
|
|
39
|
+
* Everything the bar lays out, and nothing that is or holds the trigger: the
|
|
40
|
+
* control the units give way *to* would otherwise be counted twice, and the
|
|
41
|
+
* Angular trigger sits inside a `display: contents` host of its own.
|
|
42
|
+
*/
|
|
43
|
+
function unitsOf(container) {
|
|
44
|
+
return [...container.children].filter((child) => child instanceof HTMLElement &&
|
|
45
|
+
child.getAttribute('data-part') !== 'overflow' &&
|
|
46
|
+
child.querySelector('[data-part="overflow"]') === null);
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Whether one of the bar's own rules sits between two units that both gave way.
|
|
50
|
+
* It is read from the DOM because a separator is a sibling of the units it
|
|
51
|
+
* divides and nothing in the component tree relates them.
|
|
52
|
+
*/
|
|
53
|
+
function ruleBetween(from, to) {
|
|
54
|
+
for (let node = from.nextElementSibling; node !== null && node !== to; node = node.nextElementSibling) {
|
|
55
|
+
if (node.getAttribute('data-part') === 'separator')
|
|
56
|
+
return true;
|
|
57
|
+
}
|
|
58
|
+
return false;
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* A set of controls that share one tab stop.
|
|
62
|
+
*
|
|
63
|
+
* **The keyboard is the whole point of the role.** `Tab` enters the bar once and
|
|
64
|
+
* lands on the control that last had focus, the arrows of the flow axis move
|
|
65
|
+
* between the controls and wrap — from row to row when the bar wrapped, because
|
|
66
|
+
* the item list is linear — and `Home` and `End` reach the ends. The cross axis
|
|
67
|
+
* duplicates the pair, which the APG permits and which is what gives focus a way
|
|
68
|
+
* out of an item that keeps the flow arrows for itself.
|
|
69
|
+
*
|
|
70
|
+
* **The items are the consumer's own controls.** Anything focusable inside the
|
|
71
|
+
* bar is an item, found through `TOOLBAR_ITEM_SELECTOR`, so this library's
|
|
72
|
+
* `button`, `link`, `checkbox`, `switch` and `text-field` — and a menu trigger,
|
|
73
|
+
* and a consumer's own control — drop in unwrapped.
|
|
74
|
+
*
|
|
75
|
+
* **The bar paints itself and nothing inside it.** A bar out of action is
|
|
76
|
+
* `<fieldset disabled>` around it: the platform disables every control inside,
|
|
77
|
+
* and a natively disabled control cannot be focused, so the arrows skip exactly
|
|
78
|
+
* those.
|
|
79
|
+
*/
|
|
80
|
+
class SlToolbar {
|
|
81
|
+
orientation = input(undefined, /* @ts-ignore */
|
|
82
|
+
...(ngDevMode ? [{ debugName: "orientation" }] : /* istanbul ignore next */ []));
|
|
83
|
+
size = input(undefined, /* @ts-ignore */
|
|
84
|
+
...(ngDevMode ? [{ debugName: "size" }] : /* istanbul ignore next */ []));
|
|
85
|
+
variant = input(undefined, /* @ts-ignore */
|
|
86
|
+
...(ngDevMode ? [{ debugName: "variant" }] : /* istanbul ignore next */ []));
|
|
87
|
+
overflow = input(undefined, /* @ts-ignore */
|
|
88
|
+
...(ngDevMode ? [{ debugName: "overflow" }] : /* istanbul ignore next */ []));
|
|
89
|
+
/** Whether the arrows wrap past the ends of the bar. */
|
|
90
|
+
loop = input(undefined, { ...(ngDevMode ? { debugName: "loop" } : /* istanbul ignore next */ {}), transform: (state) => (state === undefined ? undefined : booleanAttribute(state)) });
|
|
91
|
+
/**
|
|
92
|
+
* Reports how many units gave way, once per change. The collapsed set is a
|
|
93
|
+
* measurement rather than a value, so there is no two-way binding over it: a
|
|
94
|
+
* consumer who owned it could assert that a bar fits when the layout says it
|
|
95
|
+
* does not.
|
|
96
|
+
*/
|
|
97
|
+
overflowChange = output();
|
|
98
|
+
defaults = injectToolbarDefaults();
|
|
99
|
+
element = inject((ElementRef)).nativeElement;
|
|
100
|
+
counterparts = signal(new Map(), /* @ts-ignore */
|
|
101
|
+
...(ngDevMode ? [{ debugName: "counterparts" }] : /* istanbul ignore next */ []));
|
|
102
|
+
trigger = signal(null, /* @ts-ignore */
|
|
103
|
+
...(ngDevMode ? [{ debugName: "trigger" }] : /* istanbul ignore next */ []));
|
|
104
|
+
ready = signal(false, /* @ts-ignore */
|
|
105
|
+
...(ngDevMode ? [{ debugName: "ready" }] : /* istanbul ignore next */ []));
|
|
106
|
+
ring = null;
|
|
107
|
+
/** The units that gave way, in the order the bar held them. */
|
|
108
|
+
collapsedUnits = signal([], /* @ts-ignore */
|
|
109
|
+
...(ngDevMode ? [{ debugName: "collapsedUnits" }] : /* istanbul ignore next */ []));
|
|
110
|
+
resolvedOrientation = computed(() => this.orientation() ?? this.defaults.orientation, /* @ts-ignore */
|
|
111
|
+
...(ngDevMode ? [{ debugName: "resolvedOrientation" }] : /* istanbul ignore next */ []));
|
|
112
|
+
resolvedSize = computed(() => this.size() ?? this.defaults.size, /* @ts-ignore */
|
|
113
|
+
...(ngDevMode ? [{ debugName: "resolvedSize" }] : /* istanbul ignore next */ []));
|
|
114
|
+
resolvedVariant = computed(() => this.variant() ?? this.defaults.variant, /* @ts-ignore */
|
|
115
|
+
...(ngDevMode ? [{ debugName: "resolvedVariant" }] : /* istanbul ignore next */ []));
|
|
116
|
+
resolvedOverflow = computed(() => this.overflow() ?? this.defaults.overflow, /* @ts-ignore */
|
|
117
|
+
...(ngDevMode ? [{ debugName: "resolvedOverflow" }] : /* istanbul ignore next */ []));
|
|
118
|
+
resolvedLoop = computed(() => this.loop() ?? this.defaults.loop, /* @ts-ignore */
|
|
119
|
+
...(ngDevMode ? [{ debugName: "resolvedLoop" }] : /* istanbul ignore next */ []));
|
|
120
|
+
ariaOrientation = computed(() => this.resolvedOrientation() === 'vertical' ? 'vertical' : null, /* @ts-ignore */
|
|
121
|
+
...(ngDevMode ? [{ debugName: "ariaOrientation" }] : /* istanbul ignore next */ []));
|
|
122
|
+
collapsedCount = computed(() => this.resolvedOverflow() === 'menu' ? String(this.collapsedUnits().length) : null, /* @ts-ignore */
|
|
123
|
+
...(ngDevMode ? [{ debugName: "collapsedCount" }] : /* istanbul ignore next */ []));
|
|
124
|
+
/** Records what a unit becomes in the surface. */
|
|
125
|
+
registerUnit(id, template) {
|
|
126
|
+
this.counterparts.update((held) => new Map(held).set(id, template));
|
|
127
|
+
}
|
|
128
|
+
releaseUnit(id) {
|
|
129
|
+
this.counterparts.update((held) => {
|
|
130
|
+
const next = new Map(held);
|
|
131
|
+
next.delete(id);
|
|
132
|
+
return next;
|
|
133
|
+
});
|
|
134
|
+
}
|
|
135
|
+
counterpart(id) {
|
|
136
|
+
return this.counterparts().get(id) ?? null;
|
|
137
|
+
}
|
|
138
|
+
/** The control that opens what did not fit. The bar measures it. */
|
|
139
|
+
registerTrigger(element) {
|
|
140
|
+
this.trigger.set(element);
|
|
141
|
+
}
|
|
142
|
+
constructor() {
|
|
143
|
+
const destroyRef = inject(DestroyRef);
|
|
144
|
+
afterNextRender(() => {
|
|
145
|
+
const ring = createRovingTabindex(this.element, {
|
|
146
|
+
crossAxis: true,
|
|
147
|
+
includeAriaDisabled: true,
|
|
148
|
+
itemSelector: TOOLBAR_ITEM_SELECTOR,
|
|
149
|
+
loop: () => this.resolvedLoop(),
|
|
150
|
+
orientation: () => this.resolvedOrientation(),
|
|
151
|
+
ownedKeys: (item) => toolbarOwnedKeys(item, this.resolvedOrientation()),
|
|
152
|
+
});
|
|
153
|
+
this.ring = ring;
|
|
154
|
+
/**
|
|
155
|
+
* A control arriving or leaving has to reach the tab stop, and neither
|
|
156
|
+
* binding can be told by the other's change detection. The DOM is the one
|
|
157
|
+
* thing they agree on — and the same event invalidates the measurement,
|
|
158
|
+
* because a bar that grows a button collapses one.
|
|
159
|
+
*/
|
|
160
|
+
const observer = new MutationObserver(() => {
|
|
161
|
+
ring.refresh();
|
|
162
|
+
this.collapse?.refresh();
|
|
163
|
+
});
|
|
164
|
+
observer.observe(this.element, { childList: true, subtree: true });
|
|
165
|
+
this.ready.set(true);
|
|
166
|
+
destroyRef.onDestroy(() => {
|
|
167
|
+
observer.disconnect();
|
|
168
|
+
ring.destroy();
|
|
169
|
+
this.ring = null;
|
|
170
|
+
});
|
|
171
|
+
});
|
|
172
|
+
/**
|
|
173
|
+
* The collapse runs only under `overflow="menu"`, and only once the bar
|
|
174
|
+
* holds a trigger: with nothing to give way *to*, every unit is pinned and
|
|
175
|
+
* the bar scrolls instead — the same degradation a bar of pinned units
|
|
176
|
+
* gets.
|
|
177
|
+
*/
|
|
178
|
+
effect((onCleanup) => {
|
|
179
|
+
const trigger = this.trigger();
|
|
180
|
+
const orientation = this.resolvedOrientation();
|
|
181
|
+
if (!this.ready() || this.resolvedOverflow() !== 'menu')
|
|
182
|
+
return;
|
|
183
|
+
const handle = createCollapse(this.element, {
|
|
184
|
+
collapsible: (unit) => unit.hasAttribute(TOOLBAR_UNIT_ATTRIBUTE),
|
|
185
|
+
divides: (unit) => unit.getAttribute('data-part') === 'separator',
|
|
186
|
+
/* A spacer grows into whatever is left, so its room is nought — and it
|
|
187
|
+
is still one of the boxes the gaps run between. */
|
|
188
|
+
fixedSize: (unit) => (unit.getAttribute('data-part') === 'spacer' ? 0 : undefined),
|
|
189
|
+
onChange: (units) => {
|
|
190
|
+
const named = units.filter((unit) => unit.hasAttribute(TOOLBAR_UNIT_ATTRIBUTE));
|
|
191
|
+
this.collapsedUnits.set(named.map((unit, index) => {
|
|
192
|
+
const previous = named[index - 1];
|
|
193
|
+
return {
|
|
194
|
+
id: unit.getAttribute(TOOLBAR_UNIT_ATTRIBUTE) ?? '',
|
|
195
|
+
separatorBefore: previous !== undefined && ruleBetween(previous, unit),
|
|
196
|
+
};
|
|
197
|
+
}));
|
|
198
|
+
/* A unit that left the bar leaves the ring with it, and one that came
|
|
199
|
+
back rejoins it. */
|
|
200
|
+
this.ring?.refresh();
|
|
201
|
+
this.overflowChange.emit(named.length);
|
|
202
|
+
},
|
|
203
|
+
orientation: () => orientation,
|
|
204
|
+
trigger: () => trigger,
|
|
205
|
+
units: () => unitsOf(this.element),
|
|
206
|
+
});
|
|
207
|
+
this.collapse = handle;
|
|
208
|
+
onCleanup(() => {
|
|
209
|
+
handle.destroy();
|
|
210
|
+
this.collapse = null;
|
|
211
|
+
this.collapsedUnits.set([]);
|
|
212
|
+
});
|
|
213
|
+
});
|
|
214
|
+
}
|
|
215
|
+
collapse = null;
|
|
216
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.7", ngImport: i0, type: SlToolbar, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
217
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.1.7", type: SlToolbar, isStandalone: true, selector: "[slToolbar]", inputs: { orientation: { classPropertyName: "orientation", publicName: "orientation", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, variant: { classPropertyName: "variant", publicName: "variant", isSignal: true, isRequired: false, transformFunction: null }, overflow: { classPropertyName: "overflow", publicName: "overflow", isSignal: true, isRequired: false, transformFunction: null }, loop: { classPropertyName: "loop", publicName: "loop", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { overflowChange: "overflowChange" }, host: { attributes: { "data-ui": "toolbar", "data-part": "root", "role": "toolbar" }, properties: { "attr.data-orientation": "resolvedOrientation()", "attr.data-size": "resolvedSize()", "attr.data-variant": "resolvedVariant()", "attr.data-overflow": "resolvedOverflow()", "attr.data-collapsed": "collapsedCount()", "attr.aria-orientation": "ariaOrientation()" } }, exportAs: ["slToolbar"], ngImport: i0, template: '<ng-content />', isInline: true, styles: ["@layer slotted.components{[data-ui=toolbar]{--_gap: var(--slotted-control-gap-md, .375rem);--_inset: var(--slotted-space-2, .25rem);--_height: var(--slotted-control-height-md, 34px);--_separator-inset: var(--slotted-space-2, .25rem);--_font-size: var(--slotted-control-font-size-md, .875rem);--_icon-size: var(--slotted-control-icon-size-md, 16px);--_inner-size: var(--slotted-control-inner-size-md, 24px);--_pad: var(--_inset);align-items:center;display:flex;flex-wrap:wrap;gap:var(--slotted-toolbar-gap, var(--_gap));min-inline-size:0;padding:var(--slotted-toolbar-inset, var(--_pad))}[data-ui=toolbar][data-size=sm]{--_gap: var(--slotted-control-gap-sm, .25rem);--_inset: var(--slotted-space-1, .125rem);--_height: var(--slotted-control-height-sm, 30px);--_separator-inset: var(--slotted-space-1, .125rem);--_font-size: var(--slotted-control-font-size-sm, .8125rem);--_icon-size: var(--slotted-control-icon-size-sm, 14px);--_inner-size: var(--slotted-control-inner-size-sm, 22px)}[data-ui=toolbar][data-size=lg]{--_gap: var(--slotted-control-gap-lg, .5rem);--_inset: var(--slotted-space-3, .375rem);--_height: var(--slotted-control-height-lg, 40px);--_separator-inset: var(--slotted-space-3, .375rem);--_font-size: var(--slotted-control-font-size-lg, .9375rem);--_icon-size: var(--slotted-control-icon-size-lg, 18px);--_inner-size: var(--slotted-control-inner-size-lg, 28px)}[data-ui=toolbar]:empty{display:none}[data-ui=toolbar][data-orientation=vertical]{align-items:stretch;flex-direction:column;inline-size:fit-content}[data-ui=toolbar][data-variant=outline]{--_pad: max( var(--_inset), calc(var(--slotted-focus-ring-offset, 2px) + var(--slotted-focus-ring-width, 2px)) );background-color:var(--slotted-toolbar-background, var(--slotted-surface-raised));border:var(--slotted-border-width-thin, 1px) solid var(--slotted-toolbar-border-color, var(--slotted-border-subtle, ButtonBorder));border-radius:var(--slotted-radius-md, 6px)}[data-ui=toolbar]:is([data-overflow=scroll],[data-overflow=menu]){--_pad: max( var(--_inset), calc(var(--slotted-focus-ring-offset, 2px) + var(--slotted-focus-ring-width, 2px)) );flex-wrap:nowrap;overflow-x:auto;overscroll-behavior-inline:contain;scrollbar-width:thin}[data-ui=toolbar]:is([data-overflow=scroll],[data-overflow=menu])[data-orientation=vertical]{inline-size:auto;overflow-x:hidden;overflow-y:auto}[data-ui=toolbar]:is([data-overflow=scroll],[data-overflow=menu])>*{flex:none}[data-ui=toolbar] [data-part=item]{align-items:center;display:inline-flex;min-inline-size:0}[data-ui=toolbar][data-orientation=vertical] [data-part=item]{align-items:stretch;flex-direction:column}[data-ui=toolbar] :is([data-part=item],[data-part=group],[data-part=separator],[data-part=overflow])[hidden]{display:none}[data-ui=toolbar] [data-part=overflow]{--slotted-icon-size: var(--_icon-size);align-items:center;appearance:none;background-color:transparent;border:0;border-radius:var(--slotted-control-radius, 4px);color:var(--slotted-toolbar-overflow-color, var(--slotted-text-muted, GrayText));cursor:pointer;display:inline-flex;flex:none;font-family:var(--slotted-control-font-family, inherit);justify-content:center;line-height:1;min-block-size:var(--_height);min-inline-size:max(var(--slotted-target-min, 24px),min(calc(var(--_icon-size) + 2 * var(--slotted-space-2, .25rem)),var(--_inner-size)));padding:0;transition:background-color var(--slotted-control-transition-duration) var(--slotted-control-transition-easing),color var(--slotted-control-transition-duration) var(--slotted-control-transition-easing)}[data-ui=toolbar] [data-part=overflow]:not(:disabled):hover{background-color:var( --slotted-toolbar-overflow-hover-background, var(--slotted-tone-secondary-subtle-hover) )}[data-ui=toolbar] [data-part=overflow]:not(:disabled):active{background-color:var( --slotted-toolbar-overflow-active-background, var(--slotted-tone-secondary-subtle-active) )}[data-ui=toolbar] [data-part=overflow][data-open]{background-color:var( --slotted-toolbar-overflow-open-background, var(--slotted-tone-secondary-subtle-active) );color:var(--slotted-toolbar-overflow-hover-color, var(--slotted-text, CanvasText))}@media(pointer:coarse){[data-ui=toolbar] [data-part=overflow]{min-block-size:max(var(--slotted-target-comfortable, 44px),var(--_height));min-inline-size:max(var(--slotted-target-comfortable, 44px),var(--_height))}}[data-ui=toolbar] [data-part=overflow]:disabled{color:var(--slotted-disabled-foreground, GrayText);cursor:default}[data-ui=toolbar] [data-part=overflow]:focus-visible{outline:var(--slotted-focus-ring-width, 2px) solid var(--slotted-focus-ring-color, Highlight);outline-offset:calc(-1 * var(--slotted-focus-ring-width, 2px))}[data-ui=toolbar] [data-part=group]{align-items:center;display:flex;flex-wrap:inherit;gap:calc(var(--_gap) / 2);min-inline-size:0}[data-ui=toolbar][data-orientation=vertical] [data-part=group]{align-items:stretch;flex-direction:column}[data-ui=toolbar] [data-part=group]:not(:first-child){margin-inline-start:calc(var(--_gap) / 2)}[data-ui=toolbar] [data-part=group]:not(:last-child){margin-inline-end:calc(var(--_gap) / 2)}[data-ui=toolbar][data-orientation=vertical] [data-part=group]:not(:first-child){margin-block-start:calc(var(--_gap) / 2);margin-inline-start:0}[data-ui=toolbar][data-orientation=vertical] [data-part=group]:not(:last-child){margin-block-end:calc(var(--_gap) / 2);margin-inline-end:0}[data-ui=toolbar] [data-part=separator]{align-self:stretch;background-color:var( --slotted-toolbar-separator-color, var(--slotted-control-border-color, ButtonBorder) );border:0;flex:none;inline-size:var(--slotted-border-width-thin, 1px);margin-block:var(--_separator-inset);margin-inline:calc(var(--_gap) / 2);min-block-size:calc(var(--_height) - 2 * var(--_separator-inset))}[data-ui=toolbar][data-orientation=vertical] [data-part=separator]{block-size:var(--slotted-border-width-thin, 1px);inline-size:auto;margin-block:calc(var(--_gap) / 2);margin-inline:var(--_separator-inset);min-block-size:0}@media(forced-colors:active){[data-ui=toolbar] [data-part=separator]{background-color:CanvasText;forced-color-adjust:none}}[data-ui=toolbar] [data-part=spacer]{flex:1 1 0;min-block-size:0;min-inline-size:0}}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
218
|
+
}
|
|
219
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.7", ngImport: i0, type: SlToolbar, decorators: [{
|
|
220
|
+
type: Component,
|
|
221
|
+
args: [{ selector: '[slToolbar]', standalone: true, exportAs: 'slToolbar', template: '<ng-content />', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: {
|
|
222
|
+
'data-ui': 'toolbar',
|
|
223
|
+
'data-part': 'root',
|
|
224
|
+
role: 'toolbar',
|
|
225
|
+
'[attr.data-orientation]': 'resolvedOrientation()',
|
|
226
|
+
'[attr.data-size]': 'resolvedSize()',
|
|
227
|
+
'[attr.data-variant]': 'resolvedVariant()',
|
|
228
|
+
'[attr.data-overflow]': 'resolvedOverflow()',
|
|
229
|
+
'[attr.data-collapsed]': 'collapsedCount()',
|
|
230
|
+
'[attr.aria-orientation]': 'ariaOrientation()',
|
|
231
|
+
}, styles: ["@layer slotted.components{[data-ui=toolbar]{--_gap: var(--slotted-control-gap-md, .375rem);--_inset: var(--slotted-space-2, .25rem);--_height: var(--slotted-control-height-md, 34px);--_separator-inset: var(--slotted-space-2, .25rem);--_font-size: var(--slotted-control-font-size-md, .875rem);--_icon-size: var(--slotted-control-icon-size-md, 16px);--_inner-size: var(--slotted-control-inner-size-md, 24px);--_pad: var(--_inset);align-items:center;display:flex;flex-wrap:wrap;gap:var(--slotted-toolbar-gap, var(--_gap));min-inline-size:0;padding:var(--slotted-toolbar-inset, var(--_pad))}[data-ui=toolbar][data-size=sm]{--_gap: var(--slotted-control-gap-sm, .25rem);--_inset: var(--slotted-space-1, .125rem);--_height: var(--slotted-control-height-sm, 30px);--_separator-inset: var(--slotted-space-1, .125rem);--_font-size: var(--slotted-control-font-size-sm, .8125rem);--_icon-size: var(--slotted-control-icon-size-sm, 14px);--_inner-size: var(--slotted-control-inner-size-sm, 22px)}[data-ui=toolbar][data-size=lg]{--_gap: var(--slotted-control-gap-lg, .5rem);--_inset: var(--slotted-space-3, .375rem);--_height: var(--slotted-control-height-lg, 40px);--_separator-inset: var(--slotted-space-3, .375rem);--_font-size: var(--slotted-control-font-size-lg, .9375rem);--_icon-size: var(--slotted-control-icon-size-lg, 18px);--_inner-size: var(--slotted-control-inner-size-lg, 28px)}[data-ui=toolbar]:empty{display:none}[data-ui=toolbar][data-orientation=vertical]{align-items:stretch;flex-direction:column;inline-size:fit-content}[data-ui=toolbar][data-variant=outline]{--_pad: max( var(--_inset), calc(var(--slotted-focus-ring-offset, 2px) + var(--slotted-focus-ring-width, 2px)) );background-color:var(--slotted-toolbar-background, var(--slotted-surface-raised));border:var(--slotted-border-width-thin, 1px) solid var(--slotted-toolbar-border-color, var(--slotted-border-subtle, ButtonBorder));border-radius:var(--slotted-radius-md, 6px)}[data-ui=toolbar]:is([data-overflow=scroll],[data-overflow=menu]){--_pad: max( var(--_inset), calc(var(--slotted-focus-ring-offset, 2px) + var(--slotted-focus-ring-width, 2px)) );flex-wrap:nowrap;overflow-x:auto;overscroll-behavior-inline:contain;scrollbar-width:thin}[data-ui=toolbar]:is([data-overflow=scroll],[data-overflow=menu])[data-orientation=vertical]{inline-size:auto;overflow-x:hidden;overflow-y:auto}[data-ui=toolbar]:is([data-overflow=scroll],[data-overflow=menu])>*{flex:none}[data-ui=toolbar] [data-part=item]{align-items:center;display:inline-flex;min-inline-size:0}[data-ui=toolbar][data-orientation=vertical] [data-part=item]{align-items:stretch;flex-direction:column}[data-ui=toolbar] :is([data-part=item],[data-part=group],[data-part=separator],[data-part=overflow])[hidden]{display:none}[data-ui=toolbar] [data-part=overflow]{--slotted-icon-size: var(--_icon-size);align-items:center;appearance:none;background-color:transparent;border:0;border-radius:var(--slotted-control-radius, 4px);color:var(--slotted-toolbar-overflow-color, var(--slotted-text-muted, GrayText));cursor:pointer;display:inline-flex;flex:none;font-family:var(--slotted-control-font-family, inherit);justify-content:center;line-height:1;min-block-size:var(--_height);min-inline-size:max(var(--slotted-target-min, 24px),min(calc(var(--_icon-size) + 2 * var(--slotted-space-2, .25rem)),var(--_inner-size)));padding:0;transition:background-color var(--slotted-control-transition-duration) var(--slotted-control-transition-easing),color var(--slotted-control-transition-duration) var(--slotted-control-transition-easing)}[data-ui=toolbar] [data-part=overflow]:not(:disabled):hover{background-color:var( --slotted-toolbar-overflow-hover-background, var(--slotted-tone-secondary-subtle-hover) )}[data-ui=toolbar] [data-part=overflow]:not(:disabled):active{background-color:var( --slotted-toolbar-overflow-active-background, var(--slotted-tone-secondary-subtle-active) )}[data-ui=toolbar] [data-part=overflow][data-open]{background-color:var( --slotted-toolbar-overflow-open-background, var(--slotted-tone-secondary-subtle-active) );color:var(--slotted-toolbar-overflow-hover-color, var(--slotted-text, CanvasText))}@media(pointer:coarse){[data-ui=toolbar] [data-part=overflow]{min-block-size:max(var(--slotted-target-comfortable, 44px),var(--_height));min-inline-size:max(var(--slotted-target-comfortable, 44px),var(--_height))}}[data-ui=toolbar] [data-part=overflow]:disabled{color:var(--slotted-disabled-foreground, GrayText);cursor:default}[data-ui=toolbar] [data-part=overflow]:focus-visible{outline:var(--slotted-focus-ring-width, 2px) solid var(--slotted-focus-ring-color, Highlight);outline-offset:calc(-1 * var(--slotted-focus-ring-width, 2px))}[data-ui=toolbar] [data-part=group]{align-items:center;display:flex;flex-wrap:inherit;gap:calc(var(--_gap) / 2);min-inline-size:0}[data-ui=toolbar][data-orientation=vertical] [data-part=group]{align-items:stretch;flex-direction:column}[data-ui=toolbar] [data-part=group]:not(:first-child){margin-inline-start:calc(var(--_gap) / 2)}[data-ui=toolbar] [data-part=group]:not(:last-child){margin-inline-end:calc(var(--_gap) / 2)}[data-ui=toolbar][data-orientation=vertical] [data-part=group]:not(:first-child){margin-block-start:calc(var(--_gap) / 2);margin-inline-start:0}[data-ui=toolbar][data-orientation=vertical] [data-part=group]:not(:last-child){margin-block-end:calc(var(--_gap) / 2);margin-inline-end:0}[data-ui=toolbar] [data-part=separator]{align-self:stretch;background-color:var( --slotted-toolbar-separator-color, var(--slotted-control-border-color, ButtonBorder) );border:0;flex:none;inline-size:var(--slotted-border-width-thin, 1px);margin-block:var(--_separator-inset);margin-inline:calc(var(--_gap) / 2);min-block-size:calc(var(--_height) - 2 * var(--_separator-inset))}[data-ui=toolbar][data-orientation=vertical] [data-part=separator]{block-size:var(--slotted-border-width-thin, 1px);inline-size:auto;margin-block:calc(var(--_gap) / 2);margin-inline:var(--_separator-inset);min-block-size:0}@media(forced-colors:active){[data-ui=toolbar] [data-part=separator]{background-color:CanvasText;forced-color-adjust:none}}[data-ui=toolbar] [data-part=spacer]{flex:1 1 0;min-block-size:0;min-inline-size:0}}\n"] }]
|
|
232
|
+
}], ctorParameters: () => [], propDecorators: { orientation: [{ type: i0.Input, args: [{ isSignal: true, alias: "orientation", required: false }] }], size: [{ type: i0.Input, args: [{ isSignal: true, alias: "size", required: false }] }], variant: [{ type: i0.Input, args: [{ isSignal: true, alias: "variant", required: false }] }], overflow: [{ type: i0.Input, args: [{ isSignal: true, alias: "overflow", required: false }] }], loop: [{ type: i0.Input, args: [{ isSignal: true, alias: "loop", required: false }] }], overflowChange: [{ type: i0.Output, args: ["overflowChange"] }] } });
|
|
233
|
+
/**
|
|
234
|
+
* A run of related controls, announced as a group.
|
|
235
|
+
*
|
|
236
|
+
* The distance inside it is half the bar's gap and the distance around it is a
|
|
237
|
+
* gap and a half, so the boundary between two groups reads wider than the
|
|
238
|
+
* boundary between two controls. Its accessible name is the consumer's own
|
|
239
|
+
* `aria-label`.
|
|
240
|
+
*
|
|
241
|
+
* The arrows do not stop at its edge: a group is a label around a run, not a
|
|
242
|
+
* second keyboard.
|
|
243
|
+
*/
|
|
244
|
+
class SlToolbarGroup {
|
|
245
|
+
/**
|
|
246
|
+
* What the whole run becomes when the bar has no room for it, under
|
|
247
|
+
* `overflow="menu"`. A group that declares none is pinned.
|
|
248
|
+
*/
|
|
249
|
+
counterpart = input(undefined, { ...(ngDevMode ? { debugName: "counterpart" } : /* istanbul ignore next */ {}), alias: 'slToolbarGroupCounterpart' });
|
|
250
|
+
unit = declareUnit(() => this.counterpart());
|
|
251
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.7", ngImport: i0, type: SlToolbarGroup, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
252
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "22.1.7", type: SlToolbarGroup, isStandalone: true, selector: "[slToolbarGroup]", inputs: { counterpart: { classPropertyName: "counterpart", publicName: "slToolbarGroupCounterpart", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "data-part": "group", "role": "group" }, properties: { "attr.data-unit": "unit.id()" } }, exportAs: ["slToolbarGroup"], ngImport: i0 });
|
|
253
|
+
}
|
|
254
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.7", ngImport: i0, type: SlToolbarGroup, decorators: [{
|
|
255
|
+
type: Directive,
|
|
256
|
+
args: [{
|
|
257
|
+
selector: '[slToolbarGroup]',
|
|
258
|
+
standalone: true,
|
|
259
|
+
exportAs: 'slToolbarGroup',
|
|
260
|
+
host: { 'data-part': 'group', role: 'group', '[attr.data-unit]': 'unit.id()' },
|
|
261
|
+
}]
|
|
262
|
+
}], propDecorators: { counterpart: [{ type: i0.Input, args: [{ isSignal: true, alias: "slToolbarGroupCounterpart", required: false }] }] } });
|
|
263
|
+
/**
|
|
264
|
+
* One unit the bar may give up, and what it becomes when it does.
|
|
265
|
+
*
|
|
266
|
+
* A unit is a direct child of the root, which is deliberately not the same
|
|
267
|
+
* thing as an item: the keyboard finds items by being focusable, at any depth,
|
|
268
|
+
* and the collapse acts on the boxes the bar lays out. A `slButtonGroup` inside
|
|
269
|
+
* one of these is one unit and four items.
|
|
270
|
+
*
|
|
271
|
+
* It is only needed under `overflow="menu"`, and only around a control the bar
|
|
272
|
+
* is allowed to hide. A control placed in a bar unwrapped is a unit too — a
|
|
273
|
+
* pinned one, because it declares nothing to become.
|
|
274
|
+
*/
|
|
275
|
+
class SlToolbarItem {
|
|
276
|
+
/**
|
|
277
|
+
* What the control becomes in the surface. An item that declares none cannot
|
|
278
|
+
* be hidden, which is how a primary action stays visible: it has nowhere to
|
|
279
|
+
* go, rather than a rank above the others.
|
|
280
|
+
*/
|
|
281
|
+
counterpart = input(undefined, { ...(ngDevMode ? { debugName: "counterpart" } : /* istanbul ignore next */ {}), alias: 'slToolbarItemCounterpart' });
|
|
282
|
+
unit = declareUnit(() => this.counterpart());
|
|
283
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.7", ngImport: i0, type: SlToolbarItem, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
284
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "22.1.7", type: SlToolbarItem, isStandalone: true, selector: "[slToolbarItem]", inputs: { counterpart: { classPropertyName: "counterpart", publicName: "slToolbarItemCounterpart", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "data-part": "item" }, properties: { "attr.data-unit": "unit.id()" } }, exportAs: ["slToolbarItem"], ngImport: i0 });
|
|
285
|
+
}
|
|
286
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.7", ngImport: i0, type: SlToolbarItem, decorators: [{
|
|
287
|
+
type: Directive,
|
|
288
|
+
args: [{
|
|
289
|
+
selector: '[slToolbarItem]',
|
|
290
|
+
standalone: true,
|
|
291
|
+
exportAs: 'slToolbarItem',
|
|
292
|
+
host: { 'data-part': 'item', '[attr.data-unit]': 'unit.id()' },
|
|
293
|
+
}]
|
|
294
|
+
}], propDecorators: { counterpart: [{ type: i0.Input, args: [{ isSignal: true, alias: "slToolbarItemCounterpart", required: false }] }] } });
|
|
295
|
+
/**
|
|
296
|
+
* Records what a unit becomes in the surface, and says so in the DOM.
|
|
297
|
+
*
|
|
298
|
+
* The attribute is what the measurement reads: a unit carrying it has somewhere
|
|
299
|
+
* to go, and one without it is pinned. Pinning is therefore the absence of a
|
|
300
|
+
* counterpart rather than a second input — one fact, in the place a reader is
|
|
301
|
+
* already looking, and no way for the two to disagree.
|
|
302
|
+
*/
|
|
303
|
+
let unitCount = 0;
|
|
304
|
+
function declareUnit(counterpart) {
|
|
305
|
+
const toolbar = inject(SlToolbar, { optional: true });
|
|
306
|
+
const destroyRef = inject(DestroyRef);
|
|
307
|
+
const identity = `slotted-toolbar-unit-${(unitCount += 1)}`;
|
|
308
|
+
const id = computed(() => (counterpart() === undefined ? null : identity), /* @ts-ignore */
|
|
309
|
+
...(ngDevMode ? [{ debugName: "id" }] : /* istanbul ignore next */ []));
|
|
310
|
+
effect(() => {
|
|
311
|
+
const template = counterpart();
|
|
312
|
+
if (toolbar === null)
|
|
313
|
+
return;
|
|
314
|
+
if (template === undefined)
|
|
315
|
+
toolbar.releaseUnit(identity);
|
|
316
|
+
else
|
|
317
|
+
toolbar.registerUnit(identity, template);
|
|
318
|
+
});
|
|
319
|
+
destroyRef.onDestroy(() => toolbar?.releaseUnit(identity));
|
|
320
|
+
return { id };
|
|
321
|
+
}
|
|
322
|
+
/**
|
|
323
|
+
* A hairline between two runs.
|
|
324
|
+
*
|
|
325
|
+
* It is a part of this family rather than a `divider`, because its geometry
|
|
326
|
+
* belongs to the bar: it is measured against the controls beside it, and it
|
|
327
|
+
* turns with the bar. `aria-orientation` states the axis of the rule itself,
|
|
328
|
+
* which is perpendicular to the one the controls run along.
|
|
329
|
+
*/
|
|
330
|
+
class SlToolbarSeparator {
|
|
331
|
+
toolbar = inject(SlToolbar);
|
|
332
|
+
ariaOrientation = computed(() => this.toolbar.resolvedOrientation() === 'vertical' ? 'horizontal' : 'vertical', /* @ts-ignore */
|
|
333
|
+
...(ngDevMode ? [{ debugName: "ariaOrientation" }] : /* istanbul ignore next */ []));
|
|
334
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.7", ngImport: i0, type: SlToolbarSeparator, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
335
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.1.7", type: SlToolbarSeparator, isStandalone: true, selector: "[slToolbarSeparator]", host: { attributes: { "data-part": "separator", "role": "separator" }, properties: { "attr.aria-orientation": "ariaOrientation()" } }, exportAs: ["slToolbarSeparator"], ngImport: i0 });
|
|
336
|
+
}
|
|
337
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.7", ngImport: i0, type: SlToolbarSeparator, decorators: [{
|
|
338
|
+
type: Directive,
|
|
339
|
+
args: [{
|
|
340
|
+
selector: '[slToolbarSeparator]',
|
|
341
|
+
standalone: true,
|
|
342
|
+
exportAs: 'slToolbarSeparator',
|
|
343
|
+
host: {
|
|
344
|
+
'data-part': 'separator',
|
|
345
|
+
role: 'separator',
|
|
346
|
+
'[attr.aria-orientation]': 'ariaOrientation()',
|
|
347
|
+
},
|
|
348
|
+
}]
|
|
349
|
+
}] });
|
|
350
|
+
/**
|
|
351
|
+
* The free space between two runs, so what follows sits at the end of the bar.
|
|
352
|
+
*
|
|
353
|
+
* It replaces a `justify` axis: an axis decides the placement of every control
|
|
354
|
+
* at once, and what a bar needs is one boundary — the editing controls at the
|
|
355
|
+
* start, the destructive one at the end.
|
|
356
|
+
*/
|
|
357
|
+
class SlToolbarSpacer {
|
|
358
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.7", ngImport: i0, type: SlToolbarSpacer, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
359
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.1.7", type: SlToolbarSpacer, isStandalone: true, selector: "[slToolbarSpacer]", host: { attributes: { "data-part": "spacer", "aria-hidden": "true" } }, exportAs: ["slToolbarSpacer"], ngImport: i0 });
|
|
360
|
+
}
|
|
361
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.7", ngImport: i0, type: SlToolbarSpacer, decorators: [{
|
|
362
|
+
type: Directive,
|
|
363
|
+
args: [{
|
|
364
|
+
selector: '[slToolbarSpacer]',
|
|
365
|
+
standalone: true,
|
|
366
|
+
exportAs: 'slToolbarSpacer',
|
|
367
|
+
host: { 'data-part': 'spacer', 'aria-hidden': 'true' },
|
|
368
|
+
}]
|
|
369
|
+
}] });
|
|
370
|
+
|
|
371
|
+
/**
|
|
372
|
+
* The control that opens what did not fit, and the surface holding it.
|
|
373
|
+
*
|
|
374
|
+
* It is `menu`'s own trigger and surface wearing this family's geometry, so the
|
|
375
|
+
* keyboard, the dismissal and the focus return are `menu`'s and are not written
|
|
376
|
+
* twice. What this family adds is the measurement: the bar decides which units
|
|
377
|
+
* give way, and the counterparts they declared are rendered here in the order
|
|
378
|
+
* the bar held them, with a separator wherever one of the bar's own rules sat
|
|
379
|
+
* between two of them.
|
|
380
|
+
*
|
|
381
|
+
* The counterpart is an `ng-template` rendered through `NgTemplateOutlet` only
|
|
382
|
+
* while its unit is collapsed, so a menu item that is never reached builds
|
|
383
|
+
* nothing. That is where the two bindings differ most, and it is idiom rather
|
|
384
|
+
* than asymmetry: React's `ReactNode` is built with the element that declares
|
|
385
|
+
* it, which is React's own answer and its own cost.
|
|
386
|
+
*
|
|
387
|
+
* **A template resolves its dependencies where it was written, not where it is
|
|
388
|
+
* rendered.** The counterpart is authored beside the control it replaces, which
|
|
389
|
+
* is outside the surface, so `slMenuItem` looked for the `SlMenu` above the bar
|
|
390
|
+
* and found none — `NG0201`. The outlet is therefore given an injector that
|
|
391
|
+
* provides the surface this component draws, and the item finds the menu it is
|
|
392
|
+
* actually inside. The DOM was never wrong; only the injector was.
|
|
393
|
+
*
|
|
394
|
+
* The host is `display: contents`, so the `button` below is a child of the bar
|
|
395
|
+
* itself: the part that carries the geometry has to be the box the bar lays
|
|
396
|
+
* out, and a wrapper between them would be a unit the collapse would try to
|
|
397
|
+
* measure.
|
|
398
|
+
*
|
|
399
|
+
* **The `hidden` attribute on the trigger belongs to the bar.** `createCollapse`
|
|
400
|
+
* writes it, because the same measurement that decides whether the control is
|
|
401
|
+
* needed is the one that has to reveal it to read its width.
|
|
402
|
+
*/
|
|
403
|
+
class SlToolbarOverflow {
|
|
404
|
+
/** Where the surface sits against the trigger. */
|
|
405
|
+
align = input(undefined, /* @ts-ignore */
|
|
406
|
+
...(ngDevMode ? [{ debugName: "align" }] : /* istanbul ignore next */ []));
|
|
407
|
+
side = input(undefined, /* @ts-ignore */
|
|
408
|
+
...(ngDevMode ? [{ debugName: "side" }] : /* istanbul ignore next */ []));
|
|
409
|
+
/** The surface's own measure, which is `menu`'s axis rather than the bar's. */
|
|
410
|
+
size = input(undefined, /* @ts-ignore */
|
|
411
|
+
...(ngDevMode ? [{ debugName: "size" }] : /* istanbul ignore next */ []));
|
|
412
|
+
/**
|
|
413
|
+
* The accessible name. Defaults to a count — "3 more actions" — because the
|
|
414
|
+
* mark says nothing about how much is behind it.
|
|
415
|
+
*/
|
|
416
|
+
label = input(undefined, /* @ts-ignore */
|
|
417
|
+
...(ngDevMode ? [{ debugName: "label" }] : /* istanbul ignore next */ []));
|
|
418
|
+
toolbar = inject(SlToolbar);
|
|
419
|
+
/** A name the consumer wrote on the host survives the counted default. */
|
|
420
|
+
stated = inject(new HostAttributeToken('aria-label'), { optional: true });
|
|
421
|
+
name = computed(() => {
|
|
422
|
+
if (this.stated !== null)
|
|
423
|
+
return this.stated;
|
|
424
|
+
const given = this.label();
|
|
425
|
+
const hidden = this.toolbar.collapsedUnits().length;
|
|
426
|
+
if (typeof given === 'function')
|
|
427
|
+
return given(hidden);
|
|
428
|
+
if (given !== undefined)
|
|
429
|
+
return given;
|
|
430
|
+
return `${hidden} more ${hidden === 1 ? 'action' : 'actions'}`;
|
|
431
|
+
}, /* @ts-ignore */
|
|
432
|
+
...(ngDevMode ? [{ debugName: "name" }] : /* istanbul ignore next */ []));
|
|
433
|
+
trigger = viewChild.required('trigger', /* @ts-ignore */
|
|
434
|
+
...(ngDevMode ? [{ debugName: "trigger" }] : /* istanbul ignore next */ []));
|
|
435
|
+
surface = viewChild(SlMenu, /* @ts-ignore */
|
|
436
|
+
...(ngDevMode ? [{ debugName: "surface" }] : /* istanbul ignore next */ []));
|
|
437
|
+
injector = inject(Injector);
|
|
438
|
+
/**
|
|
439
|
+
* `null` until the view exists, which is also while nothing has collapsed and
|
|
440
|
+
* the outlet renders nothing.
|
|
441
|
+
*/
|
|
442
|
+
surfaceInjector = computed(() => {
|
|
443
|
+
const menu = this.surface();
|
|
444
|
+
if (menu === undefined)
|
|
445
|
+
return null;
|
|
446
|
+
return Injector.create({
|
|
447
|
+
parent: this.injector,
|
|
448
|
+
providers: [{ provide: SlMenu, useValue: menu }],
|
|
449
|
+
});
|
|
450
|
+
}, /* @ts-ignore */
|
|
451
|
+
...(ngDevMode ? [{ debugName: "surfaceInjector" }] : /* istanbul ignore next */ []));
|
|
452
|
+
constructor() {
|
|
453
|
+
const destroyRef = inject(DestroyRef);
|
|
454
|
+
afterNextRender(() => {
|
|
455
|
+
const element = this.trigger().nativeElement;
|
|
456
|
+
/**
|
|
457
|
+
* `slMenuTriggerFor` binds `[attr.data-part]` and resolves it to `null`
|
|
458
|
+
* for a trigger that is neither a bar's item nor a submenu's, and a host
|
|
459
|
+
* binding of `null` removes the attribute the author wrote. The part is
|
|
460
|
+
* therefore written back after the first change detection, where nothing
|
|
461
|
+
* writes over it again: the expression is a constant, so Angular applies
|
|
462
|
+
* it once.
|
|
463
|
+
*
|
|
464
|
+
* React does not have the problem because the family's own props are
|
|
465
|
+
* spread after the menu's; here the two writers are directives on one
|
|
466
|
+
* element and the last one wins.
|
|
467
|
+
*/
|
|
468
|
+
element.setAttribute('data-part', 'overflow');
|
|
469
|
+
/* The bar measures the control, so it has to hold it. */
|
|
470
|
+
this.toolbar.registerTrigger(element);
|
|
471
|
+
});
|
|
472
|
+
destroyRef.onDestroy(() => this.toolbar.registerTrigger(null));
|
|
473
|
+
}
|
|
474
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.7", ngImport: i0, type: SlToolbarOverflow, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
475
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.7", type: SlToolbarOverflow, isStandalone: true, selector: "sl-toolbar-overflow", inputs: { align: { classPropertyName: "align", publicName: "align", isSignal: true, isRequired: false, transformFunction: null }, side: { classPropertyName: "side", publicName: "side", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null } }, host: { styleAttribute: "display: contents" }, viewQueries: [{ propertyName: "trigger", first: true, predicate: ["trigger"], descendants: true, isSignal: true }, { propertyName: "surface", first: true, predicate: SlMenu, descendants: true, isSignal: true }], exportAs: ["slToolbarOverflow"], ngImport: i0, template: `
|
|
476
|
+
<button
|
|
477
|
+
#trigger
|
|
478
|
+
data-part="overflow"
|
|
479
|
+
type="button"
|
|
480
|
+
[slMenuTriggerFor]="surface"
|
|
481
|
+
[attr.aria-label]="name()"
|
|
482
|
+
>
|
|
483
|
+
<span slIcon><svg slGlyph name="ellipsis"></svg></span>
|
|
484
|
+
</button>
|
|
485
|
+
<sl-menu #surface [align]="align()" [side]="side()" [size]="size()">
|
|
486
|
+
@for (unit of toolbar.collapsedUnits(); track unit.id) {
|
|
487
|
+
@if (unit.separatorBefore) {
|
|
488
|
+
<hr slMenuSeparator />
|
|
489
|
+
}
|
|
490
|
+
<ng-container
|
|
491
|
+
*ngTemplateOutlet="toolbar.counterpart(unit.id)!; injector: surfaceInjector()"
|
|
492
|
+
/>
|
|
493
|
+
}
|
|
494
|
+
</sl-menu>
|
|
495
|
+
`, isInline: true, dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: SlGlyph, selector: "svg[slGlyph]", inputs: ["name", "solid"] }, { kind: "component", type: SlIcon, selector: "[slIcon]", inputs: ["directional", "label", "size", "tone"], exportAs: ["slIcon"] }, { kind: "component", type: SlMenu, selector: "sl-menu", inputs: ["value", "aria-label", "aria-describedby", "open", "align", "side", "size", "mount", "strategy", "sideOffset", "alignOffset", "collisionPadding", "submenuOpenDelay", "submenuCloseDelay", "typeaheadTimeout", "disabled", "loop", "typeahead", "openOnHover", "closeOnSelect", "closeOnEscape", "closeOnOutsidePress", "flip", "shift", "hideWhenDetached", "portal", "loading"], outputs: ["openChange", "openChangeRequest"], exportAs: ["slMenu"] }, { kind: "directive", type: SlMenuSeparator, selector: "hr[slMenuSeparator]" }, { kind: "directive", type: SlMenuTrigger, selector: "[slMenuTriggerFor]", inputs: ["slMenuTriggerFor"], exportAs: ["slMenuTrigger"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
496
|
+
}
|
|
497
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.7", ngImport: i0, type: SlToolbarOverflow, decorators: [{
|
|
498
|
+
type: Component,
|
|
499
|
+
args: [{
|
|
500
|
+
selector: 'sl-toolbar-overflow',
|
|
501
|
+
standalone: true,
|
|
502
|
+
exportAs: 'slToolbarOverflow',
|
|
503
|
+
imports: [NgTemplateOutlet, SlGlyph, SlIcon, SlMenu, SlMenuSeparator, SlMenuTrigger],
|
|
504
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
505
|
+
encapsulation: ViewEncapsulation.None,
|
|
506
|
+
host: { style: 'display: contents' },
|
|
507
|
+
template: `
|
|
508
|
+
<button
|
|
509
|
+
#trigger
|
|
510
|
+
data-part="overflow"
|
|
511
|
+
type="button"
|
|
512
|
+
[slMenuTriggerFor]="surface"
|
|
513
|
+
[attr.aria-label]="name()"
|
|
514
|
+
>
|
|
515
|
+
<span slIcon><svg slGlyph name="ellipsis"></svg></span>
|
|
516
|
+
</button>
|
|
517
|
+
<sl-menu #surface [align]="align()" [side]="side()" [size]="size()">
|
|
518
|
+
@for (unit of toolbar.collapsedUnits(); track unit.id) {
|
|
519
|
+
@if (unit.separatorBefore) {
|
|
520
|
+
<hr slMenuSeparator />
|
|
521
|
+
}
|
|
522
|
+
<ng-container
|
|
523
|
+
*ngTemplateOutlet="toolbar.counterpart(unit.id)!; injector: surfaceInjector()"
|
|
524
|
+
/>
|
|
525
|
+
}
|
|
526
|
+
</sl-menu>
|
|
527
|
+
`,
|
|
528
|
+
}]
|
|
529
|
+
}], ctorParameters: () => [], propDecorators: { align: [{ type: i0.Input, args: [{ isSignal: true, alias: "align", required: false }] }], side: [{ type: i0.Input, args: [{ isSignal: true, alias: "side", required: false }] }], size: [{ type: i0.Input, args: [{ isSignal: true, alias: "size", required: false }] }], label: [{ type: i0.Input, args: [{ isSignal: true, alias: "label", required: false }] }], trigger: [{ type: i0.ViewChild, args: ['trigger', { isSignal: true }] }], surface: [{ type: i0.ViewChild, args: [i0.forwardRef(() => SlMenu), { isSignal: true }] }] } });
|
|
530
|
+
|
|
531
|
+
/**
|
|
532
|
+
* Generated bundle index. Do not edit.
|
|
533
|
+
*/
|
|
534
|
+
|
|
535
|
+
export { SlToolbar, SlToolbarGroup, SlToolbarItem, SlToolbarOverflow, SlToolbarSeparator, SlToolbarSpacer, TOOLBAR_DEFAULTS, TOOLBAR_UNIT_ATTRIBUTE, injectToolbarDefaults, provideToolbarDefaults };
|
|
536
|
+
//# sourceMappingURL=slotted-angular-toolbar.mjs.map
|