@slotted/angular 0.1.0-beta.1 → 0.1.0-beta.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +4 -0
- package/docs/AGENTS.snippet.md +12 -0
- package/docs/alert.json +7 -1
- package/docs/alert.md +3 -3
- package/docs/app-shell.examples.md +1 -1
- package/docs/app-shell.json +5 -5
- package/docs/app-shell.md +2 -2
- package/docs/avatar.json +22 -1
- package/docs/avatar.md +5 -3
- package/docs/badge.json +7 -1
- package/docs/badge.md +3 -3
- package/docs/button-group.json +2 -0
- package/docs/button-group.md +1 -1
- package/docs/button.json +51 -11
- package/docs/button.md +10 -6
- package/docs/calendar.json +8 -1
- package/docs/calendar.md +1 -0
- package/docs/cascader.json +1 -0
- package/docs/cascader.md +1 -1
- package/docs/chart.examples.md +1 -1
- package/docs/chart.json +10 -1
- package/docs/chart.md +3 -2
- package/docs/checkbox.json +7 -0
- package/docs/checkbox.md +1 -0
- package/docs/code-block.json +92 -92
- package/docs/code-block.md +69 -69
- package/docs/combobox.json +1 -0
- package/docs/combobox.md +1 -1
- package/docs/currency-field.json +40 -1
- package/docs/currency-field.md +5 -1
- package/docs/data-grid.examples.md +2 -2
- package/docs/data-grid.json +24 -7
- package/docs/data-grid.md +1 -1
- package/docs/data-grid.props.md +6 -4
- package/docs/data-list.json +2 -1
- package/docs/data-list.md +1 -1
- package/docs/date-field.json +9 -1
- package/docs/date-field.md +3 -2
- package/docs/date-picker.examples.md +36 -0
- package/docs/date-picker.json +20 -5
- package/docs/date-picker.md +5 -4
- package/docs/datetime-field.json +1 -0
- package/docs/datetime-field.md +1 -1
- package/docs/dialog.examples.md +158 -136
- package/docs/dialog.json +35 -11
- package/docs/dialog.md +4 -2
- package/docs/dialog.props.md +1 -1
- package/docs/drawer.json +5 -0
- package/docs/drawer.md +1 -0
- package/docs/entity-picker.json +19 -4
- package/docs/entity-picker.md +8 -6
- package/docs/event-calendar.json +7 -0
- package/docs/event-calendar.md +1 -0
- package/docs/filter-bar.json +118 -118
- package/docs/filter-bar.md +79 -79
- package/docs/form.json +2 -1
- package/docs/form.md +1 -1
- package/docs/guidelines/README.md +27 -0
- package/docs/guidelines/async-feedback.md +129 -0
- package/docs/guidelines/browsing.md +74 -0
- package/docs/guidelines/builders.md +97 -0
- package/docs/guidelines/composition.md +143 -0
- package/docs/guidelines/conversations.md +59 -0
- package/docs/guidelines/errors-and-conflicts.md +71 -0
- package/docs/guidelines/forms.md +202 -0
- package/docs/guidelines/index.md +129 -0
- package/docs/guidelines/layout-alignment.md +95 -0
- package/docs/guidelines/ledgers.md +45 -0
- package/docs/guidelines/list-pages.md +206 -0
- package/docs/guidelines/overviews.md +76 -0
- package/docs/guidelines/own-elements.md +115 -0
- package/docs/guidelines/reading-permissions.md +55 -0
- package/docs/guidelines/record-pages.md +178 -0
- package/docs/guidelines/reports.md +123 -0
- package/docs/guidelines/shell-composition.md +94 -0
- package/docs/guidelines/workspaces.md +46 -0
- package/docs/icon.json +3 -1
- package/docs/icon.md +3 -3
- package/docs/index.md +12 -0
- package/docs/inline-message.json +14 -2
- package/docs/inline-message.md +4 -3
- package/docs/list-item.json +9 -1
- package/docs/list-item.md +3 -3
- package/docs/list.json +19 -1
- package/docs/list.md +3 -1
- package/docs/markdown.json +79 -79
- package/docs/markdown.md +65 -65
- package/docs/menu.json +12 -0
- package/docs/menu.md +2 -0
- package/docs/message.json +7 -1
- package/docs/message.md +3 -3
- package/docs/multi-select.json +1 -0
- package/docs/multi-select.md +1 -1
- package/docs/notification-center.json +4 -0
- package/docs/notification-center.md +2 -2
- package/docs/number-field.json +1 -0
- package/docs/number-field.md +1 -1
- package/docs/otp-input.json +1 -0
- package/docs/otp-input.md +1 -1
- package/docs/page-header.json +4 -3
- package/docs/page-header.md +2 -2
- package/docs/page.json +1 -0
- package/docs/page.md +1 -0
- package/docs/popover.json +1 -1
- package/docs/progress-indicator.json +4 -3
- package/docs/progress-indicator.md +4 -4
- package/docs/prompt-composer.json +41 -1
- package/docs/prompt-composer.md +5 -1
- package/docs/rating.json +5 -3
- package/docs/rating.md +5 -5
- package/docs/section.json +27 -15
- package/docs/section.md +11 -9
- package/docs/segmented-control.json +36 -12
- package/docs/segmented-control.md +17 -1
- package/docs/select.json +1 -0
- package/docs/select.md +1 -1
- package/docs/side-navigation.json +1 -0
- package/docs/side-navigation.md +1 -1
- package/docs/skills/build-own-element/SKILL.md +90 -0
- package/docs/skills/compose-screen/SKILL.md +95 -0
- package/docs/skills/index.md +9 -0
- package/docs/skills/review-screen/SKILL.md +77 -0
- package/docs/skills/theme-app/SKILL.md +87 -0
- package/docs/skills/waiting-states/SKILL.md +143 -0
- package/docs/sparkline.json +5 -2
- package/docs/sparkline.md +4 -4
- package/docs/split-button.json +4 -1
- package/docs/split-button.md +3 -3
- package/docs/stat-card.json +5 -1
- package/docs/stat-card.md +3 -3
- package/docs/table.examples.md +3 -3
- package/docs/table.json +85 -3
- package/docs/table.md +12 -1
- package/docs/tabs.json +17 -7
- package/docs/tabs.md +3 -2
- package/docs/tag.json +14 -4
- package/docs/tag.md +6 -6
- package/docs/tags-input.json +29 -2
- package/docs/tags-input.md +4 -1
- package/docs/text-field.json +2 -1
- package/docs/text-field.md +2 -2
- package/docs/textarea.json +1 -0
- package/docs/textarea.md +1 -1
- package/docs/time-field.json +1 -0
- package/docs/time-field.md +1 -1
- package/docs/timeline.json +138 -132
- package/docs/timeline.md +125 -125
- package/docs/toast.json +7 -1
- package/docs/toast.md +3 -3
- package/docs/toggle-group.json +14 -3
- package/docs/toggle-group.md +3 -3
- package/docs/toggle.json +12 -3
- package/docs/toggle.md +3 -3
- package/docs/tokens.md +467 -0
- package/docs/tour.json +1 -1
- package/docs/typography.json +4 -2
- package/docs/typography.md +4 -4
- package/fesm2022/slotted-angular-accordion.mjs +4 -2
- package/fesm2022/slotted-angular-accordion.mjs.map +1 -1
- package/fesm2022/slotted-angular-action-bar.mjs +22 -11
- package/fesm2022/slotted-angular-action-bar.mjs.map +1 -1
- package/fesm2022/slotted-angular-action-sheet.mjs +42 -29
- package/fesm2022/slotted-angular-action-sheet.mjs.map +1 -1
- package/fesm2022/slotted-angular-alert.mjs +18 -11
- package/fesm2022/slotted-angular-alert.mjs.map +1 -1
- package/fesm2022/slotted-angular-app-shell.mjs +111 -61
- package/fesm2022/slotted-angular-app-shell.mjs.map +1 -1
- package/fesm2022/slotted-angular-aspect-ratio.mjs +4 -2
- package/fesm2022/slotted-angular-aspect-ratio.mjs.map +1 -1
- package/fesm2022/slotted-angular-attachment.mjs +31 -20
- package/fesm2022/slotted-angular-attachment.mjs.map +1 -1
- package/fesm2022/slotted-angular-avatar-group.mjs +9 -6
- package/fesm2022/slotted-angular-avatar-group.mjs.map +1 -1
- package/fesm2022/slotted-angular-avatar.mjs +14 -7
- package/fesm2022/slotted-angular-avatar.mjs.map +1 -1
- package/fesm2022/slotted-angular-badge.mjs +14 -10
- package/fesm2022/slotted-angular-badge.mjs.map +1 -1
- package/fesm2022/slotted-angular-breadcrumb.mjs +26 -18
- package/fesm2022/slotted-angular-breadcrumb.mjs.map +1 -1
- package/fesm2022/slotted-angular-button-group.mjs +7 -4
- package/fesm2022/slotted-angular-button-group.mjs.map +1 -1
- package/fesm2022/slotted-angular-button.mjs +90 -29
- package/fesm2022/slotted-angular-button.mjs.map +1 -1
- package/fesm2022/slotted-angular-calendar.mjs +235 -58
- package/fesm2022/slotted-angular-calendar.mjs.map +1 -1
- package/fesm2022/slotted-angular-card.mjs +18 -16
- package/fesm2022/slotted-angular-card.mjs.map +1 -1
- package/fesm2022/slotted-angular-carousel.mjs +22 -11
- package/fesm2022/slotted-angular-carousel.mjs.map +1 -1
- package/fesm2022/slotted-angular-cascader.mjs +166 -66
- package/fesm2022/slotted-angular-cascader.mjs.map +1 -1
- package/fesm2022/slotted-angular-chart.mjs +53 -20
- package/fesm2022/slotted-angular-chart.mjs.map +1 -1
- package/fesm2022/slotted-angular-checkbox-group.mjs +5 -3
- package/fesm2022/slotted-angular-checkbox-group.mjs.map +1 -1
- package/fesm2022/slotted-angular-checkbox.mjs +23 -9
- package/fesm2022/slotted-angular-checkbox.mjs.map +1 -1
- package/fesm2022/slotted-angular-code-block.mjs +29 -15
- package/fesm2022/slotted-angular-code-block.mjs.map +1 -1
- package/fesm2022/slotted-angular-collapsible.mjs +20 -15
- package/fesm2022/slotted-angular-collapsible.mjs.map +1 -1
- package/fesm2022/slotted-angular-color-picker.mjs +77 -22
- package/fesm2022/slotted-angular-color-picker.mjs.map +1 -1
- package/fesm2022/slotted-angular-column-manager.mjs +68 -31
- package/fesm2022/slotted-angular-column-manager.mjs.map +1 -1
- package/fesm2022/slotted-angular-combobox.mjs +112 -39
- package/fesm2022/slotted-angular-combobox.mjs.map +1 -1
- package/fesm2022/slotted-angular-command-palette.mjs +150 -54
- package/fesm2022/slotted-angular-command-palette.mjs.map +1 -1
- package/fesm2022/slotted-angular-container.mjs +6 -4
- package/fesm2022/slotted-angular-container.mjs.map +1 -1
- package/fesm2022/slotted-angular-context-menu.mjs +5 -4
- package/fesm2022/slotted-angular-context-menu.mjs.map +1 -1
- package/fesm2022/slotted-angular-currency-field.mjs +149 -32
- package/fesm2022/slotted-angular-currency-field.mjs.map +1 -1
- package/fesm2022/slotted-angular-dashboard-grid.mjs +142 -63
- package/fesm2022/slotted-angular-dashboard-grid.mjs.map +1 -1
- package/fesm2022/slotted-angular-data-grid.mjs +354 -113
- package/fesm2022/slotted-angular-data-grid.mjs.map +1 -1
- package/fesm2022/slotted-angular-data-list.mjs +83 -50
- package/fesm2022/slotted-angular-data-list.mjs.map +1 -1
- package/fesm2022/slotted-angular-date-field.mjs +74 -25
- package/fesm2022/slotted-angular-date-field.mjs.map +1 -1
- package/fesm2022/slotted-angular-date-picker.mjs +112 -40
- package/fesm2022/slotted-angular-date-picker.mjs.map +1 -1
- package/fesm2022/slotted-angular-date-range-picker.mjs +45 -22
- package/fesm2022/slotted-angular-date-range-picker.mjs.map +1 -1
- package/fesm2022/slotted-angular-datetime-field.mjs +48 -16
- package/fesm2022/slotted-angular-datetime-field.mjs.map +1 -1
- package/fesm2022/slotted-angular-datetime-picker.mjs +41 -29
- package/fesm2022/slotted-angular-datetime-picker.mjs.map +1 -1
- package/fesm2022/slotted-angular-datetime-range-picker.mjs +115 -48
- package/fesm2022/slotted-angular-datetime-range-picker.mjs.map +1 -1
- package/fesm2022/slotted-angular-description-list.mjs +33 -19
- package/fesm2022/slotted-angular-description-list.mjs.map +1 -1
- package/fesm2022/slotted-angular-detail-panel.mjs +29 -18
- package/fesm2022/slotted-angular-detail-panel.mjs.map +1 -1
- package/fesm2022/slotted-angular-dialog.mjs +72 -30
- package/fesm2022/slotted-angular-dialog.mjs.map +1 -1
- package/fesm2022/slotted-angular-divider.mjs +7 -5
- package/fesm2022/slotted-angular-divider.mjs.map +1 -1
- package/fesm2022/slotted-angular-drawer.mjs +53 -29
- package/fesm2022/slotted-angular-drawer.mjs.map +1 -1
- package/fesm2022/slotted-angular-entity-picker.mjs +468 -75
- package/fesm2022/slotted-angular-entity-picker.mjs.map +1 -1
- package/fesm2022/slotted-angular-event-calendar.mjs +275 -108
- package/fesm2022/slotted-angular-event-calendar.mjs.map +1 -1
- package/fesm2022/slotted-angular-field-group.mjs +14 -7
- package/fesm2022/slotted-angular-field-group.mjs.map +1 -1
- package/fesm2022/slotted-angular-field.mjs +35 -15
- package/fesm2022/slotted-angular-field.mjs.map +1 -1
- package/fesm2022/slotted-angular-filter-bar.mjs +112 -51
- package/fesm2022/slotted-angular-filter-bar.mjs.map +1 -1
- package/fesm2022/slotted-angular-form.mjs +18 -10
- package/fesm2022/slotted-angular-form.mjs.map +1 -1
- package/fesm2022/slotted-angular-fullscreen.mjs +14 -8
- package/fesm2022/slotted-angular-fullscreen.mjs.map +1 -1
- package/fesm2022/slotted-angular-grid.mjs +4 -2
- package/fesm2022/slotted-angular-grid.mjs.map +1 -1
- package/fesm2022/slotted-angular-highlight.mjs +5 -3
- package/fesm2022/slotted-angular-highlight.mjs.map +1 -1
- package/fesm2022/slotted-angular-hover-card.mjs +5 -4
- package/fesm2022/slotted-angular-hover-card.mjs.map +1 -1
- package/fesm2022/slotted-angular-icon.mjs +6 -3
- package/fesm2022/slotted-angular-icon.mjs.map +1 -1
- package/fesm2022/slotted-angular-image.mjs +13 -10
- package/fesm2022/slotted-angular-image.mjs.map +1 -1
- package/fesm2022/slotted-angular-import-export-center.mjs +167 -99
- package/fesm2022/slotted-angular-import-export-center.mjs.map +1 -1
- package/fesm2022/slotted-angular-inline-message.mjs +88 -13
- package/fesm2022/slotted-angular-inline-message.mjs.map +1 -1
- package/fesm2022/slotted-angular-inline.mjs +4 -2
- package/fesm2022/slotted-angular-inline.mjs.map +1 -1
- package/fesm2022/slotted-angular-kbd.mjs +11 -7
- package/fesm2022/slotted-angular-kbd.mjs.map +1 -1
- package/fesm2022/slotted-angular-link.mjs +5 -3
- package/fesm2022/slotted-angular-link.mjs.map +1 -1
- package/fesm2022/slotted-angular-list-item.mjs +21 -18
- package/fesm2022/slotted-angular-list-item.mjs.map +1 -1
- package/fesm2022/slotted-angular-list.mjs +37 -22
- package/fesm2022/slotted-angular-list.mjs.map +1 -1
- package/fesm2022/slotted-angular-listbox.mjs +39 -21
- package/fesm2022/slotted-angular-listbox.mjs.map +1 -1
- package/fesm2022/slotted-angular-loading-overlay.mjs +59 -22
- package/fesm2022/slotted-angular-loading-overlay.mjs.map +1 -1
- package/fesm2022/slotted-angular-markdown.mjs +31 -19
- package/fesm2022/slotted-angular-markdown.mjs.map +1 -1
- package/fesm2022/slotted-angular-menu.mjs +51 -29
- package/fesm2022/slotted-angular-menu.mjs.map +1 -1
- package/fesm2022/slotted-angular-menubar.mjs +4 -2
- package/fesm2022/slotted-angular-menubar.mjs.map +1 -1
- package/fesm2022/slotted-angular-message-scroller.mjs +28 -15
- package/fesm2022/slotted-angular-message-scroller.mjs.map +1 -1
- package/fesm2022/slotted-angular-message.mjs +113 -51
- package/fesm2022/slotted-angular-message.mjs.map +1 -1
- package/fesm2022/slotted-angular-multi-select.mjs +189 -87
- package/fesm2022/slotted-angular-multi-select.mjs.map +1 -1
- package/fesm2022/slotted-angular-navigation-menu.mjs +34 -26
- package/fesm2022/slotted-angular-navigation-menu.mjs.map +1 -1
- package/fesm2022/slotted-angular-notification-center.mjs +108 -65
- package/fesm2022/slotted-angular-notification-center.mjs.map +1 -1
- package/fesm2022/slotted-angular-number-field.mjs +23 -11
- package/fesm2022/slotted-angular-number-field.mjs.map +1 -1
- package/fesm2022/slotted-angular-otp-input.mjs +13 -8
- package/fesm2022/slotted-angular-otp-input.mjs.map +1 -1
- package/fesm2022/slotted-angular-page-header.mjs +75 -45
- package/fesm2022/slotted-angular-page-header.mjs.map +1 -1
- package/fesm2022/slotted-angular-page.mjs +38 -10
- package/fesm2022/slotted-angular-page.mjs.map +1 -1
- package/fesm2022/slotted-angular-pagination.mjs +35 -22
- package/fesm2022/slotted-angular-pagination.mjs.map +1 -1
- package/fesm2022/slotted-angular-popover.mjs +32 -19
- package/fesm2022/slotted-angular-popover.mjs.map +1 -1
- package/fesm2022/slotted-angular-progress-indicator.mjs +236 -52
- package/fesm2022/slotted-angular-progress-indicator.mjs.map +1 -1
- package/fesm2022/slotted-angular-prompt-composer.mjs +41 -20
- package/fesm2022/slotted-angular-prompt-composer.mjs.map +1 -1
- package/fesm2022/slotted-angular-prose.mjs +14 -11
- package/fesm2022/slotted-angular-prose.mjs.map +1 -1
- package/fesm2022/slotted-angular-radio-group.mjs +15 -9
- package/fesm2022/slotted-angular-radio-group.mjs.map +1 -1
- package/fesm2022/slotted-angular-rating.mjs +138 -82
- package/fesm2022/slotted-angular-rating.mjs.map +1 -1
- package/fesm2022/slotted-angular-result-state.mjs +16 -12
- package/fesm2022/slotted-angular-result-state.mjs.map +1 -1
- package/fesm2022/slotted-angular-saved-views.mjs +43 -16
- package/fesm2022/slotted-angular-saved-views.mjs.map +1 -1
- package/fesm2022/slotted-angular-scroll-area.mjs +13 -5
- package/fesm2022/slotted-angular-scroll-area.mjs.map +1 -1
- package/fesm2022/slotted-angular-section.mjs +53 -18
- package/fesm2022/slotted-angular-section.mjs.map +1 -1
- package/fesm2022/slotted-angular-segmented-control.mjs +37 -11
- package/fesm2022/slotted-angular-segmented-control.mjs.map +1 -1
- package/fesm2022/slotted-angular-select.mjs +184 -94
- package/fesm2022/slotted-angular-select.mjs.map +1 -1
- package/fesm2022/slotted-angular-side-navigation.mjs +46 -35
- package/fesm2022/slotted-angular-side-navigation.mjs.map +1 -1
- package/fesm2022/slotted-angular-skeleton.mjs +32 -16
- package/fesm2022/slotted-angular-skeleton.mjs.map +1 -1
- package/fesm2022/slotted-angular-slider.mjs +31 -11
- package/fesm2022/slotted-angular-slider.mjs.map +1 -1
- package/fesm2022/slotted-angular-sparkline.mjs +41 -14
- package/fesm2022/slotted-angular-sparkline.mjs.map +1 -1
- package/fesm2022/slotted-angular-split-button.mjs +25 -11
- package/fesm2022/slotted-angular-split-button.mjs.map +1 -1
- package/fesm2022/slotted-angular-splitter.mjs +11 -9
- package/fesm2022/slotted-angular-splitter.mjs.map +1 -1
- package/fesm2022/slotted-angular-stack.mjs +4 -2
- package/fesm2022/slotted-angular-stack.mjs.map +1 -1
- package/fesm2022/slotted-angular-stat-card.mjs +35 -28
- package/fesm2022/slotted-angular-stat-card.mjs.map +1 -1
- package/fesm2022/slotted-angular-status-indicator.mjs +22 -8
- package/fesm2022/slotted-angular-status-indicator.mjs.map +1 -1
- package/fesm2022/slotted-angular-stepper.mjs +40 -15
- package/fesm2022/slotted-angular-stepper.mjs.map +1 -1
- package/fesm2022/slotted-angular-switch.mjs +15 -10
- package/fesm2022/slotted-angular-switch.mjs.map +1 -1
- package/fesm2022/slotted-angular-table-of-contents.mjs +29 -21
- package/fesm2022/slotted-angular-table-of-contents.mjs.map +1 -1
- package/fesm2022/slotted-angular-table.mjs +243 -73
- package/fesm2022/slotted-angular-table.mjs.map +1 -1
- package/fesm2022/slotted-angular-tabs.mjs +42 -18
- package/fesm2022/slotted-angular-tabs.mjs.map +1 -1
- package/fesm2022/slotted-angular-tag.mjs +19 -12
- package/fesm2022/slotted-angular-tag.mjs.map +1 -1
- package/fesm2022/slotted-angular-tags-input.mjs +253 -28
- package/fesm2022/slotted-angular-tags-input.mjs.map +1 -1
- package/fesm2022/slotted-angular-text-field.mjs +49 -15
- package/fesm2022/slotted-angular-text-field.mjs.map +1 -1
- package/fesm2022/slotted-angular-textarea.mjs +5 -3
- package/fesm2022/slotted-angular-textarea.mjs.map +1 -1
- package/fesm2022/slotted-angular-time-field.mjs +48 -14
- package/fesm2022/slotted-angular-time-field.mjs.map +1 -1
- package/fesm2022/slotted-angular-time-picker.mjs +32 -20
- package/fesm2022/slotted-angular-time-picker.mjs.map +1 -1
- package/fesm2022/slotted-angular-time-range-picker.mjs +113 -46
- package/fesm2022/slotted-angular-time-range-picker.mjs.map +1 -1
- package/fesm2022/slotted-angular-timeline.mjs +135 -64
- package/fesm2022/slotted-angular-timeline.mjs.map +1 -1
- package/fesm2022/slotted-angular-toast.mjs +43 -31
- package/fesm2022/slotted-angular-toast.mjs.map +1 -1
- package/fesm2022/slotted-angular-toggle-group.mjs +25 -8
- package/fesm2022/slotted-angular-toggle-group.mjs.map +1 -1
- package/fesm2022/slotted-angular-toggle.mjs +9 -4
- package/fesm2022/slotted-angular-toggle.mjs.map +1 -1
- package/fesm2022/slotted-angular-toolbar.mjs +22 -11
- package/fesm2022/slotted-angular-toolbar.mjs.map +1 -1
- package/fesm2022/slotted-angular-tooltip.mjs +15 -6
- package/fesm2022/slotted-angular-tooltip.mjs.map +1 -1
- package/fesm2022/slotted-angular-top-navigation.mjs +64 -44
- package/fesm2022/slotted-angular-top-navigation.mjs.map +1 -1
- package/fesm2022/slotted-angular-tour.mjs +47 -22
- package/fesm2022/slotted-angular-tour.mjs.map +1 -1
- package/fesm2022/slotted-angular-transfer.mjs +69 -30
- package/fesm2022/slotted-angular-transfer.mjs.map +1 -1
- package/fesm2022/slotted-angular-tree.mjs +74 -26
- package/fesm2022/slotted-angular-tree.mjs.map +1 -1
- package/fesm2022/slotted-angular-typography.mjs +8 -4
- package/fesm2022/slotted-angular-typography.mjs.map +1 -1
- package/fesm2022/slotted-angular-upload.mjs +125 -57
- package/fesm2022/slotted-angular-upload.mjs.map +1 -1
- package/fesm2022/slotted-angular-visually-hidden.mjs +4 -2
- package/fesm2022/slotted-angular-visually-hidden.mjs.map +1 -1
- package/fesm2022/slotted-angular-wizard.mjs +163 -65
- package/fesm2022/slotted-angular-wizard.mjs.map +1 -1
- package/package.json +3 -3
- package/types/slotted-angular-accordion.d.ts.map +1 -1
- package/types/slotted-angular-action-bar.d.ts.map +1 -1
- package/types/slotted-angular-action-sheet.d.ts.map +1 -1
- package/types/slotted-angular-alert.d.ts +2 -2
- package/types/slotted-angular-alert.d.ts.map +1 -1
- package/types/slotted-angular-app-shell.d.ts +11 -3
- package/types/slotted-angular-app-shell.d.ts.map +1 -1
- package/types/slotted-angular-aspect-ratio.d.ts.map +1 -1
- package/types/slotted-angular-attachment.d.ts +1 -1
- package/types/slotted-angular-attachment.d.ts.map +1 -1
- package/types/slotted-angular-avatar-group.d.ts.map +1 -1
- package/types/slotted-angular-avatar.d.ts +11 -3
- package/types/slotted-angular-avatar.d.ts.map +1 -1
- package/types/slotted-angular-badge.d.ts +1 -1
- package/types/slotted-angular-badge.d.ts.map +1 -1
- package/types/slotted-angular-breadcrumb.d.ts.map +1 -1
- package/types/slotted-angular-button-group.d.ts +1 -1
- package/types/slotted-angular-button-group.d.ts.map +1 -1
- package/types/slotted-angular-button.d.ts +33 -13
- package/types/slotted-angular-button.d.ts.map +1 -1
- package/types/slotted-angular-calendar.d.ts +30 -2
- package/types/slotted-angular-calendar.d.ts.map +1 -1
- package/types/slotted-angular-card.d.ts.map +1 -1
- package/types/slotted-angular-carousel.d.ts.map +1 -1
- package/types/slotted-angular-cascader.d.ts.map +1 -1
- package/types/slotted-angular-chart.d.ts +10 -0
- package/types/slotted-angular-chart.d.ts.map +1 -1
- package/types/slotted-angular-checkbox-group.d.ts.map +1 -1
- package/types/slotted-angular-checkbox.d.ts +7 -1
- package/types/slotted-angular-checkbox.d.ts.map +1 -1
- package/types/slotted-angular-code-block.d.ts +1 -1
- package/types/slotted-angular-code-block.d.ts.map +1 -1
- package/types/slotted-angular-collapsible.d.ts +1 -1
- package/types/slotted-angular-collapsible.d.ts.map +1 -1
- package/types/slotted-angular-color-picker.d.ts.map +1 -1
- package/types/slotted-angular-column-manager.d.ts.map +1 -1
- package/types/slotted-angular-combobox.d.ts +5 -1
- package/types/slotted-angular-combobox.d.ts.map +1 -1
- package/types/slotted-angular-command-palette.d.ts +10 -1
- package/types/slotted-angular-command-palette.d.ts.map +1 -1
- package/types/slotted-angular-container.d.ts.map +1 -1
- package/types/slotted-angular-context-menu.d.ts.map +1 -1
- package/types/slotted-angular-currency-field.d.ts +63 -15
- package/types/slotted-angular-currency-field.d.ts.map +1 -1
- package/types/slotted-angular-dashboard-grid.d.ts.map +1 -1
- package/types/slotted-angular-data-grid.d.ts +49 -4
- package/types/slotted-angular-data-grid.d.ts.map +1 -1
- package/types/slotted-angular-data-list.d.ts.map +1 -1
- package/types/slotted-angular-date-field.d.ts +11 -1
- package/types/slotted-angular-date-field.d.ts.map +1 -1
- package/types/slotted-angular-date-picker.d.ts +38 -12
- package/types/slotted-angular-date-picker.d.ts.map +1 -1
- package/types/slotted-angular-date-range-picker.d.ts +0 -1
- package/types/slotted-angular-date-range-picker.d.ts.map +1 -1
- package/types/slotted-angular-datetime-field.d.ts.map +1 -1
- package/types/slotted-angular-datetime-picker.d.ts +0 -1
- package/types/slotted-angular-datetime-picker.d.ts.map +1 -1
- package/types/slotted-angular-datetime-range-picker.d.ts +0 -1
- package/types/slotted-angular-datetime-range-picker.d.ts.map +1 -1
- package/types/slotted-angular-description-list.d.ts.map +1 -1
- package/types/slotted-angular-detail-panel.d.ts.map +1 -1
- package/types/slotted-angular-dialog.d.ts +10 -3
- package/types/slotted-angular-dialog.d.ts.map +1 -1
- package/types/slotted-angular-divider.d.ts.map +1 -1
- package/types/slotted-angular-drawer.d.ts +7 -1
- package/types/slotted-angular-drawer.d.ts.map +1 -1
- package/types/slotted-angular-entity-picker.d.ts +63 -15
- package/types/slotted-angular-entity-picker.d.ts.map +1 -1
- package/types/slotted-angular-event-calendar.d.ts +9 -2
- package/types/slotted-angular-event-calendar.d.ts.map +1 -1
- package/types/slotted-angular-field-group.d.ts.map +1 -1
- package/types/slotted-angular-field.d.ts.map +1 -1
- package/types/slotted-angular-filter-bar.d.ts.map +1 -1
- package/types/slotted-angular-form.d.ts.map +1 -1
- package/types/slotted-angular-fullscreen.d.ts.map +1 -1
- package/types/slotted-angular-grid.d.ts.map +1 -1
- package/types/slotted-angular-highlight.d.ts.map +1 -1
- package/types/slotted-angular-hover-card.d.ts.map +1 -1
- package/types/slotted-angular-icon.d.ts +2 -2
- package/types/slotted-angular-icon.d.ts.map +1 -1
- package/types/slotted-angular-image.d.ts.map +1 -1
- package/types/slotted-angular-import-export-center.d.ts.map +1 -1
- package/types/slotted-angular-inline-message.d.ts +25 -25
- package/types/slotted-angular-inline-message.d.ts.map +1 -1
- package/types/slotted-angular-inline.d.ts.map +1 -1
- package/types/slotted-angular-kbd.d.ts.map +1 -1
- package/types/slotted-angular-link.d.ts.map +1 -1
- package/types/slotted-angular-list-item.d.ts +1 -1
- package/types/slotted-angular-list-item.d.ts.map +1 -1
- package/types/slotted-angular-list.d.ts +42 -27
- package/types/slotted-angular-list.d.ts.map +1 -1
- package/types/slotted-angular-listbox.d.ts.map +1 -1
- package/types/slotted-angular-loading-overlay.d.ts.map +1 -1
- package/types/slotted-angular-markdown.d.ts.map +1 -1
- package/types/slotted-angular-menu.d.ts +11 -2
- package/types/slotted-angular-menu.d.ts.map +1 -1
- package/types/slotted-angular-menubar.d.ts.map +1 -1
- package/types/slotted-angular-message-scroller.d.ts.map +1 -1
- package/types/slotted-angular-message.d.ts +1 -1
- package/types/slotted-angular-message.d.ts.map +1 -1
- package/types/slotted-angular-multi-select.d.ts +15 -1
- package/types/slotted-angular-multi-select.d.ts.map +1 -1
- package/types/slotted-angular-navigation-menu.d.ts.map +1 -1
- package/types/slotted-angular-notification-center.d.ts +1 -1
- package/types/slotted-angular-notification-center.d.ts.map +1 -1
- package/types/slotted-angular-number-field.d.ts.map +1 -1
- package/types/slotted-angular-otp-input.d.ts.map +1 -1
- package/types/slotted-angular-page-header.d.ts +4 -4
- package/types/slotted-angular-page-header.d.ts.map +1 -1
- package/types/slotted-angular-page.d.ts.map +1 -1
- package/types/slotted-angular-pagination.d.ts.map +1 -1
- package/types/slotted-angular-popover.d.ts.map +1 -1
- package/types/slotted-angular-progress-indicator.d.ts +8 -1
- package/types/slotted-angular-progress-indicator.d.ts.map +1 -1
- package/types/slotted-angular-prompt-composer.d.ts +11 -2
- package/types/slotted-angular-prompt-composer.d.ts.map +1 -1
- package/types/slotted-angular-prose.d.ts.map +1 -1
- package/types/slotted-angular-radio-group.d.ts.map +1 -1
- package/types/slotted-angular-rating.d.ts +1 -1
- package/types/slotted-angular-rating.d.ts.map +1 -1
- package/types/slotted-angular-result-state.d.ts.map +1 -1
- package/types/slotted-angular-saved-views.d.ts.map +1 -1
- package/types/slotted-angular-scroll-area.d.ts.map +1 -1
- package/types/slotted-angular-section.d.ts +11 -3
- package/types/slotted-angular-section.d.ts.map +1 -1
- package/types/slotted-angular-segmented-control.d.ts +15 -2
- package/types/slotted-angular-segmented-control.d.ts.map +1 -1
- package/types/slotted-angular-select.d.ts +12 -2
- package/types/slotted-angular-select.d.ts.map +1 -1
- package/types/slotted-angular-side-navigation.d.ts.map +1 -1
- package/types/slotted-angular-skeleton.d.ts.map +1 -1
- package/types/slotted-angular-slider.d.ts.map +1 -1
- package/types/slotted-angular-sparkline.d.ts +7 -1
- package/types/slotted-angular-sparkline.d.ts.map +1 -1
- package/types/slotted-angular-split-button.d.ts +2 -2
- package/types/slotted-angular-split-button.d.ts.map +1 -1
- package/types/slotted-angular-splitter.d.ts.map +1 -1
- package/types/slotted-angular-stack.d.ts.map +1 -1
- package/types/slotted-angular-stat-card.d.ts +1 -1
- package/types/slotted-angular-stat-card.d.ts.map +1 -1
- package/types/slotted-angular-status-indicator.d.ts +1 -1
- package/types/slotted-angular-status-indicator.d.ts.map +1 -1
- package/types/slotted-angular-stepper.d.ts +1 -1
- package/types/slotted-angular-stepper.d.ts.map +1 -1
- package/types/slotted-angular-switch.d.ts.map +1 -1
- package/types/slotted-angular-table-of-contents.d.ts.map +1 -1
- package/types/slotted-angular-table.d.ts +63 -6
- package/types/slotted-angular-table.d.ts.map +1 -1
- package/types/slotted-angular-tabs.d.ts +3 -4
- package/types/slotted-angular-tabs.d.ts.map +1 -1
- package/types/slotted-angular-tag.d.ts +1 -1
- package/types/slotted-angular-tag.d.ts.map +1 -1
- package/types/slotted-angular-tags-input.d.ts +33 -1
- package/types/slotted-angular-tags-input.d.ts.map +1 -1
- package/types/slotted-angular-text-field.d.ts.map +1 -1
- package/types/slotted-angular-textarea.d.ts.map +1 -1
- package/types/slotted-angular-theme.d.ts +1 -1
- package/types/slotted-angular-time-field.d.ts.map +1 -1
- package/types/slotted-angular-time-picker.d.ts +0 -1
- package/types/slotted-angular-time-picker.d.ts.map +1 -1
- package/types/slotted-angular-time-range-picker.d.ts +0 -1
- package/types/slotted-angular-time-range-picker.d.ts.map +1 -1
- package/types/slotted-angular-timeline.d.ts +1 -1
- package/types/slotted-angular-timeline.d.ts.map +1 -1
- package/types/slotted-angular-toast.d.ts +3 -3
- package/types/slotted-angular-toast.d.ts.map +1 -1
- package/types/slotted-angular-toggle-group.d.ts +8 -2
- package/types/slotted-angular-toggle-group.d.ts.map +1 -1
- package/types/slotted-angular-toggle.d.ts +1 -1
- package/types/slotted-angular-toggle.d.ts.map +1 -1
- package/types/slotted-angular-toolbar.d.ts.map +1 -1
- package/types/slotted-angular-tooltip.d.ts.map +1 -1
- package/types/slotted-angular-top-navigation.d.ts.map +1 -1
- package/types/slotted-angular-tour.d.ts.map +1 -1
- package/types/slotted-angular-transfer.d.ts.map +1 -1
- package/types/slotted-angular-tree.d.ts.map +1 -1
- package/types/slotted-angular-typography.d.ts +1 -1
- package/types/slotted-angular-typography.d.ts.map +1 -1
- package/types/slotted-angular-upload.d.ts +2 -2
- package/types/slotted-angular-upload.d.ts.map +1 -1
- package/types/slotted-angular-visually-hidden.d.ts.map +1 -1
- package/types/slotted-angular-wizard.d.ts.map +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"slotted-angular-date-picker.mjs","sources":["../../date-picker/src/date-picker-defaults.ts","../../date-picker/src/date-picker.ts","../../date-picker/src/date-picker-parts.ts","../../date-picker/src/slotted-angular-date-picker.ts"],"sourcesContent":["import { inject, InjectionToken } from '@angular/core';\n\n/** Where the surface opens, before the positioner has read the room. */\nexport type DatePickerPlacement =\n 'bottom-start' | 'bottom' | 'bottom-end' | 'top-start' | 'top' | 'top-end';\n\n/**\n * Whether choosing a date closes the surface.\n *\n * `auto` closes for one date and stays open for a range or a set, which is the\n * only combination that is not a trap: a second press has to reach the same\n * surface.\n */\nexport type DatePickerCloseOnSelect = 'auto' | 'always' | 'never';\n\nexport type DatePickerSize = 'sm' | 'md' | 'lg';\nexport type DatePickerVariant = 'outline' | 'subtle' | 'plain';\nexport type DatePickerCalendar = 'gregory';\n\nexport interface DatePickerDefaults {\n calendar: DatePickerCalendar;\n closeOnSelect: DatePickerCloseOnSelect;\n placement: DatePickerPlacement;\n size: DatePickerSize;\n timeZone: string | undefined;\n variant: DatePickerVariant;\n}\n\nconst FALLBACK: DatePickerDefaults = {\n calendar: 'gregory',\n closeOnSelect: 'auto',\n placement: 'bottom-start',\n size: 'md',\n timeZone: undefined,\n variant: 'outline',\n};\n\nexport const DATE_PICKER_DEFAULTS = new InjectionToken<DatePickerDefaults>(\n 'slotted date picker defaults',\n { providedIn: 'root', factory: () => FALLBACK },\n);\n\n/**\n * An application decides once which zone answers \"today\" and where its\n * surfaces open — rather than repeating the same inputs on every picker in a\n * form. The locale that writes its dates and the trigger's names come from the\n * language in force (`provideSlotted`).\n */\nexport function provideDatePickerDefaults(defaults: Partial<DatePickerDefaults>) {\n return {\n provide: DATE_PICKER_DEFAULTS,\n useFactory: (): DatePickerDefaults => ({ ...FALLBACK, ...defaults }),\n };\n}\n\n/** What a date picker renders as here, before it states anything of its own. */\nexport function injectDatePickerDefaults(): DatePickerDefaults {\n return inject(DATE_PICKER_DEFAULTS);\n}\n","import { createDateFormat, isDateInRange } from '@slotted/core/date';\nimport type { PlainDate } from '@slotted/core/date';\nimport { createDismissableLayer } from '@slotted/core/dismissable-layer';\nimport { tabbables } from '@slotted/core/focus';\nimport type { DismissableLayerHandle } from '@slotted/core/dismissable-layer';\nimport { createPositioner } from '@slotted/core/positioner';\nimport type { PositionerHandle } from '@slotted/core/positioner';\nimport { createControllable } from '@slotted/core/state';\nimport type { ChangeReason, ChangeRequest } from '@slotted/core/state';\nimport {\n afterNextRender,\n booleanAttribute,\n ChangeDetectionStrategy,\n Component,\n computed,\n DestroyRef,\n effect,\n ElementRef,\n forwardRef,\n inject,\n Injector,\n input,\n numberAttribute,\n output,\n signal,\n ViewChild,\n ViewEncapsulation,\n} from '@angular/core';\nimport type { OnInit } from '@angular/core';\nimport { NG_VALIDATORS, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport type {\n AbstractControl,\n ControlValueAccessor,\n ValidationErrors,\n Validator,\n} from '@angular/forms';\nimport { injectLocale, injectMessages } from '@slotted/angular/i18n';\nimport { SlGlyph, SlIcon } from '@slotted/angular/icon';\nimport {\n datePickerMessages,\n type DatePickerMessages,\n type PartialMessages,\n} from '@slotted/core/i18n';\nimport { SlCalendar, asDates } from '@slotted/angular/calendar';\nimport type { CalendarSelectionMode, CalendarValue, CalendarView } from '@slotted/angular/calendar';\nimport { SlDateField, SlDateFieldEnd } from '@slotted/angular/date-field';\nimport { SlField } from '@slotted/angular/field';\n\nimport { injectDatePickerDefaults } from './date-picker-defaults';\nimport type {\n DatePickerCalendar,\n DatePickerCloseOnSelect,\n DatePickerPlacement,\n DatePickerSize,\n DatePickerVariant,\n} from './date-picker-defaults';\n\n/** The reasons the contract's `stateModel.open` lists, and no other. */\ntype OpenReason = Extract<\n ChangeReason,\n 'pointer' | 'keyboard' | 'escape' | 'outsidePress' | 'select'\n>;\n\n/**\n * Below this width, on a finger, the surface is a sheet rather than a popover.\n * §2.7 of `docs/component-features.md` asks for it by name. The query is here\n * as well as in the stylesheet because the DOM has to say which presentation it\n * is in, and a media query cannot write an attribute.\n */\nconst SHEET_QUERY = '(max-width: 480px) and (pointer: coarse)';\n/** The surface needs an identifier the trigger can point `aria-controls` at. */\nlet sequence = 0;\n\n/**\n * A date field, a trigger, and a calendar behind them.\n *\n * **It composes the other two families and redraws neither.** The field keeps\n * its own `data-ui` and the calendar keeps its own; this family owns the box the\n * positioner measures, the trigger inside the field's end slot, and the layer\n * the calendar stands on.\n *\n * **The trigger's name carries the chosen date.** Focus returns to it when the\n * surface closes, so the name is where the reader is told what was chosen —\n * which the APG's own example names as an accessibility feature.\n *\n * **`Escape` is staged.** `dismissable-layer` asks in the capture phase, so a\n * handler inside the surface is too late; the family decides there instead, and\n * walks the calendar's view down rather than closing while a month or year grid\n * is showing.\n */\n@Component({\n selector: '[slDatePicker]',\n standalone: true,\n exportAs: 'slDatePicker',\n imports: [SlCalendar, SlDateField, SlDateFieldEnd, SlGlyph, SlIcon],\n template: `<div data-part=\"control\" (keydown)=\"onControlKeyDown($event)\">\n <div\n slDateField\n #field=\"slDateField\"\n [locale]=\"resolvedLocale()\"\n [timeZone]=\"resolvedTimeZone()\"\n [firstDayOfWeek]=\"firstDayOfWeek()\"\n [yearPivot]=\"yearPivot()\"\n [calendar]=\"resolvedCalendar()\"\n [size]=\"resolvedSize()\"\n [variant]=\"resolvedVariant()\"\n [min]=\"min()\"\n [max]=\"max()\"\n [isDateUnavailable]=\"isDateUnavailable()\"\n [clearable]=\"clearable()\"\n [name]=\"name()\"\n [disabled]=\"resolvedDisabled()\"\n [readOnly]=\"readOnly()\"\n [invalid]=\"invalid()\"\n [required]=\"required()\"\n [value]=\"singleValue()\"\n (valueChange)=\"onFieldValue($event)\"\n (focusout)=\"onControlFocusOut($event)\"\n >\n <span slDateFieldEnd>\n <button\n #trigger\n data-part=\"trigger\"\n type=\"button\"\n aria-haspopup=\"dialog\"\n [attr.aria-label]=\"triggerLabel()\"\n [attr.aria-expanded]=\"isOpen()\"\n [attr.aria-controls]=\"isOpen() ? contentId : null\"\n [disabled]=\"!editable()\"\n (click)=\"toggle($event)\"\n >\n <span slIcon><svg slGlyph name=\"calendar\"></svg></span>\n </button>\n </span>\n </div>\n </div>\n\n @if (isOpen()) {\n <div\n #layer\n data-ui=\"date-picker\"\n data-part=\"positioner\"\n data-open\n [attr.data-presentation]=\"sheet() ? 'sheet' : 'popover'\"\n [attr.data-positioned]=\"positioned() ? '' : null\"\n >\n <div\n data-part=\"content\"\n role=\"dialog\"\n [attr.id]=\"contentId\"\n [attr.aria-label]=\"triggerLabel()\"\n (keydown)=\"onContentKeyDown($event)\"\n >\n <ng-content select=\"[slDatePickerPresets]\" />\n <div\n slCalendar\n [locale]=\"resolvedLocale()\"\n [timeZone]=\"resolvedTimeZone()\"\n [firstDayOfWeek]=\"firstDayOfWeek()\"\n [min]=\"min()\"\n [max]=\"max()\"\n [isDateUnavailable]=\"isDateUnavailable()\"\n [selectionMode]=\"selectionMode()\"\n [months]=\"months()\"\n [weekNumbers]=\"weekNumbers()\"\n [fixedWeeks]=\"fixedWeeks()\"\n [readOnly]=\"readOnly()\"\n [value]=\"held()\"\n [view]=\"view()\"\n (viewChange)=\"view.set($event)\"\n (valueChange)=\"onCalendarValue($event)\"\n ></div>\n <ng-content select=\"[slDatePickerFooter]\" />\n </div>\n </div>\n }`,\n styleUrl: '../../../styles/src/date-picker/date-picker.css',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n providers: [\n { provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => SlDatePicker), multi: true },\n { provide: NG_VALIDATORS, useExisting: forwardRef(() => SlDatePicker), multi: true },\n ],\n host: {\n 'data-ui': 'date-picker',\n 'data-part': 'root',\n '[attr.data-size]': 'resolvedSize()',\n '[attr.data-variant]': 'resolvedVariant()',\n '[attr.data-calendar]': 'resolvedCalendar()',\n '[attr.data-open]': \"isOpen() ? '' : null\",\n '[attr.data-disabled]': \"resolvedDisabled() === true ? '' : null\",\n '[attr.data-invalid]': \"resolvedInvalid() === true ? '' : null\",\n '[attr.data-readonly]': \"resolvedReadOnly() === true ? '' : null\",\n '[attr.data-required]': \"resolvedRequired() === true ? '' : null\",\n },\n})\nexport class SlDatePicker implements ControlValueAccessor, Validator, OnInit {\n readonly value = input<CalendarValue | undefined>(undefined);\n readonly defaultValue = input<CalendarValue | undefined>(undefined);\n /** Present means the consumer owns whether the surface is showing. */\n readonly open = input<boolean | undefined, boolean | string | undefined>(undefined, {\n transform: (value) => (value === undefined ? undefined : booleanAttribute(value)),\n });\n readonly defaultOpen = input(false, { transform: booleanAttribute });\n\n readonly min = input<PlainDate | undefined>(undefined);\n readonly max = input<PlainDate | undefined>(undefined);\n readonly isDateUnavailable = input<((date: PlainDate) => boolean) | undefined>(undefined);\n\n readonly selectionMode = input<CalendarSelectionMode>('single');\n readonly months = input<number | undefined, unknown>(undefined, {\n transform: (value) =>\n value === undefined || value === null ? undefined : numberAttribute(value),\n });\n readonly defaultView = input<CalendarView | undefined>(undefined);\n readonly weekNumbers = input<boolean | undefined, boolean | string | undefined>(undefined, {\n transform: (value) => (value === undefined ? undefined : booleanAttribute(value)),\n });\n /**\n * Six rows whatever the month needs, on by default here and off in a bare\n * calendar: a surface that grows a row between one press of \"next\" and the\n * next moves the target the reader was aiming at.\n */\n readonly fixedWeeks = input(true, { transform: booleanAttribute });\n\n /** BCP 47. Writes the field, the grid and the trigger's date. Unset, the language in force decides. */\n readonly locale = input<string | undefined>(undefined);\n readonly timeZone = input<string | undefined>(undefined);\n /** 0 is Sunday. Unset, the locale decides. */\n readonly firstDayOfWeek = input<number | undefined, unknown>(undefined, {\n transform: (value) =>\n value === undefined || value === null ? undefined : numberAttribute(value),\n });\n /** How a two-digit typed year resolves in the field. */\n readonly yearPivot = input<number | undefined, unknown>(undefined, {\n transform: (value) =>\n value === undefined || value === null ? undefined : numberAttribute(value),\n });\n readonly calendar = input<DatePickerCalendar | undefined>(undefined);\n\n readonly size = input<DatePickerSize | undefined>(undefined);\n readonly variant = input<DatePickerVariant | undefined>(undefined);\n readonly placement = input<DatePickerPlacement | undefined>(undefined);\n readonly closeOnSelect = input<DatePickerCloseOnSelect | undefined>(undefined);\n\n readonly disabled = input<boolean | undefined, boolean | string | undefined>(undefined, {\n transform: (value) => (value === undefined ? undefined : booleanAttribute(value)),\n });\n readonly readOnly = input<boolean | undefined, boolean | string | undefined>(undefined, {\n transform: (value) => (value === undefined ? undefined : booleanAttribute(value)),\n });\n readonly invalid = input<boolean | undefined, boolean | string | undefined>(undefined, {\n transform: (value) => (value === undefined ? undefined : booleanAttribute(value)),\n });\n readonly required = input<boolean | undefined, boolean | string | undefined>(undefined, {\n transform: (value) => (value === undefined ? undefined : booleanAttribute(value)),\n });\n\n readonly clearable = input(false, { transform: booleanAttribute });\n readonly name = input<string | undefined>(undefined);\n /**\n * Words laid over the catalog of the language in force, key by key: the\n * trigger's name before (`choose`) and after (`change`) a date is chosen.\n */\n readonly messages = input<PartialMessages<DatePickerMessages> | undefined>(undefined);\n\n readonly valueChange = output<ChangeRequest<CalendarValue>>();\n readonly openChange = output<ChangeRequest<boolean>>();\n\n @ViewChild('layer') protected layer?: ElementRef<HTMLElement>;\n @ViewChild('trigger') protected triggerRef?: ElementRef<HTMLButtonElement>;\n @ViewChild('field') protected field?: SlDateField;\n\n private readonly element = inject<ElementRef<HTMLElement>>(ElementRef).nativeElement;\n private readonly defaults = injectDatePickerDefaults();\n private readonly appLocale = injectLocale();\n /** The family's words in the language in force, with this picker's `messages` laid over them. */\n readonly t = injectMessages(datePickerMessages, this.messages);\n private readonly injector = inject(Injector);\n private readonly destroyRef = inject(DestroyRef);\n private readonly enclosing = inject(SlField, { optional: true });\n\n protected readonly contentId = `sl-date-picker-${String((sequence += 1))}`;\n\n private readonly ownOpen = signal(false);\n private readonly ownValue = signal<CalendarValue>(null);\n protected readonly view = signal<CalendarView>('day');\n protected readonly positioned = signal(false);\n protected readonly sheet = signal(false);\n private readonly formDisabled = signal<boolean | undefined>(undefined);\n\n private onChangeFn: (value: CalendarValue) => void = () => undefined;\n /** Whether a form model holds the value, and answers a reset through `writeValue`. */\n private formBound = false;\n private onTouchedFn: () => void = () => undefined;\n private onValidatorChangeFn: () => void = () => undefined;\n\n /**\n * Whether the next opening moves focus into the calendar. Set by a request\n * to open — the trigger, the chord, `openSurface()` — and never by a first\n * render that starts open, which would take focus from wherever the page put\n * it.\n */\n private focusOnOpen = false;\n private positioner: PositionerHandle | null = null;\n private dismissable: DismissableLayerHandle | null = null;\n\n protected readonly isOpen = computed(() => this.open() ?? this.ownOpen());\n protected readonly held = computed(() => this.value() ?? this.ownValue());\n\n protected readonly resolvedLocale = computed(() => this.locale() ?? this.appLocale());\n protected readonly resolvedTimeZone = computed(() => this.timeZone() ?? this.defaults.timeZone);\n protected readonly resolvedCalendar = computed(() => this.calendar() ?? this.defaults.calendar);\n protected readonly resolvedSize = computed(\n () => this.size() ?? this.enclosing?.resolvedSize() ?? this.defaults.size,\n );\n protected readonly resolvedVariant = computed(() => this.variant() ?? this.defaults.variant);\n protected readonly resolvedPlacement = computed(\n () => this.placement() ?? this.defaults.placement,\n );\n protected readonly resolvedDisabled = computed(\n () => this.disabled() ?? this.formDisabled() ?? this.enclosing?.resolvedDisabled(),\n );\n protected readonly resolvedReadOnly = computed(\n () => this.readOnly() ?? this.enclosing?.resolvedReadOnly(),\n );\n protected readonly resolvedRequired = computed(\n () => this.required() ?? this.enclosing?.required(),\n );\n\n /**\n * Validity the family owns, beside the validity the consumer states: a date\n * outside the bounds or refused by the predicate is invalid whatever the\n * field around it says, because this control is the only thing that knows.\n */\n protected readonly resolvedInvalid = computed(() => {\n const refused = asDates(this.held()).some(\n (date) =>\n !isDateInRange(date, this.min(), this.max()) || this.isDateUnavailable()?.(date) === true,\n );\n if (refused) return true;\n return this.invalid() ?? this.enclosing?.invalid();\n });\n\n protected readonly editable = computed(\n () => this.resolvedDisabled() !== true && this.resolvedReadOnly() !== true,\n );\n\n /**\n * The value the field shows, which is a single date or nothing at all. `null`\n * reaches the field as `null`, so a value emptied from outside — a form\n * reset, a controlled clear — empties the segments too.\n */\n protected readonly singleValue = computed(() => {\n const held = this.held();\n if (held !== null && (Array.isArray(held) || 'start' in held)) return undefined;\n return held;\n });\n\n /**\n * The trigger's accessible name. Focus returns here when the surface closes,\n * so this is where the reader is told what was chosen.\n */\n protected readonly triggerLabel = computed(() => {\n const chosen = asDates(this.held());\n if (chosen.length === 0) return this.t('choose');\n const format = createDateFormat({ locale: this.resolvedLocale() });\n return this.t('change', { date: chosen.map((date) => format.describe(date)).join(' – ') });\n });\n\n private readonly closesOnSelect = computed(() => {\n const axis = this.closeOnSelect() ?? this.defaults.closeOnSelect;\n return axis === 'always' || (axis === 'auto' && this.selectionMode() === 'single');\n });\n\n constructor() {\n /* The layer is created and torn down with the surface, not with the\n component: a layer that outlived its content would hold a place in the\n single stack that nothing occupies. */\n effect(() => {\n const open = this.isOpen();\n if (!open) {\n this.release();\n return;\n }\n afterNextRender(() => this.attach(), { injector: this.injector });\n });\n\n /* A bound that changed is a validity that changed, and the form is told. */\n effect(() => {\n this.min();\n this.max();\n this.isDateUnavailable();\n this.onValidatorChangeFn();\n });\n\n this.destroyRef.onDestroy(() => this.release());\n }\n\n /* ── Forms ─────────────────────────────────────────────────────────── */\n\n writeValue(value: CalendarValue | undefined) {\n this.ownValue.set(value ?? null);\n }\n\n registerOnChange(fn: (value: CalendarValue) => void) {\n this.onChangeFn = fn;\n this.formBound = true;\n }\n\n registerOnTouched(fn: () => void) {\n this.onTouchedFn = fn;\n }\n\n setDisabledState(isDisabled: boolean) {\n this.formDisabled.set(isDisabled);\n }\n\n registerOnValidatorChange(fn: () => void) {\n this.onValidatorChangeFn = fn;\n }\n\n /**\n * The rules no other validator can see, under the names `date-field` reports\n * them with. `required` is left to Angular's own.\n */\n validate(control: AbstractControl): ValidationErrors | null {\n const dates = asDates((control.value as CalendarValue | undefined) ?? null);\n const min = this.min();\n const max = this.max();\n const outside = dates.find((date) => !isDateInRange(date, min, max));\n if (outside !== undefined) return { slottedDateRange: { min, max, actual: outside } };\n const refused = dates.find((date) => this.isDateUnavailable()?.(date) === true);\n if (refused !== undefined) return { slottedDateUnavailable: { actual: refused } };\n return null;\n }\n\n ngOnInit() {\n this.ownOpen.set(this.defaultOpen());\n this.ownValue.set(this.defaultValue() ?? null);\n this.view.set(this.defaultView() ?? 'day');\n\n /* A native reset restores the hidden input and tells nothing, so the\n picker would keep the last date chosen in a form that had been reset.\n The value returns to `defaultValue` through `valueChange`, reason\n `programmatic`. A picker bound to a form model takes the model's reset\n value through `writeValue` instead. */\n const form = this.element.closest('form');\n if (form !== null) {\n const onReset = (event: Event) => {\n if (!this.formBound) this.commit(this.defaultValue() ?? null, 'programmatic', event);\n };\n form.addEventListener('reset', onReset);\n this.destroyRef.onDestroy(() => form.removeEventListener('reset', onReset));\n }\n\n /* `matchMedia` is absent in a server render and in some test environments,\n and the popover is the right answer wherever it cannot be asked. */\n if (typeof window === 'undefined' || typeof window.matchMedia !== 'function') return;\n const query = window.matchMedia(SHEET_QUERY);\n const read = () => this.sheet.set(query.matches);\n read();\n query.addEventListener('change', read);\n this.destroyRef.onDestroy(() => query.removeEventListener('change', read));\n }\n\n /** Puts focus on the first segment of the field. */\n focus() {\n this.field?.focus();\n }\n\n openSurface(source?: Event) {\n this.setOpen(true, 'keyboard', source);\n }\n\n closeSurface(source?: Event) {\n this.setOpen(false, 'keyboard', source);\n }\n\n protected toggle(source: Event) {\n this.setOpen(!this.isOpen(), 'pointer', source);\n }\n\n protected onControlKeyDown(event: KeyboardEvent) {\n if (!this.editable()) return;\n /* Angular Material records the platform note this inherits: ChromeOS turns\n the chord into PageDown before the browser sees it, which is why the\n trigger button is always drawn and this is only a shortcut. */\n if (event.altKey && event.key === 'ArrowDown') {\n event.preventDefault();\n this.setOpen(true, 'keyboard', event);\n }\n }\n\n /** Tab and Shift+Tab wrap inside the surface while it is open. */\n protected onContentKeyDown(event: KeyboardEvent) {\n if (event.key !== 'Tab' || event.altKey || event.ctrlKey || event.metaKey) return;\n const content = event.currentTarget as HTMLElement;\n const items = tabbables(content);\n const first = items[0];\n const last = items[items.length - 1];\n if (first === undefined || last === undefined) return;\n const current = content.ownerDocument.activeElement;\n if (event.shiftKey && current === first) {\n event.preventDefault();\n last.focus();\n } else if (!event.shiftKey && current === last) {\n event.preventDefault();\n first.focus();\n }\n }\n\n protected onControlFocusOut(event: FocusEvent) {\n const next = event.relatedTarget;\n if (next instanceof Node && this.element.contains(next)) return;\n this.onTouchedFn();\n }\n\n protected onFieldValue(request: {\n value: PlainDate | null;\n reason: ChangeReason;\n source?: unknown;\n }) {\n this.commit(request.value, request.reason, request.source);\n }\n\n protected onCalendarValue(request: ChangeRequest<CalendarValue>) {\n this.commit(request.value, request.reason, request.source);\n if (!this.closesOnSelect()) return;\n this.setOpen(false, 'select', request.source as Event | undefined);\n this.triggerRef?.nativeElement.focus({ preventScroll: true });\n }\n\n private commit(next: CalendarValue, reason: ChangeReason, source: unknown) {\n let cancelled = false;\n const state = createControllable<CalendarValue>({\n controlled: this.value(),\n initial: this.held(),\n equals: () => false,\n onRequest: (request) => {\n this.valueChange.emit(request);\n cancelled = request.cancelled;\n },\n });\n state.request(next, reason, source);\n if (cancelled) return;\n if (this.value() === undefined) this.ownValue.set(next);\n this.onChangeFn(next);\n }\n\n private setOpen(next: boolean, reason: OpenReason, source: unknown) {\n const state = createControllable<boolean>({\n controlled: this.open(),\n initial: this.isOpen(),\n onRequest: (request) => {\n this.openChange.emit(request);\n this.focusOnOpen = request.value && !request.cancelled;\n },\n });\n if (state.request(next, reason, source)) this.ownOpen.set(next);\n }\n\n /** Places the layer and puts it in the single stack. */\n private attach() {\n const layer = this.layer?.nativeElement;\n if (layer === undefined) return;\n this.release();\n\n if (!this.sheet()) {\n const anchor =\n this.element.querySelector<HTMLElement>('[data-part=\"control\"]') ?? this.element;\n const [side, align] = this.resolvedPlacement().split('-') as [\n 'top' | 'bottom',\n 'start' | 'end' | undefined,\n ];\n this.positioner = createPositioner(anchor, layer, { align: align ?? 'center', side });\n void this.positioner.update().then(() => this.positioned.set(true));\n }\n\n /* The dialog takes focus when it opens, on the day that holds the roving\n tab stop: the chosen date, or today. */\n if (this.focusOnOpen) {\n this.focusOnOpen = false;\n layer\n .querySelector<HTMLElement>('[data-part=\"day\"][tabindex=\"0\"]')\n ?.focus({ preventScroll: true });\n }\n\n const trigger = this.triggerRef?.nativeElement;\n this.dismissable = createDismissableLayer(layer, {\n branches: trigger === undefined ? [] : [trigger],\n escape: true,\n focusOutside: false,\n modal: false,\n outsidePress: true,\n scrollLock: false,\n onDismiss: (request) => {\n /**\n * The view first, the surface second. The layer listens in the capture\n * phase, so a handler on the calendar would already have lost the\n * surface by the time it ran; the decision is taken here, and the layer\n * is simply not asked to close.\n */\n if (request.reason === 'escape' && this.view() !== 'day') {\n this.view.set(this.view() === 'year' ? 'month' : 'day');\n return;\n }\n this.setOpen(\n false,\n request.reason === 'escape' ? 'escape' : 'outsidePress',\n request.source,\n );\n if (request.reason === 'escape') {\n this.triggerRef?.nativeElement.focus({ preventScroll: true });\n }\n },\n });\n }\n\n private release() {\n this.positioner?.destroy();\n this.positioner = null;\n this.dismissable?.destroy();\n this.dismissable = null;\n this.positioned.set(false);\n }\n}\n","import { Directive } from '@angular/core';\n\n/**\n * The consumer's own shortcuts, in a column beside the grid.\n *\n * This family ships no list of them: \"last 7 days\" is a business calendar and a\n * library that guessed at one would be guessing at a fiscal year. What it ships\n * is the column they stand in.\n */\n@Directive({\n selector: '[slDatePickerPresets]',\n standalone: true,\n exportAs: 'slDatePickerPresets',\n host: { 'data-part': 'presets' },\n})\nexport class SlDatePickerPresets {}\n\n/** The consumer's own actions, under whatever the surface is holding. */\n@Directive({\n selector: '[slDatePickerFooter]',\n standalone: true,\n exportAs: 'slDatePickerFooter',\n host: { 'data-part': 'footer' },\n})\nexport class SlDatePickerFooter {}\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-date-picker.mjs","sources":["../../date-picker/src/date-picker-defaults.ts","../../date-picker/src/date-picker.ts","../../date-picker/src/date-picker-parts.ts","../../date-picker/src/slotted-angular-date-picker.ts"],"sourcesContent":["import { inject, InjectionToken } from '@angular/core';\n\n/** Where the surface opens, before the positioner has read the room. */\nexport type DatePickerPlacement =\n 'bottom-start' | 'bottom' | 'bottom-end' | 'top-start' | 'top' | 'top-end';\n\n/**\n * Whether choosing a date closes the surface.\n *\n * `auto` closes for one date and stays open for a range or a set, which is the\n * only combination that is not a trap: a second press has to reach the same\n * surface.\n */\nexport type DatePickerCloseOnSelect = 'auto' | 'always' | 'never';\n\nexport type DatePickerSize = 'sm' | 'md' | 'lg';\nexport type DatePickerVariant = 'outline' | 'subtle' | 'plain';\nexport type DatePickerCalendar = 'gregory';\n\nexport interface DatePickerDefaults {\n calendar: DatePickerCalendar;\n closeOnSelect: DatePickerCloseOnSelect;\n placement: DatePickerPlacement;\n size: DatePickerSize;\n timeZone: string | undefined;\n variant: DatePickerVariant;\n}\n\nconst FALLBACK: DatePickerDefaults = {\n calendar: 'gregory',\n closeOnSelect: 'auto',\n placement: 'bottom-start',\n size: 'md',\n timeZone: undefined,\n variant: 'outline',\n};\n\nexport const DATE_PICKER_DEFAULTS = new InjectionToken<DatePickerDefaults>(\n 'slotted date picker defaults',\n { providedIn: 'root', factory: () => FALLBACK },\n);\n\n/**\n * An application decides once which zone answers \"today\" and where its\n * surfaces open — rather than repeating the same inputs on every picker in a\n * form. The locale that writes its dates and the trigger's names come from the\n * language in force (`provideSlotted`).\n */\nexport function provideDatePickerDefaults(defaults: Partial<DatePickerDefaults>) {\n return {\n provide: DATE_PICKER_DEFAULTS,\n useFactory: (): DatePickerDefaults => ({ ...FALLBACK, ...defaults }),\n };\n}\n\n/** What a date picker renders as here, before it states anything of its own. */\nexport function injectDatePickerDefaults(): DatePickerDefaults {\n return inject(DATE_PICKER_DEFAULTS);\n}\n","import {\n createDateFormat,\n firstDayOf,\n isDateInRange,\n isPlainDate,\n isPlainYearMonth,\n lastDayOf,\n yearMonthOf,\n} from '@slotted/core/date';\nimport type { PlainDate, PlainYearMonth } from '@slotted/core/date';\nimport { createDismissableLayer } from '@slotted/core/dismissable-layer';\nimport { tabbables } from '@slotted/core/focus';\nimport type { DismissableLayerHandle } from '@slotted/core/dismissable-layer';\nimport { createPositioner } from '@slotted/core/positioner';\nimport type { PositionerHandle } from '@slotted/core/positioner';\nimport { createControllable } from '@slotted/core/state';\nimport type { ChangeReason, ChangeRequest } from '@slotted/core/state';\nimport {\n afterNextRender,\n booleanAttribute,\n ChangeDetectionStrategy,\n Component,\n computed,\n DestroyRef,\n effect,\n ElementRef,\n forwardRef,\n inject,\n Injector,\n input,\n numberAttribute,\n output,\n signal,\n ViewChild,\n ViewEncapsulation,\n} from '@angular/core';\nimport type { OnInit } from '@angular/core';\nimport { NG_VALIDATORS, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport type {\n AbstractControl,\n ControlValueAccessor,\n ValidationErrors,\n Validator,\n} from '@angular/forms';\nimport { injectLocale, injectMessages } from '@slotted/angular/i18n';\nimport { SlGlyph, SlIcon } from '@slotted/angular/icon';\nimport {\n datePickerMessages,\n type DatePickerMessages,\n type PartialMessages,\n} from '@slotted/core/i18n';\nimport { SlCalendar, asDates } from '@slotted/angular/calendar';\nimport type { CalendarSelectionMode, CalendarValue, CalendarView } from '@slotted/angular/calendar';\nimport { SlDateField, SlDateFieldEnd } from '@slotted/angular/date-field';\nimport { SlField } from '@slotted/angular/field';\n\nimport { injectDatePickerDefaults } from './date-picker-defaults';\nimport type {\n DatePickerCalendar,\n DatePickerCloseOnSelect,\n DatePickerPlacement,\n DatePickerSize,\n DatePickerVariant,\n} from './date-picker-defaults';\n\n/** The reasons the contract's `stateModel.open` lists, and no other. */\ntype OpenReason = Extract<\n ChangeReason,\n 'pointer' | 'keyboard' | 'escape' | 'outsidePress' | 'select'\n>;\n\n/**\n * Below this width, on a finger, the surface is a sheet rather than a popover.\n * §2.7 of `docs/component-features.md` asks for it by name. The query is here\n * as well as in the stylesheet because the DOM has to say which presentation it\n * is in, and a media query cannot write an attribute.\n */\nconst SHEET_QUERY = '(max-width: 480px) and (pointer: coarse)';\n/** The surface needs an identifier the trigger can point `aria-controls` at. */\nlet sequence = 0;\n\n/**\n * A date field, a trigger, and a calendar behind them.\n *\n * **It composes the other two families and redraws neither.** The field keeps\n * its own `data-ui` and the calendar keeps its own; this family owns the box the\n * positioner measures, the trigger inside the field's end slot, and the layer\n * the calendar stands on.\n *\n * **The trigger's name carries the chosen date.** Focus returns to it when the\n * surface closes, so the name is where the reader is told what was chosen —\n * which the APG's own example names as an accessibility feature.\n *\n * **`Escape` is staged.** `dismissable-layer` asks in the capture phase, so a\n * handler inside the surface is too late; the family decides there instead, and\n * walks the calendar's view down rather than closing while a month or year grid\n * is showing.\n */\n@Component({\n selector: '[slDatePicker]',\n standalone: true,\n exportAs: 'slDatePicker',\n imports: [SlCalendar, SlDateField, SlDateFieldEnd, SlGlyph, SlIcon],\n template: `<div data-part=\"control\" data-part-control=\"\" (keydown)=\"onControlKeyDown($event)\">\n <div\n slDateField\n #field=\"slDateField\"\n [locale]=\"resolvedLocale()\"\n [timeZone]=\"resolvedTimeZone()\"\n [firstDayOfWeek]=\"firstDayOfWeek()\"\n [yearPivot]=\"yearPivot()\"\n [calendar]=\"resolvedCalendar()\"\n [size]=\"resolvedSize()\"\n [variant]=\"resolvedVariant()\"\n [min]=\"minDay()\"\n [max]=\"maxDay()\"\n [granularity]=\"granularity()\"\n [isDateUnavailable]=\"isDateUnavailable()\"\n [clearable]=\"clearable()\"\n [name]=\"name()\"\n [disabled]=\"resolvedDisabled()\"\n [readOnly]=\"readOnly()\"\n [invalid]=\"invalid()\"\n [required]=\"required()\"\n [value]=\"singleValue()\"\n (valueChange)=\"onFieldValue($event)\"\n (focusout)=\"onControlFocusOut($event)\"\n >\n <span slDateFieldEnd>\n <button\n #trigger\n data-part=\"trigger\"\n data-part-trigger=\"\"\n type=\"button\"\n aria-haspopup=\"dialog\"\n [attr.aria-label]=\"triggerLabel()\"\n [attr.aria-expanded]=\"isOpen()\"\n [attr.aria-controls]=\"isOpen() ? contentId : null\"\n [disabled]=\"!editable()\"\n (click)=\"toggle($event)\"\n >\n <span slIcon><svg slGlyph name=\"calendar\"></svg></span>\n </button>\n </span>\n </div>\n </div>\n\n @if (isOpen()) {\n <div\n #layer\n data-ui=\"date-picker\"\n data-ui-date-picker=\"\"\n data-part=\"positioner\"\n data-part-positioner=\"\"\n data-open\n [attr.data-presentation]=\"sheet() ? 'sheet' : 'popover'\"\n >\n <div\n data-part=\"content\"\n data-part-content=\"\"\n role=\"dialog\"\n [attr.id]=\"contentId\"\n [attr.aria-label]=\"triggerLabel()\"\n (keydown)=\"onContentKeyDown($event)\"\n >\n <ng-content select=\"[slDatePickerPresets]\" />\n <div\n slCalendar\n [locale]=\"resolvedLocale()\"\n [timeZone]=\"resolvedTimeZone()\"\n [firstDayOfWeek]=\"firstDayOfWeek()\"\n [min]=\"minDay()\"\n [max]=\"maxDay()\"\n [granularity]=\"granularity()\"\n [isDateUnavailable]=\"isDateUnavailable()\"\n [selectionMode]=\"selectionMode()\"\n [months]=\"months()\"\n [weekNumbers]=\"weekNumbers()\"\n [fixedWeeks]=\"fixedWeeks()\"\n [readOnly]=\"readOnly()\"\n [value]=\"held()\"\n [view]=\"view()\"\n (viewChange)=\"view.set($event)\"\n (valueChange)=\"onCalendarValue($event)\"\n ></div>\n <ng-content select=\"[slDatePickerFooter]\" />\n </div>\n </div>\n }`,\n styleUrl: '../../../styles/src/date-picker/date-picker.css',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n providers: [\n { provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => SlDatePicker), multi: true },\n { provide: NG_VALIDATORS, useExisting: forwardRef(() => SlDatePicker), multi: true },\n ],\n host: {\n 'data-ui': 'date-picker',\n 'data-ui-date-picker': '',\n 'data-part': 'root',\n 'data-part-root': '',\n '[attr.data-size]': 'resolvedSize()',\n '[attr.data-variant]': 'resolvedVariant()',\n '[attr.data-calendar]': 'resolvedCalendar()',\n '[attr.data-open]': \"isOpen() ? '' : null\",\n '[attr.data-disabled]': \"resolvedDisabled() === true ? '' : null\",\n '[attr.data-invalid]': \"resolvedInvalid() === true ? '' : null\",\n '[attr.data-readonly]': \"resolvedReadOnly() === true ? '' : null\",\n '[attr.data-required]': \"resolvedRequired() === true ? '' : null\",\n },\n})\nexport class SlDatePicker<V extends CalendarValue | PlainYearMonth = CalendarValue>\n implements ControlValueAccessor, Validator, OnInit\n{\n /**\n * The date, the run or the set; under `granularity=\"month\"`, a\n * `PlainYearMonth`. Present means the consumer owns it. Its type is the\n * type `valueChange` reports.\n */\n readonly value = input<V | undefined>(undefined);\n readonly defaultValue = input<V | undefined>(undefined);\n /**\n * What a choice is. `month` opens the calendar on the months of a year and\n * chooses a month cell; the field shows the month and the year; `value`,\n * `defaultValue`, `min` and `max` are `PlainYearMonth`, `valueChange`\n * reports one, and `name` submits `YYYY-MM`.\n */\n readonly granularity = input<'day' | 'month' | undefined>(undefined);\n /** Present means the consumer owns whether the surface is showing. */\n readonly open = input<boolean | undefined, boolean | string | undefined>(undefined, {\n transform: (value) => (value === undefined ? undefined : booleanAttribute(value)),\n });\n readonly defaultOpen = input(false, { transform: booleanAttribute });\n\n readonly min = input<PlainDate | PlainYearMonth | undefined>(undefined);\n readonly max = input<PlainDate | PlainYearMonth | undefined>(undefined);\n readonly isDateUnavailable = input<((date: PlainDate) => boolean) | undefined>(undefined);\n\n readonly selectionMode = input<CalendarSelectionMode>('single');\n readonly months = input<number | undefined, unknown>(undefined, {\n transform: (value) =>\n value === undefined || value === null ? undefined : numberAttribute(value),\n });\n readonly defaultView = input<CalendarView | undefined>(undefined);\n readonly weekNumbers = input<boolean | undefined, boolean | string | undefined>(undefined, {\n transform: (value) => (value === undefined ? undefined : booleanAttribute(value)),\n });\n /**\n * Six rows whatever the month needs, on by default here and off in a bare\n * calendar: a surface that grows a row between one press of \"next\" and the\n * next moves the target the reader was aiming at.\n */\n readonly fixedWeeks = input(true, { transform: booleanAttribute });\n\n /** BCP 47. Writes the field, the grid and the trigger's date. Unset, the language in force decides. */\n readonly locale = input<string | undefined>(undefined);\n readonly timeZone = input<string | undefined>(undefined);\n /** 0 is Sunday. Unset, the locale decides. */\n readonly firstDayOfWeek = input<number | undefined, unknown>(undefined, {\n transform: (value) =>\n value === undefined || value === null ? undefined : numberAttribute(value),\n });\n /** How a two-digit typed year resolves in the field. */\n readonly yearPivot = input<number | undefined, unknown>(undefined, {\n transform: (value) =>\n value === undefined || value === null ? undefined : numberAttribute(value),\n });\n readonly calendar = input<DatePickerCalendar | undefined>(undefined);\n\n readonly size = input<DatePickerSize | undefined>(undefined);\n readonly variant = input<DatePickerVariant | undefined>(undefined);\n readonly placement = input<DatePickerPlacement | undefined>(undefined);\n readonly closeOnSelect = input<DatePickerCloseOnSelect | undefined>(undefined);\n\n readonly disabled = input<boolean | undefined, boolean | string | undefined>(undefined, {\n transform: (value) => (value === undefined ? undefined : booleanAttribute(value)),\n });\n readonly readOnly = input<boolean | undefined, boolean | string | undefined>(undefined, {\n transform: (value) => (value === undefined ? undefined : booleanAttribute(value)),\n });\n readonly invalid = input<boolean | undefined, boolean | string | undefined>(undefined, {\n transform: (value) => (value === undefined ? undefined : booleanAttribute(value)),\n });\n readonly required = input<boolean | undefined, boolean | string | undefined>(undefined, {\n transform: (value) => (value === undefined ? undefined : booleanAttribute(value)),\n });\n\n readonly clearable = input(false, { transform: booleanAttribute });\n readonly name = input<string | undefined>(undefined);\n /**\n * Words laid over the catalog of the language in force, key by key: the\n * trigger's name before (`choose`) and after (`change`) a date is chosen.\n */\n readonly messages = input<PartialMessages<DatePickerMessages> | undefined>(undefined);\n\n readonly valueChange = output<ChangeRequest<V | null>>();\n readonly openChange = output<ChangeRequest<boolean>>();\n\n @ViewChild('layer') protected layer?: ElementRef<HTMLElement>;\n @ViewChild('trigger') protected triggerRef?: ElementRef<HTMLButtonElement>;\n @ViewChild('field') protected field?: SlDateField;\n\n private readonly element = inject<ElementRef<HTMLElement>>(ElementRef).nativeElement;\n private readonly defaults = injectDatePickerDefaults();\n private readonly appLocale = injectLocale();\n /** The family's words in the language in force, with this picker's `messages` laid over them. */\n readonly t = injectMessages(datePickerMessages, this.messages);\n private readonly injector = inject(Injector);\n private readonly destroyRef = inject(DestroyRef);\n private readonly enclosing = inject(SlField, { optional: true });\n\n protected readonly contentId = `sl-date-picker-${String((sequence += 1))}`;\n\n private readonly ownOpen = signal(false);\n private readonly ownValue = signal<CalendarValue>(null);\n protected readonly view = signal<CalendarView>('day');\n protected readonly sheet = signal(false);\n private readonly formDisabled = signal<boolean | undefined>(undefined);\n\n private onChangeFn: (value: V | null) => void = () => undefined;\n /** Whether a form model holds the value, and answers a reset through `writeValue`. */\n private formBound = false;\n private onTouchedFn: () => void = () => undefined;\n private onValidatorChangeFn: () => void = () => undefined;\n\n /**\n * Whether the next opening moves focus into the calendar. Set by a request\n * to open — the trigger, the chord, `openSurface()` — and never by a first\n * render that starts open, which would take focus from wherever the page put\n * it.\n */\n private focusOnOpen = false;\n private positioner: PositionerHandle | null = null;\n private dismissable: DismissableLayerHandle | null = null;\n\n protected readonly isOpen = computed(() => this.open() ?? this.ownOpen());\n /**\n * A month is its own value. Under `granularity=\"month\"` the picker holds a\n * `PlainYearMonth`; the field and the calendar below it hold the first day of\n * that month, and the bounds become the first day of `min` and the last day\n * of `max`, so a month the bounds touch is a month the reader may choose.\n */\n protected readonly monthly = computed(() => this.granularity() === 'month');\n protected readonly held = computed(() => {\n const value = this.value();\n return value === undefined ? this.ownValue() : this.toDay(value);\n });\n protected readonly minDay = computed(() => {\n const min = this.min();\n return isPlainYearMonth(min) ? firstDayOf(min) : min;\n });\n protected readonly maxDay = computed(() => {\n const max = this.max();\n return isPlainYearMonth(max) ? lastDayOf(max) : max;\n });\n\n /** A month as the day the field and the calendar hold for it. */\n private toDay(value: CalendarValue | PlainYearMonth | null | undefined): CalendarValue {\n if (value === undefined || value === null) return null;\n return isPlainYearMonth(value) ? firstDayOf(value) : value;\n }\n\n /** What leaves the picker: the month under `month`, the value otherwise. */\n private outward(value: CalendarValue): V | null {\n if (!this.monthly()) return value as V | null;\n return (isPlainDate(value) ? yearMonthOf(value) : null) as V | null;\n }\n\n protected readonly resolvedLocale = computed(() => this.locale() ?? this.appLocale());\n protected readonly resolvedTimeZone = computed(() => this.timeZone() ?? this.defaults.timeZone);\n protected readonly resolvedCalendar = computed(() => this.calendar() ?? this.defaults.calendar);\n protected readonly resolvedSize = computed(\n () => this.size() ?? this.enclosing?.resolvedSize() ?? this.defaults.size,\n );\n protected readonly resolvedVariant = computed(() => this.variant() ?? this.defaults.variant);\n protected readonly resolvedPlacement = computed(\n () => this.placement() ?? this.defaults.placement,\n );\n protected readonly resolvedDisabled = computed(\n () => this.disabled() ?? this.formDisabled() ?? this.enclosing?.resolvedDisabled(),\n );\n protected readonly resolvedReadOnly = computed(\n () => this.readOnly() ?? this.enclosing?.resolvedReadOnly(),\n );\n protected readonly resolvedRequired = computed(\n () => this.required() ?? this.enclosing?.required(),\n );\n\n /**\n * Validity the family owns, beside the validity the consumer states: a date\n * outside the bounds or refused by the predicate is invalid whatever the\n * field around it says, because this control is the only thing that knows.\n */\n protected readonly resolvedInvalid = computed(() => {\n const refused = asDates(this.held()).some(\n (date) =>\n !isDateInRange(date, this.minDay(), this.maxDay()) ||\n this.isDateUnavailable()?.(date) === true,\n );\n if (refused) return true;\n return this.invalid() ?? this.enclosing?.invalid();\n });\n\n protected readonly editable = computed(\n () => this.resolvedDisabled() !== true && this.resolvedReadOnly() !== true,\n );\n\n /**\n * The value the field shows, which is a single date or nothing at all. `null`\n * reaches the field as `null`, so a value emptied from outside — a form\n * reset, a controlled clear — empties the segments too.\n */\n protected readonly singleValue = computed(() => {\n const held = this.held();\n if (held !== null && (Array.isArray(held) || 'start' in held)) return undefined;\n return held;\n });\n\n /**\n * The trigger's accessible name. Focus returns here when the surface closes,\n * so this is where the reader is told what was chosen.\n */\n protected readonly triggerLabel = computed(() => {\n const chosen = asDates(this.held());\n if (chosen.length === 0) return this.t('choose');\n const format = createDateFormat({ locale: this.resolvedLocale() });\n const words = (date: PlainDate) =>\n this.monthly() ? format.monthYear(date) : format.describe(date);\n return this.t('change', { date: chosen.map(words).join(' – ') });\n });\n\n private readonly closesOnSelect = computed(() => {\n const axis = this.closeOnSelect() ?? this.defaults.closeOnSelect;\n return axis === 'always' || (axis === 'auto' && this.selectionMode() === 'single');\n });\n\n constructor() {\n /* The layer is created and torn down with the surface, not with the\n component: a layer that outlived its content would hold a place in the\n single stack that nothing occupies. */\n effect(() => {\n const open = this.isOpen();\n if (!open) {\n this.release();\n return;\n }\n afterNextRender(() => this.attach(), { injector: this.injector });\n });\n\n /* A bound that changed is a validity that changed, and the form is told. */\n effect(() => {\n this.min();\n this.max();\n this.isDateUnavailable();\n this.onValidatorChangeFn();\n });\n\n this.destroyRef.onDestroy(() => this.release());\n }\n\n /* ── Forms ─────────────────────────────────────────────────────────── */\n\n writeValue(value: CalendarValue | PlainYearMonth | undefined) {\n this.ownValue.set(this.toDay(value));\n }\n\n registerOnChange(fn: (value: V | null) => void) {\n this.onChangeFn = fn;\n this.formBound = true;\n }\n\n registerOnTouched(fn: () => void) {\n this.onTouchedFn = fn;\n }\n\n setDisabledState(isDisabled: boolean) {\n this.formDisabled.set(isDisabled);\n }\n\n registerOnValidatorChange(fn: () => void) {\n this.onValidatorChangeFn = fn;\n }\n\n /**\n * The rules no other validator can see, under the names `date-field` reports\n * them with. `required` is left to Angular's own.\n */\n validate(control: AbstractControl): ValidationErrors | null {\n const dates = asDates(this.toDay(control.value as CalendarValue | PlainYearMonth | undefined));\n const min = this.minDay();\n const max = this.maxDay();\n const outside = dates.find((date) => !isDateInRange(date, min, max));\n if (outside !== undefined) return { slottedDateRange: { min, max, actual: outside } };\n const refused = dates.find((date) => this.isDateUnavailable()?.(date) === true);\n if (refused !== undefined) return { slottedDateUnavailable: { actual: refused } };\n return null;\n }\n\n ngOnInit() {\n this.ownOpen.set(this.defaultOpen());\n this.ownValue.set(this.toDay(this.defaultValue()));\n this.view.set(this.defaultView() ?? this.lowestView());\n\n /* A native reset restores the hidden input and tells nothing, so the\n picker would keep the last date chosen in a form that had been reset.\n The value returns to `defaultValue` through `valueChange`, reason\n `programmatic`. A picker bound to a form model takes the model's reset\n value through `writeValue` instead. */\n const form = this.element.closest('form');\n if (form !== null) {\n const onReset = (event: Event) => {\n if (!this.formBound) this.commit(this.toDay(this.defaultValue()), 'programmatic', event);\n };\n form.addEventListener('reset', onReset);\n this.destroyRef.onDestroy(() => form.removeEventListener('reset', onReset));\n }\n\n /* `matchMedia` is absent in a server render and in some test environments,\n and the popover is the right answer wherever it cannot be asked. */\n if (typeof window === 'undefined' || typeof window.matchMedia !== 'function') return;\n const query = window.matchMedia(SHEET_QUERY);\n const read = () => this.sheet.set(query.matches);\n read();\n query.addEventListener('change', read);\n this.destroyRef.onDestroy(() => query.removeEventListener('change', read));\n }\n\n /** Puts focus on the first segment of the field. */\n focus() {\n this.field?.focus();\n }\n\n openSurface(source?: Event) {\n this.setOpen(true, 'keyboard', source);\n }\n\n closeSurface(source?: Event) {\n this.setOpen(false, 'keyboard', source);\n }\n\n protected toggle(source: Event) {\n this.setOpen(!this.isOpen(), 'pointer', source);\n }\n\n protected onControlKeyDown(event: KeyboardEvent) {\n if (!this.editable()) return;\n /* Angular Material records the platform note this inherits: ChromeOS turns\n the chord into PageDown before the browser sees it, which is why the\n trigger button is always drawn and this is only a shortcut. */\n if (event.altKey && event.key === 'ArrowDown') {\n event.preventDefault();\n this.setOpen(true, 'keyboard', event);\n }\n }\n\n /** Tab and Shift+Tab wrap inside the surface while it is open. */\n protected onContentKeyDown(event: KeyboardEvent) {\n if (event.key !== 'Tab' || event.altKey || event.ctrlKey || event.metaKey) return;\n const content = event.currentTarget as HTMLElement;\n const items = tabbables(content);\n const first = items[0];\n const last = items[items.length - 1];\n if (first === undefined || last === undefined) return;\n const current = content.ownerDocument.activeElement;\n if (event.shiftKey && current === first) {\n event.preventDefault();\n last.focus();\n } else if (!event.shiftKey && current === last) {\n event.preventDefault();\n first.focus();\n }\n }\n\n protected onControlFocusOut(event: FocusEvent) {\n const next = event.relatedTarget;\n if (next instanceof Node && this.element.contains(next)) return;\n this.onTouchedFn();\n }\n\n protected onFieldValue(request: {\n value: PlainDate | null;\n reason: ChangeReason;\n source?: unknown;\n }) {\n this.commit(request.value, request.reason, request.source);\n }\n\n protected onCalendarValue(request: ChangeRequest<CalendarValue>) {\n this.commit(request.value, request.reason, request.source);\n if (!this.closesOnSelect()) return;\n this.setOpen(false, 'select', request.source as Event | undefined);\n this.triggerRef?.nativeElement.focus({ preventScroll: true });\n }\n\n /** The lowest view is where a choice is made: the days, or the months. */\n protected lowestView(): CalendarView {\n return this.monthly() ? 'month' : 'day';\n }\n\n private commit(next: CalendarValue, reason: ChangeReason, source: unknown) {\n let cancelled = false;\n const state = createControllable<CalendarValue>({\n controlled: this.value() === undefined ? undefined : this.held(),\n initial: this.held(),\n equals: () => false,\n onRequest: (request) => {\n /* The request keeps its own `cancel` and `cancelled`, and carries the\n months instead of the days under `month`. */\n const asked = this.monthly()\n ? (Object.create(request, {\n previous: { enumerable: true, value: this.outward(request.previous) },\n value: { enumerable: true, value: this.outward(request.value) },\n }) as ChangeRequest<V | null>)\n : (request as ChangeRequest<V | null>);\n this.valueChange.emit(asked);\n cancelled = request.cancelled;\n },\n });\n state.request(next, reason, source);\n if (cancelled) return;\n if (this.value() === undefined) this.ownValue.set(next);\n this.onChangeFn(this.outward(next));\n }\n\n private setOpen(next: boolean, reason: OpenReason, source: unknown) {\n const state = createControllable<boolean>({\n controlled: this.open(),\n initial: this.isOpen(),\n onRequest: (request) => {\n this.openChange.emit(request);\n this.focusOnOpen = request.value && !request.cancelled;\n },\n });\n if (state.request(next, reason, source)) this.ownOpen.set(next);\n }\n\n /** Places the layer and puts it in the single stack. */\n private attach() {\n const layer = this.layer?.nativeElement;\n if (layer === undefined) return;\n this.release();\n\n if (!this.sheet()) {\n const anchor =\n this.element.querySelector<HTMLElement>('[data-part=\"control\"]') ?? this.element;\n const [side, align] = this.resolvedPlacement().split('-') as [\n 'top' | 'bottom',\n 'start' | 'end' | undefined,\n ];\n this.positioner = createPositioner(anchor, layer, { align: align ?? 'center', side });\n /* The positioner writes `data-positioned` with the side, on the element, in\n the task that opened the layer; a binding to say it again was a frame later. */\n void this.positioner.update();\n }\n\n /* The dialog takes focus when it opens, on the day that holds the roving\n tab stop: the chosen date, or today. */\n if (this.focusOnOpen) {\n this.focusOnOpen = false;\n layer\n .querySelector<HTMLElement>(\n '[data-part=\"day\"][tabindex=\"0\"], [data-part=\"period\"][tabindex=\"0\"]',\n )\n ?.focus({ preventScroll: true });\n }\n\n const trigger = this.triggerRef?.nativeElement;\n this.dismissable = createDismissableLayer(layer, {\n branches: trigger === undefined ? [] : [trigger],\n escape: true,\n focusOutside: false,\n modal: false,\n outsidePress: true,\n scrollLock: false,\n onDismiss: (request) => {\n /**\n * The view first, the surface second. The layer listens in the capture\n * phase, so a handler on the calendar would already have lost the\n * surface by the time it ran; the decision is taken here, and the layer\n * is simply not asked to close.\n */\n if (request.reason === 'escape' && this.view() !== this.lowestView()) {\n this.view.set(this.view() === 'year' ? 'month' : 'day');\n return;\n }\n this.setOpen(\n false,\n request.reason === 'escape' ? 'escape' : 'outsidePress',\n request.source,\n );\n if (request.reason === 'escape') {\n this.triggerRef?.nativeElement.focus({ preventScroll: true });\n }\n },\n });\n }\n\n private release() {\n this.positioner?.destroy();\n this.positioner = null;\n this.dismissable?.destroy();\n this.dismissable = null;\n this.layer?.nativeElement.removeAttribute('data-positioned');\n }\n}\n","import { Directive } from '@angular/core';\n\n/**\n * The consumer's own shortcuts, in a column beside the grid.\n *\n * This family ships no list of them: \"last 7 days\" is a business calendar and a\n * library that guessed at one would be guessing at a fiscal year. What it ships\n * is the column they stand in.\n */\n@Directive({\n selector: '[slDatePickerPresets]',\n standalone: true,\n exportAs: 'slDatePickerPresets',\n host: { 'data-part': 'presets', 'data-part-presets': '' },\n})\nexport class SlDatePickerPresets {}\n\n/** The consumer's own actions, under whatever the surface is holding. */\n@Directive({\n selector: '[slDatePickerFooter]',\n standalone: true,\n exportAs: 'slDatePickerFooter',\n host: { 'data-part': 'footer', 'data-part-footer': '' },\n})\nexport class SlDatePickerFooter {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|