@slotted/angular 0.1.0-beta.7 → 0.1.0-beta.9
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/docs/calendar.json +1 -1
- package/docs/code-block.json +92 -92
- package/docs/code-block.md +69 -69
- package/docs/currency-field.json +7 -0
- package/docs/currency-field.md +1 -0
- package/docs/data-grid.examples.md +1 -1
- package/docs/data-grid.json +21 -4
- package/docs/data-grid.md +1 -1
- package/docs/data-grid.props.md +5 -3
- package/docs/dialog.examples.md +138 -136
- package/docs/dialog.json +8 -8
- package/docs/filter-bar.json +118 -118
- package/docs/filter-bar.md +79 -79
- package/docs/guidelines/async-feedback.md +10 -0
- package/docs/guidelines/composition.md +11 -7
- package/docs/guidelines/index.md +6 -1
- package/docs/guidelines/list-pages.md +30 -0
- package/docs/guidelines/overviews.md +10 -0
- package/docs/markdown.json +79 -79
- package/docs/markdown.md +65 -65
- package/docs/page-header.json +1 -1
- package/docs/skills/compose-screen/SKILL.md +22 -10
- package/docs/skills/review-screen/SKILL.md +6 -0
- package/docs/skills/waiting-states/SKILL.md +4 -1
- package/docs/tags-input.json +28 -2
- package/docs/tags-input.md +4 -1
- package/docs/timeline.json +131 -131
- package/docs/timeline.md +123 -123
- package/fesm2022/slotted-angular-accordion.mjs +4 -2
- package/fesm2022/slotted-angular-accordion.mjs.map +1 -1
- package/fesm2022/slotted-angular-action-bar.mjs +21 -10
- 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 +17 -11
- package/fesm2022/slotted-angular-alert.mjs.map +1 -1
- package/fesm2022/slotted-angular-app-shell.mjs +52 -40
- 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 +9 -6
- 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 +53 -25
- package/fesm2022/slotted-angular-button.mjs.map +1 -1
- package/fesm2022/slotted-angular-calendar.mjs +82 -30
- 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 +158 -64
- package/fesm2022/slotted-angular-cascader.mjs.map +1 -1
- package/fesm2022/slotted-angular-chart.mjs +4 -2
- 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 +13 -8
- 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 +77 -31
- 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 +98 -32
- package/fesm2022/slotted-angular-currency-field.mjs.map +1 -1
- package/fesm2022/slotted-angular-dashboard-grid.mjs +127 -44
- package/fesm2022/slotted-angular-dashboard-grid.mjs.map +1 -1
- package/fesm2022/slotted-angular-data-grid.mjs +309 -104
- 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 +40 -14
- package/fesm2022/slotted-angular-date-field.mjs.map +1 -1
- package/fesm2022/slotted-angular-date-picker.mjs +19 -9
- package/fesm2022/slotted-angular-date-picker.mjs.map +1 -1
- package/fesm2022/slotted-angular-date-range-picker.mjs +41 -16
- 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 +37 -23
- package/fesm2022/slotted-angular-datetime-picker.mjs.map +1 -1
- package/fesm2022/slotted-angular-datetime-range-picker.mjs +111 -42
- 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 +61 -28
- 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 +38 -26
- package/fesm2022/slotted-angular-drawer.mjs.map +1 -1
- package/fesm2022/slotted-angular-entity-picker.mjs +195 -67
- package/fesm2022/slotted-angular-entity-picker.mjs.map +1 -1
- package/fesm2022/slotted-angular-event-calendar.mjs +259 -102
- 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 +104 -43
- 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 +10 -8
- 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 +14 -10
- 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 +41 -27
- 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 +133 -57
- 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 +107 -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 +72 -42
- package/fesm2022/slotted-angular-page-header.mjs.map +1 -1
- package/fesm2022/slotted-angular-page.mjs +18 -9
- 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 +25 -18
- package/fesm2022/slotted-angular-popover.mjs.map +1 -1
- package/fesm2022/slotted-angular-progress-indicator.mjs +122 -30
- package/fesm2022/slotted-angular-progress-indicator.mjs.map +1 -1
- package/fesm2022/slotted-angular-prompt-composer.mjs +24 -18
- 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 +9 -5
- package/fesm2022/slotted-angular-scroll-area.mjs.map +1 -1
- package/fesm2022/slotted-angular-section.mjs +34 -15
- package/fesm2022/slotted-angular-section.mjs.map +1 -1
- package/fesm2022/slotted-angular-segmented-control.mjs +15 -9
- package/fesm2022/slotted-angular-segmented-control.mjs.map +1 -1
- package/fesm2022/slotted-angular-select.mjs +135 -53
- 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 +29 -13
- 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 +135 -72
- package/fesm2022/slotted-angular-table.mjs.map +1 -1
- package/fesm2022/slotted-angular-tabs.mjs +31 -14
- 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 +28 -14
- package/fesm2022/slotted-angular-time-picker.mjs.map +1 -1
- package/fesm2022/slotted-angular-time-range-picker.mjs +109 -40
- 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 +42 -31
- package/fesm2022/slotted-angular-toast.mjs.map +1 -1
- package/fesm2022/slotted-angular-toggle-group.mjs +10 -6
- 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 +21 -10
- package/fesm2022/slotted-angular-toolbar.mjs.map +1 -1
- package/fesm2022/slotted-angular-tooltip.mjs +8 -5
- 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 +46 -21
- 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 +1 -1
- package/types/slotted-angular-alert.d.ts.map +1 -1
- 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.map +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.map +1 -1
- package/types/slotted-angular-button.d.ts.map +1 -1
- package/types/slotted-angular-calendar.d.ts +2 -0
- 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.map +1 -1
- package/types/slotted-angular-checkbox-group.d.ts.map +1 -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 +1 -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 +39 -13
- 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 +26 -2
- 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.map +1 -1
- package/types/slotted-angular-date-picker.d.ts.map +1 -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.map +1 -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 +2 -1
- 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.map +1 -1
- package/types/slotted-angular-entity-picker.d.ts.map +1 -1
- 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 +1 -1
- 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 +1 -1
- 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.map +1 -1
- 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.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.map +1 -1
- package/types/slotted-angular-multi-select.d.ts +1 -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.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 +1 -1
- 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.map +1 -1
- 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.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.map +1 -1
- package/types/slotted-angular-segmented-control.d.ts.map +1 -1
- package/types/slotted-angular-select.d.ts +1 -1
- 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.map +1 -1
- 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.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.map +1 -1
- package/types/slotted-angular-tabs.d.ts.map +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-time-field.d.ts.map +1 -1
- package/types/slotted-angular-time-picker.d.ts.map +1 -1
- package/types/slotted-angular-time-range-picker.d.ts.map +1 -1
- package/types/slotted-angular-timeline.d.ts.map +1 -1
- package/types/slotted-angular-toast.d.ts +2 -2
- package/types/slotted-angular-toast.d.ts.map +1 -1
- package/types/slotted-angular-toggle-group.d.ts.map +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.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
|
@@ -188,13 +188,15 @@ class SlCollapsible {
|
|
|
188
188
|
this.open.set(next);
|
|
189
189
|
}
|
|
190
190
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.7", ngImport: i0, type: SlCollapsible, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
191
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.1.7", type: SlCollapsible, isStandalone: true, selector: "[slCollapsible]", inputs: { open: { classPropertyName: "open", publicName: "open", isSignal: true, isRequired: false, transformFunction: null }, value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, loading: { classPropertyName: "loading", publicName: "loading", isSignal: true, isRequired: false, transformFunction: null }, region: { classPropertyName: "region", publicName: "region", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, variant: { classPropertyName: "variant", publicName: "variant", isSignal: true, isRequired: false, transformFunction: null }, indicator: { classPropertyName: "indicator", publicName: "indicator", isSignal: true, isRequired: false, transformFunction: null }, togglePlacement: { classPropertyName: "togglePlacement", publicName: "togglePlacement", isSignal: true, isRequired: false, transformFunction: null }, level: { classPropertyName: "level", publicName: "level", isSignal: true, isRequired: false, transformFunction: null }, mount: { classPropertyName: "mount", publicName: "mount", isSignal: true, isRequired: false, transformFunction: null }, truncate: { classPropertyName: "truncate", publicName: "truncate", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { open: "openChange", openChangeRequest: "openChangeRequest" }, host: { attributes: { "data-ui": "collapsible", "data-part": "root" }, properties: { "attr.data-value": "identity()", "attr.data-size": "resolvedSize()", "attr.data-variant": "resolvedVariant()", "attr.data-indicator": "resolvedIndicator()", "attr.data-toggle-placement": "resolvedTogglePlacement()", "attr.data-mount": "resolvedMount()", "attr.data-truncate": "resolvedTruncate() ? '' : null", "attr.data-open": "isOpen() ? '' : null", "attr.data-disabled": "resolvedDisabled() ? '' : null", "attr.data-loading": "loading() ? '' : null" } }, exportAs: ["slCollapsible"], ngImport: i0, template: '<ng-content />', isInline: true, styles: ["@layer slotted.components{[data-ui=collapsible]{--_height: var(--slotted-control-height-md, 34px);--_padding-inline: var(--slotted-control-padding-inline-md, .8125rem);--_gap: var(--slotted-control-gap-md, .5rem);--_icon-size: var(--slotted-control-icon-size-md, 16px);--_font-size: var(--slotted-font-size-md, .875rem);--_description-font-size: var(--slotted-font-size-xs, .75rem);--_panel-font-size: var(--slotted-font-size-md, .875rem);--_padding-block: var(--slotted-space-4, .5rem);--_rule-size: var(--slotted-border-width-thin, 1px);display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto auto;inline-size:100%;min-inline-size:0}[data-ui=collapsible][data-size=sm]{--_height: var(--slotted-control-height-sm, 30px);--_font-size: var(--slotted-font-size-sm, .8125rem);--_description-font-size: var(--slotted-font-size-xs, .75rem);--_panel-font-size: var(--slotted-font-size-sm, .8125rem);--_padding-inline: var(--slotted-control-padding-inline-sm, .625rem);--_gap: var(--slotted-control-gap-sm, .375rem);--_icon-size: var(--slotted-control-icon-size-sm, 14px);--_padding-block: var(--slotted-space-3, .375rem)}[data-ui=collapsible][data-size=lg]{--_height: var(--slotted-control-height-lg, 38px);--_font-size: var(--slotted-font-size-lg, 1rem);--_description-font-size: var(--slotted-font-size-sm, .8125rem);--_panel-font-size: var(--slotted-font-size-md, .875rem);--_padding-inline: var(--slotted-control-padding-inline-lg, 1rem);--_gap: var(--slotted-control-gap-lg, .5rem);--_icon-size: var(--slotted-control-icon-size-lg, 18px);--_padding-block: var(--slotted-space-5, .75rem)}[data-ui=collapsible]>[data-part=header]{font:inherit;grid-column:1;grid-row:1;margin:0;min-inline-size:0}[data-ui=collapsible]>[data-part=header]>[data-part=trigger]{align-items:center;appearance:none;background-color:var(--slotted-collapsible-background, transparent);border:0;color:var(--slotted-collapsible-color, var(--slotted-text, CanvasText));column-gap:var(--_gap);cursor:pointer;display:grid;font-family:var(--slotted-control-font-family, inherit);font-size:var(--_font-size);font-weight:var(--slotted-font-weight-medium, 500);grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto auto;justify-self:stretch;letter-spacing:var(--slotted-control-letter-spacing, 0);line-height:var(--slotted-line-height-md, 1.5);min-block-size:var(--_height);min-inline-size:0;padding-block:var(--_padding-block);padding-inline:var(--slotted-collapsible-padding-inline, var(--_padding-inline));text-align:start;transition:background-color var(--slotted-control-transition-duration, var(--slotted-duration-short)) var(--slotted-control-transition-easing, var(--slotted-easing-standard)),color var(--slotted-control-transition-duration, var(--slotted-duration-short)) var(--slotted-control-transition-easing, var(--slotted-easing-standard))}[data-ui=collapsible]>[data-part=header]>[data-part=trigger]:focus-visible{outline:var(--slotted-focus-ring-width, 2px) solid var(--slotted-focus-ring-color, Highlight);outline-offset:calc(-1 * var(--slotted-focus-ring-offset, 2px))}[data-ui=collapsible]>[data-part=header]>[data-part=trigger]>[data-part=label]{grid-column:1;grid-row:1;min-inline-size:0;overflow-wrap:break-word;unicode-bidi:isolate}[data-ui=collapsible][data-truncate]>[data-part=header]>[data-part=trigger]>[data-part=label]{overflow:hidden;overflow-wrap:normal;text-overflow:ellipsis;white-space:nowrap}[data-ui=collapsible]>[data-part=header]>[data-part=trigger]>[data-part=description]{color:var(--slotted-collapsible-description-color, var(--slotted-text-muted, GrayText));font-size:var(--_description-font-size);font-weight:var(--slotted-font-weight-regular, 400);grid-column:1;grid-row:2;min-inline-size:0;overflow-wrap:break-word;unicode-bidi:isolate}[data-ui=collapsible][data-truncate]>[data-part=header]>[data-part=trigger]>[data-part=description]{overflow:hidden;overflow-wrap:normal;text-overflow:ellipsis;white-space:nowrap}[data-ui=collapsible]>[data-part=header]>[data-part=trigger]>[data-part=indicator]{--slotted-icon-size: var(--_icon-size);align-self:start;block-size:var(--_icon-size);color:var(--slotted-collapsible-indicator-color, currentColor);display:flex;flex:none;grid-column:2;grid-row:1;inline-size:var(--_icon-size);margin-block-start:calc((1lh - var(--_icon-size)) / 2)}[data-ui=collapsible]>[data-part=header]>[data-part=trigger]>[data-part=indicator]>[data-ui=icon]{transition:rotate var(--slotted-duration-medium) var(--slotted-control-transition-easing, var(--slotted-easing-standard))}[data-ui=collapsible][data-open]>[data-part=header]>[data-part=trigger]>[data-part=indicator]>[data-ui=icon]{rotate:180deg}[data-ui=collapsible][data-indicator=plus-minus]>[data-part=header]>[data-part=trigger]>[data-part=indicator]>[data-ui=icon]{rotate:none}[data-ui=collapsible][data-toggle-placement=start]>[data-part=header]>[data-part=trigger]{grid-template-columns:auto minmax(0,1fr)}[data-ui=collapsible][data-toggle-placement=start]>[data-part=header]>[data-part=trigger]>[data-part=indicator]{grid-column:1}[data-ui=collapsible][data-toggle-placement=start]>[data-part=header]>[data-part=trigger]>[data-part=label],[data-ui=collapsible][data-toggle-placement=start]>[data-part=header]>[data-part=trigger]>[data-part=description]{grid-column:2}[data-ui=collapsible][data-toggle-placement=start]>[data-part=panel]>[data-part=content]{padding-inline-start:calc(var(--slotted-collapsible-padding-inline, var(--_padding-inline)) + var(--_icon-size) + var(--_gap))}[data-ui=collapsible]>[data-part=actions]{align-items:center;align-self:center;column-gap:var(--_gap);display:flex;grid-column:2;grid-row:1;padding-inline-end:var(--slotted-collapsible-padding-inline, var(--_padding-inline))}[data-ui=collapsible]>[data-part=panel]{display:grid;grid-column:1 / -1;grid-row:2;grid-template-rows:0fr;min-inline-size:0;transition:grid-template-rows var(--slotted-duration-medium) var(--slotted-control-transition-easing, var(--slotted-easing-standard))}[data-ui=collapsible][data-open]>[data-part=panel]{grid-template-rows:1fr}[data-ui=collapsible]>[data-part=panel]>[data-part=content]{color:var(--slotted-collapsible-panel-color, var(--slotted-text, CanvasText));content-visibility:hidden;font-size:var(--_panel-font-size);line-height:var(--slotted-line-height-md, 1.5);min-block-size:0;opacity:0;overflow:hidden;padding-block-end:0;padding-inline:var(--slotted-collapsible-padding-inline, var(--_padding-inline));transition:content-visibility var(--slotted-duration-medium) allow-discrete,opacity var(--slotted-duration-medium) var(--slotted-control-transition-easing, var(--slotted-easing-standard))}[data-ui=collapsible][data-open]>[data-part=panel]>[data-part=content]{content-visibility:visible;opacity:1;padding-block-end:var(--_padding-block)}[data-ui=collapsible][data-loading][data-open]>[data-part=panel]>[data-part=content]{min-block-size:calc(var(--_panel-font-size) * var(--slotted-line-height-md, 1.5))}[data-ui=collapsible]:not([data-disabled])>[data-part=header]>[data-part=trigger]:enabled:hover{background-color:var( --slotted-collapsible-hover-background, var(--slotted-tone-secondary-subtle-hover) );color:var(--slotted-collapsible-hover-color, var(--slotted-text, CanvasText))}[data-ui=collapsible]:not([data-disabled])>[data-part=header]>[data-part=trigger]:enabled:active{background-color:var( --slotted-collapsible-active-background, var(--slotted-tone-secondary-subtle-active) )}[data-ui=collapsible]>[data-part=header]>[data-part=trigger]:disabled{color:var(--slotted-disabled-foreground, GrayText);cursor:not-allowed}[data-ui=collapsible]>[data-part=header]>[data-part=trigger][aria-disabled=true]>[data-part=indicator]{opacity:.45}[data-ui=collapsible][data-disabled]{color:var(--slotted-disabled-foreground, GrayText)}[data-ui=collapsible][data-variant=ruled]{border-block-start:var(--_rule-size) solid var(--slotted-collapsible-rule-color, var(--slotted-border-subtle, ButtonBorder))}[data-ui=collapsible][data-variant=framed]{background-color:var(--slotted-collapsible-surface, var(--slotted-surface-raised, Canvas));border:var(--_rule-size) solid var(--slotted-collapsible-rule-color, var(--slotted-border-subtle, ButtonBorder));border-radius:var(--slotted-collapsible-radius, var(--slotted-radius-md, 6px));overflow:clip}[data-ui=collapsible]{container-name:slotted-collapsible;container-type:inline-size}@container slotted-collapsible (max-inline-size: 22rem){[data-ui=collapsible]>[data-part=actions]{grid-column:1 / -1;grid-row:2;justify-content:flex-end;padding-block-end:var(--_padding-block);padding-inline-start:var(--slotted-collapsible-padding-inline, var(--_padding-inline))}[data-ui=collapsible]>[data-part=panel]{grid-row:3}}}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
191
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.1.7", type: SlCollapsible, isStandalone: true, selector: "[slCollapsible]", inputs: { open: { classPropertyName: "open", publicName: "open", isSignal: true, isRequired: false, transformFunction: null }, value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, loading: { classPropertyName: "loading", publicName: "loading", isSignal: true, isRequired: false, transformFunction: null }, region: { classPropertyName: "region", publicName: "region", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, variant: { classPropertyName: "variant", publicName: "variant", isSignal: true, isRequired: false, transformFunction: null }, indicator: { classPropertyName: "indicator", publicName: "indicator", isSignal: true, isRequired: false, transformFunction: null }, togglePlacement: { classPropertyName: "togglePlacement", publicName: "togglePlacement", isSignal: true, isRequired: false, transformFunction: null }, level: { classPropertyName: "level", publicName: "level", isSignal: true, isRequired: false, transformFunction: null }, mount: { classPropertyName: "mount", publicName: "mount", isSignal: true, isRequired: false, transformFunction: null }, truncate: { classPropertyName: "truncate", publicName: "truncate", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { open: "openChange", openChangeRequest: "openChangeRequest" }, host: { attributes: { "data-ui": "collapsible", "data-ui-collapsible": "", "data-part": "root", "data-part-root": "" }, properties: { "attr.data-value": "identity()", "attr.data-size": "resolvedSize()", "attr.data-variant": "resolvedVariant()", "attr.data-indicator": "resolvedIndicator()", "attr.data-toggle-placement": "resolvedTogglePlacement()", "attr.data-mount": "resolvedMount()", "attr.data-truncate": "resolvedTruncate() ? '' : null", "attr.data-open": "isOpen() ? '' : null", "attr.data-disabled": "resolvedDisabled() ? '' : null", "attr.data-loading": "loading() ? '' : null" } }, exportAs: ["slCollapsible"], ngImport: i0, template: '<ng-content />', isInline: true, styles: ["@layer slotted.components{[data-ui-collapsible]{--_height: var(--slotted-control-height-md, 34px);--_padding-inline: var(--slotted-control-padding-inline-md, .8125rem);--_gap: var(--slotted-control-gap-md, .5rem);--_icon-size: var(--slotted-control-icon-size-md, 16px);--_font-size: var(--slotted-font-size-md, .875rem);--_description-font-size: var(--slotted-font-size-xs, .75rem);--_panel-font-size: var(--slotted-font-size-md, .875rem);--_padding-block: var(--slotted-space-4, .5rem);--_rule-size: var(--slotted-border-width-thin, 1px);display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto auto;inline-size:100%;min-inline-size:0}[data-ui-collapsible][data-size=sm]{--_height: var(--slotted-control-height-sm, 30px);--_font-size: var(--slotted-font-size-sm, .8125rem);--_description-font-size: var(--slotted-font-size-xs, .75rem);--_panel-font-size: var(--slotted-font-size-sm, .8125rem);--_padding-inline: var(--slotted-control-padding-inline-sm, .625rem);--_gap: var(--slotted-control-gap-sm, .375rem);--_icon-size: var(--slotted-control-icon-size-sm, 14px);--_padding-block: var(--slotted-space-3, .375rem)}[data-ui-collapsible][data-size=lg]{--_height: var(--slotted-control-height-lg, 38px);--_font-size: var(--slotted-font-size-lg, 1rem);--_description-font-size: var(--slotted-font-size-sm, .8125rem);--_panel-font-size: var(--slotted-font-size-md, .875rem);--_padding-inline: var(--slotted-control-padding-inline-lg, 1rem);--_gap: var(--slotted-control-gap-lg, .5rem);--_icon-size: var(--slotted-control-icon-size-lg, 18px);--_padding-block: var(--slotted-space-5, .75rem)}[data-ui-collapsible]>[data-part-header]{font:inherit;grid-column:1;grid-row:1;margin:0;min-inline-size:0}[data-ui-collapsible]>[data-part-header]>[data-part-trigger]{align-items:center;appearance:none;background-color:var(--slotted-collapsible-background, transparent);border:0;color:var(--slotted-collapsible-color, var(--slotted-text, CanvasText));column-gap:var(--_gap);cursor:pointer;display:grid;font-family:var(--slotted-control-font-family, inherit);font-size:var(--_font-size);font-weight:var(--slotted-font-weight-medium, 500);grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto auto;justify-self:stretch;letter-spacing:var(--slotted-control-letter-spacing, 0);line-height:var(--slotted-line-height-md, 1.5);min-block-size:var(--_height);min-inline-size:0;padding-block:var(--_padding-block);padding-inline:var(--slotted-collapsible-padding-inline, var(--_padding-inline));text-align:start;transition:background-color var(--slotted-control-transition-duration, var(--slotted-duration-short)) var(--slotted-control-transition-easing, var(--slotted-easing-standard)),color var(--slotted-control-transition-duration, var(--slotted-duration-short)) var(--slotted-control-transition-easing, var(--slotted-easing-standard))}[data-ui-collapsible]>[data-part-header]>[data-part-trigger]:focus-visible{outline:var(--slotted-focus-ring-width, 2px) solid var(--slotted-focus-ring-color, Highlight);outline-offset:calc(-1 * var(--slotted-focus-ring-offset, 2px))}[data-ui-collapsible]>[data-part-header]>[data-part-trigger]>[data-part-label]{grid-column:1;grid-row:1;min-inline-size:0;overflow-wrap:break-word;unicode-bidi:isolate}[data-ui-collapsible][data-truncate]>[data-part-header]>[data-part-trigger]>[data-part-label]{overflow:hidden;overflow-wrap:normal;text-overflow:ellipsis;white-space:nowrap}[data-ui-collapsible]>[data-part-header]>[data-part-trigger]>[data-part-description]{color:var(--slotted-collapsible-description-color, var(--slotted-text-muted, GrayText));font-size:var(--_description-font-size);font-weight:var(--slotted-font-weight-regular, 400);grid-column:1;grid-row:2;min-inline-size:0;overflow-wrap:break-word;unicode-bidi:isolate}[data-ui-collapsible][data-truncate]>[data-part-header]>[data-part-trigger]>[data-part-description]{overflow:hidden;overflow-wrap:normal;text-overflow:ellipsis;white-space:nowrap}[data-ui-collapsible]>[data-part-header]>[data-part-trigger]>[data-part-indicator]{--slotted-icon-size: var(--_icon-size);align-self:start;block-size:var(--_icon-size);color:var(--slotted-collapsible-indicator-color, currentColor);display:flex;flex:none;grid-column:2;grid-row:1;inline-size:var(--_icon-size);margin-block-start:calc((1lh - var(--_icon-size)) / 2)}[data-ui-collapsible]>[data-part-header]>[data-part-trigger]>[data-part-indicator]>[data-ui-icon]{transition:rotate var(--slotted-duration-medium) var(--slotted-control-transition-easing, var(--slotted-easing-standard))}[data-ui-collapsible][data-open]>[data-part-header]>[data-part-trigger]>[data-part-indicator]>[data-ui-icon]{rotate:180deg}[data-ui-collapsible][data-indicator=plus-minus]>[data-part-header]>[data-part-trigger]>[data-part-indicator]>[data-ui-icon]{rotate:none}[data-ui-collapsible][data-toggle-placement=start]>[data-part-header]>[data-part-trigger]{grid-template-columns:auto minmax(0,1fr)}[data-ui-collapsible][data-toggle-placement=start]>[data-part-header]>[data-part-trigger]>[data-part-indicator]{grid-column:1}[data-ui-collapsible][data-toggle-placement=start]>[data-part-header]>[data-part-trigger]>[data-part-label],[data-ui-collapsible][data-toggle-placement=start]>[data-part-header]>[data-part-trigger]>[data-part-description]{grid-column:2}[data-ui-collapsible][data-toggle-placement=start]>[data-part-panel]>[data-part-content]{padding-inline-start:calc(var(--slotted-collapsible-padding-inline, var(--_padding-inline)) + var(--_icon-size) + var(--_gap))}[data-ui-collapsible]>[data-part-actions]{align-items:center;align-self:center;column-gap:var(--_gap);display:flex;grid-column:2;grid-row:1;padding-inline-end:var(--slotted-collapsible-padding-inline, var(--_padding-inline))}[data-ui-collapsible]>[data-part-panel]{display:grid;grid-column:1 / -1;grid-row:2;grid-template-rows:0fr;min-inline-size:0;transition:grid-template-rows var(--slotted-duration-medium) var(--slotted-control-transition-easing, var(--slotted-easing-standard))}[data-ui-collapsible][data-open]>[data-part-panel]{grid-template-rows:1fr}[data-ui-collapsible]>[data-part-panel]>[data-part-content]{color:var(--slotted-collapsible-panel-color, var(--slotted-text, CanvasText));content-visibility:hidden;font-size:var(--_panel-font-size);line-height:var(--slotted-line-height-md, 1.5);min-block-size:0;opacity:0;overflow:hidden;padding-block-end:0;padding-inline:var(--slotted-collapsible-padding-inline, var(--_padding-inline));transition:content-visibility var(--slotted-duration-medium) allow-discrete,opacity var(--slotted-duration-medium) var(--slotted-control-transition-easing, var(--slotted-easing-standard))}[data-ui-collapsible][data-open]>[data-part-panel]>[data-part-content]{content-visibility:visible;opacity:1;padding-block-end:var(--_padding-block)}[data-ui-collapsible][data-loading][data-open]>[data-part-panel]>[data-part-content]{min-block-size:calc(var(--_panel-font-size) * var(--slotted-line-height-md, 1.5))}[data-ui-collapsible]:not([data-disabled])>[data-part-header]>[data-part-trigger]:enabled:hover{background-color:var( --slotted-collapsible-hover-background, var(--slotted-tone-secondary-subtle-hover) );color:var(--slotted-collapsible-hover-color, var(--slotted-text, CanvasText))}[data-ui-collapsible]:not([data-disabled])>[data-part-header]>[data-part-trigger]:enabled:active{background-color:var( --slotted-collapsible-active-background, var(--slotted-tone-secondary-subtle-active) )}[data-ui-collapsible]>[data-part-header]>[data-part-trigger]:disabled{color:var(--slotted-disabled-foreground, GrayText);cursor:not-allowed}[data-ui-collapsible]>[data-part-header]>[data-part-trigger][aria-disabled=true]>[data-part-indicator]{opacity:.45}[data-ui-collapsible][data-disabled]{color:var(--slotted-disabled-foreground, GrayText)}[data-ui-collapsible][data-variant=ruled]{border-block-start:var(--_rule-size) solid var(--slotted-collapsible-rule-color, var(--slotted-border-subtle, ButtonBorder))}[data-ui-collapsible][data-variant=framed]{background-color:var(--slotted-collapsible-surface, var(--slotted-surface-raised, Canvas));border:var(--_rule-size) solid var(--slotted-collapsible-rule-color, var(--slotted-border-subtle, ButtonBorder));border-radius:var(--slotted-collapsible-radius, var(--slotted-radius-md, 6px));overflow:clip}[data-ui-collapsible]{container-name:slotted-collapsible;container-type:inline-size}@container slotted-collapsible (max-inline-size: 22rem){[data-ui-collapsible]>[data-part-actions]{grid-column:1 / -1;grid-row:2;justify-content:flex-end;padding-block-end:var(--_padding-block);padding-inline-start:var(--slotted-collapsible-padding-inline, var(--_padding-inline))}[data-ui-collapsible]>[data-part-panel]{grid-row:3}}}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
192
192
|
}
|
|
193
193
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.7", ngImport: i0, type: SlCollapsible, decorators: [{
|
|
194
194
|
type: Component,
|
|
195
195
|
args: [{ selector: '[slCollapsible]', standalone: true, exportAs: 'slCollapsible', template: '<ng-content />', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: {
|
|
196
196
|
'data-ui': 'collapsible',
|
|
197
|
+
'data-ui-collapsible': '',
|
|
197
198
|
'data-part': 'root',
|
|
199
|
+
'data-part-root': '',
|
|
198
200
|
'[attr.data-value]': 'identity()',
|
|
199
201
|
'[attr.data-size]': 'resolvedSize()',
|
|
200
202
|
'[attr.data-variant]': 'resolvedVariant()',
|
|
@@ -205,7 +207,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.7", ngImpor
|
|
|
205
207
|
'[attr.data-open]': "isOpen() ? '' : null",
|
|
206
208
|
'[attr.data-disabled]': "resolvedDisabled() ? '' : null",
|
|
207
209
|
'[attr.data-loading]': "loading() ? '' : null",
|
|
208
|
-
}, styles: ["@layer slotted.components{[data-ui
|
|
210
|
+
}, styles: ["@layer slotted.components{[data-ui-collapsible]{--_height: var(--slotted-control-height-md, 34px);--_padding-inline: var(--slotted-control-padding-inline-md, .8125rem);--_gap: var(--slotted-control-gap-md, .5rem);--_icon-size: var(--slotted-control-icon-size-md, 16px);--_font-size: var(--slotted-font-size-md, .875rem);--_description-font-size: var(--slotted-font-size-xs, .75rem);--_panel-font-size: var(--slotted-font-size-md, .875rem);--_padding-block: var(--slotted-space-4, .5rem);--_rule-size: var(--slotted-border-width-thin, 1px);display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto auto;inline-size:100%;min-inline-size:0}[data-ui-collapsible][data-size=sm]{--_height: var(--slotted-control-height-sm, 30px);--_font-size: var(--slotted-font-size-sm, .8125rem);--_description-font-size: var(--slotted-font-size-xs, .75rem);--_panel-font-size: var(--slotted-font-size-sm, .8125rem);--_padding-inline: var(--slotted-control-padding-inline-sm, .625rem);--_gap: var(--slotted-control-gap-sm, .375rem);--_icon-size: var(--slotted-control-icon-size-sm, 14px);--_padding-block: var(--slotted-space-3, .375rem)}[data-ui-collapsible][data-size=lg]{--_height: var(--slotted-control-height-lg, 38px);--_font-size: var(--slotted-font-size-lg, 1rem);--_description-font-size: var(--slotted-font-size-sm, .8125rem);--_panel-font-size: var(--slotted-font-size-md, .875rem);--_padding-inline: var(--slotted-control-padding-inline-lg, 1rem);--_gap: var(--slotted-control-gap-lg, .5rem);--_icon-size: var(--slotted-control-icon-size-lg, 18px);--_padding-block: var(--slotted-space-5, .75rem)}[data-ui-collapsible]>[data-part-header]{font:inherit;grid-column:1;grid-row:1;margin:0;min-inline-size:0}[data-ui-collapsible]>[data-part-header]>[data-part-trigger]{align-items:center;appearance:none;background-color:var(--slotted-collapsible-background, transparent);border:0;color:var(--slotted-collapsible-color, var(--slotted-text, CanvasText));column-gap:var(--_gap);cursor:pointer;display:grid;font-family:var(--slotted-control-font-family, inherit);font-size:var(--_font-size);font-weight:var(--slotted-font-weight-medium, 500);grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto auto;justify-self:stretch;letter-spacing:var(--slotted-control-letter-spacing, 0);line-height:var(--slotted-line-height-md, 1.5);min-block-size:var(--_height);min-inline-size:0;padding-block:var(--_padding-block);padding-inline:var(--slotted-collapsible-padding-inline, var(--_padding-inline));text-align:start;transition:background-color var(--slotted-control-transition-duration, var(--slotted-duration-short)) var(--slotted-control-transition-easing, var(--slotted-easing-standard)),color var(--slotted-control-transition-duration, var(--slotted-duration-short)) var(--slotted-control-transition-easing, var(--slotted-easing-standard))}[data-ui-collapsible]>[data-part-header]>[data-part-trigger]:focus-visible{outline:var(--slotted-focus-ring-width, 2px) solid var(--slotted-focus-ring-color, Highlight);outline-offset:calc(-1 * var(--slotted-focus-ring-offset, 2px))}[data-ui-collapsible]>[data-part-header]>[data-part-trigger]>[data-part-label]{grid-column:1;grid-row:1;min-inline-size:0;overflow-wrap:break-word;unicode-bidi:isolate}[data-ui-collapsible][data-truncate]>[data-part-header]>[data-part-trigger]>[data-part-label]{overflow:hidden;overflow-wrap:normal;text-overflow:ellipsis;white-space:nowrap}[data-ui-collapsible]>[data-part-header]>[data-part-trigger]>[data-part-description]{color:var(--slotted-collapsible-description-color, var(--slotted-text-muted, GrayText));font-size:var(--_description-font-size);font-weight:var(--slotted-font-weight-regular, 400);grid-column:1;grid-row:2;min-inline-size:0;overflow-wrap:break-word;unicode-bidi:isolate}[data-ui-collapsible][data-truncate]>[data-part-header]>[data-part-trigger]>[data-part-description]{overflow:hidden;overflow-wrap:normal;text-overflow:ellipsis;white-space:nowrap}[data-ui-collapsible]>[data-part-header]>[data-part-trigger]>[data-part-indicator]{--slotted-icon-size: var(--_icon-size);align-self:start;block-size:var(--_icon-size);color:var(--slotted-collapsible-indicator-color, currentColor);display:flex;flex:none;grid-column:2;grid-row:1;inline-size:var(--_icon-size);margin-block-start:calc((1lh - var(--_icon-size)) / 2)}[data-ui-collapsible]>[data-part-header]>[data-part-trigger]>[data-part-indicator]>[data-ui-icon]{transition:rotate var(--slotted-duration-medium) var(--slotted-control-transition-easing, var(--slotted-easing-standard))}[data-ui-collapsible][data-open]>[data-part-header]>[data-part-trigger]>[data-part-indicator]>[data-ui-icon]{rotate:180deg}[data-ui-collapsible][data-indicator=plus-minus]>[data-part-header]>[data-part-trigger]>[data-part-indicator]>[data-ui-icon]{rotate:none}[data-ui-collapsible][data-toggle-placement=start]>[data-part-header]>[data-part-trigger]{grid-template-columns:auto minmax(0,1fr)}[data-ui-collapsible][data-toggle-placement=start]>[data-part-header]>[data-part-trigger]>[data-part-indicator]{grid-column:1}[data-ui-collapsible][data-toggle-placement=start]>[data-part-header]>[data-part-trigger]>[data-part-label],[data-ui-collapsible][data-toggle-placement=start]>[data-part-header]>[data-part-trigger]>[data-part-description]{grid-column:2}[data-ui-collapsible][data-toggle-placement=start]>[data-part-panel]>[data-part-content]{padding-inline-start:calc(var(--slotted-collapsible-padding-inline, var(--_padding-inline)) + var(--_icon-size) + var(--_gap))}[data-ui-collapsible]>[data-part-actions]{align-items:center;align-self:center;column-gap:var(--_gap);display:flex;grid-column:2;grid-row:1;padding-inline-end:var(--slotted-collapsible-padding-inline, var(--_padding-inline))}[data-ui-collapsible]>[data-part-panel]{display:grid;grid-column:1 / -1;grid-row:2;grid-template-rows:0fr;min-inline-size:0;transition:grid-template-rows var(--slotted-duration-medium) var(--slotted-control-transition-easing, var(--slotted-easing-standard))}[data-ui-collapsible][data-open]>[data-part-panel]{grid-template-rows:1fr}[data-ui-collapsible]>[data-part-panel]>[data-part-content]{color:var(--slotted-collapsible-panel-color, var(--slotted-text, CanvasText));content-visibility:hidden;font-size:var(--_panel-font-size);line-height:var(--slotted-line-height-md, 1.5);min-block-size:0;opacity:0;overflow:hidden;padding-block-end:0;padding-inline:var(--slotted-collapsible-padding-inline, var(--_padding-inline));transition:content-visibility var(--slotted-duration-medium) allow-discrete,opacity var(--slotted-duration-medium) var(--slotted-control-transition-easing, var(--slotted-easing-standard))}[data-ui-collapsible][data-open]>[data-part-panel]>[data-part-content]{content-visibility:visible;opacity:1;padding-block-end:var(--_padding-block)}[data-ui-collapsible][data-loading][data-open]>[data-part-panel]>[data-part-content]{min-block-size:calc(var(--_panel-font-size) * var(--slotted-line-height-md, 1.5))}[data-ui-collapsible]:not([data-disabled])>[data-part-header]>[data-part-trigger]:enabled:hover{background-color:var( --slotted-collapsible-hover-background, var(--slotted-tone-secondary-subtle-hover) );color:var(--slotted-collapsible-hover-color, var(--slotted-text, CanvasText))}[data-ui-collapsible]:not([data-disabled])>[data-part-header]>[data-part-trigger]:enabled:active{background-color:var( --slotted-collapsible-active-background, var(--slotted-tone-secondary-subtle-active) )}[data-ui-collapsible]>[data-part-header]>[data-part-trigger]:disabled{color:var(--slotted-disabled-foreground, GrayText);cursor:not-allowed}[data-ui-collapsible]>[data-part-header]>[data-part-trigger][aria-disabled=true]>[data-part-indicator]{opacity:.45}[data-ui-collapsible][data-disabled]{color:var(--slotted-disabled-foreground, GrayText)}[data-ui-collapsible][data-variant=ruled]{border-block-start:var(--_rule-size) solid var(--slotted-collapsible-rule-color, var(--slotted-border-subtle, ButtonBorder))}[data-ui-collapsible][data-variant=framed]{background-color:var(--slotted-collapsible-surface, var(--slotted-surface-raised, Canvas));border:var(--_rule-size) solid var(--slotted-collapsible-rule-color, var(--slotted-border-subtle, ButtonBorder));border-radius:var(--slotted-collapsible-radius, var(--slotted-radius-md, 6px));overflow:clip}[data-ui-collapsible]{container-name:slotted-collapsible;container-type:inline-size}@container slotted-collapsible (max-inline-size: 22rem){[data-ui-collapsible]>[data-part-actions]{grid-column:1 / -1;grid-row:2;justify-content:flex-end;padding-block-end:var(--_padding-block);padding-inline-start:var(--slotted-collapsible-padding-inline, var(--_padding-inline))}[data-ui-collapsible]>[data-part-panel]{grid-row:3}}}\n"] }]
|
|
209
211
|
}], propDecorators: { open: [{ type: i0.Input, args: [{ isSignal: true, alias: "open", required: false }] }, { type: i0.Output, args: ["openChange"] }], value: [{ type: i0.Input, args: [{ isSignal: true, alias: "value", required: false }] }], disabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }], loading: [{ type: i0.Input, args: [{ isSignal: true, alias: "loading", required: false }] }], region: [{ type: i0.Input, args: [{ isSignal: true, alias: "region", required: false }] }], size: [{ type: i0.Input, args: [{ isSignal: true, alias: "size", required: false }] }], variant: [{ type: i0.Input, args: [{ isSignal: true, alias: "variant", required: false }] }], indicator: [{ type: i0.Input, args: [{ isSignal: true, alias: "indicator", required: false }] }], togglePlacement: [{ type: i0.Input, args: [{ isSignal: true, alias: "togglePlacement", required: false }] }], level: [{ type: i0.Input, args: [{ isSignal: true, alias: "level", required: false }] }], mount: [{ type: i0.Input, args: [{ isSignal: true, alias: "mount", required: false }] }], truncate: [{ type: i0.Input, args: [{ isSignal: true, alias: "truncate", required: false }] }], openChangeRequest: [{ type: i0.Output, args: ["openChangeRequest"] }] } });
|
|
210
212
|
|
|
211
213
|
const HEADINGS = new Set(['H1', 'H2', 'H3', 'H4', 'H5', 'H6']);
|
|
@@ -242,7 +244,7 @@ class SlCollapsibleHeader {
|
|
|
242
244
|
}, /* @ts-ignore */
|
|
243
245
|
...(ngDevMode ? [{ debugName: "ariaLevel" }] : /* istanbul ignore next */ []));
|
|
244
246
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.7", ngImport: i0, type: SlCollapsibleHeader, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
245
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.1.7", type: SlCollapsibleHeader, isStandalone: true, selector: "[slCollapsibleHeader]", host: { attributes: { "data-part": "header" }, properties: { "attr.role": "ariaRole()", "attr.aria-level": "ariaLevel()" } }, exportAs: ["slCollapsibleHeader"], ngImport: i0 });
|
|
247
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.1.7", type: SlCollapsibleHeader, isStandalone: true, selector: "[slCollapsibleHeader]", host: { attributes: { "data-part": "header", "data-part-header": "" }, properties: { "attr.role": "ariaRole()", "attr.aria-level": "ariaLevel()" } }, exportAs: ["slCollapsibleHeader"], ngImport: i0 });
|
|
246
248
|
}
|
|
247
249
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.7", ngImport: i0, type: SlCollapsibleHeader, decorators: [{
|
|
248
250
|
type: Directive,
|
|
@@ -252,6 +254,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.7", ngImpor
|
|
|
252
254
|
exportAs: 'slCollapsibleHeader',
|
|
253
255
|
host: {
|
|
254
256
|
'data-part': 'header',
|
|
257
|
+
'data-part-header': '',
|
|
255
258
|
'[attr.role]': 'ariaRole()',
|
|
256
259
|
'[attr.aria-level]': 'ariaLevel()',
|
|
257
260
|
},
|
|
@@ -295,14 +298,14 @@ class SlCollapsibleTrigger {
|
|
|
295
298
|
this.collapsible.toggle(!this.collapsible.isOpen(), reason, event);
|
|
296
299
|
}
|
|
297
300
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.7", ngImport: i0, type: SlCollapsibleTrigger, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
298
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.7", type: SlCollapsibleTrigger, isStandalone: true, selector: "button[slCollapsibleTrigger]", inputs: { description: { classPropertyName: "description", publicName: "description", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "data-part": "trigger", "type": "button" }, listeners: { "click": "onClick($event)" }, properties: { "attr.id": "ids().triggerId", "attr.aria-controls": "ids().panelId", "attr.aria-expanded": "collapsible.isOpen()", "attr.aria-disabled": "collapsible.held() ? 'true' : null", "disabled": "collapsible.resolvedDisabled()" } }, exportAs: ["slCollapsibleTrigger"], ngImport: i0, template: `@if (collapsible.resolvedIndicator() !== 'none') {
|
|
299
|
-
<span data-part="indicator" aria-hidden="true"
|
|
301
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.7", type: SlCollapsibleTrigger, isStandalone: true, selector: "button[slCollapsibleTrigger]", inputs: { description: { classPropertyName: "description", publicName: "description", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "data-part": "trigger", "data-part-trigger": "", "type": "button" }, listeners: { "click": "onClick($event)" }, properties: { "attr.id": "ids().triggerId", "attr.aria-controls": "ids().panelId", "attr.aria-expanded": "collapsible.isOpen()", "attr.aria-disabled": "collapsible.held() ? 'true' : null", "disabled": "collapsible.resolvedDisabled()" } }, exportAs: ["slCollapsibleTrigger"], ngImport: i0, template: `@if (collapsible.resolvedIndicator() !== 'none') {
|
|
302
|
+
<span data-part="indicator" data-part-indicator="" aria-hidden="true"
|
|
300
303
|
><span slIcon><svg slGlyph [name]="indicatorGlyph()"></svg></span
|
|
301
304
|
></span>
|
|
302
305
|
}
|
|
303
|
-
<span data-part="label"><ng-content /></span>
|
|
306
|
+
<span data-part="label" data-part-label=""><ng-content /></span>
|
|
304
307
|
@if (description()) {
|
|
305
|
-
<span data-part="description">{{ description() }}</span>
|
|
308
|
+
<span data-part="description" data-part-description="">{{ description() }}</span>
|
|
306
309
|
}`, isInline: true, dependencies: [{ kind: "component", type: SlGlyph, selector: "svg[slGlyph]", inputs: ["name", "solid"] }, { kind: "component", type: SlIcon, selector: "[slIcon]", inputs: ["directional", "label", "size", "tone"], exportAs: ["slIcon"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
307
310
|
}
|
|
308
311
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.7", ngImport: i0, type: SlCollapsibleTrigger, decorators: [{
|
|
@@ -313,18 +316,19 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.7", ngImpor
|
|
|
313
316
|
exportAs: 'slCollapsibleTrigger',
|
|
314
317
|
imports: [SlGlyph, SlIcon],
|
|
315
318
|
template: `@if (collapsible.resolvedIndicator() !== 'none') {
|
|
316
|
-
<span data-part="indicator" aria-hidden="true"
|
|
319
|
+
<span data-part="indicator" data-part-indicator="" aria-hidden="true"
|
|
317
320
|
><span slIcon><svg slGlyph [name]="indicatorGlyph()"></svg></span
|
|
318
321
|
></span>
|
|
319
322
|
}
|
|
320
|
-
<span data-part="label"><ng-content /></span>
|
|
323
|
+
<span data-part="label" data-part-label=""><ng-content /></span>
|
|
321
324
|
@if (description()) {
|
|
322
|
-
<span data-part="description">{{ description() }}</span>
|
|
325
|
+
<span data-part="description" data-part-description="">{{ description() }}</span>
|
|
323
326
|
}`,
|
|
324
327
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
325
328
|
encapsulation: ViewEncapsulation.None,
|
|
326
329
|
host: {
|
|
327
330
|
'data-part': 'trigger',
|
|
331
|
+
'data-part-trigger': '',
|
|
328
332
|
type: 'button',
|
|
329
333
|
'[attr.id]': 'ids().triggerId',
|
|
330
334
|
'[attr.aria-controls]': 'ids().panelId',
|
|
@@ -345,7 +349,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.7", ngImpor
|
|
|
345
349
|
*/
|
|
346
350
|
class SlCollapsibleActions {
|
|
347
351
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.7", ngImport: i0, type: SlCollapsibleActions, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
348
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.1.7", type: SlCollapsibleActions, isStandalone: true, selector: "[slCollapsibleActions]", host: { attributes: { "data-part": "actions" } }, exportAs: ["slCollapsibleActions"], ngImport: i0 });
|
|
352
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.1.7", type: SlCollapsibleActions, isStandalone: true, selector: "[slCollapsibleActions]", host: { attributes: { "data-part": "actions", "data-part-actions": "" } }, exportAs: ["slCollapsibleActions"], ngImport: i0 });
|
|
349
353
|
}
|
|
350
354
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.7", ngImport: i0, type: SlCollapsibleActions, decorators: [{
|
|
351
355
|
type: Directive,
|
|
@@ -353,7 +357,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.7", ngImpor
|
|
|
353
357
|
selector: '[slCollapsibleActions]',
|
|
354
358
|
standalone: true,
|
|
355
359
|
exportAs: 'slCollapsibleActions',
|
|
356
|
-
host: { 'data-part': 'actions' },
|
|
360
|
+
host: { 'data-part': 'actions', 'data-part-actions': '' },
|
|
357
361
|
}]
|
|
358
362
|
}] });
|
|
359
363
|
/**
|
|
@@ -435,8 +439,8 @@ class SlCollapsiblePanel {
|
|
|
435
439
|
return this.collapsible.ids();
|
|
436
440
|
}
|
|
437
441
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.7", ngImport: i0, type: SlCollapsiblePanel, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
438
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.7", type: SlCollapsiblePanel, isStandalone: true, selector: "[slCollapsiblePanel]", host: { attributes: { "data-part": "panel" }, properties: { "attr.id": "ids().panelId", "attr.aria-labelledby": "ids().triggerId", "attr.role": "collapsible.region() ? 'region' : null", "attr.aria-busy": "collapsible.loading() ? 'true' : null" } }, queries: [{ propertyName: "deferred", first: true, predicate: SlCollapsibleContent, descendants: true, isSignal: true }], exportAs: ["slCollapsiblePanel"], ngImport: i0, template: `@if (mounted()) {
|
|
439
|
-
<div data-part="content">
|
|
442
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.7", type: SlCollapsiblePanel, isStandalone: true, selector: "[slCollapsiblePanel]", host: { attributes: { "data-part": "panel", "data-part-panel": "" }, properties: { "attr.id": "ids().panelId", "attr.aria-labelledby": "ids().triggerId", "attr.role": "collapsible.region() ? 'region' : null", "attr.aria-busy": "collapsible.loading() ? 'true' : null" } }, queries: [{ propertyName: "deferred", first: true, predicate: SlCollapsibleContent, descendants: true, isSignal: true }], exportAs: ["slCollapsiblePanel"], ngImport: i0, template: `@if (mounted()) {
|
|
443
|
+
<div data-part="content" data-part-content="">
|
|
440
444
|
@if (deferred()) {
|
|
441
445
|
<ng-container [ngTemplateOutlet]="deferred()!.template" />
|
|
442
446
|
}
|
|
@@ -452,7 +456,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.7", ngImpor
|
|
|
452
456
|
exportAs: 'slCollapsiblePanel',
|
|
453
457
|
imports: [NgTemplateOutlet],
|
|
454
458
|
template: `@if (mounted()) {
|
|
455
|
-
<div data-part="content">
|
|
459
|
+
<div data-part="content" data-part-content="">
|
|
456
460
|
@if (deferred()) {
|
|
457
461
|
<ng-container [ngTemplateOutlet]="deferred()!.template" />
|
|
458
462
|
}
|
|
@@ -463,6 +467,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.7", ngImpor
|
|
|
463
467
|
encapsulation: ViewEncapsulation.None,
|
|
464
468
|
host: {
|
|
465
469
|
'data-part': 'panel',
|
|
470
|
+
'data-part-panel': '',
|
|
466
471
|
'[attr.id]': 'ids().panelId',
|
|
467
472
|
'[attr.aria-labelledby]': 'ids().triggerId',
|
|
468
473
|
'[attr.role]': "collapsible.region() ? 'region' : null",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"slotted-angular-collapsible.mjs","sources":["../../collapsible/src/collapsible-defaults.ts","../../collapsible/src/collapsible.ts","../../collapsible/src/collapsible-parts.ts","../../collapsible/src/slotted-angular-collapsible.ts"],"sourcesContent":["import { inject, Injectable, InjectionToken } from '@angular/core';\n\n/** The type step the header and its panel sit at. */\nexport type CollapsibleSize = 'sm' | 'md' | 'lg';\n\n/**\n * How the disclosure is drawn. `plain` paints no chrome at all, `ruled` draws a\n * hairline above the header so a stack of them reads as one list, and `framed`\n * is its own card.\n */\nexport type CollapsibleVariant = 'plain' | 'ruled' | 'framed';\n\n/**\n * The mark that says whether the panel is open. `chevron` turns between down\n * and up, `plus-minus` swaps the one bar for the pair, and `none` draws nothing\n * — which is Angular Material's `hideToggle` and Carbon's chevron-less header.\n */\nexport type CollapsibleIndicator = 'chevron' | 'plus-minus' | 'none';\n\n/** Which side of the words the mark stands on. */\nexport type CollapsibleTogglePlacement = 'end' | 'start';\n\n/**\n * The heading level the header answers to. `none` writes no heading semantics\n * at all, which is the standalone disclosure that belongs to no outline.\n *\n * The element is the consumer's own: `<h3 slCollapsibleHeader>` is a native\n * heading and the directive adds nothing, while `<div slCollapsibleHeader>`\n * gets `role=\"heading\"` and `aria-level` — the alternative the pattern itself\n * names. React reads the element off this value instead, and the two reach the\n * same accessibility tree.\n */\nexport type CollapsibleLevel = 'none' | '1' | '2' | '3' | '4' | '5' | '6';\n\n/**\n * When the panel's content exists. The box always does, so the trigger's\n * `aria-controls` never names an element that is gone.\n */\nexport type CollapsibleMount = 'active' | 'lazy' | 'eager' | 'until-found';\n\n/** Why the panel opened or closed. */\nexport type CollapsibleOpenReason = 'pointer' | 'keyboard' | 'select' | 'programmatic';\n\nexport interface CollapsibleDefaults {\n indicator: CollapsibleIndicator;\n level: CollapsibleLevel;\n mount: CollapsibleMount;\n size: CollapsibleSize;\n togglePlacement: CollapsibleTogglePlacement;\n truncate: boolean;\n variant: CollapsibleVariant;\n}\n\nconst FALLBACK: CollapsibleDefaults = {\n indicator: 'chevron',\n level: 'none',\n mount: 'eager',\n size: 'md',\n togglePlacement: 'end',\n truncate: false,\n variant: 'plain',\n};\n\nexport const COLLAPSIBLE_DEFAULTS = new InjectionToken<CollapsibleDefaults>(\n 'slotted collapsible defaults',\n { providedIn: 'root', factory: () => FALLBACK },\n);\n\n/**\n * An application decides once how its disclosures look, rather than repeating\n * the same seven inputs on every one in a product. A disclosure that states any\n * of them itself still wins, and so does the accordion between the two.\n */\nexport function provideCollapsibleDefaults(defaults: Partial<CollapsibleDefaults>) {\n return {\n provide: COLLAPSIBLE_DEFAULTS,\n useFactory: (): CollapsibleDefaults => ({ ...FALLBACK, ...defaults }),\n };\n}\n\n/** What a disclosure renders as here, before it states anything of its own. */\nexport function injectCollapsibleDefaults(): CollapsibleDefaults {\n return inject(COLLAPSIBLE_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 SlCollapsibleIdFactory {\n private count = 0;\n\n next() {\n this.count += 1;\n return `slotted-collapsible-${this.count}`;\n }\n}\n","import { createControllable } from '@slotted/core/state';\nimport type { ChangeRequest } from '@slotted/core/state';\nimport { SlAccordion } from '@slotted/angular/accordion';\nimport {\n booleanAttribute,\n ChangeDetectionStrategy,\n Component,\n computed,\n inject,\n input,\n model,\n output,\n signal,\n ViewEncapsulation,\n} from '@angular/core';\nimport type { OnInit } from '@angular/core';\n\nimport { injectCollapsibleDefaults, SlCollapsibleIdFactory } from './collapsible-defaults';\nimport type {\n CollapsibleIndicator,\n CollapsibleLevel,\n CollapsibleMount,\n CollapsibleOpenReason,\n CollapsibleSize,\n CollapsibleTogglePlacement,\n CollapsibleVariant,\n} from './collapsible-defaults';\n\nexport type {\n CollapsibleDefaults,\n CollapsibleIndicator,\n CollapsibleLevel,\n CollapsibleMount,\n CollapsibleOpenReason,\n CollapsibleSize,\n CollapsibleTogglePlacement,\n CollapsibleVariant,\n} from './collapsible-defaults';\n\n/** The trigger of one disclosure, in the order the DOM holds them. */\nexport const COLLAPSIBLE_TRIGGER_SELECTOR = '[data-part=\"trigger\"]';\n\n/**\n * One disclosure: a header the reader operates and a panel it controls.\n *\n * **The keyboard is the platform's.** The trigger is a `button`, so `Enter` and\n * `Space` toggle without the family binding a key, and every trigger stays in\n * the page tab sequence — which is what the APG's accordion pattern requires\n * and what `w3c/aria-practices#3434` removed the roving alternative for.\n *\n * **The panel opens without being measured.** The stylesheet transitions a grid\n * track between `0fr` and `1fr`, so the height is the content's own at every\n * frame. Radix, Base UI, Ark and Angular Material each read the layout and\n * write a custom property, which is wrong for one frame on the server and stale\n * until a resize observer fires.\n *\n * **Inside an `slAccordion` the value belongs to the set.** The disclosure then\n * reports its own request as well, so a consumer may watch one panel without\n * unpacking the set's array.\n */\n@Component({\n selector: '[slCollapsible]',\n standalone: true,\n exportAs: 'slCollapsible',\n template: '<ng-content />',\n styleUrl: '../../../styles/src/collapsible/collapsible.css',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: {\n 'data-ui': 'collapsible',\n 'data-part': 'root',\n '[attr.data-value]': 'identity()',\n '[attr.data-size]': 'resolvedSize()',\n '[attr.data-variant]': 'resolvedVariant()',\n '[attr.data-indicator]': 'resolvedIndicator()',\n '[attr.data-toggle-placement]': 'resolvedTogglePlacement()',\n '[attr.data-mount]': 'resolvedMount()',\n '[attr.data-truncate]': \"resolvedTruncate() ? '' : null\",\n '[attr.data-open]': \"isOpen() ? '' : null\",\n '[attr.data-disabled]': \"resolvedDisabled() ? '' : null\",\n '[attr.data-loading]': \"loading() ? '' : null\",\n },\n})\nexport class SlCollapsible implements OnInit {\n /** Whether the panel is open. Two-way, so a template may bind it directly. */\n readonly open = model<boolean>(false);\n /**\n * What this disclosure is called inside an accordion. It is identity rather\n * than state — the state model is `open` — and the set's array holds it. One\n * that states none is given one from the id factory.\n */\n readonly value = input<string | undefined>(undefined);\n /** Unstated rather than false, so the disclosure defers to the set around it. */\n readonly disabled = input<boolean | undefined, boolean | string | undefined>(undefined, {\n transform: (state) => (state === undefined ? undefined : booleanAttribute(state)),\n });\n /**\n * Whether the panel's content is still on its way. The panel keeps a line's\n * height and carries `aria-busy`; what stands in for the content is\n * `slSkeleton`, composed by the consumer.\n */\n readonly loading = input(false, { transform: booleanAttribute });\n /**\n * Whether the panel is a `region` landmark. Off by default: the APG's own\n * example warns that a landmark per panel fills the landmark list.\n */\n readonly region = input(false, { transform: booleanAttribute });\n readonly size = input<CollapsibleSize | undefined>(undefined);\n readonly variant = input<CollapsibleVariant | undefined>(undefined);\n readonly indicator = input<CollapsibleIndicator | undefined>(undefined);\n readonly togglePlacement = input<CollapsibleTogglePlacement | undefined>(undefined);\n readonly level = input<CollapsibleLevel | undefined>(undefined);\n readonly mount = input<CollapsibleMount | undefined>(undefined);\n readonly truncate = input<boolean | undefined, boolean | string | undefined>(undefined, {\n transform: (state) => (state === undefined ? undefined : booleanAttribute(state)),\n });\n\n /** One output for one transition, carrying the reason and the event. */\n readonly openChangeRequest = output<ChangeRequest<boolean>>();\n\n private readonly defaults = injectCollapsibleDefaults();\n /** The set this disclosure is in, or nothing: a standalone one is complete. */\n private readonly group = inject(SlAccordion, { optional: true });\n private readonly generated = inject(SlCollapsibleIdFactory).next();\n\n readonly identity = computed(() => this.value() ?? this.generated);\n\n /**\n * Three owners, in one order. The set's value wins over the disclosure's own\n * `open` because the set is what a consumer wrote when they wrote an\n * accordion; a disclosure standing alone owns the value outright.\n */\n readonly isOpen = computed(() =>\n this.group === null ? this.open() : this.group.holds(this.identity()),\n );\n\n /** Whether the set refuses to let this one close, which the APG marks. */\n readonly held = computed(() => this.group?.isHeld(this.identity()) ?? false);\n\n readonly resolvedDisabled = computed(\n () => (this.disabled() ?? this.group?.disabled() ?? false) === true,\n );\n readonly resolvedSize = computed(\n () => this.size() ?? this.group?.resolvedSize() ?? this.defaults.size,\n );\n readonly resolvedVariant = computed(\n () => this.variant() ?? this.group?.itemVariant() ?? this.defaults.variant,\n );\n readonly resolvedIndicator = computed(\n () => this.indicator() ?? this.group?.resolvedIndicator() ?? this.defaults.indicator,\n );\n readonly resolvedTogglePlacement = computed(\n () =>\n this.togglePlacement() ??\n this.group?.resolvedTogglePlacement() ??\n this.defaults.togglePlacement,\n );\n readonly resolvedLevel = computed(\n () => this.level() ?? this.group?.resolvedHeadingLevel() ?? this.defaults.level,\n );\n readonly resolvedMount = computed(\n () => this.mount() ?? this.group?.resolvedMount() ?? this.defaults.mount,\n );\n readonly resolvedTruncate = computed(\n () => (this.truncate() ?? this.group?.resolvedTruncate() ?? this.defaults.truncate) === true,\n );\n\n /** Whether this panel has ever been open, which is what `lazy` reads. */\n private readonly everOpened = signal(false);\n readonly seen = computed(() => this.everOpened() || this.isOpen());\n\n ngOnInit() {\n if (this.isOpen()) this.everOpened.set(true);\n }\n\n /** The identifiers that wire the trigger to its panel. */\n ids() {\n return {\n panelId: `${this.generated}-panel`,\n triggerId: `${this.generated}-trigger`,\n };\n }\n\n /**\n * Asks to open or close. The set is asked after this disclosure's own\n * consumer has had the chance to refuse; it owns the array, so it decides\n * what `multiple` and `requireOpen` make of the request.\n */\n toggle(next: boolean, reason: CollapsibleOpenReason, source?: Event) {\n if (next === this.isOpen()) return;\n\n let cancelled = false;\n const state = createControllable<boolean>({\n initial: this.isOpen(),\n onRequest: (request) => {\n this.openChangeRequest.emit(request);\n cancelled = request.cancelled;\n },\n });\n const moved = state.request(next, reason, source);\n if (cancelled) return;\n\n if (next) this.everOpened.set(true);\n if (this.group !== null) {\n this.group.toggle(this.identity(), reason, source);\n return;\n }\n if (moved) this.open.set(next);\n }\n}\n","import { NgTemplateOutlet } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n computed,\n contentChild,\n DestroyRef,\n Directive,\n effect,\n ElementRef,\n inject,\n input,\n TemplateRef,\n ViewEncapsulation,\n} from '@angular/core';\nimport { SlGlyph, SlIcon } from '@slotted/angular/icon';\nimport type { GlyphName } from '@slotted/angular/icon';\n\nimport { SlCollapsible } from './collapsible';\n\nconst HEADINGS = new Set(['H1', 'H2', 'H3', 'H4', 'H5', 'H6']);\n\n/**\n * The heading the trigger lives in.\n *\n * The element is the consumer's own, which is what this ecosystem composes\n * with: `<h3 slCollapsibleHeader>` is a native heading and this adds nothing to\n * it, while `<div slCollapsibleHeader>` gets `role=\"heading\"` and the level the\n * disclosure resolved. The pattern names both — \"if the native host language\n * has an element with an implicit heading and aria-level … a native host\n * language element may be used\" — and React reads the element off `level`\n * instead, because there the component owns the tag.\n *\n * The trigger is meant to be its only child: the pattern requires the button to\n * be the only element inside the heading, which is why the always-visible\n * controls go in `slCollapsibleActions` beside it.\n */\n@Directive({\n selector: '[slCollapsibleHeader]',\n standalone: true,\n exportAs: 'slCollapsibleHeader',\n host: {\n 'data-part': 'header',\n '[attr.role]': 'ariaRole()',\n '[attr.aria-level]': 'ariaLevel()',\n },\n})\nexport class SlCollapsibleHeader {\n private readonly collapsible = inject(SlCollapsible);\n private readonly native: HTMLElement = inject(ElementRef).nativeElement;\n\n /** Whether the consumer already wrote a heading, in which case ARIA adds nothing. */\n private readonly isNativeHeading = HEADINGS.has(this.native.tagName);\n\n protected readonly ariaRole = computed(() => {\n if (this.isNativeHeading || this.collapsible.resolvedLevel() === 'none') return null;\n return 'heading';\n });\n\n protected readonly ariaLevel = computed(() => {\n if (this.isNativeHeading || this.collapsible.resolvedLevel() === 'none') return null;\n return this.collapsible.resolvedLevel();\n });\n}\n\n/**\n * The control.\n *\n * It is the consumer's own `button`, so `Enter` and `Space` are the platform's\n * and the family binds no key of its own. The mark, the words and the second\n * line are the component's, because all three are parts the stylesheet places.\n */\n@Component({\n selector: 'button[slCollapsibleTrigger]',\n standalone: true,\n exportAs: 'slCollapsibleTrigger',\n imports: [SlGlyph, SlIcon],\n template: `@if (collapsible.resolvedIndicator() !== 'none') {\n <span data-part=\"indicator\" aria-hidden=\"true\"\n ><span slIcon><svg slGlyph [name]=\"indicatorGlyph()\"></svg></span\n ></span>\n }\n <span data-part=\"label\"><ng-content /></span>\n @if (description()) {\n <span data-part=\"description\">{{ description() }}</span>\n }`,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: {\n 'data-part': 'trigger',\n type: 'button',\n '[attr.id]': 'ids().triggerId',\n '[attr.aria-controls]': 'ids().panelId',\n '[attr.aria-expanded]': 'collapsible.isOpen()',\n '[attr.aria-disabled]': \"collapsible.held() ? 'true' : null\",\n '[disabled]': 'collapsible.resolvedDisabled()',\n '(click)': 'onClick($event)',\n },\n})\nexport class SlCollapsibleTrigger {\n protected readonly collapsible = inject(SlCollapsible);\n\n /**\n * A second line under the title. It is inside the trigger, so it is part of\n * the accessible name — \"Entrega, 3 de 12 itens\" is what a reader hears.\n */\n readonly description = input<string | undefined>(undefined);\n\n /**\n * The chevron is one glyph the stylesheet turns; plus and minus are two, so\n * the state picks between them here.\n */\n protected readonly indicatorGlyph = computed<GlyphName>(() => {\n if (this.collapsible.resolvedIndicator() !== 'plus-minus') return 'chevron-down';\n return this.collapsible.isOpen() ? 'minus' : 'plus';\n });\n\n protected ids() {\n return this.collapsible.ids();\n }\n\n protected onClick(event: MouseEvent) {\n if (event.defaultPrevented || this.collapsible.held()) return;\n /* A click synthesised by the keyboard reports no detail; a real one reports\n the click count. It is why Enter, Space and a pointer are told apart\n without a key listener existing for the toggle. */\n const reason = event.detail === 0 ? 'keyboard' : 'pointer';\n this.collapsible.toggle(!this.collapsible.isOpen(), reason, event);\n }\n}\n\n/**\n * The always-visible controls beside the header.\n *\n * They are a sibling of the heading rather than a child of it, for two reasons\n * that agree: the pattern requires the button to be the only element inside the\n * heading, and a control inside a `button` is invalid HTML. What belongs here is\n * an `slToolbar` — one tab stop for however many actions the page puts there.\n */\n@Directive({\n selector: '[slCollapsibleActions]',\n standalone: true,\n exportAs: 'slCollapsibleActions',\n host: { 'data-part': 'actions' },\n})\nexport class SlCollapsibleActions {}\n\n/**\n * Content built the first time the panel opens.\n *\n * `<ng-content>` is instantiated by the parent whether or not it is inserted,\n * so `mount=\"lazy\"` needs a template rather than projection. It is Angular\n * Material's own `matExpansionPanelContent`, and it is the answer this\n * ecosystem already knows.\n */\n@Directive({\n selector: 'ng-template[slCollapsibleContent]',\n standalone: true,\n exportAs: 'slCollapsibleContent',\n})\nexport class SlCollapsibleContent {\n readonly template = inject(TemplateRef);\n}\n\n/**\n * The panel.\n *\n * The box always exists, so the trigger's `aria-controls` never names an\n * element that is gone; `mount` decides whether the content inside it does.\n *\n * While the panel is closed it is taken out of the tab sequence and out of the\n * accessibility tree twice over: the stylesheet with `content-visibility`, and\n * this component with `inert`, so a browser without the property still cannot\n * put focus inside it. `mount=\"until-found\"` writes `hidden=\"until-found\"`\n * instead, and the browser removes that attribute itself when its page search\n * reaches the text inside — `beforematch` is what asks the family to open, with\n * the one reason the closed vocabulary holds for a move the browser made.\n */\n@Component({\n selector: '[slCollapsiblePanel]',\n standalone: true,\n exportAs: 'slCollapsiblePanel',\n imports: [NgTemplateOutlet],\n template: `@if (mounted()) {\n <div data-part=\"content\">\n @if (deferred()) {\n <ng-container [ngTemplateOutlet]=\"deferred()!.template\" />\n }\n <ng-content />\n </div>\n }`,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: {\n 'data-part': 'panel',\n '[attr.id]': 'ids().panelId',\n '[attr.aria-labelledby]': 'ids().triggerId',\n '[attr.role]': \"collapsible.region() ? 'region' : null\",\n '[attr.aria-busy]': \"collapsible.loading() ? 'true' : null\",\n },\n})\nexport class SlCollapsiblePanel {\n protected readonly collapsible = inject(SlCollapsible);\n protected readonly deferred = contentChild(SlCollapsibleContent);\n private readonly native: HTMLElement = inject(ElementRef).nativeElement;\n\n protected readonly mounted = computed(() => {\n const mount = this.collapsible.resolvedMount();\n if (mount === 'active') return this.collapsible.isOpen();\n if (mount === 'lazy') return this.collapsible.seen();\n return true;\n });\n\n constructor() {\n const destroyRef = inject(DestroyRef);\n let attached: (() => void) | undefined;\n\n effect(() => {\n const open = this.collapsible.isOpen();\n const untilFound = this.collapsible.resolvedMount() === 'until-found';\n\n attached?.();\n attached = undefined;\n\n if (open) {\n this.native.removeAttribute('hidden');\n this.native.removeAttribute('inert');\n return;\n }\n\n if (untilFound) {\n this.native.removeAttribute('inert');\n this.native.setAttribute('hidden', 'until-found');\n const reveal = () => this.collapsible.toggle(true, 'programmatic');\n this.native.addEventListener('beforematch', reveal);\n attached = () => this.native.removeEventListener('beforematch', reveal);\n return;\n }\n\n this.native.removeAttribute('hidden');\n this.native.setAttribute('inert', '');\n });\n\n destroyRef.onDestroy(() => attached?.());\n }\n\n protected ids() {\n return this.collapsible.ids();\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"slotted-angular-collapsible.mjs","sources":["../../collapsible/src/collapsible-defaults.ts","../../collapsible/src/collapsible.ts","../../collapsible/src/collapsible-parts.ts","../../collapsible/src/slotted-angular-collapsible.ts"],"sourcesContent":["import { inject, Injectable, InjectionToken } from '@angular/core';\n\n/** The type step the header and its panel sit at. */\nexport type CollapsibleSize = 'sm' | 'md' | 'lg';\n\n/**\n * How the disclosure is drawn. `plain` paints no chrome at all, `ruled` draws a\n * hairline above the header so a stack of them reads as one list, and `framed`\n * is its own card.\n */\nexport type CollapsibleVariant = 'plain' | 'ruled' | 'framed';\n\n/**\n * The mark that says whether the panel is open. `chevron` turns between down\n * and up, `plus-minus` swaps the one bar for the pair, and `none` draws nothing\n * — which is Angular Material's `hideToggle` and Carbon's chevron-less header.\n */\nexport type CollapsibleIndicator = 'chevron' | 'plus-minus' | 'none';\n\n/** Which side of the words the mark stands on. */\nexport type CollapsibleTogglePlacement = 'end' | 'start';\n\n/**\n * The heading level the header answers to. `none` writes no heading semantics\n * at all, which is the standalone disclosure that belongs to no outline.\n *\n * The element is the consumer's own: `<h3 slCollapsibleHeader>` is a native\n * heading and the directive adds nothing, while `<div slCollapsibleHeader>`\n * gets `role=\"heading\"` and `aria-level` — the alternative the pattern itself\n * names. React reads the element off this value instead, and the two reach the\n * same accessibility tree.\n */\nexport type CollapsibleLevel = 'none' | '1' | '2' | '3' | '4' | '5' | '6';\n\n/**\n * When the panel's content exists. The box always does, so the trigger's\n * `aria-controls` never names an element that is gone.\n */\nexport type CollapsibleMount = 'active' | 'lazy' | 'eager' | 'until-found';\n\n/** Why the panel opened or closed. */\nexport type CollapsibleOpenReason = 'pointer' | 'keyboard' | 'select' | 'programmatic';\n\nexport interface CollapsibleDefaults {\n indicator: CollapsibleIndicator;\n level: CollapsibleLevel;\n mount: CollapsibleMount;\n size: CollapsibleSize;\n togglePlacement: CollapsibleTogglePlacement;\n truncate: boolean;\n variant: CollapsibleVariant;\n}\n\nconst FALLBACK: CollapsibleDefaults = {\n indicator: 'chevron',\n level: 'none',\n mount: 'eager',\n size: 'md',\n togglePlacement: 'end',\n truncate: false,\n variant: 'plain',\n};\n\nexport const COLLAPSIBLE_DEFAULTS = new InjectionToken<CollapsibleDefaults>(\n 'slotted collapsible defaults',\n { providedIn: 'root', factory: () => FALLBACK },\n);\n\n/**\n * An application decides once how its disclosures look, rather than repeating\n * the same seven inputs on every one in a product. A disclosure that states any\n * of them itself still wins, and so does the accordion between the two.\n */\nexport function provideCollapsibleDefaults(defaults: Partial<CollapsibleDefaults>) {\n return {\n provide: COLLAPSIBLE_DEFAULTS,\n useFactory: (): CollapsibleDefaults => ({ ...FALLBACK, ...defaults }),\n };\n}\n\n/** What a disclosure renders as here, before it states anything of its own. */\nexport function injectCollapsibleDefaults(): CollapsibleDefaults {\n return inject(COLLAPSIBLE_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 SlCollapsibleIdFactory {\n private count = 0;\n\n next() {\n this.count += 1;\n return `slotted-collapsible-${this.count}`;\n }\n}\n","import { createControllable } from '@slotted/core/state';\nimport type { ChangeRequest } from '@slotted/core/state';\nimport { SlAccordion } from '@slotted/angular/accordion';\nimport {\n booleanAttribute,\n ChangeDetectionStrategy,\n Component,\n computed,\n inject,\n input,\n model,\n output,\n signal,\n ViewEncapsulation,\n} from '@angular/core';\nimport type { OnInit } from '@angular/core';\n\nimport { injectCollapsibleDefaults, SlCollapsibleIdFactory } from './collapsible-defaults';\nimport type {\n CollapsibleIndicator,\n CollapsibleLevel,\n CollapsibleMount,\n CollapsibleOpenReason,\n CollapsibleSize,\n CollapsibleTogglePlacement,\n CollapsibleVariant,\n} from './collapsible-defaults';\n\nexport type {\n CollapsibleDefaults,\n CollapsibleIndicator,\n CollapsibleLevel,\n CollapsibleMount,\n CollapsibleOpenReason,\n CollapsibleSize,\n CollapsibleTogglePlacement,\n CollapsibleVariant,\n} from './collapsible-defaults';\n\n/** The trigger of one disclosure, in the order the DOM holds them. */\nexport const COLLAPSIBLE_TRIGGER_SELECTOR = '[data-part=\"trigger\"]';\n\n/**\n * One disclosure: a header the reader operates and a panel it controls.\n *\n * **The keyboard is the platform's.** The trigger is a `button`, so `Enter` and\n * `Space` toggle without the family binding a key, and every trigger stays in\n * the page tab sequence — which is what the APG's accordion pattern requires\n * and what `w3c/aria-practices#3434` removed the roving alternative for.\n *\n * **The panel opens without being measured.** The stylesheet transitions a grid\n * track between `0fr` and `1fr`, so the height is the content's own at every\n * frame. Radix, Base UI, Ark and Angular Material each read the layout and\n * write a custom property, which is wrong for one frame on the server and stale\n * until a resize observer fires.\n *\n * **Inside an `slAccordion` the value belongs to the set.** The disclosure then\n * reports its own request as well, so a consumer may watch one panel without\n * unpacking the set's array.\n */\n@Component({\n selector: '[slCollapsible]',\n standalone: true,\n exportAs: 'slCollapsible',\n template: '<ng-content />',\n styleUrl: '../../../styles/src/collapsible/collapsible.css',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: {\n 'data-ui': 'collapsible',\n 'data-ui-collapsible': '',\n 'data-part': 'root',\n 'data-part-root': '',\n '[attr.data-value]': 'identity()',\n '[attr.data-size]': 'resolvedSize()',\n '[attr.data-variant]': 'resolvedVariant()',\n '[attr.data-indicator]': 'resolvedIndicator()',\n '[attr.data-toggle-placement]': 'resolvedTogglePlacement()',\n '[attr.data-mount]': 'resolvedMount()',\n '[attr.data-truncate]': \"resolvedTruncate() ? '' : null\",\n '[attr.data-open]': \"isOpen() ? '' : null\",\n '[attr.data-disabled]': \"resolvedDisabled() ? '' : null\",\n '[attr.data-loading]': \"loading() ? '' : null\",\n },\n})\nexport class SlCollapsible implements OnInit {\n /** Whether the panel is open. Two-way, so a template may bind it directly. */\n readonly open = model<boolean>(false);\n /**\n * What this disclosure is called inside an accordion. It is identity rather\n * than state — the state model is `open` — and the set's array holds it. One\n * that states none is given one from the id factory.\n */\n readonly value = input<string | undefined>(undefined);\n /** Unstated rather than false, so the disclosure defers to the set around it. */\n readonly disabled = input<boolean | undefined, boolean | string | undefined>(undefined, {\n transform: (state) => (state === undefined ? undefined : booleanAttribute(state)),\n });\n /**\n * Whether the panel's content is still on its way. The panel keeps a line's\n * height and carries `aria-busy`; what stands in for the content is\n * `slSkeleton`, composed by the consumer.\n */\n readonly loading = input(false, { transform: booleanAttribute });\n /**\n * Whether the panel is a `region` landmark. Off by default: the APG's own\n * example warns that a landmark per panel fills the landmark list.\n */\n readonly region = input(false, { transform: booleanAttribute });\n readonly size = input<CollapsibleSize | undefined>(undefined);\n readonly variant = input<CollapsibleVariant | undefined>(undefined);\n readonly indicator = input<CollapsibleIndicator | undefined>(undefined);\n readonly togglePlacement = input<CollapsibleTogglePlacement | undefined>(undefined);\n readonly level = input<CollapsibleLevel | undefined>(undefined);\n readonly mount = input<CollapsibleMount | undefined>(undefined);\n readonly truncate = input<boolean | undefined, boolean | string | undefined>(undefined, {\n transform: (state) => (state === undefined ? undefined : booleanAttribute(state)),\n });\n\n /** One output for one transition, carrying the reason and the event. */\n readonly openChangeRequest = output<ChangeRequest<boolean>>();\n\n private readonly defaults = injectCollapsibleDefaults();\n /** The set this disclosure is in, or nothing: a standalone one is complete. */\n private readonly group = inject(SlAccordion, { optional: true });\n private readonly generated = inject(SlCollapsibleIdFactory).next();\n\n readonly identity = computed(() => this.value() ?? this.generated);\n\n /**\n * Three owners, in one order. The set's value wins over the disclosure's own\n * `open` because the set is what a consumer wrote when they wrote an\n * accordion; a disclosure standing alone owns the value outright.\n */\n readonly isOpen = computed(() =>\n this.group === null ? this.open() : this.group.holds(this.identity()),\n );\n\n /** Whether the set refuses to let this one close, which the APG marks. */\n readonly held = computed(() => this.group?.isHeld(this.identity()) ?? false);\n\n readonly resolvedDisabled = computed(\n () => (this.disabled() ?? this.group?.disabled() ?? false) === true,\n );\n readonly resolvedSize = computed(\n () => this.size() ?? this.group?.resolvedSize() ?? this.defaults.size,\n );\n readonly resolvedVariant = computed(\n () => this.variant() ?? this.group?.itemVariant() ?? this.defaults.variant,\n );\n readonly resolvedIndicator = computed(\n () => this.indicator() ?? this.group?.resolvedIndicator() ?? this.defaults.indicator,\n );\n readonly resolvedTogglePlacement = computed(\n () =>\n this.togglePlacement() ??\n this.group?.resolvedTogglePlacement() ??\n this.defaults.togglePlacement,\n );\n readonly resolvedLevel = computed(\n () => this.level() ?? this.group?.resolvedHeadingLevel() ?? this.defaults.level,\n );\n readonly resolvedMount = computed(\n () => this.mount() ?? this.group?.resolvedMount() ?? this.defaults.mount,\n );\n readonly resolvedTruncate = computed(\n () => (this.truncate() ?? this.group?.resolvedTruncate() ?? this.defaults.truncate) === true,\n );\n\n /** Whether this panel has ever been open, which is what `lazy` reads. */\n private readonly everOpened = signal(false);\n readonly seen = computed(() => this.everOpened() || this.isOpen());\n\n ngOnInit() {\n if (this.isOpen()) this.everOpened.set(true);\n }\n\n /** The identifiers that wire the trigger to its panel. */\n ids() {\n return {\n panelId: `${this.generated}-panel`,\n triggerId: `${this.generated}-trigger`,\n };\n }\n\n /**\n * Asks to open or close. The set is asked after this disclosure's own\n * consumer has had the chance to refuse; it owns the array, so it decides\n * what `multiple` and `requireOpen` make of the request.\n */\n toggle(next: boolean, reason: CollapsibleOpenReason, source?: Event) {\n if (next === this.isOpen()) return;\n\n let cancelled = false;\n const state = createControllable<boolean>({\n initial: this.isOpen(),\n onRequest: (request) => {\n this.openChangeRequest.emit(request);\n cancelled = request.cancelled;\n },\n });\n const moved = state.request(next, reason, source);\n if (cancelled) return;\n\n if (next) this.everOpened.set(true);\n if (this.group !== null) {\n this.group.toggle(this.identity(), reason, source);\n return;\n }\n if (moved) this.open.set(next);\n }\n}\n","import { NgTemplateOutlet } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n computed,\n contentChild,\n DestroyRef,\n Directive,\n effect,\n ElementRef,\n inject,\n input,\n TemplateRef,\n ViewEncapsulation,\n} from '@angular/core';\nimport { SlGlyph, SlIcon } from '@slotted/angular/icon';\nimport type { GlyphName } from '@slotted/angular/icon';\n\nimport { SlCollapsible } from './collapsible';\n\nconst HEADINGS = new Set(['H1', 'H2', 'H3', 'H4', 'H5', 'H6']);\n\n/**\n * The heading the trigger lives in.\n *\n * The element is the consumer's own, which is what this ecosystem composes\n * with: `<h3 slCollapsibleHeader>` is a native heading and this adds nothing to\n * it, while `<div slCollapsibleHeader>` gets `role=\"heading\"` and the level the\n * disclosure resolved. The pattern names both — \"if the native host language\n * has an element with an implicit heading and aria-level … a native host\n * language element may be used\" — and React reads the element off `level`\n * instead, because there the component owns the tag.\n *\n * The trigger is meant to be its only child: the pattern requires the button to\n * be the only element inside the heading, which is why the always-visible\n * controls go in `slCollapsibleActions` beside it.\n */\n@Directive({\n selector: '[slCollapsibleHeader]',\n standalone: true,\n exportAs: 'slCollapsibleHeader',\n host: {\n 'data-part': 'header',\n 'data-part-header': '',\n '[attr.role]': 'ariaRole()',\n '[attr.aria-level]': 'ariaLevel()',\n },\n})\nexport class SlCollapsibleHeader {\n private readonly collapsible = inject(SlCollapsible);\n private readonly native: HTMLElement = inject(ElementRef).nativeElement;\n\n /** Whether the consumer already wrote a heading, in which case ARIA adds nothing. */\n private readonly isNativeHeading = HEADINGS.has(this.native.tagName);\n\n protected readonly ariaRole = computed(() => {\n if (this.isNativeHeading || this.collapsible.resolvedLevel() === 'none') return null;\n return 'heading';\n });\n\n protected readonly ariaLevel = computed(() => {\n if (this.isNativeHeading || this.collapsible.resolvedLevel() === 'none') return null;\n return this.collapsible.resolvedLevel();\n });\n}\n\n/**\n * The control.\n *\n * It is the consumer's own `button`, so `Enter` and `Space` are the platform's\n * and the family binds no key of its own. The mark, the words and the second\n * line are the component's, because all three are parts the stylesheet places.\n */\n@Component({\n selector: 'button[slCollapsibleTrigger]',\n standalone: true,\n exportAs: 'slCollapsibleTrigger',\n imports: [SlGlyph, SlIcon],\n template: `@if (collapsible.resolvedIndicator() !== 'none') {\n <span data-part=\"indicator\" data-part-indicator=\"\" aria-hidden=\"true\"\n ><span slIcon><svg slGlyph [name]=\"indicatorGlyph()\"></svg></span\n ></span>\n }\n <span data-part=\"label\" data-part-label=\"\"><ng-content /></span>\n @if (description()) {\n <span data-part=\"description\" data-part-description=\"\">{{ description() }}</span>\n }`,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: {\n 'data-part': 'trigger',\n 'data-part-trigger': '',\n type: 'button',\n '[attr.id]': 'ids().triggerId',\n '[attr.aria-controls]': 'ids().panelId',\n '[attr.aria-expanded]': 'collapsible.isOpen()',\n '[attr.aria-disabled]': \"collapsible.held() ? 'true' : null\",\n '[disabled]': 'collapsible.resolvedDisabled()',\n '(click)': 'onClick($event)',\n },\n})\nexport class SlCollapsibleTrigger {\n protected readonly collapsible = inject(SlCollapsible);\n\n /**\n * A second line under the title. It is inside the trigger, so it is part of\n * the accessible name — \"Entrega, 3 de 12 itens\" is what a reader hears.\n */\n readonly description = input<string | undefined>(undefined);\n\n /**\n * The chevron is one glyph the stylesheet turns; plus and minus are two, so\n * the state picks between them here.\n */\n protected readonly indicatorGlyph = computed<GlyphName>(() => {\n if (this.collapsible.resolvedIndicator() !== 'plus-minus') return 'chevron-down';\n return this.collapsible.isOpen() ? 'minus' : 'plus';\n });\n\n protected ids() {\n return this.collapsible.ids();\n }\n\n protected onClick(event: MouseEvent) {\n if (event.defaultPrevented || this.collapsible.held()) return;\n /* A click synthesised by the keyboard reports no detail; a real one reports\n the click count. It is why Enter, Space and a pointer are told apart\n without a key listener existing for the toggle. */\n const reason = event.detail === 0 ? 'keyboard' : 'pointer';\n this.collapsible.toggle(!this.collapsible.isOpen(), reason, event);\n }\n}\n\n/**\n * The always-visible controls beside the header.\n *\n * They are a sibling of the heading rather than a child of it, for two reasons\n * that agree: the pattern requires the button to be the only element inside the\n * heading, and a control inside a `button` is invalid HTML. What belongs here is\n * an `slToolbar` — one tab stop for however many actions the page puts there.\n */\n@Directive({\n selector: '[slCollapsibleActions]',\n standalone: true,\n exportAs: 'slCollapsibleActions',\n host: { 'data-part': 'actions', 'data-part-actions': '' },\n})\nexport class SlCollapsibleActions {}\n\n/**\n * Content built the first time the panel opens.\n *\n * `<ng-content>` is instantiated by the parent whether or not it is inserted,\n * so `mount=\"lazy\"` needs a template rather than projection. It is Angular\n * Material's own `matExpansionPanelContent`, and it is the answer this\n * ecosystem already knows.\n */\n@Directive({\n selector: 'ng-template[slCollapsibleContent]',\n standalone: true,\n exportAs: 'slCollapsibleContent',\n})\nexport class SlCollapsibleContent {\n readonly template = inject(TemplateRef);\n}\n\n/**\n * The panel.\n *\n * The box always exists, so the trigger's `aria-controls` never names an\n * element that is gone; `mount` decides whether the content inside it does.\n *\n * While the panel is closed it is taken out of the tab sequence and out of the\n * accessibility tree twice over: the stylesheet with `content-visibility`, and\n * this component with `inert`, so a browser without the property still cannot\n * put focus inside it. `mount=\"until-found\"` writes `hidden=\"until-found\"`\n * instead, and the browser removes that attribute itself when its page search\n * reaches the text inside — `beforematch` is what asks the family to open, with\n * the one reason the closed vocabulary holds for a move the browser made.\n */\n@Component({\n selector: '[slCollapsiblePanel]',\n standalone: true,\n exportAs: 'slCollapsiblePanel',\n imports: [NgTemplateOutlet],\n template: `@if (mounted()) {\n <div data-part=\"content\" data-part-content=\"\">\n @if (deferred()) {\n <ng-container [ngTemplateOutlet]=\"deferred()!.template\" />\n }\n <ng-content />\n </div>\n }`,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: {\n 'data-part': 'panel',\n 'data-part-panel': '',\n '[attr.id]': 'ids().panelId',\n '[attr.aria-labelledby]': 'ids().triggerId',\n '[attr.role]': \"collapsible.region() ? 'region' : null\",\n '[attr.aria-busy]': \"collapsible.loading() ? 'true' : null\",\n },\n})\nexport class SlCollapsiblePanel {\n protected readonly collapsible = inject(SlCollapsible);\n protected readonly deferred = contentChild(SlCollapsibleContent);\n private readonly native: HTMLElement = inject(ElementRef).nativeElement;\n\n protected readonly mounted = computed(() => {\n const mount = this.collapsible.resolvedMount();\n if (mount === 'active') return this.collapsible.isOpen();\n if (mount === 'lazy') return this.collapsible.seen();\n return true;\n });\n\n constructor() {\n const destroyRef = inject(DestroyRef);\n let attached: (() => void) | undefined;\n\n effect(() => {\n const open = this.collapsible.isOpen();\n const untilFound = this.collapsible.resolvedMount() === 'until-found';\n\n attached?.();\n attached = undefined;\n\n if (open) {\n this.native.removeAttribute('hidden');\n this.native.removeAttribute('inert');\n return;\n }\n\n if (untilFound) {\n this.native.removeAttribute('inert');\n this.native.setAttribute('hidden', 'until-found');\n const reveal = () => this.collapsible.toggle(true, 'programmatic');\n this.native.addEventListener('beforematch', reveal);\n attached = () => this.native.removeEventListener('beforematch', reveal);\n return;\n }\n\n this.native.removeAttribute('hidden');\n this.native.setAttribute('inert', '');\n });\n\n destroyRef.onDestroy(() => attached?.());\n }\n\n protected ids() {\n return this.collapsible.ids();\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|