@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
|
@@ -210,35 +210,37 @@ class SlInlineMessage {
|
|
|
210
210
|
prefixWord = computed(() => this.prefix() ?? this.defaults.prefixes[this.resolvedTone()] ?? '', /* @ts-ignore */
|
|
211
211
|
...(ngDevMode ? [{ debugName: "prefixWord" }] : /* istanbul ignore next */ []));
|
|
212
212
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.7", ngImport: i0, type: SlInlineMessage, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
213
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.7", type: SlInlineMessage, isStandalone: true, selector: "[slInlineMessage]", inputs: { tone: { classPropertyName: "tone", publicName: "tone", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, live: { classPropertyName: "live", publicName: "live", isSignal: true, isRequired: false, transformFunction: null }, mark: { classPropertyName: "mark", publicName: "mark", isSignal: true, isRequired: false, transformFunction: null }, prefix: { classPropertyName: "prefix", publicName: "prefix", isSignal: true, isRequired: false, transformFunction: null }, hideIcon: { classPropertyName: "hideIcon", publicName: "hideIcon", isSignal: true, isRequired: false, transformFunction: null }, loading: { classPropertyName: "loading", publicName: "loading", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, reserve: { classPropertyName: "reserve", publicName: "reserve", isSignal: true, isRequired: false, transformFunction: null }, id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "data-ui": "inline-message", "data-part": "root" }, properties: { "attr.data-tone": "resolvedTone()", "attr.data-size": "resolvedSize()", "attr.data-live": "resolvedLive()", "attr.data-mark": "resolvedMark()", "attr.data-loading": "loading() ? '' : null", "attr.data-disabled": "disabled() === true ? '' : null", "attr.data-reserve": "reserve() ? '' : null", "attr.role": "role()", "attr.id": "messageId" } }, exportAs: ["slInlineMessage"], ngImport: i0, template: `@if (prefixWord() !== '') {
|
|
214
|
-
<span data-part="prefix">{{ prefixWord() }}</span>
|
|
213
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.7", type: SlInlineMessage, isStandalone: true, selector: "[slInlineMessage]", inputs: { tone: { classPropertyName: "tone", publicName: "tone", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, live: { classPropertyName: "live", publicName: "live", isSignal: true, isRequired: false, transformFunction: null }, mark: { classPropertyName: "mark", publicName: "mark", isSignal: true, isRequired: false, transformFunction: null }, prefix: { classPropertyName: "prefix", publicName: "prefix", isSignal: true, isRequired: false, transformFunction: null }, hideIcon: { classPropertyName: "hideIcon", publicName: "hideIcon", isSignal: true, isRequired: false, transformFunction: null }, loading: { classPropertyName: "loading", publicName: "loading", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, reserve: { classPropertyName: "reserve", publicName: "reserve", isSignal: true, isRequired: false, transformFunction: null }, id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "data-ui": "inline-message", "data-ui-inline-message": "", "data-part": "root", "data-part-root": "" }, properties: { "attr.data-tone": "resolvedTone()", "attr.data-size": "resolvedSize()", "attr.data-live": "resolvedLive()", "attr.data-mark": "resolvedMark()", "attr.data-loading": "loading() ? '' : null", "attr.data-disabled": "disabled() === true ? '' : null", "attr.data-reserve": "reserve() ? '' : null", "attr.role": "role()", "attr.id": "messageId" } }, exportAs: ["slInlineMessage"], ngImport: i0, template: `@if (prefixWord() !== '') {
|
|
214
|
+
<span data-part="prefix" data-part-prefix="">{{ prefixWord() }}</span>
|
|
215
215
|
}
|
|
216
216
|
@if (!hideIcon()) {
|
|
217
|
-
<span aria-hidden="true" data-part="icon"
|
|
217
|
+
<span aria-hidden="true" data-part="icon" data-part-icon=""
|
|
218
218
|
><ng-content select="[slInlineMessageIcon]">
|
|
219
219
|
@if (glyph(); as name) {
|
|
220
220
|
<span slIcon><svg slGlyph [name]="name"></svg></span>
|
|
221
221
|
}</ng-content
|
|
222
222
|
></span>
|
|
223
223
|
}
|
|
224
|
-
<span data-part="text"><ng-content /></span>`, isInline: true, styles: ["@layer slotted.components{[data-ui
|
|
224
|
+
<span data-part="text" data-part-text=""><ng-content /></span>`, isInline: true, styles: ["@layer slotted.components{[data-ui-inline-message][data-part-root]{--_text: var(--slotted-text-muted);--_font-size: var(--slotted-control-font-size-sm, 12px);--_mark-size: 1em;--_column-gap: var(--slotted-inline-message-column-gap, var(--slotted-space-4, .5rem));color:var(--_text);display:grid;font-family:var( --slotted-inline-message-font-family, var(--slotted-control-font-family, sans-serif) );font-size:var(--_font-size);grid-template-columns:auto minmax(0,1fr);line-height:var(--slotted-inline-message-line-height, var(--slotted-line-height-md, 1.5));margin:0;position:relative}[data-ui-inline-message][data-part-root][data-tone=accent]{--_text: var(--slotted-tone-accent-text)}[data-ui-inline-message][data-part-root][data-tone=secondary]{--_text: var(--slotted-text-muted)}[data-ui-inline-message][data-part-root][data-tone=success]{--_text: var(--slotted-tone-success-text)}[data-ui-inline-message][data-part-root][data-tone=warning]{--_text: var(--slotted-tone-warning-text)}[data-ui-inline-message][data-part-root][data-tone=danger]{--_text: var(--slotted-tone-danger-text)}[data-ui-inline-message][data-part-root][data-size=sm]{--_font-size: var(--slotted-control-font-size-sm, 12px)}[data-ui-inline-message][data-part-root][data-size=md]{--_font-size: var(--slotted-control-font-size-md, 13px)}[data-ui-inline-message][data-part-root][data-reserve]{min-block-size:1lh}[data-ui-inline-message]>[data-part-prefix]{block-size:1px;border:0;clip-path:inset(50%);inline-size:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap}[data-ui-inline-message]>[data-part-icon]{--slotted-icon-size: var(--_mark-size);align-items:center;align-self:start;block-size:var(--_mark-size);box-sizing:border-box;display:flex;grid-column:1;grid-row:1;inline-size:var(--_mark-size);justify-content:center;margin-block-start:calc((1lh - var(--_mark-size)) / 2);margin-inline-end:var(--_column-gap)}[data-ui-inline-message][data-part-root][data-mark=dot]{--_dot-size: calc(var(--_mark-size) / 3)}[data-ui-inline-message][data-mark=dot]>[data-part-icon]:has(>[data-ui-icon]>[data-glyph=dot]){--slotted-icon-size: calc(var(--_dot-size) * 2);inline-size:var(--_dot-size)}[data-ui-inline-message][data-tone=secondary]:not([data-loading]):not([data-mark=dot])>[data-part-icon]:empty{display:none}[data-ui-inline-message][data-mark=none]:not([data-loading])>[data-part-icon]:empty{display:none}[data-ui-inline-message]>[data-part-text]{grid-column:2;grid-row:1;min-inline-size:0;overflow-wrap:anywhere}[data-ui-inline-message]:has([data-part-text]:empty)>[data-part-icon],[data-ui-inline-message]:has([data-part-text]:empty)>[data-part-prefix]{display:none}[data-ui-inline-message][data-loading]>[data-part-icon]{animation:slotted-inline-message-spin var(--slotted-duration-loop-fast) linear infinite;block-size:var(--_mark-size);border:max(var(--slotted-border-width-thin, 1px),calc(var(--_mark-size) / 8)) solid currentcolor;border-inline-end-color:transparent;border-radius:var(--slotted-radius-full, 9999px);display:block;inline-size:var(--_mark-size);margin-block-start:calc((1lh - var(--_mark-size)) / 2)}[data-ui-inline-message][data-loading]>[data-part-icon]>*{display:none}[data-ui-inline-message][data-part-root][data-disabled]{color:var(--slotted-disabled-foreground)}[data-ui-inline-message][data-disabled]>[data-part-icon]{animation:none}@media(prefers-reduced-motion:reduce){[data-ui-inline-message][data-loading]>[data-part-icon]{animation:none}}@media(forced-colors:active){[data-ui-inline-message]>[data-part-icon]{color:CanvasText}[data-ui-inline-message][data-part-root][data-disabled]>[data-part-icon]{color:GrayText}[data-ui-inline-message][data-loading]>[data-part-icon]{border-color:CanvasText;border-inline-end-color:Canvas}}}@keyframes slotted-inline-message-spin{to{transform:rotate(1turn)}}\n"], 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 });
|
|
225
225
|
}
|
|
226
226
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.7", ngImport: i0, type: SlInlineMessage, decorators: [{
|
|
227
227
|
type: Component,
|
|
228
228
|
args: [{ selector: '[slInlineMessage]', standalone: true, exportAs: 'slInlineMessage', imports: [SlGlyph, SlIcon], template: `@if (prefixWord() !== '') {
|
|
229
|
-
<span data-part="prefix">{{ prefixWord() }}</span>
|
|
229
|
+
<span data-part="prefix" data-part-prefix="">{{ prefixWord() }}</span>
|
|
230
230
|
}
|
|
231
231
|
@if (!hideIcon()) {
|
|
232
|
-
<span aria-hidden="true" data-part="icon"
|
|
232
|
+
<span aria-hidden="true" data-part="icon" data-part-icon=""
|
|
233
233
|
><ng-content select="[slInlineMessageIcon]">
|
|
234
234
|
@if (glyph(); as name) {
|
|
235
235
|
<span slIcon><svg slGlyph [name]="name"></svg></span>
|
|
236
236
|
}</ng-content
|
|
237
237
|
></span>
|
|
238
238
|
}
|
|
239
|
-
<span data-part="text"><ng-content /></span>`, changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: {
|
|
239
|
+
<span data-part="text" data-part-text=""><ng-content /></span>`, changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: {
|
|
240
240
|
'data-ui': 'inline-message',
|
|
241
|
+
'data-ui-inline-message': '',
|
|
241
242
|
'data-part': 'root',
|
|
243
|
+
'data-part-root': '',
|
|
242
244
|
'[attr.data-tone]': 'resolvedTone()',
|
|
243
245
|
'[attr.data-size]': 'resolvedSize()',
|
|
244
246
|
'[attr.data-live]': 'resolvedLive()',
|
|
@@ -248,7 +250,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.7", ngImpor
|
|
|
248
250
|
'[attr.data-reserve]': "reserve() ? '' : null",
|
|
249
251
|
'[attr.role]': 'role()',
|
|
250
252
|
'[attr.id]': 'messageId',
|
|
251
|
-
}, styles: ["@layer slotted.components{[data-ui
|
|
253
|
+
}, styles: ["@layer slotted.components{[data-ui-inline-message][data-part-root]{--_text: var(--slotted-text-muted);--_font-size: var(--slotted-control-font-size-sm, 12px);--_mark-size: 1em;--_column-gap: var(--slotted-inline-message-column-gap, var(--slotted-space-4, .5rem));color:var(--_text);display:grid;font-family:var( --slotted-inline-message-font-family, var(--slotted-control-font-family, sans-serif) );font-size:var(--_font-size);grid-template-columns:auto minmax(0,1fr);line-height:var(--slotted-inline-message-line-height, var(--slotted-line-height-md, 1.5));margin:0;position:relative}[data-ui-inline-message][data-part-root][data-tone=accent]{--_text: var(--slotted-tone-accent-text)}[data-ui-inline-message][data-part-root][data-tone=secondary]{--_text: var(--slotted-text-muted)}[data-ui-inline-message][data-part-root][data-tone=success]{--_text: var(--slotted-tone-success-text)}[data-ui-inline-message][data-part-root][data-tone=warning]{--_text: var(--slotted-tone-warning-text)}[data-ui-inline-message][data-part-root][data-tone=danger]{--_text: var(--slotted-tone-danger-text)}[data-ui-inline-message][data-part-root][data-size=sm]{--_font-size: var(--slotted-control-font-size-sm, 12px)}[data-ui-inline-message][data-part-root][data-size=md]{--_font-size: var(--slotted-control-font-size-md, 13px)}[data-ui-inline-message][data-part-root][data-reserve]{min-block-size:1lh}[data-ui-inline-message]>[data-part-prefix]{block-size:1px;border:0;clip-path:inset(50%);inline-size:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap}[data-ui-inline-message]>[data-part-icon]{--slotted-icon-size: var(--_mark-size);align-items:center;align-self:start;block-size:var(--_mark-size);box-sizing:border-box;display:flex;grid-column:1;grid-row:1;inline-size:var(--_mark-size);justify-content:center;margin-block-start:calc((1lh - var(--_mark-size)) / 2);margin-inline-end:var(--_column-gap)}[data-ui-inline-message][data-part-root][data-mark=dot]{--_dot-size: calc(var(--_mark-size) / 3)}[data-ui-inline-message][data-mark=dot]>[data-part-icon]:has(>[data-ui-icon]>[data-glyph=dot]){--slotted-icon-size: calc(var(--_dot-size) * 2);inline-size:var(--_dot-size)}[data-ui-inline-message][data-tone=secondary]:not([data-loading]):not([data-mark=dot])>[data-part-icon]:empty{display:none}[data-ui-inline-message][data-mark=none]:not([data-loading])>[data-part-icon]:empty{display:none}[data-ui-inline-message]>[data-part-text]{grid-column:2;grid-row:1;min-inline-size:0;overflow-wrap:anywhere}[data-ui-inline-message]:has([data-part-text]:empty)>[data-part-icon],[data-ui-inline-message]:has([data-part-text]:empty)>[data-part-prefix]{display:none}[data-ui-inline-message][data-loading]>[data-part-icon]{animation:slotted-inline-message-spin var(--slotted-duration-loop-fast) linear infinite;block-size:var(--_mark-size);border:max(var(--slotted-border-width-thin, 1px),calc(var(--_mark-size) / 8)) solid currentcolor;border-inline-end-color:transparent;border-radius:var(--slotted-radius-full, 9999px);display:block;inline-size:var(--_mark-size);margin-block-start:calc((1lh - var(--_mark-size)) / 2)}[data-ui-inline-message][data-loading]>[data-part-icon]>*{display:none}[data-ui-inline-message][data-part-root][data-disabled]{color:var(--slotted-disabled-foreground)}[data-ui-inline-message][data-disabled]>[data-part-icon]{animation:none}@media(prefers-reduced-motion:reduce){[data-ui-inline-message][data-loading]>[data-part-icon]{animation:none}}@media(forced-colors:active){[data-ui-inline-message]>[data-part-icon]{color:CanvasText}[data-ui-inline-message][data-part-root][data-disabled]>[data-part-icon]{color:GrayText}[data-ui-inline-message][data-loading]>[data-part-icon]{border-color:CanvasText;border-inline-end-color:Canvas}}}@keyframes slotted-inline-message-spin{to{transform:rotate(1turn)}}\n"] }]
|
|
252
254
|
}], propDecorators: { tone: [{ type: i0.Input, args: [{ isSignal: true, alias: "tone", required: false }] }], size: [{ type: i0.Input, args: [{ isSignal: true, alias: "size", required: false }] }], live: [{ type: i0.Input, args: [{ isSignal: true, alias: "live", required: false }] }], mark: [{ type: i0.Input, args: [{ isSignal: true, alias: "mark", required: false }] }], prefix: [{ type: i0.Input, args: [{ isSignal: true, alias: "prefix", required: false }] }], hideIcon: [{ type: i0.Input, args: [{ isSignal: true, alias: "hideIcon", required: false }] }], loading: [{ type: i0.Input, args: [{ isSignal: true, alias: "loading", required: false }] }], disabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }], reserve: [{ type: i0.Input, args: [{ isSignal: true, alias: "reserve", required: false }] }], id: [{ type: i0.Input, args: [{ isSignal: true, alias: "id", required: false }] }] } });
|
|
253
255
|
|
|
254
256
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"slotted-angular-inline-message.mjs","sources":["../../inline-message/src/inline-message-defaults.ts","../../inline-message/src/inline-message.ts","../../inline-message/src/inline-message-parts.ts","../../inline-message/src/slotted-angular-inline-message.ts"],"sourcesContent":["import { inject, Injectable, InjectionToken } from '@angular/core';\n\n/** Which of the five semantic colours the message speaks in. */\nexport type InlineMessageTone = 'accent' | 'secondary' | 'success' | 'warning' | 'danger';\n\n/**\n * The type step the message sits at. `sm` is the message of a field; `md` is\n * the message of a section. Both read the control scales, which the theme\n * restates per density.\n */\nexport type InlineMessageSize = 'sm' | 'md';\n\n/**\n * Which mark the message draws. `glyph` is the tone's own silhouette — the\n * circled information, check, triangle and circled exclamation. `dot` is a\n * neutral bullet in the tone's ink, the same shape for every tone including\n * the help tone that draws no silhouette at all, so a column of messages under\n * one field starts on one left edge. `none` draws nothing, and the tone is\n * then said by the ink and by the weight of the sentence: it is what `field`\n * and `field-group` ask for, because a silhouette repeated under every control\n * of a form is texture rather than a warning (F2).\n */\nexport type InlineMessageMark = 'glyph' | 'dot' | 'none';\n\n/**\n * Whether the message announces itself, and how loudly. `off` is the default,\n * because the WAI-ARIA APG records that a message already present when the page\n * finishes loading is not announced whatever role it carries.\n */\nexport type InlineMessageLive = 'off' | 'polite' | 'assertive';\n\n/**\n * The word a reader hears before the message. `null` is a tone that is not a\n * severity — help and information announce themselves by their sentence.\n */\nexport type InlineMessagePrefixes = Record<InlineMessageTone, string | null>;\n\n/**\n * The word a reader hears before the message, per tone.\n *\n * GOV.UK's Error message component publishes the idea and hard-codes the word;\n * this table generalises it to every tone that is a severity and puts it behind\n * the token below, which is the only translation surface this library has\n * today. `accent` and `secondary` carry none: information and help announce\n * themselves by their sentence, and a reader told “Information:” before every\n * hint hears one more word per field for nothing.\n */\nexport const INLINE_MESSAGE_PREFIXES: InlineMessagePrefixes = {\n accent: null,\n secondary: null,\n success: 'Success:',\n warning: 'Warning:',\n danger: 'Error:',\n};\n\nexport interface InlineMessageDefaults {\n live: InlineMessageLive;\n mark: InlineMessageMark;\n prefixes: InlineMessagePrefixes;\n size: InlineMessageSize;\n tone: InlineMessageTone;\n}\n\nconst FALLBACK: InlineMessageDefaults = {\n live: 'off',\n mark: 'glyph',\n prefixes: INLINE_MESSAGE_PREFIXES,\n size: 'sm',\n tone: 'secondary',\n};\n\nexport const INLINE_MESSAGE_DEFAULTS = new InjectionToken<InlineMessageDefaults>(\n 'slotted inline message defaults',\n { providedIn: 'root', factory: () => FALLBACK },\n);\n\n/**\n * An application decides once what its messages are painted like and — the one\n * that matters — what its severities are called, rather than repeating the same\n * inputs on every field in a form. A message that states any of them itself\n * still wins: an explicit input is never overridden by the token.\n *\n * `prefixes` is merged over the shipped table rather than replacing it, so a\n * Portuguese application writes the three words it has and inherits the shape.\n */\nexport function provideInlineMessageDefaults(\n defaults: Partial<Omit<InlineMessageDefaults, 'prefixes'>> & {\n prefixes?: Partial<InlineMessagePrefixes>;\n },\n) {\n return {\n provide: INLINE_MESSAGE_DEFAULTS,\n useFactory: (): InlineMessageDefaults => ({\n live: defaults.live ?? FALLBACK.live,\n mark: defaults.mark ?? FALLBACK.mark,\n prefixes: { ...FALLBACK.prefixes, ...defaults.prefixes },\n size: defaults.size ?? FALLBACK.size,\n tone: defaults.tone ?? FALLBACK.tone,\n }),\n };\n}\n\n/** What a message renders as here, before it states anything of its own. */\nexport function injectInlineMessageDefaults(): InlineMessageDefaults {\n return inject(INLINE_MESSAGE_DEFAULTS);\n}\n\n/**\n * Application-scoped rather than module-scoped, for the reason `tag` records: a\n * 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 SlInlineMessageIdFactory {\n private count = 0;\n\n next() {\n this.count += 1;\n return `slotted-inline-message-${this.count}`;\n }\n}\n","import {\n booleanAttribute,\n ChangeDetectionStrategy,\n Component,\n computed,\n HostAttributeToken,\n inject,\n input,\n ViewEncapsulation,\n} from '@angular/core';\nimport { SlGlyph, SlIcon } from '@slotted/angular/icon';\nimport type { GlyphName } from '@slotted/angular/icon';\n\nimport { injectInlineMessageDefaults, SlInlineMessageIdFactory } from './inline-message-defaults';\nimport type {\n InlineMessageLive,\n InlineMessageMark,\n InlineMessageSize,\n InlineMessageTone,\n} from './inline-message-defaults';\n\nexport type {\n InlineMessageLive,\n InlineMessageMark,\n InlineMessagePrefixes,\n InlineMessageSize,\n InlineMessageTone,\n} from './inline-message-defaults';\n\n/**\n * The glyph each tone draws: `specs/components/inline-message/contract.json`\n * holds the map. Help is not a severity and draws none.\n */\nconst TONE_GLYPH: Record<InlineMessageTone, GlyphName | null> = {\n accent: 'circle-info',\n secondary: null,\n success: 'circle-check',\n warning: 'triangle-alert',\n danger: 'circle-alert',\n};\n\n/**\n * The two roles that announce, and the value that does not. Both roles imply\n * `aria-live` and `aria-atomic`, so the whole message is read rather than the\n * word that changed, and nothing here writes either attribute by hand.\n */\nconst LIVE_ROLE: Record<InlineMessageLive, string | null> = {\n off: null,\n polite: 'status',\n assertive: 'alert',\n};\n\n/**\n * One sentence about something else: a field, a section, an action. Help, an\n * error, a warning, a confirmation, or a wait.\n *\n * The directive is written on the consumer's own element, and the element it\n * belongs on is a `p`: the message is a sentence of prose about something else,\n * and a paragraph is the box a screen reader reads as one unit.\n *\n * **The severity is a word as well as a colour.** A reader who cannot see the\n * message hears the sentence and nothing else — neither the red ink nor the\n * crossed circle reaches the accessibility tree — so the family writes the\n * severity in clipped text before the message, which is GOV.UK's answer\n * generalised to every tone and to a table an application replaces once.\n *\n * **The role goes on this element, not on an inner one.** `slAlert` puts its\n * live role on the text part because it has a dismiss button beside the text,\n * and MDN's `alert` role reference is explicit that the role is for text\n * content alone. This family has no controls, so there is nothing to keep out.\n */\n@Component({\n selector: '[slInlineMessage]',\n standalone: true,\n exportAs: 'slInlineMessage',\n imports: [SlGlyph, SlIcon],\n template: `@if (prefixWord() !== '') {\n <span data-part=\"prefix\">{{ prefixWord() }}</span>\n }\n @if (!hideIcon()) {\n <span aria-hidden=\"true\" data-part=\"icon\"\n ><ng-content select=\"[slInlineMessageIcon]\">\n @if (glyph(); as name) {\n <span slIcon><svg slGlyph [name]=\"name\"></svg></span>\n }</ng-content\n ></span>\n }\n <span data-part=\"text\"><ng-content /></span>`,\n styleUrl: '../../../styles/src/inline-message/inline-message.css',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: {\n 'data-ui': 'inline-message',\n 'data-part': 'root',\n '[attr.data-tone]': 'resolvedTone()',\n '[attr.data-size]': 'resolvedSize()',\n '[attr.data-live]': 'resolvedLive()',\n '[attr.data-mark]': 'resolvedMark()',\n '[attr.data-loading]': \"loading() ? '' : null\",\n '[attr.data-disabled]': \"disabled() === true ? '' : null\",\n '[attr.data-reserve]': \"reserve() ? '' : null\",\n '[attr.role]': 'role()',\n '[attr.id]': 'messageId',\n },\n})\nexport class SlInlineMessage {\n /** Defaults to the token, then to `secondary` — help text. */\n readonly tone = input<InlineMessageTone | undefined>(undefined);\n /** Defaults to the token, then to `sm`. */\n readonly size = input<InlineMessageSize | undefined>(undefined);\n /** Defaults to the token, then to `off`. */\n readonly live = input<InlineMessageLive | undefined>(undefined);\n /**\n * Which mark is drawn. Defaults to the token, then to `glyph`. `slField` and\n * `slFieldGroup` ask for `none` instead, because a form reads a column of\n * sentences rather than a column of silhouettes.\n */\n readonly mark = input<InlineMessageMark | undefined>(undefined);\n /**\n * The word read before the message. Unstated is the tone's own — `Error:`,\n * `Warning:`, `Success:` — and the empty string removes it, for a message\n * whose sentence already names the severity.\n */\n readonly prefix = input<string | undefined>(undefined);\n /**\n * Removes the mark's box from the markup, for a message that carries its own\n * artwork beside it. `mark='none'` is the other way to draw nothing: it is an\n * axis a provider can set for every message under it, and it leaves the box\n * in place for `reserve` to hold a line open with.\n */\n readonly hideIcon = input(false, { transform: booleanAttribute });\n /** The message is waiting for something: the mark becomes a turning ring. */\n readonly loading = input(false, { transform: booleanAttribute });\n /**\n * Unstated rather than `false`, so a `field` can answer it once this family\n * is inside one. Stated, it wins.\n */\n readonly disabled = input<boolean | undefined, boolean | string | undefined>(undefined, {\n transform: (value) => (value === undefined ? undefined : booleanAttribute(value)),\n });\n /**\n * Holds one line box open whether or not there is a message, so the form\n * below does not move when the error arrives.\n */\n readonly reserve = input(false, { transform: booleanAttribute });\n\n private readonly defaults = injectInlineMessageDefaults();\n\n /**\n * An identifier bound by whatever renders the message. It is what a family\n * that composes with this one — `field`, whose description and error *are*\n * inline messages — uses to give the message an identifier derived from its\n * own base, which a static attribute cannot express and a directive on the\n * same element cannot write.\n */\n readonly id = input<string | undefined>(undefined);\n\n private readonly writtenId = inject(new HostAttributeToken('id'), { optional: true });\n private readonly generatedId = inject(SlInlineMessageIdFactory).next();\n\n /**\n * The identifier an `aria-describedby` or an `aria-errormessage` points at.\n * A consumer's own is never replaced, and the generated one is reachable from\n * a template through `exportAs` — which is the reach an Angular template has\n * and a React consumer answers with `useId` in their own component.\n *\n * A getter rather than a signal, so `message.messageId` keeps reading as a\n * value in every template that already writes it. The host binding below\n * calls it in a reactive context, so the `id` input above is tracked.\n */\n get messageId(): string {\n return this.id() ?? this.writtenId ?? this.generatedId;\n }\n\n /**\n * A role the consumer wrote is never replaced by the family's. A host binding\n * wins over a static attribute in Angular, so the written value has to be\n * read before the binding is computed rather than after — the asymmetry with\n * React, where a consumer's prop simply spreads over the family's.\n */\n private readonly writtenRole = inject(new HostAttributeToken('role'), { optional: true });\n\n protected readonly resolvedTone = computed(() => this.tone() ?? this.defaults.tone);\n protected readonly resolvedSize = computed(() => this.size() ?? this.defaults.size);\n protected readonly resolvedLive = computed(() => this.live() ?? this.defaults.live);\n protected readonly resolvedMark = computed(() => this.mark() ?? this.defaults.mark);\n /* The glyph the family draws when the page supplies none. A message that is\n waiting draws a ring instead, and one that asked for no mark draws none. */\n protected readonly glyph = computed<GlyphName | null>(() => {\n const mark = this.resolvedMark();\n if (this.loading() || mark === 'none') return null;\n return mark === 'dot' ? 'dot' : TONE_GLYPH[this.resolvedTone()];\n });\n protected readonly role = computed(() => this.writtenRole ?? LIVE_ROLE[this.resolvedLive()]);\n\n /* Unstated asks the table; the empty string is a consumer removing the word. */\n protected readonly prefixWord = computed(\n () => this.prefix() ?? this.defaults.prefixes[this.resolvedTone()] ?? '',\n );\n}\n","import { Directive } from '@angular/core';\n\n/**\n * A mark the page supplies instead of the tone's own. It is projected into the\n * box the family draws, so it keeps the size, the colour and the place on the\n * message's first line the tone's mark would have had.\n *\n * It is a marker rather than a component: what goes inside is the page's own\n * artwork, and the family has nothing to add to it beyond where it sits.\n */\n@Directive({\n selector: '[slInlineMessageIcon]',\n standalone: true,\n exportAs: 'slInlineMessageIcon',\n})\nexport class SlInlineMessageIcon {}\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-inline-message.mjs","sources":["../../inline-message/src/inline-message-defaults.ts","../../inline-message/src/inline-message.ts","../../inline-message/src/inline-message-parts.ts","../../inline-message/src/slotted-angular-inline-message.ts"],"sourcesContent":["import { inject, Injectable, InjectionToken } from '@angular/core';\n\n/** Which of the five semantic colours the message speaks in. */\nexport type InlineMessageTone = 'accent' | 'secondary' | 'success' | 'warning' | 'danger';\n\n/**\n * The type step the message sits at. `sm` is the message of a field; `md` is\n * the message of a section. Both read the control scales, which the theme\n * restates per density.\n */\nexport type InlineMessageSize = 'sm' | 'md';\n\n/**\n * Which mark the message draws. `glyph` is the tone's own silhouette — the\n * circled information, check, triangle and circled exclamation. `dot` is a\n * neutral bullet in the tone's ink, the same shape for every tone including\n * the help tone that draws no silhouette at all, so a column of messages under\n * one field starts on one left edge. `none` draws nothing, and the tone is\n * then said by the ink and by the weight of the sentence: it is what `field`\n * and `field-group` ask for, because a silhouette repeated under every control\n * of a form is texture rather than a warning (F2).\n */\nexport type InlineMessageMark = 'glyph' | 'dot' | 'none';\n\n/**\n * Whether the message announces itself, and how loudly. `off` is the default,\n * because the WAI-ARIA APG records that a message already present when the page\n * finishes loading is not announced whatever role it carries.\n */\nexport type InlineMessageLive = 'off' | 'polite' | 'assertive';\n\n/**\n * The word a reader hears before the message. `null` is a tone that is not a\n * severity — help and information announce themselves by their sentence.\n */\nexport type InlineMessagePrefixes = Record<InlineMessageTone, string | null>;\n\n/**\n * The word a reader hears before the message, per tone.\n *\n * GOV.UK's Error message component publishes the idea and hard-codes the word;\n * this table generalises it to every tone that is a severity and puts it behind\n * the token below, which is the only translation surface this library has\n * today. `accent` and `secondary` carry none: information and help announce\n * themselves by their sentence, and a reader told “Information:” before every\n * hint hears one more word per field for nothing.\n */\nexport const INLINE_MESSAGE_PREFIXES: InlineMessagePrefixes = {\n accent: null,\n secondary: null,\n success: 'Success:',\n warning: 'Warning:',\n danger: 'Error:',\n};\n\nexport interface InlineMessageDefaults {\n live: InlineMessageLive;\n mark: InlineMessageMark;\n prefixes: InlineMessagePrefixes;\n size: InlineMessageSize;\n tone: InlineMessageTone;\n}\n\nconst FALLBACK: InlineMessageDefaults = {\n live: 'off',\n mark: 'glyph',\n prefixes: INLINE_MESSAGE_PREFIXES,\n size: 'sm',\n tone: 'secondary',\n};\n\nexport const INLINE_MESSAGE_DEFAULTS = new InjectionToken<InlineMessageDefaults>(\n 'slotted inline message defaults',\n { providedIn: 'root', factory: () => FALLBACK },\n);\n\n/**\n * An application decides once what its messages are painted like and — the one\n * that matters — what its severities are called, rather than repeating the same\n * inputs on every field in a form. A message that states any of them itself\n * still wins: an explicit input is never overridden by the token.\n *\n * `prefixes` is merged over the shipped table rather than replacing it, so a\n * Portuguese application writes the three words it has and inherits the shape.\n */\nexport function provideInlineMessageDefaults(\n defaults: Partial<Omit<InlineMessageDefaults, 'prefixes'>> & {\n prefixes?: Partial<InlineMessagePrefixes>;\n },\n) {\n return {\n provide: INLINE_MESSAGE_DEFAULTS,\n useFactory: (): InlineMessageDefaults => ({\n live: defaults.live ?? FALLBACK.live,\n mark: defaults.mark ?? FALLBACK.mark,\n prefixes: { ...FALLBACK.prefixes, ...defaults.prefixes },\n size: defaults.size ?? FALLBACK.size,\n tone: defaults.tone ?? FALLBACK.tone,\n }),\n };\n}\n\n/** What a message renders as here, before it states anything of its own. */\nexport function injectInlineMessageDefaults(): InlineMessageDefaults {\n return inject(INLINE_MESSAGE_DEFAULTS);\n}\n\n/**\n * Application-scoped rather than module-scoped, for the reason `tag` records: a\n * 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 SlInlineMessageIdFactory {\n private count = 0;\n\n next() {\n this.count += 1;\n return `slotted-inline-message-${this.count}`;\n }\n}\n","import {\n booleanAttribute,\n ChangeDetectionStrategy,\n Component,\n computed,\n HostAttributeToken,\n inject,\n input,\n ViewEncapsulation,\n} from '@angular/core';\nimport { SlGlyph, SlIcon } from '@slotted/angular/icon';\nimport type { GlyphName } from '@slotted/angular/icon';\n\nimport { injectInlineMessageDefaults, SlInlineMessageIdFactory } from './inline-message-defaults';\nimport type {\n InlineMessageLive,\n InlineMessageMark,\n InlineMessageSize,\n InlineMessageTone,\n} from './inline-message-defaults';\n\nexport type {\n InlineMessageLive,\n InlineMessageMark,\n InlineMessagePrefixes,\n InlineMessageSize,\n InlineMessageTone,\n} from './inline-message-defaults';\n\n/**\n * The glyph each tone draws: `specs/components/inline-message/contract.json`\n * holds the map. Help is not a severity and draws none.\n */\nconst TONE_GLYPH: Record<InlineMessageTone, GlyphName | null> = {\n accent: 'circle-info',\n secondary: null,\n success: 'circle-check',\n warning: 'triangle-alert',\n danger: 'circle-alert',\n};\n\n/**\n * The two roles that announce, and the value that does not. Both roles imply\n * `aria-live` and `aria-atomic`, so the whole message is read rather than the\n * word that changed, and nothing here writes either attribute by hand.\n */\nconst LIVE_ROLE: Record<InlineMessageLive, string | null> = {\n off: null,\n polite: 'status',\n assertive: 'alert',\n};\n\n/**\n * One sentence about something else: a field, a section, an action. Help, an\n * error, a warning, a confirmation, or a wait.\n *\n * The directive is written on the consumer's own element, and the element it\n * belongs on is a `p`: the message is a sentence of prose about something else,\n * and a paragraph is the box a screen reader reads as one unit.\n *\n * **The severity is a word as well as a colour.** A reader who cannot see the\n * message hears the sentence and nothing else — neither the red ink nor the\n * crossed circle reaches the accessibility tree — so the family writes the\n * severity in clipped text before the message, which is GOV.UK's answer\n * generalised to every tone and to a table an application replaces once.\n *\n * **The role goes on this element, not on an inner one.** `slAlert` puts its\n * live role on the text part because it has a dismiss button beside the text,\n * and MDN's `alert` role reference is explicit that the role is for text\n * content alone. This family has no controls, so there is nothing to keep out.\n */\n@Component({\n selector: '[slInlineMessage]',\n standalone: true,\n exportAs: 'slInlineMessage',\n imports: [SlGlyph, SlIcon],\n template: `@if (prefixWord() !== '') {\n <span data-part=\"prefix\" data-part-prefix=\"\">{{ prefixWord() }}</span>\n }\n @if (!hideIcon()) {\n <span aria-hidden=\"true\" data-part=\"icon\" data-part-icon=\"\"\n ><ng-content select=\"[slInlineMessageIcon]\">\n @if (glyph(); as name) {\n <span slIcon><svg slGlyph [name]=\"name\"></svg></span>\n }</ng-content\n ></span>\n }\n <span data-part=\"text\" data-part-text=\"\"><ng-content /></span>`,\n styleUrl: '../../../styles/src/inline-message/inline-message.css',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: {\n 'data-ui': 'inline-message',\n 'data-ui-inline-message': '',\n 'data-part': 'root',\n 'data-part-root': '',\n '[attr.data-tone]': 'resolvedTone()',\n '[attr.data-size]': 'resolvedSize()',\n '[attr.data-live]': 'resolvedLive()',\n '[attr.data-mark]': 'resolvedMark()',\n '[attr.data-loading]': \"loading() ? '' : null\",\n '[attr.data-disabled]': \"disabled() === true ? '' : null\",\n '[attr.data-reserve]': \"reserve() ? '' : null\",\n '[attr.role]': 'role()',\n '[attr.id]': 'messageId',\n },\n})\nexport class SlInlineMessage {\n /** Defaults to the token, then to `secondary` — help text. */\n readonly tone = input<InlineMessageTone | undefined>(undefined);\n /** Defaults to the token, then to `sm`. */\n readonly size = input<InlineMessageSize | undefined>(undefined);\n /** Defaults to the token, then to `off`. */\n readonly live = input<InlineMessageLive | undefined>(undefined);\n /**\n * Which mark is drawn. Defaults to the token, then to `glyph`. `slField` and\n * `slFieldGroup` ask for `none` instead, because a form reads a column of\n * sentences rather than a column of silhouettes.\n */\n readonly mark = input<InlineMessageMark | undefined>(undefined);\n /**\n * The word read before the message. Unstated is the tone's own — `Error:`,\n * `Warning:`, `Success:` — and the empty string removes it, for a message\n * whose sentence already names the severity.\n */\n readonly prefix = input<string | undefined>(undefined);\n /**\n * Removes the mark's box from the markup, for a message that carries its own\n * artwork beside it. `mark='none'` is the other way to draw nothing: it is an\n * axis a provider can set for every message under it, and it leaves the box\n * in place for `reserve` to hold a line open with.\n */\n readonly hideIcon = input(false, { transform: booleanAttribute });\n /** The message is waiting for something: the mark becomes a turning ring. */\n readonly loading = input(false, { transform: booleanAttribute });\n /**\n * Unstated rather than `false`, so a `field` can answer it once this family\n * is inside one. Stated, it wins.\n */\n readonly disabled = input<boolean | undefined, boolean | string | undefined>(undefined, {\n transform: (value) => (value === undefined ? undefined : booleanAttribute(value)),\n });\n /**\n * Holds one line box open whether or not there is a message, so the form\n * below does not move when the error arrives.\n */\n readonly reserve = input(false, { transform: booleanAttribute });\n\n private readonly defaults = injectInlineMessageDefaults();\n\n /**\n * An identifier bound by whatever renders the message. It is what a family\n * that composes with this one — `field`, whose description and error *are*\n * inline messages — uses to give the message an identifier derived from its\n * own base, which a static attribute cannot express and a directive on the\n * same element cannot write.\n */\n readonly id = input<string | undefined>(undefined);\n\n private readonly writtenId = inject(new HostAttributeToken('id'), { optional: true });\n private readonly generatedId = inject(SlInlineMessageIdFactory).next();\n\n /**\n * The identifier an `aria-describedby` or an `aria-errormessage` points at.\n * A consumer's own is never replaced, and the generated one is reachable from\n * a template through `exportAs` — which is the reach an Angular template has\n * and a React consumer answers with `useId` in their own component.\n *\n * A getter rather than a signal, so `message.messageId` keeps reading as a\n * value in every template that already writes it. The host binding below\n * calls it in a reactive context, so the `id` input above is tracked.\n */\n get messageId(): string {\n return this.id() ?? this.writtenId ?? this.generatedId;\n }\n\n /**\n * A role the consumer wrote is never replaced by the family's. A host binding\n * wins over a static attribute in Angular, so the written value has to be\n * read before the binding is computed rather than after — the asymmetry with\n * React, where a consumer's prop simply spreads over the family's.\n */\n private readonly writtenRole = inject(new HostAttributeToken('role'), { optional: true });\n\n protected readonly resolvedTone = computed(() => this.tone() ?? this.defaults.tone);\n protected readonly resolvedSize = computed(() => this.size() ?? this.defaults.size);\n protected readonly resolvedLive = computed(() => this.live() ?? this.defaults.live);\n protected readonly resolvedMark = computed(() => this.mark() ?? this.defaults.mark);\n /* The glyph the family draws when the page supplies none. A message that is\n waiting draws a ring instead, and one that asked for no mark draws none. */\n protected readonly glyph = computed<GlyphName | null>(() => {\n const mark = this.resolvedMark();\n if (this.loading() || mark === 'none') return null;\n return mark === 'dot' ? 'dot' : TONE_GLYPH[this.resolvedTone()];\n });\n protected readonly role = computed(() => this.writtenRole ?? LIVE_ROLE[this.resolvedLive()]);\n\n /* Unstated asks the table; the empty string is a consumer removing the word. */\n protected readonly prefixWord = computed(\n () => this.prefix() ?? this.defaults.prefixes[this.resolvedTone()] ?? '',\n );\n}\n","import { Directive } from '@angular/core';\n\n/**\n * A mark the page supplies instead of the tone's own. It is projected into the\n * box the family draws, so it keeps the size, the colour and the place on the\n * message's first line the tone's mark would have had.\n *\n * It is a marker rather than a component: what goes inside is the page's own\n * artwork, and the family has nothing to add to it beyond where it sits.\n */\n@Directive({\n selector: '[slInlineMessageIcon]',\n standalone: true,\n exportAs: 'slInlineMessageIcon',\n})\nexport class SlInlineMessageIcon {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
@@ -27,13 +27,15 @@ class SlInline {
|
|
|
27
27
|
wrap = input(/* @ts-ignore */
|
|
28
28
|
...(ngDevMode ? [undefined, { debugName: "wrap" }] : /* istanbul ignore next */ []));
|
|
29
29
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.7", ngImport: i0, type: SlInline, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
30
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.1.7", type: SlInline, isStandalone: true, selector: "[slInline]", inputs: { align: { classPropertyName: "align", publicName: "align", isSignal: true, isRequired: false, transformFunction: null }, gap: { classPropertyName: "gap", publicName: "gap", isSignal: true, isRequired: false, transformFunction: null }, justify: { classPropertyName: "justify", publicName: "justify", isSignal: true, isRequired: false, transformFunction: null }, wrap: { classPropertyName: "wrap", publicName: "wrap", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "data-ui": "inline", "data-part": "root" }, properties: { "attr.data-gap": "gap() ?? null", "attr.data-align": "align() ?? null", "attr.align": "null", "attr.data-justify": "justify() ?? null", "attr.data-wrap": "wrap() ?? null" } }, exportAs: ["slInline"], ngImport: i0, template: '<ng-content></ng-content>', isInline: true, styles: ["@layer slotted.components{[data-ui
|
|
30
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.1.7", type: SlInline, isStandalone: true, selector: "[slInline]", inputs: { align: { classPropertyName: "align", publicName: "align", isSignal: true, isRequired: false, transformFunction: null }, gap: { classPropertyName: "gap", publicName: "gap", isSignal: true, isRequired: false, transformFunction: null }, justify: { classPropertyName: "justify", publicName: "justify", isSignal: true, isRequired: false, transformFunction: null }, wrap: { classPropertyName: "wrap", publicName: "wrap", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "data-ui": "inline", "data-ui-inline": "", "data-part": "root", "data-part-root": "" }, properties: { "attr.data-gap": "gap() ?? null", "attr.data-align": "align() ?? null", "attr.align": "null", "attr.data-justify": "justify() ?? null", "attr.data-wrap": "wrap() ?? null" } }, exportAs: ["slInline"], ngImport: i0, template: '<ng-content></ng-content>', isInline: true, styles: ["@layer slotted.components{[data-ui-inline]{--_gap: var(--slotted-space-4, .5rem);display:flex;flex-direction:row;flex-wrap:wrap;align-items:center;gap:var(--_gap);min-inline-size:0}[data-ui-inline][data-gap=\"0\"]{--_gap: 0}[data-ui-inline][data-gap=\"1\"]{--_gap: var(--slotted-space-1, .125rem)}[data-ui-inline][data-gap=\"2\"]{--_gap: var(--slotted-space-2, .25rem)}[data-ui-inline][data-gap=\"3\"]{--_gap: var(--slotted-space-3, .375rem)}[data-ui-inline][data-gap=\"4\"]{--_gap: var(--slotted-space-4, .5rem)}[data-ui-inline][data-gap=\"5\"]{--_gap: var(--slotted-space-5, .75rem)}[data-ui-inline][data-gap=\"6\"]{--_gap: var(--slotted-space-6, 1rem)}[data-ui-inline][data-gap=\"7\"]{--_gap: var(--slotted-space-7, 1.25rem)}[data-ui-inline][data-gap=\"8\"]{--_gap: var(--slotted-space-8, 1.5rem)}[data-ui-inline][data-gap=\"9\"]{--_gap: var(--slotted-space-9, 2rem)}[data-ui-inline][data-gap=\"10\"]{--_gap: var(--slotted-space-10, 2.5rem)}[data-ui-inline][data-gap=\"11\"]{--_gap: var(--slotted-space-11, 3rem)}[data-ui-inline][data-gap=\"12\"]{--_gap: var(--slotted-space-12, 4rem)}[data-ui-inline][data-align=start]{align-items:start}[data-ui-inline][data-align=center]{align-items:center}[data-ui-inline][data-align=end]{align-items:end}[data-ui-inline][data-align=stretch]{align-items:stretch}[data-ui-inline][data-align=baseline]{align-items:baseline}[data-ui-inline][data-justify=start]{justify-content:start}[data-ui-inline][data-justify=center]{justify-content:center}[data-ui-inline][data-justify=end]{justify-content:end}[data-ui-inline][data-justify=between]{justify-content:space-between}[data-ui-inline][data-justify=around]{justify-content:space-around}[data-ui-inline][data-justify=evenly]{justify-content:space-evenly}[data-ui-inline][data-wrap=wrap]{flex-wrap:wrap}[data-ui-inline][data-wrap=nowrap]{flex-wrap:nowrap}}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
31
31
|
}
|
|
32
32
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.7", ngImport: i0, type: SlInline, decorators: [{
|
|
33
33
|
type: Component,
|
|
34
34
|
args: [{ selector: '[slInline]', standalone: true, exportAs: 'slInline', template: '<ng-content></ng-content>', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: {
|
|
35
35
|
'data-ui': 'inline',
|
|
36
|
+
'data-ui-inline': '',
|
|
36
37
|
'data-part': 'root',
|
|
38
|
+
'data-part-root': '',
|
|
37
39
|
'[attr.data-gap]': 'gap() ?? null',
|
|
38
40
|
'[attr.data-align]': 'align() ?? null',
|
|
39
41
|
/* `align` is also an obsolete HTML attribute a browser still honours on a
|
|
@@ -41,7 +43,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.7", ngImpor
|
|
|
41
43
|
'[attr.align]': 'null',
|
|
42
44
|
'[attr.data-justify]': 'justify() ?? null',
|
|
43
45
|
'[attr.data-wrap]': 'wrap() ?? null',
|
|
44
|
-
}, styles: ["@layer slotted.components{[data-ui
|
|
46
|
+
}, styles: ["@layer slotted.components{[data-ui-inline]{--_gap: var(--slotted-space-4, .5rem);display:flex;flex-direction:row;flex-wrap:wrap;align-items:center;gap:var(--_gap);min-inline-size:0}[data-ui-inline][data-gap=\"0\"]{--_gap: 0}[data-ui-inline][data-gap=\"1\"]{--_gap: var(--slotted-space-1, .125rem)}[data-ui-inline][data-gap=\"2\"]{--_gap: var(--slotted-space-2, .25rem)}[data-ui-inline][data-gap=\"3\"]{--_gap: var(--slotted-space-3, .375rem)}[data-ui-inline][data-gap=\"4\"]{--_gap: var(--slotted-space-4, .5rem)}[data-ui-inline][data-gap=\"5\"]{--_gap: var(--slotted-space-5, .75rem)}[data-ui-inline][data-gap=\"6\"]{--_gap: var(--slotted-space-6, 1rem)}[data-ui-inline][data-gap=\"7\"]{--_gap: var(--slotted-space-7, 1.25rem)}[data-ui-inline][data-gap=\"8\"]{--_gap: var(--slotted-space-8, 1.5rem)}[data-ui-inline][data-gap=\"9\"]{--_gap: var(--slotted-space-9, 2rem)}[data-ui-inline][data-gap=\"10\"]{--_gap: var(--slotted-space-10, 2.5rem)}[data-ui-inline][data-gap=\"11\"]{--_gap: var(--slotted-space-11, 3rem)}[data-ui-inline][data-gap=\"12\"]{--_gap: var(--slotted-space-12, 4rem)}[data-ui-inline][data-align=start]{align-items:start}[data-ui-inline][data-align=center]{align-items:center}[data-ui-inline][data-align=end]{align-items:end}[data-ui-inline][data-align=stretch]{align-items:stretch}[data-ui-inline][data-align=baseline]{align-items:baseline}[data-ui-inline][data-justify=start]{justify-content:start}[data-ui-inline][data-justify=center]{justify-content:center}[data-ui-inline][data-justify=end]{justify-content:end}[data-ui-inline][data-justify=between]{justify-content:space-between}[data-ui-inline][data-justify=around]{justify-content:space-around}[data-ui-inline][data-justify=evenly]{justify-content:space-evenly}[data-ui-inline][data-wrap=wrap]{flex-wrap:wrap}[data-ui-inline][data-wrap=nowrap]{flex-wrap:nowrap}}\n"] }]
|
|
45
47
|
}], propDecorators: { align: [{ type: i0.Input, args: [{ isSignal: true, alias: "align", required: false }] }], gap: [{ type: i0.Input, args: [{ isSignal: true, alias: "gap", required: false }] }], justify: [{ type: i0.Input, args: [{ isSignal: true, alias: "justify", required: false }] }], wrap: [{ type: i0.Input, args: [{ isSignal: true, alias: "wrap", required: false }] }] } });
|
|
46
48
|
|
|
47
49
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"slotted-angular-inline.mjs","sources":["../../inline/src/inline.ts","../../inline/src/slotted-angular-inline.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, input, ViewEncapsulation } from '@angular/core';\n\n/**\n * A step on the space scale. Separation is chosen from the scale rather than\n * stated as a length, so a theme retunes every layout at once and no component\n * invents a rhythm of its own. `0` is the absence of separation.\n */\nexport type InlineGap = 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12;\n\n/** Across the flow, which for a run is the block axis. */\nexport type InlineAlign = 'start' | 'center' | 'end' | 'stretch' | 'baseline';\n\n/** Along the flow, which for a run is the inline axis. */\nexport type InlineJustify = 'start' | 'center' | 'end' | 'between' | 'around' | 'evenly';\n\nexport type InlineWrap = 'wrap' | 'nowrap';\n\n/**\n * Inline arranges its children along the inline axis and lets them wrap. It\n * paints nothing and adds no semantics: the element is the one the consumer\n * wrote, so a list of tags stays a list.\n *\n * An axis reaches the stylesheet only when someone decided it. The base rule\n * already carries the family defaults — wrapping, centred, separated by half a\n * rem — and a layout is the most numerous element in a document.\n *\n * There is no input that reverses the children. The order they are written in\n * is the order they are read in, by a screen reader and by the Tab key alike.\n */\n@Component({\n selector: '[slInline]',\n standalone: true,\n exportAs: 'slInline',\n template: '<ng-content></ng-content>',\n styleUrl: '../../../styles/src/inline/inline.css',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: {\n 'data-ui': 'inline',\n 'data-part': 'root',\n '[attr.data-gap]': 'gap() ?? null',\n '[attr.data-align]': 'align() ?? null',\n /* `align` is also an obsolete HTML attribute a browser still honours on a\n div, centring its text; written statically for the input it would stay. */\n '[attr.align]': 'null',\n '[attr.data-justify]': 'justify() ?? null',\n '[attr.data-wrap]': 'wrap() ?? null',\n },\n})\nexport class SlInline {\n /** Positions items across the flow. `baseline` puts their type on one line. */\n readonly align = input<InlineAlign>();\n /** Separation between items, as a step on the space scale. */\n readonly gap = input<InlineGap>();\n /** Positions items along the flow, and distributes the space between them. */\n readonly justify = input<InlineJustify>();\n /** `nowrap` keeps one line, and overflows a container narrower than it. */\n readonly wrap = input<InlineWrap>();\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;AAiBA;;;;;;;;;;;AAWG;
|
|
1
|
+
{"version":3,"file":"slotted-angular-inline.mjs","sources":["../../inline/src/inline.ts","../../inline/src/slotted-angular-inline.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, input, ViewEncapsulation } from '@angular/core';\n\n/**\n * A step on the space scale. Separation is chosen from the scale rather than\n * stated as a length, so a theme retunes every layout at once and no component\n * invents a rhythm of its own. `0` is the absence of separation.\n */\nexport type InlineGap = 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12;\n\n/** Across the flow, which for a run is the block axis. */\nexport type InlineAlign = 'start' | 'center' | 'end' | 'stretch' | 'baseline';\n\n/** Along the flow, which for a run is the inline axis. */\nexport type InlineJustify = 'start' | 'center' | 'end' | 'between' | 'around' | 'evenly';\n\nexport type InlineWrap = 'wrap' | 'nowrap';\n\n/**\n * Inline arranges its children along the inline axis and lets them wrap. It\n * paints nothing and adds no semantics: the element is the one the consumer\n * wrote, so a list of tags stays a list.\n *\n * An axis reaches the stylesheet only when someone decided it. The base rule\n * already carries the family defaults — wrapping, centred, separated by half a\n * rem — and a layout is the most numerous element in a document.\n *\n * There is no input that reverses the children. The order they are written in\n * is the order they are read in, by a screen reader and by the Tab key alike.\n */\n@Component({\n selector: '[slInline]',\n standalone: true,\n exportAs: 'slInline',\n template: '<ng-content></ng-content>',\n styleUrl: '../../../styles/src/inline/inline.css',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: {\n 'data-ui': 'inline',\n 'data-ui-inline': '',\n 'data-part': 'root',\n 'data-part-root': '',\n '[attr.data-gap]': 'gap() ?? null',\n '[attr.data-align]': 'align() ?? null',\n /* `align` is also an obsolete HTML attribute a browser still honours on a\n div, centring its text; written statically for the input it would stay. */\n '[attr.align]': 'null',\n '[attr.data-justify]': 'justify() ?? null',\n '[attr.data-wrap]': 'wrap() ?? null',\n },\n})\nexport class SlInline {\n /** Positions items across the flow. `baseline` puts their type on one line. */\n readonly align = input<InlineAlign>();\n /** Separation between items, as a step on the space scale. */\n readonly gap = input<InlineGap>();\n /** Positions items along the flow, and distributes the space between them. */\n readonly justify = input<InlineJustify>();\n /** `nowrap` keeps one line, and overflows a container narrower than it. */\n readonly wrap = input<InlineWrap>();\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;AAiBA;;;;;;;;;;;AAWG;MAuBU,QAAQ,CAAA;;AAEV,IAAA,KAAK,GAAG,KAAK;yFAAe;;AAE5B,IAAA,GAAG,GAAG,KAAK;uFAAa;;AAExB,IAAA,OAAO,GAAG,KAAK;2FAAiB;;AAEhC,IAAA,IAAI,GAAG,KAAK;wFAAc;uGARxB,QAAQ,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAR,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,QAAQ,m3BAlBT,2BAA2B,EAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,ozDAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA;;2FAkB1B,QAAQ,EAAA,UAAA,EAAA,CAAA;kBAtBpB,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,YAAY,EAAA,UAAA,EACV,IAAI,EAAA,QAAA,EACN,UAAU,YACV,2BAA2B,EAAA,eAAA,EAEpB,uBAAuB,CAAC,MAAM,EAAA,aAAA,EAChC,iBAAiB,CAAC,IAAI,EAAA,IAAA,EAC/B;AACJ,wBAAA,SAAS,EAAE,QAAQ;AACnB,wBAAA,gBAAgB,EAAE,EAAE;AACpB,wBAAA,WAAW,EAAE,MAAM;AACnB,wBAAA,gBAAgB,EAAE,EAAE;AACpB,wBAAA,iBAAiB,EAAE,eAAe;AAClC,wBAAA,mBAAmB,EAAE,iBAAiB;AACtC;AAC6E;AAC7E,wBAAA,cAAc,EAAE,MAAM;AACtB,wBAAA,qBAAqB,EAAE,mBAAmB;AAC1C,wBAAA,kBAAkB,EAAE,gBAAgB;AACrC,qBAAA,EAAA,MAAA,EAAA,CAAA,ozDAAA,CAAA,EAAA;;;ACjDH;;AAEG;;"}
|
|
@@ -155,19 +155,21 @@ class SlKbd {
|
|
|
155
155
|
}, /* @ts-ignore */
|
|
156
156
|
...(ngDevMode ? [{ debugName: "key" }] : /* istanbul ignore next */ []));
|
|
157
157
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.7", ngImport: i0, type: SlKbd, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
158
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.7", type: SlKbd, isStandalone: true, selector: "kbd[slKbd]", inputs: { keyName: { classPropertyName: "keyName", publicName: "keyName", isSignal: true, isRequired: false, transformFunction: null }, platform: { classPropertyName: "platform", publicName: "platform", 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 }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, messages: { classPropertyName: "messages", publicName: "messages", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "data-ui": "kbd", "data-part": "root" }, properties: { "attr.data-size": "resolvedSize()", "attr.data-variant": "resolvedVariant()", "attr.data-key": "key()?.token ?? null", "attr.data-platform": "keyName() ? resolvedPlatform() : null", "attr.data-disabled": "resolvedDisabled() ? \"\" : null" } }, exportAs: ["slKbd"], ngImport: i0, template: `<span data-part="legend" [attr.aria-hidden]="key() ? true : null" [attr.data-legend]="key()?.symbolic ? 'symbol' : null">@if (key(); as resolved) {{{ resolved.legend }}} @else {<ng-content></ng-content>}</span>@if (key()?.name; as name) {<span data-part="name">{{ name }}</span>}`, isInline: true, styles: ["@layer slotted.components{[data-ui
|
|
158
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.7", type: SlKbd, isStandalone: true, selector: "kbd[slKbd]", inputs: { keyName: { classPropertyName: "keyName", publicName: "keyName", isSignal: true, isRequired: false, transformFunction: null }, platform: { classPropertyName: "platform", publicName: "platform", 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 }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, messages: { classPropertyName: "messages", publicName: "messages", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "data-ui": "kbd", "data-ui-kbd": "", "data-part": "root", "data-part-root": "" }, properties: { "attr.data-size": "resolvedSize()", "attr.data-variant": "resolvedVariant()", "attr.data-key": "key()?.token ?? null", "attr.data-platform": "keyName() ? resolvedPlatform() : null", "attr.data-disabled": "resolvedDisabled() ? \"\" : null" } }, exportAs: ["slKbd"], ngImport: i0, template: `<span data-part="legend" data-part-legend="" [attr.aria-hidden]="key() ? true : null" [attr.data-legend]="key()?.symbolic ? 'symbol' : null">@if (key(); as resolved) {{{ resolved.legend }}} @else {<ng-content></ng-content>}</span>@if (key()?.name; as name) {<span data-part="name" data-part-name="">{{ name }}</span>}`, isInline: true, styles: ["@layer slotted.components{[data-ui-kbd]{--_size: var(--slotted-space-8, 1.5rem);--_font-size: var(--slotted-control-font-size-md, 13px);--_inset-inline: var(--slotted-space-3, .375rem);--_radius: var(--slotted-kbd-radius, var(--slotted-radius-md, 6px));--_gap: var(--slotted-space-2, .25rem);--_edge-width: var(--slotted-kbd-border-width, var(--slotted-border-width-thin, 1px));--_base-width: var(--_edge-width);--_block-size: var(--slotted-control-inner-size, var(--_size));--_background: var(--slotted-surface-raised, Canvas);--_face: none;--_border: var(--slotted-control-border-color, ButtonBorder);--_base: var(--slotted-border-strong, ButtonBorder);--_color: var(--slotted-text, CanvasText)}[data-ui-kbd][data-part-root]{background-color:var(--_background);background-image:var(--_face);block-size:var(--_block-size);border:var(--_edge-width) solid var(--_border);border-block-end:var(--_base-width) solid var(--_base);border-radius:var(--_radius);box-sizing:border-box;color:var(--_color);display:inline-grid;font-family:var(--slotted-kbd-font-family, var(--slotted-control-font-family, sans-serif));font-size:var(--_font-size);font-variant-numeric:tabular-nums;font-weight:var(--slotted-kbd-font-weight, var(--slotted-font-weight-medium, 500));line-height:1;min-inline-size:var(--_block-size);place-items:center;padding-block:0;padding-inline:var(--_inset-inline);white-space:nowrap;vertical-align:middle;transition:background-color var(--slotted-control-transition-duration) var(--slotted-control-transition-easing),border-color var(--slotted-control-transition-duration) var(--slotted-control-transition-easing),color var(--slotted-control-transition-duration) var(--slotted-control-transition-easing)}@supports (text-box: trim-both cap alphabetic){[data-ui-kbd] [data-part-legend]{text-box:trim-both cap alphabetic}[data-ui-kbd] [data-part-legend][data-legend=symbol]{text-box:normal}}[data-ui-kbd] [data-part-legend][data-legend=symbol]{font-family:var(--slotted-kbd-symbol-font-family, var(--slotted-font-family-sans, sans-serif));font-size:1.1em}[data-ui-kbd] [data-part-name]{block-size:1px;border:0;clip-path:inset(50%);inline-size:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap}[data-ui-kbd][data-part-shortcut]{align-items:center;direction:ltr;display:inline-flex;font-family:var(--slotted-kbd-font-family, var(--slotted-control-font-family, sans-serif));line-height:1;flex-wrap:wrap;gap:var(--_gap);max-inline-size:100%;vertical-align:middle}[data-ui-kbd][data-part-shortcut][data-platform=mac]{--_gap: var(--slotted-space-1, .125rem)}[data-ui-kbd][data-part-shortcut][data-platform=mac][data-size=inherit]{--_gap: .125em}[data-ui-kbd] [data-part-separator]{color:var(--slotted-text-muted, GrayText);flex:none;font-family:var(--slotted-kbd-font-family, var(--slotted-control-font-family, sans-serif));font-size:var(--_font-size);line-height:1}[data-ui-kbd] [data-part-separator][data-separator=then]{font-family:var(--slotted-control-font-family, sans-serif);padding-inline:var(--slotted-space-2, .25rem)}[data-ui-kbd][data-size=xs]{--_size: var(--slotted-space-6, 1rem);--_font-size: .6875rem;--_inset-inline: var(--slotted-space-2, .25rem);--_radius: var(--slotted-kbd-radius, var(--slotted-radius-sm, 4px));--_gap: var(--slotted-space-1, .125rem)}[data-ui-kbd][data-size=sm]{--_size: var(--slotted-space-7, 1.25rem);--_font-size: var(--slotted-control-font-size-sm, 12px);--_inset-inline: var(--slotted-space-2, .25rem)}[data-ui-kbd][data-size=lg]{--_size: calc(var(--slotted-space-8, 1.5rem) + var(--slotted-space-2, .25rem));--_font-size: var(--slotted-control-font-size-lg, 14px);--_inset-inline: var(--slotted-space-4, .5rem);--_radius: var(--slotted-kbd-radius, var(--slotted-radius-lg, 8px))}[data-ui-kbd][data-size=inherit]{--_size: 1.5em;--_font-size: .8em;--_inset-inline: .4em;--_radius: var(--slotted-kbd-radius, .375em);--_gap: .25em}@supports (inline-size: round(nearest,1.5em,1px)){[data-ui-kbd][data-size=inherit]{--_size: round(nearest, 1.5em, 1px)}}[data-ui-kbd][data-variant=raised]{--_base-width: var(--slotted-kbd-base-width, var(--slotted-border-width-thick, 2px));--_face: linear-gradient( to bottom, var(--_background) 40%, color-mix(in oklab, var(--_background), var(--_base) 10%) )}[data-ui-kbd][data-variant=outline]{--_background: transparent;--_border: var(--slotted-border-strong, ButtonBorder);--_color: inherit}[data-ui-kbd][data-variant=soft]{--_background: var(--slotted-tone-secondary-surface);--_border: var(--slotted-tone-secondary-border);--_base: var(--slotted-tone-secondary-border);--_color: var(--slotted-tone-secondary-text)}[data-ui-kbd][data-variant=plain]{--_background: transparent;--_border: transparent;--_base: transparent;--_color: inherit}[data-ui-kbd][data-part-root][data-variant=plain]{min-inline-size:0;padding-inline:0}[data-ui-kbd][data-disabled]{--_background: var(--slotted-disabled-background, Canvas);--_face: none;--_border: var(--slotted-disabled-border, GrayText);--_base: var(--slotted-disabled-border, GrayText);--_color: var(--slotted-disabled-foreground, GrayText)}[data-ui-kbd][data-disabled] [data-part-separator]{color:var(--slotted-disabled-foreground, GrayText)}[data-ui-kbd][data-variant=outline][data-disabled],[data-ui-kbd][data-variant=plain][data-disabled]{--_background: transparent}[data-ui-kbd][data-variant=plain][data-disabled]{--_border: transparent;--_base: transparent}}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
159
159
|
}
|
|
160
160
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.7", ngImport: i0, type: SlKbd, decorators: [{
|
|
161
161
|
type: Component,
|
|
162
|
-
args: [{ selector: 'kbd[slKbd]', standalone: true, exportAs: 'slKbd', template: `<span data-part="legend" [attr.aria-hidden]="key() ? true : null" [attr.data-legend]="key()?.symbolic ? 'symbol' : null">@if (key(); as resolved) {{{ resolved.legend }}} @else {<ng-content></ng-content>}</span>@if (key()?.name; as name) {<span data-part="name">{{ name }}</span>}`, changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: {
|
|
162
|
+
args: [{ selector: 'kbd[slKbd]', standalone: true, exportAs: 'slKbd', template: `<span data-part="legend" data-part-legend="" [attr.aria-hidden]="key() ? true : null" [attr.data-legend]="key()?.symbolic ? 'symbol' : null">@if (key(); as resolved) {{{ resolved.legend }}} @else {<ng-content></ng-content>}</span>@if (key()?.name; as name) {<span data-part="name" data-part-name="">{{ name }}</span>}`, changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: {
|
|
163
163
|
'data-ui': 'kbd',
|
|
164
|
+
'data-ui-kbd': '',
|
|
164
165
|
'data-part': 'root',
|
|
166
|
+
'data-part-root': '',
|
|
165
167
|
'[attr.data-size]': 'resolvedSize()',
|
|
166
168
|
'[attr.data-variant]': 'resolvedVariant()',
|
|
167
169
|
'[attr.data-key]': 'key()?.token ?? null',
|
|
168
170
|
'[attr.data-platform]': 'keyName() ? resolvedPlatform() : null',
|
|
169
171
|
'[attr.data-disabled]': 'resolvedDisabled() ? "" : null',
|
|
170
|
-
}, styles: ["@layer slotted.components{[data-ui
|
|
172
|
+
}, styles: ["@layer slotted.components{[data-ui-kbd]{--_size: var(--slotted-space-8, 1.5rem);--_font-size: var(--slotted-control-font-size-md, 13px);--_inset-inline: var(--slotted-space-3, .375rem);--_radius: var(--slotted-kbd-radius, var(--slotted-radius-md, 6px));--_gap: var(--slotted-space-2, .25rem);--_edge-width: var(--slotted-kbd-border-width, var(--slotted-border-width-thin, 1px));--_base-width: var(--_edge-width);--_block-size: var(--slotted-control-inner-size, var(--_size));--_background: var(--slotted-surface-raised, Canvas);--_face: none;--_border: var(--slotted-control-border-color, ButtonBorder);--_base: var(--slotted-border-strong, ButtonBorder);--_color: var(--slotted-text, CanvasText)}[data-ui-kbd][data-part-root]{background-color:var(--_background);background-image:var(--_face);block-size:var(--_block-size);border:var(--_edge-width) solid var(--_border);border-block-end:var(--_base-width) solid var(--_base);border-radius:var(--_radius);box-sizing:border-box;color:var(--_color);display:inline-grid;font-family:var(--slotted-kbd-font-family, var(--slotted-control-font-family, sans-serif));font-size:var(--_font-size);font-variant-numeric:tabular-nums;font-weight:var(--slotted-kbd-font-weight, var(--slotted-font-weight-medium, 500));line-height:1;min-inline-size:var(--_block-size);place-items:center;padding-block:0;padding-inline:var(--_inset-inline);white-space:nowrap;vertical-align:middle;transition:background-color var(--slotted-control-transition-duration) var(--slotted-control-transition-easing),border-color var(--slotted-control-transition-duration) var(--slotted-control-transition-easing),color var(--slotted-control-transition-duration) var(--slotted-control-transition-easing)}@supports (text-box: trim-both cap alphabetic){[data-ui-kbd] [data-part-legend]{text-box:trim-both cap alphabetic}[data-ui-kbd] [data-part-legend][data-legend=symbol]{text-box:normal}}[data-ui-kbd] [data-part-legend][data-legend=symbol]{font-family:var(--slotted-kbd-symbol-font-family, var(--slotted-font-family-sans, sans-serif));font-size:1.1em}[data-ui-kbd] [data-part-name]{block-size:1px;border:0;clip-path:inset(50%);inline-size:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap}[data-ui-kbd][data-part-shortcut]{align-items:center;direction:ltr;display:inline-flex;font-family:var(--slotted-kbd-font-family, var(--slotted-control-font-family, sans-serif));line-height:1;flex-wrap:wrap;gap:var(--_gap);max-inline-size:100%;vertical-align:middle}[data-ui-kbd][data-part-shortcut][data-platform=mac]{--_gap: var(--slotted-space-1, .125rem)}[data-ui-kbd][data-part-shortcut][data-platform=mac][data-size=inherit]{--_gap: .125em}[data-ui-kbd] [data-part-separator]{color:var(--slotted-text-muted, GrayText);flex:none;font-family:var(--slotted-kbd-font-family, var(--slotted-control-font-family, sans-serif));font-size:var(--_font-size);line-height:1}[data-ui-kbd] [data-part-separator][data-separator=then]{font-family:var(--slotted-control-font-family, sans-serif);padding-inline:var(--slotted-space-2, .25rem)}[data-ui-kbd][data-size=xs]{--_size: var(--slotted-space-6, 1rem);--_font-size: .6875rem;--_inset-inline: var(--slotted-space-2, .25rem);--_radius: var(--slotted-kbd-radius, var(--slotted-radius-sm, 4px));--_gap: var(--slotted-space-1, .125rem)}[data-ui-kbd][data-size=sm]{--_size: var(--slotted-space-7, 1.25rem);--_font-size: var(--slotted-control-font-size-sm, 12px);--_inset-inline: var(--slotted-space-2, .25rem)}[data-ui-kbd][data-size=lg]{--_size: calc(var(--slotted-space-8, 1.5rem) + var(--slotted-space-2, .25rem));--_font-size: var(--slotted-control-font-size-lg, 14px);--_inset-inline: var(--slotted-space-4, .5rem);--_radius: var(--slotted-kbd-radius, var(--slotted-radius-lg, 8px))}[data-ui-kbd][data-size=inherit]{--_size: 1.5em;--_font-size: .8em;--_inset-inline: .4em;--_radius: var(--slotted-kbd-radius, .375em);--_gap: .25em}@supports (inline-size: round(nearest,1.5em,1px)){[data-ui-kbd][data-size=inherit]{--_size: round(nearest, 1.5em, 1px)}}[data-ui-kbd][data-variant=raised]{--_base-width: var(--slotted-kbd-base-width, var(--slotted-border-width-thick, 2px));--_face: linear-gradient( to bottom, var(--_background) 40%, color-mix(in oklab, var(--_background), var(--_base) 10%) )}[data-ui-kbd][data-variant=outline]{--_background: transparent;--_border: var(--slotted-border-strong, ButtonBorder);--_color: inherit}[data-ui-kbd][data-variant=soft]{--_background: var(--slotted-tone-secondary-surface);--_border: var(--slotted-tone-secondary-border);--_base: var(--slotted-tone-secondary-border);--_color: var(--slotted-tone-secondary-text)}[data-ui-kbd][data-variant=plain]{--_background: transparent;--_border: transparent;--_base: transparent;--_color: inherit}[data-ui-kbd][data-part-root][data-variant=plain]{min-inline-size:0;padding-inline:0}[data-ui-kbd][data-disabled]{--_background: var(--slotted-disabled-background, Canvas);--_face: none;--_border: var(--slotted-disabled-border, GrayText);--_base: var(--slotted-disabled-border, GrayText);--_color: var(--slotted-disabled-foreground, GrayText)}[data-ui-kbd][data-disabled] [data-part-separator]{color:var(--slotted-disabled-foreground, GrayText)}[data-ui-kbd][data-variant=outline][data-disabled],[data-ui-kbd][data-variant=plain][data-disabled]{--_background: transparent}[data-ui-kbd][data-variant=plain][data-disabled]{--_border: transparent;--_base: transparent}}\n"] }]
|
|
171
173
|
}], propDecorators: { keyName: [{ type: i0.Input, args: [{ isSignal: true, alias: "keyName", required: false }] }], platform: [{ type: i0.Input, args: [{ isSignal: true, alias: "platform", required: false }] }], size: [{ type: i0.Input, args: [{ isSignal: true, alias: "size", required: false }] }], variant: [{ type: i0.Input, args: [{ isSignal: true, alias: "variant", required: false }] }], disabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }], messages: [{ type: i0.Input, args: [{ isSignal: true, alias: "messages", required: false }] }] } });
|
|
172
174
|
|
|
173
175
|
/**
|
|
@@ -241,17 +243,17 @@ class SlShortcut {
|
|
|
241
243
|
empty = computed(() => this.resolved()?.steps.length === 0, /* @ts-ignore */
|
|
242
244
|
...(ngDevMode ? [{ debugName: "empty" }] : /* istanbul ignore next */ []));
|
|
243
245
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.7", ngImport: i0, type: SlShortcut, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
244
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.7", type: SlShortcut, isStandalone: true, selector: "kbd[slShortcut]", inputs: { keys: { classPropertyName: "keys", publicName: "keys", isSignal: true, isRequired: false, transformFunction: null }, platform: { classPropertyName: "platform", publicName: "platform", 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 }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, separator: { classPropertyName: "separator", publicName: "separator", isSignal: true, isRequired: false, transformFunction: null }, messages: { classPropertyName: "messages", publicName: "messages", isSignal: true, isRequired: false, transformFunction: null }, legends: { classPropertyName: "legends", publicName: "legends", isSignal: true, isRequired: false, transformFunction: null }, names: { classPropertyName: "names", publicName: "names", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "data-ui": "kbd", "data-part": "shortcut" }, properties: { "attr.data-platform": "resolvedPlatform()", "attr.data-size": "resolvedSize()", "attr.data-variant": "resolvedVariant()", "attr.data-disabled": "disabled() ? \"\" : null", "style.display": "empty() ? \"none\" : null" } }, providers: [
|
|
246
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.7", type: SlShortcut, isStandalone: true, selector: "kbd[slShortcut]", inputs: { keys: { classPropertyName: "keys", publicName: "keys", isSignal: true, isRequired: false, transformFunction: null }, platform: { classPropertyName: "platform", publicName: "platform", 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 }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, separator: { classPropertyName: "separator", publicName: "separator", isSignal: true, isRequired: false, transformFunction: null }, messages: { classPropertyName: "messages", publicName: "messages", isSignal: true, isRequired: false, transformFunction: null }, legends: { classPropertyName: "legends", publicName: "legends", isSignal: true, isRequired: false, transformFunction: null }, names: { classPropertyName: "names", publicName: "names", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "data-ui": "kbd", "data-ui-kbd": "", "data-part": "shortcut", "data-part-shortcut": "" }, properties: { "attr.data-platform": "resolvedPlatform()", "attr.data-size": "resolvedSize()", "attr.data-variant": "resolvedVariant()", "attr.data-disabled": "disabled() ? \"\" : null", "style.display": "empty() ? \"none\" : null" } }, providers: [
|
|
245
247
|
{
|
|
246
248
|
provide: SlShortcutAxes.token,
|
|
247
249
|
/* The decorator runs before the class binding exists. */
|
|
248
250
|
useExisting: forwardRef(() => SlShortcut),
|
|
249
251
|
},
|
|
250
|
-
], exportAs: ["slShortcut"], ngImport: i0, template: `@if (resolved(); as shortcut) {@for (step of shortcut.steps; track $index) {@if (!$first) {<span data-part="separator" data-separator="then">{{ shortcut.thenLabel }}</span>}@for (key of step; track $index) {@if (!$first && shortcut.separator) {<span aria-hidden="true" data-part="separator" data-separator="plus">{{ shortcut.separator }}</span>}<kbd data-ui="kbd" data-part="root" [attr.data-key]="key.token" [attr.data-platform]="shortcut.platform" [attr.data-size]="resolvedSize()" [attr.data-variant]="resolvedVariant()" [attr.data-disabled]="disabled() ? '' : null"><span data-part="legend" aria-hidden="true" [attr.data-legend]="key.symbolic ? 'symbol' : null">{{ key.legend }}</span>@if (key.name; as name) {<span data-part="name">{{ name }}</span>}</kbd>}}} @else {<ng-content></ng-content>}`, isInline: true, styles: ["@layer slotted.components{[data-ui
|
|
252
|
+
], exportAs: ["slShortcut"], ngImport: i0, template: `@if (resolved(); as shortcut) {@for (step of shortcut.steps; track $index) {@if (!$first) {<span data-part="separator" data-part-separator="" data-separator="then">{{ shortcut.thenLabel }}</span>}@for (key of step; track $index) {@if (!$first && shortcut.separator) {<span aria-hidden="true" data-part="separator" data-part-separator="" data-separator="plus">{{ shortcut.separator }}</span>}<kbd data-ui="kbd" data-ui-kbd="" data-part="root" data-part-root="" [attr.data-key]="key.token" [attr.data-platform]="shortcut.platform" [attr.data-size]="resolvedSize()" [attr.data-variant]="resolvedVariant()" [attr.data-disabled]="disabled() ? '' : null"><span data-part="legend" data-part-legend="" aria-hidden="true" [attr.data-legend]="key.symbolic ? 'symbol' : null">{{ key.legend }}</span>@if (key.name; as name) {<span data-part="name" data-part-name="">{{ name }}</span>}</kbd>}}} @else {<ng-content></ng-content>}`, isInline: true, styles: ["@layer slotted.components{[data-ui-kbd]{--_size: var(--slotted-space-8, 1.5rem);--_font-size: var(--slotted-control-font-size-md, 13px);--_inset-inline: var(--slotted-space-3, .375rem);--_radius: var(--slotted-kbd-radius, var(--slotted-radius-md, 6px));--_gap: var(--slotted-space-2, .25rem);--_edge-width: var(--slotted-kbd-border-width, var(--slotted-border-width-thin, 1px));--_base-width: var(--_edge-width);--_block-size: var(--slotted-control-inner-size, var(--_size));--_background: var(--slotted-surface-raised, Canvas);--_face: none;--_border: var(--slotted-control-border-color, ButtonBorder);--_base: var(--slotted-border-strong, ButtonBorder);--_color: var(--slotted-text, CanvasText)}[data-ui-kbd][data-part-root]{background-color:var(--_background);background-image:var(--_face);block-size:var(--_block-size);border:var(--_edge-width) solid var(--_border);border-block-end:var(--_base-width) solid var(--_base);border-radius:var(--_radius);box-sizing:border-box;color:var(--_color);display:inline-grid;font-family:var(--slotted-kbd-font-family, var(--slotted-control-font-family, sans-serif));font-size:var(--_font-size);font-variant-numeric:tabular-nums;font-weight:var(--slotted-kbd-font-weight, var(--slotted-font-weight-medium, 500));line-height:1;min-inline-size:var(--_block-size);place-items:center;padding-block:0;padding-inline:var(--_inset-inline);white-space:nowrap;vertical-align:middle;transition:background-color var(--slotted-control-transition-duration) var(--slotted-control-transition-easing),border-color var(--slotted-control-transition-duration) var(--slotted-control-transition-easing),color var(--slotted-control-transition-duration) var(--slotted-control-transition-easing)}@supports (text-box: trim-both cap alphabetic){[data-ui-kbd] [data-part-legend]{text-box:trim-both cap alphabetic}[data-ui-kbd] [data-part-legend][data-legend=symbol]{text-box:normal}}[data-ui-kbd] [data-part-legend][data-legend=symbol]{font-family:var(--slotted-kbd-symbol-font-family, var(--slotted-font-family-sans, sans-serif));font-size:1.1em}[data-ui-kbd] [data-part-name]{block-size:1px;border:0;clip-path:inset(50%);inline-size:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap}[data-ui-kbd][data-part-shortcut]{align-items:center;direction:ltr;display:inline-flex;font-family:var(--slotted-kbd-font-family, var(--slotted-control-font-family, sans-serif));line-height:1;flex-wrap:wrap;gap:var(--_gap);max-inline-size:100%;vertical-align:middle}[data-ui-kbd][data-part-shortcut][data-platform=mac]{--_gap: var(--slotted-space-1, .125rem)}[data-ui-kbd][data-part-shortcut][data-platform=mac][data-size=inherit]{--_gap: .125em}[data-ui-kbd] [data-part-separator]{color:var(--slotted-text-muted, GrayText);flex:none;font-family:var(--slotted-kbd-font-family, var(--slotted-control-font-family, sans-serif));font-size:var(--_font-size);line-height:1}[data-ui-kbd] [data-part-separator][data-separator=then]{font-family:var(--slotted-control-font-family, sans-serif);padding-inline:var(--slotted-space-2, .25rem)}[data-ui-kbd][data-size=xs]{--_size: var(--slotted-space-6, 1rem);--_font-size: .6875rem;--_inset-inline: var(--slotted-space-2, .25rem);--_radius: var(--slotted-kbd-radius, var(--slotted-radius-sm, 4px));--_gap: var(--slotted-space-1, .125rem)}[data-ui-kbd][data-size=sm]{--_size: var(--slotted-space-7, 1.25rem);--_font-size: var(--slotted-control-font-size-sm, 12px);--_inset-inline: var(--slotted-space-2, .25rem)}[data-ui-kbd][data-size=lg]{--_size: calc(var(--slotted-space-8, 1.5rem) + var(--slotted-space-2, .25rem));--_font-size: var(--slotted-control-font-size-lg, 14px);--_inset-inline: var(--slotted-space-4, .5rem);--_radius: var(--slotted-kbd-radius, var(--slotted-radius-lg, 8px))}[data-ui-kbd][data-size=inherit]{--_size: 1.5em;--_font-size: .8em;--_inset-inline: .4em;--_radius: var(--slotted-kbd-radius, .375em);--_gap: .25em}@supports (inline-size: round(nearest,1.5em,1px)){[data-ui-kbd][data-size=inherit]{--_size: round(nearest, 1.5em, 1px)}}[data-ui-kbd][data-variant=raised]{--_base-width: var(--slotted-kbd-base-width, var(--slotted-border-width-thick, 2px));--_face: linear-gradient( to bottom, var(--_background) 40%, color-mix(in oklab, var(--_background), var(--_base) 10%) )}[data-ui-kbd][data-variant=outline]{--_background: transparent;--_border: var(--slotted-border-strong, ButtonBorder);--_color: inherit}[data-ui-kbd][data-variant=soft]{--_background: var(--slotted-tone-secondary-surface);--_border: var(--slotted-tone-secondary-border);--_base: var(--slotted-tone-secondary-border);--_color: var(--slotted-tone-secondary-text)}[data-ui-kbd][data-variant=plain]{--_background: transparent;--_border: transparent;--_base: transparent;--_color: inherit}[data-ui-kbd][data-part-root][data-variant=plain]{min-inline-size:0;padding-inline:0}[data-ui-kbd][data-disabled]{--_background: var(--slotted-disabled-background, Canvas);--_face: none;--_border: var(--slotted-disabled-border, GrayText);--_base: var(--slotted-disabled-border, GrayText);--_color: var(--slotted-disabled-foreground, GrayText)}[data-ui-kbd][data-disabled] [data-part-separator]{color:var(--slotted-disabled-foreground, GrayText)}[data-ui-kbd][data-variant=outline][data-disabled],[data-ui-kbd][data-variant=plain][data-disabled]{--_background: transparent}[data-ui-kbd][data-variant=plain][data-disabled]{--_border: transparent;--_base: transparent}}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
251
253
|
}
|
|
252
254
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.7", ngImport: i0, type: SlShortcut, decorators: [{
|
|
253
255
|
type: Component,
|
|
254
|
-
args: [{ selector: 'kbd[slShortcut]', standalone: true, exportAs: 'slShortcut', template: `@if (resolved(); as shortcut) {@for (step of shortcut.steps; track $index) {@if (!$first) {<span data-part="separator" data-separator="then">{{ shortcut.thenLabel }}</span>}@for (key of step; track $index) {@if (!$first && shortcut.separator) {<span aria-hidden="true" data-part="separator" data-separator="plus">{{ shortcut.separator }}</span>}<kbd data-ui="kbd" data-part="root" [attr.data-key]="key.token" [attr.data-platform]="shortcut.platform" [attr.data-size]="resolvedSize()" [attr.data-variant]="resolvedVariant()" [attr.data-disabled]="disabled() ? '' : null"><span data-part="legend" aria-hidden="true" [attr.data-legend]="key.symbolic ? 'symbol' : null">{{ key.legend }}</span>@if (key.name; as name) {<span data-part="name">{{ name }}</span>}</kbd>}}} @else {<ng-content></ng-content>}`, changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, providers: [
|
|
256
|
+
args: [{ selector: 'kbd[slShortcut]', standalone: true, exportAs: 'slShortcut', template: `@if (resolved(); as shortcut) {@for (step of shortcut.steps; track $index) {@if (!$first) {<span data-part="separator" data-part-separator="" data-separator="then">{{ shortcut.thenLabel }}</span>}@for (key of step; track $index) {@if (!$first && shortcut.separator) {<span aria-hidden="true" data-part="separator" data-part-separator="" data-separator="plus">{{ shortcut.separator }}</span>}<kbd data-ui="kbd" data-ui-kbd="" data-part="root" data-part-root="" [attr.data-key]="key.token" [attr.data-platform]="shortcut.platform" [attr.data-size]="resolvedSize()" [attr.data-variant]="resolvedVariant()" [attr.data-disabled]="disabled() ? '' : null"><span data-part="legend" data-part-legend="" aria-hidden="true" [attr.data-legend]="key.symbolic ? 'symbol' : null">{{ key.legend }}</span>@if (key.name; as name) {<span data-part="name" data-part-name="">{{ name }}</span>}</kbd>}}} @else {<ng-content></ng-content>}`, changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, providers: [
|
|
255
257
|
{
|
|
256
258
|
provide: SlShortcutAxes.token,
|
|
257
259
|
/* The decorator runs before the class binding exists. */
|
|
@@ -259,7 +261,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.7", ngImpor
|
|
|
259
261
|
},
|
|
260
262
|
], host: {
|
|
261
263
|
'data-ui': 'kbd',
|
|
264
|
+
'data-ui-kbd': '',
|
|
262
265
|
'data-part': 'shortcut',
|
|
266
|
+
'data-part-shortcut': '',
|
|
263
267
|
'[attr.data-platform]': 'resolvedPlatform()',
|
|
264
268
|
'[attr.data-size]': 'resolvedSize()',
|
|
265
269
|
'[attr.data-variant]': 'resolvedVariant()',
|
|
@@ -273,7 +277,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.7", ngImpor
|
|
|
273
277
|
* `display: inline-flex`, which the `hidden` attribute would lose to.
|
|
274
278
|
*/
|
|
275
279
|
'[style.display]': 'empty() ? "none" : null',
|
|
276
|
-
}, styles: ["@layer slotted.components{[data-ui
|
|
280
|
+
}, styles: ["@layer slotted.components{[data-ui-kbd]{--_size: var(--slotted-space-8, 1.5rem);--_font-size: var(--slotted-control-font-size-md, 13px);--_inset-inline: var(--slotted-space-3, .375rem);--_radius: var(--slotted-kbd-radius, var(--slotted-radius-md, 6px));--_gap: var(--slotted-space-2, .25rem);--_edge-width: var(--slotted-kbd-border-width, var(--slotted-border-width-thin, 1px));--_base-width: var(--_edge-width);--_block-size: var(--slotted-control-inner-size, var(--_size));--_background: var(--slotted-surface-raised, Canvas);--_face: none;--_border: var(--slotted-control-border-color, ButtonBorder);--_base: var(--slotted-border-strong, ButtonBorder);--_color: var(--slotted-text, CanvasText)}[data-ui-kbd][data-part-root]{background-color:var(--_background);background-image:var(--_face);block-size:var(--_block-size);border:var(--_edge-width) solid var(--_border);border-block-end:var(--_base-width) solid var(--_base);border-radius:var(--_radius);box-sizing:border-box;color:var(--_color);display:inline-grid;font-family:var(--slotted-kbd-font-family, var(--slotted-control-font-family, sans-serif));font-size:var(--_font-size);font-variant-numeric:tabular-nums;font-weight:var(--slotted-kbd-font-weight, var(--slotted-font-weight-medium, 500));line-height:1;min-inline-size:var(--_block-size);place-items:center;padding-block:0;padding-inline:var(--_inset-inline);white-space:nowrap;vertical-align:middle;transition:background-color var(--slotted-control-transition-duration) var(--slotted-control-transition-easing),border-color var(--slotted-control-transition-duration) var(--slotted-control-transition-easing),color var(--slotted-control-transition-duration) var(--slotted-control-transition-easing)}@supports (text-box: trim-both cap alphabetic){[data-ui-kbd] [data-part-legend]{text-box:trim-both cap alphabetic}[data-ui-kbd] [data-part-legend][data-legend=symbol]{text-box:normal}}[data-ui-kbd] [data-part-legend][data-legend=symbol]{font-family:var(--slotted-kbd-symbol-font-family, var(--slotted-font-family-sans, sans-serif));font-size:1.1em}[data-ui-kbd] [data-part-name]{block-size:1px;border:0;clip-path:inset(50%);inline-size:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap}[data-ui-kbd][data-part-shortcut]{align-items:center;direction:ltr;display:inline-flex;font-family:var(--slotted-kbd-font-family, var(--slotted-control-font-family, sans-serif));line-height:1;flex-wrap:wrap;gap:var(--_gap);max-inline-size:100%;vertical-align:middle}[data-ui-kbd][data-part-shortcut][data-platform=mac]{--_gap: var(--slotted-space-1, .125rem)}[data-ui-kbd][data-part-shortcut][data-platform=mac][data-size=inherit]{--_gap: .125em}[data-ui-kbd] [data-part-separator]{color:var(--slotted-text-muted, GrayText);flex:none;font-family:var(--slotted-kbd-font-family, var(--slotted-control-font-family, sans-serif));font-size:var(--_font-size);line-height:1}[data-ui-kbd] [data-part-separator][data-separator=then]{font-family:var(--slotted-control-font-family, sans-serif);padding-inline:var(--slotted-space-2, .25rem)}[data-ui-kbd][data-size=xs]{--_size: var(--slotted-space-6, 1rem);--_font-size: .6875rem;--_inset-inline: var(--slotted-space-2, .25rem);--_radius: var(--slotted-kbd-radius, var(--slotted-radius-sm, 4px));--_gap: var(--slotted-space-1, .125rem)}[data-ui-kbd][data-size=sm]{--_size: var(--slotted-space-7, 1.25rem);--_font-size: var(--slotted-control-font-size-sm, 12px);--_inset-inline: var(--slotted-space-2, .25rem)}[data-ui-kbd][data-size=lg]{--_size: calc(var(--slotted-space-8, 1.5rem) + var(--slotted-space-2, .25rem));--_font-size: var(--slotted-control-font-size-lg, 14px);--_inset-inline: var(--slotted-space-4, .5rem);--_radius: var(--slotted-kbd-radius, var(--slotted-radius-lg, 8px))}[data-ui-kbd][data-size=inherit]{--_size: 1.5em;--_font-size: .8em;--_inset-inline: .4em;--_radius: var(--slotted-kbd-radius, .375em);--_gap: .25em}@supports (inline-size: round(nearest,1.5em,1px)){[data-ui-kbd][data-size=inherit]{--_size: round(nearest, 1.5em, 1px)}}[data-ui-kbd][data-variant=raised]{--_base-width: var(--slotted-kbd-base-width, var(--slotted-border-width-thick, 2px));--_face: linear-gradient( to bottom, var(--_background) 40%, color-mix(in oklab, var(--_background), var(--_base) 10%) )}[data-ui-kbd][data-variant=outline]{--_background: transparent;--_border: var(--slotted-border-strong, ButtonBorder);--_color: inherit}[data-ui-kbd][data-variant=soft]{--_background: var(--slotted-tone-secondary-surface);--_border: var(--slotted-tone-secondary-border);--_base: var(--slotted-tone-secondary-border);--_color: var(--slotted-tone-secondary-text)}[data-ui-kbd][data-variant=plain]{--_background: transparent;--_border: transparent;--_base: transparent;--_color: inherit}[data-ui-kbd][data-part-root][data-variant=plain]{min-inline-size:0;padding-inline:0}[data-ui-kbd][data-disabled]{--_background: var(--slotted-disabled-background, Canvas);--_face: none;--_border: var(--slotted-disabled-border, GrayText);--_base: var(--slotted-disabled-border, GrayText);--_color: var(--slotted-disabled-foreground, GrayText)}[data-ui-kbd][data-disabled] [data-part-separator]{color:var(--slotted-disabled-foreground, GrayText)}[data-ui-kbd][data-variant=outline][data-disabled],[data-ui-kbd][data-variant=plain][data-disabled]{--_background: transparent}[data-ui-kbd][data-variant=plain][data-disabled]{--_border: transparent;--_base: transparent}}\n"] }]
|
|
277
281
|
}], propDecorators: { keys: [{ type: i0.Input, args: [{ isSignal: true, alias: "keys", required: false }] }], platform: [{ type: i0.Input, args: [{ isSignal: true, alias: "platform", required: false }] }], size: [{ type: i0.Input, args: [{ isSignal: true, alias: "size", required: false }] }], variant: [{ type: i0.Input, args: [{ isSignal: true, alias: "variant", required: false }] }], disabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }], separator: [{ type: i0.Input, args: [{ isSignal: true, alias: "separator", required: false }] }], messages: [{ type: i0.Input, args: [{ isSignal: true, alias: "messages", required: false }] }], legends: [{ type: i0.Input, args: [{ isSignal: true, alias: "legends", required: false }] }], names: [{ type: i0.Input, args: [{ isSignal: true, alias: "names", required: false }] }] } });
|
|
278
282
|
|
|
279
283
|
/**
|