@slotted/angular 0.1.0-beta.1 → 0.1.0-beta.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +4 -0
- package/docs/AGENTS.snippet.md +12 -0
- package/docs/alert.json +7 -1
- package/docs/alert.md +3 -3
- package/docs/app-shell.examples.md +1 -1
- package/docs/app-shell.json +5 -5
- package/docs/app-shell.md +2 -2
- package/docs/avatar.json +22 -1
- package/docs/avatar.md +5 -3
- package/docs/badge.json +7 -1
- package/docs/badge.md +3 -3
- package/docs/button-group.json +2 -0
- package/docs/button-group.md +1 -1
- package/docs/button.json +51 -11
- package/docs/button.md +10 -6
- package/docs/calendar.json +8 -1
- package/docs/calendar.md +1 -0
- package/docs/cascader.json +1 -0
- package/docs/cascader.md +1 -1
- package/docs/chart.examples.md +1 -1
- package/docs/chart.json +10 -1
- package/docs/chart.md +3 -2
- package/docs/checkbox.json +7 -0
- package/docs/checkbox.md +1 -0
- package/docs/code-block.json +92 -92
- package/docs/code-block.md +69 -69
- package/docs/combobox.json +1 -0
- package/docs/combobox.md +1 -1
- package/docs/currency-field.json +40 -1
- package/docs/currency-field.md +5 -1
- package/docs/data-grid.examples.md +2 -2
- package/docs/data-grid.json +24 -7
- package/docs/data-grid.md +1 -1
- package/docs/data-grid.props.md +6 -4
- package/docs/data-list.json +2 -1
- package/docs/data-list.md +1 -1
- package/docs/date-field.json +9 -1
- package/docs/date-field.md +3 -2
- package/docs/date-picker.examples.md +36 -0
- package/docs/date-picker.json +20 -5
- package/docs/date-picker.md +5 -4
- package/docs/datetime-field.json +1 -0
- package/docs/datetime-field.md +1 -1
- package/docs/dialog.examples.md +158 -136
- package/docs/dialog.json +35 -11
- package/docs/dialog.md +4 -2
- package/docs/dialog.props.md +1 -1
- package/docs/drawer.json +5 -0
- package/docs/drawer.md +1 -0
- package/docs/entity-picker.json +19 -4
- package/docs/entity-picker.md +8 -6
- package/docs/event-calendar.json +7 -0
- package/docs/event-calendar.md +1 -0
- package/docs/filter-bar.json +118 -118
- package/docs/filter-bar.md +79 -79
- package/docs/form.json +2 -1
- package/docs/form.md +1 -1
- package/docs/guidelines/README.md +27 -0
- package/docs/guidelines/async-feedback.md +129 -0
- package/docs/guidelines/browsing.md +74 -0
- package/docs/guidelines/builders.md +97 -0
- package/docs/guidelines/composition.md +143 -0
- package/docs/guidelines/conversations.md +59 -0
- package/docs/guidelines/errors-and-conflicts.md +71 -0
- package/docs/guidelines/forms.md +202 -0
- package/docs/guidelines/index.md +129 -0
- package/docs/guidelines/layout-alignment.md +95 -0
- package/docs/guidelines/ledgers.md +45 -0
- package/docs/guidelines/list-pages.md +206 -0
- package/docs/guidelines/overviews.md +76 -0
- package/docs/guidelines/own-elements.md +115 -0
- package/docs/guidelines/reading-permissions.md +55 -0
- package/docs/guidelines/record-pages.md +178 -0
- package/docs/guidelines/reports.md +123 -0
- package/docs/guidelines/shell-composition.md +94 -0
- package/docs/guidelines/workspaces.md +46 -0
- package/docs/icon.json +3 -1
- package/docs/icon.md +3 -3
- package/docs/index.md +12 -0
- package/docs/inline-message.json +14 -2
- package/docs/inline-message.md +4 -3
- package/docs/list-item.json +9 -1
- package/docs/list-item.md +3 -3
- package/docs/list.json +19 -1
- package/docs/list.md +3 -1
- package/docs/markdown.json +79 -79
- package/docs/markdown.md +65 -65
- package/docs/menu.json +12 -0
- package/docs/menu.md +2 -0
- package/docs/message.json +7 -1
- package/docs/message.md +3 -3
- package/docs/multi-select.json +1 -0
- package/docs/multi-select.md +1 -1
- package/docs/notification-center.json +4 -0
- package/docs/notification-center.md +2 -2
- package/docs/number-field.json +1 -0
- package/docs/number-field.md +1 -1
- package/docs/otp-input.json +1 -0
- package/docs/otp-input.md +1 -1
- package/docs/page-header.json +4 -3
- package/docs/page-header.md +2 -2
- package/docs/page.json +1 -0
- package/docs/page.md +1 -0
- package/docs/popover.json +1 -1
- package/docs/progress-indicator.json +4 -3
- package/docs/progress-indicator.md +4 -4
- package/docs/prompt-composer.json +41 -1
- package/docs/prompt-composer.md +5 -1
- package/docs/rating.json +5 -3
- package/docs/rating.md +5 -5
- package/docs/section.json +27 -15
- package/docs/section.md +11 -9
- package/docs/segmented-control.json +36 -12
- package/docs/segmented-control.md +17 -1
- package/docs/select.json +1 -0
- package/docs/select.md +1 -1
- package/docs/side-navigation.json +1 -0
- package/docs/side-navigation.md +1 -1
- package/docs/skills/build-own-element/SKILL.md +90 -0
- package/docs/skills/compose-screen/SKILL.md +95 -0
- package/docs/skills/index.md +9 -0
- package/docs/skills/review-screen/SKILL.md +77 -0
- package/docs/skills/theme-app/SKILL.md +87 -0
- package/docs/skills/waiting-states/SKILL.md +143 -0
- package/docs/sparkline.json +5 -2
- package/docs/sparkline.md +4 -4
- package/docs/split-button.json +4 -1
- package/docs/split-button.md +3 -3
- package/docs/stat-card.json +5 -1
- package/docs/stat-card.md +3 -3
- package/docs/table.examples.md +3 -3
- package/docs/table.json +85 -3
- package/docs/table.md +12 -1
- package/docs/tabs.json +17 -7
- package/docs/tabs.md +3 -2
- package/docs/tag.json +14 -4
- package/docs/tag.md +6 -6
- package/docs/tags-input.json +29 -2
- package/docs/tags-input.md +4 -1
- package/docs/text-field.json +2 -1
- package/docs/text-field.md +2 -2
- package/docs/textarea.json +1 -0
- package/docs/textarea.md +1 -1
- package/docs/time-field.json +1 -0
- package/docs/time-field.md +1 -1
- package/docs/timeline.json +138 -132
- package/docs/timeline.md +125 -125
- package/docs/toast.json +7 -1
- package/docs/toast.md +3 -3
- package/docs/toggle-group.json +14 -3
- package/docs/toggle-group.md +3 -3
- package/docs/toggle.json +12 -3
- package/docs/toggle.md +3 -3
- package/docs/tokens.md +467 -0
- package/docs/tour.json +1 -1
- package/docs/typography.json +4 -2
- package/docs/typography.md +4 -4
- package/fesm2022/slotted-angular-accordion.mjs +4 -2
- package/fesm2022/slotted-angular-accordion.mjs.map +1 -1
- package/fesm2022/slotted-angular-action-bar.mjs +22 -11
- package/fesm2022/slotted-angular-action-bar.mjs.map +1 -1
- package/fesm2022/slotted-angular-action-sheet.mjs +42 -29
- package/fesm2022/slotted-angular-action-sheet.mjs.map +1 -1
- package/fesm2022/slotted-angular-alert.mjs +18 -11
- package/fesm2022/slotted-angular-alert.mjs.map +1 -1
- package/fesm2022/slotted-angular-app-shell.mjs +111 -61
- package/fesm2022/slotted-angular-app-shell.mjs.map +1 -1
- package/fesm2022/slotted-angular-aspect-ratio.mjs +4 -2
- package/fesm2022/slotted-angular-aspect-ratio.mjs.map +1 -1
- package/fesm2022/slotted-angular-attachment.mjs +31 -20
- package/fesm2022/slotted-angular-attachment.mjs.map +1 -1
- package/fesm2022/slotted-angular-avatar-group.mjs +9 -6
- package/fesm2022/slotted-angular-avatar-group.mjs.map +1 -1
- package/fesm2022/slotted-angular-avatar.mjs +14 -7
- package/fesm2022/slotted-angular-avatar.mjs.map +1 -1
- package/fesm2022/slotted-angular-badge.mjs +14 -10
- package/fesm2022/slotted-angular-badge.mjs.map +1 -1
- package/fesm2022/slotted-angular-breadcrumb.mjs +26 -18
- package/fesm2022/slotted-angular-breadcrumb.mjs.map +1 -1
- package/fesm2022/slotted-angular-button-group.mjs +7 -4
- package/fesm2022/slotted-angular-button-group.mjs.map +1 -1
- package/fesm2022/slotted-angular-button.mjs +90 -29
- package/fesm2022/slotted-angular-button.mjs.map +1 -1
- package/fesm2022/slotted-angular-calendar.mjs +235 -58
- package/fesm2022/slotted-angular-calendar.mjs.map +1 -1
- package/fesm2022/slotted-angular-card.mjs +18 -16
- package/fesm2022/slotted-angular-card.mjs.map +1 -1
- package/fesm2022/slotted-angular-carousel.mjs +22 -11
- package/fesm2022/slotted-angular-carousel.mjs.map +1 -1
- package/fesm2022/slotted-angular-cascader.mjs +166 -66
- package/fesm2022/slotted-angular-cascader.mjs.map +1 -1
- package/fesm2022/slotted-angular-chart.mjs +53 -20
- package/fesm2022/slotted-angular-chart.mjs.map +1 -1
- package/fesm2022/slotted-angular-checkbox-group.mjs +5 -3
- package/fesm2022/slotted-angular-checkbox-group.mjs.map +1 -1
- package/fesm2022/slotted-angular-checkbox.mjs +23 -9
- package/fesm2022/slotted-angular-checkbox.mjs.map +1 -1
- package/fesm2022/slotted-angular-code-block.mjs +29 -15
- package/fesm2022/slotted-angular-code-block.mjs.map +1 -1
- package/fesm2022/slotted-angular-collapsible.mjs +20 -15
- package/fesm2022/slotted-angular-collapsible.mjs.map +1 -1
- package/fesm2022/slotted-angular-color-picker.mjs +77 -22
- package/fesm2022/slotted-angular-color-picker.mjs.map +1 -1
- package/fesm2022/slotted-angular-column-manager.mjs +68 -31
- package/fesm2022/slotted-angular-column-manager.mjs.map +1 -1
- package/fesm2022/slotted-angular-combobox.mjs +112 -39
- package/fesm2022/slotted-angular-combobox.mjs.map +1 -1
- package/fesm2022/slotted-angular-command-palette.mjs +150 -54
- package/fesm2022/slotted-angular-command-palette.mjs.map +1 -1
- package/fesm2022/slotted-angular-container.mjs +6 -4
- package/fesm2022/slotted-angular-container.mjs.map +1 -1
- package/fesm2022/slotted-angular-context-menu.mjs +5 -4
- package/fesm2022/slotted-angular-context-menu.mjs.map +1 -1
- package/fesm2022/slotted-angular-currency-field.mjs +149 -32
- package/fesm2022/slotted-angular-currency-field.mjs.map +1 -1
- package/fesm2022/slotted-angular-dashboard-grid.mjs +142 -63
- package/fesm2022/slotted-angular-dashboard-grid.mjs.map +1 -1
- package/fesm2022/slotted-angular-data-grid.mjs +354 -113
- package/fesm2022/slotted-angular-data-grid.mjs.map +1 -1
- package/fesm2022/slotted-angular-data-list.mjs +83 -50
- package/fesm2022/slotted-angular-data-list.mjs.map +1 -1
- package/fesm2022/slotted-angular-date-field.mjs +74 -25
- package/fesm2022/slotted-angular-date-field.mjs.map +1 -1
- package/fesm2022/slotted-angular-date-picker.mjs +112 -40
- package/fesm2022/slotted-angular-date-picker.mjs.map +1 -1
- package/fesm2022/slotted-angular-date-range-picker.mjs +45 -22
- package/fesm2022/slotted-angular-date-range-picker.mjs.map +1 -1
- package/fesm2022/slotted-angular-datetime-field.mjs +48 -16
- package/fesm2022/slotted-angular-datetime-field.mjs.map +1 -1
- package/fesm2022/slotted-angular-datetime-picker.mjs +41 -29
- package/fesm2022/slotted-angular-datetime-picker.mjs.map +1 -1
- package/fesm2022/slotted-angular-datetime-range-picker.mjs +115 -48
- package/fesm2022/slotted-angular-datetime-range-picker.mjs.map +1 -1
- package/fesm2022/slotted-angular-description-list.mjs +33 -19
- package/fesm2022/slotted-angular-description-list.mjs.map +1 -1
- package/fesm2022/slotted-angular-detail-panel.mjs +29 -18
- package/fesm2022/slotted-angular-detail-panel.mjs.map +1 -1
- package/fesm2022/slotted-angular-dialog.mjs +72 -30
- package/fesm2022/slotted-angular-dialog.mjs.map +1 -1
- package/fesm2022/slotted-angular-divider.mjs +7 -5
- package/fesm2022/slotted-angular-divider.mjs.map +1 -1
- package/fesm2022/slotted-angular-drawer.mjs +53 -29
- package/fesm2022/slotted-angular-drawer.mjs.map +1 -1
- package/fesm2022/slotted-angular-entity-picker.mjs +468 -75
- package/fesm2022/slotted-angular-entity-picker.mjs.map +1 -1
- package/fesm2022/slotted-angular-event-calendar.mjs +275 -108
- package/fesm2022/slotted-angular-event-calendar.mjs.map +1 -1
- package/fesm2022/slotted-angular-field-group.mjs +14 -7
- package/fesm2022/slotted-angular-field-group.mjs.map +1 -1
- package/fesm2022/slotted-angular-field.mjs +35 -15
- package/fesm2022/slotted-angular-field.mjs.map +1 -1
- package/fesm2022/slotted-angular-filter-bar.mjs +112 -51
- package/fesm2022/slotted-angular-filter-bar.mjs.map +1 -1
- package/fesm2022/slotted-angular-form.mjs +18 -10
- package/fesm2022/slotted-angular-form.mjs.map +1 -1
- package/fesm2022/slotted-angular-fullscreen.mjs +14 -8
- package/fesm2022/slotted-angular-fullscreen.mjs.map +1 -1
- package/fesm2022/slotted-angular-grid.mjs +4 -2
- package/fesm2022/slotted-angular-grid.mjs.map +1 -1
- package/fesm2022/slotted-angular-highlight.mjs +5 -3
- package/fesm2022/slotted-angular-highlight.mjs.map +1 -1
- package/fesm2022/slotted-angular-hover-card.mjs +5 -4
- package/fesm2022/slotted-angular-hover-card.mjs.map +1 -1
- package/fesm2022/slotted-angular-icon.mjs +6 -3
- package/fesm2022/slotted-angular-icon.mjs.map +1 -1
- package/fesm2022/slotted-angular-image.mjs +13 -10
- package/fesm2022/slotted-angular-image.mjs.map +1 -1
- package/fesm2022/slotted-angular-import-export-center.mjs +167 -99
- package/fesm2022/slotted-angular-import-export-center.mjs.map +1 -1
- package/fesm2022/slotted-angular-inline-message.mjs +88 -13
- package/fesm2022/slotted-angular-inline-message.mjs.map +1 -1
- package/fesm2022/slotted-angular-inline.mjs +4 -2
- package/fesm2022/slotted-angular-inline.mjs.map +1 -1
- package/fesm2022/slotted-angular-kbd.mjs +11 -7
- package/fesm2022/slotted-angular-kbd.mjs.map +1 -1
- package/fesm2022/slotted-angular-link.mjs +5 -3
- package/fesm2022/slotted-angular-link.mjs.map +1 -1
- package/fesm2022/slotted-angular-list-item.mjs +21 -18
- package/fesm2022/slotted-angular-list-item.mjs.map +1 -1
- package/fesm2022/slotted-angular-list.mjs +37 -22
- package/fesm2022/slotted-angular-list.mjs.map +1 -1
- package/fesm2022/slotted-angular-listbox.mjs +39 -21
- package/fesm2022/slotted-angular-listbox.mjs.map +1 -1
- package/fesm2022/slotted-angular-loading-overlay.mjs +59 -22
- package/fesm2022/slotted-angular-loading-overlay.mjs.map +1 -1
- package/fesm2022/slotted-angular-markdown.mjs +31 -19
- package/fesm2022/slotted-angular-markdown.mjs.map +1 -1
- package/fesm2022/slotted-angular-menu.mjs +51 -29
- package/fesm2022/slotted-angular-menu.mjs.map +1 -1
- package/fesm2022/slotted-angular-menubar.mjs +4 -2
- package/fesm2022/slotted-angular-menubar.mjs.map +1 -1
- package/fesm2022/slotted-angular-message-scroller.mjs +28 -15
- package/fesm2022/slotted-angular-message-scroller.mjs.map +1 -1
- package/fesm2022/slotted-angular-message.mjs +113 -51
- package/fesm2022/slotted-angular-message.mjs.map +1 -1
- package/fesm2022/slotted-angular-multi-select.mjs +189 -87
- package/fesm2022/slotted-angular-multi-select.mjs.map +1 -1
- package/fesm2022/slotted-angular-navigation-menu.mjs +34 -26
- package/fesm2022/slotted-angular-navigation-menu.mjs.map +1 -1
- package/fesm2022/slotted-angular-notification-center.mjs +108 -65
- package/fesm2022/slotted-angular-notification-center.mjs.map +1 -1
- package/fesm2022/slotted-angular-number-field.mjs +23 -11
- package/fesm2022/slotted-angular-number-field.mjs.map +1 -1
- package/fesm2022/slotted-angular-otp-input.mjs +13 -8
- package/fesm2022/slotted-angular-otp-input.mjs.map +1 -1
- package/fesm2022/slotted-angular-page-header.mjs +75 -45
- package/fesm2022/slotted-angular-page-header.mjs.map +1 -1
- package/fesm2022/slotted-angular-page.mjs +38 -10
- package/fesm2022/slotted-angular-page.mjs.map +1 -1
- package/fesm2022/slotted-angular-pagination.mjs +35 -22
- package/fesm2022/slotted-angular-pagination.mjs.map +1 -1
- package/fesm2022/slotted-angular-popover.mjs +32 -19
- package/fesm2022/slotted-angular-popover.mjs.map +1 -1
- package/fesm2022/slotted-angular-progress-indicator.mjs +236 -52
- package/fesm2022/slotted-angular-progress-indicator.mjs.map +1 -1
- package/fesm2022/slotted-angular-prompt-composer.mjs +41 -20
- package/fesm2022/slotted-angular-prompt-composer.mjs.map +1 -1
- package/fesm2022/slotted-angular-prose.mjs +14 -11
- package/fesm2022/slotted-angular-prose.mjs.map +1 -1
- package/fesm2022/slotted-angular-radio-group.mjs +15 -9
- package/fesm2022/slotted-angular-radio-group.mjs.map +1 -1
- package/fesm2022/slotted-angular-rating.mjs +138 -82
- package/fesm2022/slotted-angular-rating.mjs.map +1 -1
- package/fesm2022/slotted-angular-result-state.mjs +16 -12
- package/fesm2022/slotted-angular-result-state.mjs.map +1 -1
- package/fesm2022/slotted-angular-saved-views.mjs +43 -16
- package/fesm2022/slotted-angular-saved-views.mjs.map +1 -1
- package/fesm2022/slotted-angular-scroll-area.mjs +13 -5
- package/fesm2022/slotted-angular-scroll-area.mjs.map +1 -1
- package/fesm2022/slotted-angular-section.mjs +53 -18
- package/fesm2022/slotted-angular-section.mjs.map +1 -1
- package/fesm2022/slotted-angular-segmented-control.mjs +37 -11
- package/fesm2022/slotted-angular-segmented-control.mjs.map +1 -1
- package/fesm2022/slotted-angular-select.mjs +184 -94
- package/fesm2022/slotted-angular-select.mjs.map +1 -1
- package/fesm2022/slotted-angular-side-navigation.mjs +46 -35
- package/fesm2022/slotted-angular-side-navigation.mjs.map +1 -1
- package/fesm2022/slotted-angular-skeleton.mjs +32 -16
- package/fesm2022/slotted-angular-skeleton.mjs.map +1 -1
- package/fesm2022/slotted-angular-slider.mjs +31 -11
- package/fesm2022/slotted-angular-slider.mjs.map +1 -1
- package/fesm2022/slotted-angular-sparkline.mjs +41 -14
- package/fesm2022/slotted-angular-sparkline.mjs.map +1 -1
- package/fesm2022/slotted-angular-split-button.mjs +25 -11
- package/fesm2022/slotted-angular-split-button.mjs.map +1 -1
- package/fesm2022/slotted-angular-splitter.mjs +11 -9
- package/fesm2022/slotted-angular-splitter.mjs.map +1 -1
- package/fesm2022/slotted-angular-stack.mjs +4 -2
- package/fesm2022/slotted-angular-stack.mjs.map +1 -1
- package/fesm2022/slotted-angular-stat-card.mjs +35 -28
- package/fesm2022/slotted-angular-stat-card.mjs.map +1 -1
- package/fesm2022/slotted-angular-status-indicator.mjs +22 -8
- package/fesm2022/slotted-angular-status-indicator.mjs.map +1 -1
- package/fesm2022/slotted-angular-stepper.mjs +40 -15
- package/fesm2022/slotted-angular-stepper.mjs.map +1 -1
- package/fesm2022/slotted-angular-switch.mjs +15 -10
- package/fesm2022/slotted-angular-switch.mjs.map +1 -1
- package/fesm2022/slotted-angular-table-of-contents.mjs +29 -21
- package/fesm2022/slotted-angular-table-of-contents.mjs.map +1 -1
- package/fesm2022/slotted-angular-table.mjs +243 -73
- package/fesm2022/slotted-angular-table.mjs.map +1 -1
- package/fesm2022/slotted-angular-tabs.mjs +42 -18
- package/fesm2022/slotted-angular-tabs.mjs.map +1 -1
- package/fesm2022/slotted-angular-tag.mjs +19 -12
- package/fesm2022/slotted-angular-tag.mjs.map +1 -1
- package/fesm2022/slotted-angular-tags-input.mjs +253 -28
- package/fesm2022/slotted-angular-tags-input.mjs.map +1 -1
- package/fesm2022/slotted-angular-text-field.mjs +49 -15
- package/fesm2022/slotted-angular-text-field.mjs.map +1 -1
- package/fesm2022/slotted-angular-textarea.mjs +5 -3
- package/fesm2022/slotted-angular-textarea.mjs.map +1 -1
- package/fesm2022/slotted-angular-time-field.mjs +48 -14
- package/fesm2022/slotted-angular-time-field.mjs.map +1 -1
- package/fesm2022/slotted-angular-time-picker.mjs +32 -20
- package/fesm2022/slotted-angular-time-picker.mjs.map +1 -1
- package/fesm2022/slotted-angular-time-range-picker.mjs +113 -46
- package/fesm2022/slotted-angular-time-range-picker.mjs.map +1 -1
- package/fesm2022/slotted-angular-timeline.mjs +135 -64
- package/fesm2022/slotted-angular-timeline.mjs.map +1 -1
- package/fesm2022/slotted-angular-toast.mjs +43 -31
- package/fesm2022/slotted-angular-toast.mjs.map +1 -1
- package/fesm2022/slotted-angular-toggle-group.mjs +25 -8
- package/fesm2022/slotted-angular-toggle-group.mjs.map +1 -1
- package/fesm2022/slotted-angular-toggle.mjs +9 -4
- package/fesm2022/slotted-angular-toggle.mjs.map +1 -1
- package/fesm2022/slotted-angular-toolbar.mjs +22 -11
- package/fesm2022/slotted-angular-toolbar.mjs.map +1 -1
- package/fesm2022/slotted-angular-tooltip.mjs +15 -6
- package/fesm2022/slotted-angular-tooltip.mjs.map +1 -1
- package/fesm2022/slotted-angular-top-navigation.mjs +64 -44
- package/fesm2022/slotted-angular-top-navigation.mjs.map +1 -1
- package/fesm2022/slotted-angular-tour.mjs +47 -22
- package/fesm2022/slotted-angular-tour.mjs.map +1 -1
- package/fesm2022/slotted-angular-transfer.mjs +69 -30
- package/fesm2022/slotted-angular-transfer.mjs.map +1 -1
- package/fesm2022/slotted-angular-tree.mjs +74 -26
- package/fesm2022/slotted-angular-tree.mjs.map +1 -1
- package/fesm2022/slotted-angular-typography.mjs +8 -4
- package/fesm2022/slotted-angular-typography.mjs.map +1 -1
- package/fesm2022/slotted-angular-upload.mjs +125 -57
- package/fesm2022/slotted-angular-upload.mjs.map +1 -1
- package/fesm2022/slotted-angular-visually-hidden.mjs +4 -2
- package/fesm2022/slotted-angular-visually-hidden.mjs.map +1 -1
- package/fesm2022/slotted-angular-wizard.mjs +163 -65
- package/fesm2022/slotted-angular-wizard.mjs.map +1 -1
- package/package.json +3 -3
- package/types/slotted-angular-accordion.d.ts.map +1 -1
- package/types/slotted-angular-action-bar.d.ts.map +1 -1
- package/types/slotted-angular-action-sheet.d.ts.map +1 -1
- package/types/slotted-angular-alert.d.ts +2 -2
- package/types/slotted-angular-alert.d.ts.map +1 -1
- package/types/slotted-angular-app-shell.d.ts +11 -3
- package/types/slotted-angular-app-shell.d.ts.map +1 -1
- package/types/slotted-angular-aspect-ratio.d.ts.map +1 -1
- package/types/slotted-angular-attachment.d.ts +1 -1
- package/types/slotted-angular-attachment.d.ts.map +1 -1
- package/types/slotted-angular-avatar-group.d.ts.map +1 -1
- package/types/slotted-angular-avatar.d.ts +11 -3
- package/types/slotted-angular-avatar.d.ts.map +1 -1
- package/types/slotted-angular-badge.d.ts +1 -1
- package/types/slotted-angular-badge.d.ts.map +1 -1
- package/types/slotted-angular-breadcrumb.d.ts.map +1 -1
- package/types/slotted-angular-button-group.d.ts +1 -1
- package/types/slotted-angular-button-group.d.ts.map +1 -1
- package/types/slotted-angular-button.d.ts +33 -13
- package/types/slotted-angular-button.d.ts.map +1 -1
- package/types/slotted-angular-calendar.d.ts +30 -2
- package/types/slotted-angular-calendar.d.ts.map +1 -1
- package/types/slotted-angular-card.d.ts.map +1 -1
- package/types/slotted-angular-carousel.d.ts.map +1 -1
- package/types/slotted-angular-cascader.d.ts.map +1 -1
- package/types/slotted-angular-chart.d.ts +10 -0
- package/types/slotted-angular-chart.d.ts.map +1 -1
- package/types/slotted-angular-checkbox-group.d.ts.map +1 -1
- package/types/slotted-angular-checkbox.d.ts +7 -1
- package/types/slotted-angular-checkbox.d.ts.map +1 -1
- package/types/slotted-angular-code-block.d.ts +1 -1
- package/types/slotted-angular-code-block.d.ts.map +1 -1
- package/types/slotted-angular-collapsible.d.ts +1 -1
- package/types/slotted-angular-collapsible.d.ts.map +1 -1
- package/types/slotted-angular-color-picker.d.ts.map +1 -1
- package/types/slotted-angular-column-manager.d.ts.map +1 -1
- package/types/slotted-angular-combobox.d.ts +5 -1
- package/types/slotted-angular-combobox.d.ts.map +1 -1
- package/types/slotted-angular-command-palette.d.ts +10 -1
- package/types/slotted-angular-command-palette.d.ts.map +1 -1
- package/types/slotted-angular-container.d.ts.map +1 -1
- package/types/slotted-angular-context-menu.d.ts.map +1 -1
- package/types/slotted-angular-currency-field.d.ts +63 -15
- package/types/slotted-angular-currency-field.d.ts.map +1 -1
- package/types/slotted-angular-dashboard-grid.d.ts.map +1 -1
- package/types/slotted-angular-data-grid.d.ts +49 -4
- package/types/slotted-angular-data-grid.d.ts.map +1 -1
- package/types/slotted-angular-data-list.d.ts.map +1 -1
- package/types/slotted-angular-date-field.d.ts +11 -1
- package/types/slotted-angular-date-field.d.ts.map +1 -1
- package/types/slotted-angular-date-picker.d.ts +38 -12
- package/types/slotted-angular-date-picker.d.ts.map +1 -1
- package/types/slotted-angular-date-range-picker.d.ts +0 -1
- package/types/slotted-angular-date-range-picker.d.ts.map +1 -1
- package/types/slotted-angular-datetime-field.d.ts.map +1 -1
- package/types/slotted-angular-datetime-picker.d.ts +0 -1
- package/types/slotted-angular-datetime-picker.d.ts.map +1 -1
- package/types/slotted-angular-datetime-range-picker.d.ts +0 -1
- package/types/slotted-angular-datetime-range-picker.d.ts.map +1 -1
- package/types/slotted-angular-description-list.d.ts.map +1 -1
- package/types/slotted-angular-detail-panel.d.ts.map +1 -1
- package/types/slotted-angular-dialog.d.ts +10 -3
- package/types/slotted-angular-dialog.d.ts.map +1 -1
- package/types/slotted-angular-divider.d.ts.map +1 -1
- package/types/slotted-angular-drawer.d.ts +7 -1
- package/types/slotted-angular-drawer.d.ts.map +1 -1
- package/types/slotted-angular-entity-picker.d.ts +63 -15
- package/types/slotted-angular-entity-picker.d.ts.map +1 -1
- package/types/slotted-angular-event-calendar.d.ts +9 -2
- package/types/slotted-angular-event-calendar.d.ts.map +1 -1
- package/types/slotted-angular-field-group.d.ts.map +1 -1
- package/types/slotted-angular-field.d.ts.map +1 -1
- package/types/slotted-angular-filter-bar.d.ts.map +1 -1
- package/types/slotted-angular-form.d.ts.map +1 -1
- package/types/slotted-angular-fullscreen.d.ts.map +1 -1
- package/types/slotted-angular-grid.d.ts.map +1 -1
- package/types/slotted-angular-highlight.d.ts.map +1 -1
- package/types/slotted-angular-hover-card.d.ts.map +1 -1
- package/types/slotted-angular-icon.d.ts +2 -2
- package/types/slotted-angular-icon.d.ts.map +1 -1
- package/types/slotted-angular-image.d.ts.map +1 -1
- package/types/slotted-angular-import-export-center.d.ts.map +1 -1
- package/types/slotted-angular-inline-message.d.ts +25 -25
- package/types/slotted-angular-inline-message.d.ts.map +1 -1
- package/types/slotted-angular-inline.d.ts.map +1 -1
- package/types/slotted-angular-kbd.d.ts.map +1 -1
- package/types/slotted-angular-link.d.ts.map +1 -1
- package/types/slotted-angular-list-item.d.ts +1 -1
- package/types/slotted-angular-list-item.d.ts.map +1 -1
- package/types/slotted-angular-list.d.ts +42 -27
- package/types/slotted-angular-list.d.ts.map +1 -1
- package/types/slotted-angular-listbox.d.ts.map +1 -1
- package/types/slotted-angular-loading-overlay.d.ts.map +1 -1
- package/types/slotted-angular-markdown.d.ts.map +1 -1
- package/types/slotted-angular-menu.d.ts +11 -2
- package/types/slotted-angular-menu.d.ts.map +1 -1
- package/types/slotted-angular-menubar.d.ts.map +1 -1
- package/types/slotted-angular-message-scroller.d.ts.map +1 -1
- package/types/slotted-angular-message.d.ts +1 -1
- package/types/slotted-angular-message.d.ts.map +1 -1
- package/types/slotted-angular-multi-select.d.ts +15 -1
- package/types/slotted-angular-multi-select.d.ts.map +1 -1
- package/types/slotted-angular-navigation-menu.d.ts.map +1 -1
- package/types/slotted-angular-notification-center.d.ts +1 -1
- package/types/slotted-angular-notification-center.d.ts.map +1 -1
- package/types/slotted-angular-number-field.d.ts.map +1 -1
- package/types/slotted-angular-otp-input.d.ts.map +1 -1
- package/types/slotted-angular-page-header.d.ts +4 -4
- package/types/slotted-angular-page-header.d.ts.map +1 -1
- package/types/slotted-angular-page.d.ts.map +1 -1
- package/types/slotted-angular-pagination.d.ts.map +1 -1
- package/types/slotted-angular-popover.d.ts.map +1 -1
- package/types/slotted-angular-progress-indicator.d.ts +8 -1
- package/types/slotted-angular-progress-indicator.d.ts.map +1 -1
- package/types/slotted-angular-prompt-composer.d.ts +11 -2
- package/types/slotted-angular-prompt-composer.d.ts.map +1 -1
- package/types/slotted-angular-prose.d.ts.map +1 -1
- package/types/slotted-angular-radio-group.d.ts.map +1 -1
- package/types/slotted-angular-rating.d.ts +1 -1
- package/types/slotted-angular-rating.d.ts.map +1 -1
- package/types/slotted-angular-result-state.d.ts.map +1 -1
- package/types/slotted-angular-saved-views.d.ts.map +1 -1
- package/types/slotted-angular-scroll-area.d.ts.map +1 -1
- package/types/slotted-angular-section.d.ts +11 -3
- package/types/slotted-angular-section.d.ts.map +1 -1
- package/types/slotted-angular-segmented-control.d.ts +15 -2
- package/types/slotted-angular-segmented-control.d.ts.map +1 -1
- package/types/slotted-angular-select.d.ts +12 -2
- package/types/slotted-angular-select.d.ts.map +1 -1
- package/types/slotted-angular-side-navigation.d.ts.map +1 -1
- package/types/slotted-angular-skeleton.d.ts.map +1 -1
- package/types/slotted-angular-slider.d.ts.map +1 -1
- package/types/slotted-angular-sparkline.d.ts +7 -1
- package/types/slotted-angular-sparkline.d.ts.map +1 -1
- package/types/slotted-angular-split-button.d.ts +2 -2
- package/types/slotted-angular-split-button.d.ts.map +1 -1
- package/types/slotted-angular-splitter.d.ts.map +1 -1
- package/types/slotted-angular-stack.d.ts.map +1 -1
- package/types/slotted-angular-stat-card.d.ts +1 -1
- package/types/slotted-angular-stat-card.d.ts.map +1 -1
- package/types/slotted-angular-status-indicator.d.ts +1 -1
- package/types/slotted-angular-status-indicator.d.ts.map +1 -1
- package/types/slotted-angular-stepper.d.ts +1 -1
- package/types/slotted-angular-stepper.d.ts.map +1 -1
- package/types/slotted-angular-switch.d.ts.map +1 -1
- package/types/slotted-angular-table-of-contents.d.ts.map +1 -1
- package/types/slotted-angular-table.d.ts +63 -6
- package/types/slotted-angular-table.d.ts.map +1 -1
- package/types/slotted-angular-tabs.d.ts +3 -4
- package/types/slotted-angular-tabs.d.ts.map +1 -1
- package/types/slotted-angular-tag.d.ts +1 -1
- package/types/slotted-angular-tag.d.ts.map +1 -1
- package/types/slotted-angular-tags-input.d.ts +33 -1
- package/types/slotted-angular-tags-input.d.ts.map +1 -1
- package/types/slotted-angular-text-field.d.ts.map +1 -1
- package/types/slotted-angular-textarea.d.ts.map +1 -1
- package/types/slotted-angular-theme.d.ts +1 -1
- package/types/slotted-angular-time-field.d.ts.map +1 -1
- package/types/slotted-angular-time-picker.d.ts +0 -1
- package/types/slotted-angular-time-picker.d.ts.map +1 -1
- package/types/slotted-angular-time-range-picker.d.ts +0 -1
- package/types/slotted-angular-time-range-picker.d.ts.map +1 -1
- package/types/slotted-angular-timeline.d.ts +1 -1
- package/types/slotted-angular-timeline.d.ts.map +1 -1
- package/types/slotted-angular-toast.d.ts +3 -3
- package/types/slotted-angular-toast.d.ts.map +1 -1
- package/types/slotted-angular-toggle-group.d.ts +8 -2
- package/types/slotted-angular-toggle-group.d.ts.map +1 -1
- package/types/slotted-angular-toggle.d.ts +1 -1
- package/types/slotted-angular-toggle.d.ts.map +1 -1
- package/types/slotted-angular-toolbar.d.ts.map +1 -1
- package/types/slotted-angular-tooltip.d.ts.map +1 -1
- package/types/slotted-angular-top-navigation.d.ts.map +1 -1
- package/types/slotted-angular-tour.d.ts.map +1 -1
- package/types/slotted-angular-transfer.d.ts.map +1 -1
- package/types/slotted-angular-tree.d.ts.map +1 -1
- package/types/slotted-angular-typography.d.ts +1 -1
- package/types/slotted-angular-typography.d.ts.map +1 -1
- package/types/slotted-angular-upload.d.ts +2 -2
- package/types/slotted-angular-upload.d.ts.map +1 -1
- package/types/slotted-angular-visually-hidden.d.ts.map +1 -1
- package/types/slotted-angular-wizard.d.ts.map +1 -1
|
@@ -122,13 +122,15 @@ class SlStatCard {
|
|
|
122
122
|
labelledBy = computed(() => this.ownLabel !== null ? null : (this.ownLabelledBy ?? this.labelId), /* @ts-ignore */
|
|
123
123
|
...(ngDevMode ? [{ debugName: "labelledBy" }] : /* istanbul ignore next */ []));
|
|
124
124
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.7", ngImport: i0, type: SlStatCard, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
125
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.1.7", type: SlStatCard, isStandalone: true, selector: "[slStatCard]", inputs: { size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, fill: { classPropertyName: "fill", publicName: "fill", isSignal: true, isRequired: false, transformFunction: null }, layout: { classPropertyName: "layout", publicName: "layout", isSignal: true, isRequired: false, transformFunction: null }, status: { classPropertyName: "status", publicName: "status", isSignal: true, isRequired: false, transformFunction: null }, loading: { classPropertyName: "loading", publicName: "loading", isSignal: true, isRequired: false, transformFunction: null }, goodWhen: { classPropertyName: "goodWhen", publicName: "goodWhen", isSignal: true, isRequired: false, transformFunction: null }, delta: { classPropertyName: "delta", publicName: "delta", isSignal: true, isRequired: false, transformFunction: null }, tone: { classPropertyName: "tone", publicName: "tone", isSignal: true, isRequired: false, transformFunction: null }, locale: { classPropertyName: "locale", publicName: "locale", isSignal: true, isRequired: false, transformFunction: null }, formatOptions: { classPropertyName: "formatOptions", publicName: "formatOptions", isSignal: true, isRequired: false, transformFunction: null }, messages: { classPropertyName: "messages", publicName: "messages", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "data-ui": "stat-card", "data-part": "root", "role": "group" }, properties: { "attr.aria-labelledby": "labelledBy()", "attr.aria-busy": "loading() ? \"true\" : null", "attr.data-size": "resolvedSize()", "attr.data-fill": "resolvedFill()", "attr.data-layout": "resolvedLayout()", "attr.data-status": "status()", "attr.data-good-when": "resolvedGoodWhen()", "attr.data-tone": "resolvedTone() ?? null", "attr.data-loading": "loading() ? \"\" : null" } }, exportAs: ["slStatCard"], ngImport: i0, template: '<div data-part="body"><ng-content /></div>', isInline: true, styles: ["@layer slotted.components{[data-ui=stat-card]{--_edge-width: var(--slotted-stat-card-border-width, var(--slotted-border-width-thin, 1px));--_radius: var(--slotted-stat-card-radius, var(--slotted-radius-lg, 8px));--_inset-block: var(--slotted-stat-card-padding-block, var(--slotted-space-6, 1rem));--_inset-inline: var(--slotted-stat-card-padding-inline, var(--slotted-space-6, 1rem));--_region-gap: var(--slotted-stat-card-region-gap, var(--slotted-space-3, .375rem));--_trend-gap: var(--slotted-stat-card-trend-gap, var(--slotted-space-6, 1rem));--_trend-size: var( --slotted-stat-card-trend-inline-size, calc(var(--slotted-space-12, 4rem) * 1.5) );--_surface: var(--slotted-stat-card-background, var(--slotted-surface-raised, Canvas));--_edge: var(--slotted-stat-card-border-color, var(--slotted-border-subtle, ButtonBorder));--_shadow: var(--slotted-stat-card-shadow, none);--_ink: var(--slotted-stat-card-color, var(--slotted-text, CanvasText));--_ink-muted: var(--slotted-stat-card-color-muted, var(--slotted-text-muted, GrayText));--_value-size: var(--slotted-stat-card-value-font-size, var(--slotted-font-size-3xl, 1.5rem));--_value-line: var(--slotted-stat-card-value-line-height, var(--slotted-line-height-3xl, 1.3));--_label-size: var(--slotted-stat-card-label-font-size, var(--slotted-font-size-sm, .8125rem));--_label-line: var(--slotted-stat-card-label-line-height, var(--slotted-line-height-sm, 1.45));--_delta-size: var(--slotted-stat-card-delta-font-size, var(--slotted-font-size-sm, .8125rem));--_prose-size: var(--slotted-stat-card-prose-font-size, var(--slotted-font-size-xs, .75rem));--_prose-line: var(--slotted-stat-card-prose-line-height, var(--slotted-line-height-xs, 1.4));--_indicator-size: var( --slotted-stat-card-indicator-size, var(--slotted-control-icon-size-sm, 14px) );--_value-size-narrow: var(--slotted-font-size-2xl, 1.25rem);--_value-line-narrow: var(--slotted-line-height-2xl, 1.4);--_tone-text: var(--_ink-muted);background-color:var(--_surface);border:none;border-radius:var(--_radius);box-shadow:var(--_shadow);box-sizing:border-box;color:var(--_ink);container-name:stat-card;container-type:inline-size;display:flex;flex-direction:column;font-family:var(--slotted-font-family-sans, ui-sans-serif, system-ui, sans-serif);min-inline-size:var( --slotted-stat-card-min-inline-size, calc(var(--slotted-space-12, 4rem) * 2.5) );padding-block:var(--_inset-block);padding-inline:var(--_inset-inline);position:relative}[data-ui=stat-card]:before{border:var(--_edge-width) solid var(--_edge);border-radius:inherit;content:\"\";inset:0;pointer-events:none;position:absolute}[data-ui=stat-card][data-size=sm]{--_inset-block: var(--slotted-stat-card-padding-block-sm, var(--slotted-space-5, .75rem));--_inset-inline: var(--slotted-stat-card-padding-inline-sm, var(--slotted-space-5, .75rem));--_region-gap: var(--slotted-stat-card-region-gap-sm, var(--slotted-space-2, .25rem));--_trend-gap: var(--slotted-stat-card-trend-gap-sm, var(--slotted-space-5, .75rem));--_trend-size: var(--slotted-stat-card-trend-inline-size-sm, var(--slotted-space-12, 4rem));--_value-size: var( --slotted-stat-card-value-font-size-sm, var(--slotted-font-size-2xl, 1.25rem) );--_value-line: var( --slotted-stat-card-value-line-height-sm, var(--slotted-line-height-2xl, 1.4) );--_label-size: var( --slotted-stat-card-label-font-size-sm, var(--slotted-font-size-xs, .75rem) );--_label-line: var( --slotted-stat-card-label-line-height-sm, var(--slotted-line-height-xs, 1.4) );--_delta-size: var( --slotted-stat-card-delta-font-size-sm, var(--slotted-font-size-xs, .75rem) );--_value-size-narrow: var(--slotted-font-size-xl, 1.125rem);--_value-line-narrow: var(--slotted-line-height-xl, 1.45)}[data-ui=stat-card][data-size=lg]{--_inset-block: var(--slotted-stat-card-padding-block-lg, var(--slotted-space-8, 1.5rem));--_inset-inline: var(--slotted-stat-card-padding-inline-lg, var(--slotted-space-8, 1.5rem));--_region-gap: var(--slotted-stat-card-region-gap-lg, var(--slotted-space-4, .5rem));--_trend-gap: var(--slotted-stat-card-trend-gap-lg, var(--slotted-space-8, 1.5rem));--_trend-size: var( --slotted-stat-card-trend-inline-size-lg, calc(var(--slotted-space-12, 4rem) * 2) );--_value-size: var(--slotted-stat-card-value-font-size-lg, var(--slotted-font-size-4xl, 2rem));--_value-line: var( --slotted-stat-card-value-line-height-lg, var(--slotted-line-height-4xl, 1.2) );--_label-size: var( --slotted-stat-card-label-font-size-lg, var(--slotted-font-size-md, .875rem) );--_label-line: var( --slotted-stat-card-label-line-height-lg, var(--slotted-line-height-md, 1.5) );--_delta-size: var( --slotted-stat-card-delta-font-size-lg, var(--slotted-font-size-md, .875rem) );--_prose-size: var( --slotted-stat-card-prose-font-size-lg, var(--slotted-font-size-sm, .8125rem) );--_prose-line: var( --slotted-stat-card-prose-line-height-lg, var(--slotted-line-height-sm, 1.45) );--_indicator-size: var( --slotted-stat-card-indicator-size-lg, var(--slotted-control-icon-size-md, 16px) );--_value-size-narrow: var(--slotted-font-size-3xl, 1.5rem);--_value-line-narrow: var(--slotted-line-height-3xl, 1.3)}[data-ui=stat-card][data-fill=elevated]{--_shadow: var(--slotted-stat-card-shadow-elevated, var(--slotted-shadow-md))}[data-ui=stat-card][data-fill=subtle]{--_surface: var(--slotted-stat-card-background-subtle, var(--slotted-surface-sunken, Canvas))}[data-ui=stat-card][data-fill=plain]{--_surface: transparent;--_edge: transparent;--_shadow: none;--_inset-block: 0;--_inset-inline: 0;--_radius: var(--slotted-radius-none, 0px)}[data-ui=stat-card] [data-part=body]{column-gap:var(--_trend-gap);display:grid;flex:1 1 auto;grid-template-areas:\"header header\" \"figure trend\" \"message message\";grid-template-columns:minmax(min-content,1fr) minmax(0,var(--_trend-size));grid-template-rows:auto minmax(0,1fr) auto;min-inline-size:0;row-gap:var(--_region-gap)}[data-ui=stat-card][data-layout=stacked] [data-part=body]{grid-template-areas:\"header\" \"figure\" \"trend\" \"message\";grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(0,1fr) auto auto}[data-ui=stat-card] [data-part=header]{contain:inline-size;grid-area:header}[data-ui=stat-card] [data-part=figure]{align-self:start;grid-area:figure;min-inline-size:0}[data-ui=stat-card] [data-part=trend]{--slotted-sparkline-ring-color: var(--_surface);align-self:center;container-name:stat-card-trend;container-type:inline-size;grid-area:trend;inline-size:100%;min-inline-size:0}@container stat-card-trend (max-width: 39px){[data-ui=stat-card] [data-part=trend]>*{visibility:hidden}}[data-ui=stat-card][data-layout=stacked] [data-part=trend]{align-self:end;margin-block-start:var(--slotted-space-2, .25rem)}[data-ui=stat-card] [data-part=message]{contain:inline-size;grid-area:message}@container stat-card (max-width: 219px){[data-ui=stat-card] [data-part=body]{grid-template-areas:\"header\" \"figure\" \"trend\" \"message\";grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(0,1fr) auto auto}[data-ui=stat-card] [data-part=trend]{align-self:end;margin-block-start:var(--slotted-space-2, .25rem)}[data-ui=stat-card] [data-part=value]{font-size:var(--_value-size-narrow);line-height:var(--_value-line-narrow)}[data-ui=stat-card][data-loading] [data-part=value]{min-block-size:calc(var(--_value-size-narrow) * var(--_value-line-narrow))}}[data-ui=stat-card] [data-part=header]{align-items:baseline;column-gap:var(--slotted-space-3, .375rem);display:flex;flex-wrap:wrap;min-inline-size:0;row-gap:var(--slotted-space-2, .25rem)}[data-ui=stat-card] [data-part=label]{color:var(--_ink-muted);flex:1 1 0%;font-size:var(--_label-size);font-weight:var(--slotted-font-weight-medium, 500);line-height:var(--_label-line);margin:0;min-inline-size:min(100%,10rem);overflow-wrap:break-word}[data-ui=stat-card] [data-part=status]{display:inline-flex;flex:none}[data-ui=stat-card] [data-part=action]{flex:none;font-size:var(--_label-size);line-height:var(--_label-line);margin-inline-start:auto}[data-ui=stat-card] [data-part=figure]{align-items:baseline;column-gap:var(--slotted-space-3, .375rem);display:flex;flex-wrap:wrap;row-gap:0}[data-ui=stat-card] [data-part=comparison]{contain:inline-size;flex:1 1 100%}[data-ui=stat-card] [data-part=value]{align-items:baseline;color:var(--_ink);display:inline-flex;flex-wrap:wrap;gap:.15em;font-size:var(--_value-size);font-variant-numeric:proportional-nums;font-weight:var(--slotted-font-weight-semibold, 600);letter-spacing:-.02em;unicode-bidi:plaintext;line-height:var(--_value-line);margin:0;min-inline-size:0;overflow-wrap:break-word}[data-ui=stat-card] [data-part=unit]{color:var(--_ink-muted);font-size:var(--_delta-size);font-weight:var(--slotted-font-weight-medium, 500);letter-spacing:0}[data-ui=stat-card] [data-part=delta]{align-items:center;color:var(--_tone-text);column-gap:var(--slotted-space-1, .125rem);display:inline-flex;font-size:var(--_delta-size);font-variant-numeric:tabular-nums;font-weight:var(--slotted-font-weight-semibold, 600);line-height:1;unicode-bidi:plaintext;white-space:nowrap}[data-ui=stat-card] [data-part=delta][data-tone=neutral]{--_tone-text: var(--_ink-muted)}[data-ui=stat-card] [data-part=delta][data-tone=accent]{--_tone-text: var(--slotted-tone-accent-text)}[data-ui=stat-card] [data-part=delta][data-tone=secondary]{--_tone-text: var(--slotted-tone-secondary-text)}[data-ui=stat-card] [data-part=delta][data-tone=success]{--_tone-text: var(--slotted-tone-success-text)}[data-ui=stat-card] [data-part=delta][data-tone=warning]{--_tone-text: var(--slotted-tone-warning-text)}[data-ui=stat-card] [data-part=delta][data-tone=danger]{--_tone-text: var(--slotted-tone-danger-text)}[data-ui=stat-card] [data-part=indicator]{--slotted-icon-size: var(--_indicator-size);display:inline-flex;flex:none}[data-ui=stat-card] [data-part=delta][data-trend=down] [data-part=indicator]>[data-ui=icon]{rotate:x 180deg}[data-ui=stat-card] [data-part=comparison]{color:var(--_ink-muted);font-size:var(--_prose-size);line-height:var(--_prose-line);margin-block-start:var(--_region-gap);margin:0;min-inline-size:0;overflow-wrap:anywhere}[data-ui=stat-card] [data-part=period]{color:var(--_ink-muted)}[data-ui=stat-card] [data-part=trend]{align-self:center;display:flex}[data-ui=stat-card][data-tone=success] [data-part=trend]{--slotted-sparkline-color: var(--slotted-tone-success-text)}[data-ui=stat-card][data-tone=danger] [data-part=trend]{--slotted-sparkline-color: var(--slotted-tone-danger-text)}[data-ui=stat-card][data-tone=warning] [data-part=trend]{--slotted-sparkline-color: var(--slotted-tone-warning-text)}[data-ui=stat-card][data-tone=accent] [data-part=trend]{--slotted-sparkline-color: var(--slotted-tone-accent-text)}[data-ui=stat-card][data-tone=secondary] [data-part=trend]{--slotted-sparkline-color: var(--slotted-tone-secondary-text)}[data-ui=stat-card][data-fill=plain] [data-part=trend]{--slotted-sparkline-ring-color: var(--slotted-surface-raised, Canvas)}[data-ui=stat-card] [data-part=message]{color:var(--_ink-muted);font-size:var(--_prose-size);line-height:var(--_prose-line);margin:0;min-inline-size:0;overflow-wrap:anywhere}[data-ui=stat-card][data-status=error] [data-part=message]{color:var(--slotted-tone-danger-text)}[data-ui=stat-card][data-status=empty] [data-part=value],[data-ui=stat-card][data-status=error] [data-part=value]{color:var(--_ink-muted)}[data-ui=stat-card][data-loading] [data-part=value]{min-block-size:calc(var(--_value-size) * var(--_value-line))}[data-ui=stat-card][data-loading] [data-part=trend]{--slotted-skeleton-block-size: var( --slotted-sparkline-block-size, var(--slotted-space-9, 2rem) )}[data-ui=stat-card][data-loading][data-size=sm] [data-part=trend]{--slotted-skeleton-block-size: var( --slotted-sparkline-block-size-sm, var(--slotted-space-7, 1.25rem) )}[data-ui=stat-card][data-loading][data-size=lg] [data-part=trend]{--slotted-skeleton-block-size: var( --slotted-sparkline-block-size-lg, var(--slotted-space-11, 3rem) )}}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
125
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.1.7", type: SlStatCard, isStandalone: true, selector: "[slStatCard]", inputs: { size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, fill: { classPropertyName: "fill", publicName: "fill", isSignal: true, isRequired: false, transformFunction: null }, layout: { classPropertyName: "layout", publicName: "layout", isSignal: true, isRequired: false, transformFunction: null }, status: { classPropertyName: "status", publicName: "status", isSignal: true, isRequired: false, transformFunction: null }, loading: { classPropertyName: "loading", publicName: "loading", isSignal: true, isRequired: false, transformFunction: null }, goodWhen: { classPropertyName: "goodWhen", publicName: "goodWhen", isSignal: true, isRequired: false, transformFunction: null }, delta: { classPropertyName: "delta", publicName: "delta", isSignal: true, isRequired: false, transformFunction: null }, tone: { classPropertyName: "tone", publicName: "tone", isSignal: true, isRequired: false, transformFunction: null }, locale: { classPropertyName: "locale", publicName: "locale", isSignal: true, isRequired: false, transformFunction: null }, formatOptions: { classPropertyName: "formatOptions", publicName: "formatOptions", isSignal: true, isRequired: false, transformFunction: null }, messages: { classPropertyName: "messages", publicName: "messages", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "data-ui": "stat-card", "data-ui-stat-card": "", "data-part": "root", "data-part-root": "", "role": "group" }, properties: { "attr.aria-labelledby": "labelledBy()", "attr.aria-busy": "loading() ? \"true\" : null", "attr.data-size": "resolvedSize()", "attr.data-fill": "resolvedFill()", "attr.data-layout": "resolvedLayout()", "attr.data-status": "status()", "attr.data-good-when": "resolvedGoodWhen()", "attr.data-tone": "resolvedTone() ?? null", "attr.data-loading": "loading() ? \"\" : null" } }, exportAs: ["slStatCard"], ngImport: i0, template: '<div data-part="body" data-part-body=""><ng-content /></div>', isInline: true, styles: ["@layer slotted.components{[data-ui-stat-card]{--_edge-width: var(--slotted-stat-card-border-width, var(--slotted-border-width-thin, 1px));--_radius: var(--slotted-stat-card-radius, var(--slotted-radius-lg, 8px));--_inset-block: var(--slotted-stat-card-padding-block, var(--slotted-space-6, 1rem));--_inset-inline: var(--slotted-stat-card-padding-inline, var(--slotted-space-6, 1rem));--_region-gap: var(--slotted-stat-card-region-gap, var(--slotted-space-3, .375rem));--_trend-gap: var(--slotted-stat-card-trend-gap, var(--slotted-space-6, 1rem));--_trend-size: var( --slotted-stat-card-trend-inline-size, calc(var(--slotted-space-12, 4rem) * 1.5) );--_surface: var(--slotted-stat-card-background, var(--slotted-surface-raised, Canvas));--_edge: var(--slotted-stat-card-border-color, var(--slotted-border-subtle, ButtonBorder));--_shadow: var(--slotted-stat-card-shadow, none);--_ink: var(--slotted-stat-card-color, var(--slotted-text, CanvasText));--_ink-muted: var(--slotted-stat-card-color-muted, var(--slotted-text-muted, GrayText));--_value-size: var(--slotted-stat-card-value-font-size, var(--slotted-font-size-3xl, 1.5rem));--_value-line: var(--slotted-stat-card-value-line-height, var(--slotted-line-height-3xl, 1.3));--_label-size: var(--slotted-stat-card-label-font-size, var(--slotted-font-size-sm, .8125rem));--_label-line: var(--slotted-stat-card-label-line-height, var(--slotted-line-height-sm, 1.45));--_delta-size: var(--slotted-stat-card-delta-font-size, var(--slotted-font-size-sm, .8125rem));--_prose-size: var(--slotted-stat-card-prose-font-size, var(--slotted-font-size-xs, .75rem));--_prose-line: var(--slotted-stat-card-prose-line-height, var(--slotted-line-height-xs, 1.4));--_indicator-size: var( --slotted-stat-card-indicator-size, var(--slotted-control-icon-size-sm, 14px) );--_value-size-narrow: var(--slotted-font-size-2xl, 1.25rem);--_value-line-narrow: var(--slotted-line-height-2xl, 1.4);--_tone-text: var(--_ink-muted);background-color:var(--_surface);border:none;border-radius:var(--_radius);box-shadow:var(--_shadow);box-sizing:border-box;color:var(--_ink);container-name:stat-card;container-type:inline-size;display:flex;flex-direction:column;font-family:var(--slotted-font-family-sans, ui-sans-serif, system-ui, sans-serif);min-inline-size:var( --slotted-stat-card-min-inline-size, calc(var(--slotted-space-12, 4rem) * 2.5) );padding-block:var(--_inset-block);padding-inline:var(--_inset-inline);position:relative}[data-ui-stat-card]:before{border:var(--_edge-width) solid var(--_edge);border-radius:inherit;content:\"\";inset:0;pointer-events:none;position:absolute}[data-ui-stat-card][data-size=sm]{--_inset-block: var(--slotted-stat-card-padding-block-sm, var(--slotted-space-5, .75rem));--_inset-inline: var(--slotted-stat-card-padding-inline-sm, var(--slotted-space-5, .75rem));--_region-gap: var(--slotted-stat-card-region-gap-sm, var(--slotted-space-2, .25rem));--_trend-gap: var(--slotted-stat-card-trend-gap-sm, var(--slotted-space-5, .75rem));--_trend-size: var(--slotted-stat-card-trend-inline-size-sm, var(--slotted-space-12, 4rem));--_value-size: var( --slotted-stat-card-value-font-size-sm, var(--slotted-font-size-2xl, 1.25rem) );--_value-line: var( --slotted-stat-card-value-line-height-sm, var(--slotted-line-height-2xl, 1.4) );--_label-size: var( --slotted-stat-card-label-font-size-sm, var(--slotted-font-size-xs, .75rem) );--_label-line: var( --slotted-stat-card-label-line-height-sm, var(--slotted-line-height-xs, 1.4) );--_delta-size: var( --slotted-stat-card-delta-font-size-sm, var(--slotted-font-size-xs, .75rem) );--_value-size-narrow: var(--slotted-font-size-xl, 1.125rem);--_value-line-narrow: var(--slotted-line-height-xl, 1.45)}[data-ui-stat-card][data-size=lg]{--_inset-block: var(--slotted-stat-card-padding-block-lg, var(--slotted-space-8, 1.5rem));--_inset-inline: var(--slotted-stat-card-padding-inline-lg, var(--slotted-space-8, 1.5rem));--_region-gap: var(--slotted-stat-card-region-gap-lg, var(--slotted-space-4, .5rem));--_trend-gap: var(--slotted-stat-card-trend-gap-lg, var(--slotted-space-8, 1.5rem));--_trend-size: var( --slotted-stat-card-trend-inline-size-lg, calc(var(--slotted-space-12, 4rem) * 2) );--_value-size: var(--slotted-stat-card-value-font-size-lg, var(--slotted-font-size-4xl, 2rem));--_value-line: var( --slotted-stat-card-value-line-height-lg, var(--slotted-line-height-4xl, 1.2) );--_label-size: var( --slotted-stat-card-label-font-size-lg, var(--slotted-font-size-md, .875rem) );--_label-line: var( --slotted-stat-card-label-line-height-lg, var(--slotted-line-height-md, 1.5) );--_delta-size: var( --slotted-stat-card-delta-font-size-lg, var(--slotted-font-size-md, .875rem) );--_prose-size: var( --slotted-stat-card-prose-font-size-lg, var(--slotted-font-size-sm, .8125rem) );--_prose-line: var( --slotted-stat-card-prose-line-height-lg, var(--slotted-line-height-sm, 1.45) );--_indicator-size: var( --slotted-stat-card-indicator-size-lg, var(--slotted-control-icon-size-md, 16px) );--_value-size-narrow: var(--slotted-font-size-3xl, 1.5rem);--_value-line-narrow: var(--slotted-line-height-3xl, 1.3)}[data-ui-stat-card][data-fill=elevated]{--_shadow: var(--slotted-stat-card-shadow-elevated, var(--slotted-shadow-md))}[data-ui-stat-card][data-fill=subtle]{--_surface: var(--slotted-stat-card-background-subtle, var(--slotted-surface-sunken, Canvas))}[data-ui-stat-card][data-fill=plain]{--_surface: transparent;--_edge: transparent;--_shadow: none;--_inset-block: 0;--_inset-inline: 0;--_radius: var(--slotted-radius-none, 0px)}@scope([data-ui-stat-card])to (:scope [data-ui]>*){:scope [data-part-body]{column-gap:var(--_trend-gap);display:grid;flex:1 1 auto;grid-template-areas:\"header header\" \"figure trend\" \"message message\";grid-template-columns:minmax(min-content,1fr) minmax(0,var(--_trend-size));grid-template-rows:auto minmax(0,1fr) auto;min-inline-size:0;row-gap:var(--_region-gap)}}@scope([data-ui-stat-card])to (:scope [data-ui]>*){:scope[data-layout=stacked] [data-part-body]{grid-template-areas:\"header\" \"figure\" \"trend\" \"message\";grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(0,1fr) auto auto}}@scope([data-ui-stat-card])to (:scope [data-ui]>*){:scope [data-part-header]{contain:inline-size;grid-area:header}}@scope([data-ui-stat-card])to (:scope [data-ui]>*){:scope [data-part-figure]{align-self:start;grid-area:figure;min-inline-size:0}}@scope([data-ui-stat-card])to (:scope [data-ui]>*){:scope [data-part-trend]{--slotted-sparkline-ring-color: var(--_surface);align-self:center;container-name:stat-card-trend;container-type:inline-size;grid-area:trend;inline-size:100%;min-inline-size:0}}@container stat-card-trend (max-width: 39px){@scope([data-ui-stat-card])to (:scope [data-ui]>*){:scope [data-part-trend]>*{visibility:hidden}}}@scope([data-ui-stat-card])to (:scope [data-ui]>*){:scope[data-layout=stacked] [data-part-trend]{align-self:end;margin-block-start:var(--slotted-space-2, .25rem)}}@scope([data-ui-stat-card])to (:scope [data-ui]>*){:scope [data-part-message]{contain:inline-size;grid-area:message}}@container stat-card (max-width: 219px){@scope([data-ui-stat-card])to (:scope [data-ui]>*){:scope [data-part-body]{grid-template-areas:\"header\" \"figure\" \"trend\" \"message\";grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(0,1fr) auto auto}}@scope([data-ui-stat-card])to (:scope [data-ui]>*){:scope [data-part-trend]{align-self:end;margin-block-start:var(--slotted-space-2, .25rem)}}@scope([data-ui-stat-card])to (:scope [data-ui]>*){:scope [data-part-value]{font-size:var(--_value-size-narrow);line-height:var(--_value-line-narrow)}}@scope([data-ui-stat-card])to (:scope [data-ui]>*){:scope[data-loading] [data-part-value]{min-block-size:calc(var(--_value-size-narrow) * var(--_value-line-narrow))}}}@scope([data-ui-stat-card])to (:scope [data-ui]>*){:scope [data-part-header]{align-items:baseline;column-gap:var(--slotted-space-3, .375rem);display:flex;flex-wrap:wrap;min-inline-size:0;row-gap:var(--slotted-space-2, .25rem)}}@scope([data-ui-stat-card])to (:scope [data-ui]>*){:scope [data-part-label]{color:var(--_ink-muted);flex:1 1 0%;font-size:var(--_label-size);font-weight:var(--slotted-font-weight-medium, 500);line-height:var(--_label-line);margin:0;min-inline-size:min(100%,10rem);overflow-wrap:break-word}}@scope([data-ui-stat-card])to (:scope [data-ui]>*){:scope [data-part-status]{display:inline-flex;flex:none}}@scope([data-ui-stat-card])to (:scope [data-ui]>*){:scope [data-part-action]{flex:none;font-size:var(--_label-size);line-height:var(--_label-line);margin-inline-start:auto}}@media(pointer:coarse){@scope([data-ui-stat-card])to (:scope [data-ui]>*){:scope :is([data-part-action]:is(a,button),[data-part-action]>:is(a,button)){position:relative}}@scope([data-ui-stat-card])to (:scope [data-ui]>*){:scope :is([data-part-action]:is(a,button),[data-part-action]>:is(a,button)):before{content:\"\";inset:min(0px,calc((100% - var(--slotted-target-comfortable, 44px)) / 2));position:absolute}}}@scope([data-ui-stat-card])to (:scope [data-ui]>*){:scope [data-part-figure]{align-items:baseline;column-gap:var(--slotted-space-3, .375rem);display:flex;flex-wrap:wrap;row-gap:0}}@scope([data-ui-stat-card])to (:scope [data-ui]>*){:scope [data-part-comparison]{contain:inline-size;flex:1 1 100%}}@scope([data-ui-stat-card])to (:scope [data-ui]>*){:scope [data-part-value]{align-items:baseline;color:var(--_ink);display:inline-flex;flex-wrap:wrap;gap:.15em;font-size:var(--_value-size);font-variant-numeric:proportional-nums;font-weight:var(--slotted-font-weight-semibold, 600);letter-spacing:var(--slotted-letter-spacing-tighter, -.03em);unicode-bidi:plaintext;line-height:var(--_value-line);margin:0;min-inline-size:0;overflow-wrap:break-word}}@scope([data-ui-stat-card])to (:scope [data-ui]>*){:scope [data-part-unit]{color:var(--_ink-muted);font-size:var(--_delta-size);font-weight:var(--slotted-font-weight-medium, 500);letter-spacing:0}}@scope([data-ui-stat-card])to (:scope [data-ui]>*){:scope [data-part-delta]{align-items:center;color:var(--_tone-text);column-gap:var(--slotted-space-1, .125rem);display:inline-flex;font-size:var(--_delta-size);font-variant-numeric:tabular-nums;font-weight:var(--slotted-font-weight-semibold, 600);line-height:1;unicode-bidi:plaintext;white-space:nowrap}}@scope([data-ui-stat-card])to (:scope [data-ui]>*){:scope [data-part-delta][data-tone=neutral]{--_tone-text: var(--_ink-muted)}}@scope([data-ui-stat-card])to (:scope [data-ui]>*){:scope [data-part-delta][data-tone=accent]{--_tone-text: var(--slotted-tone-accent-text)}}@scope([data-ui-stat-card])to (:scope [data-ui]>*){:scope [data-part-delta][data-tone=secondary]{--_tone-text: var(--slotted-tone-secondary-text)}}@scope([data-ui-stat-card])to (:scope [data-ui]>*){:scope [data-part-delta][data-tone=success]{--_tone-text: var(--slotted-tone-success-text)}:scope [data-part-delta][data-tone=info]{--_tone-text: var(--slotted-tone-info-text)}}@scope([data-ui-stat-card])to (:scope [data-ui]>*){:scope [data-part-delta][data-tone=warning]{--_tone-text: var(--slotted-tone-warning-text)}}@scope([data-ui-stat-card])to (:scope [data-ui]>*){:scope [data-part-delta][data-tone=danger]{--_tone-text: var(--slotted-tone-danger-text)}}@scope([data-ui-stat-card])to (:scope [data-ui]>*){:scope [data-part-indicator]{--slotted-icon-size: var(--_indicator-size);display:inline-flex;flex:none}}@scope([data-ui-stat-card])to (:scope [data-ui]>*){:scope [data-part-delta][data-trend=down] [data-part-indicator]>[data-ui-icon]{rotate:x 180deg}}@scope([data-ui-stat-card])to (:scope [data-ui]>*){:scope [data-part-comparison]{color:var(--_ink-muted);font-size:var(--_prose-size);line-height:var(--_prose-line);margin-block-start:var(--_region-gap);margin:0;min-inline-size:0;overflow-wrap:anywhere}}@scope([data-ui-stat-card])to (:scope [data-ui]>*){:scope [data-part-period]{color:var(--_ink-muted)}}@scope([data-ui-stat-card])to (:scope [data-ui]>*){:scope [data-part-trend]{align-self:center;display:flex}}@scope([data-ui-stat-card])to (:scope [data-ui]>*){:scope[data-tone=success] [data-part-trend]{--slotted-sparkline-color: var(--slotted-tone-success-text)}:scope[data-tone=info] [data-part-trend]{--slotted-sparkline-color: var(--slotted-tone-info-text)}}@scope([data-ui-stat-card])to (:scope [data-ui]>*){:scope[data-tone=danger] [data-part-trend]{--slotted-sparkline-color: var(--slotted-tone-danger-text)}}@scope([data-ui-stat-card])to (:scope [data-ui]>*){:scope[data-tone=warning] [data-part-trend]{--slotted-sparkline-color: var(--slotted-tone-warning-text)}}@scope([data-ui-stat-card])to (:scope [data-ui]>*){:scope[data-tone=accent] [data-part-trend]{--slotted-sparkline-color: var(--slotted-tone-accent-text)}}@scope([data-ui-stat-card])to (:scope [data-ui]>*){:scope[data-tone=secondary] [data-part-trend]{--slotted-sparkline-color: var(--slotted-tone-secondary-text)}}@scope([data-ui-stat-card])to (:scope [data-ui]>*){:scope[data-fill=plain] [data-part-trend]{--slotted-sparkline-ring-color: var(--slotted-surface-raised, Canvas)}}@scope([data-ui-stat-card])to (:scope [data-ui]>*){:scope [data-part-message]{color:var(--_ink-muted);font-size:var(--_prose-size);line-height:var(--_prose-line);margin:0;min-inline-size:0;overflow-wrap:anywhere}}@scope([data-ui-stat-card])to (:scope [data-ui]>*){:scope[data-status=error] [data-part-message]{color:var(--slotted-tone-danger-text)}}@scope([data-ui-stat-card])to (:scope [data-ui]>*){:scope[data-status=empty] [data-part-value],:scope[data-status=error] [data-part-value]{color:var(--_ink-muted)}}@scope([data-ui-stat-card])to (:scope [data-ui]>*){:scope[data-loading] [data-part-value]{min-block-size:calc(var(--_value-size) * var(--_value-line))}}@scope([data-ui-stat-card])to (:scope [data-ui]>*){:scope[data-loading] [data-part-trend]{--slotted-skeleton-block-size: var( --slotted-sparkline-block-size, var(--slotted-space-9, 2rem) )}}@scope([data-ui-stat-card])to (:scope [data-ui]>*){:scope[data-loading][data-size=sm] [data-part-trend]{--slotted-skeleton-block-size: var( --slotted-sparkline-block-size-sm, var(--slotted-space-7, 1.25rem) )}}@scope([data-ui-stat-card])to (:scope [data-ui]>*){:scope[data-loading][data-size=lg] [data-part-trend]{--slotted-skeleton-block-size: var( --slotted-sparkline-block-size-lg, var(--slotted-space-11, 3rem) )}}}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
126
126
|
}
|
|
127
127
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.7", ngImport: i0, type: SlStatCard, decorators: [{
|
|
128
128
|
type: Component,
|
|
129
|
-
args: [{ selector: '[slStatCard]', standalone: true, template: '<div data-part="body"><ng-content /></div>', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, exportAs: 'slStatCard', host: {
|
|
129
|
+
args: [{ selector: '[slStatCard]', standalone: true, template: '<div data-part="body" data-part-body=""><ng-content /></div>', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, exportAs: 'slStatCard', host: {
|
|
130
130
|
'data-ui': 'stat-card',
|
|
131
|
+
'data-ui-stat-card': '',
|
|
131
132
|
'data-part': 'root',
|
|
133
|
+
'data-part-root': '',
|
|
132
134
|
role: 'group',
|
|
133
135
|
'[attr.aria-labelledby]': 'labelledBy()',
|
|
134
136
|
'[attr.aria-busy]': 'loading() ? "true" : null',
|
|
@@ -139,7 +141,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.7", ngImpor
|
|
|
139
141
|
'[attr.data-good-when]': 'resolvedGoodWhen()',
|
|
140
142
|
'[attr.data-tone]': 'resolvedTone() ?? null',
|
|
141
143
|
'[attr.data-loading]': 'loading() ? "" : null',
|
|
142
|
-
}, styles: ["@layer slotted.components{[data-ui=stat-card]{--_edge-width: var(--slotted-stat-card-border-width, var(--slotted-border-width-thin, 1px));--_radius: var(--slotted-stat-card-radius, var(--slotted-radius-lg, 8px));--_inset-block: var(--slotted-stat-card-padding-block, var(--slotted-space-6, 1rem));--_inset-inline: var(--slotted-stat-card-padding-inline, var(--slotted-space-6, 1rem));--_region-gap: var(--slotted-stat-card-region-gap, var(--slotted-space-3, .375rem));--_trend-gap: var(--slotted-stat-card-trend-gap, var(--slotted-space-6, 1rem));--_trend-size: var( --slotted-stat-card-trend-inline-size, calc(var(--slotted-space-12, 4rem) * 1.5) );--_surface: var(--slotted-stat-card-background, var(--slotted-surface-raised, Canvas));--_edge: var(--slotted-stat-card-border-color, var(--slotted-border-subtle, ButtonBorder));--_shadow: var(--slotted-stat-card-shadow, none);--_ink: var(--slotted-stat-card-color, var(--slotted-text, CanvasText));--_ink-muted: var(--slotted-stat-card-color-muted, var(--slotted-text-muted, GrayText));--_value-size: var(--slotted-stat-card-value-font-size, var(--slotted-font-size-3xl, 1.5rem));--_value-line: var(--slotted-stat-card-value-line-height, var(--slotted-line-height-3xl, 1.3));--_label-size: var(--slotted-stat-card-label-font-size, var(--slotted-font-size-sm, .8125rem));--_label-line: var(--slotted-stat-card-label-line-height, var(--slotted-line-height-sm, 1.45));--_delta-size: var(--slotted-stat-card-delta-font-size, var(--slotted-font-size-sm, .8125rem));--_prose-size: var(--slotted-stat-card-prose-font-size, var(--slotted-font-size-xs, .75rem));--_prose-line: var(--slotted-stat-card-prose-line-height, var(--slotted-line-height-xs, 1.4));--_indicator-size: var( --slotted-stat-card-indicator-size, var(--slotted-control-icon-size-sm, 14px) );--_value-size-narrow: var(--slotted-font-size-2xl, 1.25rem);--_value-line-narrow: var(--slotted-line-height-2xl, 1.4);--_tone-text: var(--_ink-muted);background-color:var(--_surface);border:none;border-radius:var(--_radius);box-shadow:var(--_shadow);box-sizing:border-box;color:var(--_ink);container-name:stat-card;container-type:inline-size;display:flex;flex-direction:column;font-family:var(--slotted-font-family-sans, ui-sans-serif, system-ui, sans-serif);min-inline-size:var( --slotted-stat-card-min-inline-size, calc(var(--slotted-space-12, 4rem) * 2.5) );padding-block:var(--_inset-block);padding-inline:var(--_inset-inline);position:relative}[data-ui=stat-card]:before{border:var(--_edge-width) solid var(--_edge);border-radius:inherit;content:\"\";inset:0;pointer-events:none;position:absolute}[data-ui=stat-card][data-size=sm]{--_inset-block: var(--slotted-stat-card-padding-block-sm, var(--slotted-space-5, .75rem));--_inset-inline: var(--slotted-stat-card-padding-inline-sm, var(--slotted-space-5, .75rem));--_region-gap: var(--slotted-stat-card-region-gap-sm, var(--slotted-space-2, .25rem));--_trend-gap: var(--slotted-stat-card-trend-gap-sm, var(--slotted-space-5, .75rem));--_trend-size: var(--slotted-stat-card-trend-inline-size-sm, var(--slotted-space-12, 4rem));--_value-size: var( --slotted-stat-card-value-font-size-sm, var(--slotted-font-size-2xl, 1.25rem) );--_value-line: var( --slotted-stat-card-value-line-height-sm, var(--slotted-line-height-2xl, 1.4) );--_label-size: var( --slotted-stat-card-label-font-size-sm, var(--slotted-font-size-xs, .75rem) );--_label-line: var( --slotted-stat-card-label-line-height-sm, var(--slotted-line-height-xs, 1.4) );--_delta-size: var( --slotted-stat-card-delta-font-size-sm, var(--slotted-font-size-xs, .75rem) );--_value-size-narrow: var(--slotted-font-size-xl, 1.125rem);--_value-line-narrow: var(--slotted-line-height-xl, 1.45)}[data-ui=stat-card][data-size=lg]{--_inset-block: var(--slotted-stat-card-padding-block-lg, var(--slotted-space-8, 1.5rem));--_inset-inline: var(--slotted-stat-card-padding-inline-lg, var(--slotted-space-8, 1.5rem));--_region-gap: var(--slotted-stat-card-region-gap-lg, var(--slotted-space-4, .5rem));--_trend-gap: var(--slotted-stat-card-trend-gap-lg, var(--slotted-space-8, 1.5rem));--_trend-size: var( --slotted-stat-card-trend-inline-size-lg, calc(var(--slotted-space-12, 4rem) * 2) );--_value-size: var(--slotted-stat-card-value-font-size-lg, var(--slotted-font-size-4xl, 2rem));--_value-line: var( --slotted-stat-card-value-line-height-lg, var(--slotted-line-height-4xl, 1.2) );--_label-size: var( --slotted-stat-card-label-font-size-lg, var(--slotted-font-size-md, .875rem) );--_label-line: var( --slotted-stat-card-label-line-height-lg, var(--slotted-line-height-md, 1.5) );--_delta-size: var( --slotted-stat-card-delta-font-size-lg, var(--slotted-font-size-md, .875rem) );--_prose-size: var( --slotted-stat-card-prose-font-size-lg, var(--slotted-font-size-sm, .8125rem) );--_prose-line: var( --slotted-stat-card-prose-line-height-lg, var(--slotted-line-height-sm, 1.45) );--_indicator-size: var( --slotted-stat-card-indicator-size-lg, var(--slotted-control-icon-size-md, 16px) );--_value-size-narrow: var(--slotted-font-size-3xl, 1.5rem);--_value-line-narrow: var(--slotted-line-height-3xl, 1.3)}[data-ui=stat-card][data-fill=elevated]{--_shadow: var(--slotted-stat-card-shadow-elevated, var(--slotted-shadow-md))}[data-ui=stat-card][data-fill=subtle]{--_surface: var(--slotted-stat-card-background-subtle, var(--slotted-surface-sunken, Canvas))}[data-ui=stat-card][data-fill=plain]{--_surface: transparent;--_edge: transparent;--_shadow: none;--_inset-block: 0;--_inset-inline: 0;--_radius: var(--slotted-radius-none, 0px)}[data-ui=stat-card] [data-part=body]{column-gap:var(--_trend-gap);display:grid;flex:1 1 auto;grid-template-areas:\"header header\" \"figure trend\" \"message message\";grid-template-columns:minmax(min-content,1fr) minmax(0,var(--_trend-size));grid-template-rows:auto minmax(0,1fr) auto;min-inline-size:0;row-gap:var(--_region-gap)}[data-ui=stat-card][data-layout=stacked] [data-part=body]{grid-template-areas:\"header\" \"figure\" \"trend\" \"message\";grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(0,1fr) auto auto}[data-ui=stat-card] [data-part=header]{contain:inline-size;grid-area:header}[data-ui=stat-card] [data-part=figure]{align-self:start;grid-area:figure;min-inline-size:0}[data-ui=stat-card] [data-part=trend]{--slotted-sparkline-ring-color: var(--_surface);align-self:center;container-name:stat-card-trend;container-type:inline-size;grid-area:trend;inline-size:100%;min-inline-size:0}@container stat-card-trend (max-width: 39px){[data-ui=stat-card] [data-part=trend]>*{visibility:hidden}}[data-ui=stat-card][data-layout=stacked] [data-part=trend]{align-self:end;margin-block-start:var(--slotted-space-2, .25rem)}[data-ui=stat-card] [data-part=message]{contain:inline-size;grid-area:message}@container stat-card (max-width: 219px){[data-ui=stat-card] [data-part=body]{grid-template-areas:\"header\" \"figure\" \"trend\" \"message\";grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(0,1fr) auto auto}[data-ui=stat-card] [data-part=trend]{align-self:end;margin-block-start:var(--slotted-space-2, .25rem)}[data-ui=stat-card] [data-part=value]{font-size:var(--_value-size-narrow);line-height:var(--_value-line-narrow)}[data-ui=stat-card][data-loading] [data-part=value]{min-block-size:calc(var(--_value-size-narrow) * var(--_value-line-narrow))}}[data-ui=stat-card] [data-part=header]{align-items:baseline;column-gap:var(--slotted-space-3, .375rem);display:flex;flex-wrap:wrap;min-inline-size:0;row-gap:var(--slotted-space-2, .25rem)}[data-ui=stat-card] [data-part=label]{color:var(--_ink-muted);flex:1 1 0%;font-size:var(--_label-size);font-weight:var(--slotted-font-weight-medium, 500);line-height:var(--_label-line);margin:0;min-inline-size:min(100%,10rem);overflow-wrap:break-word}[data-ui=stat-card] [data-part=status]{display:inline-flex;flex:none}[data-ui=stat-card] [data-part=action]{flex:none;font-size:var(--_label-size);line-height:var(--_label-line);margin-inline-start:auto}[data-ui=stat-card] [data-part=figure]{align-items:baseline;column-gap:var(--slotted-space-3, .375rem);display:flex;flex-wrap:wrap;row-gap:0}[data-ui=stat-card] [data-part=comparison]{contain:inline-size;flex:1 1 100%}[data-ui=stat-card] [data-part=value]{align-items:baseline;color:var(--_ink);display:inline-flex;flex-wrap:wrap;gap:.15em;font-size:var(--_value-size);font-variant-numeric:proportional-nums;font-weight:var(--slotted-font-weight-semibold, 600);letter-spacing:-.02em;unicode-bidi:plaintext;line-height:var(--_value-line);margin:0;min-inline-size:0;overflow-wrap:break-word}[data-ui=stat-card] [data-part=unit]{color:var(--_ink-muted);font-size:var(--_delta-size);font-weight:var(--slotted-font-weight-medium, 500);letter-spacing:0}[data-ui=stat-card] [data-part=delta]{align-items:center;color:var(--_tone-text);column-gap:var(--slotted-space-1, .125rem);display:inline-flex;font-size:var(--_delta-size);font-variant-numeric:tabular-nums;font-weight:var(--slotted-font-weight-semibold, 600);line-height:1;unicode-bidi:plaintext;white-space:nowrap}[data-ui=stat-card] [data-part=delta][data-tone=neutral]{--_tone-text: var(--_ink-muted)}[data-ui=stat-card] [data-part=delta][data-tone=accent]{--_tone-text: var(--slotted-tone-accent-text)}[data-ui=stat-card] [data-part=delta][data-tone=secondary]{--_tone-text: var(--slotted-tone-secondary-text)}[data-ui=stat-card] [data-part=delta][data-tone=success]{--_tone-text: var(--slotted-tone-success-text)}[data-ui=stat-card] [data-part=delta][data-tone=warning]{--_tone-text: var(--slotted-tone-warning-text)}[data-ui=stat-card] [data-part=delta][data-tone=danger]{--_tone-text: var(--slotted-tone-danger-text)}[data-ui=stat-card] [data-part=indicator]{--slotted-icon-size: var(--_indicator-size);display:inline-flex;flex:none}[data-ui=stat-card] [data-part=delta][data-trend=down] [data-part=indicator]>[data-ui=icon]{rotate:x 180deg}[data-ui=stat-card] [data-part=comparison]{color:var(--_ink-muted);font-size:var(--_prose-size);line-height:var(--_prose-line);margin-block-start:var(--_region-gap);margin:0;min-inline-size:0;overflow-wrap:anywhere}[data-ui=stat-card] [data-part=period]{color:var(--_ink-muted)}[data-ui=stat-card] [data-part=trend]{align-self:center;display:flex}[data-ui=stat-card][data-tone=success] [data-part=trend]{--slotted-sparkline-color: var(--slotted-tone-success-text)}[data-ui=stat-card][data-tone=danger] [data-part=trend]{--slotted-sparkline-color: var(--slotted-tone-danger-text)}[data-ui=stat-card][data-tone=warning] [data-part=trend]{--slotted-sparkline-color: var(--slotted-tone-warning-text)}[data-ui=stat-card][data-tone=accent] [data-part=trend]{--slotted-sparkline-color: var(--slotted-tone-accent-text)}[data-ui=stat-card][data-tone=secondary] [data-part=trend]{--slotted-sparkline-color: var(--slotted-tone-secondary-text)}[data-ui=stat-card][data-fill=plain] [data-part=trend]{--slotted-sparkline-ring-color: var(--slotted-surface-raised, Canvas)}[data-ui=stat-card] [data-part=message]{color:var(--_ink-muted);font-size:var(--_prose-size);line-height:var(--_prose-line);margin:0;min-inline-size:0;overflow-wrap:anywhere}[data-ui=stat-card][data-status=error] [data-part=message]{color:var(--slotted-tone-danger-text)}[data-ui=stat-card][data-status=empty] [data-part=value],[data-ui=stat-card][data-status=error] [data-part=value]{color:var(--_ink-muted)}[data-ui=stat-card][data-loading] [data-part=value]{min-block-size:calc(var(--_value-size) * var(--_value-line))}[data-ui=stat-card][data-loading] [data-part=trend]{--slotted-skeleton-block-size: var( --slotted-sparkline-block-size, var(--slotted-space-9, 2rem) )}[data-ui=stat-card][data-loading][data-size=sm] [data-part=trend]{--slotted-skeleton-block-size: var( --slotted-sparkline-block-size-sm, var(--slotted-space-7, 1.25rem) )}[data-ui=stat-card][data-loading][data-size=lg] [data-part=trend]{--slotted-skeleton-block-size: var( --slotted-sparkline-block-size-lg, var(--slotted-space-11, 3rem) )}}\n"] }]
|
|
144
|
+
}, styles: ["@layer slotted.components{[data-ui-stat-card]{--_edge-width: var(--slotted-stat-card-border-width, var(--slotted-border-width-thin, 1px));--_radius: var(--slotted-stat-card-radius, var(--slotted-radius-lg, 8px));--_inset-block: var(--slotted-stat-card-padding-block, var(--slotted-space-6, 1rem));--_inset-inline: var(--slotted-stat-card-padding-inline, var(--slotted-space-6, 1rem));--_region-gap: var(--slotted-stat-card-region-gap, var(--slotted-space-3, .375rem));--_trend-gap: var(--slotted-stat-card-trend-gap, var(--slotted-space-6, 1rem));--_trend-size: var( --slotted-stat-card-trend-inline-size, calc(var(--slotted-space-12, 4rem) * 1.5) );--_surface: var(--slotted-stat-card-background, var(--slotted-surface-raised, Canvas));--_edge: var(--slotted-stat-card-border-color, var(--slotted-border-subtle, ButtonBorder));--_shadow: var(--slotted-stat-card-shadow, none);--_ink: var(--slotted-stat-card-color, var(--slotted-text, CanvasText));--_ink-muted: var(--slotted-stat-card-color-muted, var(--slotted-text-muted, GrayText));--_value-size: var(--slotted-stat-card-value-font-size, var(--slotted-font-size-3xl, 1.5rem));--_value-line: var(--slotted-stat-card-value-line-height, var(--slotted-line-height-3xl, 1.3));--_label-size: var(--slotted-stat-card-label-font-size, var(--slotted-font-size-sm, .8125rem));--_label-line: var(--slotted-stat-card-label-line-height, var(--slotted-line-height-sm, 1.45));--_delta-size: var(--slotted-stat-card-delta-font-size, var(--slotted-font-size-sm, .8125rem));--_prose-size: var(--slotted-stat-card-prose-font-size, var(--slotted-font-size-xs, .75rem));--_prose-line: var(--slotted-stat-card-prose-line-height, var(--slotted-line-height-xs, 1.4));--_indicator-size: var( --slotted-stat-card-indicator-size, var(--slotted-control-icon-size-sm, 14px) );--_value-size-narrow: var(--slotted-font-size-2xl, 1.25rem);--_value-line-narrow: var(--slotted-line-height-2xl, 1.4);--_tone-text: var(--_ink-muted);background-color:var(--_surface);border:none;border-radius:var(--_radius);box-shadow:var(--_shadow);box-sizing:border-box;color:var(--_ink);container-name:stat-card;container-type:inline-size;display:flex;flex-direction:column;font-family:var(--slotted-font-family-sans, ui-sans-serif, system-ui, sans-serif);min-inline-size:var( --slotted-stat-card-min-inline-size, calc(var(--slotted-space-12, 4rem) * 2.5) );padding-block:var(--_inset-block);padding-inline:var(--_inset-inline);position:relative}[data-ui-stat-card]:before{border:var(--_edge-width) solid var(--_edge);border-radius:inherit;content:\"\";inset:0;pointer-events:none;position:absolute}[data-ui-stat-card][data-size=sm]{--_inset-block: var(--slotted-stat-card-padding-block-sm, var(--slotted-space-5, .75rem));--_inset-inline: var(--slotted-stat-card-padding-inline-sm, var(--slotted-space-5, .75rem));--_region-gap: var(--slotted-stat-card-region-gap-sm, var(--slotted-space-2, .25rem));--_trend-gap: var(--slotted-stat-card-trend-gap-sm, var(--slotted-space-5, .75rem));--_trend-size: var(--slotted-stat-card-trend-inline-size-sm, var(--slotted-space-12, 4rem));--_value-size: var( --slotted-stat-card-value-font-size-sm, var(--slotted-font-size-2xl, 1.25rem) );--_value-line: var( --slotted-stat-card-value-line-height-sm, var(--slotted-line-height-2xl, 1.4) );--_label-size: var( --slotted-stat-card-label-font-size-sm, var(--slotted-font-size-xs, .75rem) );--_label-line: var( --slotted-stat-card-label-line-height-sm, var(--slotted-line-height-xs, 1.4) );--_delta-size: var( --slotted-stat-card-delta-font-size-sm, var(--slotted-font-size-xs, .75rem) );--_value-size-narrow: var(--slotted-font-size-xl, 1.125rem);--_value-line-narrow: var(--slotted-line-height-xl, 1.45)}[data-ui-stat-card][data-size=lg]{--_inset-block: var(--slotted-stat-card-padding-block-lg, var(--slotted-space-8, 1.5rem));--_inset-inline: var(--slotted-stat-card-padding-inline-lg, var(--slotted-space-8, 1.5rem));--_region-gap: var(--slotted-stat-card-region-gap-lg, var(--slotted-space-4, .5rem));--_trend-gap: var(--slotted-stat-card-trend-gap-lg, var(--slotted-space-8, 1.5rem));--_trend-size: var( --slotted-stat-card-trend-inline-size-lg, calc(var(--slotted-space-12, 4rem) * 2) );--_value-size: var(--slotted-stat-card-value-font-size-lg, var(--slotted-font-size-4xl, 2rem));--_value-line: var( --slotted-stat-card-value-line-height-lg, var(--slotted-line-height-4xl, 1.2) );--_label-size: var( --slotted-stat-card-label-font-size-lg, var(--slotted-font-size-md, .875rem) );--_label-line: var( --slotted-stat-card-label-line-height-lg, var(--slotted-line-height-md, 1.5) );--_delta-size: var( --slotted-stat-card-delta-font-size-lg, var(--slotted-font-size-md, .875rem) );--_prose-size: var( --slotted-stat-card-prose-font-size-lg, var(--slotted-font-size-sm, .8125rem) );--_prose-line: var( --slotted-stat-card-prose-line-height-lg, var(--slotted-line-height-sm, 1.45) );--_indicator-size: var( --slotted-stat-card-indicator-size-lg, var(--slotted-control-icon-size-md, 16px) );--_value-size-narrow: var(--slotted-font-size-3xl, 1.5rem);--_value-line-narrow: var(--slotted-line-height-3xl, 1.3)}[data-ui-stat-card][data-fill=elevated]{--_shadow: var(--slotted-stat-card-shadow-elevated, var(--slotted-shadow-md))}[data-ui-stat-card][data-fill=subtle]{--_surface: var(--slotted-stat-card-background-subtle, var(--slotted-surface-sunken, Canvas))}[data-ui-stat-card][data-fill=plain]{--_surface: transparent;--_edge: transparent;--_shadow: none;--_inset-block: 0;--_inset-inline: 0;--_radius: var(--slotted-radius-none, 0px)}@scope([data-ui-stat-card])to (:scope [data-ui]>*){:scope [data-part-body]{column-gap:var(--_trend-gap);display:grid;flex:1 1 auto;grid-template-areas:\"header header\" \"figure trend\" \"message message\";grid-template-columns:minmax(min-content,1fr) minmax(0,var(--_trend-size));grid-template-rows:auto minmax(0,1fr) auto;min-inline-size:0;row-gap:var(--_region-gap)}}@scope([data-ui-stat-card])to (:scope [data-ui]>*){:scope[data-layout=stacked] [data-part-body]{grid-template-areas:\"header\" \"figure\" \"trend\" \"message\";grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(0,1fr) auto auto}}@scope([data-ui-stat-card])to (:scope [data-ui]>*){:scope [data-part-header]{contain:inline-size;grid-area:header}}@scope([data-ui-stat-card])to (:scope [data-ui]>*){:scope [data-part-figure]{align-self:start;grid-area:figure;min-inline-size:0}}@scope([data-ui-stat-card])to (:scope [data-ui]>*){:scope [data-part-trend]{--slotted-sparkline-ring-color: var(--_surface);align-self:center;container-name:stat-card-trend;container-type:inline-size;grid-area:trend;inline-size:100%;min-inline-size:0}}@container stat-card-trend (max-width: 39px){@scope([data-ui-stat-card])to (:scope [data-ui]>*){:scope [data-part-trend]>*{visibility:hidden}}}@scope([data-ui-stat-card])to (:scope [data-ui]>*){:scope[data-layout=stacked] [data-part-trend]{align-self:end;margin-block-start:var(--slotted-space-2, .25rem)}}@scope([data-ui-stat-card])to (:scope [data-ui]>*){:scope [data-part-message]{contain:inline-size;grid-area:message}}@container stat-card (max-width: 219px){@scope([data-ui-stat-card])to (:scope [data-ui]>*){:scope [data-part-body]{grid-template-areas:\"header\" \"figure\" \"trend\" \"message\";grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(0,1fr) auto auto}}@scope([data-ui-stat-card])to (:scope [data-ui]>*){:scope [data-part-trend]{align-self:end;margin-block-start:var(--slotted-space-2, .25rem)}}@scope([data-ui-stat-card])to (:scope [data-ui]>*){:scope [data-part-value]{font-size:var(--_value-size-narrow);line-height:var(--_value-line-narrow)}}@scope([data-ui-stat-card])to (:scope [data-ui]>*){:scope[data-loading] [data-part-value]{min-block-size:calc(var(--_value-size-narrow) * var(--_value-line-narrow))}}}@scope([data-ui-stat-card])to (:scope [data-ui]>*){:scope [data-part-header]{align-items:baseline;column-gap:var(--slotted-space-3, .375rem);display:flex;flex-wrap:wrap;min-inline-size:0;row-gap:var(--slotted-space-2, .25rem)}}@scope([data-ui-stat-card])to (:scope [data-ui]>*){:scope [data-part-label]{color:var(--_ink-muted);flex:1 1 0%;font-size:var(--_label-size);font-weight:var(--slotted-font-weight-medium, 500);line-height:var(--_label-line);margin:0;min-inline-size:min(100%,10rem);overflow-wrap:break-word}}@scope([data-ui-stat-card])to (:scope [data-ui]>*){:scope [data-part-status]{display:inline-flex;flex:none}}@scope([data-ui-stat-card])to (:scope [data-ui]>*){:scope [data-part-action]{flex:none;font-size:var(--_label-size);line-height:var(--_label-line);margin-inline-start:auto}}@media(pointer:coarse){@scope([data-ui-stat-card])to (:scope [data-ui]>*){:scope :is([data-part-action]:is(a,button),[data-part-action]>:is(a,button)){position:relative}}@scope([data-ui-stat-card])to (:scope [data-ui]>*){:scope :is([data-part-action]:is(a,button),[data-part-action]>:is(a,button)):before{content:\"\";inset:min(0px,calc((100% - var(--slotted-target-comfortable, 44px)) / 2));position:absolute}}}@scope([data-ui-stat-card])to (:scope [data-ui]>*){:scope [data-part-figure]{align-items:baseline;column-gap:var(--slotted-space-3, .375rem);display:flex;flex-wrap:wrap;row-gap:0}}@scope([data-ui-stat-card])to (:scope [data-ui]>*){:scope [data-part-comparison]{contain:inline-size;flex:1 1 100%}}@scope([data-ui-stat-card])to (:scope [data-ui]>*){:scope [data-part-value]{align-items:baseline;color:var(--_ink);display:inline-flex;flex-wrap:wrap;gap:.15em;font-size:var(--_value-size);font-variant-numeric:proportional-nums;font-weight:var(--slotted-font-weight-semibold, 600);letter-spacing:var(--slotted-letter-spacing-tighter, -.03em);unicode-bidi:plaintext;line-height:var(--_value-line);margin:0;min-inline-size:0;overflow-wrap:break-word}}@scope([data-ui-stat-card])to (:scope [data-ui]>*){:scope [data-part-unit]{color:var(--_ink-muted);font-size:var(--_delta-size);font-weight:var(--slotted-font-weight-medium, 500);letter-spacing:0}}@scope([data-ui-stat-card])to (:scope [data-ui]>*){:scope [data-part-delta]{align-items:center;color:var(--_tone-text);column-gap:var(--slotted-space-1, .125rem);display:inline-flex;font-size:var(--_delta-size);font-variant-numeric:tabular-nums;font-weight:var(--slotted-font-weight-semibold, 600);line-height:1;unicode-bidi:plaintext;white-space:nowrap}}@scope([data-ui-stat-card])to (:scope [data-ui]>*){:scope [data-part-delta][data-tone=neutral]{--_tone-text: var(--_ink-muted)}}@scope([data-ui-stat-card])to (:scope [data-ui]>*){:scope [data-part-delta][data-tone=accent]{--_tone-text: var(--slotted-tone-accent-text)}}@scope([data-ui-stat-card])to (:scope [data-ui]>*){:scope [data-part-delta][data-tone=secondary]{--_tone-text: var(--slotted-tone-secondary-text)}}@scope([data-ui-stat-card])to (:scope [data-ui]>*){:scope [data-part-delta][data-tone=success]{--_tone-text: var(--slotted-tone-success-text)}:scope [data-part-delta][data-tone=info]{--_tone-text: var(--slotted-tone-info-text)}}@scope([data-ui-stat-card])to (:scope [data-ui]>*){:scope [data-part-delta][data-tone=warning]{--_tone-text: var(--slotted-tone-warning-text)}}@scope([data-ui-stat-card])to (:scope [data-ui]>*){:scope [data-part-delta][data-tone=danger]{--_tone-text: var(--slotted-tone-danger-text)}}@scope([data-ui-stat-card])to (:scope [data-ui]>*){:scope [data-part-indicator]{--slotted-icon-size: var(--_indicator-size);display:inline-flex;flex:none}}@scope([data-ui-stat-card])to (:scope [data-ui]>*){:scope [data-part-delta][data-trend=down] [data-part-indicator]>[data-ui-icon]{rotate:x 180deg}}@scope([data-ui-stat-card])to (:scope [data-ui]>*){:scope [data-part-comparison]{color:var(--_ink-muted);font-size:var(--_prose-size);line-height:var(--_prose-line);margin-block-start:var(--_region-gap);margin:0;min-inline-size:0;overflow-wrap:anywhere}}@scope([data-ui-stat-card])to (:scope [data-ui]>*){:scope [data-part-period]{color:var(--_ink-muted)}}@scope([data-ui-stat-card])to (:scope [data-ui]>*){:scope [data-part-trend]{align-self:center;display:flex}}@scope([data-ui-stat-card])to (:scope [data-ui]>*){:scope[data-tone=success] [data-part-trend]{--slotted-sparkline-color: var(--slotted-tone-success-text)}:scope[data-tone=info] [data-part-trend]{--slotted-sparkline-color: var(--slotted-tone-info-text)}}@scope([data-ui-stat-card])to (:scope [data-ui]>*){:scope[data-tone=danger] [data-part-trend]{--slotted-sparkline-color: var(--slotted-tone-danger-text)}}@scope([data-ui-stat-card])to (:scope [data-ui]>*){:scope[data-tone=warning] [data-part-trend]{--slotted-sparkline-color: var(--slotted-tone-warning-text)}}@scope([data-ui-stat-card])to (:scope [data-ui]>*){:scope[data-tone=accent] [data-part-trend]{--slotted-sparkline-color: var(--slotted-tone-accent-text)}}@scope([data-ui-stat-card])to (:scope [data-ui]>*){:scope[data-tone=secondary] [data-part-trend]{--slotted-sparkline-color: var(--slotted-tone-secondary-text)}}@scope([data-ui-stat-card])to (:scope [data-ui]>*){:scope[data-fill=plain] [data-part-trend]{--slotted-sparkline-ring-color: var(--slotted-surface-raised, Canvas)}}@scope([data-ui-stat-card])to (:scope [data-ui]>*){:scope [data-part-message]{color:var(--_ink-muted);font-size:var(--_prose-size);line-height:var(--_prose-line);margin:0;min-inline-size:0;overflow-wrap:anywhere}}@scope([data-ui-stat-card])to (:scope [data-ui]>*){:scope[data-status=error] [data-part-message]{color:var(--slotted-tone-danger-text)}}@scope([data-ui-stat-card])to (:scope [data-ui]>*){:scope[data-status=empty] [data-part-value],:scope[data-status=error] [data-part-value]{color:var(--_ink-muted)}}@scope([data-ui-stat-card])to (:scope [data-ui]>*){:scope[data-loading] [data-part-value]{min-block-size:calc(var(--_value-size) * var(--_value-line))}}@scope([data-ui-stat-card])to (:scope [data-ui]>*){:scope[data-loading] [data-part-trend]{--slotted-skeleton-block-size: var( --slotted-sparkline-block-size, var(--slotted-space-9, 2rem) )}}@scope([data-ui-stat-card])to (:scope [data-ui]>*){:scope[data-loading][data-size=sm] [data-part-trend]{--slotted-skeleton-block-size: var( --slotted-sparkline-block-size-sm, var(--slotted-space-7, 1.25rem) )}}@scope([data-ui-stat-card])to (:scope [data-ui]>*){:scope[data-loading][data-size=lg] [data-part-trend]{--slotted-skeleton-block-size: var( --slotted-sparkline-block-size-lg, var(--slotted-space-11, 3rem) )}}}\n"] }]
|
|
143
145
|
}], propDecorators: { size: [{ type: i0.Input, args: [{ isSignal: true, alias: "size", required: false }] }], fill: [{ type: i0.Input, args: [{ isSignal: true, alias: "fill", required: false }] }], layout: [{ type: i0.Input, args: [{ isSignal: true, alias: "layout", required: false }] }], status: [{ type: i0.Input, args: [{ isSignal: true, alias: "status", required: false }] }], loading: [{ type: i0.Input, args: [{ isSignal: true, alias: "loading", required: false }] }], goodWhen: [{ type: i0.Input, args: [{ isSignal: true, alias: "goodWhen", required: false }] }], delta: [{ type: i0.Input, args: [{ isSignal: true, alias: "delta", required: false }] }], tone: [{ type: i0.Input, args: [{ isSignal: true, alias: "tone", required: false }] }], locale: [{ type: i0.Input, args: [{ isSignal: true, alias: "locale", required: false }] }], formatOptions: [{ type: i0.Input, args: [{ isSignal: true, alias: "formatOptions", required: false }] }], messages: [{ type: i0.Input, args: [{ isSignal: true, alias: "messages", required: false }] }] } });
|
|
144
146
|
function optionalNumber(value) {
|
|
145
147
|
if (value === undefined || value === null || value === '')
|
|
@@ -197,10 +199,10 @@ class SlStatCardDelta {
|
|
|
197
199
|
}, /* @ts-ignore */
|
|
198
200
|
...(ngDevMode ? [{ debugName: "formatted" }] : /* istanbul ignore next */ []));
|
|
199
201
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.7", ngImport: i0, type: SlStatCardDelta, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
200
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.7", type: SlStatCardDelta, isStandalone: true, selector: "[slStatCardDelta]", inputs: { value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null }, format: { classPropertyName: "format", publicName: "format", isSignal: true, isRequired: false, transformFunction: null }, formatOptions: { classPropertyName: "formatOptions", publicName: "formatOptions", isSignal: true, isRequired: false, transformFunction: null }, goodWhen: { classPropertyName: "goodWhen", publicName: "goodWhen", isSignal: true, isRequired: false, transformFunction: null }, tone: { classPropertyName: "tone", publicName: "tone", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "data-part": "delta" }, properties: { "attr.data-trend": "card.loading() ? \"flat\" : trend()", "attr.data-tone": "card.loading() ? \"neutral\" : resolvedTone()", "attr.hidden": "shown() ? null : \"\"" } }, exportAs: ["slStatCardDelta"], ngImport: i0, template: `@if (card.loading()) {
|
|
202
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.7", type: SlStatCardDelta, isStandalone: true, selector: "[slStatCardDelta]", inputs: { value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null }, format: { classPropertyName: "format", publicName: "format", isSignal: true, isRequired: false, transformFunction: null }, formatOptions: { classPropertyName: "formatOptions", publicName: "formatOptions", isSignal: true, isRequired: false, transformFunction: null }, goodWhen: { classPropertyName: "goodWhen", publicName: "goodWhen", isSignal: true, isRequired: false, transformFunction: null }, tone: { classPropertyName: "tone", publicName: "tone", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "data-part": "delta", "data-part-delta": "" }, properties: { "attr.data-trend": "card.loading() ? \"flat\" : trend()", "attr.data-tone": "card.loading() ? \"neutral\" : resolvedTone()", "attr.hidden": "shown() ? null : \"\"" } }, exportAs: ["slStatCardDelta"], ngImport: i0, template: `@if (card.loading()) {
|
|
201
203
|
<span slSkeleton inlineSize="3.5em"></span>
|
|
202
204
|
} @else {
|
|
203
|
-
<span data-part="indicator" aria-hidden="true"
|
|
205
|
+
<span data-part="indicator" data-part-indicator="" aria-hidden="true"
|
|
204
206
|
><span slIcon [directional]="trend() !== 'flat'"
|
|
205
207
|
><svg slGlyph [name]="trend() === 'flat' ? 'minus' : 'trending-up'"></svg></span></span
|
|
206
208
|
><span slVisuallyHidden>{{ card.t(trend()) }} </span>{{ formatted() }}<ng-content />
|
|
@@ -216,7 +218,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.7", ngImpor
|
|
|
216
218
|
template: `@if (card.loading()) {
|
|
217
219
|
<span slSkeleton inlineSize="3.5em"></span>
|
|
218
220
|
} @else {
|
|
219
|
-
<span data-part="indicator" aria-hidden="true"
|
|
221
|
+
<span data-part="indicator" data-part-indicator="" aria-hidden="true"
|
|
220
222
|
><span slIcon [directional]="trend() !== 'flat'"
|
|
221
223
|
><svg slGlyph [name]="trend() === 'flat' ? 'minus' : 'trending-up'"></svg></span></span
|
|
222
224
|
><span slVisuallyHidden>{{ card.t(trend()) }} </span>{{ formatted() }}<ng-content />
|
|
@@ -226,6 +228,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.7", ngImpor
|
|
|
226
228
|
exportAs: 'slStatCardDelta',
|
|
227
229
|
host: {
|
|
228
230
|
'data-part': 'delta',
|
|
231
|
+
'data-part-delta': '',
|
|
229
232
|
'[attr.data-trend]': 'card.loading() ? "flat" : trend()',
|
|
230
233
|
'[attr.data-tone]': 'card.loading() ? "neutral" : resolvedTone()',
|
|
231
234
|
'[attr.hidden]': 'shown() ? null : ""',
|
|
@@ -236,7 +239,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.7", ngImpor
|
|
|
236
239
|
/** The row with the name, a status beside it and an action at the end. */
|
|
237
240
|
class SlStatCardHeader {
|
|
238
241
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.7", ngImport: i0, type: SlStatCardHeader, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
239
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.1.7", type: SlStatCardHeader, isStandalone: true, selector: "[slStatCardHeader]", host: { attributes: { "data-part": "header" } }, exportAs: ["slStatCardHeader"], ngImport: i0 });
|
|
242
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.1.7", type: SlStatCardHeader, isStandalone: true, selector: "[slStatCardHeader]", host: { attributes: { "data-part": "header", "data-part-header": "" } }, exportAs: ["slStatCardHeader"], ngImport: i0 });
|
|
240
243
|
}
|
|
241
244
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.7", ngImport: i0, type: SlStatCardHeader, decorators: [{
|
|
242
245
|
type: Directive,
|
|
@@ -244,7 +247,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.7", ngImpor
|
|
|
244
247
|
selector: '[slStatCardHeader]',
|
|
245
248
|
standalone: true,
|
|
246
249
|
exportAs: 'slStatCardHeader',
|
|
247
|
-
host: { 'data-part': 'header' },
|
|
250
|
+
host: { 'data-part': 'header', 'data-part-header': '' },
|
|
248
251
|
}]
|
|
249
252
|
}] });
|
|
250
253
|
/**
|
|
@@ -257,7 +260,7 @@ class SlStatCardLabel {
|
|
|
257
260
|
ownId = inject(new HostAttributeToken('id'), { optional: true });
|
|
258
261
|
id = this.ownId ?? this.card.labelId;
|
|
259
262
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.7", ngImport: i0, type: SlStatCardLabel, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
260
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.1.7", type: SlStatCardLabel, isStandalone: true, selector: "[slStatCardLabel]", host: { attributes: { "data-part": "label" }, properties: { "attr.id": "id" } }, exportAs: ["slStatCardLabel"], ngImport: i0 });
|
|
263
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.1.7", type: SlStatCardLabel, isStandalone: true, selector: "[slStatCardLabel]", host: { attributes: { "data-part": "label", "data-part-label": "" }, properties: { "attr.id": "id" } }, exportAs: ["slStatCardLabel"], ngImport: i0 });
|
|
261
264
|
}
|
|
262
265
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.7", ngImport: i0, type: SlStatCardLabel, decorators: [{
|
|
263
266
|
type: Directive,
|
|
@@ -265,13 +268,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.7", ngImpor
|
|
|
265
268
|
selector: '[slStatCardLabel]',
|
|
266
269
|
standalone: true,
|
|
267
270
|
exportAs: 'slStatCardLabel',
|
|
268
|
-
host: { 'data-part': 'label', '[attr.id]': 'id' },
|
|
271
|
+
host: { 'data-part': 'label', 'data-part-label': '', '[attr.id]': 'id' },
|
|
269
272
|
}]
|
|
270
273
|
}] });
|
|
271
274
|
/** A slot beside the name for a badge or a status indicator. */
|
|
272
275
|
class SlStatCardStatus {
|
|
273
276
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.7", ngImport: i0, type: SlStatCardStatus, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
274
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.1.7", type: SlStatCardStatus, isStandalone: true, selector: "[slStatCardStatus]", host: { attributes: { "data-part": "status" } }, exportAs: ["slStatCardStatus"], ngImport: i0 });
|
|
277
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.1.7", type: SlStatCardStatus, isStandalone: true, selector: "[slStatCardStatus]", host: { attributes: { "data-part": "status", "data-part-status": "" } }, exportAs: ["slStatCardStatus"], ngImport: i0 });
|
|
275
278
|
}
|
|
276
279
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.7", ngImport: i0, type: SlStatCardStatus, decorators: [{
|
|
277
280
|
type: Directive,
|
|
@@ -279,13 +282,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.7", ngImpor
|
|
|
279
282
|
selector: '[slStatCardStatus]',
|
|
280
283
|
standalone: true,
|
|
281
284
|
exportAs: 'slStatCardStatus',
|
|
282
|
-
host: { 'data-part': 'status' },
|
|
285
|
+
host: { 'data-part': 'status', 'data-part-status': '' },
|
|
283
286
|
}]
|
|
284
287
|
}] });
|
|
285
288
|
/** The place at the end of the header for the consumer's link or button. */
|
|
286
289
|
class SlStatCardAction {
|
|
287
290
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.7", ngImport: i0, type: SlStatCardAction, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
288
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.1.7", type: SlStatCardAction, isStandalone: true, selector: "[slStatCardAction]", host: { attributes: { "data-part": "action" } }, exportAs: ["slStatCardAction"], ngImport: i0 });
|
|
291
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.1.7", type: SlStatCardAction, isStandalone: true, selector: "[slStatCardAction]", host: { attributes: { "data-part": "action", "data-part-action": "" } }, exportAs: ["slStatCardAction"], ngImport: i0 });
|
|
289
292
|
}
|
|
290
293
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.7", ngImport: i0, type: SlStatCardAction, decorators: [{
|
|
291
294
|
type: Directive,
|
|
@@ -293,13 +296,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.7", ngImpor
|
|
|
293
296
|
selector: '[slStatCardAction]',
|
|
294
297
|
standalone: true,
|
|
295
298
|
exportAs: 'slStatCardAction',
|
|
296
|
-
host: { 'data-part': 'action' },
|
|
299
|
+
host: { 'data-part': 'action', 'data-part-action': '' },
|
|
297
300
|
}]
|
|
298
301
|
}] });
|
|
299
302
|
/** The value with its unit and its delta on one line, and the comparison under them. */
|
|
300
303
|
class SlStatCardFigure {
|
|
301
304
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.7", ngImport: i0, type: SlStatCardFigure, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
302
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.1.7", type: SlStatCardFigure, isStandalone: true, selector: "[slStatCardFigure]", host: { attributes: { "data-part": "figure" } }, exportAs: ["slStatCardFigure"], ngImport: i0 });
|
|
305
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.1.7", type: SlStatCardFigure, isStandalone: true, selector: "[slStatCardFigure]", host: { attributes: { "data-part": "figure", "data-part-figure": "" } }, exportAs: ["slStatCardFigure"], ngImport: i0 });
|
|
303
306
|
}
|
|
304
307
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.7", ngImport: i0, type: SlStatCardFigure, decorators: [{
|
|
305
308
|
type: Directive,
|
|
@@ -307,13 +310,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.7", ngImpor
|
|
|
307
310
|
selector: '[slStatCardFigure]',
|
|
308
311
|
standalone: true,
|
|
309
312
|
exportAs: 'slStatCardFigure',
|
|
310
|
-
host: { 'data-part': 'figure' },
|
|
313
|
+
host: { 'data-part': 'figure', 'data-part-figure': '' },
|
|
311
314
|
}]
|
|
312
315
|
}] });
|
|
313
316
|
/** The unit, wherever the consumer puts it inside the value: `$` before, `%` after. */
|
|
314
317
|
class SlStatCardUnit {
|
|
315
318
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.7", ngImport: i0, type: SlStatCardUnit, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
316
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.1.7", type: SlStatCardUnit, isStandalone: true, selector: "[slStatCardUnit]", host: { attributes: { "data-part": "unit" } }, exportAs: ["slStatCardUnit"], ngImport: i0 });
|
|
319
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.1.7", type: SlStatCardUnit, isStandalone: true, selector: "[slStatCardUnit]", host: { attributes: { "data-part": "unit", "data-part-unit": "" } }, exportAs: ["slStatCardUnit"], ngImport: i0 });
|
|
317
320
|
}
|
|
318
321
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.7", ngImport: i0, type: SlStatCardUnit, decorators: [{
|
|
319
322
|
type: Directive,
|
|
@@ -321,12 +324,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.7", ngImpor
|
|
|
321
324
|
selector: '[slStatCardUnit]',
|
|
322
325
|
standalone: true,
|
|
323
326
|
exportAs: 'slStatCardUnit',
|
|
324
|
-
host: { 'data-part': 'unit' },
|
|
327
|
+
host: { 'data-part': 'unit', 'data-part-unit': '' },
|
|
325
328
|
}]
|
|
326
329
|
}] });
|
|
327
330
|
class SlStatCardPeriod {
|
|
328
331
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.7", ngImport: i0, type: SlStatCardPeriod, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
329
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.1.7", type: SlStatCardPeriod, isStandalone: true, selector: "[slStatCardPeriod]", host: { attributes: { "data-part": "period" } }, exportAs: ["slStatCardPeriod"], ngImport: i0 });
|
|
332
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.1.7", type: SlStatCardPeriod, isStandalone: true, selector: "[slStatCardPeriod]", host: { attributes: { "data-part": "period", "data-part-period": "" } }, exportAs: ["slStatCardPeriod"], ngImport: i0 });
|
|
330
333
|
}
|
|
331
334
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.7", ngImport: i0, type: SlStatCardPeriod, decorators: [{
|
|
332
335
|
type: Directive,
|
|
@@ -334,7 +337,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.7", ngImpor
|
|
|
334
337
|
selector: '[slStatCardPeriod]',
|
|
335
338
|
standalone: true,
|
|
336
339
|
exportAs: 'slStatCardPeriod',
|
|
337
|
-
host: { 'data-part': 'period' },
|
|
340
|
+
host: { 'data-part': 'period', 'data-part-period': '' },
|
|
338
341
|
}]
|
|
339
342
|
}] });
|
|
340
343
|
/**
|
|
@@ -346,7 +349,7 @@ class SlStatCardComparison {
|
|
|
346
349
|
shown = computed(() => this.card.loading() || this.card.status() === 'ready', /* @ts-ignore */
|
|
347
350
|
...(ngDevMode ? [{ debugName: "shown" }] : /* istanbul ignore next */ []));
|
|
348
351
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.7", ngImport: i0, type: SlStatCardComparison, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
349
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.7", type: SlStatCardComparison, isStandalone: true, selector: "[slStatCardComparison]", host: { attributes: { "data-part": "comparison" }, properties: { "attr.hidden": "shown() ? null : \"\"" } }, exportAs: ["slStatCardComparison"], ngImport: i0, template: `@if (card.loading()) {
|
|
352
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.7", type: SlStatCardComparison, isStandalone: true, selector: "[slStatCardComparison]", host: { attributes: { "data-part": "comparison", "data-part-comparison": "" }, properties: { "attr.hidden": "shown() ? null : \"\"" } }, exportAs: ["slStatCardComparison"], ngImport: i0, template: `@if (card.loading()) {
|
|
350
353
|
<span slSkeleton inlineSize="10em"></span>
|
|
351
354
|
} @else {
|
|
352
355
|
<ng-content />
|
|
@@ -366,7 +369,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.7", ngImpor
|
|
|
366
369
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
367
370
|
encapsulation: ViewEncapsulation.None,
|
|
368
371
|
exportAs: 'slStatCardComparison',
|
|
369
|
-
host: {
|
|
372
|
+
host: {
|
|
373
|
+
'data-part': 'comparison',
|
|
374
|
+
'data-part-comparison': '',
|
|
375
|
+
'[attr.hidden]': 'shown() ? null : ""',
|
|
376
|
+
},
|
|
370
377
|
}]
|
|
371
378
|
}] });
|
|
372
379
|
/**
|
|
@@ -379,7 +386,7 @@ class SlStatCardTrend {
|
|
|
379
386
|
shown = computed(() => this.card.loading() || this.card.status() === 'ready', /* @ts-ignore */
|
|
380
387
|
...(ngDevMode ? [{ debugName: "shown" }] : /* istanbul ignore next */ []));
|
|
381
388
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.7", ngImport: i0, type: SlStatCardTrend, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
382
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.7", type: SlStatCardTrend, isStandalone: true, selector: "[slStatCardTrend]", host: { attributes: { "data-part": "trend" }, properties: { "attr.hidden": "shown() ? null : \"\"" } }, exportAs: ["slStatCardTrend"], ngImport: i0, template: `@if (card.loading()) {
|
|
389
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.7", type: SlStatCardTrend, isStandalone: true, selector: "[slStatCardTrend]", host: { attributes: { "data-part": "trend", "data-part-trend": "" }, properties: { "attr.hidden": "shown() ? null : \"\"" } }, exportAs: ["slStatCardTrend"], ngImport: i0, template: `@if (card.loading()) {
|
|
383
390
|
<span slSkeleton shape="block"></span>
|
|
384
391
|
} @else {
|
|
385
392
|
<ng-content />
|
|
@@ -399,7 +406,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.7", ngImpor
|
|
|
399
406
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
400
407
|
encapsulation: ViewEncapsulation.None,
|
|
401
408
|
exportAs: 'slStatCardTrend',
|
|
402
|
-
host: { 'data-part': 'trend', '[attr.hidden]': 'shown() ? null : ""' },
|
|
409
|
+
host: { 'data-part': 'trend', 'data-part-trend': '', '[attr.hidden]': 'shown() ? null : ""' },
|
|
403
410
|
}]
|
|
404
411
|
}] });
|
|
405
412
|
/** What is said in place of a value that is missing or failed. Shown only then. */
|
|
@@ -408,7 +415,7 @@ class SlStatCardMessage {
|
|
|
408
415
|
shown = computed(() => !this.card.loading() && this.card.status() !== 'ready', /* @ts-ignore */
|
|
409
416
|
...(ngDevMode ? [{ debugName: "shown" }] : /* istanbul ignore next */ []));
|
|
410
417
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.7", ngImport: i0, type: SlStatCardMessage, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
411
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.1.7", type: SlStatCardMessage, isStandalone: true, selector: "[slStatCardMessage]", host: { attributes: { "data-part": "message" }, properties: { "attr.hidden": "shown() ? null : \"\"" } }, exportAs: ["slStatCardMessage"], ngImport: i0 });
|
|
418
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.1.7", type: SlStatCardMessage, isStandalone: true, selector: "[slStatCardMessage]", host: { attributes: { "data-part": "message", "data-part-message": "" }, properties: { "attr.hidden": "shown() ? null : \"\"" } }, exportAs: ["slStatCardMessage"], ngImport: i0 });
|
|
412
419
|
}
|
|
413
420
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.7", ngImport: i0, type: SlStatCardMessage, decorators: [{
|
|
414
421
|
type: Directive,
|
|
@@ -416,7 +423,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.7", ngImpor
|
|
|
416
423
|
selector: '[slStatCardMessage]',
|
|
417
424
|
standalone: true,
|
|
418
425
|
exportAs: 'slStatCardMessage',
|
|
419
|
-
host: { 'data-part': 'message', '[attr.hidden]': 'shown() ? null : ""' },
|
|
426
|
+
host: { 'data-part': 'message', 'data-part-message': '', '[attr.hidden]': 'shown() ? null : ""' },
|
|
420
427
|
}]
|
|
421
428
|
}] });
|
|
422
429
|
|
|
@@ -442,7 +449,7 @@ class SlStatCardValue {
|
|
|
442
449
|
}, /* @ts-ignore */
|
|
443
450
|
...(ngDevMode ? [{ debugName: "formatted" }] : /* istanbul ignore next */ []));
|
|
444
451
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.7", ngImport: i0, type: SlStatCardValue, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
445
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.7", type: SlStatCardValue, isStandalone: true, selector: "[slStatCardValue]", inputs: { value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null }, formatOptions: { classPropertyName: "formatOptions", publicName: "formatOptions", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "data-part": "value" } }, exportAs: ["slStatCardValue"], ngImport: i0, template: `@if (card.loading()) {
|
|
452
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.7", type: SlStatCardValue, isStandalone: true, selector: "[slStatCardValue]", inputs: { value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null }, formatOptions: { classPropertyName: "formatOptions", publicName: "formatOptions", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "data-part": "value", "data-part-value": "" } }, exportAs: ["slStatCardValue"], ngImport: i0, template: `@if (card.loading()) {
|
|
446
453
|
<span slSkeleton inlineSize="5ch"></span>
|
|
447
454
|
} @else if (card.status() !== 'ready') {
|
|
448
455
|
{{ card.t('empty') }}
|
|
@@ -466,7 +473,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.7", ngImpor
|
|
|
466
473
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
467
474
|
encapsulation: ViewEncapsulation.None,
|
|
468
475
|
exportAs: 'slStatCardValue',
|
|
469
|
-
host: { 'data-part': 'value' },
|
|
476
|
+
host: { 'data-part': 'value', 'data-part-value': '' },
|
|
470
477
|
}]
|
|
471
478
|
}], propDecorators: { value: [{ type: i0.Input, args: [{ isSignal: true, alias: "value", required: false }] }], formatOptions: [{ type: i0.Input, args: [{ isSignal: true, alias: "formatOptions", required: false }] }] } });
|
|
472
479
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"slotted-angular-stat-card.mjs","sources":["../../stat-card/src/stat-card-defaults.ts","../../stat-card/src/stat-card.constants.ts","../../stat-card/src/stat-card.ts","../../stat-card/src/stat-card-delta.ts","../../stat-card/src/stat-card-parts.ts","../../stat-card/src/stat-card-value.ts","../../stat-card/src/slotted-angular-stat-card.ts"],"sourcesContent":["import { inject, InjectionToken } from '@angular/core';\n\nimport type {\n StatCardFill,\n StatCardGoodWhen,\n StatCardLayout,\n StatCardSize,\n} from './stat-card.constants';\n\n/**\n * What every card in an application does before any of them states anything\n * of its own. `goodWhen` is here because a product usually has one answer —\n * a sales dashboard wants everything up, an operations one wants everything\n * down — and a card that disagrees says so.\n */\nexport interface StatCardDefaults {\n fill?: StatCardFill;\n formatOptions?: Intl.NumberFormatOptions;\n goodWhen?: StatCardGoodWhen;\n layout?: StatCardLayout;\n size?: StatCardSize;\n}\n\nexport const STAT_CARD_DEFAULTS_TOKEN = new InjectionToken<StatCardDefaults>(\n 'slotted stat-card defaults',\n { providedIn: 'root', factory: (): StatCardDefaults => ({}) },\n);\n\n/**\n * An explicit input is never overridden by the token. The words and the locale\n * come from the language in force (`provideSlotted`).\n */\nexport function provideStatCardDefaults(defaults: StatCardDefaults) {\n return { provide: STAT_CARD_DEFAULTS_TOKEN, useValue: defaults };\n}\n\nexport function injectStatCardDefaults(): StatCardDefaults {\n return inject(STAT_CARD_DEFAULTS_TOKEN);\n}\n","export type StatCardSize = 'sm' | 'md' | 'lg';\nexport type StatCardFill = 'outline' | 'elevated' | 'subtle' | 'plain';\nexport type StatCardLayout = 'inline' | 'stacked';\nexport type StatCardValueStatus = 'ready' | 'empty' | 'error';\nexport type StatCardGoodWhen = 'up' | 'down' | 'none';\nexport type StatCardTone = 'neutral' | 'accent' | 'secondary' | 'success' | 'warning' | 'danger';\nexport type StatCardDirection = 'up' | 'down' | 'flat';\nexport type StatCardDeltaFormat = 'percent' | 'decimal';\n\n/** The direction of a change, from its sign. */\nexport function trendOf(value: number | undefined): StatCardDirection {\n if (value === undefined || Number.isNaN(value) || value === 0) return 'flat';\n return value > 0 ? 'up' : 'down';\n}\n\n/**\n * The tone of a change, from what the metric means and never from the sign:\n * a rise is good when up is good and bad when down is; a fall is the reverse;\n * a flat change, or a metric with no valence, is neutral.\n */\nexport function toneOf(trend: StatCardDirection, goodWhen: StatCardGoodWhen): StatCardTone {\n if (trend === 'flat' || goodWhen === 'none') return 'neutral';\n return (trend === 'up') === (goodWhen === 'up') ? 'success' : 'danger';\n}\n","import {\n booleanAttribute,\n ChangeDetectionStrategy,\n Component,\n computed,\n HostAttributeToken,\n inject,\n input,\n numberAttribute,\n ViewEncapsulation,\n} from '@angular/core';\nimport { injectLocale, injectMessages } from '@slotted/angular/i18n';\nimport { type PartialMessages, statCardMessages, type StatCardMessages } from '@slotted/core/i18n';\n\nimport { injectStatCardDefaults } from './stat-card-defaults';\nimport {\n toneOf,\n trendOf,\n type StatCardFill,\n type StatCardGoodWhen,\n type StatCardLayout,\n type StatCardSize,\n type StatCardTone,\n type StatCardValueStatus,\n} from './stat-card.constants';\n\nlet nextId = 0;\n\n/**\n * A metric with its name, its change and its trend, in a frame.\n *\n * The root holds the facts the parts read — which way is good, the change,\n * the status, whether it is loading — and derives the one thing two parts\n * have to agree on: the tone of the change, which the delta wears and the\n * trend hands to its sparkline. It is derived here, from `delta` and\n * `goodWhen`, so the first render already carries it.\n *\n * The root is a group named by its label, so a reader who lands on the\n * action inside it hears which metric it belongs to; an `aria-label` or\n * `aria-labelledby` the consumer wrote on the element wins. It carries\n * `aria-busy` while loading; the placeholders are `skeleton`s, and a\n * consumer who wants one announcement for a whole dashboard wraps it in a\n * `slSkeletonRegion`.\n */\n@Component({\n selector: '[slStatCard]',\n standalone: true,\n template: '<div data-part=\"body\"><ng-content /></div>',\n styleUrl: '../../../styles/src/stat-card/stat-card.css',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n exportAs: 'slStatCard',\n host: {\n 'data-ui': 'stat-card',\n 'data-part': 'root',\n role: 'group',\n '[attr.aria-labelledby]': 'labelledBy()',\n '[attr.aria-busy]': 'loading() ? \"true\" : null',\n '[attr.data-size]': 'resolvedSize()',\n '[attr.data-fill]': 'resolvedFill()',\n '[attr.data-layout]': 'resolvedLayout()',\n '[attr.data-status]': 'status()',\n '[attr.data-good-when]': 'resolvedGoodWhen()',\n '[attr.data-tone]': 'resolvedTone() ?? null',\n '[attr.data-loading]': 'loading() ? \"\" : null',\n },\n})\nexport class SlStatCard {\n readonly size = input<StatCardSize | undefined>(undefined);\n readonly fill = input<StatCardFill | undefined>(undefined);\n readonly layout = input<StatCardLayout | undefined>(undefined);\n /** Whether there is a value to show, and if not, why. */\n readonly status = input<StatCardValueStatus>('ready');\n /** The value is still on its way: every part stands in with a placeholder. */\n readonly loading = input<boolean, unknown>(false, { transform: booleanAttribute });\n /** Which way is good for this metric. The delta's tone is derived from it, never from the sign. */\n readonly goodWhen = input<StatCardGoodWhen | undefined>(undefined);\n /**\n * The change since the comparison period, as the first delta inside reads\n * it: a fraction for a percentage (`0.124` is +12.4%), or a number.\n */\n readonly delta = input<number | undefined, unknown>(undefined, { transform: optionalNumber });\n /** The tone the card hands to its trend. Unset, it is the delta's. */\n readonly tone = input<StatCardTone | undefined>(undefined);\n /** The locale numbers are written in; the language in force when absent. */\n readonly locale = input<string | undefined>(undefined);\n /** How the value, the delta and the comparison read numbers. */\n readonly formatOptions = input<Intl.NumberFormatOptions | undefined>(undefined);\n /**\n * Words laid over the catalog of the language in force, key by key: what a\n * screen reader hears beside a change (`up`, `down`, `flat`, read before the\n * number because a sign is a glyph some readers skip) and what stands in for\n * a value that is not there (`empty`).\n */\n readonly messages = input<PartialMessages<StatCardMessages> | undefined>(undefined);\n\n private readonly defaults = injectStatCardDefaults();\n private readonly appLocale = injectLocale();\n private readonly ownLabel = inject(new HostAttributeToken('aria-label'), { optional: true });\n private readonly ownLabelledBy = inject(new HostAttributeToken('aria-labelledby'), {\n optional: true,\n });\n\n /** The id the label takes, and the root is named by. */\n readonly labelId = `slotted-stat-card-label-${nextId++}`;\n\n readonly resolvedSize = computed(() => this.size() ?? this.defaults.size ?? 'md');\n readonly resolvedFill = computed(() => this.fill() ?? this.defaults.fill ?? 'outline');\n readonly resolvedLayout = computed(() => this.layout() ?? this.defaults.layout ?? 'inline');\n readonly resolvedGoodWhen = computed(() => this.goodWhen() ?? this.defaults.goodWhen ?? 'up');\n readonly resolvedLocale = computed(() => this.locale() ?? this.appLocale());\n readonly resolvedFormatOptions = computed(\n () => this.formatOptions() ?? this.defaults.formatOptions,\n );\n /** The family's words in the language in force, with this card's `messages` laid over them. */\n readonly t = injectMessages(statCardMessages, this.messages);\n readonly resolvedTone = computed<StatCardTone | undefined>(() => {\n const explicit = this.tone();\n if (explicit !== undefined) return explicit;\n const delta = this.delta();\n return delta === undefined ? undefined : toneOf(trendOf(delta), this.resolvedGoodWhen());\n });\n\n readonly labelledBy = computed(() =>\n this.ownLabel !== null ? null : (this.ownLabelledBy ?? this.labelId),\n );\n}\n\nexport function optionalNumber(value: unknown): number | undefined {\n if (value === undefined || value === null || value === '') return undefined;\n return numberAttribute(value);\n}\n\nexport function optionalBoolean(value: unknown): boolean | undefined {\n return value === undefined ? undefined : booleanAttribute(value);\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n computed,\n inject,\n input,\n ViewEncapsulation,\n} from '@angular/core';\nimport { SlGlyph, SlIcon } from '@slotted/angular/icon';\nimport { SlSkeleton } from '@slotted/angular/skeleton';\nimport { SlVisuallyHidden } from '@slotted/angular/visually-hidden';\n\nimport { SlStatCard, optionalNumber } from './stat-card';\nimport {\n toneOf,\n trendOf,\n type StatCardDeltaFormat,\n type StatCardGoodWhen,\n type StatCardTone,\n} from './stat-card.constants';\n\n/**\n * The change, with the mark that says which way and the word a screen reader\n * hears before the number. `value` is the root's `delta` unless the part\n * states its own, so a second delta on one card — month over month beside\n * year over year — is one more part with one more value.\n *\n * `percent` reads the value as a fraction, which is what a division gives;\n * the sign is always shown except on nought. The tone is derived from the\n * direction and from `goodWhen`, never from the sign, and an explicit `tone`\n * wins.\n */\n@Component({\n selector: '[slStatCardDelta]',\n standalone: true,\n imports: [SlGlyph, SlIcon, SlSkeleton, SlVisuallyHidden],\n /* One glyph for a rise and a fall, turned over by the sheet for a fall. */\n template: `@if (card.loading()) {\n <span slSkeleton inlineSize=\"3.5em\"></span>\n } @else {\n <span data-part=\"indicator\" aria-hidden=\"true\"\n ><span slIcon [directional]=\"trend() !== 'flat'\"\n ><svg slGlyph [name]=\"trend() === 'flat' ? 'minus' : 'trending-up'\"></svg></span></span\n ><span slVisuallyHidden>{{ card.t(trend()) }} </span>{{ formatted() }}<ng-content />\n }`,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n exportAs: 'slStatCardDelta',\n host: {\n 'data-part': 'delta',\n '[attr.data-trend]': 'card.loading() ? \"flat\" : trend()',\n '[attr.data-tone]': 'card.loading() ? \"neutral\" : resolvedTone()',\n '[attr.hidden]': 'shown() ? null : \"\"',\n },\n})\nexport class SlStatCardDelta {\n /** The change. Unset, the root's `delta`. */\n readonly value = input<number | undefined, unknown>(undefined, { transform: optionalNumber });\n /** `percent` reads the value as a fraction; `decimal` reads it as it is. */\n readonly format = input<StatCardDeltaFormat>('percent');\n readonly formatOptions = input<Intl.NumberFormatOptions | undefined>(undefined);\n /** Unset, the root's. */\n readonly goodWhen = input<StatCardGoodWhen | undefined>(undefined);\n /** An explicit tone, which wins over the one derived from `goodWhen`. */\n readonly tone = input<StatCardTone | undefined>(undefined);\n\n protected readonly card = inject(SlStatCard);\n\n readonly change = computed(() => this.value() ?? this.card.delta());\n readonly trend = computed(() => trendOf(this.change()));\n readonly resolvedTone = computed(\n () => this.tone() ?? toneOf(this.trend(), this.goodWhen() ?? this.card.resolvedGoodWhen()),\n );\n readonly shown = computed(() => this.card.loading() || this.card.status() === 'ready');\n\n readonly formatted = computed(() => {\n const change = this.change();\n if (typeof change !== 'number') return '';\n return new Intl.NumberFormat(this.card.resolvedLocale(), {\n signDisplay: 'exceptZero',\n ...(this.format() === 'percent' ? { style: 'percent', maximumFractionDigits: 1 } : {}),\n ...this.card.resolvedFormatOptions(),\n ...this.formatOptions(),\n }).format(change);\n });\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n computed,\n Directive,\n HostAttributeToken,\n inject,\n ViewEncapsulation,\n} from '@angular/core';\nimport { SlSkeleton } from '@slotted/angular/skeleton';\n\nimport { SlStatCard } from './stat-card';\n\n/** The row with the name, a status beside it and an action at the end. */\n@Directive({\n selector: '[slStatCardHeader]',\n standalone: true,\n exportAs: 'slStatCardHeader',\n host: { 'data-part': 'header' },\n})\nexport class SlStatCardHeader {}\n\n/**\n * The name of the metric. It is the element the root is named by, so it\n * carries the id the root points at; an `id` the consumer wrote wins, and\n * the root then names nothing, which is the consumer's decision to make.\n */\n@Directive({\n selector: '[slStatCardLabel]',\n standalone: true,\n exportAs: 'slStatCardLabel',\n host: { 'data-part': 'label', '[attr.id]': 'id' },\n})\nexport class SlStatCardLabel {\n private readonly card = inject(SlStatCard);\n private readonly ownId = inject(new HostAttributeToken('id'), { optional: true });\n readonly id = this.ownId ?? this.card.labelId;\n}\n\n/** A slot beside the name for a badge or a status indicator. */\n@Directive({\n selector: '[slStatCardStatus]',\n standalone: true,\n exportAs: 'slStatCardStatus',\n host: { 'data-part': 'status' },\n})\nexport class SlStatCardStatus {}\n\n/** The place at the end of the header for the consumer's link or button. */\n@Directive({\n selector: '[slStatCardAction]',\n standalone: true,\n exportAs: 'slStatCardAction',\n host: { 'data-part': 'action' },\n})\nexport class SlStatCardAction {}\n\n/** The value with its unit and its delta on one line, and the comparison under them. */\n@Directive({\n selector: '[slStatCardFigure]',\n standalone: true,\n exportAs: 'slStatCardFigure',\n host: { 'data-part': 'figure' },\n})\nexport class SlStatCardFigure {}\n\n/** The unit, wherever the consumer puts it inside the value: `$` before, `%` after. */\n@Directive({\n selector: '[slStatCardUnit]',\n standalone: true,\n exportAs: 'slStatCardUnit',\n host: { 'data-part': 'unit' },\n})\nexport class SlStatCardUnit {}\n\n@Directive({\n selector: '[slStatCardPeriod]',\n standalone: true,\n exportAs: 'slStatCardPeriod',\n host: { 'data-part': 'period' },\n})\nexport class SlStatCardPeriod {}\n\n/**\n * The prose under the figure: what the value was, and the period. Shown\n * only while there is a value to compare; a placeholder while loading.\n */\n@Component({\n selector: '[slStatCardComparison]',\n standalone: true,\n imports: [SlSkeleton],\n template: `@if (card.loading()) {\n <span slSkeleton inlineSize=\"10em\"></span>\n } @else {\n <ng-content />\n }`,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n exportAs: 'slStatCardComparison',\n host: { 'data-part': 'comparison', '[attr.hidden]': 'shown() ? null : \"\"' },\n})\nexport class SlStatCardComparison {\n protected readonly card = inject(SlStatCard);\n readonly shown = computed(() => this.card.loading() || this.card.status() === 'ready');\n}\n\n/**\n * Where a sparkline goes. The stylesheet hands it the card's tone and the\n * card's ground; while loading it holds a block the sparkline's height, so\n * the card does not change size when the line arrives.\n */\n@Component({\n selector: '[slStatCardTrend]',\n standalone: true,\n imports: [SlSkeleton],\n template: `@if (card.loading()) {\n <span slSkeleton shape=\"block\"></span>\n } @else {\n <ng-content />\n }`,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n exportAs: 'slStatCardTrend',\n host: { 'data-part': 'trend', '[attr.hidden]': 'shown() ? null : \"\"' },\n})\nexport class SlStatCardTrend {\n protected readonly card = inject(SlStatCard);\n readonly shown = computed(() => this.card.loading() || this.card.status() === 'ready');\n}\n\n/** What is said in place of a value that is missing or failed. Shown only then. */\n@Directive({\n selector: '[slStatCardMessage]',\n standalone: true,\n exportAs: 'slStatCardMessage',\n host: { 'data-part': 'message', '[attr.hidden]': 'shown() ? null : \"\"' },\n})\nexport class SlStatCardMessage {\n private readonly card = inject(SlStatCard);\n readonly shown = computed(() => !this.card.loading() && this.card.status() !== 'ready');\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n computed,\n input,\n ViewEncapsulation,\n} from '@angular/core';\nimport { inject } from '@angular/core';\nimport { SlSkeleton } from '@slotted/angular/skeleton';\n\nimport { SlStatCard } from './stat-card';\n\n/**\n * The number. A numeric `value` is formatted with the card's locale and\n * `formatOptions` — `notation: 'compact'` is how 12,900 becomes 12.9K — and\n * projected content is the consumer's own rendering, unit and all, after\n * it. A missing or failed value is the `empty` message, a dash; a loading\n * one is a placeholder five figures wide, on the value's own line.\n */\n@Component({\n selector: '[slStatCardValue]',\n standalone: true,\n imports: [SlSkeleton],\n template: `@if (card.loading()) {\n <span slSkeleton inlineSize=\"5ch\"></span>\n } @else if (card.status() !== 'ready') {\n {{ card.t('empty') }}\n } @else {\n {{ formatted() }}<ng-content />\n }`,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n exportAs: 'slStatCardValue',\n host: { 'data-part': 'value' },\n})\nexport class SlStatCardValue {\n /** A number, formatted with the card's locale and `formatOptions`; the text otherwise. */\n readonly value = input<number | string | undefined>(undefined);\n readonly formatOptions = input<Intl.NumberFormatOptions | undefined>(undefined);\n\n protected readonly card = inject(SlStatCard);\n\n readonly formatted = computed(() => {\n const value = this.value();\n if (typeof value !== 'number') return value ?? '';\n return new Intl.NumberFormat(\n this.card.resolvedLocale(),\n this.formatOptions() ?? this.card.resolvedFormatOptions(),\n ).format(value);\n });\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"slotted-angular-stat-card.mjs","sources":["../../stat-card/src/stat-card-defaults.ts","../../stat-card/src/stat-card.constants.ts","../../stat-card/src/stat-card.ts","../../stat-card/src/stat-card-delta.ts","../../stat-card/src/stat-card-parts.ts","../../stat-card/src/stat-card-value.ts","../../stat-card/src/slotted-angular-stat-card.ts"],"sourcesContent":["import { inject, InjectionToken } from '@angular/core';\n\nimport type {\n StatCardFill,\n StatCardGoodWhen,\n StatCardLayout,\n StatCardSize,\n} from './stat-card.constants';\n\n/**\n * What every card in an application does before any of them states anything\n * of its own. `goodWhen` is here because a product usually has one answer —\n * a sales dashboard wants everything up, an operations one wants everything\n * down — and a card that disagrees says so.\n */\nexport interface StatCardDefaults {\n fill?: StatCardFill;\n formatOptions?: Intl.NumberFormatOptions;\n goodWhen?: StatCardGoodWhen;\n layout?: StatCardLayout;\n size?: StatCardSize;\n}\n\nexport const STAT_CARD_DEFAULTS_TOKEN = new InjectionToken<StatCardDefaults>(\n 'slotted stat-card defaults',\n { providedIn: 'root', factory: (): StatCardDefaults => ({}) },\n);\n\n/**\n * An explicit input is never overridden by the token. The words and the locale\n * come from the language in force (`provideSlotted`).\n */\nexport function provideStatCardDefaults(defaults: StatCardDefaults) {\n return { provide: STAT_CARD_DEFAULTS_TOKEN, useValue: defaults };\n}\n\nexport function injectStatCardDefaults(): StatCardDefaults {\n return inject(STAT_CARD_DEFAULTS_TOKEN);\n}\n","export type StatCardSize = 'sm' | 'md' | 'lg';\nexport type StatCardFill = 'outline' | 'elevated' | 'subtle' | 'plain';\nexport type StatCardLayout = 'inline' | 'stacked';\nexport type StatCardValueStatus = 'ready' | 'empty' | 'error';\nexport type StatCardGoodWhen = 'up' | 'down' | 'none';\nexport type StatCardTone =\n 'neutral' | 'accent' | 'secondary' | 'info' | 'success' | 'warning' | 'danger';\nexport type StatCardDirection = 'up' | 'down' | 'flat';\nexport type StatCardDeltaFormat = 'percent' | 'decimal';\n\n/** The direction of a change, from its sign. */\nexport function trendOf(value: number | undefined): StatCardDirection {\n if (value === undefined || Number.isNaN(value) || value === 0) return 'flat';\n return value > 0 ? 'up' : 'down';\n}\n\n/**\n * The tone of a change, from what the metric means and never from the sign:\n * a rise is good when up is good and bad when down is; a fall is the reverse;\n * a flat change, or a metric with no valence, is neutral.\n */\nexport function toneOf(trend: StatCardDirection, goodWhen: StatCardGoodWhen): StatCardTone {\n if (trend === 'flat' || goodWhen === 'none') return 'neutral';\n return (trend === 'up') === (goodWhen === 'up') ? 'success' : 'danger';\n}\n","import {\n booleanAttribute,\n ChangeDetectionStrategy,\n Component,\n computed,\n HostAttributeToken,\n inject,\n input,\n numberAttribute,\n ViewEncapsulation,\n} from '@angular/core';\nimport { injectLocale, injectMessages } from '@slotted/angular/i18n';\nimport { type PartialMessages, statCardMessages, type StatCardMessages } from '@slotted/core/i18n';\n\nimport { injectStatCardDefaults } from './stat-card-defaults';\nimport {\n toneOf,\n trendOf,\n type StatCardFill,\n type StatCardGoodWhen,\n type StatCardLayout,\n type StatCardSize,\n type StatCardTone,\n type StatCardValueStatus,\n} from './stat-card.constants';\n\nlet nextId = 0;\n\n/**\n * A metric with its name, its change and its trend, in a frame.\n *\n * The root holds the facts the parts read — which way is good, the change,\n * the status, whether it is loading — and derives the one thing two parts\n * have to agree on: the tone of the change, which the delta wears and the\n * trend hands to its sparkline. It is derived here, from `delta` and\n * `goodWhen`, so the first render already carries it.\n *\n * The root is a group named by its label, so a reader who lands on the\n * action inside it hears which metric it belongs to; an `aria-label` or\n * `aria-labelledby` the consumer wrote on the element wins. It carries\n * `aria-busy` while loading; the placeholders are `skeleton`s, and a\n * consumer who wants one announcement for a whole dashboard wraps it in a\n * `slSkeletonRegion`.\n */\n@Component({\n selector: '[slStatCard]',\n standalone: true,\n template: '<div data-part=\"body\" data-part-body=\"\"><ng-content /></div>',\n styleUrl: '../../../styles/src/stat-card/stat-card.css',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n exportAs: 'slStatCard',\n host: {\n 'data-ui': 'stat-card',\n 'data-ui-stat-card': '',\n 'data-part': 'root',\n 'data-part-root': '',\n role: 'group',\n '[attr.aria-labelledby]': 'labelledBy()',\n '[attr.aria-busy]': 'loading() ? \"true\" : null',\n '[attr.data-size]': 'resolvedSize()',\n '[attr.data-fill]': 'resolvedFill()',\n '[attr.data-layout]': 'resolvedLayout()',\n '[attr.data-status]': 'status()',\n '[attr.data-good-when]': 'resolvedGoodWhen()',\n '[attr.data-tone]': 'resolvedTone() ?? null',\n '[attr.data-loading]': 'loading() ? \"\" : null',\n },\n})\nexport class SlStatCard {\n readonly size = input<StatCardSize | undefined>(undefined);\n readonly fill = input<StatCardFill | undefined>(undefined);\n readonly layout = input<StatCardLayout | undefined>(undefined);\n /** Whether there is a value to show, and if not, why. */\n readonly status = input<StatCardValueStatus>('ready');\n /** The value is still on its way: every part stands in with a placeholder. */\n readonly loading = input<boolean, unknown>(false, { transform: booleanAttribute });\n /** Which way is good for this metric. The delta's tone is derived from it, never from the sign. */\n readonly goodWhen = input<StatCardGoodWhen | undefined>(undefined);\n /**\n * The change since the comparison period, as the first delta inside reads\n * it: a fraction for a percentage (`0.124` is +12.4%), or a number.\n */\n readonly delta = input<number | undefined, unknown>(undefined, { transform: optionalNumber });\n /** The tone the card hands to its trend. Unset, it is the delta's. */\n readonly tone = input<StatCardTone | undefined>(undefined);\n /** The locale numbers are written in; the language in force when absent. */\n readonly locale = input<string | undefined>(undefined);\n /** How the value, the delta and the comparison read numbers. */\n readonly formatOptions = input<Intl.NumberFormatOptions | undefined>(undefined);\n /**\n * Words laid over the catalog of the language in force, key by key: what a\n * screen reader hears beside a change (`up`, `down`, `flat`, read before the\n * number because a sign is a glyph some readers skip) and what stands in for\n * a value that is not there (`empty`).\n */\n readonly messages = input<PartialMessages<StatCardMessages> | undefined>(undefined);\n\n private readonly defaults = injectStatCardDefaults();\n private readonly appLocale = injectLocale();\n private readonly ownLabel = inject(new HostAttributeToken('aria-label'), { optional: true });\n private readonly ownLabelledBy = inject(new HostAttributeToken('aria-labelledby'), {\n optional: true,\n });\n\n /** The id the label takes, and the root is named by. */\n readonly labelId = `slotted-stat-card-label-${nextId++}`;\n\n readonly resolvedSize = computed(() => this.size() ?? this.defaults.size ?? 'md');\n readonly resolvedFill = computed(() => this.fill() ?? this.defaults.fill ?? 'outline');\n readonly resolvedLayout = computed(() => this.layout() ?? this.defaults.layout ?? 'inline');\n readonly resolvedGoodWhen = computed(() => this.goodWhen() ?? this.defaults.goodWhen ?? 'up');\n readonly resolvedLocale = computed(() => this.locale() ?? this.appLocale());\n readonly resolvedFormatOptions = computed(\n () => this.formatOptions() ?? this.defaults.formatOptions,\n );\n /** The family's words in the language in force, with this card's `messages` laid over them. */\n readonly t = injectMessages(statCardMessages, this.messages);\n readonly resolvedTone = computed<StatCardTone | undefined>(() => {\n const explicit = this.tone();\n if (explicit !== undefined) return explicit;\n const delta = this.delta();\n return delta === undefined ? undefined : toneOf(trendOf(delta), this.resolvedGoodWhen());\n });\n\n readonly labelledBy = computed(() =>\n this.ownLabel !== null ? null : (this.ownLabelledBy ?? this.labelId),\n );\n}\n\nexport function optionalNumber(value: unknown): number | undefined {\n if (value === undefined || value === null || value === '') return undefined;\n return numberAttribute(value);\n}\n\nexport function optionalBoolean(value: unknown): boolean | undefined {\n return value === undefined ? undefined : booleanAttribute(value);\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n computed,\n inject,\n input,\n ViewEncapsulation,\n} from '@angular/core';\nimport { SlGlyph, SlIcon } from '@slotted/angular/icon';\nimport { SlSkeleton } from '@slotted/angular/skeleton';\nimport { SlVisuallyHidden } from '@slotted/angular/visually-hidden';\n\nimport { SlStatCard, optionalNumber } from './stat-card';\nimport {\n toneOf,\n trendOf,\n type StatCardDeltaFormat,\n type StatCardGoodWhen,\n type StatCardTone,\n} from './stat-card.constants';\n\n/**\n * The change, with the mark that says which way and the word a screen reader\n * hears before the number. `value` is the root's `delta` unless the part\n * states its own, so a second delta on one card — month over month beside\n * year over year — is one more part with one more value.\n *\n * `percent` reads the value as a fraction, which is what a division gives;\n * the sign is always shown except on nought. The tone is derived from the\n * direction and from `goodWhen`, never from the sign, and an explicit `tone`\n * wins.\n */\n@Component({\n selector: '[slStatCardDelta]',\n standalone: true,\n imports: [SlGlyph, SlIcon, SlSkeleton, SlVisuallyHidden],\n /* One glyph for a rise and a fall, turned over by the sheet for a fall. */\n template: `@if (card.loading()) {\n <span slSkeleton inlineSize=\"3.5em\"></span>\n } @else {\n <span data-part=\"indicator\" data-part-indicator=\"\" aria-hidden=\"true\"\n ><span slIcon [directional]=\"trend() !== 'flat'\"\n ><svg slGlyph [name]=\"trend() === 'flat' ? 'minus' : 'trending-up'\"></svg></span></span\n ><span slVisuallyHidden>{{ card.t(trend()) }} </span>{{ formatted() }}<ng-content />\n }`,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n exportAs: 'slStatCardDelta',\n host: {\n 'data-part': 'delta',\n 'data-part-delta': '',\n '[attr.data-trend]': 'card.loading() ? \"flat\" : trend()',\n '[attr.data-tone]': 'card.loading() ? \"neutral\" : resolvedTone()',\n '[attr.hidden]': 'shown() ? null : \"\"',\n },\n})\nexport class SlStatCardDelta {\n /** The change. Unset, the root's `delta`. */\n readonly value = input<number | undefined, unknown>(undefined, { transform: optionalNumber });\n /** `percent` reads the value as a fraction; `decimal` reads it as it is. */\n readonly format = input<StatCardDeltaFormat>('percent');\n readonly formatOptions = input<Intl.NumberFormatOptions | undefined>(undefined);\n /** Unset, the root's. */\n readonly goodWhen = input<StatCardGoodWhen | undefined>(undefined);\n /** An explicit tone, which wins over the one derived from `goodWhen`. */\n readonly tone = input<StatCardTone | undefined>(undefined);\n\n protected readonly card = inject(SlStatCard);\n\n readonly change = computed(() => this.value() ?? this.card.delta());\n readonly trend = computed(() => trendOf(this.change()));\n readonly resolvedTone = computed(\n () => this.tone() ?? toneOf(this.trend(), this.goodWhen() ?? this.card.resolvedGoodWhen()),\n );\n readonly shown = computed(() => this.card.loading() || this.card.status() === 'ready');\n\n readonly formatted = computed(() => {\n const change = this.change();\n if (typeof change !== 'number') return '';\n return new Intl.NumberFormat(this.card.resolvedLocale(), {\n signDisplay: 'exceptZero',\n ...(this.format() === 'percent' ? { style: 'percent', maximumFractionDigits: 1 } : {}),\n ...this.card.resolvedFormatOptions(),\n ...this.formatOptions(),\n }).format(change);\n });\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n computed,\n Directive,\n HostAttributeToken,\n inject,\n ViewEncapsulation,\n} from '@angular/core';\nimport { SlSkeleton } from '@slotted/angular/skeleton';\n\nimport { SlStatCard } from './stat-card';\n\n/** The row with the name, a status beside it and an action at the end. */\n@Directive({\n selector: '[slStatCardHeader]',\n standalone: true,\n exportAs: 'slStatCardHeader',\n host: { 'data-part': 'header', 'data-part-header': '' },\n})\nexport class SlStatCardHeader {}\n\n/**\n * The name of the metric. It is the element the root is named by, so it\n * carries the id the root points at; an `id` the consumer wrote wins, and\n * the root then names nothing, which is the consumer's decision to make.\n */\n@Directive({\n selector: '[slStatCardLabel]',\n standalone: true,\n exportAs: 'slStatCardLabel',\n host: { 'data-part': 'label', 'data-part-label': '', '[attr.id]': 'id' },\n})\nexport class SlStatCardLabel {\n private readonly card = inject(SlStatCard);\n private readonly ownId = inject(new HostAttributeToken('id'), { optional: true });\n readonly id = this.ownId ?? this.card.labelId;\n}\n\n/** A slot beside the name for a badge or a status indicator. */\n@Directive({\n selector: '[slStatCardStatus]',\n standalone: true,\n exportAs: 'slStatCardStatus',\n host: { 'data-part': 'status', 'data-part-status': '' },\n})\nexport class SlStatCardStatus {}\n\n/** The place at the end of the header for the consumer's link or button. */\n@Directive({\n selector: '[slStatCardAction]',\n standalone: true,\n exportAs: 'slStatCardAction',\n host: { 'data-part': 'action', 'data-part-action': '' },\n})\nexport class SlStatCardAction {}\n\n/** The value with its unit and its delta on one line, and the comparison under them. */\n@Directive({\n selector: '[slStatCardFigure]',\n standalone: true,\n exportAs: 'slStatCardFigure',\n host: { 'data-part': 'figure', 'data-part-figure': '' },\n})\nexport class SlStatCardFigure {}\n\n/** The unit, wherever the consumer puts it inside the value: `$` before, `%` after. */\n@Directive({\n selector: '[slStatCardUnit]',\n standalone: true,\n exportAs: 'slStatCardUnit',\n host: { 'data-part': 'unit', 'data-part-unit': '' },\n})\nexport class SlStatCardUnit {}\n\n@Directive({\n selector: '[slStatCardPeriod]',\n standalone: true,\n exportAs: 'slStatCardPeriod',\n host: { 'data-part': 'period', 'data-part-period': '' },\n})\nexport class SlStatCardPeriod {}\n\n/**\n * The prose under the figure: what the value was, and the period. Shown\n * only while there is a value to compare; a placeholder while loading.\n */\n@Component({\n selector: '[slStatCardComparison]',\n standalone: true,\n imports: [SlSkeleton],\n template: `@if (card.loading()) {\n <span slSkeleton inlineSize=\"10em\"></span>\n } @else {\n <ng-content />\n }`,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n exportAs: 'slStatCardComparison',\n host: {\n 'data-part': 'comparison',\n 'data-part-comparison': '',\n '[attr.hidden]': 'shown() ? null : \"\"',\n },\n})\nexport class SlStatCardComparison {\n protected readonly card = inject(SlStatCard);\n readonly shown = computed(() => this.card.loading() || this.card.status() === 'ready');\n}\n\n/**\n * Where a sparkline goes. The stylesheet hands it the card's tone and the\n * card's ground; while loading it holds a block the sparkline's height, so\n * the card does not change size when the line arrives.\n */\n@Component({\n selector: '[slStatCardTrend]',\n standalone: true,\n imports: [SlSkeleton],\n template: `@if (card.loading()) {\n <span slSkeleton shape=\"block\"></span>\n } @else {\n <ng-content />\n }`,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n exportAs: 'slStatCardTrend',\n host: { 'data-part': 'trend', 'data-part-trend': '', '[attr.hidden]': 'shown() ? null : \"\"' },\n})\nexport class SlStatCardTrend {\n protected readonly card = inject(SlStatCard);\n readonly shown = computed(() => this.card.loading() || this.card.status() === 'ready');\n}\n\n/** What is said in place of a value that is missing or failed. Shown only then. */\n@Directive({\n selector: '[slStatCardMessage]',\n standalone: true,\n exportAs: 'slStatCardMessage',\n host: { 'data-part': 'message', 'data-part-message': '', '[attr.hidden]': 'shown() ? null : \"\"' },\n})\nexport class SlStatCardMessage {\n private readonly card = inject(SlStatCard);\n readonly shown = computed(() => !this.card.loading() && this.card.status() !== 'ready');\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n computed,\n input,\n ViewEncapsulation,\n} from '@angular/core';\nimport { inject } from '@angular/core';\nimport { SlSkeleton } from '@slotted/angular/skeleton';\n\nimport { SlStatCard } from './stat-card';\n\n/**\n * The number. A numeric `value` is formatted with the card's locale and\n * `formatOptions` — `notation: 'compact'` is how 12,900 becomes 12.9K — and\n * projected content is the consumer's own rendering, unit and all, after\n * it. A missing or failed value is the `empty` message, a dash; a loading\n * one is a placeholder five figures wide, on the value's own line.\n */\n@Component({\n selector: '[slStatCardValue]',\n standalone: true,\n imports: [SlSkeleton],\n template: `@if (card.loading()) {\n <span slSkeleton inlineSize=\"5ch\"></span>\n } @else if (card.status() !== 'ready') {\n {{ card.t('empty') }}\n } @else {\n {{ formatted() }}<ng-content />\n }`,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n exportAs: 'slStatCardValue',\n host: { 'data-part': 'value', 'data-part-value': '' },\n})\nexport class SlStatCardValue {\n /** A number, formatted with the card's locale and `formatOptions`; the text otherwise. */\n readonly value = input<number | string | undefined>(undefined);\n readonly formatOptions = input<Intl.NumberFormatOptions | undefined>(undefined);\n\n protected readonly card = inject(SlStatCard);\n\n readonly formatted = computed(() => {\n const value = this.value();\n if (typeof value !== 'number') return value ?? '';\n return new Intl.NumberFormat(\n this.card.resolvedLocale(),\n this.formatOptions() ?? this.card.resolvedFormatOptions(),\n ).format(value);\n });\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|