@slotted/angular 0.1.0-beta.1 → 0.1.0-beta.10
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/README.md +4 -0
- package/docs/AGENTS.snippet.md +12 -0
- package/docs/alert.json +7 -1
- package/docs/alert.md +3 -3
- package/docs/app-shell.examples.md +1 -1
- package/docs/app-shell.json +5 -5
- package/docs/app-shell.md +2 -2
- package/docs/avatar.json +22 -1
- package/docs/avatar.md +5 -3
- package/docs/badge.json +7 -1
- package/docs/badge.md +3 -3
- package/docs/button-group.json +2 -0
- package/docs/button-group.md +1 -1
- package/docs/button.json +51 -11
- package/docs/button.md +10 -6
- package/docs/calendar.json +8 -1
- package/docs/calendar.md +1 -0
- package/docs/cascader.json +1 -0
- package/docs/cascader.md +1 -1
- package/docs/chart.examples.md +1 -1
- package/docs/chart.json +10 -1
- package/docs/chart.md +3 -2
- package/docs/checkbox.json +7 -0
- package/docs/checkbox.md +1 -0
- package/docs/code-block.json +92 -92
- package/docs/code-block.md +69 -69
- package/docs/combobox.json +1 -0
- package/docs/combobox.md +1 -1
- package/docs/currency-field.json +40 -1
- package/docs/currency-field.md +5 -1
- package/docs/data-grid.examples.md +2 -2
- package/docs/data-grid.json +24 -7
- package/docs/data-grid.md +1 -1
- package/docs/data-grid.props.md +6 -4
- package/docs/data-list.json +2 -1
- package/docs/data-list.md +1 -1
- package/docs/date-field.json +9 -1
- package/docs/date-field.md +3 -2
- package/docs/date-picker.examples.md +36 -0
- package/docs/date-picker.json +20 -5
- package/docs/date-picker.md +5 -4
- package/docs/datetime-field.json +1 -0
- package/docs/datetime-field.md +1 -1
- package/docs/dialog.examples.md +158 -136
- package/docs/dialog.json +35 -11
- package/docs/dialog.md +4 -2
- package/docs/dialog.props.md +1 -1
- package/docs/drawer.json +5 -0
- package/docs/drawer.md +1 -0
- package/docs/entity-picker.json +19 -4
- package/docs/entity-picker.md +8 -6
- package/docs/event-calendar.json +7 -0
- package/docs/event-calendar.md +1 -0
- package/docs/filter-bar.json +118 -118
- package/docs/filter-bar.md +79 -79
- package/docs/form.json +2 -1
- package/docs/form.md +1 -1
- package/docs/guidelines/README.md +27 -0
- package/docs/guidelines/async-feedback.md +129 -0
- package/docs/guidelines/browsing.md +74 -0
- package/docs/guidelines/builders.md +97 -0
- package/docs/guidelines/composition.md +143 -0
- package/docs/guidelines/conversations.md +59 -0
- package/docs/guidelines/errors-and-conflicts.md +71 -0
- package/docs/guidelines/forms.md +202 -0
- package/docs/guidelines/index.md +129 -0
- package/docs/guidelines/layout-alignment.md +95 -0
- package/docs/guidelines/ledgers.md +45 -0
- package/docs/guidelines/list-pages.md +206 -0
- package/docs/guidelines/overviews.md +76 -0
- package/docs/guidelines/own-elements.md +115 -0
- package/docs/guidelines/reading-permissions.md +55 -0
- package/docs/guidelines/record-pages.md +178 -0
- package/docs/guidelines/reports.md +123 -0
- package/docs/guidelines/shell-composition.md +94 -0
- package/docs/guidelines/workspaces.md +46 -0
- package/docs/icon.json +3 -1
- package/docs/icon.md +3 -3
- package/docs/index.md +12 -0
- package/docs/inline-message.json +14 -2
- package/docs/inline-message.md +4 -3
- package/docs/list-item.json +9 -1
- package/docs/list-item.md +3 -3
- package/docs/list.json +19 -1
- package/docs/list.md +3 -1
- package/docs/markdown.json +79 -79
- package/docs/markdown.md +65 -65
- package/docs/menu.json +12 -0
- package/docs/menu.md +2 -0
- package/docs/message.json +7 -1
- package/docs/message.md +3 -3
- package/docs/multi-select.json +1 -0
- package/docs/multi-select.md +1 -1
- package/docs/notification-center.json +4 -0
- package/docs/notification-center.md +2 -2
- package/docs/number-field.json +1 -0
- package/docs/number-field.md +1 -1
- package/docs/otp-input.json +1 -0
- package/docs/otp-input.md +1 -1
- package/docs/page-header.json +4 -3
- package/docs/page-header.md +2 -2
- package/docs/page.json +1 -0
- package/docs/page.md +1 -0
- package/docs/popover.json +1 -1
- package/docs/progress-indicator.json +4 -3
- package/docs/progress-indicator.md +4 -4
- package/docs/prompt-composer.json +41 -1
- package/docs/prompt-composer.md +5 -1
- package/docs/rating.json +5 -3
- package/docs/rating.md +5 -5
- package/docs/section.json +27 -15
- package/docs/section.md +11 -9
- package/docs/segmented-control.json +36 -12
- package/docs/segmented-control.md +17 -1
- package/docs/select.json +1 -0
- package/docs/select.md +1 -1
- package/docs/side-navigation.json +1 -0
- package/docs/side-navigation.md +1 -1
- package/docs/skills/build-own-element/SKILL.md +90 -0
- package/docs/skills/compose-screen/SKILL.md +95 -0
- package/docs/skills/index.md +9 -0
- package/docs/skills/review-screen/SKILL.md +77 -0
- package/docs/skills/theme-app/SKILL.md +87 -0
- package/docs/skills/waiting-states/SKILL.md +143 -0
- package/docs/sparkline.json +5 -2
- package/docs/sparkline.md +4 -4
- package/docs/split-button.json +4 -1
- package/docs/split-button.md +3 -3
- package/docs/stat-card.json +5 -1
- package/docs/stat-card.md +3 -3
- package/docs/table.examples.md +3 -3
- package/docs/table.json +85 -3
- package/docs/table.md +12 -1
- package/docs/tabs.json +17 -7
- package/docs/tabs.md +3 -2
- package/docs/tag.json +14 -4
- package/docs/tag.md +6 -6
- package/docs/tags-input.json +29 -2
- package/docs/tags-input.md +4 -1
- package/docs/text-field.json +2 -1
- package/docs/text-field.md +2 -2
- package/docs/textarea.json +1 -0
- package/docs/textarea.md +1 -1
- package/docs/time-field.json +1 -0
- package/docs/time-field.md +1 -1
- package/docs/timeline.json +138 -132
- package/docs/timeline.md +125 -125
- package/docs/toast.json +7 -1
- package/docs/toast.md +3 -3
- package/docs/toggle-group.json +14 -3
- package/docs/toggle-group.md +3 -3
- package/docs/toggle.json +12 -3
- package/docs/toggle.md +3 -3
- package/docs/tokens.md +467 -0
- package/docs/tour.json +1 -1
- package/docs/typography.json +4 -2
- package/docs/typography.md +4 -4
- package/fesm2022/slotted-angular-accordion.mjs +4 -2
- package/fesm2022/slotted-angular-accordion.mjs.map +1 -1
- package/fesm2022/slotted-angular-action-bar.mjs +22 -11
- package/fesm2022/slotted-angular-action-bar.mjs.map +1 -1
- package/fesm2022/slotted-angular-action-sheet.mjs +42 -29
- package/fesm2022/slotted-angular-action-sheet.mjs.map +1 -1
- package/fesm2022/slotted-angular-alert.mjs +18 -11
- package/fesm2022/slotted-angular-alert.mjs.map +1 -1
- package/fesm2022/slotted-angular-app-shell.mjs +111 -61
- package/fesm2022/slotted-angular-app-shell.mjs.map +1 -1
- package/fesm2022/slotted-angular-aspect-ratio.mjs +4 -2
- package/fesm2022/slotted-angular-aspect-ratio.mjs.map +1 -1
- package/fesm2022/slotted-angular-attachment.mjs +31 -20
- package/fesm2022/slotted-angular-attachment.mjs.map +1 -1
- package/fesm2022/slotted-angular-avatar-group.mjs +9 -6
- package/fesm2022/slotted-angular-avatar-group.mjs.map +1 -1
- package/fesm2022/slotted-angular-avatar.mjs +14 -7
- package/fesm2022/slotted-angular-avatar.mjs.map +1 -1
- package/fesm2022/slotted-angular-badge.mjs +14 -10
- package/fesm2022/slotted-angular-badge.mjs.map +1 -1
- package/fesm2022/slotted-angular-breadcrumb.mjs +26 -18
- package/fesm2022/slotted-angular-breadcrumb.mjs.map +1 -1
- package/fesm2022/slotted-angular-button-group.mjs +7 -4
- package/fesm2022/slotted-angular-button-group.mjs.map +1 -1
- package/fesm2022/slotted-angular-button.mjs +90 -29
- package/fesm2022/slotted-angular-button.mjs.map +1 -1
- package/fesm2022/slotted-angular-calendar.mjs +235 -58
- package/fesm2022/slotted-angular-calendar.mjs.map +1 -1
- package/fesm2022/slotted-angular-card.mjs +18 -16
- package/fesm2022/slotted-angular-card.mjs.map +1 -1
- package/fesm2022/slotted-angular-carousel.mjs +22 -11
- package/fesm2022/slotted-angular-carousel.mjs.map +1 -1
- package/fesm2022/slotted-angular-cascader.mjs +166 -66
- package/fesm2022/slotted-angular-cascader.mjs.map +1 -1
- package/fesm2022/slotted-angular-chart.mjs +53 -20
- package/fesm2022/slotted-angular-chart.mjs.map +1 -1
- package/fesm2022/slotted-angular-checkbox-group.mjs +5 -3
- package/fesm2022/slotted-angular-checkbox-group.mjs.map +1 -1
- package/fesm2022/slotted-angular-checkbox.mjs +23 -9
- package/fesm2022/slotted-angular-checkbox.mjs.map +1 -1
- package/fesm2022/slotted-angular-code-block.mjs +29 -15
- package/fesm2022/slotted-angular-code-block.mjs.map +1 -1
- package/fesm2022/slotted-angular-collapsible.mjs +20 -15
- package/fesm2022/slotted-angular-collapsible.mjs.map +1 -1
- package/fesm2022/slotted-angular-color-picker.mjs +77 -22
- package/fesm2022/slotted-angular-color-picker.mjs.map +1 -1
- package/fesm2022/slotted-angular-column-manager.mjs +68 -31
- package/fesm2022/slotted-angular-column-manager.mjs.map +1 -1
- package/fesm2022/slotted-angular-combobox.mjs +112 -39
- package/fesm2022/slotted-angular-combobox.mjs.map +1 -1
- package/fesm2022/slotted-angular-command-palette.mjs +150 -54
- package/fesm2022/slotted-angular-command-palette.mjs.map +1 -1
- package/fesm2022/slotted-angular-container.mjs +6 -4
- package/fesm2022/slotted-angular-container.mjs.map +1 -1
- package/fesm2022/slotted-angular-context-menu.mjs +5 -4
- package/fesm2022/slotted-angular-context-menu.mjs.map +1 -1
- package/fesm2022/slotted-angular-currency-field.mjs +149 -32
- package/fesm2022/slotted-angular-currency-field.mjs.map +1 -1
- package/fesm2022/slotted-angular-dashboard-grid.mjs +142 -63
- package/fesm2022/slotted-angular-dashboard-grid.mjs.map +1 -1
- package/fesm2022/slotted-angular-data-grid.mjs +354 -113
- package/fesm2022/slotted-angular-data-grid.mjs.map +1 -1
- package/fesm2022/slotted-angular-data-list.mjs +83 -50
- package/fesm2022/slotted-angular-data-list.mjs.map +1 -1
- package/fesm2022/slotted-angular-date-field.mjs +74 -25
- package/fesm2022/slotted-angular-date-field.mjs.map +1 -1
- package/fesm2022/slotted-angular-date-picker.mjs +112 -40
- package/fesm2022/slotted-angular-date-picker.mjs.map +1 -1
- package/fesm2022/slotted-angular-date-range-picker.mjs +45 -22
- package/fesm2022/slotted-angular-date-range-picker.mjs.map +1 -1
- package/fesm2022/slotted-angular-datetime-field.mjs +48 -16
- package/fesm2022/slotted-angular-datetime-field.mjs.map +1 -1
- package/fesm2022/slotted-angular-datetime-picker.mjs +41 -29
- package/fesm2022/slotted-angular-datetime-picker.mjs.map +1 -1
- package/fesm2022/slotted-angular-datetime-range-picker.mjs +115 -48
- package/fesm2022/slotted-angular-datetime-range-picker.mjs.map +1 -1
- package/fesm2022/slotted-angular-description-list.mjs +33 -19
- package/fesm2022/slotted-angular-description-list.mjs.map +1 -1
- package/fesm2022/slotted-angular-detail-panel.mjs +29 -18
- package/fesm2022/slotted-angular-detail-panel.mjs.map +1 -1
- package/fesm2022/slotted-angular-dialog.mjs +72 -30
- package/fesm2022/slotted-angular-dialog.mjs.map +1 -1
- package/fesm2022/slotted-angular-divider.mjs +7 -5
- package/fesm2022/slotted-angular-divider.mjs.map +1 -1
- package/fesm2022/slotted-angular-drawer.mjs +53 -29
- package/fesm2022/slotted-angular-drawer.mjs.map +1 -1
- package/fesm2022/slotted-angular-entity-picker.mjs +468 -75
- package/fesm2022/slotted-angular-entity-picker.mjs.map +1 -1
- package/fesm2022/slotted-angular-event-calendar.mjs +275 -108
- package/fesm2022/slotted-angular-event-calendar.mjs.map +1 -1
- package/fesm2022/slotted-angular-field-group.mjs +14 -7
- package/fesm2022/slotted-angular-field-group.mjs.map +1 -1
- package/fesm2022/slotted-angular-field.mjs +35 -15
- package/fesm2022/slotted-angular-field.mjs.map +1 -1
- package/fesm2022/slotted-angular-filter-bar.mjs +112 -51
- package/fesm2022/slotted-angular-filter-bar.mjs.map +1 -1
- package/fesm2022/slotted-angular-form.mjs +18 -10
- package/fesm2022/slotted-angular-form.mjs.map +1 -1
- package/fesm2022/slotted-angular-fullscreen.mjs +14 -8
- package/fesm2022/slotted-angular-fullscreen.mjs.map +1 -1
- package/fesm2022/slotted-angular-grid.mjs +4 -2
- package/fesm2022/slotted-angular-grid.mjs.map +1 -1
- package/fesm2022/slotted-angular-highlight.mjs +5 -3
- package/fesm2022/slotted-angular-highlight.mjs.map +1 -1
- package/fesm2022/slotted-angular-hover-card.mjs +5 -4
- package/fesm2022/slotted-angular-hover-card.mjs.map +1 -1
- package/fesm2022/slotted-angular-icon.mjs +6 -3
- package/fesm2022/slotted-angular-icon.mjs.map +1 -1
- package/fesm2022/slotted-angular-image.mjs +13 -10
- package/fesm2022/slotted-angular-image.mjs.map +1 -1
- package/fesm2022/slotted-angular-import-export-center.mjs +167 -99
- package/fesm2022/slotted-angular-import-export-center.mjs.map +1 -1
- package/fesm2022/slotted-angular-inline-message.mjs +88 -13
- package/fesm2022/slotted-angular-inline-message.mjs.map +1 -1
- package/fesm2022/slotted-angular-inline.mjs +4 -2
- package/fesm2022/slotted-angular-inline.mjs.map +1 -1
- package/fesm2022/slotted-angular-kbd.mjs +11 -7
- package/fesm2022/slotted-angular-kbd.mjs.map +1 -1
- package/fesm2022/slotted-angular-link.mjs +5 -3
- package/fesm2022/slotted-angular-link.mjs.map +1 -1
- package/fesm2022/slotted-angular-list-item.mjs +21 -18
- package/fesm2022/slotted-angular-list-item.mjs.map +1 -1
- package/fesm2022/slotted-angular-list.mjs +37 -22
- package/fesm2022/slotted-angular-list.mjs.map +1 -1
- package/fesm2022/slotted-angular-listbox.mjs +39 -21
- package/fesm2022/slotted-angular-listbox.mjs.map +1 -1
- package/fesm2022/slotted-angular-loading-overlay.mjs +59 -22
- package/fesm2022/slotted-angular-loading-overlay.mjs.map +1 -1
- package/fesm2022/slotted-angular-markdown.mjs +31 -19
- package/fesm2022/slotted-angular-markdown.mjs.map +1 -1
- package/fesm2022/slotted-angular-menu.mjs +51 -29
- package/fesm2022/slotted-angular-menu.mjs.map +1 -1
- package/fesm2022/slotted-angular-menubar.mjs +4 -2
- package/fesm2022/slotted-angular-menubar.mjs.map +1 -1
- package/fesm2022/slotted-angular-message-scroller.mjs +28 -15
- package/fesm2022/slotted-angular-message-scroller.mjs.map +1 -1
- package/fesm2022/slotted-angular-message.mjs +113 -51
- package/fesm2022/slotted-angular-message.mjs.map +1 -1
- package/fesm2022/slotted-angular-multi-select.mjs +189 -87
- package/fesm2022/slotted-angular-multi-select.mjs.map +1 -1
- package/fesm2022/slotted-angular-navigation-menu.mjs +34 -26
- package/fesm2022/slotted-angular-navigation-menu.mjs.map +1 -1
- package/fesm2022/slotted-angular-notification-center.mjs +108 -65
- package/fesm2022/slotted-angular-notification-center.mjs.map +1 -1
- package/fesm2022/slotted-angular-number-field.mjs +23 -11
- package/fesm2022/slotted-angular-number-field.mjs.map +1 -1
- package/fesm2022/slotted-angular-otp-input.mjs +13 -8
- package/fesm2022/slotted-angular-otp-input.mjs.map +1 -1
- package/fesm2022/slotted-angular-page-header.mjs +75 -45
- package/fesm2022/slotted-angular-page-header.mjs.map +1 -1
- package/fesm2022/slotted-angular-page.mjs +38 -10
- package/fesm2022/slotted-angular-page.mjs.map +1 -1
- package/fesm2022/slotted-angular-pagination.mjs +35 -22
- package/fesm2022/slotted-angular-pagination.mjs.map +1 -1
- package/fesm2022/slotted-angular-popover.mjs +32 -19
- package/fesm2022/slotted-angular-popover.mjs.map +1 -1
- package/fesm2022/slotted-angular-progress-indicator.mjs +236 -52
- package/fesm2022/slotted-angular-progress-indicator.mjs.map +1 -1
- package/fesm2022/slotted-angular-prompt-composer.mjs +41 -20
- package/fesm2022/slotted-angular-prompt-composer.mjs.map +1 -1
- package/fesm2022/slotted-angular-prose.mjs +14 -11
- package/fesm2022/slotted-angular-prose.mjs.map +1 -1
- package/fesm2022/slotted-angular-radio-group.mjs +15 -9
- package/fesm2022/slotted-angular-radio-group.mjs.map +1 -1
- package/fesm2022/slotted-angular-rating.mjs +138 -82
- package/fesm2022/slotted-angular-rating.mjs.map +1 -1
- package/fesm2022/slotted-angular-result-state.mjs +16 -12
- package/fesm2022/slotted-angular-result-state.mjs.map +1 -1
- package/fesm2022/slotted-angular-saved-views.mjs +43 -16
- package/fesm2022/slotted-angular-saved-views.mjs.map +1 -1
- package/fesm2022/slotted-angular-scroll-area.mjs +13 -5
- package/fesm2022/slotted-angular-scroll-area.mjs.map +1 -1
- package/fesm2022/slotted-angular-section.mjs +53 -18
- package/fesm2022/slotted-angular-section.mjs.map +1 -1
- package/fesm2022/slotted-angular-segmented-control.mjs +37 -11
- package/fesm2022/slotted-angular-segmented-control.mjs.map +1 -1
- package/fesm2022/slotted-angular-select.mjs +184 -94
- package/fesm2022/slotted-angular-select.mjs.map +1 -1
- package/fesm2022/slotted-angular-side-navigation.mjs +46 -35
- package/fesm2022/slotted-angular-side-navigation.mjs.map +1 -1
- package/fesm2022/slotted-angular-skeleton.mjs +32 -16
- package/fesm2022/slotted-angular-skeleton.mjs.map +1 -1
- package/fesm2022/slotted-angular-slider.mjs +31 -11
- package/fesm2022/slotted-angular-slider.mjs.map +1 -1
- package/fesm2022/slotted-angular-sparkline.mjs +41 -14
- package/fesm2022/slotted-angular-sparkline.mjs.map +1 -1
- package/fesm2022/slotted-angular-split-button.mjs +25 -11
- package/fesm2022/slotted-angular-split-button.mjs.map +1 -1
- package/fesm2022/slotted-angular-splitter.mjs +11 -9
- package/fesm2022/slotted-angular-splitter.mjs.map +1 -1
- package/fesm2022/slotted-angular-stack.mjs +4 -2
- package/fesm2022/slotted-angular-stack.mjs.map +1 -1
- package/fesm2022/slotted-angular-stat-card.mjs +35 -28
- package/fesm2022/slotted-angular-stat-card.mjs.map +1 -1
- package/fesm2022/slotted-angular-status-indicator.mjs +22 -8
- package/fesm2022/slotted-angular-status-indicator.mjs.map +1 -1
- package/fesm2022/slotted-angular-stepper.mjs +40 -15
- package/fesm2022/slotted-angular-stepper.mjs.map +1 -1
- package/fesm2022/slotted-angular-switch.mjs +15 -10
- package/fesm2022/slotted-angular-switch.mjs.map +1 -1
- package/fesm2022/slotted-angular-table-of-contents.mjs +29 -21
- package/fesm2022/slotted-angular-table-of-contents.mjs.map +1 -1
- package/fesm2022/slotted-angular-table.mjs +243 -73
- package/fesm2022/slotted-angular-table.mjs.map +1 -1
- package/fesm2022/slotted-angular-tabs.mjs +42 -18
- package/fesm2022/slotted-angular-tabs.mjs.map +1 -1
- package/fesm2022/slotted-angular-tag.mjs +19 -12
- package/fesm2022/slotted-angular-tag.mjs.map +1 -1
- package/fesm2022/slotted-angular-tags-input.mjs +253 -28
- package/fesm2022/slotted-angular-tags-input.mjs.map +1 -1
- package/fesm2022/slotted-angular-text-field.mjs +49 -15
- package/fesm2022/slotted-angular-text-field.mjs.map +1 -1
- package/fesm2022/slotted-angular-textarea.mjs +5 -3
- package/fesm2022/slotted-angular-textarea.mjs.map +1 -1
- package/fesm2022/slotted-angular-time-field.mjs +48 -14
- package/fesm2022/slotted-angular-time-field.mjs.map +1 -1
- package/fesm2022/slotted-angular-time-picker.mjs +32 -20
- package/fesm2022/slotted-angular-time-picker.mjs.map +1 -1
- package/fesm2022/slotted-angular-time-range-picker.mjs +113 -46
- package/fesm2022/slotted-angular-time-range-picker.mjs.map +1 -1
- package/fesm2022/slotted-angular-timeline.mjs +135 -64
- package/fesm2022/slotted-angular-timeline.mjs.map +1 -1
- package/fesm2022/slotted-angular-toast.mjs +43 -31
- package/fesm2022/slotted-angular-toast.mjs.map +1 -1
- package/fesm2022/slotted-angular-toggle-group.mjs +25 -8
- package/fesm2022/slotted-angular-toggle-group.mjs.map +1 -1
- package/fesm2022/slotted-angular-toggle.mjs +9 -4
- package/fesm2022/slotted-angular-toggle.mjs.map +1 -1
- package/fesm2022/slotted-angular-toolbar.mjs +22 -11
- package/fesm2022/slotted-angular-toolbar.mjs.map +1 -1
- package/fesm2022/slotted-angular-tooltip.mjs +15 -6
- package/fesm2022/slotted-angular-tooltip.mjs.map +1 -1
- package/fesm2022/slotted-angular-top-navigation.mjs +64 -44
- package/fesm2022/slotted-angular-top-navigation.mjs.map +1 -1
- package/fesm2022/slotted-angular-tour.mjs +47 -22
- package/fesm2022/slotted-angular-tour.mjs.map +1 -1
- package/fesm2022/slotted-angular-transfer.mjs +69 -30
- package/fesm2022/slotted-angular-transfer.mjs.map +1 -1
- package/fesm2022/slotted-angular-tree.mjs +74 -26
- package/fesm2022/slotted-angular-tree.mjs.map +1 -1
- package/fesm2022/slotted-angular-typography.mjs +8 -4
- package/fesm2022/slotted-angular-typography.mjs.map +1 -1
- package/fesm2022/slotted-angular-upload.mjs +125 -57
- package/fesm2022/slotted-angular-upload.mjs.map +1 -1
- package/fesm2022/slotted-angular-visually-hidden.mjs +4 -2
- package/fesm2022/slotted-angular-visually-hidden.mjs.map +1 -1
- package/fesm2022/slotted-angular-wizard.mjs +163 -65
- package/fesm2022/slotted-angular-wizard.mjs.map +1 -1
- package/package.json +3 -3
- package/types/slotted-angular-accordion.d.ts.map +1 -1
- package/types/slotted-angular-action-bar.d.ts.map +1 -1
- package/types/slotted-angular-action-sheet.d.ts.map +1 -1
- package/types/slotted-angular-alert.d.ts +2 -2
- package/types/slotted-angular-alert.d.ts.map +1 -1
- package/types/slotted-angular-app-shell.d.ts +11 -3
- package/types/slotted-angular-app-shell.d.ts.map +1 -1
- package/types/slotted-angular-aspect-ratio.d.ts.map +1 -1
- package/types/slotted-angular-attachment.d.ts +1 -1
- package/types/slotted-angular-attachment.d.ts.map +1 -1
- package/types/slotted-angular-avatar-group.d.ts.map +1 -1
- package/types/slotted-angular-avatar.d.ts +11 -3
- package/types/slotted-angular-avatar.d.ts.map +1 -1
- package/types/slotted-angular-badge.d.ts +1 -1
- package/types/slotted-angular-badge.d.ts.map +1 -1
- package/types/slotted-angular-breadcrumb.d.ts.map +1 -1
- package/types/slotted-angular-button-group.d.ts +1 -1
- package/types/slotted-angular-button-group.d.ts.map +1 -1
- package/types/slotted-angular-button.d.ts +33 -13
- package/types/slotted-angular-button.d.ts.map +1 -1
- package/types/slotted-angular-calendar.d.ts +30 -2
- package/types/slotted-angular-calendar.d.ts.map +1 -1
- package/types/slotted-angular-card.d.ts.map +1 -1
- package/types/slotted-angular-carousel.d.ts.map +1 -1
- package/types/slotted-angular-cascader.d.ts.map +1 -1
- package/types/slotted-angular-chart.d.ts +10 -0
- package/types/slotted-angular-chart.d.ts.map +1 -1
- package/types/slotted-angular-checkbox-group.d.ts.map +1 -1
- package/types/slotted-angular-checkbox.d.ts +7 -1
- package/types/slotted-angular-checkbox.d.ts.map +1 -1
- package/types/slotted-angular-code-block.d.ts +1 -1
- package/types/slotted-angular-code-block.d.ts.map +1 -1
- package/types/slotted-angular-collapsible.d.ts +1 -1
- package/types/slotted-angular-collapsible.d.ts.map +1 -1
- package/types/slotted-angular-color-picker.d.ts.map +1 -1
- package/types/slotted-angular-column-manager.d.ts.map +1 -1
- package/types/slotted-angular-combobox.d.ts +5 -1
- package/types/slotted-angular-combobox.d.ts.map +1 -1
- package/types/slotted-angular-command-palette.d.ts +10 -1
- package/types/slotted-angular-command-palette.d.ts.map +1 -1
- package/types/slotted-angular-container.d.ts.map +1 -1
- package/types/slotted-angular-context-menu.d.ts.map +1 -1
- package/types/slotted-angular-currency-field.d.ts +63 -15
- package/types/slotted-angular-currency-field.d.ts.map +1 -1
- package/types/slotted-angular-dashboard-grid.d.ts.map +1 -1
- package/types/slotted-angular-data-grid.d.ts +49 -4
- package/types/slotted-angular-data-grid.d.ts.map +1 -1
- package/types/slotted-angular-data-list.d.ts.map +1 -1
- package/types/slotted-angular-date-field.d.ts +11 -1
- package/types/slotted-angular-date-field.d.ts.map +1 -1
- package/types/slotted-angular-date-picker.d.ts +38 -12
- package/types/slotted-angular-date-picker.d.ts.map +1 -1
- package/types/slotted-angular-date-range-picker.d.ts +0 -1
- package/types/slotted-angular-date-range-picker.d.ts.map +1 -1
- package/types/slotted-angular-datetime-field.d.ts.map +1 -1
- package/types/slotted-angular-datetime-picker.d.ts +0 -1
- package/types/slotted-angular-datetime-picker.d.ts.map +1 -1
- package/types/slotted-angular-datetime-range-picker.d.ts +0 -1
- package/types/slotted-angular-datetime-range-picker.d.ts.map +1 -1
- package/types/slotted-angular-description-list.d.ts.map +1 -1
- package/types/slotted-angular-detail-panel.d.ts.map +1 -1
- package/types/slotted-angular-dialog.d.ts +10 -3
- package/types/slotted-angular-dialog.d.ts.map +1 -1
- package/types/slotted-angular-divider.d.ts.map +1 -1
- package/types/slotted-angular-drawer.d.ts +7 -1
- package/types/slotted-angular-drawer.d.ts.map +1 -1
- package/types/slotted-angular-entity-picker.d.ts +63 -15
- package/types/slotted-angular-entity-picker.d.ts.map +1 -1
- package/types/slotted-angular-event-calendar.d.ts +9 -2
- package/types/slotted-angular-event-calendar.d.ts.map +1 -1
- package/types/slotted-angular-field-group.d.ts.map +1 -1
- package/types/slotted-angular-field.d.ts.map +1 -1
- package/types/slotted-angular-filter-bar.d.ts.map +1 -1
- package/types/slotted-angular-form.d.ts.map +1 -1
- package/types/slotted-angular-fullscreen.d.ts.map +1 -1
- package/types/slotted-angular-grid.d.ts.map +1 -1
- package/types/slotted-angular-highlight.d.ts.map +1 -1
- package/types/slotted-angular-hover-card.d.ts.map +1 -1
- package/types/slotted-angular-icon.d.ts +2 -2
- package/types/slotted-angular-icon.d.ts.map +1 -1
- package/types/slotted-angular-image.d.ts.map +1 -1
- package/types/slotted-angular-import-export-center.d.ts.map +1 -1
- package/types/slotted-angular-inline-message.d.ts +25 -25
- package/types/slotted-angular-inline-message.d.ts.map +1 -1
- package/types/slotted-angular-inline.d.ts.map +1 -1
- package/types/slotted-angular-kbd.d.ts.map +1 -1
- package/types/slotted-angular-link.d.ts.map +1 -1
- package/types/slotted-angular-list-item.d.ts +1 -1
- package/types/slotted-angular-list-item.d.ts.map +1 -1
- package/types/slotted-angular-list.d.ts +42 -27
- package/types/slotted-angular-list.d.ts.map +1 -1
- package/types/slotted-angular-listbox.d.ts.map +1 -1
- package/types/slotted-angular-loading-overlay.d.ts.map +1 -1
- package/types/slotted-angular-markdown.d.ts.map +1 -1
- package/types/slotted-angular-menu.d.ts +11 -2
- package/types/slotted-angular-menu.d.ts.map +1 -1
- package/types/slotted-angular-menubar.d.ts.map +1 -1
- package/types/slotted-angular-message-scroller.d.ts.map +1 -1
- package/types/slotted-angular-message.d.ts +1 -1
- package/types/slotted-angular-message.d.ts.map +1 -1
- package/types/slotted-angular-multi-select.d.ts +15 -1
- package/types/slotted-angular-multi-select.d.ts.map +1 -1
- package/types/slotted-angular-navigation-menu.d.ts.map +1 -1
- package/types/slotted-angular-notification-center.d.ts +1 -1
- package/types/slotted-angular-notification-center.d.ts.map +1 -1
- package/types/slotted-angular-number-field.d.ts.map +1 -1
- package/types/slotted-angular-otp-input.d.ts.map +1 -1
- package/types/slotted-angular-page-header.d.ts +4 -4
- package/types/slotted-angular-page-header.d.ts.map +1 -1
- package/types/slotted-angular-page.d.ts.map +1 -1
- package/types/slotted-angular-pagination.d.ts.map +1 -1
- package/types/slotted-angular-popover.d.ts.map +1 -1
- package/types/slotted-angular-progress-indicator.d.ts +8 -1
- package/types/slotted-angular-progress-indicator.d.ts.map +1 -1
- package/types/slotted-angular-prompt-composer.d.ts +11 -2
- package/types/slotted-angular-prompt-composer.d.ts.map +1 -1
- package/types/slotted-angular-prose.d.ts.map +1 -1
- package/types/slotted-angular-radio-group.d.ts.map +1 -1
- package/types/slotted-angular-rating.d.ts +1 -1
- package/types/slotted-angular-rating.d.ts.map +1 -1
- package/types/slotted-angular-result-state.d.ts.map +1 -1
- package/types/slotted-angular-saved-views.d.ts.map +1 -1
- package/types/slotted-angular-scroll-area.d.ts.map +1 -1
- package/types/slotted-angular-section.d.ts +11 -3
- package/types/slotted-angular-section.d.ts.map +1 -1
- package/types/slotted-angular-segmented-control.d.ts +15 -2
- package/types/slotted-angular-segmented-control.d.ts.map +1 -1
- package/types/slotted-angular-select.d.ts +12 -2
- package/types/slotted-angular-select.d.ts.map +1 -1
- package/types/slotted-angular-side-navigation.d.ts.map +1 -1
- package/types/slotted-angular-skeleton.d.ts.map +1 -1
- package/types/slotted-angular-slider.d.ts.map +1 -1
- package/types/slotted-angular-sparkline.d.ts +7 -1
- package/types/slotted-angular-sparkline.d.ts.map +1 -1
- package/types/slotted-angular-split-button.d.ts +2 -2
- package/types/slotted-angular-split-button.d.ts.map +1 -1
- package/types/slotted-angular-splitter.d.ts.map +1 -1
- package/types/slotted-angular-stack.d.ts.map +1 -1
- package/types/slotted-angular-stat-card.d.ts +1 -1
- package/types/slotted-angular-stat-card.d.ts.map +1 -1
- package/types/slotted-angular-status-indicator.d.ts +1 -1
- package/types/slotted-angular-status-indicator.d.ts.map +1 -1
- package/types/slotted-angular-stepper.d.ts +1 -1
- package/types/slotted-angular-stepper.d.ts.map +1 -1
- package/types/slotted-angular-switch.d.ts.map +1 -1
- package/types/slotted-angular-table-of-contents.d.ts.map +1 -1
- package/types/slotted-angular-table.d.ts +63 -6
- package/types/slotted-angular-table.d.ts.map +1 -1
- package/types/slotted-angular-tabs.d.ts +3 -4
- package/types/slotted-angular-tabs.d.ts.map +1 -1
- package/types/slotted-angular-tag.d.ts +1 -1
- package/types/slotted-angular-tag.d.ts.map +1 -1
- package/types/slotted-angular-tags-input.d.ts +33 -1
- package/types/slotted-angular-tags-input.d.ts.map +1 -1
- package/types/slotted-angular-text-field.d.ts.map +1 -1
- package/types/slotted-angular-textarea.d.ts.map +1 -1
- package/types/slotted-angular-theme.d.ts +1 -1
- package/types/slotted-angular-time-field.d.ts.map +1 -1
- package/types/slotted-angular-time-picker.d.ts +0 -1
- package/types/slotted-angular-time-picker.d.ts.map +1 -1
- package/types/slotted-angular-time-range-picker.d.ts +0 -1
- package/types/slotted-angular-time-range-picker.d.ts.map +1 -1
- package/types/slotted-angular-timeline.d.ts +1 -1
- package/types/slotted-angular-timeline.d.ts.map +1 -1
- package/types/slotted-angular-toast.d.ts +3 -3
- package/types/slotted-angular-toast.d.ts.map +1 -1
- package/types/slotted-angular-toggle-group.d.ts +8 -2
- package/types/slotted-angular-toggle-group.d.ts.map +1 -1
- package/types/slotted-angular-toggle.d.ts +1 -1
- package/types/slotted-angular-toggle.d.ts.map +1 -1
- package/types/slotted-angular-toolbar.d.ts.map +1 -1
- package/types/slotted-angular-tooltip.d.ts.map +1 -1
- package/types/slotted-angular-top-navigation.d.ts.map +1 -1
- package/types/slotted-angular-tour.d.ts.map +1 -1
- package/types/slotted-angular-transfer.d.ts.map +1 -1
- package/types/slotted-angular-tree.d.ts.map +1 -1
- package/types/slotted-angular-typography.d.ts +1 -1
- package/types/slotted-angular-typography.d.ts.map +1 -1
- package/types/slotted-angular-upload.d.ts +2 -2
- package/types/slotted-angular-upload.d.ts.map +1 -1
- package/types/slotted-angular-visually-hidden.d.ts.map +1 -1
- package/types/slotted-angular-wizard.d.ts.map +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"slotted-angular-checkbox.mjs","sources":["../../checkbox/src/checkbox-defaults.ts","../../checkbox/src/checkbox-parts.ts","../../checkbox/src/checkbox.ts","../../checkbox/src/slotted-angular-checkbox.ts"],"sourcesContent":["import { inject, Injectable, InjectionToken } from '@angular/core';\n\n/** The type step the control sits at, matching the group or field around it. */\nexport type CheckboxSize = 'sm' | 'md' | 'lg';\n\n/**\n * Whether the choice is a box beside a line of text or a framed surface whose\n * whole area is the target. `tile` is the name Carbon and Cloudscape give the\n * framed choice; Mantine and Chakra call it a card, which is a family here.\n */\nexport type CheckboxVariant = 'plain' | 'tile';\n\n/**\n * Which side of its own label the box is on. It is never inherited from a\n * `field`: that family's `labelPlacement` answers where a field's label sits\n * relative to its control, and a checkbox's label is its own.\n */\nexport type CheckboxLabelPlacement = 'end' | 'start';\n\nexport interface CheckboxDefaults {\n labelPlacement: CheckboxLabelPlacement;\n variant: CheckboxVariant;\n size: CheckboxSize;\n}\n\nconst FALLBACK: CheckboxDefaults = { labelPlacement: 'end', size: 'md', variant: 'plain' };\n\nexport const CHECKBOX_DEFAULTS = new InjectionToken<CheckboxDefaults>('slotted checkbox defaults', {\n providedIn: 'root',\n factory: () => FALLBACK,\n});\n\n/**\n * An application decides once what its checkboxes look like, rather than\n * repeating the same inputs on every box in a form. A box that states either of\n * them itself still wins, and so does the group or field around it.\n */\nexport function provideCheckboxDefaults(defaults: Partial<CheckboxDefaults>) {\n return {\n provide: CHECKBOX_DEFAULTS,\n useFactory: (): CheckboxDefaults => ({ ...FALLBACK, ...defaults }),\n };\n}\n\n/** What a checkbox renders as here, before it states anything of its own. */\nexport function injectCheckboxDefaults(): CheckboxDefaults {\n return inject(CHECKBOX_DEFAULTS);\n}\n\n/**\n * Application-scoped rather than module-scoped, for the reason `field` records:\n * a module-level counter produces colliding sequences when two applications\n * render in one server process, and the server and the client sequences must\n * match for hydration.\n */\n@Injectable({ providedIn: 'root' })\nexport class SlCheckboxIdFactory {\n private count = 0;\n\n next() {\n this.count += 1;\n return `slotted-checkbox-${this.count}`;\n }\n}\n","import { Directive, inject } from '@angular/core';\n\nimport { SlCheckboxIdFactory } from './checkbox-defaults';\n\n/**\n * Help text under a box's label.\n *\n * It is a directive on the consumer's own element, so a `p`, a `span` or an\n * `inline-message` all work and none of them loses its own semantics. It\n * carries an identifier the box points `aria-describedby` at, which is what\n * makes the sentence a description rather than part of the name — and it is\n * projected outside the `label` for the same reason.\n */\n@Directive({\n selector: '[slCheckboxDescription]',\n standalone: true,\n exportAs: 'slCheckboxDescription',\n host: {\n 'data-part': 'description',\n '[attr.id]': 'id',\n },\n})\nexport class SlCheckboxDescription {\n readonly id = `${inject(SlCheckboxIdFactory).next()}-description`;\n}\n","import { createControllable } from '@slotted/core/state';\nimport type { ChangeRequest } from '@slotted/core/state';\nimport {\n afterNextRender,\n booleanAttribute,\n ChangeDetectionStrategy,\n Component,\n computed,\n contentChild,\n effect,\n DestroyRef,\n ElementRef,\n forwardRef,\n HostAttributeToken,\n inject,\n input,\n output,\n signal,\n viewChild,\n ViewEncapsulation,\n} from '@angular/core';\nimport type { OnInit } from '@angular/core';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\nimport type { ControlValueAccessor } from '@angular/forms';\nimport { SlGlyph, SlIcon } from '@slotted/angular/icon';\nimport { SlCheckboxGroup } from '@slotted/angular/checkbox-group';\nimport { SlField } from '@slotted/angular/field';\nimport { SlFieldGroup } from '@slotted/angular/field-group';\n\nimport { injectCheckboxDefaults, SlCheckboxIdFactory } from './checkbox-defaults';\nimport type { CheckboxLabelPlacement, CheckboxSize, CheckboxVariant } from './checkbox-defaults';\nimport { SlCheckboxDescription } from './checkbox-parts';\n\nexport type {\n CheckboxDefaults,\n CheckboxLabelPlacement,\n CheckboxSize,\n CheckboxVariant,\n} from './checkbox-defaults';\n\n/** Why the box moved. A checkbox can produce exactly these two. */\nexport type CheckboxCheckedReason = 'pointer' | 'keyboard';\n\n/**\n * A click synthesised by the keyboard reports no detail; a real one reports the\n * click count. It is the rule every activating family in this library writes,\n * and it is why `Space` and a pointer are told apart without a key listener.\n */\nfunction activationReason(event: Event): CheckboxCheckedReason {\n return event instanceof MouseEvent && event.detail === 0 ? 'keyboard' : 'pointer';\n}\n\n/**\n * One choice, ticked or not.\n *\n * **The control is the platform's.** The element holding the value is a native\n * `input[type=checkbox]`, so `Space`, the form, `name`, `value`, `form.reset()`\n * and every native attribute arrive without a listener of this family's own.\n * The host element is the root, and it carries no role.\n *\n * **The mark is a sibling, not a pseudo-element.** Firefox renders neither\n * `::before` nor `::after` on an `input`, so the glyph is drawn in an element\n * beside the control. It is the dash while indeterminate — mixed outranks the\n * check — and the stylesheet only reveals it on `:checked` or `:indeterminate`.\n *\n * **Angular pays one element for the root, and React pays none.** React can\n * render a wrapper from inside a component; an Angular component's host *is*\n * the wrapper, so `<div slCheckbox>` is the root and the control lives in its\n * template.\n *\n * **Unset means ask the group, then the field.** `disabled`, `readOnly` and\n * `invalid` default to `undefined` rather than `false`, which is what makes\n * \"not disabled\" and \"said nothing\" different answers.\n */\n/** A label with content, all of it hidden text: nothing a sighted reader sees. */\nfunction showsNothing(label: HTMLElement): boolean {\n if (label.childNodes.length === 0) return false;\n return [...label.childNodes].every((node) =>\n node.nodeType === Node.TEXT_NODE || node.nodeType === Node.COMMENT_NODE\n ? node.nodeType === Node.COMMENT_NODE || (node.textContent ?? '').trim() === ''\n : node instanceof Element && node.getAttribute('data-ui') === 'visually-hidden',\n );\n}\n\n@Component({\n selector: '[slCheckbox]',\n standalone: true,\n exportAs: 'slCheckbox',\n imports: [SlGlyph, SlIcon],\n template: `<input\n #control\n data-part=\"control\"\n type=\"checkbox\"\n [attr.id]=\"controlId\"\n [attr.name]=\"resolvedName()\"\n [attr.value]=\"value()\"\n [attr.aria-describedby]=\"describedBy()\"\n [attr.aria-invalid]=\"ariaInvalid()\"\n [attr.aria-readonly]=\"ariaReadOnly()\"\n [attr.aria-required]=\"ariaRequired()\"\n [attr.disabled]=\"disabledAttribute()\"\n [attr.required]=\"requiredAttribute()\"\n [checked]=\"resolvedChecked()\"\n [attr.checked]=\"defaultAttribute()\"\n (click)=\"onClick($event)\"\n (blur)=\"onBlur()\"\n />\n <span data-part=\"indicator\"\n ><span slIcon><svg slGlyph [name]=\"resolvedIndeterminate() ? 'minus' : 'check'\"></svg></span\n ></span>\n <label #label data-part=\"label\" [attr.for]=\"controlId\"><ng-content /></label>\n <ng-content select=\"[slCheckboxDescription]\" />`,\n styleUrl: '../../../styles/src/checkbox/checkbox.css',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n providers: [\n { provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => SlCheckbox), multi: true },\n ],\n host: {\n 'data-ui': 'checkbox',\n 'data-part': 'root',\n '[attr.data-size]': 'resolvedSize()',\n '[attr.data-label-placement]': 'resolvedLabelPlacement()',\n '[attr.data-variant]': 'resolvedVariant()',\n '[attr.data-checked]': \"resolvedChecked() ? '' : null\",\n '[attr.data-indeterminate]': \"resolvedIndeterminate() ? '' : null\",\n '[attr.data-disabled]': \"resolvedDisabled() === true ? '' : null\",\n '[attr.data-invalid]': \"resolvedInvalid() === true ? '' : null\",\n '[attr.data-readonly]': \"resolvedReadOnly() === true ? '' : null\",\n '[attr.data-label-hidden]': \"labelHidden() ? '' : null\",\n },\n})\nexport class SlCheckbox implements ControlValueAccessor, OnInit {\n /** Present means the consumer owns the state. */\n readonly checked = input<boolean | undefined, boolean | string | undefined>(undefined, {\n transform: (value) => (value === undefined ? undefined : booleanAttribute(value)),\n });\n /** Whether the box starts ticked, when the control is uncontrolled. */\n readonly defaultChecked = input(false, { transform: booleanAttribute });\n /**\n * The mixed state. It is a state and never a third value of `checked`: the\n * submitted value stays boolean, and the platform agrees — `indeterminate` is\n * an IDL property that leaves `checked` alone.\n */\n readonly indeterminate = input(false, { transform: booleanAttribute });\n /**\n * Commands the whole set its group was given in `allValues`. Outside such a\n * group it does nothing, because there is no set to command.\n */\n readonly parent = input(false, { transform: booleanAttribute });\n /** What this box selects inside a group, and what it submits in a form. */\n readonly value = input<string | undefined>(undefined);\n readonly name = input<string | undefined>(undefined);\n readonly size = input<CheckboxSize | undefined>(undefined);\n readonly labelPlacement = input<CheckboxLabelPlacement | undefined>(undefined);\n readonly variant = input<CheckboxVariant | undefined>(undefined);\n /** Unstated rather than `false`, so the box defers to its group or field. */\n readonly disabled = input<boolean | undefined, boolean | string | undefined>(undefined, {\n transform: (value) => (value === undefined ? undefined : booleanAttribute(value)),\n });\n readonly readOnly = input<boolean | undefined, boolean | string | undefined>(undefined, {\n transform: (value) => (value === undefined ? undefined : booleanAttribute(value)),\n });\n readonly invalid = input<boolean | undefined, boolean | string | undefined>(undefined, {\n transform: (value) => (value === undefined ? undefined : booleanAttribute(value)),\n });\n\n /**\n * One output for one transition, carrying the new state, the state it\n * replaces, the reason, the originating event and `cancel()`. There is no\n * `[(checked)]`, because a two-way binding has one slot and can carry none of\n * those; a form gets the same movement through `ControlValueAccessor`.\n */\n readonly checkedChange = output<ChangeRequest<boolean>>();\n\n private readonly group = inject(SlCheckboxGroup, { optional: true });\n private readonly field = inject(SlField, { optional: true });\n private readonly fieldGroup = inject(SlFieldGroup, { optional: true });\n private readonly defaults = injectCheckboxDefaults();\n private readonly writtenId = inject(new HostAttributeToken('id'), { optional: true });\n private readonly writtenDescribedBy = inject(new HostAttributeToken('aria-describedby'), {\n optional: true,\n });\n private readonly writtenRequired = inject(new HostAttributeToken('required'), {\n optional: true,\n });\n\n private readonly element = viewChild.required<ElementRef<HTMLInputElement>>('control');\n private readonly label = viewChild.required<ElementRef<HTMLLabelElement>>('label');\n /**\n * Whether the label shows nothing: its only content is hidden text, the name\n * a table row or a data list gives a bare box. Read from the projected DOM,\n * and read again when it changes.\n */\n protected readonly labelHidden = signal(false);\n private readonly description = contentChild(SlCheckboxDescription, { descendants: true });\n\n private readonly own = signal(false);\n private readonly formDisabled = signal<boolean | undefined>(undefined);\n /** Whether a form directive owns the value through `ControlValueAccessor`. */\n private readonly formBound = signal(false);\n private onChangeFn: (checked: boolean) => void = () => undefined;\n private onTouchedFn: () => void = () => undefined;\n\n /** The identifier the label points at. A consumer's own wins. */\n readonly controlId = this.writtenId ?? inject(SlCheckboxIdFactory).next();\n\n /**\n * Three ways a box can know whether it is ticked, decided by what is around\n * it rather than by a mode input: a parent reads the whole set, a member\n * reads whether the selection holds its own value, and a box on its own reads\n * the consumer's `checked` or the state it keeps.\n */\n private readonly isParent = computed(() => this.parent() && this.group !== null);\n private readonly memberValue = computed(() =>\n !this.isParent() && this.group !== null ? this.value() : undefined,\n );\n\n readonly resolvedChecked = computed(() => {\n const group = this.group;\n if (this.isParent() && group !== null) {\n const all = group.allValues() ?? [];\n return all.length > 0 && all.every((item) => group.holds(item));\n }\n const member = this.memberValue();\n if (member !== undefined && group !== null) return group.holds(member);\n return this.checked() ?? this.own();\n });\n\n readonly resolvedIndeterminate = computed(() => {\n const group = this.group;\n if (!this.isParent() || group === null) return this.indeterminate();\n const all = group.allValues() ?? [];\n return all.some((item) => group.holds(item)) && !this.resolvedChecked();\n });\n\n readonly resolvedSize = computed(\n () =>\n this.size() ??\n this.group?.resolvedSize() ??\n this.field?.resolvedSize() ??\n this.fieldGroup?.resolvedSize() ??\n this.defaults.size,\n );\n readonly resolvedLabelPlacement = computed(\n () =>\n this.labelPlacement() ?? this.group?.resolvedLabelPlacement() ?? this.defaults.labelPlacement,\n );\n /**\n * One step shorter than `size`: a box states it, else the group around it,\n * else the provider. It never comes from the field — a field decides how its\n * own row is laid out, and a framed choice is a decision about the choice.\n */\n readonly resolvedVariant = computed(\n () => this.variant() ?? this.group?.resolvedVariant() ?? this.defaults.variant,\n );\n readonly resolvedDisabled = computed(\n () =>\n this.disabled() ??\n this.formDisabled() ??\n this.group?.resolvedDisabled() ??\n this.field?.resolvedDisabled(),\n );\n readonly resolvedReadOnly = computed(\n () => this.readOnly() ?? this.group?.resolvedReadOnly() ?? this.field?.resolvedReadOnly(),\n );\n readonly resolvedInvalid = computed(\n () => this.invalid() ?? this.group?.resolvedInvalid() ?? this.field?.invalid(),\n );\n readonly resolvedRequired = computed(\n () => this.field?.required() ?? this.group?.resolvedRequired() ?? this.fieldGroup?.required(),\n );\n\n /**\n * Whether the box keeps its own state and starts it from `defaultChecked`:\n * nobody passed `checked`, no group holds it, and no form directive bound it.\n */\n private readonly ownsDefault = computed(\n () => this.checked() === undefined && this.group === null && !this.formBound(),\n );\n /**\n * The content attribute `checked`, which is what a native form reset puts\n * the element back to. A box that owns its state writes `defaultChecked`\n * there, the attribute React writes for the same prop. A box whose state\n * belongs to a consumer, a group or a form directive writes its current\n * state, so a native reset leaves the element showing what its owner holds.\n */\n protected readonly defaultAttribute = computed(() =>\n (this.ownsDefault() ? this.defaultChecked() : this.resolvedChecked()) ? '' : null,\n );\n\n protected readonly resolvedName = computed(() => this.name() ?? this.group?.name() ?? null);\n protected readonly describedBy = computed(() => {\n const merged = [\n this.writtenDescribedBy,\n this.description()?.id,\n this.group === null ? this.field?.describedBy() : undefined,\n ].filter(Boolean);\n return merged.length === 0 ? null : merged.join(' ');\n });\n protected readonly ariaInvalid = computed(() =>\n this.resolvedInvalid() === true ? 'true' : null,\n );\n protected readonly ariaReadOnly = computed(() =>\n this.resolvedReadOnly() === true ? 'true' : null,\n );\n protected readonly ariaRequired = computed(() =>\n this.resolvedRequired() === true ? 'true' : null,\n );\n protected readonly disabledAttribute = computed(() =>\n this.resolvedDisabled() === true ? '' : null,\n );\n /** The element's own attribute, passed through and never written by the family. */\n protected readonly requiredAttribute = computed(() => this.writtenRequired ?? null);\n\n constructor() {\n /**\n * `indeterminate` has no attribute; it is an IDL property, which is why\n * every implementation writes it from script and why the stylesheet reads\n * `:indeterminate` and stays in step with the element rather than with a\n * render.\n */\n effect(() => {\n this.element().nativeElement.indeterminate = this.resolvedIndeterminate();\n });\n\n const destroy = inject(DestroyRef);\n afterNextRender(() => {\n /* A native reset restores the element and tells nothing, so a box that\n owns its state puts it back to where it started. The form is reached\n through the element, because `form` may name a form anywhere. */\n const form = this.element().nativeElement.form;\n if (form !== null) {\n const onReset = () => {\n if (this.ownsDefault()) this.own.set(this.defaultChecked());\n };\n form.addEventListener('reset', onReset);\n destroy.onDestroy(() => form.removeEventListener('reset', onReset));\n }\n\n const label = this.label().nativeElement;\n const read = () => this.labelHidden.set(showsNothing(label));\n read();\n if (typeof MutationObserver === 'undefined') return;\n const watch = new MutationObserver(read);\n watch.observe(label, { childList: true, characterData: true, subtree: true });\n destroy.onDestroy(() => watch.disconnect());\n });\n }\n\n ngOnInit() {\n if (this.checked() === undefined && this.group === null) this.own.set(this.defaultChecked());\n }\n\n /** The native element, for `focus()` and `click()`. */\n get inputElement(): HTMLInputElement {\n return this.element().nativeElement;\n }\n\n writeValue(value: boolean | null | undefined) {\n this.own.set(value === true);\n }\n\n registerOnChange(fn: (checked: boolean) => void) {\n this.onChangeFn = fn;\n this.formBound.set(true);\n }\n\n registerOnTouched(fn: () => void) {\n this.onTouchedFn = fn;\n }\n\n setDisabledState(isDisabled: boolean) {\n this.formDisabled.set(isDisabled);\n }\n\n /**\n * One handler for the pointer and for `Space`, because the platform fires one\n * `click` for both — and refusing the default is the only way to refuse a\n * change a checkbox has no `readonly` to refuse.\n *\n * Nothing here writes the element. The HTML standard's canceled activation\n * behaviour for a checkbox is `checked = !checked` rather than a restore of a\n * saved value, so a family that corrected the element inside the listener\n * would have that correction toggled back out from under it. Refusing the\n * default and letting the platform undo its own pre-click toggle is both\n * shorter and the only version that is right: it was measured, in the first\n * run of this family's Angular spec, as a controlled box that stayed ticked\n * after its consumer had said no.\n */\n protected onClick(event: MouseEvent) {\n if (this.resolvedReadOnly() === true) {\n event.preventDefault();\n return;\n }\n\n const reason = activationReason(event);\n const next = !this.resolvedChecked();\n\n let cancelled = false;\n const state = createControllable<boolean>({\n controlled: this.checked() ?? (this.group === null ? undefined : this.resolvedChecked()),\n initial: this.resolvedChecked(),\n onRequest: (request) => {\n this.checkedChange.emit(request);\n cancelled = request.cancelled;\n },\n });\n const moved = state.request(next, reason, event);\n if (cancelled) {\n event.preventDefault();\n return;\n }\n\n if (this.isParent()) {\n if (this.group?.requestAll(next, reason, event) !== true) event.preventDefault();\n return;\n }\n\n const member = this.memberValue();\n if (member !== undefined) {\n if (this.group?.toggle(member, reason, event) !== true) event.preventDefault();\n return;\n }\n\n /* Controlled: the consumer owns the state and has been told. The element\n must not move on its own, so the activation is refused and the platform\n puts it back. */\n if (!moved) {\n event.preventDefault();\n return;\n }\n\n this.own.set(next);\n this.onChangeFn(next);\n }\n\n protected onBlur() {\n this.onTouchedFn();\n this.group?.markTouched();\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;;;;;;AAyBA,MAAM,QAAQ,GAAqB,EAAE,cAAc,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE;MAE7E,iBAAiB,GAAG,IAAI,cAAc,CAAmB,2BAA2B,EAAE;AACjG,IAAA,UAAU,EAAE,MAAM;AAClB,IAAA,OAAO,EAAE,MAAM,QAAQ;AACxB,CAAA;AAED;;;;AAIG;AACG,SAAU,uBAAuB,CAAC,QAAmC,EAAA;IACzE,OAAO;AACL,QAAA,OAAO,EAAE,iBAAiB;AAC1B,QAAA,UAAU,EAAE,OAAyB,EAAE,GAAG,QAAQ,EAAE,GAAG,QAAQ,EAAE,CAAC;KACnE;AACH;AAEA;SACgB,sBAAsB,GAAA;AACpC,IAAA,OAAO,MAAM,CAAC,iBAAiB,CAAC;AAClC;AAEA;;;;;AAKG;MAEU,mBAAmB,CAAA;IACtB,KAAK,GAAG,CAAC;IAEjB,IAAI,GAAA;AACF,QAAA,IAAI,CAAC,KAAK,IAAI,CAAC;AACf,QAAA,OAAO,CAAA,iBAAA,EAAoB,IAAI,CAAC,KAAK,EAAE;IACzC;uGANW,mBAAmB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA;AAAnB,IAAA,OAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,mBAAmB,cADN,MAAM,EAAA,CAAA;;2FACnB,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAD/B,UAAU;mBAAC,EAAE,UAAU,EAAE,MAAM,EAAE;;;ACnDlC;;;;;;;;AAQG;MAUU,qBAAqB,CAAA;IACvB,EAAE,GAAG,CAAA,EAAG,MAAM,CAAC,mBAAmB,CAAC,CAAC,IAAI,EAAE,CAAA,YAAA,CAAc;uGADtD,qBAAqB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;2FAArB,qBAAqB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,yBAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,WAAA,EAAA,aAAA,EAAA,EAAA,UAAA,EAAA,EAAA,SAAA,EAAA,IAAA,EAAA,EAAA,EAAA,QAAA,EAAA,CAAA,uBAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA;;2FAArB,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBATjC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,yBAAyB;AACnC,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,QAAQ,EAAE,uBAAuB;AACjC,oBAAA,IAAI,EAAE;AACJ,wBAAA,WAAW,EAAE,aAAa;AAC1B,wBAAA,WAAW,EAAE,IAAI;AAClB,qBAAA;AACF,iBAAA;;;ACsBD;;;;AAIG;AACH,SAAS,gBAAgB,CAAC,KAAY,EAAA;AACpC,IAAA,OAAO,KAAK,YAAY,UAAU,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,GAAG,UAAU,GAAG,SAAS;AACnF;AAEA;;;;;;;;;;;;;;;;;;;;;AAqBG;AACH;AACA,SAAS,YAAY,CAAC,KAAkB,EAAA;AACtC,IAAA,IAAI,KAAK,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC;AAAE,QAAA,OAAO,KAAK;AAC/C,IAAA,OAAO,CAAC,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,KACtC,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAC;UACvD,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAC,YAAY,IAAI,CAAC,IAAI,CAAC,WAAW,IAAI,EAAE,EAAE,IAAI,EAAE,KAAK;AAC7E,UAAE,IAAI,YAAY,OAAO,IAAI,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,KAAK,iBAAiB,CAClF;AACH;MAkDa,UAAU,CAAA;;AAEZ,IAAA,OAAO,GAAG,KAAK,CAAoD,SAAS,EAAA,EAAA,IAAA,SAAA,GAAA,EAAA,SAAA,EAAA,SAAA,EAAA,8BAAA,EAAA,CAAA,EACnF,SAAS,EAAE,CAAC,KAAK,MAAM,KAAK,KAAK,SAAS,GAAG,SAAS,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC,GACjF;;IAEO,cAAc,GAAG,KAAK,CAAC,KAAK,sFAAI,SAAS,EAAE,gBAAgB,EAAA,CAAG;AACvE;;;;AAIG;IACM,aAAa,GAAG,KAAK,CAAC,KAAK,qFAAI,SAAS,EAAE,gBAAgB,EAAA,CAAG;AACtE;;;AAGG;IACM,MAAM,GAAG,KAAK,CAAC,KAAK,8EAAI,SAAS,EAAE,gBAAgB,EAAA,CAAG;;IAEtD,KAAK,GAAG,KAAK,CAAqB,SAAS;8EAAC;IAC5C,IAAI,GAAG,KAAK,CAAqB,SAAS;6EAAC;IAC3C,IAAI,GAAG,KAAK,CAA2B,SAAS;6EAAC;IACjD,cAAc,GAAG,KAAK,CAAqC,SAAS;uFAAC;IACrE,OAAO,GAAG,KAAK,CAA8B,SAAS;gFAAC;;AAEvD,IAAA,QAAQ,GAAG,KAAK,CAAoD,SAAS,EAAA,EAAA,IAAA,SAAA,GAAA,EAAA,SAAA,EAAA,UAAA,EAAA,8BAAA,EAAA,CAAA,EACpF,SAAS,EAAE,CAAC,KAAK,MAAM,KAAK,KAAK,SAAS,GAAG,SAAS,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC,GACjF;AACO,IAAA,QAAQ,GAAG,KAAK,CAAoD,SAAS,EAAA,EAAA,IAAA,SAAA,GAAA,EAAA,SAAA,EAAA,UAAA,EAAA,8BAAA,EAAA,CAAA,EACpF,SAAS,EAAE,CAAC,KAAK,MAAM,KAAK,KAAK,SAAS,GAAG,SAAS,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC,GACjF;AACO,IAAA,OAAO,GAAG,KAAK,CAAoD,SAAS,EAAA,EAAA,IAAA,SAAA,GAAA,EAAA,SAAA,EAAA,SAAA,EAAA,8BAAA,EAAA,CAAA,EACnF,SAAS,EAAE,CAAC,KAAK,MAAM,KAAK,KAAK,SAAS,GAAG,SAAS,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC,GACjF;AAEF;;;;;AAKG;IACM,aAAa,GAAG,MAAM,EAA0B;IAExC,KAAK,GAAG,MAAM,CAAC,eAAe,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IACnD,KAAK,GAAG,MAAM,CAAC,OAAO,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IAC3C,UAAU,GAAG,MAAM,CAAC,YAAY,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IACrD,QAAQ,GAAG,sBAAsB,EAAE;AACnC,IAAA,SAAS,GAAG,MAAM,CAAC,IAAI,kBAAkB,CAAC,IAAI,CAAC,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IACpE,kBAAkB,GAAG,MAAM,CAAC,IAAI,kBAAkB,CAAC,kBAAkB,CAAC,EAAE;AACvF,QAAA,QAAQ,EAAE,IAAI;AACf,KAAA,CAAC;IACe,eAAe,GAAG,MAAM,CAAC,IAAI,kBAAkB,CAAC,UAAU,CAAC,EAAE;AAC5E,QAAA,QAAQ,EAAE,IAAI;AACf,KAAA,CAAC;AAEe,IAAA,OAAO,GAAG,SAAS,CAAC,QAAQ,CAA+B,SAAS;gFAAC;AACrE,IAAA,KAAK,GAAG,SAAS,CAAC,QAAQ,CAA+B,OAAO;8EAAC;AAClF;;;;AAIG;IACgB,WAAW,GAAG,MAAM,CAAC,KAAK;oFAAC;IAC7B,WAAW,GAAG,YAAY,CAAC,qBAAqB,mFAAI,WAAW,EAAE,IAAI,EAAA,CAAG;IAExE,GAAG,GAAG,MAAM,CAAC,KAAK;4EAAC;IACnB,YAAY,GAAG,MAAM,CAAsB,SAAS;qFAAC;;IAErD,SAAS,GAAG,MAAM,CAAC,KAAK;kFAAC;AAClC,IAAA,UAAU,GAA+B,MAAM,SAAS;AACxD,IAAA,WAAW,GAAe,MAAM,SAAS;;AAGxC,IAAA,SAAS,GAAG,IAAI,CAAC,SAAS,IAAI,MAAM,CAAC,mBAAmB,CAAC,CAAC,IAAI,EAAE;AAEzE;;;;;AAKG;AACc,IAAA,QAAQ,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,MAAM,EAAE,IAAI,IAAI,CAAC,KAAK,KAAK,IAAI;iFAAC;IAC/D,WAAW,GAAG,QAAQ,CAAC,MACtC,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,IAAI,CAAC,KAAK,KAAK,IAAI,GAAG,IAAI,CAAC,KAAK,EAAE,GAAG,SAAS;oFACnE;AAEQ,IAAA,eAAe,GAAG,QAAQ,CAAC,MAAK;AACvC,QAAA,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK;QACxB,IAAI,IAAI,CAAC,QAAQ,EAAE,IAAI,KAAK,KAAK,IAAI,EAAE;YACrC,MAAM,GAAG,GAAG,KAAK,CAAC,SAAS,EAAE,IAAI,EAAE;YACnC,OAAO,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC,IAAI,KAAK,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACjE;AACA,QAAA,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,EAAE;AACjC,QAAA,IAAI,MAAM,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI;AAAE,YAAA,OAAO,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC;QACtE,OAAO,IAAI,CAAC,OAAO,EAAE,IAAI,IAAI,CAAC,GAAG,EAAE;IACrC,CAAC;wFAAC;AAEO,IAAA,qBAAqB,GAAG,QAAQ,CAAC,MAAK;AAC7C,QAAA,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK;QACxB,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,KAAK,KAAK,IAAI;AAAE,YAAA,OAAO,IAAI,CAAC,aAAa,EAAE;QACnE,MAAM,GAAG,GAAG,KAAK,CAAC,SAAS,EAAE,IAAI,EAAE;QACnC,OAAO,GAAG,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE;IACzE,CAAC;8FAAC;IAEO,YAAY,GAAG,QAAQ,CAC9B,MACE,IAAI,CAAC,IAAI,EAAE;AACX,QAAA,IAAI,CAAC,KAAK,EAAE,YAAY,EAAE;AAC1B,QAAA,IAAI,CAAC,KAAK,EAAE,YAAY,EAAE;AAC1B,QAAA,IAAI,CAAC,UAAU,EAAE,YAAY,EAAE;QAC/B,IAAI,CAAC,QAAQ,CAAC,IAAI;qFACrB;IACQ,sBAAsB,GAAG,QAAQ,CACxC,MACE,IAAI,CAAC,cAAc,EAAE,IAAI,IAAI,CAAC,KAAK,EAAE,sBAAsB,EAAE,IAAI,IAAI,CAAC,QAAQ,CAAC,cAAc;+FAChG;AACD;;;;AAIG;IACM,eAAe,GAAG,QAAQ,CACjC,MAAM,IAAI,CAAC,OAAO,EAAE,IAAI,IAAI,CAAC,KAAK,EAAE,eAAe,EAAE,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO;wFAC/E;IACQ,gBAAgB,GAAG,QAAQ,CAClC,MACE,IAAI,CAAC,QAAQ,EAAE;QACf,IAAI,CAAC,YAAY,EAAE;AACnB,QAAA,IAAI,CAAC,KAAK,EAAE,gBAAgB,EAAE;AAC9B,QAAA,IAAI,CAAC,KAAK,EAAE,gBAAgB,EAAE;yFACjC;IACQ,gBAAgB,GAAG,QAAQ,CAClC,MAAM,IAAI,CAAC,QAAQ,EAAE,IAAI,IAAI,CAAC,KAAK,EAAE,gBAAgB,EAAE,IAAI,IAAI,CAAC,KAAK,EAAE,gBAAgB,EAAE;yFAC1F;IACQ,eAAe,GAAG,QAAQ,CACjC,MAAM,IAAI,CAAC,OAAO,EAAE,IAAI,IAAI,CAAC,KAAK,EAAE,eAAe,EAAE,IAAI,IAAI,CAAC,KAAK,EAAE,OAAO,EAAE;wFAC/E;IACQ,gBAAgB,GAAG,QAAQ,CAClC,MAAM,IAAI,CAAC,KAAK,EAAE,QAAQ,EAAE,IAAI,IAAI,CAAC,KAAK,EAAE,gBAAgB,EAAE,IAAI,IAAI,CAAC,UAAU,EAAE,QAAQ,EAAE;yFAC9F;AAED;;;AAGG;IACc,WAAW,GAAG,QAAQ,CACrC,MAAM,IAAI,CAAC,OAAO,EAAE,KAAK,SAAS,IAAI,IAAI,CAAC,KAAK,KAAK,IAAI,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE;oFAC/E;AACD;;;;;;AAMG;AACgB,IAAA,gBAAgB,GAAG,QAAQ,CAAC,MAC7C,CAAC,IAAI,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC,cAAc,EAAE,GAAG,IAAI,CAAC,eAAe,EAAE,IAAI,EAAE,GAAG,IAAI;yFAClF;AAEkB,IAAA,YAAY,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,IAAI,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,IAAI;qFAAC;AACxE,IAAA,WAAW,GAAG,QAAQ,CAAC,MAAK;AAC7C,QAAA,MAAM,MAAM,GAAG;AACb,YAAA,IAAI,CAAC,kBAAkB;AACvB,YAAA,IAAI,CAAC,WAAW,EAAE,EAAE,EAAE;AACtB,YAAA,IAAI,CAAC,KAAK,KAAK,IAAI,GAAG,IAAI,CAAC,KAAK,EAAE,WAAW,EAAE,GAAG,SAAS;AAC5D,SAAA,CAAC,MAAM,CAAC,OAAO,CAAC;AACjB,QAAA,OAAO,MAAM,CAAC,MAAM,KAAK,CAAC,GAAG,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC;IACtD,CAAC;oFAAC;AACiB,IAAA,WAAW,GAAG,QAAQ,CAAC,MACxC,IAAI,CAAC,eAAe,EAAE,KAAK,IAAI,GAAG,MAAM,GAAG,IAAI;oFAChD;AACkB,IAAA,YAAY,GAAG,QAAQ,CAAC,MACzC,IAAI,CAAC,gBAAgB,EAAE,KAAK,IAAI,GAAG,MAAM,GAAG,IAAI;qFACjD;AACkB,IAAA,YAAY,GAAG,QAAQ,CAAC,MACzC,IAAI,CAAC,gBAAgB,EAAE,KAAK,IAAI,GAAG,MAAM,GAAG,IAAI;qFACjD;AACkB,IAAA,iBAAiB,GAAG,QAAQ,CAAC,MAC9C,IAAI,CAAC,gBAAgB,EAAE,KAAK,IAAI,GAAG,EAAE,GAAG,IAAI;0FAC7C;;IAEkB,iBAAiB,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,eAAe,IAAI,IAAI;0FAAC;AAEnF,IAAA,WAAA,GAAA;AACE;;;;;AAKG;QACH,MAAM,CAAC,MAAK;AACV,YAAA,IAAI,CAAC,OAAO,EAAE,CAAC,aAAa,CAAC,aAAa,GAAG,IAAI,CAAC,qBAAqB,EAAE;AAC3E,QAAA,CAAC,CAAC;AAEF,QAAA,MAAM,OAAO,GAAG,MAAM,CAAC,UAAU,CAAC;QAClC,eAAe,CAAC,MAAK;AACnB;;AAEmE;YACnE,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC,aAAa,CAAC,IAAI;AAC9C,YAAA,IAAI,IAAI,KAAK,IAAI,EAAE;gBACjB,MAAM,OAAO,GAAG,MAAK;oBACnB,IAAI,IAAI,CAAC,WAAW,EAAE;wBAAE,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;AAC7D,gBAAA,CAAC;AACD,gBAAA,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,OAAO,CAAC;AACvC,gBAAA,OAAO,CAAC,SAAS,CAAC,MAAM,IAAI,CAAC,mBAAmB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YACrE;YAEA,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC,aAAa;AACxC,YAAA,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;AAC5D,YAAA,IAAI,EAAE;YACN,IAAI,OAAO,gBAAgB,KAAK,WAAW;gBAAE;AAC7C,YAAA,MAAM,KAAK,GAAG,IAAI,gBAAgB,CAAC,IAAI,CAAC;AACxC,YAAA,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;YAC7E,OAAO,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC,UAAU,EAAE,CAAC;AAC7C,QAAA,CAAC,CAAC;IACJ;IAEA,QAAQ,GAAA;QACN,IAAI,IAAI,CAAC,OAAO,EAAE,KAAK,SAAS,IAAI,IAAI,CAAC,KAAK,KAAK,IAAI;YAAE,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;IAC9F;;AAGA,IAAA,IAAI,YAAY,GAAA;AACd,QAAA,OAAO,IAAI,CAAC,OAAO,EAAE,CAAC,aAAa;IACrC;AAEA,IAAA,UAAU,CAAC,KAAiC,EAAA;QAC1C,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,KAAK,IAAI,CAAC;IAC9B;AAEA,IAAA,gBAAgB,CAAC,EAA8B,EAAA;AAC7C,QAAA,IAAI,CAAC,UAAU,GAAG,EAAE;AACpB,QAAA,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC;IAC1B;AAEA,IAAA,iBAAiB,CAAC,EAAc,EAAA;AAC9B,QAAA,IAAI,CAAC,WAAW,GAAG,EAAE;IACvB;AAEA,IAAA,gBAAgB,CAAC,UAAmB,EAAA;AAClC,QAAA,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,UAAU,CAAC;IACnC;AAEA;;;;;;;;;;;;;AAaG;AACO,IAAA,OAAO,CAAC,KAAiB,EAAA;AACjC,QAAA,IAAI,IAAI,CAAC,gBAAgB,EAAE,KAAK,IAAI,EAAE;YACpC,KAAK,CAAC,cAAc,EAAE;YACtB;QACF;AAEA,QAAA,MAAM,MAAM,GAAG,gBAAgB,CAAC,KAAK,CAAC;AACtC,QAAA,MAAM,IAAI,GAAG,CAAC,IAAI,CAAC,eAAe,EAAE;QAEpC,IAAI,SAAS,GAAG,KAAK;QACrB,MAAM,KAAK,GAAG,kBAAkB,CAAU;YACxC,UAAU,EAAE,IAAI,CAAC,OAAO,EAAE,KAAK,IAAI,CAAC,KAAK,KAAK,IAAI,GAAG,SAAS,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;AACxF,YAAA,OAAO,EAAE,IAAI,CAAC,eAAe,EAAE;AAC/B,YAAA,SAAS,EAAE,CAAC,OAAO,KAAI;AACrB,gBAAA,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC;AAChC,gBAAA,SAAS,GAAG,OAAO,CAAC,SAAS;YAC/B,CAAC;AACF,SAAA,CAAC;AACF,QAAA,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC;QAChD,IAAI,SAAS,EAAE;YACb,KAAK,CAAC,cAAc,EAAE;YACtB;QACF;AAEA,QAAA,IAAI,IAAI,CAAC,QAAQ,EAAE,EAAE;AACnB,YAAA,IAAI,IAAI,CAAC,KAAK,EAAE,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,KAAK,IAAI;gBAAE,KAAK,CAAC,cAAc,EAAE;YAChF;QACF;AAEA,QAAA,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,EAAE;AACjC,QAAA,IAAI,MAAM,KAAK,SAAS,EAAE;AACxB,YAAA,IAAI,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,KAAK,IAAI;gBAAE,KAAK,CAAC,cAAc,EAAE;YAC9E;QACF;AAEA;;AAEmB;QACnB,IAAI,CAAC,KAAK,EAAE;YACV,KAAK,CAAC,cAAc,EAAE;YACtB;QACF;AAEA,QAAA,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC;AAClB,QAAA,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;IACvB;IAEU,MAAM,GAAA;QACd,IAAI,CAAC,WAAW,EAAE;AAClB,QAAA,IAAI,CAAC,KAAK,EAAE,WAAW,EAAE;IAC3B;uGApTW,UAAU,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAV,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAU,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,cAAA,EAAA,MAAA,EAAA,EAAA,OAAA,EAAA,EAAA,iBAAA,EAAA,SAAA,EAAA,UAAA,EAAA,SAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,cAAA,EAAA,EAAA,iBAAA,EAAA,gBAAA,EAAA,UAAA,EAAA,gBAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,aAAA,EAAA,EAAA,iBAAA,EAAA,eAAA,EAAA,UAAA,EAAA,eAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,MAAA,EAAA,EAAA,iBAAA,EAAA,QAAA,EAAA,UAAA,EAAA,QAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,KAAA,EAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,UAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,IAAA,EAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,UAAA,EAAA,MAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,IAAA,EAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,UAAA,EAAA,MAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,cAAA,EAAA,EAAA,iBAAA,EAAA,gBAAA,EAAA,UAAA,EAAA,gBAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,OAAA,EAAA,EAAA,iBAAA,EAAA,SAAA,EAAA,UAAA,EAAA,SAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,QAAA,EAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,QAAA,EAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,OAAA,EAAA,EAAA,iBAAA,EAAA,SAAA,EAAA,UAAA,EAAA,SAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,OAAA,EAAA,EAAA,aAAA,EAAA,eAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,SAAA,EAAA,UAAA,EAAA,WAAA,EAAA,MAAA,EAAA,EAAA,UAAA,EAAA,EAAA,gBAAA,EAAA,gBAAA,EAAA,2BAAA,EAAA,0BAAA,EAAA,mBAAA,EAAA,mBAAA,EAAA,mBAAA,EAAA,+BAAA,EAAA,yBAAA,EAAA,qCAAA,EAAA,oBAAA,EAAA,yCAAA,EAAA,mBAAA,EAAA,wCAAA,EAAA,oBAAA,EAAA,yCAAA,EAAA,wBAAA,EAAA,2BAAA,EAAA,EAAA,EAAA,SAAA,EAjBV;AACT,YAAA,EAAE,OAAO,EAAE,iBAAiB,EAAE,WAAW,EAAE,UAAU,CAAC,MAAM,UAAU,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE;AACvF,SAAA,EAAA,OAAA,EAAA,CAAA,EAAA,YAAA,EAAA,aAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EA8E2C,qBAAqB,EAAA,WAAA,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,SAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,SAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,OAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,OAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,CAAA,YAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EA1GvD,CAAA;;;;;;;;;;;;;;;;;;;;;;oDAsBwC,EAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,wqjBAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAvBxC,OAAO,oFAAE,MAAM,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,aAAA,EAAA,OAAA,EAAA,MAAA,EAAA,MAAA,CAAA,EAAA,QAAA,EAAA,CAAA,QAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA;;2FA4Cd,UAAU,EAAA,UAAA,EAAA,CAAA;kBAhDtB,SAAS;+BACE,cAAc,EAAA,UAAA,EACZ,IAAI,EAAA,QAAA,EACN,YAAY,EAAA,OAAA,EACb,CAAC,OAAO,EAAE,MAAM,CAAC,EAAA,QAAA,EAChB,CAAA;;;;;;;;;;;;;;;;;;;;;;AAsBwC,mDAAA,CAAA,EAAA,eAAA,EAEjC,uBAAuB,CAAC,MAAM,iBAChC,iBAAiB,CAAC,IAAI,EAAA,SAAA,EAC1B;AACT,wBAAA,EAAE,OAAO,EAAE,iBAAiB,EAAE,WAAW,EAAE,UAAU,CAAC,gBAAgB,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE;qBACvF,EAAA,IAAA,EACK;AACJ,wBAAA,SAAS,EAAE,UAAU;AACrB,wBAAA,WAAW,EAAE,MAAM;AACnB,wBAAA,kBAAkB,EAAE,gBAAgB;AACpC,wBAAA,6BAA6B,EAAE,0BAA0B;AACzD,wBAAA,qBAAqB,EAAE,mBAAmB;AAC1C,wBAAA,qBAAqB,EAAE,+BAA+B;AACtD,wBAAA,2BAA2B,EAAE,qCAAqC;AAClE,wBAAA,sBAAsB,EAAE,yCAAyC;AACjE,wBAAA,qBAAqB,EAAE,wCAAwC;AAC/D,wBAAA,sBAAsB,EAAE,yCAAyC;AACjE,wBAAA,0BAA0B,EAAE,2BAA2B;AACxD,qBAAA,EAAA,MAAA,EAAA,CAAA,wqjBAAA,CAAA,EAAA;gyCAyD2E,SAAS,EAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,CAAA,EAAA,KAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,SAAA,EAAA,IAAA,EAAA,CACX,OAAO,EAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,CAAA,EAAA,WAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,YAAA,EAAA,IAAA,EAAA,CAAA,EAAA,CAAA,UAAA,CAAA,MAOrC,qBAAqB,QAAE,EAAE,WAAW,EAAE,IAAI,EAAE,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,CAAA,EAAA,EAAA,CAAA;;ACnM1F;;AAEG;;"}
|
|
1
|
+
{"version":3,"file":"slotted-angular-checkbox.mjs","sources":["../../checkbox/src/checkbox-defaults.ts","../../checkbox/src/checkbox-parts.ts","../../checkbox/src/checkbox.ts","../../checkbox/src/slotted-angular-checkbox.ts"],"sourcesContent":["import { inject, Injectable, InjectionToken } from '@angular/core';\n\n/** The type step the control sits at, matching the group or field around it. */\nexport type CheckboxSize = 'sm' | 'md' | 'lg';\n\n/**\n * Whether the choice is a box beside a line of text or a framed surface whose\n * whole area is the target. `tile` is the name Carbon and Cloudscape give the\n * framed choice; Mantine and Chakra call it a card, which is a family here.\n */\nexport type CheckboxVariant = 'plain' | 'tile';\n\n/**\n * Which side of its own label the box is on. It is never inherited from a\n * `field`: that family's `labelPlacement` answers where a field's label sits\n * relative to its control, and a checkbox's label is its own.\n */\nexport type CheckboxLabelPlacement = 'end' | 'start';\n\nexport interface CheckboxDefaults {\n labelPlacement: CheckboxLabelPlacement;\n variant: CheckboxVariant;\n size: CheckboxSize;\n}\n\nconst FALLBACK: CheckboxDefaults = { labelPlacement: 'end', size: 'md', variant: 'plain' };\n\nexport const CHECKBOX_DEFAULTS = new InjectionToken<CheckboxDefaults>('slotted checkbox defaults', {\n providedIn: 'root',\n factory: () => FALLBACK,\n});\n\n/**\n * An application decides once what its checkboxes look like, rather than\n * repeating the same inputs on every box in a form. A box that states either of\n * them itself still wins, and so does the group or field around it.\n */\nexport function provideCheckboxDefaults(defaults: Partial<CheckboxDefaults>) {\n return {\n provide: CHECKBOX_DEFAULTS,\n useFactory: (): CheckboxDefaults => ({ ...FALLBACK, ...defaults }),\n };\n}\n\n/** What a checkbox renders as here, before it states anything of its own. */\nexport function injectCheckboxDefaults(): CheckboxDefaults {\n return inject(CHECKBOX_DEFAULTS);\n}\n\n/**\n * Application-scoped rather than module-scoped, for the reason `field` records:\n * a module-level counter produces colliding sequences when two applications\n * render in one server process, and the server and the client sequences must\n * match for hydration.\n */\n@Injectable({ providedIn: 'root' })\nexport class SlCheckboxIdFactory {\n private count = 0;\n\n next() {\n this.count += 1;\n return `slotted-checkbox-${this.count}`;\n }\n}\n","import { Directive, inject } from '@angular/core';\n\nimport { SlCheckboxIdFactory } from './checkbox-defaults';\n\n/**\n * Help text under a box's label.\n *\n * It is a directive on the consumer's own element, so a `p`, a `span` or an\n * `inline-message` all work and none of them loses its own semantics. It\n * carries an identifier the box points `aria-describedby` at, which is what\n * makes the sentence a description rather than part of the name — and it is\n * projected outside the `label` for the same reason.\n */\n@Directive({\n selector: '[slCheckboxDescription]',\n standalone: true,\n exportAs: 'slCheckboxDescription',\n host: {\n 'data-part': 'description',\n 'data-part-description': '',\n '[attr.id]': 'id',\n },\n})\nexport class SlCheckboxDescription {\n readonly id = `${inject(SlCheckboxIdFactory).next()}-description`;\n}\n","import { createControllable } from '@slotted/core/state';\nimport type { ChangeRequest } from '@slotted/core/state';\nimport {\n afterNextRender,\n booleanAttribute,\n ChangeDetectionStrategy,\n Component,\n computed,\n contentChild,\n effect,\n DestroyRef,\n ElementRef,\n forwardRef,\n HostAttributeToken,\n inject,\n input,\n output,\n signal,\n viewChild,\n ViewEncapsulation,\n} from '@angular/core';\nimport type { OnInit } from '@angular/core';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\nimport type { ControlValueAccessor } from '@angular/forms';\nimport { SlGlyph, SlIcon } from '@slotted/angular/icon';\nimport { SlCheckboxGroup } from '@slotted/angular/checkbox-group';\nimport { SlField } from '@slotted/angular/field';\nimport { SlFieldGroup } from '@slotted/angular/field-group';\n\nimport { injectCheckboxDefaults, SlCheckboxIdFactory } from './checkbox-defaults';\nimport type { CheckboxLabelPlacement, CheckboxSize, CheckboxVariant } from './checkbox-defaults';\nimport { SlCheckboxDescription } from './checkbox-parts';\n\nexport type {\n CheckboxDefaults,\n CheckboxLabelPlacement,\n CheckboxSize,\n CheckboxVariant,\n} from './checkbox-defaults';\n\n/** Why the box moved. A checkbox can produce exactly these two. */\nexport type CheckboxCheckedReason = 'pointer' | 'keyboard';\n\n/**\n * A click synthesised by the keyboard reports no detail; a real one reports the\n * click count. It is the rule every activating family in this library writes,\n * and it is why `Space` and a pointer are told apart without a key listener.\n */\nfunction activationReason(event: Event): CheckboxCheckedReason {\n return event instanceof MouseEvent && event.detail === 0 ? 'keyboard' : 'pointer';\n}\n\n/**\n * One choice, ticked or not.\n *\n * **The control is the platform's.** The element holding the value is a native\n * `input[type=checkbox]`, so `Space`, the form, `name`, `value`, `form.reset()`\n * and every native attribute arrive without a listener of this family's own.\n * The host element is the root, and it carries no role.\n *\n * **The mark is a sibling, not a pseudo-element.** Firefox renders neither\n * `::before` nor `::after` on an `input`, so the glyph is drawn in an element\n * beside the control. It is the dash while indeterminate — mixed outranks the\n * check — and the stylesheet only reveals it on `:checked` or `:indeterminate`.\n *\n * **Angular pays one element for the root, and React pays none.** React can\n * render a wrapper from inside a component; an Angular component's host *is*\n * the wrapper, so `<div slCheckbox>` is the root and the control lives in its\n * template.\n *\n * **Unset means ask the group, then the field.** `disabled`, `readOnly` and\n * `invalid` default to `undefined` rather than `false`, which is what makes\n * \"not disabled\" and \"said nothing\" different answers.\n */\n/** A label with content, all of it hidden text: nothing a sighted reader sees. */\nfunction showsNothing(label: HTMLElement): boolean {\n if (label.childNodes.length === 0) return false;\n return [...label.childNodes].every((node) =>\n node.nodeType === Node.TEXT_NODE || node.nodeType === Node.COMMENT_NODE\n ? node.nodeType === Node.COMMENT_NODE || (node.textContent ?? '').trim() === ''\n : node instanceof Element && node.getAttribute('data-ui') === 'visually-hidden',\n );\n}\n\n@Component({\n selector: '[slCheckbox]',\n standalone: true,\n exportAs: 'slCheckbox',\n imports: [SlGlyph, SlIcon],\n template: `<input\n #control\n data-part=\"control\"\n data-part-control=\"\"\n type=\"checkbox\"\n [attr.id]=\"controlId\"\n [attr.name]=\"resolvedName()\"\n [attr.value]=\"value()\"\n [attr.aria-describedby]=\"describedBy()\"\n [attr.aria-invalid]=\"ariaInvalid()\"\n [attr.aria-readonly]=\"ariaReadOnly()\"\n [attr.aria-required]=\"ariaRequired()\"\n [attr.tabindex]=\"tabIndex() ?? null\"\n [attr.disabled]=\"disabledAttribute()\"\n [attr.required]=\"requiredAttribute()\"\n [checked]=\"resolvedChecked()\"\n [attr.checked]=\"defaultAttribute()\"\n (click)=\"onClick($event)\"\n (blur)=\"onBlur()\"\n />\n <span data-part=\"indicator\" data-part-indicator=\"\"\n ><span slIcon><svg slGlyph [name]=\"resolvedIndeterminate() ? 'minus' : 'check'\"></svg></span\n ></span>\n <label #label data-part=\"label\" data-part-label=\"\" [attr.for]=\"controlId\"><ng-content /></label>\n <ng-content select=\"[slCheckboxDescription]\" />`,\n styleUrl: '../../../styles/src/checkbox/checkbox.css',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n providers: [\n { provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => SlCheckbox), multi: true },\n ],\n host: {\n 'data-ui': 'checkbox',\n 'data-ui-checkbox': '',\n 'data-part': 'root',\n 'data-part-root': '',\n '[attr.data-size]': 'resolvedSize()',\n '[attr.data-label-placement]': 'resolvedLabelPlacement()',\n '[attr.data-variant]': 'resolvedVariant()',\n '[attr.data-checked]': \"resolvedChecked() ? '' : null\",\n '[attr.data-indeterminate]': \"resolvedIndeterminate() ? '' : null\",\n '[attr.data-disabled]': \"resolvedDisabled() === true ? '' : null\",\n '[attr.data-invalid]': \"resolvedInvalid() === true ? '' : null\",\n '[attr.data-readonly]': \"resolvedReadOnly() === true ? '' : null\",\n '[attr.data-label-hidden]': \"labelHidden() ? '' : null\",\n },\n})\nexport class SlCheckbox implements ControlValueAccessor, OnInit {\n /** Present means the consumer owns the state. */\n readonly checked = input<boolean | undefined, boolean | string | undefined>(undefined, {\n transform: (value) => (value === undefined ? undefined : booleanAttribute(value)),\n });\n /** Whether the box starts ticked, when the control is uncontrolled. */\n readonly defaultChecked = input(false, { transform: booleanAttribute });\n /**\n * The mixed state. It is a state and never a third value of `checked`: the\n * submitted value stays boolean, and the platform agrees — `indeterminate` is\n * an IDL property that leaves `checked` alone.\n */\n readonly indeterminate = input(false, { transform: booleanAttribute });\n /**\n * Commands the whole set its group was given in `allValues`. Outside such a\n * group it does nothing, because there is no set to command.\n */\n readonly parent = input(false, { transform: booleanAttribute });\n /** What this box selects inside a group, and what it submits in a form. */\n readonly value = input<string | undefined>(undefined);\n readonly name = input<string | undefined>(undefined);\n /**\n * The input's `tabindex`. A composite widget that owns the tab sequence — a\n * grid row's selection box — writes -1 until its cell is current; unset\n * leaves the native order.\n */\n readonly tabIndex = input<number | undefined>(undefined);\n readonly size = input<CheckboxSize | undefined>(undefined);\n readonly labelPlacement = input<CheckboxLabelPlacement | undefined>(undefined);\n readonly variant = input<CheckboxVariant | undefined>(undefined);\n /** Unstated rather than `false`, so the box defers to its group or field. */\n readonly disabled = input<boolean | undefined, boolean | string | undefined>(undefined, {\n transform: (value) => (value === undefined ? undefined : booleanAttribute(value)),\n });\n readonly readOnly = input<boolean | undefined, boolean | string | undefined>(undefined, {\n transform: (value) => (value === undefined ? undefined : booleanAttribute(value)),\n });\n readonly invalid = input<boolean | undefined, boolean | string | undefined>(undefined, {\n transform: (value) => (value === undefined ? undefined : booleanAttribute(value)),\n });\n\n /**\n * One output for one transition, carrying the new state, the state it\n * replaces, the reason, the originating event and `cancel()`. There is no\n * `[(checked)]`, because a two-way binding has one slot and can carry none of\n * those; a form gets the same movement through `ControlValueAccessor`.\n */\n readonly checkedChange = output<ChangeRequest<boolean>>();\n\n private readonly group = inject(SlCheckboxGroup, { optional: true });\n private readonly field = inject(SlField, { optional: true });\n private readonly fieldGroup = inject(SlFieldGroup, { optional: true });\n private readonly defaults = injectCheckboxDefaults();\n private readonly writtenId = inject(new HostAttributeToken('id'), { optional: true });\n private readonly writtenDescribedBy = inject(new HostAttributeToken('aria-describedby'), {\n optional: true,\n });\n private readonly writtenRequired = inject(new HostAttributeToken('required'), {\n optional: true,\n });\n\n private readonly element = viewChild.required<ElementRef<HTMLInputElement>>('control');\n private readonly label = viewChild.required<ElementRef<HTMLLabelElement>>('label');\n /**\n * Whether the label shows nothing: its only content is hidden text, the name\n * a table row or a data list gives a bare box. Read from the projected DOM,\n * and read again when it changes.\n */\n protected readonly labelHidden = signal(false);\n private readonly description = contentChild(SlCheckboxDescription, { descendants: true });\n\n private readonly own = signal(false);\n private readonly formDisabled = signal<boolean | undefined>(undefined);\n /** Whether a form directive owns the value through `ControlValueAccessor`. */\n private readonly formBound = signal(false);\n private onChangeFn: (checked: boolean) => void = () => undefined;\n private onTouchedFn: () => void = () => undefined;\n\n /** The identifier the label points at. A consumer's own wins. */\n readonly controlId = this.writtenId ?? inject(SlCheckboxIdFactory).next();\n\n /**\n * Three ways a box can know whether it is ticked, decided by what is around\n * it rather than by a mode input: a parent reads the whole set, a member\n * reads whether the selection holds its own value, and a box on its own reads\n * the consumer's `checked` or the state it keeps.\n */\n private readonly isParent = computed(() => this.parent() && this.group !== null);\n private readonly memberValue = computed(() =>\n !this.isParent() && this.group !== null ? this.value() : undefined,\n );\n\n readonly resolvedChecked = computed(() => {\n const group = this.group;\n if (this.isParent() && group !== null) {\n const all = group.allValues() ?? [];\n return all.length > 0 && all.every((item) => group.holds(item));\n }\n const member = this.memberValue();\n if (member !== undefined && group !== null) return group.holds(member);\n return this.checked() ?? this.own();\n });\n\n readonly resolvedIndeterminate = computed(() => {\n const group = this.group;\n if (!this.isParent() || group === null) return this.indeterminate();\n const all = group.allValues() ?? [];\n return all.some((item) => group.holds(item)) && !this.resolvedChecked();\n });\n\n readonly resolvedSize = computed(\n () =>\n this.size() ??\n this.group?.resolvedSize() ??\n this.field?.resolvedSize() ??\n this.fieldGroup?.resolvedSize() ??\n this.defaults.size,\n );\n readonly resolvedLabelPlacement = computed(\n () =>\n this.labelPlacement() ?? this.group?.resolvedLabelPlacement() ?? this.defaults.labelPlacement,\n );\n /**\n * One step shorter than `size`: a box states it, else the group around it,\n * else the provider. It never comes from the field — a field decides how its\n * own row is laid out, and a framed choice is a decision about the choice.\n */\n readonly resolvedVariant = computed(\n () => this.variant() ?? this.group?.resolvedVariant() ?? this.defaults.variant,\n );\n readonly resolvedDisabled = computed(\n () =>\n this.disabled() ??\n this.formDisabled() ??\n this.group?.resolvedDisabled() ??\n this.field?.resolvedDisabled(),\n );\n readonly resolvedReadOnly = computed(\n () => this.readOnly() ?? this.group?.resolvedReadOnly() ?? this.field?.resolvedReadOnly(),\n );\n readonly resolvedInvalid = computed(\n () => this.invalid() ?? this.group?.resolvedInvalid() ?? this.field?.invalid(),\n );\n readonly resolvedRequired = computed(\n () => this.field?.required() ?? this.group?.resolvedRequired() ?? this.fieldGroup?.required(),\n );\n\n /**\n * Whether the box keeps its own state and starts it from `defaultChecked`:\n * nobody passed `checked`, no group holds it, and no form directive bound it.\n */\n private readonly ownsDefault = computed(\n () => this.checked() === undefined && this.group === null && !this.formBound(),\n );\n /**\n * The content attribute `checked`, which is what a native form reset puts\n * the element back to. A box that owns its state writes `defaultChecked`\n * there, the attribute React writes for the same prop. A box whose state\n * belongs to a consumer, a group or a form directive writes its current\n * state, so a native reset leaves the element showing what its owner holds.\n */\n protected readonly defaultAttribute = computed(() =>\n (this.ownsDefault() ? this.defaultChecked() : this.resolvedChecked()) ? '' : null,\n );\n\n protected readonly resolvedName = computed(() => this.name() ?? this.group?.name() ?? null);\n protected readonly describedBy = computed(() => {\n const merged = [\n this.writtenDescribedBy,\n this.description()?.id,\n this.group === null ? this.field?.describedBy() : undefined,\n ].filter(Boolean);\n return merged.length === 0 ? null : merged.join(' ');\n });\n protected readonly ariaInvalid = computed(() =>\n this.resolvedInvalid() === true ? 'true' : null,\n );\n protected readonly ariaReadOnly = computed(() =>\n this.resolvedReadOnly() === true ? 'true' : null,\n );\n protected readonly ariaRequired = computed(() =>\n this.resolvedRequired() === true ? 'true' : null,\n );\n protected readonly disabledAttribute = computed(() =>\n this.resolvedDisabled() === true ? '' : null,\n );\n /** The element's own attribute, passed through and never written by the family. */\n protected readonly requiredAttribute = computed(() => this.writtenRequired ?? null);\n\n constructor() {\n /**\n * `indeterminate` has no attribute; it is an IDL property, which is why\n * every implementation writes it from script and why the stylesheet reads\n * `:indeterminate` and stays in step with the element rather than with a\n * render.\n */\n effect(() => {\n this.element().nativeElement.indeterminate = this.resolvedIndeterminate();\n });\n\n const destroy = inject(DestroyRef);\n afterNextRender(() => {\n /* A native reset restores the element and tells nothing, so a box that\n owns its state puts it back to where it started. The form is reached\n through the element, because `form` may name a form anywhere. */\n const form = this.element().nativeElement.form;\n if (form !== null) {\n const onReset = () => {\n if (this.ownsDefault()) this.own.set(this.defaultChecked());\n };\n form.addEventListener('reset', onReset);\n destroy.onDestroy(() => form.removeEventListener('reset', onReset));\n }\n\n const label = this.label().nativeElement;\n const read = () => this.labelHidden.set(showsNothing(label));\n read();\n if (typeof MutationObserver === 'undefined') return;\n const watch = new MutationObserver(read);\n watch.observe(label, { childList: true, characterData: true, subtree: true });\n destroy.onDestroy(() => watch.disconnect());\n });\n }\n\n ngOnInit() {\n if (this.checked() === undefined && this.group === null) this.own.set(this.defaultChecked());\n }\n\n /** The native element, for `focus()` and `click()`. */\n get inputElement(): HTMLInputElement {\n return this.element().nativeElement;\n }\n\n writeValue(value: boolean | null | undefined) {\n this.own.set(value === true);\n }\n\n registerOnChange(fn: (checked: boolean) => void) {\n this.onChangeFn = fn;\n this.formBound.set(true);\n }\n\n registerOnTouched(fn: () => void) {\n this.onTouchedFn = fn;\n }\n\n setDisabledState(isDisabled: boolean) {\n this.formDisabled.set(isDisabled);\n }\n\n /**\n * One handler for the pointer and for `Space`, because the platform fires one\n * `click` for both — and refusing the default is the only way to refuse a\n * change a checkbox has no `readonly` to refuse.\n *\n * Nothing here writes the element. The HTML standard's canceled activation\n * behaviour for a checkbox is `checked = !checked` rather than a restore of a\n * saved value, so a family that corrected the element inside the listener\n * would have that correction toggled back out from under it. Refusing the\n * default and letting the platform undo its own pre-click toggle is both\n * shorter and the only version that is right: it was measured, in the first\n * run of this family's Angular spec, as a controlled box that stayed ticked\n * after its consumer had said no.\n */\n protected onClick(event: MouseEvent) {\n if (this.resolvedReadOnly() === true) {\n event.preventDefault();\n return;\n }\n\n const reason = activationReason(event);\n const next = !this.resolvedChecked();\n\n let cancelled = false;\n const state = createControllable<boolean>({\n controlled: this.checked() ?? (this.group === null ? undefined : this.resolvedChecked()),\n initial: this.resolvedChecked(),\n onRequest: (request) => {\n this.checkedChange.emit(request);\n cancelled = request.cancelled;\n },\n });\n const moved = state.request(next, reason, event);\n if (cancelled) {\n event.preventDefault();\n return;\n }\n\n if (this.isParent()) {\n if (this.group?.requestAll(next, reason, event) !== true) event.preventDefault();\n return;\n }\n\n const member = this.memberValue();\n if (member !== undefined) {\n if (this.group?.toggle(member, reason, event) !== true) event.preventDefault();\n return;\n }\n\n /* Controlled: the consumer owns the state and has been told. The element\n must not move on its own, so the activation is refused and the platform\n puts it back. */\n if (!moved) {\n event.preventDefault();\n return;\n }\n\n this.own.set(next);\n this.onChangeFn(next);\n }\n\n protected onBlur() {\n this.onTouchedFn();\n this.group?.markTouched();\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
@@ -290,26 +290,27 @@ class SlCodeBlock {
|
|
|
290
290
|
this.body().reveal(element);
|
|
291
291
|
}
|
|
292
292
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.7", ngImport: i0, type: SlCodeBlock, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
293
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.7", type: SlCodeBlock, isStandalone: true, selector: "[slCodeBlock]", inputs: { code: { classPropertyName: "code", publicName: "code", isSignal: true, isRequired: true, transformFunction: null }, language: { classPropertyName: "language", publicName: "language", isSignal: true, isRequired: false, transformFunction: null }, highlight: { classPropertyName: "highlight", publicName: "highlight", isSignal: true, isRequired: false, transformFunction: null }, tokens: { classPropertyName: "tokens", publicName: "tokens", isSignal: true, isRequired: false, transformFunction: null }, title: { classPropertyName: "title", publicName: "title", isSignal: true, isRequired: false, transformFunction: null }, fileName: { classPropertyName: "fileName", publicName: "fileName", isSignal: true, isRequired: false, transformFunction: null }, lineNumbers: { classPropertyName: "lineNumbers", publicName: "lineNumbers", isSignal: true, isRequired: false, transformFunction: null }, start: { classPropertyName: "start", publicName: "start", isSignal: true, isRequired: false, transformFunction: null }, marks: { classPropertyName: "marks", publicName: "marks", isSignal: true, isRequired: false, transformFunction: null }, wrap: { classPropertyName: "wrap", publicName: "wrap", isSignal: true, isRequired: false, transformFunction: null }, defaultWrap: { classPropertyName: "defaultWrap", publicName: "defaultWrap", isSignal: true, isRequired: false, transformFunction: null }, collapseAfter: { classPropertyName: "collapseAfter", publicName: "collapseAfter", isSignal: true, isRequired: false, transformFunction: null }, revealed: { classPropertyName: "revealed", publicName: "revealed", isSignal: true, isRequired: false, transformFunction: null }, defaultRevealed: { classPropertyName: "defaultRevealed", publicName: "defaultRevealed", isSignal: true, isRequired: false, transformFunction: null }, maxLines: { classPropertyName: "maxLines", publicName: "maxLines", isSignal: true, isRequired: false, transformFunction: null }, copy: { classPropertyName: "copy", publicName: "copy", isSignal: true, isRequired: false, transformFunction: null }, copyRemoved: { classPropertyName: "copyRemoved", publicName: "copyRemoved", isSignal: true, isRequired: false, transformFunction: null }, loading: { classPropertyName: "loading", publicName: "loading", isSignal: true, isRequired: false, transformFunction: null }, messages: { classPropertyName: "messages", publicName: "messages", isSignal: true, isRequired: false, transformFunction: null }, tabSize: { classPropertyName: "tabSize", publicName: "tabSize", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { wrap: "wrapChange", revealed: "revealedChange", wrapChangeRequest: "wrapChangeRequest", revealedChangeRequest: "revealedChangeRequest", copyRequest: "copyRequest", highlightError: "highlightError" }, host: { attributes: { "data-ui": "code-block", "data-part": "root" }, listeners: { "keydown": "onKeyDown($event)" }, properties: { "attr.data-language": "language()", "attr.data-wrap": "isWrapped() ? \"\" : null", "attr.data-revealed": "isRevealed() ? \"\" : null", "attr.data-collapse": "collapses() ? \"\" : null", "attr.data-line-numbers": "lineNumbersValue() ? \"\" : null", "attr.data-loading": "loading() ? \"\" : null", "attr.aria-busy": "loading() ? \"true\" : null", "attr.data-empty": "code() === \"\" ? \"\" : null", "attr.data-marks": "hasMarks() ? \"\" : null", "attr.data-overflow": "overflow() ? \"\" : null", "style.--slotted-code-block-digits": "digits()", "style.--slotted-code-block-collapse": "collapses() ? collapseAfter() : null", "style.--slotted-code-block-max-lines": "maxLines() ?? null" } }, queries: [{ propertyName: "lineTemplate", first: true, predicate: SlCodeBlockLine, descendants: true, isSignal: true }, { propertyName: "action", first: true, predicate: SlCodeBlockAction, descendants: true, isSignal: true }], viewQueries: [{ propertyName: "body", first: true, predicate: ["body"], descendants: true, isSignal: true }], exportAs: ["slCodeBlock"], ngImport: i0, template: `
|
|
293
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.7", type: SlCodeBlock, isStandalone: true, selector: "[slCodeBlock]", inputs: { code: { classPropertyName: "code", publicName: "code", isSignal: true, isRequired: true, transformFunction: null }, language: { classPropertyName: "language", publicName: "language", isSignal: true, isRequired: false, transformFunction: null }, highlight: { classPropertyName: "highlight", publicName: "highlight", isSignal: true, isRequired: false, transformFunction: null }, tokens: { classPropertyName: "tokens", publicName: "tokens", isSignal: true, isRequired: false, transformFunction: null }, title: { classPropertyName: "title", publicName: "title", isSignal: true, isRequired: false, transformFunction: null }, fileName: { classPropertyName: "fileName", publicName: "fileName", isSignal: true, isRequired: false, transformFunction: null }, lineNumbers: { classPropertyName: "lineNumbers", publicName: "lineNumbers", isSignal: true, isRequired: false, transformFunction: null }, start: { classPropertyName: "start", publicName: "start", isSignal: true, isRequired: false, transformFunction: null }, marks: { classPropertyName: "marks", publicName: "marks", isSignal: true, isRequired: false, transformFunction: null }, wrap: { classPropertyName: "wrap", publicName: "wrap", isSignal: true, isRequired: false, transformFunction: null }, defaultWrap: { classPropertyName: "defaultWrap", publicName: "defaultWrap", isSignal: true, isRequired: false, transformFunction: null }, collapseAfter: { classPropertyName: "collapseAfter", publicName: "collapseAfter", isSignal: true, isRequired: false, transformFunction: null }, revealed: { classPropertyName: "revealed", publicName: "revealed", isSignal: true, isRequired: false, transformFunction: null }, defaultRevealed: { classPropertyName: "defaultRevealed", publicName: "defaultRevealed", isSignal: true, isRequired: false, transformFunction: null }, maxLines: { classPropertyName: "maxLines", publicName: "maxLines", isSignal: true, isRequired: false, transformFunction: null }, copy: { classPropertyName: "copy", publicName: "copy", isSignal: true, isRequired: false, transformFunction: null }, copyRemoved: { classPropertyName: "copyRemoved", publicName: "copyRemoved", isSignal: true, isRequired: false, transformFunction: null }, loading: { classPropertyName: "loading", publicName: "loading", isSignal: true, isRequired: false, transformFunction: null }, messages: { classPropertyName: "messages", publicName: "messages", isSignal: true, isRequired: false, transformFunction: null }, tabSize: { classPropertyName: "tabSize", publicName: "tabSize", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { wrap: "wrapChange", revealed: "revealedChange", wrapChangeRequest: "wrapChangeRequest", revealedChangeRequest: "revealedChangeRequest", copyRequest: "copyRequest", highlightError: "highlightError" }, host: { attributes: { "data-ui": "code-block", "data-ui-code-block": "", "data-part": "root", "data-part-root": "" }, listeners: { "keydown": "onKeyDown($event)" }, properties: { "attr.data-language": "language()", "attr.data-wrap": "isWrapped() ? \"\" : null", "attr.data-revealed": "isRevealed() ? \"\" : null", "attr.data-collapse": "collapses() ? \"\" : null", "attr.data-line-numbers": "lineNumbersValue() ? \"\" : null", "attr.data-loading": "loading() ? \"\" : null", "attr.aria-busy": "loading() ? \"true\" : null", "attr.data-empty": "code() === \"\" ? \"\" : null", "attr.data-marks": "hasMarks() ? \"\" : null", "attr.data-overflow": "overflow() ? \"\" : null", "style.--slotted-code-block-digits": "digits()", "style.--slotted-code-block-collapse": "collapses() ? collapseAfter() : null", "style.--slotted-code-block-max-lines": "maxLines() ?? null" } }, queries: [{ propertyName: "lineTemplate", first: true, predicate: SlCodeBlockLine, descendants: true, isSignal: true }, { propertyName: "action", first: true, predicate: SlCodeBlockAction, descendants: true, isSignal: true }], viewQueries: [{ propertyName: "body", first: true, predicate: ["body"], descendants: true, isSignal: true }], exportAs: ["slCodeBlock"], ngImport: i0, template: `
|
|
294
294
|
@if (hasHeader()) {
|
|
295
|
-
<div data-part="header">
|
|
295
|
+
<div data-part="header" data-part-header="">
|
|
296
296
|
@if (icon(); as glyph) {
|
|
297
|
-
<span aria-hidden="true" data-part="icon"
|
|
297
|
+
<span aria-hidden="true" data-part="icon" data-part-icon=""
|
|
298
298
|
><span slIcon><svg slGlyph [name]="glyph"></svg></span
|
|
299
299
|
></span>
|
|
300
300
|
}
|
|
301
301
|
@if (title(); as words) {
|
|
302
|
-
<span data-part="title" [id]="id + '-title'">{{ words }}</span>
|
|
302
|
+
<span data-part="title" data-part-title="" [id]="id + '-title'">{{ words }}</span>
|
|
303
303
|
}
|
|
304
304
|
@if (language() !== 'text') {
|
|
305
|
-
<span data-part="language">{{ language() }}</span>
|
|
305
|
+
<span data-part="language" data-part-language="">{{ language() }}</span>
|
|
306
306
|
}
|
|
307
307
|
@if (!loading()) {
|
|
308
|
-
<div data-part="actions">
|
|
308
|
+
<div data-part="actions" data-part-actions="">
|
|
309
309
|
<ng-content select="[slCodeBlockAction]"></ng-content>
|
|
310
310
|
@if (overflow() || isWrapped()) {
|
|
311
311
|
<button
|
|
312
312
|
data-part="wrap"
|
|
313
|
+
data-part-wrap=""
|
|
313
314
|
type="button"
|
|
314
315
|
[attr.aria-label]="t(isWrapped() ? 'unwrap' : 'wrap')"
|
|
315
316
|
[attr.aria-pressed]="isWrapped()"
|
|
@@ -323,6 +324,7 @@ class SlCodeBlock {
|
|
|
323
324
|
@if (copyControl()) {
|
|
324
325
|
<button
|
|
325
326
|
data-part="copy"
|
|
327
|
+
data-part-copy=""
|
|
326
328
|
type="button"
|
|
327
329
|
[attr.aria-label]="t('copy')"
|
|
328
330
|
[attr.data-complete]="copied() ? '' : null"
|
|
@@ -341,6 +343,8 @@ class SlCodeBlock {
|
|
|
341
343
|
#body
|
|
342
344
|
slScrollArea
|
|
343
345
|
data-part="body"
|
|
346
|
+
data-part-body=""
|
|
347
|
+
[attr.data-part-root]="null"
|
|
344
348
|
[axis]="maxLines() === undefined ? 'inline' : 'both'"
|
|
345
349
|
fade="both"
|
|
346
350
|
gutter="auto"
|
|
@@ -352,12 +356,14 @@ class SlCodeBlock {
|
|
|
352
356
|
<div slScrollAreaContent>
|
|
353
357
|
<pre
|
|
354
358
|
data-part="pre"
|
|
355
|
-
|
|
359
|
+
data-part-pre=""
|
|
360
|
+
><code data-part="code" data-part-code="" [class]="'language-' + language()">@if (loading()) {@for (width of skeletonWidths; track $index) {<span slSkeleton shape="text" aria-hidden="true" [style.inline-size]="width + '%'"></span>}} @else {@for (line of rows(); track $index) {<span data-part="line" data-part-line="" [attr.data-line]="line.number" [attr.data-mark]="line.mark ?? null" [attr.data-dim]="line.dim ? '' : null" [style.--slotted-code-block-indent]="line.indent > 0 ? line.indent : null"><span aria-hidden="true" data-part="number" data-part-number="">@if (lineNumbersValue()) {{{ line.number }}}</span><span aria-hidden="true" data-part="marker" data-part-marker=""></span><span data-part="text" data-part-text="">@if (lineTemplate(); as custom) {<ng-container [ngTemplateOutlet]="custom.template" [ngTemplateOutletContext]="{ $implicit: line.tokens, number: line.number, mark: line.mark, dim: line.dim }" />} @else {@for (token of line.tokens; track $index) {@if (token.scope) {<span data-part="token" data-part-token="" [attr.data-token]="token.scope">{{ token.text }}</span>} @else {{{ token.text }}}}}</span></span>}}</code></pre>
|
|
356
361
|
</div>
|
|
357
362
|
</div>
|
|
358
363
|
@if (collapses()) {
|
|
359
364
|
<button
|
|
360
365
|
data-part="reveal"
|
|
366
|
+
data-part-reveal=""
|
|
361
367
|
type="button"
|
|
362
368
|
[attr.aria-controls]="id + '-body'"
|
|
363
369
|
[attr.aria-expanded]="isRevealed()"
|
|
@@ -367,30 +373,31 @@ class SlCodeBlock {
|
|
|
367
373
|
{{ isRevealed() ? t('collapse') : t('reveal', { count: hiddenCount() }) }}
|
|
368
374
|
</button>
|
|
369
375
|
}
|
|
370
|
-
`, isInline: true, styles: ["@layer slotted.components{[data-ui=code-block]{--_ground: var(--slotted-code-block-surface, var(--slotted-surface-sunken, Canvas));--_edge: var(--slotted-code-block-border-color, var(--slotted-border-subtle, GrayText));--_ink: var(--slotted-code-block-color, var(--slotted-text, CanvasText));--_muted: var(--slotted-code-block-color-muted, var(--slotted-text-muted, GrayText));--_radius: var(--slotted-code-block-radius, var(--slotted-radius-md, 6px));--_inset-block: var(--slotted-code-block-inset-block, var(--slotted-space-5, .75rem));--_inset-inline: var(--slotted-code-block-inset-inline, var(--slotted-space-6, 1rem));--_font-size: var(--slotted-code-block-font-size, var(--slotted-font-size-sm, .8125rem));--_line-height: var(--slotted-code-block-line-height, var(--slotted-line-height-md, 1.5));--_line: calc(var(--_font-size) * var(--_line-height));--_icon: var(--slotted-control-icon-size-md, 16px);--_hit: calc((var(--slotted-target-min, 24px) - var(--_icon)) / 2);--_duration: var(--slotted-control-transition-duration, var(--slotted-duration-short));--_easing: var(--slotted-control-transition-easing, var(--slotted-easing-standard));--_digits: var(--slotted-code-block-digits, 1);--_gutter: calc(var(--_digits) * 1ch + var(--slotted-space-4, .5rem) * 2);--_tint: var(--slotted-highlight-tint-opacity, .075);background-color:var(--_ground);border:var(--slotted-border-width-thin, 1px) solid var(--_edge);border-radius:var(--_radius);box-sizing:border-box;color:var(--_ink);display:grid;font-family:var(--slotted-code-block-font-family, var(--slotted-font-family-mono, monospace));font-size:var(--_font-size);grid-template-rows:auto minmax(0,1fr) auto;line-height:var(--_line-height);min-inline-size:0;position:relative}[data-ui=code-block]>[data-part=header]{align-items:center;border-block-end:var(--slotted-border-width-thin, 1px) solid var(--_edge);display:flex;font-family:var(--slotted-font-family-sans, inherit);font-size:var(--slotted-font-size-sm, .8125rem);gap:var(--slotted-control-gap-sm, 6px);min-inline-size:0;padding-block:var(--slotted-space-3, .375rem);padding-inline:var(--_inset-inline) var(--slotted-space-4, .5rem)}[data-ui=code-block]>[data-part=header]>[data-part=icon]{--slotted-icon-size: var(--_icon);block-size:var(--_icon);color:var(--_muted);display:flex;flex:none;inline-size:var(--_icon)}[data-ui=code-block]>[data-part=header]>[data-part=title]{font-family:var(--slotted-code-block-font-family, var(--slotted-font-family-mono, monospace));min-inline-size:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}[data-ui=code-block]>[data-part=header]>[data-part=language]{color:var(--_muted);font-size:var(--slotted-font-size-xs, .75rem);letter-spacing:.02em;margin-inline-start:auto;text-transform:uppercase}[data-ui=code-block]>[data-part=header]>[data-part=title]+[data-part=language],[data-ui=code-block]>[data-part=header]>[data-part=icon]+[data-part=language]{margin-inline-start:auto}[data-ui=code-block]>[data-part=header]>[data-part=actions]{align-items:center;display:flex;gap:var(--slotted-space-1, .125rem);margin-inline-start:auto}[data-ui=code-block]>[data-part=header]>[data-part=language]+[data-part=actions]{margin-inline-start:var(--slotted-space-3, .375rem)}[data-ui=code-block]>[data-part=actions]{align-items:center;background-color:var(--_ground);border-radius:var(--slotted-control-radius, 4px);display:flex;gap:var(--slotted-space-1, .125rem);inset-block-start:var(--slotted-space-2, .25rem);inset-inline-end:var(--slotted-space-2, .25rem);position:absolute;z-index:1}[data-ui=code-block] :is([data-part=copy],[data-part=wrap]){--slotted-icon-size: var(--_icon);align-items:center;appearance:none;background:none;block-size:var(--slotted-target-min, 24px);border:0;border-radius:var(--slotted-control-radius, var(--slotted-radius-sm, 4px));color:var(--_muted);cursor:pointer;display:inline-flex;font:inherit;inline-size:var(--slotted-target-min, 24px);justify-content:center;padding:var(--_hit);transition:color var(--_duration) var(--_easing),background-color var(--_duration) var(--_easing)}@media(pointer:coarse){[data-ui=code-block] :is([data-part=copy],[data-part=wrap]){position:relative}[data-ui=code-block] :is([data-part=copy],[data-part=wrap]):before{content:\"\";inset:min(0px,calc((100% - var(--slotted-target-comfortable, 44px)) / 2));position:absolute}[data-ui=code-block] [data-part=wrap]:has(+[data-part=copy]):before{inset-inline-end:0}[data-ui=code-block] [data-part=wrap]+[data-part=copy]:before{inset-inline-start:0}}[data-ui=code-block] :is([data-part=copy],[data-part=wrap]):enabled:not([data-complete]):hover{background-color:var(--slotted-tone-secondary-subtle-hover, ButtonFace);color:var(--_ink)}[data-ui=code-block] :is([data-part=copy],[data-part=wrap]):enabled:not([data-complete]):active{background-color:var(--slotted-tone-secondary-subtle-active, ButtonFace)}[data-ui=code-block] [data-part=wrap][data-pressed]{background-color:var(--slotted-tone-accent-surface, Canvas);color:var(--slotted-tone-accent-text, CanvasText)}[data-ui=code-block] [data-part=copy][data-complete]{color:var(--slotted-tone-success-text, CanvasText)}[data-ui=code-block] :is([data-part=copy],[data-part=wrap],[data-part=reveal]):focus-visible{outline:var(--slotted-focus-ring-width, 2px) solid var(--slotted-focus-ring-color, Highlight);outline-offset:var(--slotted-focus-ring-offset, 2px)}[data-ui=code-block]>[data-part=body]{border-radius:0 0 var(--_radius) var(--_radius);min-inline-size:0}[data-ui=code-block]>[data-part=body]:first-child{border-radius:var(--_radius)}[data-ui=code-block]>[data-part=body][data-max-lines]>[data-part=viewport]{max-block-size:calc(var(--slotted-code-block-max-lines) * var(--_line) + var(--_inset-block) * 2)}[data-ui=code-block]>[data-part=body]>[data-part=viewport]:focus-visible{outline:var(--slotted-focus-ring-width, 2px) solid var(--slotted-focus-ring-color, Highlight);outline-offset:calc(var(--slotted-focus-ring-offset, 2px) * -1)}[data-ui=code-block] [data-part=pre]{direction:ltr;font:inherit;margin:0;min-inline-size:max-content;padding-block:var(--_inset-block);tab-size:var(--slotted-code-block-tab-size, 2);white-space:pre}[data-ui=code-block][data-wrap] [data-part=pre]{min-inline-size:0;overflow-wrap:anywhere;white-space:pre-wrap}[data-ui=code-block] [data-part=code]{display:grid;font:inherit;grid-template-columns:minmax(0,1fr)}[data-ui=code-block] [data-part=line]{--_indent: calc(var(--slotted-code-block-indent, 0) * 1ch);box-sizing:border-box;display:grid;grid-template-columns:var(--_number, 0px) var(--_marker, 0px) minmax(0,1fr);min-block-size:var(--_line);padding-inline:var(--_inset-inline);position:relative}[data-ui=code-block][data-line-numbers] [data-part=line]{--_number: var(--_gutter);padding-inline-start:0}[data-ui=code-block]:not([data-line-numbers]) [data-part=number]{display:none}[data-ui=code-block][data-marks] [data-part=line]{--_marker: var(--slotted-space-6, 1rem)}[data-ui=code-block] [data-part=number]{color:var(--_muted);font-variant-numeric:tabular-nums;grid-column:1;padding-inline-end:var(--slotted-space-4, .5rem);text-align:end;-webkit-user-select:none;user-select:none}[data-ui=code-block] [data-part=marker]{grid-column:2;text-align:center;-webkit-user-select:none;user-select:none}[data-ui=code-block] [data-part=line]>[data-part=token],[data-ui=code-block] [data-part=line]>[data-part=text]{grid-column:3}[data-ui=code-block] [data-part=line]>[data-part=text]{display:block;min-inline-size:0}[data-ui=code-block][data-wrap] [data-part=line]>[data-part=text]{padding-inline-start:var(--_indent);text-indent:calc(var(--_indent) * -1)}[data-ui=code-block] [data-token=comment]{color:var(--slotted-code-comment, var(--slotted-text-muted, GrayText));font-style:italic}[data-ui=code-block] [data-token=keyword]{color:var(--slotted-code-keyword, var(--slotted-text, CanvasText))}[data-ui=code-block] [data-token=string]{color:var(--slotted-code-string, var(--slotted-text, CanvasText))}[data-ui=code-block] [data-token=number]{color:var(--slotted-code-number, var(--slotted-text, CanvasText))}[data-ui=code-block] [data-token=function]{color:var(--slotted-code-function, var(--slotted-text, CanvasText))}[data-ui=code-block] [data-token=type]{color:var(--slotted-code-type, var(--slotted-text, CanvasText))}[data-ui=code-block] [data-token=variable]{color:var(--slotted-code-variable, var(--slotted-text, CanvasText))}[data-ui=code-block] [data-token=property]{color:var(--slotted-code-property, var(--slotted-text, CanvasText))}[data-ui=code-block] [data-token=punctuation]{color:var(--slotted-code-punctuation, var(--slotted-text, CanvasText))}[data-ui=code-block] [data-token=tag]{color:var(--slotted-code-tag, var(--slotted-text, CanvasText))}[data-ui=code-block] [data-token=attribute]{color:var(--slotted-code-attribute, var(--slotted-text, CanvasText))}[data-ui=code-block] [data-token=constant]{color:var(--slotted-code-constant, var(--slotted-text, CanvasText))}[data-ui=code-block] [data-part=line][data-mark]{--_tone: var(--slotted-tone-accent-text, CanvasText);background-color:color-mix(in srgb,var(--_tone) calc(var(--_tint) * 100%),transparent)}[data-ui=code-block] [data-part=line]:is([data-mark=highlight],[data-mark=error],[data-mark=warning]):before{background-color:var(--_tone);content:\"\";inline-size:var(--slotted-border-width-thick, 2px);inset-block:0;inset-inline-start:0;position:absolute}[data-ui=code-block] [data-part=line][data-mark=add]{--_tone: var(--slotted-tone-success-text, CanvasText)}[data-ui=code-block] [data-part=line][data-mark=remove],[data-ui=code-block] [data-part=line][data-mark=error]{--_tone: var(--slotted-tone-danger-text, CanvasText)}[data-ui=code-block] [data-part=line][data-mark=warning]{--_tone: var(--slotted-tone-warning-text, CanvasText)}[data-ui=code-block] [data-part=line][data-mark=add]>[data-part=marker]:before{color:var(--_tone);content:\"+\"}[data-ui=code-block] [data-part=line][data-mark=remove]>[data-part=marker]:before{color:var(--_tone);content:\"\\2212\"}[data-ui=code-block] [data-part=line][data-mark=remove]>[data-part=text]{opacity:.72}[data-ui=code-block] [data-part=line][data-dim]{color:var(--_muted);filter:blur(1px);transition:filter var(--slotted-duration-medium) var(--slotted-easing-standard),color var(--slotted-duration-medium) var(--slotted-easing-standard)}[data-ui=code-block] [data-part=line][data-dim] [data-part=token]{color:inherit}[data-ui=code-block]:not([data-loading]):is(:hover,:focus-within) [data-part=line][data-dim]{color:var(--_ink);filter:none}[data-ui=code-block]:not([data-loading]):is(:hover,:focus-within) [data-part=line][data-dim] [data-part=token]{color:revert-layer}[data-ui=code-block][data-collapse]:not([data-revealed])>[data-part=body]>[data-part=viewport]{--_visible: calc(var(--slotted-code-block-collapse) * var(--_line) + var(--_inset-block));-webkit-mask-image:linear-gradient(to bottom,#000 calc(var(--_visible) - var(--_line)),transparent var(--_visible));mask-image:linear-gradient(to bottom,#000 calc(var(--_visible) - var(--_line)),transparent var(--_visible));max-block-size:var(--_visible);overflow-y:hidden}[data-ui=code-block]>[data-part=reveal]{appearance:none;background:none;border:0;border-block-start:var(--slotted-border-width-thin, 1px) solid var(--_edge);color:var(--slotted-tone-accent-text, LinkText);cursor:pointer;font-family:var(--slotted-font-family-sans, inherit);font-size:var(--slotted-font-size-sm, .8125rem);font-weight:var(--slotted-font-weight-medium, 500);min-block-size:var(--slotted-control-height-sm, 30px);padding-block:0;padding-inline:var(--_inset-inline);text-align:start;transition:background-color var(--_duration) var(--_easing)}[data-ui=code-block]>[data-part=reveal]:focus-visible{border-end-end-radius:var(--_radius);border-end-start-radius:var(--_radius);outline-offset:calc(var(--slotted-focus-ring-offset, 2px) * -1)}[data-ui=code-block]>[data-part=reveal]:enabled:hover{background-color:var(--slotted-tone-accent-subtle-hover, ButtonFace)}[data-ui=code-block]>[data-part=reveal]:enabled:active{background-color:var(--slotted-tone-accent-subtle-active, ButtonFace)}[data-ui=code-block][data-loading] [data-part=code]{gap:var(--slotted-space-3, .375rem);padding-inline:var(--_inset-inline)}[data-ui=code-block][data-loading] [data-part=code]>[data-ui=skeleton]{block-size:var(--_font-size)}@media(prefers-reduced-motion:reduce){[data-ui=code-block] [data-part=line][data-dim]{filter:none}}@media(forced-colors:active){[data-ui=code-block] [data-part=line][data-mark]{background-color:transparent}[data-ui=code-block] [data-part=line][data-dim]{color:inherit;filter:none}}@media print{[data-ui=code-block] [data-part=pre]{min-inline-size:0;overflow-wrap:anywhere;white-space:pre-wrap}[data-ui=code-block][data-collapse]>[data-part=body]>[data-part=viewport]{-webkit-mask-image:none;mask-image:none;max-block-size:none}[data-ui=code-block]>[data-part=reveal],[data-ui=code-block] [data-part=wrap]{display:none}}}\n"], 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: SlScrollArea, selector: "[slScrollArea]", inputs: ["axis", "scrollbars", "gutter", "fade", "overscroll", "maxBlockSize", "maxInlineSize", "tabbable", "labelledBy", "messages"], outputs: ["scrollChange", "overflowChange"], exportAs: ["slScrollArea"] }, { kind: "directive", type: SlScrollAreaContent, selector: "[slScrollAreaContent]", exportAs: ["slScrollAreaContent"] }, { kind: "component", type: SlSkeleton, selector: "[slSkeleton]", inputs: ["shape", "size", "animation", "loading", "inlineSize", "blockSize"], exportAs: ["slSkeleton"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
376
|
+
`, isInline: true, styles: ["@layer slotted.components{[data-ui-code-block]{--_ground: var(--slotted-code-block-surface, var(--slotted-surface-sunken, Canvas));--_edge: var(--slotted-code-block-border-color, var(--slotted-border-subtle, GrayText));--_ink: var(--slotted-code-block-color, var(--slotted-text, CanvasText));--_muted: var(--slotted-code-block-color-muted, var(--slotted-text-muted, GrayText));--_radius: var(--slotted-code-block-radius, var(--slotted-radius-md, 6px));--_inset-block: var(--slotted-code-block-inset-block, var(--slotted-space-5, .75rem));--_inset-inline: var(--slotted-code-block-inset-inline, var(--slotted-space-6, 1rem));--_font-size: var(--slotted-code-block-font-size, var(--slotted-font-size-sm, .8125rem));--_line-height: var(--slotted-code-block-line-height, var(--slotted-line-height-md, 1.5));--_line: calc(var(--_font-size) * var(--_line-height));--_icon: var(--slotted-control-icon-size-md, 16px);--_hit: calc((var(--slotted-target-min, 24px) - var(--_icon)) / 2);--_duration: var(--slotted-control-transition-duration, var(--slotted-duration-short));--_easing: var(--slotted-control-transition-easing, var(--slotted-easing-standard));--_digits: var(--slotted-code-block-digits, 1);--_gutter: calc(var(--_digits) * 1ch + var(--slotted-space-4, .5rem) * 2);--_tint: var(--slotted-highlight-tint-opacity, .075);background-color:var(--_ground);border:var(--slotted-border-width-thin, 1px) solid var(--_edge);border-radius:var(--_radius);box-sizing:border-box;color:var(--_ink);display:grid;font-family:var(--slotted-code-block-font-family, var(--slotted-font-family-mono, monospace));font-size:var(--_font-size);grid-template-rows:auto minmax(0,1fr) auto;line-height:var(--_line-height);min-inline-size:0;position:relative}[data-ui-code-block]>[data-part-header]{align-items:center;border-block-end:var(--slotted-border-width-thin, 1px) solid var(--_edge);display:flex;font-family:var(--slotted-font-family-sans, inherit);font-size:var(--slotted-font-size-sm, .8125rem);gap:var(--slotted-control-gap-sm, 6px);min-inline-size:0;padding-block:var(--slotted-space-3, .375rem);padding-inline:var(--_inset-inline) var(--slotted-space-4, .5rem)}[data-ui-code-block]>[data-part-header]>[data-part-icon]{--slotted-icon-size: var(--_icon);block-size:var(--_icon);color:var(--_muted);display:flex;flex:none;inline-size:var(--_icon)}[data-ui-code-block]>[data-part-header]>[data-part-title]{font-family:var(--slotted-code-block-font-family, var(--slotted-font-family-mono, monospace));min-inline-size:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}[data-ui-code-block]>[data-part-header]>[data-part-language]{color:var(--_muted);font-size:var(--slotted-font-size-xs, .75rem);letter-spacing:.02em;margin-inline-start:auto;text-transform:uppercase}[data-ui-code-block]>[data-part-header]>[data-part-title]+[data-part-language],[data-ui-code-block]>[data-part-header]>[data-part-icon]+[data-part-language]{margin-inline-start:auto}[data-ui-code-block]>[data-part-header]>[data-part-actions]{align-items:center;display:flex;gap:var(--slotted-space-1, .125rem);margin-inline-start:auto}[data-ui-code-block]>[data-part-header]>[data-part-language]+[data-part-actions]{margin-inline-start:var(--slotted-space-3, .375rem)}[data-ui-code-block]>[data-part-actions]{align-items:center;background-color:var(--_ground);border-radius:var(--slotted-control-radius, 4px);display:flex;gap:var(--slotted-space-1, .125rem);inset-block-start:var(--slotted-space-2, .25rem);inset-inline-end:var(--slotted-space-2, .25rem);position:absolute;z-index:1}[data-ui-code-block] :is([data-part-copy],[data-part-wrap]){--slotted-icon-size: var(--_icon);align-items:center;appearance:none;background:none;block-size:var(--slotted-target-min, 24px);border:0;border-radius:var(--slotted-control-radius, var(--slotted-radius-sm, 4px));color:var(--_muted);cursor:pointer;display:inline-flex;font:inherit;inline-size:var(--slotted-target-min, 24px);justify-content:center;padding:var(--_hit);transition:color var(--_duration) var(--_easing),background-color var(--_duration) var(--_easing)}@media(pointer:coarse){[data-ui-code-block] :is([data-part-copy],[data-part-wrap]){position:relative}[data-ui-code-block] :is([data-part-copy],[data-part-wrap]):before{content:\"\";inset:min(0px,calc((100% - var(--slotted-target-comfortable, 44px)) / 2));position:absolute}[data-ui-code-block] [data-part-wrap]:has(+[data-part-copy]):before{inset-inline-end:0}[data-ui-code-block] [data-part-wrap]+[data-part-copy]:before{inset-inline-start:0}}[data-ui-code-block] :is([data-part-copy],[data-part-wrap]):enabled:not([data-complete]):hover{background-color:var(--slotted-tone-secondary-subtle-hover, ButtonFace);color:var(--_ink)}[data-ui-code-block] :is([data-part-copy],[data-part-wrap]):enabled:not([data-complete]):active{background-color:var(--slotted-tone-secondary-subtle-active, ButtonFace)}[data-ui-code-block] [data-part-wrap][data-pressed]{background-color:var(--slotted-tone-accent-surface, Canvas);color:var(--slotted-tone-accent-text, CanvasText)}[data-ui-code-block] [data-part-copy][data-complete]{color:var(--slotted-tone-success-text, CanvasText)}[data-ui-code-block] :is([data-part-copy],[data-part-wrap],[data-part-reveal]):focus-visible{outline:var(--slotted-focus-ring-width, 2px) solid var(--slotted-focus-ring-color, Highlight);outline-offset:var(--slotted-focus-ring-offset, 2px)}[data-ui-code-block]>[data-part-body]{border-radius:0 0 var(--_radius) var(--_radius);min-inline-size:0}[data-ui-code-block]>[data-part-body]:first-child{border-radius:var(--_radius)}[data-ui-code-block]>[data-part-body][data-max-lines]>[data-part-viewport]{max-block-size:calc(var(--slotted-code-block-max-lines) * var(--_line) + var(--_inset-block) * 2)}[data-ui-code-block]>[data-part-body]>[data-part-viewport]:focus-visible{outline:var(--slotted-focus-ring-width, 2px) solid var(--slotted-focus-ring-color, Highlight);outline-offset:calc(var(--slotted-focus-ring-offset, 2px) * -1)}[data-ui-code-block] [data-part-pre]{direction:ltr;font:inherit;margin:0;min-inline-size:max-content;padding-block:var(--_inset-block);tab-size:var(--slotted-code-block-tab-size, 2);white-space:pre}[data-ui-code-block][data-wrap] [data-part-pre]{min-inline-size:0;overflow-wrap:anywhere;white-space:pre-wrap}[data-ui-code-block] [data-part-code]{display:grid;font:inherit;grid-template-columns:minmax(0,1fr)}[data-ui-code-block] [data-part-line]{--_indent: calc(var(--slotted-code-block-indent, 0) * 1ch);box-sizing:border-box;display:grid;grid-template-columns:var(--_number, 0px) var(--_marker, 0px) minmax(0,1fr);min-block-size:var(--_line);padding-inline:var(--_inset-inline);position:relative}[data-ui-code-block][data-line-numbers] [data-part-line]{--_number: var(--_gutter);padding-inline-start:0}[data-ui-code-block]:not([data-line-numbers]) [data-part-number]{display:none}[data-ui-code-block][data-marks] [data-part-line]{--_marker: var(--slotted-space-6, 1rem)}[data-ui-code-block] [data-part-number]{color:var(--_muted);font-variant-numeric:tabular-nums;grid-column:1;padding-inline-end:var(--slotted-space-4, .5rem);text-align:end;-webkit-user-select:none;user-select:none}[data-ui-code-block] [data-part-marker]{grid-column:2;text-align:center;-webkit-user-select:none;user-select:none}[data-ui-code-block] [data-part-line]>[data-part-token],[data-ui-code-block] [data-part-line]>[data-part-text]{grid-column:3}[data-ui-code-block] [data-part-line]>[data-part-text]{display:block;min-inline-size:0}[data-ui-code-block][data-wrap] [data-part-line]>[data-part-text]{padding-inline-start:var(--_indent);text-indent:calc(var(--_indent) * -1)}[data-ui-code-block] [data-token=comment]{color:var(--slotted-code-comment, var(--slotted-text-muted, GrayText));font-style:italic}[data-ui-code-block] [data-token=keyword]{color:var(--slotted-code-keyword, var(--slotted-text, CanvasText))}[data-ui-code-block] [data-token=string]{color:var(--slotted-code-string, var(--slotted-text, CanvasText))}[data-ui-code-block] [data-token=number]{color:var(--slotted-code-number, var(--slotted-text, CanvasText))}[data-ui-code-block] [data-token=function]{color:var(--slotted-code-function, var(--slotted-text, CanvasText))}[data-ui-code-block] [data-token=type]{color:var(--slotted-code-type, var(--slotted-text, CanvasText))}[data-ui-code-block] [data-token=variable]{color:var(--slotted-code-variable, var(--slotted-text, CanvasText))}[data-ui-code-block] [data-token=property]{color:var(--slotted-code-property, var(--slotted-text, CanvasText))}[data-ui-code-block] [data-token=punctuation]{color:var(--slotted-code-punctuation, var(--slotted-text, CanvasText))}[data-ui-code-block] [data-token=tag]{color:var(--slotted-code-tag, var(--slotted-text, CanvasText))}[data-ui-code-block] [data-token=attribute]{color:var(--slotted-code-attribute, var(--slotted-text, CanvasText))}[data-ui-code-block] [data-token=constant]{color:var(--slotted-code-constant, var(--slotted-text, CanvasText))}[data-ui-code-block] [data-part-line][data-mark]{--_tone: var(--slotted-tone-accent-text, CanvasText);background-color:color-mix(in srgb,var(--_tone) calc(var(--_tint) * 100%),transparent)}[data-ui-code-block] [data-part-line]:is([data-mark=highlight],[data-mark=error],[data-mark=warning]):before{background-color:var(--_tone);content:\"\";inline-size:var(--slotted-border-width-thick, 2px);inset-block:0;inset-inline-start:0;position:absolute}[data-ui-code-block] [data-part-line][data-mark=add]{--_tone: var(--slotted-tone-success-text, CanvasText)}[data-ui-code-block] [data-part-line][data-mark=remove],[data-ui-code-block] [data-part-line][data-mark=error]{--_tone: var(--slotted-tone-danger-text, CanvasText)}[data-ui-code-block] [data-part-line][data-mark=warning]{--_tone: var(--slotted-tone-warning-text, CanvasText)}[data-ui-code-block] [data-part-line][data-mark=add]>[data-part-marker]:before{color:var(--_tone);content:\"+\"}[data-ui-code-block] [data-part-line][data-mark=remove]>[data-part-marker]:before{color:var(--_tone);content:\"\\2212\"}[data-ui-code-block] [data-part-line][data-mark=remove]>[data-part-text]{opacity:.72}[data-ui-code-block] [data-part-line][data-dim]{color:var(--_muted);filter:blur(1px);transition:filter var(--slotted-duration-medium) var(--slotted-easing-standard),color var(--slotted-duration-medium) var(--slotted-easing-standard)}[data-ui-code-block] [data-part-line][data-dim] [data-part-token]{color:inherit}[data-ui-code-block]:not([data-loading]):is(:hover,:focus-within) [data-part-line][data-dim]{color:var(--_ink);filter:none}[data-ui-code-block]:not([data-loading]):is(:hover,:focus-within) [data-part-line][data-dim] [data-part-token]{color:revert-layer}[data-ui-code-block][data-collapse]:not([data-revealed])>[data-part-body]>[data-part-viewport]{--_visible: calc(var(--slotted-code-block-collapse) * var(--_line) + var(--_inset-block));-webkit-mask-image:linear-gradient(to bottom,#000 calc(var(--_visible) - var(--_line)),transparent var(--_visible));mask-image:linear-gradient(to bottom,#000 calc(var(--_visible) - var(--_line)),transparent var(--_visible));max-block-size:var(--_visible);overflow-y:hidden}[data-ui-code-block]>[data-part-reveal]{appearance:none;background:none;border:0;border-block-start:var(--slotted-border-width-thin, 1px) solid var(--_edge);color:var(--slotted-tone-accent-text, LinkText);cursor:pointer;font-family:var(--slotted-font-family-sans, inherit);font-size:var(--slotted-font-size-sm, .8125rem);font-weight:var(--slotted-font-weight-medium, 500);min-block-size:var(--slotted-control-height-sm, 30px);padding-block:0;padding-inline:var(--_inset-inline);text-align:start;transition:background-color var(--_duration) var(--_easing)}[data-ui-code-block]>[data-part-reveal]:focus-visible{border-end-end-radius:var(--_radius);border-end-start-radius:var(--_radius);outline-offset:calc(var(--slotted-focus-ring-offset, 2px) * -1)}[data-ui-code-block]>[data-part-reveal]:enabled:hover{background-color:var(--slotted-tone-accent-subtle-hover, ButtonFace)}[data-ui-code-block]>[data-part-reveal]:enabled:active{background-color:var(--slotted-tone-accent-subtle-active, ButtonFace)}[data-ui-code-block][data-loading] [data-part-code]{gap:var(--slotted-space-3, .375rem);padding-inline:var(--_inset-inline)}[data-ui-code-block][data-loading] [data-part-code]>[data-ui-skeleton]{block-size:var(--_font-size)}@media(prefers-reduced-motion:reduce){[data-ui-code-block] [data-part-line][data-dim]{filter:none}}@media(forced-colors:active){[data-ui-code-block] [data-part-line][data-mark]{background-color:transparent}[data-ui-code-block] [data-part-line][data-dim]{color:inherit;filter:none}}@media print{[data-ui-code-block] [data-part-pre]{min-inline-size:0;overflow-wrap:anywhere;white-space:pre-wrap}[data-ui-code-block][data-collapse]>[data-part-body]>[data-part-viewport]{-webkit-mask-image:none;mask-image:none;max-block-size:none}[data-ui-code-block]>[data-part-reveal],[data-ui-code-block] [data-part-wrap]{display:none}}}\n"], 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: SlScrollArea, selector: "[slScrollArea]", inputs: ["axis", "scrollbars", "gutter", "fade", "overscroll", "maxBlockSize", "maxInlineSize", "tabbable", "labelledBy", "messages"], outputs: ["scrollChange", "overflowChange"], exportAs: ["slScrollArea"] }, { kind: "directive", type: SlScrollAreaContent, selector: "[slScrollAreaContent]", exportAs: ["slScrollAreaContent"] }, { kind: "component", type: SlSkeleton, selector: "[slSkeleton]", inputs: ["shape", "size", "animation", "loading", "inlineSize", "blockSize"], exportAs: ["slSkeleton"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
371
377
|
}
|
|
372
378
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.7", ngImport: i0, type: SlCodeBlock, decorators: [{
|
|
373
379
|
type: Component,
|
|
374
380
|
args: [{ selector: '[slCodeBlock]', standalone: true, imports: [NgTemplateOutlet, SlGlyph, SlIcon, SlScrollArea, SlScrollAreaContent, SlSkeleton], template: `
|
|
375
381
|
@if (hasHeader()) {
|
|
376
|
-
<div data-part="header">
|
|
382
|
+
<div data-part="header" data-part-header="">
|
|
377
383
|
@if (icon(); as glyph) {
|
|
378
|
-
<span aria-hidden="true" data-part="icon"
|
|
384
|
+
<span aria-hidden="true" data-part="icon" data-part-icon=""
|
|
379
385
|
><span slIcon><svg slGlyph [name]="glyph"></svg></span
|
|
380
386
|
></span>
|
|
381
387
|
}
|
|
382
388
|
@if (title(); as words) {
|
|
383
|
-
<span data-part="title" [id]="id + '-title'">{{ words }}</span>
|
|
389
|
+
<span data-part="title" data-part-title="" [id]="id + '-title'">{{ words }}</span>
|
|
384
390
|
}
|
|
385
391
|
@if (language() !== 'text') {
|
|
386
|
-
<span data-part="language">{{ language() }}</span>
|
|
392
|
+
<span data-part="language" data-part-language="">{{ language() }}</span>
|
|
387
393
|
}
|
|
388
394
|
@if (!loading()) {
|
|
389
|
-
<div data-part="actions">
|
|
395
|
+
<div data-part="actions" data-part-actions="">
|
|
390
396
|
<ng-content select="[slCodeBlockAction]"></ng-content>
|
|
391
397
|
@if (overflow() || isWrapped()) {
|
|
392
398
|
<button
|
|
393
399
|
data-part="wrap"
|
|
400
|
+
data-part-wrap=""
|
|
394
401
|
type="button"
|
|
395
402
|
[attr.aria-label]="t(isWrapped() ? 'unwrap' : 'wrap')"
|
|
396
403
|
[attr.aria-pressed]="isWrapped()"
|
|
@@ -404,6 +411,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.7", ngImpor
|
|
|
404
411
|
@if (copyControl()) {
|
|
405
412
|
<button
|
|
406
413
|
data-part="copy"
|
|
414
|
+
data-part-copy=""
|
|
407
415
|
type="button"
|
|
408
416
|
[attr.aria-label]="t('copy')"
|
|
409
417
|
[attr.data-complete]="copied() ? '' : null"
|
|
@@ -422,6 +430,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.7", ngImpor
|
|
|
422
430
|
#body
|
|
423
431
|
slScrollArea
|
|
424
432
|
data-part="body"
|
|
433
|
+
data-part-body=""
|
|
434
|
+
[attr.data-part-root]="null"
|
|
425
435
|
[axis]="maxLines() === undefined ? 'inline' : 'both'"
|
|
426
436
|
fade="both"
|
|
427
437
|
gutter="auto"
|
|
@@ -433,12 +443,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.7", ngImpor
|
|
|
433
443
|
<div slScrollAreaContent>
|
|
434
444
|
<pre
|
|
435
445
|
data-part="pre"
|
|
436
|
-
|
|
446
|
+
data-part-pre=""
|
|
447
|
+
><code data-part="code" data-part-code="" [class]="'language-' + language()">@if (loading()) {@for (width of skeletonWidths; track $index) {<span slSkeleton shape="text" aria-hidden="true" [style.inline-size]="width + '%'"></span>}} @else {@for (line of rows(); track $index) {<span data-part="line" data-part-line="" [attr.data-line]="line.number" [attr.data-mark]="line.mark ?? null" [attr.data-dim]="line.dim ? '' : null" [style.--slotted-code-block-indent]="line.indent > 0 ? line.indent : null"><span aria-hidden="true" data-part="number" data-part-number="">@if (lineNumbersValue()) {{{ line.number }}}</span><span aria-hidden="true" data-part="marker" data-part-marker=""></span><span data-part="text" data-part-text="">@if (lineTemplate(); as custom) {<ng-container [ngTemplateOutlet]="custom.template" [ngTemplateOutletContext]="{ $implicit: line.tokens, number: line.number, mark: line.mark, dim: line.dim }" />} @else {@for (token of line.tokens; track $index) {@if (token.scope) {<span data-part="token" data-part-token="" [attr.data-token]="token.scope">{{ token.text }}</span>} @else {{{ token.text }}}}}</span></span>}}</code></pre>
|
|
437
448
|
</div>
|
|
438
449
|
</div>
|
|
439
450
|
@if (collapses()) {
|
|
440
451
|
<button
|
|
441
452
|
data-part="reveal"
|
|
453
|
+
data-part-reveal=""
|
|
442
454
|
type="button"
|
|
443
455
|
[attr.aria-controls]="id + '-body'"
|
|
444
456
|
[attr.aria-expanded]="isRevealed()"
|
|
@@ -450,7 +462,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.7", ngImpor
|
|
|
450
462
|
}
|
|
451
463
|
`, changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, exportAs: 'slCodeBlock', host: {
|
|
452
464
|
'data-ui': 'code-block',
|
|
465
|
+
'data-ui-code-block': '',
|
|
453
466
|
'data-part': 'root',
|
|
467
|
+
'data-part-root': '',
|
|
454
468
|
'[attr.data-language]': 'language()',
|
|
455
469
|
'[attr.data-wrap]': 'isWrapped() ? "" : null',
|
|
456
470
|
'[attr.data-revealed]': 'isRevealed() ? "" : null',
|
|
@@ -465,7 +479,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.7", ngImpor
|
|
|
465
479
|
'[style.--slotted-code-block-collapse]': 'collapses() ? collapseAfter() : null',
|
|
466
480
|
'[style.--slotted-code-block-max-lines]': 'maxLines() ?? null',
|
|
467
481
|
'(keydown)': 'onKeyDown($event)',
|
|
468
|
-
}, styles: ["@layer slotted.components{[data-ui=code-block]{--_ground: var(--slotted-code-block-surface, var(--slotted-surface-sunken, Canvas));--_edge: var(--slotted-code-block-border-color, var(--slotted-border-subtle, GrayText));--_ink: var(--slotted-code-block-color, var(--slotted-text, CanvasText));--_muted: var(--slotted-code-block-color-muted, var(--slotted-text-muted, GrayText));--_radius: var(--slotted-code-block-radius, var(--slotted-radius-md, 6px));--_inset-block: var(--slotted-code-block-inset-block, var(--slotted-space-5, .75rem));--_inset-inline: var(--slotted-code-block-inset-inline, var(--slotted-space-6, 1rem));--_font-size: var(--slotted-code-block-font-size, var(--slotted-font-size-sm, .8125rem));--_line-height: var(--slotted-code-block-line-height, var(--slotted-line-height-md, 1.5));--_line: calc(var(--_font-size) * var(--_line-height));--_icon: var(--slotted-control-icon-size-md, 16px);--_hit: calc((var(--slotted-target-min, 24px) - var(--_icon)) / 2);--_duration: var(--slotted-control-transition-duration, var(--slotted-duration-short));--_easing: var(--slotted-control-transition-easing, var(--slotted-easing-standard));--_digits: var(--slotted-code-block-digits, 1);--_gutter: calc(var(--_digits) * 1ch + var(--slotted-space-4, .5rem) * 2);--_tint: var(--slotted-highlight-tint-opacity, .075);background-color:var(--_ground);border:var(--slotted-border-width-thin, 1px) solid var(--_edge);border-radius:var(--_radius);box-sizing:border-box;color:var(--_ink);display:grid;font-family:var(--slotted-code-block-font-family, var(--slotted-font-family-mono, monospace));font-size:var(--_font-size);grid-template-rows:auto minmax(0,1fr) auto;line-height:var(--_line-height);min-inline-size:0;position:relative}[data-ui=code-block]>[data-part=header]{align-items:center;border-block-end:var(--slotted-border-width-thin, 1px) solid var(--_edge);display:flex;font-family:var(--slotted-font-family-sans, inherit);font-size:var(--slotted-font-size-sm, .8125rem);gap:var(--slotted-control-gap-sm, 6px);min-inline-size:0;padding-block:var(--slotted-space-3, .375rem);padding-inline:var(--_inset-inline) var(--slotted-space-4, .5rem)}[data-ui=code-block]>[data-part=header]>[data-part=icon]{--slotted-icon-size: var(--_icon);block-size:var(--_icon);color:var(--_muted);display:flex;flex:none;inline-size:var(--_icon)}[data-ui=code-block]>[data-part=header]>[data-part=title]{font-family:var(--slotted-code-block-font-family, var(--slotted-font-family-mono, monospace));min-inline-size:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}[data-ui=code-block]>[data-part=header]>[data-part=language]{color:var(--_muted);font-size:var(--slotted-font-size-xs, .75rem);letter-spacing:.02em;margin-inline-start:auto;text-transform:uppercase}[data-ui=code-block]>[data-part=header]>[data-part=title]+[data-part=language],[data-ui=code-block]>[data-part=header]>[data-part=icon]+[data-part=language]{margin-inline-start:auto}[data-ui=code-block]>[data-part=header]>[data-part=actions]{align-items:center;display:flex;gap:var(--slotted-space-1, .125rem);margin-inline-start:auto}[data-ui=code-block]>[data-part=header]>[data-part=language]+[data-part=actions]{margin-inline-start:var(--slotted-space-3, .375rem)}[data-ui=code-block]>[data-part=actions]{align-items:center;background-color:var(--_ground);border-radius:var(--slotted-control-radius, 4px);display:flex;gap:var(--slotted-space-1, .125rem);inset-block-start:var(--slotted-space-2, .25rem);inset-inline-end:var(--slotted-space-2, .25rem);position:absolute;z-index:1}[data-ui=code-block] :is([data-part=copy],[data-part=wrap]){--slotted-icon-size: var(--_icon);align-items:center;appearance:none;background:none;block-size:var(--slotted-target-min, 24px);border:0;border-radius:var(--slotted-control-radius, var(--slotted-radius-sm, 4px));color:var(--_muted);cursor:pointer;display:inline-flex;font:inherit;inline-size:var(--slotted-target-min, 24px);justify-content:center;padding:var(--_hit);transition:color var(--_duration) var(--_easing),background-color var(--_duration) var(--_easing)}@media(pointer:coarse){[data-ui=code-block] :is([data-part=copy],[data-part=wrap]){position:relative}[data-ui=code-block] :is([data-part=copy],[data-part=wrap]):before{content:\"\";inset:min(0px,calc((100% - var(--slotted-target-comfortable, 44px)) / 2));position:absolute}[data-ui=code-block] [data-part=wrap]:has(+[data-part=copy]):before{inset-inline-end:0}[data-ui=code-block] [data-part=wrap]+[data-part=copy]:before{inset-inline-start:0}}[data-ui=code-block] :is([data-part=copy],[data-part=wrap]):enabled:not([data-complete]):hover{background-color:var(--slotted-tone-secondary-subtle-hover, ButtonFace);color:var(--_ink)}[data-ui=code-block] :is([data-part=copy],[data-part=wrap]):enabled:not([data-complete]):active{background-color:var(--slotted-tone-secondary-subtle-active, ButtonFace)}[data-ui=code-block] [data-part=wrap][data-pressed]{background-color:var(--slotted-tone-accent-surface, Canvas);color:var(--slotted-tone-accent-text, CanvasText)}[data-ui=code-block] [data-part=copy][data-complete]{color:var(--slotted-tone-success-text, CanvasText)}[data-ui=code-block] :is([data-part=copy],[data-part=wrap],[data-part=reveal]):focus-visible{outline:var(--slotted-focus-ring-width, 2px) solid var(--slotted-focus-ring-color, Highlight);outline-offset:var(--slotted-focus-ring-offset, 2px)}[data-ui=code-block]>[data-part=body]{border-radius:0 0 var(--_radius) var(--_radius);min-inline-size:0}[data-ui=code-block]>[data-part=body]:first-child{border-radius:var(--_radius)}[data-ui=code-block]>[data-part=body][data-max-lines]>[data-part=viewport]{max-block-size:calc(var(--slotted-code-block-max-lines) * var(--_line) + var(--_inset-block) * 2)}[data-ui=code-block]>[data-part=body]>[data-part=viewport]:focus-visible{outline:var(--slotted-focus-ring-width, 2px) solid var(--slotted-focus-ring-color, Highlight);outline-offset:calc(var(--slotted-focus-ring-offset, 2px) * -1)}[data-ui=code-block] [data-part=pre]{direction:ltr;font:inherit;margin:0;min-inline-size:max-content;padding-block:var(--_inset-block);tab-size:var(--slotted-code-block-tab-size, 2);white-space:pre}[data-ui=code-block][data-wrap] [data-part=pre]{min-inline-size:0;overflow-wrap:anywhere;white-space:pre-wrap}[data-ui=code-block] [data-part=code]{display:grid;font:inherit;grid-template-columns:minmax(0,1fr)}[data-ui=code-block] [data-part=line]{--_indent: calc(var(--slotted-code-block-indent, 0) * 1ch);box-sizing:border-box;display:grid;grid-template-columns:var(--_number, 0px) var(--_marker, 0px) minmax(0,1fr);min-block-size:var(--_line);padding-inline:var(--_inset-inline);position:relative}[data-ui=code-block][data-line-numbers] [data-part=line]{--_number: var(--_gutter);padding-inline-start:0}[data-ui=code-block]:not([data-line-numbers]) [data-part=number]{display:none}[data-ui=code-block][data-marks] [data-part=line]{--_marker: var(--slotted-space-6, 1rem)}[data-ui=code-block] [data-part=number]{color:var(--_muted);font-variant-numeric:tabular-nums;grid-column:1;padding-inline-end:var(--slotted-space-4, .5rem);text-align:end;-webkit-user-select:none;user-select:none}[data-ui=code-block] [data-part=marker]{grid-column:2;text-align:center;-webkit-user-select:none;user-select:none}[data-ui=code-block] [data-part=line]>[data-part=token],[data-ui=code-block] [data-part=line]>[data-part=text]{grid-column:3}[data-ui=code-block] [data-part=line]>[data-part=text]{display:block;min-inline-size:0}[data-ui=code-block][data-wrap] [data-part=line]>[data-part=text]{padding-inline-start:var(--_indent);text-indent:calc(var(--_indent) * -1)}[data-ui=code-block] [data-token=comment]{color:var(--slotted-code-comment, var(--slotted-text-muted, GrayText));font-style:italic}[data-ui=code-block] [data-token=keyword]{color:var(--slotted-code-keyword, var(--slotted-text, CanvasText))}[data-ui=code-block] [data-token=string]{color:var(--slotted-code-string, var(--slotted-text, CanvasText))}[data-ui=code-block] [data-token=number]{color:var(--slotted-code-number, var(--slotted-text, CanvasText))}[data-ui=code-block] [data-token=function]{color:var(--slotted-code-function, var(--slotted-text, CanvasText))}[data-ui=code-block] [data-token=type]{color:var(--slotted-code-type, var(--slotted-text, CanvasText))}[data-ui=code-block] [data-token=variable]{color:var(--slotted-code-variable, var(--slotted-text, CanvasText))}[data-ui=code-block] [data-token=property]{color:var(--slotted-code-property, var(--slotted-text, CanvasText))}[data-ui=code-block] [data-token=punctuation]{color:var(--slotted-code-punctuation, var(--slotted-text, CanvasText))}[data-ui=code-block] [data-token=tag]{color:var(--slotted-code-tag, var(--slotted-text, CanvasText))}[data-ui=code-block] [data-token=attribute]{color:var(--slotted-code-attribute, var(--slotted-text, CanvasText))}[data-ui=code-block] [data-token=constant]{color:var(--slotted-code-constant, var(--slotted-text, CanvasText))}[data-ui=code-block] [data-part=line][data-mark]{--_tone: var(--slotted-tone-accent-text, CanvasText);background-color:color-mix(in srgb,var(--_tone) calc(var(--_tint) * 100%),transparent)}[data-ui=code-block] [data-part=line]:is([data-mark=highlight],[data-mark=error],[data-mark=warning]):before{background-color:var(--_tone);content:\"\";inline-size:var(--slotted-border-width-thick, 2px);inset-block:0;inset-inline-start:0;position:absolute}[data-ui=code-block] [data-part=line][data-mark=add]{--_tone: var(--slotted-tone-success-text, CanvasText)}[data-ui=code-block] [data-part=line][data-mark=remove],[data-ui=code-block] [data-part=line][data-mark=error]{--_tone: var(--slotted-tone-danger-text, CanvasText)}[data-ui=code-block] [data-part=line][data-mark=warning]{--_tone: var(--slotted-tone-warning-text, CanvasText)}[data-ui=code-block] [data-part=line][data-mark=add]>[data-part=marker]:before{color:var(--_tone);content:\"+\"}[data-ui=code-block] [data-part=line][data-mark=remove]>[data-part=marker]:before{color:var(--_tone);content:\"\\2212\"}[data-ui=code-block] [data-part=line][data-mark=remove]>[data-part=text]{opacity:.72}[data-ui=code-block] [data-part=line][data-dim]{color:var(--_muted);filter:blur(1px);transition:filter var(--slotted-duration-medium) var(--slotted-easing-standard),color var(--slotted-duration-medium) var(--slotted-easing-standard)}[data-ui=code-block] [data-part=line][data-dim] [data-part=token]{color:inherit}[data-ui=code-block]:not([data-loading]):is(:hover,:focus-within) [data-part=line][data-dim]{color:var(--_ink);filter:none}[data-ui=code-block]:not([data-loading]):is(:hover,:focus-within) [data-part=line][data-dim] [data-part=token]{color:revert-layer}[data-ui=code-block][data-collapse]:not([data-revealed])>[data-part=body]>[data-part=viewport]{--_visible: calc(var(--slotted-code-block-collapse) * var(--_line) + var(--_inset-block));-webkit-mask-image:linear-gradient(to bottom,#000 calc(var(--_visible) - var(--_line)),transparent var(--_visible));mask-image:linear-gradient(to bottom,#000 calc(var(--_visible) - var(--_line)),transparent var(--_visible));max-block-size:var(--_visible);overflow-y:hidden}[data-ui=code-block]>[data-part=reveal]{appearance:none;background:none;border:0;border-block-start:var(--slotted-border-width-thin, 1px) solid var(--_edge);color:var(--slotted-tone-accent-text, LinkText);cursor:pointer;font-family:var(--slotted-font-family-sans, inherit);font-size:var(--slotted-font-size-sm, .8125rem);font-weight:var(--slotted-font-weight-medium, 500);min-block-size:var(--slotted-control-height-sm, 30px);padding-block:0;padding-inline:var(--_inset-inline);text-align:start;transition:background-color var(--_duration) var(--_easing)}[data-ui=code-block]>[data-part=reveal]:focus-visible{border-end-end-radius:var(--_radius);border-end-start-radius:var(--_radius);outline-offset:calc(var(--slotted-focus-ring-offset, 2px) * -1)}[data-ui=code-block]>[data-part=reveal]:enabled:hover{background-color:var(--slotted-tone-accent-subtle-hover, ButtonFace)}[data-ui=code-block]>[data-part=reveal]:enabled:active{background-color:var(--slotted-tone-accent-subtle-active, ButtonFace)}[data-ui=code-block][data-loading] [data-part=code]{gap:var(--slotted-space-3, .375rem);padding-inline:var(--_inset-inline)}[data-ui=code-block][data-loading] [data-part=code]>[data-ui=skeleton]{block-size:var(--_font-size)}@media(prefers-reduced-motion:reduce){[data-ui=code-block] [data-part=line][data-dim]{filter:none}}@media(forced-colors:active){[data-ui=code-block] [data-part=line][data-mark]{background-color:transparent}[data-ui=code-block] [data-part=line][data-dim]{color:inherit;filter:none}}@media print{[data-ui=code-block] [data-part=pre]{min-inline-size:0;overflow-wrap:anywhere;white-space:pre-wrap}[data-ui=code-block][data-collapse]>[data-part=body]>[data-part=viewport]{-webkit-mask-image:none;mask-image:none;max-block-size:none}[data-ui=code-block]>[data-part=reveal],[data-ui=code-block] [data-part=wrap]{display:none}}}\n"] }]
|
|
482
|
+
}, styles: ["@layer slotted.components{[data-ui-code-block]{--_ground: var(--slotted-code-block-surface, var(--slotted-surface-sunken, Canvas));--_edge: var(--slotted-code-block-border-color, var(--slotted-border-subtle, GrayText));--_ink: var(--slotted-code-block-color, var(--slotted-text, CanvasText));--_muted: var(--slotted-code-block-color-muted, var(--slotted-text-muted, GrayText));--_radius: var(--slotted-code-block-radius, var(--slotted-radius-md, 6px));--_inset-block: var(--slotted-code-block-inset-block, var(--slotted-space-5, .75rem));--_inset-inline: var(--slotted-code-block-inset-inline, var(--slotted-space-6, 1rem));--_font-size: var(--slotted-code-block-font-size, var(--slotted-font-size-sm, .8125rem));--_line-height: var(--slotted-code-block-line-height, var(--slotted-line-height-md, 1.5));--_line: calc(var(--_font-size) * var(--_line-height));--_icon: var(--slotted-control-icon-size-md, 16px);--_hit: calc((var(--slotted-target-min, 24px) - var(--_icon)) / 2);--_duration: var(--slotted-control-transition-duration, var(--slotted-duration-short));--_easing: var(--slotted-control-transition-easing, var(--slotted-easing-standard));--_digits: var(--slotted-code-block-digits, 1);--_gutter: calc(var(--_digits) * 1ch + var(--slotted-space-4, .5rem) * 2);--_tint: var(--slotted-highlight-tint-opacity, .075);background-color:var(--_ground);border:var(--slotted-border-width-thin, 1px) solid var(--_edge);border-radius:var(--_radius);box-sizing:border-box;color:var(--_ink);display:grid;font-family:var(--slotted-code-block-font-family, var(--slotted-font-family-mono, monospace));font-size:var(--_font-size);grid-template-rows:auto minmax(0,1fr) auto;line-height:var(--_line-height);min-inline-size:0;position:relative}[data-ui-code-block]>[data-part-header]{align-items:center;border-block-end:var(--slotted-border-width-thin, 1px) solid var(--_edge);display:flex;font-family:var(--slotted-font-family-sans, inherit);font-size:var(--slotted-font-size-sm, .8125rem);gap:var(--slotted-control-gap-sm, 6px);min-inline-size:0;padding-block:var(--slotted-space-3, .375rem);padding-inline:var(--_inset-inline) var(--slotted-space-4, .5rem)}[data-ui-code-block]>[data-part-header]>[data-part-icon]{--slotted-icon-size: var(--_icon);block-size:var(--_icon);color:var(--_muted);display:flex;flex:none;inline-size:var(--_icon)}[data-ui-code-block]>[data-part-header]>[data-part-title]{font-family:var(--slotted-code-block-font-family, var(--slotted-font-family-mono, monospace));min-inline-size:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}[data-ui-code-block]>[data-part-header]>[data-part-language]{color:var(--_muted);font-size:var(--slotted-font-size-xs, .75rem);letter-spacing:.02em;margin-inline-start:auto;text-transform:uppercase}[data-ui-code-block]>[data-part-header]>[data-part-title]+[data-part-language],[data-ui-code-block]>[data-part-header]>[data-part-icon]+[data-part-language]{margin-inline-start:auto}[data-ui-code-block]>[data-part-header]>[data-part-actions]{align-items:center;display:flex;gap:var(--slotted-space-1, .125rem);margin-inline-start:auto}[data-ui-code-block]>[data-part-header]>[data-part-language]+[data-part-actions]{margin-inline-start:var(--slotted-space-3, .375rem)}[data-ui-code-block]>[data-part-actions]{align-items:center;background-color:var(--_ground);border-radius:var(--slotted-control-radius, 4px);display:flex;gap:var(--slotted-space-1, .125rem);inset-block-start:var(--slotted-space-2, .25rem);inset-inline-end:var(--slotted-space-2, .25rem);position:absolute;z-index:1}[data-ui-code-block] :is([data-part-copy],[data-part-wrap]){--slotted-icon-size: var(--_icon);align-items:center;appearance:none;background:none;block-size:var(--slotted-target-min, 24px);border:0;border-radius:var(--slotted-control-radius, var(--slotted-radius-sm, 4px));color:var(--_muted);cursor:pointer;display:inline-flex;font:inherit;inline-size:var(--slotted-target-min, 24px);justify-content:center;padding:var(--_hit);transition:color var(--_duration) var(--_easing),background-color var(--_duration) var(--_easing)}@media(pointer:coarse){[data-ui-code-block] :is([data-part-copy],[data-part-wrap]){position:relative}[data-ui-code-block] :is([data-part-copy],[data-part-wrap]):before{content:\"\";inset:min(0px,calc((100% - var(--slotted-target-comfortable, 44px)) / 2));position:absolute}[data-ui-code-block] [data-part-wrap]:has(+[data-part-copy]):before{inset-inline-end:0}[data-ui-code-block] [data-part-wrap]+[data-part-copy]:before{inset-inline-start:0}}[data-ui-code-block] :is([data-part-copy],[data-part-wrap]):enabled:not([data-complete]):hover{background-color:var(--slotted-tone-secondary-subtle-hover, ButtonFace);color:var(--_ink)}[data-ui-code-block] :is([data-part-copy],[data-part-wrap]):enabled:not([data-complete]):active{background-color:var(--slotted-tone-secondary-subtle-active, ButtonFace)}[data-ui-code-block] [data-part-wrap][data-pressed]{background-color:var(--slotted-tone-accent-surface, Canvas);color:var(--slotted-tone-accent-text, CanvasText)}[data-ui-code-block] [data-part-copy][data-complete]{color:var(--slotted-tone-success-text, CanvasText)}[data-ui-code-block] :is([data-part-copy],[data-part-wrap],[data-part-reveal]):focus-visible{outline:var(--slotted-focus-ring-width, 2px) solid var(--slotted-focus-ring-color, Highlight);outline-offset:var(--slotted-focus-ring-offset, 2px)}[data-ui-code-block]>[data-part-body]{border-radius:0 0 var(--_radius) var(--_radius);min-inline-size:0}[data-ui-code-block]>[data-part-body]:first-child{border-radius:var(--_radius)}[data-ui-code-block]>[data-part-body][data-max-lines]>[data-part-viewport]{max-block-size:calc(var(--slotted-code-block-max-lines) * var(--_line) + var(--_inset-block) * 2)}[data-ui-code-block]>[data-part-body]>[data-part-viewport]:focus-visible{outline:var(--slotted-focus-ring-width, 2px) solid var(--slotted-focus-ring-color, Highlight);outline-offset:calc(var(--slotted-focus-ring-offset, 2px) * -1)}[data-ui-code-block] [data-part-pre]{direction:ltr;font:inherit;margin:0;min-inline-size:max-content;padding-block:var(--_inset-block);tab-size:var(--slotted-code-block-tab-size, 2);white-space:pre}[data-ui-code-block][data-wrap] [data-part-pre]{min-inline-size:0;overflow-wrap:anywhere;white-space:pre-wrap}[data-ui-code-block] [data-part-code]{display:grid;font:inherit;grid-template-columns:minmax(0,1fr)}[data-ui-code-block] [data-part-line]{--_indent: calc(var(--slotted-code-block-indent, 0) * 1ch);box-sizing:border-box;display:grid;grid-template-columns:var(--_number, 0px) var(--_marker, 0px) minmax(0,1fr);min-block-size:var(--_line);padding-inline:var(--_inset-inline);position:relative}[data-ui-code-block][data-line-numbers] [data-part-line]{--_number: var(--_gutter);padding-inline-start:0}[data-ui-code-block]:not([data-line-numbers]) [data-part-number]{display:none}[data-ui-code-block][data-marks] [data-part-line]{--_marker: var(--slotted-space-6, 1rem)}[data-ui-code-block] [data-part-number]{color:var(--_muted);font-variant-numeric:tabular-nums;grid-column:1;padding-inline-end:var(--slotted-space-4, .5rem);text-align:end;-webkit-user-select:none;user-select:none}[data-ui-code-block] [data-part-marker]{grid-column:2;text-align:center;-webkit-user-select:none;user-select:none}[data-ui-code-block] [data-part-line]>[data-part-token],[data-ui-code-block] [data-part-line]>[data-part-text]{grid-column:3}[data-ui-code-block] [data-part-line]>[data-part-text]{display:block;min-inline-size:0}[data-ui-code-block][data-wrap] [data-part-line]>[data-part-text]{padding-inline-start:var(--_indent);text-indent:calc(var(--_indent) * -1)}[data-ui-code-block] [data-token=comment]{color:var(--slotted-code-comment, var(--slotted-text-muted, GrayText));font-style:italic}[data-ui-code-block] [data-token=keyword]{color:var(--slotted-code-keyword, var(--slotted-text, CanvasText))}[data-ui-code-block] [data-token=string]{color:var(--slotted-code-string, var(--slotted-text, CanvasText))}[data-ui-code-block] [data-token=number]{color:var(--slotted-code-number, var(--slotted-text, CanvasText))}[data-ui-code-block] [data-token=function]{color:var(--slotted-code-function, var(--slotted-text, CanvasText))}[data-ui-code-block] [data-token=type]{color:var(--slotted-code-type, var(--slotted-text, CanvasText))}[data-ui-code-block] [data-token=variable]{color:var(--slotted-code-variable, var(--slotted-text, CanvasText))}[data-ui-code-block] [data-token=property]{color:var(--slotted-code-property, var(--slotted-text, CanvasText))}[data-ui-code-block] [data-token=punctuation]{color:var(--slotted-code-punctuation, var(--slotted-text, CanvasText))}[data-ui-code-block] [data-token=tag]{color:var(--slotted-code-tag, var(--slotted-text, CanvasText))}[data-ui-code-block] [data-token=attribute]{color:var(--slotted-code-attribute, var(--slotted-text, CanvasText))}[data-ui-code-block] [data-token=constant]{color:var(--slotted-code-constant, var(--slotted-text, CanvasText))}[data-ui-code-block] [data-part-line][data-mark]{--_tone: var(--slotted-tone-accent-text, CanvasText);background-color:color-mix(in srgb,var(--_tone) calc(var(--_tint) * 100%),transparent)}[data-ui-code-block] [data-part-line]:is([data-mark=highlight],[data-mark=error],[data-mark=warning]):before{background-color:var(--_tone);content:\"\";inline-size:var(--slotted-border-width-thick, 2px);inset-block:0;inset-inline-start:0;position:absolute}[data-ui-code-block] [data-part-line][data-mark=add]{--_tone: var(--slotted-tone-success-text, CanvasText)}[data-ui-code-block] [data-part-line][data-mark=remove],[data-ui-code-block] [data-part-line][data-mark=error]{--_tone: var(--slotted-tone-danger-text, CanvasText)}[data-ui-code-block] [data-part-line][data-mark=warning]{--_tone: var(--slotted-tone-warning-text, CanvasText)}[data-ui-code-block] [data-part-line][data-mark=add]>[data-part-marker]:before{color:var(--_tone);content:\"+\"}[data-ui-code-block] [data-part-line][data-mark=remove]>[data-part-marker]:before{color:var(--_tone);content:\"\\2212\"}[data-ui-code-block] [data-part-line][data-mark=remove]>[data-part-text]{opacity:.72}[data-ui-code-block] [data-part-line][data-dim]{color:var(--_muted);filter:blur(1px);transition:filter var(--slotted-duration-medium) var(--slotted-easing-standard),color var(--slotted-duration-medium) var(--slotted-easing-standard)}[data-ui-code-block] [data-part-line][data-dim] [data-part-token]{color:inherit}[data-ui-code-block]:not([data-loading]):is(:hover,:focus-within) [data-part-line][data-dim]{color:var(--_ink);filter:none}[data-ui-code-block]:not([data-loading]):is(:hover,:focus-within) [data-part-line][data-dim] [data-part-token]{color:revert-layer}[data-ui-code-block][data-collapse]:not([data-revealed])>[data-part-body]>[data-part-viewport]{--_visible: calc(var(--slotted-code-block-collapse) * var(--_line) + var(--_inset-block));-webkit-mask-image:linear-gradient(to bottom,#000 calc(var(--_visible) - var(--_line)),transparent var(--_visible));mask-image:linear-gradient(to bottom,#000 calc(var(--_visible) - var(--_line)),transparent var(--_visible));max-block-size:var(--_visible);overflow-y:hidden}[data-ui-code-block]>[data-part-reveal]{appearance:none;background:none;border:0;border-block-start:var(--slotted-border-width-thin, 1px) solid var(--_edge);color:var(--slotted-tone-accent-text, LinkText);cursor:pointer;font-family:var(--slotted-font-family-sans, inherit);font-size:var(--slotted-font-size-sm, .8125rem);font-weight:var(--slotted-font-weight-medium, 500);min-block-size:var(--slotted-control-height-sm, 30px);padding-block:0;padding-inline:var(--_inset-inline);text-align:start;transition:background-color var(--_duration) var(--_easing)}[data-ui-code-block]>[data-part-reveal]:focus-visible{border-end-end-radius:var(--_radius);border-end-start-radius:var(--_radius);outline-offset:calc(var(--slotted-focus-ring-offset, 2px) * -1)}[data-ui-code-block]>[data-part-reveal]:enabled:hover{background-color:var(--slotted-tone-accent-subtle-hover, ButtonFace)}[data-ui-code-block]>[data-part-reveal]:enabled:active{background-color:var(--slotted-tone-accent-subtle-active, ButtonFace)}[data-ui-code-block][data-loading] [data-part-code]{gap:var(--slotted-space-3, .375rem);padding-inline:var(--_inset-inline)}[data-ui-code-block][data-loading] [data-part-code]>[data-ui-skeleton]{block-size:var(--_font-size)}@media(prefers-reduced-motion:reduce){[data-ui-code-block] [data-part-line][data-dim]{filter:none}}@media(forced-colors:active){[data-ui-code-block] [data-part-line][data-mark]{background-color:transparent}[data-ui-code-block] [data-part-line][data-dim]{color:inherit;filter:none}}@media print{[data-ui-code-block] [data-part-pre]{min-inline-size:0;overflow-wrap:anywhere;white-space:pre-wrap}[data-ui-code-block][data-collapse]>[data-part-body]>[data-part-viewport]{-webkit-mask-image:none;mask-image:none;max-block-size:none}[data-ui-code-block]>[data-part-reveal],[data-ui-code-block] [data-part-wrap]{display:none}}}\n"] }]
|
|
469
483
|
}], ctorParameters: () => [], propDecorators: { code: [{ type: i0.Input, args: [{ isSignal: true, alias: "code", required: true }] }], language: [{ type: i0.Input, args: [{ isSignal: true, alias: "language", required: false }] }], highlight: [{ type: i0.Input, args: [{ isSignal: true, alias: "highlight", required: false }] }], tokens: [{ type: i0.Input, args: [{ isSignal: true, alias: "tokens", required: false }] }], title: [{ type: i0.Input, args: [{ isSignal: true, alias: "title", required: false }] }], fileName: [{ type: i0.Input, args: [{ isSignal: true, alias: "fileName", required: false }] }], lineNumbers: [{ type: i0.Input, args: [{ isSignal: true, alias: "lineNumbers", required: false }] }], start: [{ type: i0.Input, args: [{ isSignal: true, alias: "start", required: false }] }], marks: [{ type: i0.Input, args: [{ isSignal: true, alias: "marks", required: false }] }], wrap: [{ type: i0.Input, args: [{ isSignal: true, alias: "wrap", required: false }] }, { type: i0.Output, args: ["wrapChange"] }], defaultWrap: [{ type: i0.Input, args: [{ isSignal: true, alias: "defaultWrap", required: false }] }], collapseAfter: [{ type: i0.Input, args: [{ isSignal: true, alias: "collapseAfter", required: false }] }], revealed: [{ type: i0.Input, args: [{ isSignal: true, alias: "revealed", required: false }] }, { type: i0.Output, args: ["revealedChange"] }], defaultRevealed: [{ type: i0.Input, args: [{ isSignal: true, alias: "defaultRevealed", required: false }] }], maxLines: [{ type: i0.Input, args: [{ isSignal: true, alias: "maxLines", required: false }] }], copy: [{ type: i0.Input, args: [{ isSignal: true, alias: "copy", required: false }] }], copyRemoved: [{ type: i0.Input, args: [{ isSignal: true, alias: "copyRemoved", required: false }] }], loading: [{ type: i0.Input, args: [{ isSignal: true, alias: "loading", required: false }] }], messages: [{ type: i0.Input, args: [{ isSignal: true, alias: "messages", required: false }] }], tabSize: [{ type: i0.Input, args: [{ isSignal: true, alias: "tabSize", required: false }] }], wrapChangeRequest: [{ type: i0.Output, args: ["wrapChangeRequest"] }], revealedChangeRequest: [{ type: i0.Output, args: ["revealedChangeRequest"] }], copyRequest: [{ type: i0.Output, args: ["copyRequest"] }], highlightError: [{ type: i0.Output, args: ["highlightError"] }], body: [{ type: i0.ViewChild, args: ['body', { isSignal: true }] }], lineTemplate: [{ type: i0.ContentChild, args: [i0.forwardRef(() => SlCodeBlockLine), { isSignal: true }] }], action: [{ type: i0.ContentChild, args: [i0.forwardRef(() => SlCodeBlockAction), { isSignal: true }] }] } });
|
|
470
484
|
|
|
471
485
|
/**
|