@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 @@
|
|
|
1
|
+
{"version":3,"file":"slotted-angular-transfer.mjs","sources":["../../transfer/src/transfer-defaults.ts","../../transfer/src/transfer.ts","../../transfer/src/slotted-angular-transfer.ts"],"sourcesContent":["import { inject, Injectable, InjectionToken } from '@angular/core';\nimport type { ChangeReason, ChangeRequest } from '@slotted/core/state';\nimport type { TransferDirection, TransferSide } from '@slotted/core/transfer';\n\nexport type { TransferDirection, TransferSide };\n\n/** The type step of the lists, the search fields and the move buttons. */\nexport type TransferSize = 'sm' | 'md' | 'lg';\n\n/**\n * How the two panes are laid out. `auto` answers the root's own inline size:\n * two columns from 36rem, one pane at a time below it.\n */\nexport type TransferLayout = 'auto' | 'columns' | 'steps';\n\nexport type TransferMoveReason = Extract<ChangeReason, 'pointer' | 'keyboard' | 'programmatic'>;\nexport type TransferSelectionReason = Extract<\n ChangeReason,\n 'pointer' | 'keyboard' | 'select' | 'programmatic'\n>;\nexport type TransferQueryReason = Extract<ChangeReason, 'keyboard' | 'clear' | 'programmatic'>;\nexport type TransferPaneReason = Extract<ChangeReason, 'pointer' | 'keyboard' | 'programmatic'>;\n\n/** A move asks once, with what moved and which way. */\nexport interface TransferMoveRequest extends ChangeRequest<readonly string[]> {\n readonly reason: TransferMoveReason;\n readonly direction: TransferDirection;\n readonly keys: readonly string[];\n}\n\nexport interface TransferSelectionRequest extends ChangeRequest<readonly string[]> {\n readonly reason: TransferSelectionReason;\n}\n\nexport interface TransferQueryRequest extends ChangeRequest<string> {\n readonly reason: TransferQueryReason;\n}\n\nexport interface TransferPaneRequest extends ChangeRequest<TransferSide> {\n readonly reason: TransferPaneReason;\n}\n\n/** The shape the family reads without accessors. */\nexport interface TransferItem {\n key: string;\n label: string;\n description?: string | undefined;\n disabled?: boolean | undefined;\n}\n\n/** What an application sets once for every transfer under it. */\nexport interface TransferDefaults {\n size: TransferSize;\n layout: TransferLayout;\n searchable: boolean;\n selectAll: boolean;\n reorderable: boolean;\n rows: number;\n}\n\nconst FALLBACK: TransferDefaults = {\n size: 'md',\n layout: 'auto',\n searchable: true,\n selectAll: true,\n reorderable: false,\n rows: 8,\n};\n\nexport const TRANSFER_DEFAULTS = new InjectionToken<TransferDefaults>('slotted transfer defaults', {\n providedIn: 'root',\n factory: () => FALLBACK,\n});\n\n/**\n * An application decides once how its transfers look. A transfer that states\n * any of it itself still wins. The words come from the language in force\n * (`provideSlotted`).\n */\nexport function provideTransferDefaults(defaults: Partial<TransferDefaults>) {\n return {\n provide: TRANSFER_DEFAULTS,\n useFactory: (): TransferDefaults => ({ ...FALLBACK, ...defaults }),\n };\n}\n\nexport function injectTransferDefaults(): TransferDefaults {\n return inject(TRANSFER_DEFAULTS);\n}\n\n@Injectable({ providedIn: 'root' })\nexport class SlTransferIdFactory {\n private count = 0;\n\n next() {\n this.count += 1;\n return `slotted-transfer-${this.count}`;\n }\n}\n","import { NgTemplateOutlet } from '@angular/common';\nimport {\n afterEveryRender,\n afterNextRender,\n booleanAttribute,\n ChangeDetectionStrategy,\n Component,\n computed,\n contentChild,\n DestroyRef,\n Directive,\n ElementRef,\n forwardRef,\n HostAttributeToken,\n inject,\n input,\n model,\n numberAttribute,\n output,\n signal,\n TemplateRef,\n viewChildren,\n ViewEncapsulation,\n} from '@angular/core';\nimport {\n NG_VALIDATORS,\n NG_VALUE_ACCESSOR,\n type AbstractControl,\n type ControlValueAccessor,\n type ValidationErrors,\n type Validator,\n} from '@angular/forms';\nimport { injectMessages } from '@slotted/angular/i18n';\nimport { SlGlyph, SlIcon } from '@slotted/angular/icon';\nimport { SlButton, SlButtonEnd, SlButtonStart } from '@slotted/angular/button';\nimport { SlCheckbox } from '@slotted/angular/checkbox';\nimport {\n SlListbox,\n SlListboxDescription,\n SlListboxEmpty,\n SlListboxIndicator,\n SlListboxLabel,\n SlListboxLoader,\n SlListboxOptionContent,\n type ListboxChangeRequest,\n} from '@slotted/angular/listbox';\nimport { SlSegment, SlSegmentedControl } from '@slotted/angular/segmented-control';\nimport { SlTextField, SlTextFieldInput, SlTextFieldStart } from '@slotted/angular/text-field';\nimport { createFilter } from '@slotted/core/collection';\nimport { createDragController, type DragController } from '@slotted/core/drag';\nimport {\n dragMessages,\n type PartialMessages,\n transferMessages,\n type TransferMessages,\n} from '@slotted/core/i18n';\nimport { getLiveAnnouncer } from '@slotted/core/live-announcer';\nimport type { ChangeReason, ChangeRequest } from '@slotted/core/state';\nimport {\n keysToMove,\n moveKeys,\n partitionKeys,\n reorderKeys,\n reorderKeysTo,\n toggleVisibleSelection,\n type TransferSide,\n} from '@slotted/core/transfer';\n\nimport {\n injectTransferDefaults,\n SlTransferIdFactory,\n type TransferItem,\n type TransferLayout,\n type TransferMoveReason,\n type TransferMoveRequest,\n type TransferPaneReason,\n type TransferPaneRequest,\n type TransferQueryReason,\n type TransferQueryRequest,\n type TransferSelectionReason,\n type TransferSelectionRequest,\n type TransferSize,\n} from './transfer-defaults';\n\nconst SIDES: readonly TransferSide[] = ['source', 'target'];\nconst EMPTY: readonly string[] = [];\n\n/** The step one below the family's, for the search field and the buttons. */\nconst INNER_SIZE: Record<TransferSize, 'sm' | 'md'> = { sm: 'sm', md: 'sm', lg: 'md' };\n\n/** A click with no coordinates is a key. */\nfunction pressReason(event: MouseEvent): 'pointer' | 'keyboard' {\n return event.detail === 0 ? 'keyboard' : 'pointer';\n}\n\nfunction escapeValue(value: string): string {\n return typeof CSS !== 'undefined' && typeof CSS.escape === 'function'\n ? CSS.escape(value)\n : value.replace(/[\"\\\\]/g, '\\\\$&');\n}\n\nconst sameKeys = (a: readonly string[], b: readonly string[]) =>\n a.length === b.length && a.every((key, index) => key === b[index]);\n\n/** A request whose `cancel()` the family reads back after emitting it. */\nfunction makeRequest<T, Extra extends object>(\n value: T,\n previous: T,\n reason: ChangeReason,\n source: unknown,\n extra: Extra,\n): ChangeRequest<T> & Extra & { readonly cancelled: boolean } {\n let cancelled = false;\n return {\n value,\n previous,\n reason,\n source,\n ...extra,\n get cancelled() {\n return cancelled;\n },\n cancel() {\n cancelled = true;\n },\n };\n}\n\n/** One option of a pane: the item, or the key a target holds without one. */\nexport interface TransferEntry<T = unknown> {\n readonly key: string;\n readonly item: T | undefined;\n}\n\ninterface DragView {\n readonly items: readonly string[];\n readonly over: TransferSide | null;\n readonly index: number | null;\n readonly from: TransferSide | null;\n}\n\nconst NO_DRAG: DragView = { items: EMPTY, over: null, index: null, from: null };\n\n/**\n * The consumer's `<ng-template slTransferItem let-item let-side=\"side\">`: what\n * one option holds besides its check. The listbox family's label, description\n * and meta directives are the parts to write it with.\n */\n@Directive({ selector: 'ng-template[slTransferItem]', standalone: true })\nexport class SlTransferItem {}\n\n/** `<ng-template slTransferFooter let-side>`: content under a pane's list. */\n@Directive({ selector: 'ng-template[slTransferFooter]', standalone: true })\nexport class SlTransferFooter {}\n\n/**\n * Writes this family's part name on a button. `slButton` writes\n * `data-part=\"root\"` as a static host attribute, which erases the part the\n * template wrote, so it is written back after the first render.\n */\n@Directive({ selector: '[slTransferPart]', standalone: true })\nexport class SlTransferPart {\n readonly part = input.required<string>({ alias: 'slTransferPart' });\n private readonly host = inject<ElementRef<HTMLElement>>(ElementRef);\n\n constructor() {\n afterNextRender(() => this.host.nativeElement.setAttribute('data-part', this.part()));\n }\n}\n\n/**\n * Two lists and the moves between them: available on one side, chosen on the\n * other, each a listbox with a search, a count and a select-all box, and the\n * move buttons between them.\n *\n * The host is the root. Its value is `targetKeys`, the keys in the chosen\n * list; a form reads the same array through `ControlValueAccessor`, and a\n * `required` transfer reports `{ required: true }` while the list is empty.\n */\n@Component({\n selector: '[slTransfer]',\n standalone: true,\n exportAs: 'slTransfer',\n imports: [\n NgTemplateOutlet,\n SlButton,\n SlButtonEnd,\n SlButtonStart,\n SlCheckbox,\n SlGlyph,\n SlIcon,\n SlListbox,\n SlListboxDescription,\n SlListboxEmpty,\n SlListboxIndicator,\n SlListboxLabel,\n SlListboxLoader,\n SlListboxOptionContent,\n SlSegment,\n SlSegmentedControl,\n SlTextField,\n SlTextFieldInput,\n SlTextFieldStart,\n SlTransferPart,\n ],\n template: `\n <div data-part=\"switch\">\n <div\n slSegmentedControl\n [attr.aria-label]=\"t('panes')\"\n [disabled]=\"isDisabled()\"\n [fullWidth]=\"true\"\n [size]=\"resolvedSize()\"\n [value]=\"currentPane()\"\n (valueChange)=\"onSwitch($event)\"\n >\n @for (side of sides; track side) {\n <label slSegment [value]=\"side\">{{ paneCount(side) }}</label>\n }\n </div>\n </div>\n <div data-part=\"body\">\n <ng-container\n [ngTemplateOutlet]=\"paneTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: 'source' }\"\n />\n <div data-part=\"actions\" role=\"group\" [attr.aria-label]=\"t('actions')\">\n <button\n slButton\n slTransferPart=\"move-to-target\"\n tone=\"secondary\"\n variant=\"outline\"\n aria-keyshortcuts=\"Enter\"\n [size]=\"innerSize()\"\n [disabled]=\"frozen() || selectedToMove('source').length === 0\"\n [focusableWhenDisabled]=\"!isDisabled()\"\n (click)=\"move(selectedToMove('source'), 'target', pressReason($event), $event)\"\n >\n {{ t('moveToTarget')\n }}<span slButtonEnd aria-hidden=\"true\"\n ><span slIcon><svg slGlyph name=\"chevron-right\"></svg></span\n ></span>\n </button>\n <button\n slButton\n slTransferPart=\"move-all-to-target\"\n tone=\"secondary\"\n variant=\"outline\"\n [size]=\"innerSize()\"\n [disabled]=\"frozen() || enabledVisible('source').length === 0\"\n [focusableWhenDisabled]=\"!isDisabled()\"\n (click)=\"move(enabledVisible('source'), 'target', pressReason($event), $event)\"\n >\n {{ t('moveAllToTarget')\n }}<span slButtonEnd aria-hidden=\"true\"\n ><span slIcon><svg slGlyph name=\"chevrons-right\"></svg></span\n ></span>\n </button>\n <button\n slButton\n slTransferPart=\"move-to-source\"\n tone=\"secondary\"\n variant=\"outline\"\n aria-keyshortcuts=\"Delete\"\n [size]=\"innerSize()\"\n [disabled]=\"frozen() || selectedToMove('target').length === 0\"\n [focusableWhenDisabled]=\"!isDisabled()\"\n (click)=\"move(selectedToMove('target'), 'source', pressReason($event), $event)\"\n >\n <span slButtonStart aria-hidden=\"true\"\n ><span slIcon><svg slGlyph name=\"chevron-right\"></svg></span></span\n >{{ t('moveToSource') }}\n </button>\n <button\n slButton\n slTransferPart=\"move-all-to-source\"\n tone=\"secondary\"\n variant=\"outline\"\n [size]=\"innerSize()\"\n [disabled]=\"frozen() || enabledVisible('target').length === 0\"\n [focusableWhenDisabled]=\"!isDisabled()\"\n (click)=\"move(enabledVisible('target'), 'source', pressReason($event), $event)\"\n >\n <span slButtonStart aria-hidden=\"true\"\n ><span slIcon><svg slGlyph name=\"chevrons-right\"></svg></span></span\n >{{ t('moveAllToSource') }}\n </button>\n @if (resolvedReorderable()) {\n <div data-part=\"reorder\" role=\"group\" [attr.aria-label]=\"t('reorder')\">\n <button\n slButton\n slTransferPart=\"move-up\"\n tone=\"secondary\"\n variant=\"ghost\"\n aria-keyshortcuts=\"Alt+ArrowUp\"\n [size]=\"innerSize()\"\n [disabled]=\"frozen() || !canReorder() || selectedToMove('target').length === 0\"\n [focusableWhenDisabled]=\"!isDisabled()\"\n (click)=\"shift(-1, pressReason($event), $event, false)\"\n >\n <span slButtonStart aria-hidden=\"true\"\n ><span slIcon><svg slGlyph name=\"chevron-down\"></svg></span></span\n >{{ t('moveUp') }}\n </button>\n <button\n slButton\n slTransferPart=\"move-down\"\n tone=\"secondary\"\n variant=\"ghost\"\n aria-keyshortcuts=\"Alt+ArrowDown\"\n [size]=\"innerSize()\"\n [disabled]=\"frozen() || !canReorder() || selectedToMove('target').length === 0\"\n [focusableWhenDisabled]=\"!isDisabled()\"\n (click)=\"shift(1, pressReason($event), $event, false)\"\n >\n <span slButtonStart aria-hidden=\"true\"\n ><span slIcon><svg slGlyph name=\"chevron-down\"></svg></span></span\n >{{ t('moveDown') }}\n </button>\n </div>\n }\n </div>\n <ng-container\n [ngTemplateOutlet]=\"paneTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: 'target' }\"\n />\n </div>\n @if (name(); as field) {\n @for (key of partition().target; track key) {\n <input type=\"hidden\" [attr.name]=\"field\" [value]=\"key\" />\n }\n }\n\n <ng-template #paneTemplate let-side>\n <div\n data-part=\"pane\"\n role=\"group\"\n [attr.data-side]=\"side\"\n [attr.aria-labelledby]=\"titleId(side)\"\n [attr.data-current]=\"currentPane() === side ? '' : null\"\n [attr.data-drop-target]=\"dropTarget(side) ? '' : null\"\n >\n <div data-part=\"pane-header\">\n @if (resolvedSelectAll()) {\n <span data-part=\"select-all\">\n <div\n slCheckbox\n [size]=\"resolvedSize()\"\n [checked]=\"selectAllState(side) === 'all'\"\n [indeterminate]=\"selectAllState(side) === 'some'\"\n [disabled]=\"isDisabled() || enabledVisible(side).length === 0\"\n (checkedChange)=\"onSelectAll(side, $event)\"\n ></div>\n </span>\n }\n <span data-part=\"title\" [attr.id]=\"titleId(side)\">{{ title(side) }}</span>\n <span data-part=\"count\">{{ countText(side) }}</span>\n </div>\n @if (resolvedSearchable()) {\n <div data-part=\"search\">\n <div slTextField [clearable]=\"true\" [size]=\"innerSize()\">\n <span slTextFieldStart aria-hidden=\"true\"\n ><span data-part=\"search-icon\"\n ><span slIcon><svg slGlyph name=\"search\"></svg></span></span\n ></span>\n <input\n slTextFieldInput\n type=\"search\"\n [disabled]=\"isDisabled()\"\n [value]=\"queryOf(side)\"\n [attr.aria-label]=\"t('search', { pane: title(side) })\"\n [attr.placeholder]=\"t('search', { pane: title(side) })\"\n (valueChange)=\"onQuery(side, $event)\"\n />\n </div>\n </div>\n }\n <div data-part=\"list\" [attr.data-side]=\"side\" (focusin)=\"onListFocus(side, $event)\">\n <div\n slListbox\n variant=\"plain\"\n selectionMode=\"multiple\"\n [attr.aria-labelledby]=\"titleId(side)\"\n [size]=\"resolvedSize()\"\n [rows]=\"resolvedRows()\"\n [items]=\"entriesOf(side)\"\n [getKey]=\"entryKey\"\n [getLabel]=\"entryLabel\"\n [isItemDisabled]=\"entryDisabled\"\n [activeKey]=\"activeOf(side)\"\n [value]=\"selectionFor(side)\"\n [disabled]=\"isDisabled()\"\n [invalid]=\"isInvalid()\"\n [required]=\"required()\"\n [virtual]=\"virtual() && itemSize() !== undefined\"\n [itemSize]=\"itemSize()\"\n [overscan]=\"overscan()\"\n [loading]=\"side === 'source' && loading()\"\n [hasMore]=\"side === 'source' && hasMore()\"\n (loadMore)=\"loadMore.emit()\"\n (activeKeyChange)=\"setActive(side, $event.value)\"\n (valueChange)=\"onPaneSelection(side, $event)\"\n >\n <ng-template slListboxOptionContent let-entry>\n <span\n slListboxIndicator\n [attr.data-dragging]=\"dragging().has(entry.key) ? '' : null\"\n [attr.data-unresolved]=\"entry.item === undefined ? '' : null\"\n ></span>\n @if (entry.item === undefined) {\n <span slListboxLabel>{{ entry.key }}</span>\n } @else if (itemTemplate(); as template) {\n <ng-container\n [ngTemplateOutlet]=\"template\"\n [ngTemplateOutletContext]=\"{ $implicit: entry.item, side: side }\"\n />\n } @else {\n <span slListboxLabel>{{ labelOf(entry.key) }}</span>\n @if (descriptionOf(entry.item); as description) {\n <span slListboxDescription>{{ description }}</span>\n }\n }\n </ng-template>\n @if (isEmpty(side)) {\n <div slListboxEmpty>\n <div data-part=\"empty\" [attr.data-query]=\"typed(side) ? '' : null\">\n <span slIcon\n ><svg slGlyph [name]=\"typed(side) ? 'search-x' : 'inbox'\"></svg\n ></span>\n {{ typed(side) ? t('noResults') : t('empty') }}\n </div>\n </div>\n }\n @if (side === 'source' && hasMore()) {\n <div slListboxLoader>{{ t('loading') }}</div>\n }\n </div>\n @if (side === 'target' && dropOffset() !== null) {\n <div\n data-part=\"drop-indicator\"\n aria-hidden=\"true\"\n [style.--_drop-offset]=\"dropOffset() + 'px'\"\n ></div>\n }\n </div>\n @if (footerTemplate(); as footer) {\n <div data-part=\"pane-footer\">\n <ng-container\n [ngTemplateOutlet]=\"footer\"\n [ngTemplateOutletContext]=\"{ $implicit: side }\"\n />\n </div>\n }\n </div>\n </ng-template>\n `,\n styleUrl: '../../../styles/src/transfer/transfer.css',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n providers: [\n { provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => SlTransfer), multi: true },\n { provide: NG_VALIDATORS, useExisting: forwardRef(() => SlTransfer), multi: true },\n ],\n host: {\n 'data-ui': 'transfer',\n 'data-part': 'root',\n '[attr.role]': 'writtenRole ?? \"group\"',\n '[attr.data-layout]': 'resolvedLayout()',\n '[attr.data-size]': 'resolvedSize()',\n '[attr.data-pane]': 'currentPane()',\n '[attr.data-disabled]': 'isDisabled() ? \"\" : null',\n '[attr.aria-disabled]': 'isDisabled() ? \"true\" : null',\n '[attr.data-readonly]': 'readOnly() ? \"\" : null',\n '[attr.data-invalid]': 'isInvalid() ? \"\" : null',\n '[attr.data-required]': 'required() ? \"\" : null',\n '[attr.data-loading]': 'loading() ? \"\" : null',\n '[style.--slotted-transfer-rows]': 'resolvedRows()',\n },\n})\nexport class SlTransfer<T = TransferItem> implements ControlValueAccessor, Validator {\n /* ── Inputs ───────────────────────────────────────────────────────── */\n\n /** The whole collection, both sides. */\n readonly items = input.required<readonly T[]>();\n readonly getKey = input<(item: T) => string>((item) => (item as TransferItem).key);\n readonly getLabel = input<(item: T) => string>((item) => (item as TransferItem).label);\n readonly getDescription = input<(item: T) => string | undefined>(\n (item) => (item as TransferItem).description,\n );\n readonly isItemDisabled = input<(item: T) => boolean>(\n (item) => (item as TransferItem).disabled === true,\n );\n /** Whether an item answers a query. Defaults to a locale-aware contains. */\n readonly filter = input<((item: T, query: string, side: TransferSide) => boolean) | undefined>(\n undefined,\n );\n\n /** The keys in the target; two-way, so a template may bind it directly. */\n readonly targetKeys = model<readonly string[] | undefined>(undefined);\n readonly defaultTargetKeys = input<readonly string[] | undefined>(undefined);\n readonly selectedKeys = model<readonly string[] | undefined>(undefined);\n readonly defaultSelectedKeys = input<readonly string[] | undefined>(undefined);\n readonly sourceQuery = model<string | undefined>(undefined);\n readonly defaultSourceQuery = input<string | undefined>(undefined);\n readonly targetQuery = model<string | undefined>(undefined);\n readonly defaultTargetQuery = input<string | undefined>(undefined);\n /** The pane shown in steps. */\n readonly pane = model<TransferSide | undefined>(undefined);\n readonly defaultPane = input<TransferSide | undefined>(undefined);\n\n readonly size = input<TransferSize | undefined>(undefined);\n readonly layout = input<TransferLayout | undefined>(undefined);\n readonly searchable = input<boolean | undefined, boolean | string | undefined>(undefined, {\n transform: (value) => (value === undefined ? undefined : booleanAttribute(value)),\n });\n readonly selectAll = input<boolean | undefined, boolean | string | undefined>(undefined, {\n transform: (value) => (value === undefined ? undefined : booleanAttribute(value)),\n });\n readonly reorderable = input<boolean | undefined, boolean | string | undefined>(undefined, {\n transform: (value) => (value === undefined ? undefined : booleanAttribute(value)),\n });\n readonly rows = input<number | undefined, number | string | undefined>(undefined, {\n transform: (value) => (value === undefined ? undefined : numberAttribute(value)),\n });\n readonly virtual = input(false, { transform: booleanAttribute });\n readonly itemSize = input<number | undefined, number | string | undefined>(undefined, {\n transform: (value) => (value === undefined ? undefined : numberAttribute(value)),\n });\n /** Options rendered either side of a windowed viewport. */\n readonly overscan = input<number | undefined, number | string | undefined>(undefined, {\n transform: (value) => (value === undefined ? undefined : numberAttribute(value)),\n });\n\n readonly disabled = input(false, { transform: booleanAttribute });\n readonly readOnly = input(false, { transform: booleanAttribute });\n readonly required = input(false, { transform: booleanAttribute });\n readonly invalid = input(false, { transform: booleanAttribute });\n readonly loading = input(false, { transform: booleanAttribute });\n readonly hasMore = input(false, { transform: booleanAttribute });\n /** Submits one hidden input per target key. */\n readonly name = input<string | undefined>(undefined);\n /**\n * Words laid over the catalog of the language in force, key by key: the\n * panes' names, the controls, the counts and the announcements.\n */\n readonly messages = input<PartialMessages<TransferMessages> | undefined>(undefined);\n\n /* ── Outputs ──────────────────────────────────────────────────────── */\n\n /** Before the target moves, with the direction, the keys and the reason. */\n readonly targetKeysChangeRequest = output<TransferMoveRequest>();\n readonly selectedKeysChangeRequest = output<TransferSelectionRequest>();\n readonly sourceQueryChangeRequest = output<TransferQueryRequest>();\n readonly targetQueryChangeRequest = output<TransferQueryRequest>();\n readonly paneChangeRequest = output<TransferPaneRequest>();\n /** Asked when the source list reaches the end of what has been loaded. */\n readonly loadMore = output<void>();\n\n /* ── State ────────────────────────────────────────────────────────── */\n\n private readonly defaults = injectTransferDefaults();\n private readonly base = inject(SlTransferIdFactory).next();\n private readonly host = inject<ElementRef<HTMLElement>>(ElementRef);\n private readonly destroyRef = inject(DestroyRef);\n /** A role the consumer wrote is never replaced by the family's. */\n protected readonly writtenRole = inject(new HostAttributeToken('role'), { optional: true });\n\n protected readonly itemTemplate = contentChild(SlTransferItem, { read: TemplateRef });\n protected readonly footerTemplate = contentChild(SlTransferFooter, { read: TemplateRef });\n private readonly listboxes = viewChildren(SlListbox);\n\n protected readonly sides = SIDES;\n protected readonly pressReason = pressReason;\n\n /** The family's words in the language in force, with this transfer's `messages` laid over them. */\n protected readonly t = injectMessages(transferMessages, this.messages);\n /** What a keyboard drag between the panes says, in the language in force. */\n private readonly dragT = injectMessages(dragMessages);\n protected readonly resolvedSize = computed(() => this.size() ?? this.defaults.size);\n protected readonly innerSize = computed(() => INNER_SIZE[this.resolvedSize()]);\n protected readonly resolvedLayout = computed(() => this.layout() ?? this.defaults.layout);\n protected readonly resolvedSearchable = computed(\n () => this.searchable() ?? this.defaults.searchable,\n );\n protected readonly resolvedSelectAll = computed(\n () => this.selectAll() ?? this.defaults.selectAll,\n );\n protected readonly resolvedReorderable = computed(\n () => this.reorderable() ?? this.defaults.reorderable,\n );\n protected readonly resolvedRows = computed(() => this.rows() ?? this.defaults.rows);\n\n private readonly formDisabled = signal(false);\n protected readonly isDisabled = computed(() => this.disabled() || this.formDisabled());\n protected readonly isInvalid = computed(() => this.invalid());\n protected readonly frozen = computed(() => this.isDisabled() || this.readOnly());\n\n /** The committed values: the bound one, or the default. */\n readonly currentTargetKeys = computed(\n () => this.targetKeys() ?? this.defaultTargetKeys() ?? EMPTY,\n );\n readonly currentSelectedKeys = computed(\n () => this.selectedKeys() ?? this.defaultSelectedKeys() ?? EMPTY,\n );\n readonly currentSourceQuery = computed(\n () => this.sourceQuery() ?? this.defaultSourceQuery() ?? '',\n );\n readonly currentTargetQuery = computed(\n () => this.targetQuery() ?? this.defaultTargetQuery() ?? '',\n );\n readonly currentPane = computed<TransferSide>(\n () => this.pane() ?? this.defaultPane() ?? 'source',\n );\n\n private readonly byKey = computed(\n () => new Map(this.items().map((item) => [this.getKey()(item), item])),\n );\n private readonly allKeys = computed(() => this.items().map(this.getKey()));\n private readonly disabledKeys = computed(() => {\n const disabled = this.isItemDisabled();\n const key = this.getKey();\n return new Set(\n this.items()\n .filter((item) => disabled(item))\n .map(key),\n );\n });\n readonly partition = computed(() =>\n partitionKeys(this.allKeys(), this.currentTargetKeys(), this.resolvedReorderable()),\n );\n private readonly matcher = createFilter();\n\n protected readonly visible = computed<Record<TransferSide, readonly string[]>>(() => {\n const partition = this.partition();\n const byKey = this.byKey();\n const filter = this.filter();\n const getLabel = this.getLabel();\n const getDescription = this.getDescription();\n const pick = (side: TransferSide, typed: string) => {\n const query = typed.trim();\n if (query === '') return partition[side];\n return partition[side].filter((key) => {\n const item = byKey.get(key);\n if (item === undefined) return this.matcher.contains(key, query);\n if (filter) return filter(item, query, side);\n return (\n this.matcher.contains(getLabel(item), query) ||\n this.matcher.contains(getDescription(item) ?? '', query)\n );\n });\n };\n return {\n source: pick('source', this.currentSourceQuery()),\n target: pick('target', this.currentTargetQuery()),\n };\n });\n\n protected readonly entries = computed<Record<TransferSide, TransferEntry<T>[]>>(() => {\n const byKey = this.byKey();\n const visible = this.visible();\n const build = (side: TransferSide) =>\n visible[side].map((key) => ({ key, item: byKey.get(key) }));\n return { source: build('source'), target: build('target') };\n });\n\n protected entriesOf(side: TransferSide) {\n return this.entries()[side];\n }\n\n protected isEmpty(side: TransferSide) {\n return this.visible()[side].length === 0;\n }\n\n protected readonly entryKey = (entry: TransferEntry<T>) => entry.key;\n protected readonly entryLabel = (entry: TransferEntry<T>) => this.labelOf(entry.key);\n protected readonly entryDisabled = (entry: TransferEntry<T>) =>\n entry.item !== undefined && this.isItemDisabled()(entry.item);\n\n protected readonly canReorder = computed(\n () => this.resolvedReorderable() && this.currentTargetQuery().trim() === '',\n );\n\n protected readonly drag = signal<DragView>(NO_DRAG);\n protected readonly dragging = computed(() => new Set(this.drag().items));\n protected readonly dropOffset = signal<number | null>(null);\n\n constructor() {\n /* The APG keys a dual list adds, taken before the listbox's own. */\n const onKeyDown = (event: KeyboardEvent) => this.onListKeyDown(event);\n afterNextRender(() => {\n this.host.nativeElement.addEventListener('keydown', onKeyDown, true);\n this.createController();\n });\n this.destroyRef.onDestroy(() => {\n this.host.nativeElement.removeEventListener('keydown', onKeyDown, true);\n this.teardown?.();\n });\n\n afterEveryRender(() => {\n this.nameSelectAll();\n this.syncDraggables();\n const side = this.pendingFocus;\n if (side !== null) {\n this.pendingFocus = null;\n this.listboxOf(side)?.focus();\n }\n this.measureDropLine();\n });\n }\n\n /* ── Reading ──────────────────────────────────────────────────────── */\n\n protected title(side: TransferSide) {\n return side === 'target' ? this.t('target') : this.t('source');\n }\n\n protected titleId(side: TransferSide) {\n return `${this.base}-${side}-title`;\n }\n\n protected labelOf(key: string) {\n const item = this.byKey().get(key);\n return item === undefined ? key : this.getLabel()(item);\n }\n\n protected descriptionOf(item: T) {\n return this.getDescription()(item);\n }\n\n protected queryOf(side: TransferSide) {\n return side === 'source' ? this.currentSourceQuery() : this.currentTargetQuery();\n }\n\n protected typed(side: TransferSide) {\n return this.queryOf(side).trim() !== '';\n }\n\n protected enabledVisible(side: TransferSide) {\n const disabled = this.disabledKeys();\n return this.visible()[side].filter((key) => !disabled.has(key));\n }\n\n protected selectionFor(side: TransferSide): readonly string[] {\n const selected = new Set(this.currentSelectedKeys());\n return this.visible()[side].filter((key) => selected.has(key));\n }\n\n protected selectedToMove(side: TransferSide) {\n return keysToMove({\n visible: this.visible()[side],\n selected: this.currentSelectedKeys(),\n disabled: this.disabledKeys(),\n active: null,\n });\n }\n\n protected selectAllState(side: TransferSide): 'none' | 'some' | 'all' {\n const reach = this.enabledVisible(side);\n const selected = new Set(this.currentSelectedKeys());\n const chosen = reach.filter((key) => selected.has(key)).length;\n if (chosen === 0) return 'none';\n return chosen === reach.length ? 'all' : 'some';\n }\n\n protected countText(side: TransferSide) {\n const keys = this.partition()[side];\n if (this.typed(side)) {\n return this.t('countFiltered', { shown: this.visible()[side].length, total: keys.length });\n }\n const selected = new Set(this.currentSelectedKeys());\n const chosen = keys.filter((key) => selected.has(key)).length;\n return chosen > 0\n ? this.t('countSelected', { selected: chosen, total: keys.length })\n : this.t('count', { total: keys.length });\n }\n\n protected paneCount(side: TransferSide) {\n return this.t('paneCount', {\n pane: this.title(side),\n total: this.partition()[side].length,\n });\n }\n\n protected dropTarget(side: TransferSide) {\n const drag = this.drag();\n return drag.over === side && (drag.from !== side || side === 'target');\n }\n\n private listboxOf(side: TransferSide): SlListbox | undefined {\n return this.listboxes()[side === 'source' ? 0 : 1];\n }\n\n private listOf(side: TransferSide): HTMLElement | null {\n return this.host.nativeElement.querySelector<HTMLElement>(\n `[data-part=\"pane\"][data-side=\"${side}\"] > [data-part=\"list\"]`,\n );\n }\n\n /**\n * The option the keyboard is on: the option holding focus under the roving\n * model, where Tab lands on the tab stop without the listbox calling it\n * active, and the listbox's active option under `aria-activedescendant`,\n * where focus is on the listbox itself.\n */\n private activeIn(side: TransferSide): string | null {\n const list = this.listOf(side);\n const focused = list?.ownerDocument.activeElement;\n if (list && focused instanceof HTMLElement && list.contains(focused)) {\n const key = focused.closest<HTMLElement>('[data-part=\"option\"]')?.dataset['key'];\n if (key !== undefined) return key;\n }\n return this.listboxOf(side)?.getActiveKey() ?? null;\n }\n\n private announce(message: string) {\n if (message !== '') getLiveAnnouncer(this.host.nativeElement.ownerDocument).announce(message);\n }\n\n /* ── Requests ─────────────────────────────────────────────────────── */\n\n private pendingFocus: TransferSide | null = null;\n\n /**\n * Which option the keyboard is on in each list. The family holds it rather\n * than each listbox, because a move has to say where the keyboard goes next:\n * the APG example sends it to the first option after the moved ones that is\n * still in the list, and the listbox cannot know which of its options left\n * on purpose.\n */\n private readonly actives = signal<Record<TransferSide, string | null>>({\n source: null,\n target: null,\n });\n\n /* A key that left the list is no tab stop: the list would be unreachable by Tab. */\n protected activeOf(side: TransferSide) {\n const key = this.actives()[side];\n return key !== null && this.visible()[side].includes(key) ? key : null;\n }\n\n protected setActive(side: TransferSide, key: string | null) {\n if (this.actives()[side] === key) return;\n this.actives.update((current) => ({ ...current, [side]: key }));\n }\n\n /* Tab lands on the option holding the tab stop, and the keyboard is on it from then on. */\n protected onListFocus(side: TransferSide, event: FocusEvent) {\n const key = (event.target as HTMLElement | null)?.closest<HTMLElement>('[data-part=\"option\"]')\n ?.dataset['key'];\n if (key !== undefined) this.setActive(side, key);\n }\n\n private requestTarget(\n next: readonly string[],\n reason: TransferMoveReason,\n source: unknown,\n extra: Pick<TransferMoveRequest, 'direction' | 'keys'>,\n ) {\n const previous = this.currentTargetKeys();\n if (sameKeys(previous, next)) return false;\n const request = makeRequest(next, previous, reason, source, extra) as TransferMoveRequest;\n this.targetKeysChangeRequest.emit(request);\n if (request.cancelled) return false;\n this.targetKeys.set(next);\n this.onChangeFn(next);\n this.onTouchedFn();\n return true;\n }\n\n private requestSelected(\n next: readonly string[],\n reason: TransferSelectionReason,\n source: unknown,\n ) {\n const previous = this.currentSelectedKeys();\n if (sameKeys(previous, next)) return;\n const request = makeRequest(next, previous, reason, source, {}) as TransferSelectionRequest;\n this.selectedKeysChangeRequest.emit(request);\n if (!request.cancelled) this.selectedKeys.set(next);\n }\n\n protected move(\n keys: readonly string[],\n to: TransferSide,\n reason: TransferMoveReason,\n source?: unknown,\n index?: number,\n ) {\n if (this.frozen() || keys.length === 0) return;\n const from: TransferSide = to === 'target' ? 'source' : 'target';\n const next = moveKeys({\n allKeys: this.allKeys(),\n targetKeys: this.currentTargetKeys(),\n keys,\n to,\n reorderable: this.resolvedReorderable(),\n index,\n });\n const visibleBefore = this.visible()[from];\n if (!this.requestTarget(next, reason, source, { direction: to, keys })) return;\n const moving = new Set(keys);\n this.requestSelected(\n this.currentSelectedKeys().filter((key) => !moving.has(key)),\n reason,\n source,\n );\n const pane = this.title(to);\n this.announce(\n keys.length === 1\n ? this.t('movedOne', { item: this.labelOf(keys[0]!), pane })\n : this.t('moved', { count: keys.length, pane }),\n );\n const list = this.listOf(from);\n if (!list?.contains(list.ownerDocument.activeElement)) return;\n /* The keyboard stays in the list it moved from, on the first option after\n the moved ones that is still there, then on the last one before them;\n a list left empty hands it to the other. */\n const first = visibleBefore.findIndex((key) => moving.has(key));\n const after = first === -1 ? [] : visibleBefore.slice(first);\n const before = first === -1 ? visibleBefore : visibleBefore.slice(0, first);\n const disabled = this.disabledKeys();\n const stays = (key: string) => !moving.has(key) && !disabled.has(key);\n const neighbour = after.find(stays) ?? [...before].reverse().find(stays) ?? null;\n if (neighbour === null) {\n this.pendingFocus = to;\n return;\n }\n this.setActive(from, neighbour);\n this.pendingFocus = from;\n }\n\n private reorder(\n keys: readonly string[],\n next: readonly string[],\n reason: TransferMoveReason,\n source?: unknown,\n ) {\n if (this.frozen() || keys.length === 0 || sameKeys(next, this.partition().target)) return;\n if (!this.requestTarget(next, reason, source, { direction: 'reorder', keys })) return;\n this.announce(\n this.t('reordered', {\n item: this.labelOf(keys[0]!),\n position: next.indexOf(keys[0]!) + 1,\n }),\n );\n const list = this.listOf('target');\n if (!list?.contains(list.ownerDocument.activeElement)) return;\n const held = this.activeIn('target');\n if (held !== null) this.setActive('target', held);\n this.pendingFocus = 'target';\n }\n\n protected shift(delta: -1 | 1, reason: TransferMoveReason, source: unknown, withActive: boolean) {\n if (!this.canReorder()) return;\n const keys = keysToMove({\n visible: this.visible().target,\n selected: this.currentSelectedKeys(),\n disabled: this.disabledKeys(),\n active: withActive ? this.activeIn('target') : null,\n });\n this.reorder(keys, reorderKeys(this.partition().target, keys, delta), reason, source);\n }\n\n protected onPaneSelection(side: TransferSide, request: ListboxChangeRequest) {\n const value = request.value;\n const chosen = Array.isArray(value) ? value : value === null ? [] : [value as string];\n const shown = new Set(this.visible()[side]);\n const next = [...this.currentSelectedKeys().filter((key) => !shown.has(key)), ...chosen];\n const reason = request.reason;\n const mapped: TransferSelectionReason =\n reason === 'pointer' || reason === 'keyboard' || reason === 'programmatic'\n ? reason\n : 'select';\n this.requestSelected(next, mapped, request.source);\n }\n\n protected onSelectAll(side: TransferSide, request: ChangeRequest<boolean>) {\n this.requestSelected(\n toggleVisibleSelection(\n this.currentSelectedKeys(),\n this.visible()[side],\n this.disabledKeys(),\n request.value,\n ),\n 'select',\n request.source,\n );\n }\n\n protected onQuery(side: TransferSide, change: ChangeRequest<string>) {\n const reason: TransferQueryReason = change.reason === 'clear' ? 'clear' : 'keyboard';\n const previous = this.queryOf(side);\n if (previous === change.value) return;\n const request = makeRequest(\n change.value,\n previous,\n reason,\n change.source,\n {},\n ) as TransferQueryRequest;\n if (side === 'source') this.sourceQueryChangeRequest.emit(request);\n else this.targetQueryChangeRequest.emit(request);\n if (request.cancelled) return;\n if (side === 'source') this.sourceQuery.set(change.value);\n else this.targetQuery.set(change.value);\n }\n\n protected onSwitch(change: ChangeRequest<string | undefined>) {\n const next = change.value as TransferSide | undefined;\n if (next === undefined || next === this.currentPane()) return;\n const reason: TransferPaneReason = change.reason === 'keyboard' ? 'keyboard' : 'pointer';\n const request = makeRequest(\n next,\n this.currentPane(),\n reason,\n change.source,\n {},\n ) as TransferPaneRequest;\n this.paneChangeRequest.emit(request);\n if (!request.cancelled) this.pane.set(next);\n }\n\n private onListKeyDown(event: KeyboardEvent) {\n if (event.defaultPrevented || this.frozen()) return;\n const target = event.target as Element | null;\n const list = target?.closest<HTMLElement>('[data-part=\"list\"][data-side]');\n if (!list || !this.host.nativeElement.contains(list)) return;\n const side = list.dataset['side'] as TransferSide;\n const other: TransferSide = side === 'source' ? 'target' : 'source';\n const pick = () =>\n keysToMove({\n visible: this.visible()[side],\n selected: this.currentSelectedKeys(),\n disabled: this.disabledKeys(),\n active: this.activeIn(side),\n });\n const modifier = event.ctrlKey || event.metaKey;\n const element = this.host.nativeElement;\n const rtl = element.ownerDocument.defaultView?.getComputedStyle(element).direction === 'rtl';\n const end = rtl ? 'ArrowLeft' : 'ArrowRight';\n const start = rtl ? 'ArrowRight' : 'ArrowLeft';\n\n if (event.key === 'Enter' && !modifier && !event.altKey && !event.shiftKey) {\n event.preventDefault();\n this.move(pick(), other, 'keyboard', event);\n } else if (side === 'target' && (event.key === 'Delete' || event.key === 'Backspace')) {\n event.preventDefault();\n this.move(pick(), 'source', 'keyboard', event);\n } else if (modifier && !event.altKey && (event.key === end || event.key === start)) {\n const to: TransferSide = event.key === end ? 'target' : 'source';\n event.preventDefault();\n if (to !== side) this.move(pick(), to, 'keyboard', event);\n } else if (\n side === 'target' &&\n event.altKey &&\n (event.key === 'ArrowUp' || event.key === 'ArrowDown')\n ) {\n event.preventDefault();\n this.shift(event.key === 'ArrowUp' ? -1 : 1, 'keyboard', event, true);\n }\n }\n\n /**\n * The select-all box is named on its input. The checkbox family takes its\n * name from its label and has no input for one, and a label holding a\n * visually hidden sentence would take the box's width and halo with it; the\n * empty label is the case that family already draws.\n */\n private nameSelectAll() {\n for (const side of SIDES) {\n const control = this.host.nativeElement.querySelector<HTMLInputElement>(\n `[data-part=\"pane\"][data-side=\"${side}\"] [data-part=\"select-all\"] input`,\n );\n const name = this.t('selectAll', { pane: this.title(side) });\n if (control && control.getAttribute('aria-label') !== name) {\n control.setAttribute('aria-label', name);\n }\n }\n }\n\n /* ── The handle ───────────────────────────────────────────────────── */\n\n /** Moves focus into a pane's list; the source's when no side is named. */\n focus(side: TransferSide = 'source') {\n this.listboxOf(side)?.focus();\n }\n\n /** Reveals an item in whichever pane holds it. */\n scrollToKey(key: string) {\n const side: TransferSide = this.partition().target.includes(key) ? 'target' : 'source';\n this.listboxOf(side)?.scrollToKey(key);\n }\n\n /* ── The drag ─────────────────────────────────────────────────────── */\n\n private controller: DragController | null = null;\n private teardown: (() => void) | null = null;\n private readonly draggables = new Map<HTMLElement, () => void>();\n\n private createController() {\n const root = this.host.nativeElement;\n const listboxIn = (side: TransferSide) =>\n root.querySelector<HTMLElement>(\n `[data-part=\"pane\"][data-side=\"${side}\"] [data-ui=\"listbox\"]`,\n );\n const created = createDragController({\n document: root.ownerDocument,\n preview: false,\n restoreFocus: false,\n autoScroll: { axis: 'y' },\n t: this.dragT,\n /* The move says what happened once, in the family's own words. */\n silent: ['moved', 'dropped'],\n onDrop: ({ items: carried, source, target, reason, event }) => {\n const from = source.container as TransferSide;\n const to = target.container as TransferSide;\n const why: TransferMoveReason = reason === 'keyboard' ? 'keyboard' : 'pointer';\n const shown = this.visible().target;\n const full = this.partition().target;\n const indexInTarget = () => {\n if (target.kind !== 'between') return full.length;\n const anchor = shown[target.index];\n if (anchor !== undefined) return full.indexOf(anchor);\n const last = shown[shown.length - 1];\n return last === undefined ? full.length : full.indexOf(last) + 1;\n };\n if (from !== to) {\n this.move(carried, to, why, event, to === 'target' ? indexInTarget() : undefined);\n } else if (to === 'target') {\n this.reorder(carried, reorderKeysTo(full, carried, indexInTarget()), why, event);\n }\n },\n });\n const unregister = SIDES.map((side) =>\n created.registerContainer({\n key: side,\n items: () => this.visible()[side],\n orientation: 'vertical',\n element: () => listboxIn(side),\n itemElement: (key) =>\n listboxIn(side)?.querySelector(`[data-part=\"option\"][data-key=\"${escapeValue(key)}\"]`) ??\n null,\n accepts: (state, target) => {\n if (state.source?.container !== target.container) return true;\n return target.container === 'target' && this.canReorder();\n },\n disabled: () => this.frozen(),\n label: () => this.title(side),\n itemLabel: (key) => this.labelOf(key),\n }),\n );\n /* The click the browser fires after a pointer drag is the drag's, not a\n press on the option: with the pointer captured it lands on the option\n that was carried and would toggle its selection. */\n let swallow = false;\n let wasDragging: 'pointer' | 'other' | null = null;\n const onClick = (event: Event) => {\n if (!swallow) return;\n swallow = false;\n event.preventDefault();\n event.stopPropagation();\n };\n root.addEventListener('click', onClick, true);\n const unsubscribe = created.subscribe((next) => {\n if (next.status !== 'dragging') {\n if (wasDragging === 'pointer') {\n swallow = true;\n window.setTimeout(() => {\n swallow = false;\n }, 0);\n }\n wasDragging = null;\n this.drag.set(NO_DRAG);\n return;\n }\n wasDragging = next.reason === 'pointer' ? 'pointer' : 'other';\n const target = next.target;\n this.drag.set({\n items: next.items,\n from: (next.source?.container as TransferSide | undefined) ?? null,\n over: target && next.valid ? (target.container as TransferSide) : null,\n index: target && target.kind === 'between' && next.valid ? target.index : null,\n });\n });\n this.controller = created;\n this.teardown = () => {\n root.removeEventListener('click', onClick, true);\n unsubscribe();\n for (const off of unregister) off();\n created.destroy();\n this.controller = null;\n for (const detach of this.draggables.values()) detach();\n this.draggables.clear();\n };\n this.syncDraggables();\n }\n\n /* Every option is a draggable, and carries its pane's selection when it is in it. */\n private syncDraggables() {\n const created = this.controller;\n if (!created) return;\n const root = this.host.nativeElement;\n const seen = new Set<HTMLElement>();\n for (const side of SIDES) {\n const nodes = root.querySelectorAll<HTMLElement>(\n `[data-part=\"pane\"][data-side=\"${side}\"] [data-part=\"option\"][data-key]`,\n );\n for (const node of nodes) {\n seen.add(node);\n if (this.draggables.has(node)) continue;\n const key = node.dataset['key']!;\n const detach = created.attachDraggable(node, {\n container: side,\n key,\n items: () => {\n const carried = this.selectedToMove(side);\n return carried.includes(key) ? carried : [key];\n },\n disabled: () => this.frozen() || this.disabledKeys().has(key),\n distance: 4,\n });\n this.draggables.set(node, detach);\n }\n }\n for (const [node, detach] of this.draggables) {\n if (seen.has(node)) continue;\n detach();\n this.draggables.delete(node);\n }\n }\n\n /* The drop line stands between two options, where script alone can measure. */\n private measureDropLine() {\n const drag = this.drag();\n const shows = drag.over === 'target' && drag.index !== null && this.resolvedReorderable();\n if (!shows || drag.index === null) {\n if (this.dropOffset() !== null) this.dropOffset.set(null);\n return;\n }\n const list = this.listOf('target');\n const listbox = list?.querySelector('[data-ui=\"listbox\"]');\n if (!list || !listbox) return;\n const options = listbox.querySelectorAll<HTMLElement>('[data-part=\"option\"]');\n const frame = list.getBoundingClientRect().top;\n const at = options[drag.index];\n const last = options[options.length - 1];\n const edge = at\n ? at.getBoundingClientRect().top\n : last\n ? last.getBoundingClientRect().bottom\n : listbox.getBoundingClientRect().top;\n const offset = Math.round(edge - frame);\n if (this.dropOffset() !== offset) this.dropOffset.set(offset);\n }\n\n /* ── Forms ────────────────────────────────────────────────────────── */\n\n private onChangeFn: (value: readonly string[]) => void = () => {};\n private onTouchedFn: () => void = () => {};\n\n writeValue(value: readonly string[] | null | undefined) {\n this.targetKeys.set(value ?? EMPTY);\n }\n\n registerOnChange(fn: (value: readonly string[]) => void) {\n this.onChangeFn = fn;\n }\n\n registerOnTouched(fn: () => void) {\n this.onTouchedFn = fn;\n }\n\n setDisabledState(disabled: boolean) {\n this.formDisabled.set(disabled);\n }\n\n validate(control: AbstractControl): ValidationErrors | null {\n if (!this.required()) return null;\n const value = control.value as readonly string[] | null | undefined;\n return (value ?? EMPTY).length === 0 ? { required: true } : null;\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|