@slotted/angular 0.1.0-beta.8 → 0.1.0-beta.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/docs/code-block.json +92 -92
- package/docs/code-block.md +69 -69
- package/docs/currency-field.json +7 -0
- package/docs/currency-field.md +1 -0
- package/docs/data-grid.examples.md +1 -1
- package/docs/data-grid.json +21 -4
- package/docs/data-grid.md +1 -1
- package/docs/data-grid.props.md +5 -3
- package/docs/dialog.examples.md +138 -136
- package/docs/dialog.json +8 -8
- package/docs/filter-bar.json +118 -118
- package/docs/filter-bar.md +79 -79
- package/docs/guidelines/async-feedback.md +10 -0
- package/docs/guidelines/composition.md +11 -7
- package/docs/guidelines/index.md +6 -1
- package/docs/guidelines/list-pages.md +30 -0
- package/docs/guidelines/overviews.md +10 -0
- package/docs/markdown.json +79 -79
- package/docs/markdown.md +65 -65
- package/docs/page-header.json +1 -1
- package/docs/skills/compose-screen/SKILL.md +22 -10
- package/docs/skills/review-screen/SKILL.md +6 -0
- package/docs/skills/waiting-states/SKILL.md +4 -1
- package/docs/tags-input.json +28 -2
- package/docs/tags-input.md +4 -1
- package/docs/timeline.json +131 -131
- package/docs/timeline.md +123 -123
- package/fesm2022/slotted-angular-accordion.mjs +4 -2
- package/fesm2022/slotted-angular-accordion.mjs.map +1 -1
- package/fesm2022/slotted-angular-action-bar.mjs +21 -10
- package/fesm2022/slotted-angular-action-bar.mjs.map +1 -1
- package/fesm2022/slotted-angular-action-sheet.mjs +42 -29
- package/fesm2022/slotted-angular-action-sheet.mjs.map +1 -1
- package/fesm2022/slotted-angular-alert.mjs +17 -11
- package/fesm2022/slotted-angular-alert.mjs.map +1 -1
- package/fesm2022/slotted-angular-app-shell.mjs +52 -40
- package/fesm2022/slotted-angular-app-shell.mjs.map +1 -1
- package/fesm2022/slotted-angular-aspect-ratio.mjs +4 -2
- package/fesm2022/slotted-angular-aspect-ratio.mjs.map +1 -1
- package/fesm2022/slotted-angular-attachment.mjs +31 -20
- package/fesm2022/slotted-angular-attachment.mjs.map +1 -1
- package/fesm2022/slotted-angular-avatar-group.mjs +9 -6
- package/fesm2022/slotted-angular-avatar-group.mjs.map +1 -1
- package/fesm2022/slotted-angular-avatar.mjs +9 -6
- package/fesm2022/slotted-angular-avatar.mjs.map +1 -1
- package/fesm2022/slotted-angular-badge.mjs +14 -10
- package/fesm2022/slotted-angular-badge.mjs.map +1 -1
- package/fesm2022/slotted-angular-breadcrumb.mjs +26 -18
- package/fesm2022/slotted-angular-breadcrumb.mjs.map +1 -1
- package/fesm2022/slotted-angular-button-group.mjs +7 -4
- package/fesm2022/slotted-angular-button-group.mjs.map +1 -1
- package/fesm2022/slotted-angular-button.mjs +53 -25
- package/fesm2022/slotted-angular-button.mjs.map +1 -1
- package/fesm2022/slotted-angular-calendar.mjs +68 -26
- package/fesm2022/slotted-angular-calendar.mjs.map +1 -1
- package/fesm2022/slotted-angular-card.mjs +18 -16
- package/fesm2022/slotted-angular-card.mjs.map +1 -1
- package/fesm2022/slotted-angular-carousel.mjs +22 -11
- package/fesm2022/slotted-angular-carousel.mjs.map +1 -1
- package/fesm2022/slotted-angular-cascader.mjs +158 -64
- package/fesm2022/slotted-angular-cascader.mjs.map +1 -1
- package/fesm2022/slotted-angular-chart.mjs +4 -2
- package/fesm2022/slotted-angular-chart.mjs.map +1 -1
- package/fesm2022/slotted-angular-checkbox-group.mjs +5 -3
- package/fesm2022/slotted-angular-checkbox-group.mjs.map +1 -1
- package/fesm2022/slotted-angular-checkbox.mjs +13 -8
- package/fesm2022/slotted-angular-checkbox.mjs.map +1 -1
- package/fesm2022/slotted-angular-code-block.mjs +29 -15
- package/fesm2022/slotted-angular-code-block.mjs.map +1 -1
- package/fesm2022/slotted-angular-collapsible.mjs +20 -15
- package/fesm2022/slotted-angular-collapsible.mjs.map +1 -1
- package/fesm2022/slotted-angular-color-picker.mjs +77 -22
- package/fesm2022/slotted-angular-color-picker.mjs.map +1 -1
- package/fesm2022/slotted-angular-column-manager.mjs +68 -31
- package/fesm2022/slotted-angular-column-manager.mjs.map +1 -1
- package/fesm2022/slotted-angular-combobox.mjs +77 -31
- package/fesm2022/slotted-angular-combobox.mjs.map +1 -1
- package/fesm2022/slotted-angular-command-palette.mjs +128 -51
- package/fesm2022/slotted-angular-command-palette.mjs.map +1 -1
- package/fesm2022/slotted-angular-container.mjs +6 -4
- package/fesm2022/slotted-angular-container.mjs.map +1 -1
- package/fesm2022/slotted-angular-context-menu.mjs +5 -4
- package/fesm2022/slotted-angular-context-menu.mjs.map +1 -1
- package/fesm2022/slotted-angular-currency-field.mjs +98 -32
- package/fesm2022/slotted-angular-currency-field.mjs.map +1 -1
- package/fesm2022/slotted-angular-dashboard-grid.mjs +127 -44
- package/fesm2022/slotted-angular-dashboard-grid.mjs.map +1 -1
- package/fesm2022/slotted-angular-data-grid.mjs +309 -104
- package/fesm2022/slotted-angular-data-grid.mjs.map +1 -1
- package/fesm2022/slotted-angular-data-list.mjs +83 -50
- package/fesm2022/slotted-angular-data-list.mjs.map +1 -1
- package/fesm2022/slotted-angular-date-field.mjs +38 -12
- package/fesm2022/slotted-angular-date-field.mjs.map +1 -1
- package/fesm2022/slotted-angular-date-picker.mjs +19 -9
- package/fesm2022/slotted-angular-date-picker.mjs.map +1 -1
- package/fesm2022/slotted-angular-date-range-picker.mjs +41 -16
- package/fesm2022/slotted-angular-date-range-picker.mjs.map +1 -1
- package/fesm2022/slotted-angular-datetime-field.mjs +46 -14
- package/fesm2022/slotted-angular-datetime-field.mjs.map +1 -1
- package/fesm2022/slotted-angular-datetime-picker.mjs +37 -23
- package/fesm2022/slotted-angular-datetime-picker.mjs.map +1 -1
- package/fesm2022/slotted-angular-datetime-range-picker.mjs +111 -42
- package/fesm2022/slotted-angular-datetime-range-picker.mjs.map +1 -1
- package/fesm2022/slotted-angular-description-list.mjs +33 -19
- package/fesm2022/slotted-angular-description-list.mjs.map +1 -1
- package/fesm2022/slotted-angular-detail-panel.mjs +29 -18
- package/fesm2022/slotted-angular-detail-panel.mjs.map +1 -1
- package/fesm2022/slotted-angular-dialog.mjs +39 -28
- package/fesm2022/slotted-angular-dialog.mjs.map +1 -1
- package/fesm2022/slotted-angular-divider.mjs +7 -5
- package/fesm2022/slotted-angular-divider.mjs.map +1 -1
- package/fesm2022/slotted-angular-drawer.mjs +32 -24
- package/fesm2022/slotted-angular-drawer.mjs.map +1 -1
- package/fesm2022/slotted-angular-entity-picker.mjs +195 -67
- package/fesm2022/slotted-angular-entity-picker.mjs.map +1 -1
- package/fesm2022/slotted-angular-event-calendar.mjs +259 -102
- package/fesm2022/slotted-angular-event-calendar.mjs.map +1 -1
- package/fesm2022/slotted-angular-field-group.mjs +14 -7
- package/fesm2022/slotted-angular-field-group.mjs.map +1 -1
- package/fesm2022/slotted-angular-field.mjs +35 -15
- package/fesm2022/slotted-angular-field.mjs.map +1 -1
- package/fesm2022/slotted-angular-filter-bar.mjs +104 -43
- package/fesm2022/slotted-angular-filter-bar.mjs.map +1 -1
- package/fesm2022/slotted-angular-form.mjs +18 -10
- package/fesm2022/slotted-angular-form.mjs.map +1 -1
- package/fesm2022/slotted-angular-fullscreen.mjs +14 -8
- package/fesm2022/slotted-angular-fullscreen.mjs.map +1 -1
- package/fesm2022/slotted-angular-grid.mjs +4 -2
- package/fesm2022/slotted-angular-grid.mjs.map +1 -1
- package/fesm2022/slotted-angular-highlight.mjs +5 -3
- package/fesm2022/slotted-angular-highlight.mjs.map +1 -1
- package/fesm2022/slotted-angular-hover-card.mjs +5 -4
- package/fesm2022/slotted-angular-hover-card.mjs.map +1 -1
- package/fesm2022/slotted-angular-icon.mjs +6 -3
- package/fesm2022/slotted-angular-icon.mjs.map +1 -1
- package/fesm2022/slotted-angular-image.mjs +13 -10
- package/fesm2022/slotted-angular-image.mjs.map +1 -1
- package/fesm2022/slotted-angular-import-export-center.mjs +167 -99
- package/fesm2022/slotted-angular-import-export-center.mjs.map +1 -1
- package/fesm2022/slotted-angular-inline-message.mjs +10 -8
- package/fesm2022/slotted-angular-inline-message.mjs.map +1 -1
- package/fesm2022/slotted-angular-inline.mjs +4 -2
- package/fesm2022/slotted-angular-inline.mjs.map +1 -1
- package/fesm2022/slotted-angular-kbd.mjs +11 -7
- package/fesm2022/slotted-angular-kbd.mjs.map +1 -1
- package/fesm2022/slotted-angular-link.mjs +5 -3
- package/fesm2022/slotted-angular-link.mjs.map +1 -1
- package/fesm2022/slotted-angular-list-item.mjs +21 -18
- package/fesm2022/slotted-angular-list-item.mjs.map +1 -1
- package/fesm2022/slotted-angular-list.mjs +14 -10
- package/fesm2022/slotted-angular-list.mjs.map +1 -1
- package/fesm2022/slotted-angular-listbox.mjs +39 -21
- package/fesm2022/slotted-angular-listbox.mjs.map +1 -1
- package/fesm2022/slotted-angular-loading-overlay.mjs +59 -22
- package/fesm2022/slotted-angular-loading-overlay.mjs.map +1 -1
- package/fesm2022/slotted-angular-markdown.mjs +31 -19
- package/fesm2022/slotted-angular-markdown.mjs.map +1 -1
- package/fesm2022/slotted-angular-menu.mjs +41 -27
- package/fesm2022/slotted-angular-menu.mjs.map +1 -1
- package/fesm2022/slotted-angular-menubar.mjs +4 -2
- package/fesm2022/slotted-angular-menubar.mjs.map +1 -1
- package/fesm2022/slotted-angular-message-scroller.mjs +28 -15
- package/fesm2022/slotted-angular-message-scroller.mjs.map +1 -1
- package/fesm2022/slotted-angular-message.mjs +113 -51
- package/fesm2022/slotted-angular-message.mjs.map +1 -1
- package/fesm2022/slotted-angular-multi-select.mjs +133 -57
- package/fesm2022/slotted-angular-multi-select.mjs.map +1 -1
- package/fesm2022/slotted-angular-navigation-menu.mjs +34 -26
- package/fesm2022/slotted-angular-navigation-menu.mjs.map +1 -1
- package/fesm2022/slotted-angular-notification-center.mjs +107 -65
- package/fesm2022/slotted-angular-notification-center.mjs.map +1 -1
- package/fesm2022/slotted-angular-number-field.mjs +23 -11
- package/fesm2022/slotted-angular-number-field.mjs.map +1 -1
- package/fesm2022/slotted-angular-otp-input.mjs +13 -8
- package/fesm2022/slotted-angular-otp-input.mjs.map +1 -1
- package/fesm2022/slotted-angular-page-header.mjs +72 -42
- package/fesm2022/slotted-angular-page-header.mjs.map +1 -1
- package/fesm2022/slotted-angular-page.mjs +18 -9
- package/fesm2022/slotted-angular-page.mjs.map +1 -1
- package/fesm2022/slotted-angular-pagination.mjs +35 -22
- package/fesm2022/slotted-angular-pagination.mjs.map +1 -1
- package/fesm2022/slotted-angular-popover.mjs +25 -18
- package/fesm2022/slotted-angular-popover.mjs.map +1 -1
- package/fesm2022/slotted-angular-progress-indicator.mjs +122 -30
- package/fesm2022/slotted-angular-progress-indicator.mjs.map +1 -1
- package/fesm2022/slotted-angular-prompt-composer.mjs +24 -18
- package/fesm2022/slotted-angular-prompt-composer.mjs.map +1 -1
- package/fesm2022/slotted-angular-prose.mjs +14 -11
- package/fesm2022/slotted-angular-prose.mjs.map +1 -1
- package/fesm2022/slotted-angular-radio-group.mjs +15 -9
- package/fesm2022/slotted-angular-radio-group.mjs.map +1 -1
- package/fesm2022/slotted-angular-rating.mjs +138 -82
- package/fesm2022/slotted-angular-rating.mjs.map +1 -1
- package/fesm2022/slotted-angular-result-state.mjs +16 -12
- package/fesm2022/slotted-angular-result-state.mjs.map +1 -1
- package/fesm2022/slotted-angular-saved-views.mjs +43 -16
- package/fesm2022/slotted-angular-saved-views.mjs.map +1 -1
- package/fesm2022/slotted-angular-scroll-area.mjs +9 -5
- package/fesm2022/slotted-angular-scroll-area.mjs.map +1 -1
- package/fesm2022/slotted-angular-section.mjs +34 -15
- package/fesm2022/slotted-angular-section.mjs.map +1 -1
- package/fesm2022/slotted-angular-segmented-control.mjs +15 -9
- package/fesm2022/slotted-angular-segmented-control.mjs.map +1 -1
- package/fesm2022/slotted-angular-select.mjs +135 -53
- package/fesm2022/slotted-angular-select.mjs.map +1 -1
- package/fesm2022/slotted-angular-side-navigation.mjs +46 -35
- package/fesm2022/slotted-angular-side-navigation.mjs.map +1 -1
- package/fesm2022/slotted-angular-skeleton.mjs +32 -16
- package/fesm2022/slotted-angular-skeleton.mjs.map +1 -1
- package/fesm2022/slotted-angular-slider.mjs +31 -11
- package/fesm2022/slotted-angular-slider.mjs.map +1 -1
- package/fesm2022/slotted-angular-sparkline.mjs +29 -13
- package/fesm2022/slotted-angular-sparkline.mjs.map +1 -1
- package/fesm2022/slotted-angular-split-button.mjs +25 -11
- package/fesm2022/slotted-angular-split-button.mjs.map +1 -1
- package/fesm2022/slotted-angular-splitter.mjs +11 -9
- package/fesm2022/slotted-angular-splitter.mjs.map +1 -1
- package/fesm2022/slotted-angular-stack.mjs +4 -2
- package/fesm2022/slotted-angular-stack.mjs.map +1 -1
- package/fesm2022/slotted-angular-stat-card.mjs +35 -28
- package/fesm2022/slotted-angular-stat-card.mjs.map +1 -1
- package/fesm2022/slotted-angular-status-indicator.mjs +22 -8
- package/fesm2022/slotted-angular-status-indicator.mjs.map +1 -1
- package/fesm2022/slotted-angular-stepper.mjs +40 -15
- package/fesm2022/slotted-angular-stepper.mjs.map +1 -1
- package/fesm2022/slotted-angular-switch.mjs +15 -10
- package/fesm2022/slotted-angular-switch.mjs.map +1 -1
- package/fesm2022/slotted-angular-table-of-contents.mjs +29 -21
- package/fesm2022/slotted-angular-table-of-contents.mjs.map +1 -1
- package/fesm2022/slotted-angular-table.mjs +135 -72
- package/fesm2022/slotted-angular-table.mjs.map +1 -1
- package/fesm2022/slotted-angular-tabs.mjs +31 -14
- package/fesm2022/slotted-angular-tabs.mjs.map +1 -1
- package/fesm2022/slotted-angular-tag.mjs +19 -12
- package/fesm2022/slotted-angular-tag.mjs.map +1 -1
- package/fesm2022/slotted-angular-tags-input.mjs +253 -28
- package/fesm2022/slotted-angular-tags-input.mjs.map +1 -1
- package/fesm2022/slotted-angular-text-field.mjs +49 -15
- package/fesm2022/slotted-angular-text-field.mjs.map +1 -1
- package/fesm2022/slotted-angular-textarea.mjs +5 -3
- package/fesm2022/slotted-angular-textarea.mjs.map +1 -1
- package/fesm2022/slotted-angular-time-field.mjs +46 -12
- package/fesm2022/slotted-angular-time-field.mjs.map +1 -1
- package/fesm2022/slotted-angular-time-picker.mjs +28 -14
- package/fesm2022/slotted-angular-time-picker.mjs.map +1 -1
- package/fesm2022/slotted-angular-time-range-picker.mjs +109 -40
- package/fesm2022/slotted-angular-time-range-picker.mjs.map +1 -1
- package/fesm2022/slotted-angular-timeline.mjs +135 -64
- package/fesm2022/slotted-angular-timeline.mjs.map +1 -1
- package/fesm2022/slotted-angular-toast.mjs +42 -31
- package/fesm2022/slotted-angular-toast.mjs.map +1 -1
- package/fesm2022/slotted-angular-toggle-group.mjs +10 -6
- package/fesm2022/slotted-angular-toggle-group.mjs.map +1 -1
- package/fesm2022/slotted-angular-toggle.mjs +9 -4
- package/fesm2022/slotted-angular-toggle.mjs.map +1 -1
- package/fesm2022/slotted-angular-toolbar.mjs +21 -10
- package/fesm2022/slotted-angular-toolbar.mjs.map +1 -1
- package/fesm2022/slotted-angular-tooltip.mjs +8 -5
- package/fesm2022/slotted-angular-tooltip.mjs.map +1 -1
- package/fesm2022/slotted-angular-top-navigation.mjs +64 -44
- package/fesm2022/slotted-angular-top-navigation.mjs.map +1 -1
- package/fesm2022/slotted-angular-tour.mjs +46 -21
- package/fesm2022/slotted-angular-tour.mjs.map +1 -1
- package/fesm2022/slotted-angular-transfer.mjs +69 -30
- package/fesm2022/slotted-angular-transfer.mjs.map +1 -1
- package/fesm2022/slotted-angular-tree.mjs +74 -26
- package/fesm2022/slotted-angular-tree.mjs.map +1 -1
- package/fesm2022/slotted-angular-typography.mjs +8 -4
- package/fesm2022/slotted-angular-typography.mjs.map +1 -1
- package/fesm2022/slotted-angular-upload.mjs +125 -57
- package/fesm2022/slotted-angular-upload.mjs.map +1 -1
- package/fesm2022/slotted-angular-visually-hidden.mjs +4 -2
- package/fesm2022/slotted-angular-visually-hidden.mjs.map +1 -1
- package/fesm2022/slotted-angular-wizard.mjs +163 -65
- package/fesm2022/slotted-angular-wizard.mjs.map +1 -1
- package/package.json +3 -3
- package/types/slotted-angular-accordion.d.ts.map +1 -1
- package/types/slotted-angular-action-bar.d.ts.map +1 -1
- package/types/slotted-angular-action-sheet.d.ts.map +1 -1
- package/types/slotted-angular-alert.d.ts +1 -1
- package/types/slotted-angular-alert.d.ts.map +1 -1
- package/types/slotted-angular-app-shell.d.ts.map +1 -1
- package/types/slotted-angular-aspect-ratio.d.ts.map +1 -1
- package/types/slotted-angular-attachment.d.ts +1 -1
- package/types/slotted-angular-attachment.d.ts.map +1 -1
- package/types/slotted-angular-avatar-group.d.ts.map +1 -1
- package/types/slotted-angular-avatar.d.ts.map +1 -1
- package/types/slotted-angular-badge.d.ts.map +1 -1
- package/types/slotted-angular-breadcrumb.d.ts.map +1 -1
- package/types/slotted-angular-button-group.d.ts.map +1 -1
- package/types/slotted-angular-button.d.ts.map +1 -1
- package/types/slotted-angular-calendar.d.ts.map +1 -1
- package/types/slotted-angular-card.d.ts.map +1 -1
- package/types/slotted-angular-carousel.d.ts.map +1 -1
- package/types/slotted-angular-cascader.d.ts.map +1 -1
- package/types/slotted-angular-chart.d.ts.map +1 -1
- package/types/slotted-angular-checkbox-group.d.ts.map +1 -1
- package/types/slotted-angular-checkbox.d.ts.map +1 -1
- package/types/slotted-angular-code-block.d.ts +1 -1
- package/types/slotted-angular-code-block.d.ts.map +1 -1
- package/types/slotted-angular-collapsible.d.ts +1 -1
- package/types/slotted-angular-collapsible.d.ts.map +1 -1
- package/types/slotted-angular-color-picker.d.ts.map +1 -1
- package/types/slotted-angular-column-manager.d.ts.map +1 -1
- package/types/slotted-angular-combobox.d.ts +1 -1
- package/types/slotted-angular-combobox.d.ts.map +1 -1
- package/types/slotted-angular-command-palette.d.ts.map +1 -1
- package/types/slotted-angular-container.d.ts.map +1 -1
- package/types/slotted-angular-context-menu.d.ts.map +1 -1
- package/types/slotted-angular-currency-field.d.ts +39 -13
- package/types/slotted-angular-currency-field.d.ts.map +1 -1
- package/types/slotted-angular-dashboard-grid.d.ts.map +1 -1
- package/types/slotted-angular-data-grid.d.ts +26 -2
- package/types/slotted-angular-data-grid.d.ts.map +1 -1
- package/types/slotted-angular-data-list.d.ts.map +1 -1
- package/types/slotted-angular-date-field.d.ts.map +1 -1
- package/types/slotted-angular-date-picker.d.ts.map +1 -1
- package/types/slotted-angular-date-range-picker.d.ts.map +1 -1
- package/types/slotted-angular-datetime-field.d.ts.map +1 -1
- package/types/slotted-angular-datetime-picker.d.ts.map +1 -1
- package/types/slotted-angular-datetime-range-picker.d.ts.map +1 -1
- package/types/slotted-angular-description-list.d.ts.map +1 -1
- package/types/slotted-angular-detail-panel.d.ts.map +1 -1
- package/types/slotted-angular-dialog.d.ts +2 -1
- package/types/slotted-angular-dialog.d.ts.map +1 -1
- package/types/slotted-angular-divider.d.ts.map +1 -1
- package/types/slotted-angular-drawer.d.ts.map +1 -1
- package/types/slotted-angular-entity-picker.d.ts.map +1 -1
- package/types/slotted-angular-event-calendar.d.ts.map +1 -1
- package/types/slotted-angular-field-group.d.ts.map +1 -1
- package/types/slotted-angular-field.d.ts.map +1 -1
- package/types/slotted-angular-filter-bar.d.ts.map +1 -1
- package/types/slotted-angular-form.d.ts.map +1 -1
- package/types/slotted-angular-fullscreen.d.ts.map +1 -1
- package/types/slotted-angular-grid.d.ts.map +1 -1
- package/types/slotted-angular-highlight.d.ts.map +1 -1
- package/types/slotted-angular-hover-card.d.ts.map +1 -1
- package/types/slotted-angular-icon.d.ts +1 -1
- package/types/slotted-angular-icon.d.ts.map +1 -1
- package/types/slotted-angular-image.d.ts.map +1 -1
- package/types/slotted-angular-import-export-center.d.ts.map +1 -1
- package/types/slotted-angular-inline-message.d.ts +1 -1
- package/types/slotted-angular-inline-message.d.ts.map +1 -1
- package/types/slotted-angular-inline.d.ts.map +1 -1
- package/types/slotted-angular-kbd.d.ts.map +1 -1
- package/types/slotted-angular-link.d.ts.map +1 -1
- package/types/slotted-angular-list-item.d.ts.map +1 -1
- package/types/slotted-angular-list.d.ts.map +1 -1
- package/types/slotted-angular-listbox.d.ts.map +1 -1
- package/types/slotted-angular-loading-overlay.d.ts.map +1 -1
- package/types/slotted-angular-markdown.d.ts.map +1 -1
- package/types/slotted-angular-menu.d.ts.map +1 -1
- package/types/slotted-angular-menubar.d.ts.map +1 -1
- package/types/slotted-angular-message-scroller.d.ts.map +1 -1
- package/types/slotted-angular-message.d.ts.map +1 -1
- package/types/slotted-angular-multi-select.d.ts +1 -1
- package/types/slotted-angular-multi-select.d.ts.map +1 -1
- package/types/slotted-angular-navigation-menu.d.ts.map +1 -1
- package/types/slotted-angular-notification-center.d.ts.map +1 -1
- package/types/slotted-angular-number-field.d.ts.map +1 -1
- package/types/slotted-angular-otp-input.d.ts.map +1 -1
- package/types/slotted-angular-page-header.d.ts +1 -1
- package/types/slotted-angular-page-header.d.ts.map +1 -1
- package/types/slotted-angular-page.d.ts.map +1 -1
- package/types/slotted-angular-pagination.d.ts.map +1 -1
- package/types/slotted-angular-popover.d.ts.map +1 -1
- package/types/slotted-angular-progress-indicator.d.ts.map +1 -1
- package/types/slotted-angular-prompt-composer.d.ts.map +1 -1
- package/types/slotted-angular-prose.d.ts.map +1 -1
- package/types/slotted-angular-radio-group.d.ts.map +1 -1
- package/types/slotted-angular-rating.d.ts.map +1 -1
- package/types/slotted-angular-result-state.d.ts.map +1 -1
- package/types/slotted-angular-saved-views.d.ts.map +1 -1
- package/types/slotted-angular-scroll-area.d.ts.map +1 -1
- package/types/slotted-angular-section.d.ts.map +1 -1
- package/types/slotted-angular-segmented-control.d.ts.map +1 -1
- package/types/slotted-angular-select.d.ts +1 -1
- package/types/slotted-angular-select.d.ts.map +1 -1
- package/types/slotted-angular-side-navigation.d.ts.map +1 -1
- package/types/slotted-angular-skeleton.d.ts.map +1 -1
- package/types/slotted-angular-slider.d.ts.map +1 -1
- package/types/slotted-angular-sparkline.d.ts.map +1 -1
- package/types/slotted-angular-split-button.d.ts.map +1 -1
- package/types/slotted-angular-splitter.d.ts.map +1 -1
- package/types/slotted-angular-stack.d.ts.map +1 -1
- package/types/slotted-angular-stat-card.d.ts.map +1 -1
- package/types/slotted-angular-status-indicator.d.ts +1 -1
- package/types/slotted-angular-status-indicator.d.ts.map +1 -1
- package/types/slotted-angular-stepper.d.ts +1 -1
- package/types/slotted-angular-stepper.d.ts.map +1 -1
- package/types/slotted-angular-switch.d.ts.map +1 -1
- package/types/slotted-angular-table-of-contents.d.ts.map +1 -1
- package/types/slotted-angular-table.d.ts.map +1 -1
- package/types/slotted-angular-tabs.d.ts.map +1 -1
- package/types/slotted-angular-tag.d.ts.map +1 -1
- package/types/slotted-angular-tags-input.d.ts +33 -1
- package/types/slotted-angular-tags-input.d.ts.map +1 -1
- package/types/slotted-angular-text-field.d.ts.map +1 -1
- package/types/slotted-angular-textarea.d.ts.map +1 -1
- package/types/slotted-angular-time-field.d.ts.map +1 -1
- package/types/slotted-angular-time-picker.d.ts.map +1 -1
- package/types/slotted-angular-time-range-picker.d.ts.map +1 -1
- package/types/slotted-angular-timeline.d.ts.map +1 -1
- package/types/slotted-angular-toast.d.ts +2 -2
- package/types/slotted-angular-toast.d.ts.map +1 -1
- package/types/slotted-angular-toggle-group.d.ts.map +1 -1
- package/types/slotted-angular-toggle.d.ts.map +1 -1
- package/types/slotted-angular-toolbar.d.ts.map +1 -1
- package/types/slotted-angular-tooltip.d.ts.map +1 -1
- package/types/slotted-angular-top-navigation.d.ts.map +1 -1
- package/types/slotted-angular-tour.d.ts.map +1 -1
- package/types/slotted-angular-transfer.d.ts.map +1 -1
- package/types/slotted-angular-tree.d.ts.map +1 -1
- package/types/slotted-angular-typography.d.ts.map +1 -1
- package/types/slotted-angular-upload.d.ts +2 -2
- package/types/slotted-angular-upload.d.ts.map +1 -1
- package/types/slotted-angular-visually-hidden.d.ts.map +1 -1
- package/types/slotted-angular-wizard.d.ts.map +1 -1
|
@@ -143,25 +143,32 @@ class SlSparkline {
|
|
|
143
143
|
});
|
|
144
144
|
}
|
|
145
145
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.7", ngImport: i0, type: SlSparkline, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
146
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.7", type: SlSparkline, isStandalone: true, selector: "[slSparkline]", inputs: { data: { classPropertyName: "data", publicName: "data", isSignal: true, isRequired: false, transformFunction: null }, type: { classPropertyName: "type", publicName: "type", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, curve: { classPropertyName: "curve", publicName: "curve", isSignal: true, isRequired: false, transformFunction: null }, area: { classPropertyName: "area", publicName: "area", isSignal: true, isRequired: false, transformFunction: null }, marker: { classPropertyName: "marker", publicName: "marker", isSignal: true, isRequired: false, transformFunction: null }, reference: { classPropertyName: "reference", publicName: "reference", isSignal: true, isRequired: false, transformFunction: null }, min: { classPropertyName: "min", publicName: "min", isSignal: true, isRequired: false, transformFunction: null }, max: { classPropertyName: "max", publicName: "max", isSignal: true, isRequired: false, transformFunction: null }, tone: { classPropertyName: "tone", publicName: "tone", isSignal: true, isRequired: false, transformFunction: null }, series: { classPropertyName: "series", publicName: "series", isSignal: true, isRequired: false, transformFunction: null }, label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, description: { classPropertyName: "description", publicName: "description", isSignal: true, isRequired: false, transformFunction: null }, formatOptions: { classPropertyName: "formatOptions", publicName: "formatOptions", isSignal: true, isRequired: false, transformFunction: null }, valueFormatter: { classPropertyName: "valueFormatter", publicName: "valueFormatter", isSignal: true, isRequired: false, transformFunction: null }, locale: { classPropertyName: "locale", publicName: "locale", isSignal: true, isRequired: false, transformFunction: null }, messages: { classPropertyName: "messages", publicName: "messages", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "data-ui": "sparkline", "data-part": "root", "role": "img" }, properties: { "attr.aria-label": "name()", "attr.data-type": "type()", "attr.data-size": "size()", "attr.data-curve": "resolvedCurve()", "attr.data-tone": "tone() ?? null", "attr.data-series": "series() ?? null" } }, exportAs: ["slSparkline"], ngImport: i0, template: `<svg
|
|
146
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.7", type: SlSparkline, isStandalone: true, selector: "[slSparkline]", inputs: { data: { classPropertyName: "data", publicName: "data", isSignal: true, isRequired: false, transformFunction: null }, type: { classPropertyName: "type", publicName: "type", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, curve: { classPropertyName: "curve", publicName: "curve", isSignal: true, isRequired: false, transformFunction: null }, area: { classPropertyName: "area", publicName: "area", isSignal: true, isRequired: false, transformFunction: null }, marker: { classPropertyName: "marker", publicName: "marker", isSignal: true, isRequired: false, transformFunction: null }, reference: { classPropertyName: "reference", publicName: "reference", isSignal: true, isRequired: false, transformFunction: null }, min: { classPropertyName: "min", publicName: "min", isSignal: true, isRequired: false, transformFunction: null }, max: { classPropertyName: "max", publicName: "max", isSignal: true, isRequired: false, transformFunction: null }, tone: { classPropertyName: "tone", publicName: "tone", isSignal: true, isRequired: false, transformFunction: null }, series: { classPropertyName: "series", publicName: "series", isSignal: true, isRequired: false, transformFunction: null }, label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, description: { classPropertyName: "description", publicName: "description", isSignal: true, isRequired: false, transformFunction: null }, formatOptions: { classPropertyName: "formatOptions", publicName: "formatOptions", isSignal: true, isRequired: false, transformFunction: null }, valueFormatter: { classPropertyName: "valueFormatter", publicName: "valueFormatter", isSignal: true, isRequired: false, transformFunction: null }, locale: { classPropertyName: "locale", publicName: "locale", isSignal: true, isRequired: false, transformFunction: null }, messages: { classPropertyName: "messages", publicName: "messages", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "data-ui": "sparkline", "data-ui-sparkline": "", "data-part": "root", "data-part-root": "", "role": "img" }, properties: { "attr.aria-label": "name()", "attr.data-type": "type()", "attr.data-size": "size()", "attr.data-curve": "resolvedCurve()", "attr.data-tone": "tone() ?? null", "attr.data-series": "series() ?? null" } }, exportAs: ["slSparkline"], ngImport: i0, template: `<svg
|
|
147
147
|
data-part="plot"
|
|
148
|
+
data-part-plot=""
|
|
148
149
|
aria-hidden="true"
|
|
149
150
|
focusable="false"
|
|
150
151
|
preserveAspectRatio="none"
|
|
151
152
|
[attr.viewBox]="viewBox()"
|
|
152
153
|
>
|
|
153
154
|
@if (layout().area) {
|
|
154
|
-
<path data-part="area" [attr.d]="layout().area" />
|
|
155
|
+
<path data-part="area" data-part-area="" [attr.d]="layout().area" />
|
|
155
156
|
}
|
|
156
157
|
@if (layout().line) {
|
|
157
|
-
<path data-part="line" [attr.d]="layout().line" />
|
|
158
|
+
<path data-part="line" data-part-line="" [attr.d]="layout().line" />
|
|
158
159
|
}
|
|
159
160
|
@for (bar of layout().bars; track bar.index; let last = $last) {
|
|
160
|
-
<path
|
|
161
|
+
<path
|
|
162
|
+
data-part="bar"
|
|
163
|
+
data-part-bar=""
|
|
164
|
+
[attr.data-current]="last ? '' : null"
|
|
165
|
+
[attr.d]="bar.path"
|
|
166
|
+
/>
|
|
161
167
|
}
|
|
162
168
|
@if (layout().reference !== null) {
|
|
163
169
|
<line
|
|
164
170
|
data-part="reference"
|
|
171
|
+
data-part-reference=""
|
|
165
172
|
x1="0"
|
|
166
173
|
[attr.x2]="width()"
|
|
167
174
|
[attr.y1]="layout().reference"
|
|
@@ -169,32 +176,39 @@ class SlSparkline {
|
|
|
169
176
|
/>
|
|
170
177
|
}
|
|
171
178
|
@if (markerPath()) {
|
|
172
|
-
<path data-part="ring" [attr.d]="markerPath()" />
|
|
173
|
-
<path data-part="marker" [attr.d]="markerPath()" />
|
|
179
|
+
<path data-part="ring" data-part-ring="" [attr.d]="markerPath()" />
|
|
180
|
+
<path data-part="marker" data-part-marker="" [attr.d]="markerPath()" />
|
|
174
181
|
}
|
|
175
|
-
</svg>`, isInline: true, styles: ["@layer slotted.components{[data-ui
|
|
182
|
+
</svg>`, isInline: true, styles: ["@layer slotted.components{[data-ui-sparkline]{--_size: var(--slotted-sparkline-block-size, var(--slotted-space-9, 2rem));--_stroke: var(--slotted-sparkline-line-width, var(--slotted-border-width-thick, 2px));--_marker: var(--slotted-sparkline-marker-size, var(--slotted-space-3, .375rem));--_ring: var(--slotted-sparkline-ring-width, var(--slotted-border-width-thick, 2px));--_ring-color: var(--slotted-sparkline-ring-color, var(--slotted-surface-raised, Canvas));--_area-opacity: var(--slotted-sparkline-area-opacity, .18);--_bar-share: var(--slotted-sparkline-bar-share, 62%);--_bar-dim: color-mix( in oklab, var(--_color) var(--_bar-share), var(--slotted-border-strong, ButtonBorder) );--_reference-color: var( --slotted-sparkline-reference-color, var(--slotted-border-strong, ButtonBorder) );--_color: var(--slotted-sparkline-color, var(--slotted-data-1));block-size:var(--_size);box-sizing:border-box;display:inline-block;inline-size:100%;line-height:0;min-inline-size:0;vertical-align:middle}[data-ui-sparkline][data-size=sm]{--_size: var(--slotted-sparkline-block-size-sm, var(--slotted-space-7, 1.25rem));--_stroke: var(--slotted-sparkline-line-width-sm, var(--slotted-border-width-medium, 1.5px));--_marker: var(--slotted-sparkline-marker-size-sm, var(--slotted-space-2, .25rem));--_ring: var(--slotted-sparkline-ring-width-sm, var(--slotted-border-width-medium, 1.5px))}[data-ui-sparkline][data-size=lg]{--_size: var(--slotted-sparkline-block-size-lg, var(--slotted-space-11, 3rem));--_marker: var(--slotted-sparkline-marker-size-lg, var(--slotted-space-4, .5rem))}[data-ui-sparkline][data-series=\"1\"]{--_color: var(--slotted-data-1)}[data-ui-sparkline][data-series=\"2\"]{--_color: var(--slotted-data-2)}[data-ui-sparkline][data-series=\"3\"]{--_color: var(--slotted-data-3)}[data-ui-sparkline][data-series=\"4\"]{--_color: var(--slotted-data-4)}[data-ui-sparkline][data-series=\"5\"]{--_color: var(--slotted-data-5)}[data-ui-sparkline][data-series=\"6\"]{--_color: var(--slotted-data-6)}[data-ui-sparkline][data-series=\"7\"]{--_color: var(--slotted-data-7)}[data-ui-sparkline][data-series=\"8\"]{--_color: var(--slotted-data-8)}[data-ui-sparkline][data-tone=neutral]{--_color: var(--slotted-text-muted, GrayText)}[data-ui-sparkline][data-tone=accent]{--_color: var(--slotted-tone-accent-text)}[data-ui-sparkline][data-tone=secondary]{--_color: var(--slotted-tone-secondary-text)}[data-ui-sparkline][data-tone=success]{--_color: var(--slotted-tone-success-text)}[data-ui-sparkline][data-tone=warning]{--_color: var(--slotted-tone-warning-text)}[data-ui-sparkline][data-tone=danger]{--_color: var(--slotted-tone-danger-text)}[data-ui-sparkline] [data-part-plot]{block-size:100%;display:block;inline-size:100%;overflow:visible}[data-ui-sparkline] [data-part-area]{fill:var(--_color);fill-opacity:var(--_area-opacity);-webkit-mask-image:linear-gradient(to bottom,black,transparent);mask-image:linear-gradient(to bottom,black,transparent);stroke:none;transition:d var(--slotted-duration-medium) var(--slotted-easing-standard)}[data-ui-sparkline] [data-part-line]{fill:none;stroke:var(--_color);stroke-linecap:round;stroke-linejoin:round;stroke-width:var(--_stroke);transition:d var(--slotted-duration-medium) var(--slotted-easing-standard);vector-effect:non-scaling-stroke}[data-ui-sparkline] [data-part-bar]{fill:var(--_bar-dim);stroke:none;transition:d var(--slotted-duration-medium) var(--slotted-easing-standard),fill var(--slotted-duration-short) var(--slotted-easing-standard)}[data-ui-sparkline] [data-part-bar][data-current]{fill:var(--_color)}[data-ui-sparkline] [data-part-reference]{fill:none;stroke:var(--_reference-color);stroke-dasharray:2 3;stroke-linecap:round;stroke-width:var(--slotted-border-width-thin, 1px);vector-effect:non-scaling-stroke}[data-ui-sparkline] [data-part-ring],[data-ui-sparkline] [data-part-marker]{fill:none;stroke-linecap:round;transition:d var(--slotted-duration-medium) var(--slotted-easing-standard);vector-effect:non-scaling-stroke}[data-ui-sparkline] [data-part-ring]{stroke:var(--_ring-color);stroke-width:calc(var(--_marker) + 2 * var(--_ring))}[data-ui-sparkline] [data-part-marker]{stroke:var(--_color);stroke-width:var(--_marker)}[data-ui-sparkline]:dir(rtl) [data-part-plot]{transform:scaleX(-1)}@media(forced-colors:active){[data-ui-sparkline] [data-part-area]{display:none}[data-ui-sparkline] [data-part-bar]{fill:GrayText}[data-ui-sparkline] [data-part-bar][data-current]{fill:CanvasText}[data-ui-sparkline] [data-part-ring]{stroke:Canvas}}}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
176
183
|
}
|
|
177
184
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.7", ngImport: i0, type: SlSparkline, decorators: [{
|
|
178
185
|
type: Component,
|
|
179
186
|
args: [{ selector: '[slSparkline]', standalone: true, template: `<svg
|
|
180
187
|
data-part="plot"
|
|
188
|
+
data-part-plot=""
|
|
181
189
|
aria-hidden="true"
|
|
182
190
|
focusable="false"
|
|
183
191
|
preserveAspectRatio="none"
|
|
184
192
|
[attr.viewBox]="viewBox()"
|
|
185
193
|
>
|
|
186
194
|
@if (layout().area) {
|
|
187
|
-
<path data-part="area" [attr.d]="layout().area" />
|
|
195
|
+
<path data-part="area" data-part-area="" [attr.d]="layout().area" />
|
|
188
196
|
}
|
|
189
197
|
@if (layout().line) {
|
|
190
|
-
<path data-part="line" [attr.d]="layout().line" />
|
|
198
|
+
<path data-part="line" data-part-line="" [attr.d]="layout().line" />
|
|
191
199
|
}
|
|
192
200
|
@for (bar of layout().bars; track bar.index; let last = $last) {
|
|
193
|
-
<path
|
|
201
|
+
<path
|
|
202
|
+
data-part="bar"
|
|
203
|
+
data-part-bar=""
|
|
204
|
+
[attr.data-current]="last ? '' : null"
|
|
205
|
+
[attr.d]="bar.path"
|
|
206
|
+
/>
|
|
194
207
|
}
|
|
195
208
|
@if (layout().reference !== null) {
|
|
196
209
|
<line
|
|
197
210
|
data-part="reference"
|
|
211
|
+
data-part-reference=""
|
|
198
212
|
x1="0"
|
|
199
213
|
[attr.x2]="width()"
|
|
200
214
|
[attr.y1]="layout().reference"
|
|
@@ -202,12 +216,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.7", ngImpor
|
|
|
202
216
|
/>
|
|
203
217
|
}
|
|
204
218
|
@if (markerPath()) {
|
|
205
|
-
<path data-part="ring" [attr.d]="markerPath()" />
|
|
206
|
-
<path data-part="marker" [attr.d]="markerPath()" />
|
|
219
|
+
<path data-part="ring" data-part-ring="" [attr.d]="markerPath()" />
|
|
220
|
+
<path data-part="marker" data-part-marker="" [attr.d]="markerPath()" />
|
|
207
221
|
}
|
|
208
222
|
</svg>`, changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, exportAs: 'slSparkline', host: {
|
|
209
223
|
'data-ui': 'sparkline',
|
|
224
|
+
'data-ui-sparkline': '',
|
|
210
225
|
'data-part': 'root',
|
|
226
|
+
'data-part-root': '',
|
|
211
227
|
role: 'img',
|
|
212
228
|
'[attr.aria-label]': 'name()',
|
|
213
229
|
'[attr.data-type]': 'type()',
|
|
@@ -215,7 +231,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.7", ngImpor
|
|
|
215
231
|
'[attr.data-curve]': 'resolvedCurve()',
|
|
216
232
|
'[attr.data-tone]': 'tone() ?? null',
|
|
217
233
|
'[attr.data-series]': 'series() ?? null',
|
|
218
|
-
}, styles: ["@layer slotted.components{[data-ui
|
|
234
|
+
}, styles: ["@layer slotted.components{[data-ui-sparkline]{--_size: var(--slotted-sparkline-block-size, var(--slotted-space-9, 2rem));--_stroke: var(--slotted-sparkline-line-width, var(--slotted-border-width-thick, 2px));--_marker: var(--slotted-sparkline-marker-size, var(--slotted-space-3, .375rem));--_ring: var(--slotted-sparkline-ring-width, var(--slotted-border-width-thick, 2px));--_ring-color: var(--slotted-sparkline-ring-color, var(--slotted-surface-raised, Canvas));--_area-opacity: var(--slotted-sparkline-area-opacity, .18);--_bar-share: var(--slotted-sparkline-bar-share, 62%);--_bar-dim: color-mix( in oklab, var(--_color) var(--_bar-share), var(--slotted-border-strong, ButtonBorder) );--_reference-color: var( --slotted-sparkline-reference-color, var(--slotted-border-strong, ButtonBorder) );--_color: var(--slotted-sparkline-color, var(--slotted-data-1));block-size:var(--_size);box-sizing:border-box;display:inline-block;inline-size:100%;line-height:0;min-inline-size:0;vertical-align:middle}[data-ui-sparkline][data-size=sm]{--_size: var(--slotted-sparkline-block-size-sm, var(--slotted-space-7, 1.25rem));--_stroke: var(--slotted-sparkline-line-width-sm, var(--slotted-border-width-medium, 1.5px));--_marker: var(--slotted-sparkline-marker-size-sm, var(--slotted-space-2, .25rem));--_ring: var(--slotted-sparkline-ring-width-sm, var(--slotted-border-width-medium, 1.5px))}[data-ui-sparkline][data-size=lg]{--_size: var(--slotted-sparkline-block-size-lg, var(--slotted-space-11, 3rem));--_marker: var(--slotted-sparkline-marker-size-lg, var(--slotted-space-4, .5rem))}[data-ui-sparkline][data-series=\"1\"]{--_color: var(--slotted-data-1)}[data-ui-sparkline][data-series=\"2\"]{--_color: var(--slotted-data-2)}[data-ui-sparkline][data-series=\"3\"]{--_color: var(--slotted-data-3)}[data-ui-sparkline][data-series=\"4\"]{--_color: var(--slotted-data-4)}[data-ui-sparkline][data-series=\"5\"]{--_color: var(--slotted-data-5)}[data-ui-sparkline][data-series=\"6\"]{--_color: var(--slotted-data-6)}[data-ui-sparkline][data-series=\"7\"]{--_color: var(--slotted-data-7)}[data-ui-sparkline][data-series=\"8\"]{--_color: var(--slotted-data-8)}[data-ui-sparkline][data-tone=neutral]{--_color: var(--slotted-text-muted, GrayText)}[data-ui-sparkline][data-tone=accent]{--_color: var(--slotted-tone-accent-text)}[data-ui-sparkline][data-tone=secondary]{--_color: var(--slotted-tone-secondary-text)}[data-ui-sparkline][data-tone=success]{--_color: var(--slotted-tone-success-text)}[data-ui-sparkline][data-tone=warning]{--_color: var(--slotted-tone-warning-text)}[data-ui-sparkline][data-tone=danger]{--_color: var(--slotted-tone-danger-text)}[data-ui-sparkline] [data-part-plot]{block-size:100%;display:block;inline-size:100%;overflow:visible}[data-ui-sparkline] [data-part-area]{fill:var(--_color);fill-opacity:var(--_area-opacity);-webkit-mask-image:linear-gradient(to bottom,black,transparent);mask-image:linear-gradient(to bottom,black,transparent);stroke:none;transition:d var(--slotted-duration-medium) var(--slotted-easing-standard)}[data-ui-sparkline] [data-part-line]{fill:none;stroke:var(--_color);stroke-linecap:round;stroke-linejoin:round;stroke-width:var(--_stroke);transition:d var(--slotted-duration-medium) var(--slotted-easing-standard);vector-effect:non-scaling-stroke}[data-ui-sparkline] [data-part-bar]{fill:var(--_bar-dim);stroke:none;transition:d var(--slotted-duration-medium) var(--slotted-easing-standard),fill var(--slotted-duration-short) var(--slotted-easing-standard)}[data-ui-sparkline] [data-part-bar][data-current]{fill:var(--_color)}[data-ui-sparkline] [data-part-reference]{fill:none;stroke:var(--_reference-color);stroke-dasharray:2 3;stroke-linecap:round;stroke-width:var(--slotted-border-width-thin, 1px);vector-effect:non-scaling-stroke}[data-ui-sparkline] [data-part-ring],[data-ui-sparkline] [data-part-marker]{fill:none;stroke-linecap:round;transition:d var(--slotted-duration-medium) var(--slotted-easing-standard);vector-effect:non-scaling-stroke}[data-ui-sparkline] [data-part-ring]{stroke:var(--_ring-color);stroke-width:calc(var(--_marker) + 2 * var(--_ring))}[data-ui-sparkline] [data-part-marker]{stroke:var(--_color);stroke-width:var(--_marker)}[data-ui-sparkline]:dir(rtl) [data-part-plot]{transform:scaleX(-1)}@media(forced-colors:active){[data-ui-sparkline] [data-part-area]{display:none}[data-ui-sparkline] [data-part-bar]{fill:GrayText}[data-ui-sparkline] [data-part-bar][data-current]{fill:CanvasText}[data-ui-sparkline] [data-part-ring]{stroke:Canvas}}}\n"] }]
|
|
219
235
|
}], ctorParameters: () => [], propDecorators: { data: [{ type: i0.Input, args: [{ isSignal: true, alias: "data", required: false }] }], type: [{ type: i0.Input, args: [{ isSignal: true, alias: "type", required: false }] }], size: [{ type: i0.Input, args: [{ isSignal: true, alias: "size", required: false }] }], curve: [{ type: i0.Input, args: [{ isSignal: true, alias: "curve", required: false }] }], area: [{ type: i0.Input, args: [{ isSignal: true, alias: "area", required: false }] }], marker: [{ type: i0.Input, args: [{ isSignal: true, alias: "marker", required: false }] }], reference: [{ type: i0.Input, args: [{ isSignal: true, alias: "reference", required: false }] }], min: [{ type: i0.Input, args: [{ isSignal: true, alias: "min", required: false }] }], max: [{ type: i0.Input, args: [{ isSignal: true, alias: "max", required: false }] }], tone: [{ type: i0.Input, args: [{ isSignal: true, alias: "tone", required: false }] }], series: [{ type: i0.Input, args: [{ isSignal: true, alias: "series", required: false }] }], label: [{ type: i0.Input, args: [{ isSignal: true, alias: "label", required: false }] }], description: [{ type: i0.Input, args: [{ isSignal: true, alias: "description", required: false }] }], formatOptions: [{ type: i0.Input, args: [{ isSignal: true, alias: "formatOptions", required: false }] }], valueFormatter: [{ type: i0.Input, args: [{ isSignal: true, alias: "valueFormatter", required: false }] }], locale: [{ type: i0.Input, args: [{ isSignal: true, alias: "locale", required: false }] }], messages: [{ type: i0.Input, args: [{ isSignal: true, alias: "messages", required: false }] }] } });
|
|
220
236
|
/** Absence has to survive the transform: an unset input defers to the defaults. */
|
|
221
237
|
function optionalBoolean(value) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"slotted-angular-sparkline.mjs","sources":["../../sparkline/src/sparkline-defaults.ts","../../sparkline/src/sparkline.constants.ts","../../sparkline/src/sparkline.ts","../../sparkline/src/slotted-angular-sparkline.ts"],"sourcesContent":["import { inject, InjectionToken } from '@angular/core';\n\nimport type { SparklineCurve } from './sparkline.constants';\n\n/**\n * What every sparkline in an application does before any of them states\n * anything of its own: how a number is read out, whether a line is smoothed,\n * washed and marked. Its words and locale come from the language in force\n * (`provideSlotted`).\n */\nexport interface SparklineDefaults {\n area?: boolean;\n curve?: SparklineCurve;\n formatOptions?: Intl.NumberFormatOptions;\n marker?: boolean;\n}\n\nexport const SPARKLINE_DEFAULTS_TOKEN = new InjectionToken<SparklineDefaults>(\n 'slotted sparkline defaults',\n { providedIn: 'root', factory: (): SparklineDefaults => ({}) },\n);\n\n/**\n * An application decides once how its sparklines are drawn and read out, and\n * every sparkline inherits it. A sparkline that states any of those still\n * wins: an explicit input is never overridden by the token.\n */\nexport function provideSparklineDefaults(defaults: SparklineDefaults) {\n return { provide: SPARKLINE_DEFAULTS_TOKEN, useValue: defaults };\n}\n\nexport function injectSparklineDefaults(): SparklineDefaults {\n return inject(SPARKLINE_DEFAULTS_TOKEN);\n}\n","export type SparklineType = 'line' | 'bar';\nexport type SparklineSize = 'sm' | 'md' | 'lg';\nexport type SparklineCurve = 'linear' | 'monotone';\nexport type SparklineTone = 'neutral' | 'accent' | 'secondary' | 'success' | 'warning' | 'danger';\nexport type SparklineSeries = 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8;\n\n/** The bar's corner and the space between two bars, in pixels; the stylesheet's geometry. */\nexport const SPARKLINE_BAR_GAP = 2;\nexport const SPARKLINE_BAR_RADIUS = 2;\n","import {\n afterNextRender,\n booleanAttribute,\n ChangeDetectionStrategy,\n Component,\n computed,\n DestroyRef,\n ElementRef,\n HostAttributeToken,\n inject,\n input,\n numberAttribute,\n signal,\n ViewEncapsulation,\n} from '@angular/core';\nimport { injectLocale, injectMessages } from '@slotted/angular/i18n';\nimport {\n type PartialMessages,\n sparklineMessages,\n type SparklineMessages,\n} from '@slotted/core/i18n';\nimport {\n describeSparkline,\n layoutSparkline,\n observeSparklineBox,\n SPARKLINE_STEPS,\n sparklineInset,\n} from '@slotted/core/sparkline';\nimport type { SparklineBox, SparklineDatum } from '@slotted/core/sparkline';\n\nimport { injectSparklineDefaults } from './sparkline-defaults';\nimport {\n SPARKLINE_BAR_GAP,\n SPARKLINE_BAR_RADIUS,\n type SparklineCurve,\n type SparklineSeries,\n type SparklineSize,\n type SparklineTone,\n type SparklineType,\n} from './sparkline.constants';\n\n/**\n * A series of numbers drawn in a box: a line through them or a bar per\n * period, a disc on the last point, a dashed line at a reference. The\n * geometry is `@slotted/core/sparkline`'s and the paint is the stylesheet's;\n * what this binding decides is when to measure and what to say.\n *\n * The box is measured after the first render, so the first browser paint is\n * on the real grid; on the server the drawing is laid out on the nominal\n * grid of its size step and stretched to the box, where\n * `vector-effect: non-scaling-stroke` keeps every stroke and both discs at\n * their screen size. The host is `role=\"img\"` with the generated description\n * as its name — an `aria-label` the consumer wrote on the element wins — and\n * the `svg` is hidden: a drawing with no interaction is an image.\n */\n@Component({\n selector: '[slSparkline]',\n standalone: true,\n template: `<svg\n data-part=\"plot\"\n aria-hidden=\"true\"\n focusable=\"false\"\n preserveAspectRatio=\"none\"\n [attr.viewBox]=\"viewBox()\"\n >\n @if (layout().area) {\n <path data-part=\"area\" [attr.d]=\"layout().area\" />\n }\n @if (layout().line) {\n <path data-part=\"line\" [attr.d]=\"layout().line\" />\n }\n @for (bar of layout().bars; track bar.index; let last = $last) {\n <path data-part=\"bar\" [attr.data-current]=\"last ? '' : null\" [attr.d]=\"bar.path\" />\n }\n @if (layout().reference !== null) {\n <line\n data-part=\"reference\"\n x1=\"0\"\n [attr.x2]=\"width()\"\n [attr.y1]=\"layout().reference\"\n [attr.y2]=\"layout().reference\"\n />\n }\n @if (markerPath()) {\n <path data-part=\"ring\" [attr.d]=\"markerPath()\" />\n <path data-part=\"marker\" [attr.d]=\"markerPath()\" />\n }\n </svg>`,\n styleUrl: '../../../styles/src/sparkline/sparkline.css',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n exportAs: 'slSparkline',\n host: {\n 'data-ui': 'sparkline',\n 'data-part': 'root',\n role: 'img',\n '[attr.aria-label]': 'name()',\n '[attr.data-type]': 'type()',\n '[attr.data-size]': 'size()',\n '[attr.data-curve]': 'resolvedCurve()',\n '[attr.data-tone]': 'tone() ?? null',\n '[attr.data-series]': 'series() ?? null',\n },\n})\nexport class SlSparkline {\n /** The series, oldest first. `null` is a gap: the line breaks, the bar is not drawn. */\n readonly data = input<readonly SparklineDatum[]>([]);\n readonly type = input<SparklineType>('line');\n readonly size = input<SparklineSize>('md');\n /** Straight segments, or a monotone curve that never overshoots a point. */\n readonly curve = input<SparklineCurve | undefined>(undefined);\n /** The wash under a line. */\n readonly area = input<boolean | undefined, unknown>(undefined, { transform: optionalBoolean });\n /** A disc on the last real point. */\n readonly marker = input<boolean | undefined, unknown>(undefined, { transform: optionalBoolean });\n /** A dashed line at this value, which widens the extent to hold it. */\n readonly reference = input<number | undefined, unknown>(undefined, { transform: optionalNumber });\n /** The extent, when the data's own is not the one to draw. The data widens it, never narrows it. */\n readonly min = input<number | undefined, unknown>(undefined, { transform: optionalNumber });\n readonly max = input<number | undefined, unknown>(undefined, { transform: optionalNumber });\n /** How the series is doing. Wins over `series`. */\n readonly tone = input<SparklineTone | undefined>(undefined);\n /** Which series this is, as a slot of the data scale. */\n readonly series = input<SparklineSeries | undefined>(undefined);\n /** What the series is, said first in the description. */\n readonly label = input<string | undefined>(undefined);\n /** The whole accessible name, replacing the generated description. */\n readonly description = input<string | undefined>(undefined);\n readonly formatOptions = input<Intl.NumberFormatOptions | undefined>(undefined);\n readonly valueFormatter = input<((value: number) => string) | undefined>(undefined);\n /** The locale numbers are written in; the language in force when absent. */\n readonly locale = input<string | undefined>(undefined);\n /** Words laid over the catalog of the language in force, key by key: the description's sentences. */\n readonly messages = input<PartialMessages<SparklineMessages> | undefined>(undefined);\n\n private readonly defaults = injectSparklineDefaults();\n private readonly host: HTMLElement = inject(ElementRef).nativeElement;\n /** An `aria-label` the consumer wrote on their own element, which wins. */\n private readonly ownLabel = inject(new HostAttributeToken('aria-label'), { optional: true });\n private readonly box = signal<SparklineBox | null>(null);\n\n readonly resolvedCurve = computed(() => this.curve() ?? this.defaults.curve ?? 'linear');\n readonly resolvedArea = computed(() => this.area() ?? this.defaults.area ?? false);\n readonly resolvedMarker = computed(() => this.marker() ?? this.defaults.marker ?? true);\n /** The family's words in the language in force, with this sparkline's `messages` laid over them. */\n readonly t = injectMessages(sparklineMessages, this.messages);\n private readonly appLocale = injectLocale();\n\n readonly width = computed(() => this.box()?.width || SPARKLINE_STEPS[this.size()].width);\n readonly height = computed(() => this.box()?.height || SPARKLINE_STEPS[this.size()].height);\n readonly viewBox = computed(() => `0 0 ${this.width()} ${this.height()}`);\n\n readonly layout = computed(() =>\n layoutSparkline({\n data: this.data(),\n width: this.width(),\n height: this.height(),\n inset: sparklineInset(this.size(), this.type(), this.resolvedMarker()),\n type: this.type(),\n curve: this.resolvedCurve(),\n area: this.resolvedArea(),\n min: this.min(),\n max: this.max(),\n reference: this.reference(),\n gap: SPARKLINE_BAR_GAP,\n radius: SPARKLINE_BAR_RADIUS,\n }),\n );\n\n readonly markerPath = computed(() => {\n const marker = this.layout().marker;\n if (!this.resolvedMarker() || this.type() !== 'line' || marker === null) return null;\n return `M${marker.x} ${marker.y}h0.001`;\n });\n\n readonly name = computed(() => {\n if (this.ownLabel) return this.ownLabel;\n const description = this.description();\n if (description !== undefined) return description;\n const own = this.valueFormatter();\n const formatter = new Intl.NumberFormat(\n this.locale() ?? this.appLocale(),\n this.formatOptions() ?? this.defaults.formatOptions,\n );\n return describeSparkline(this.data(), {\n t: this.t,\n format: own ?? ((value) => formatter.format(value)),\n label: this.label(),\n });\n });\n\n constructor() {\n const destroyRef = inject(DestroyRef);\n afterNextRender(() => {\n const handle = observeSparklineBox(this.host, (box) => this.box.set(box));\n destroyRef.onDestroy(() => handle.destroy());\n });\n }\n}\n\n/** Absence has to survive the transform: an unset input defers to the defaults. */\nexport function optionalBoolean(value: unknown): boolean | undefined {\n return value === undefined ? undefined : booleanAttribute(value);\n}\n\nexport function optionalNumber(value: unknown): number | undefined {\n if (value === undefined || value === null || value === '') return undefined;\n return numberAttribute(value);\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-sparkline.mjs","sources":["../../sparkline/src/sparkline-defaults.ts","../../sparkline/src/sparkline.constants.ts","../../sparkline/src/sparkline.ts","../../sparkline/src/slotted-angular-sparkline.ts"],"sourcesContent":["import { inject, InjectionToken } from '@angular/core';\n\nimport type { SparklineCurve } from './sparkline.constants';\n\n/**\n * What every sparkline in an application does before any of them states\n * anything of its own: how a number is read out, whether a line is smoothed,\n * washed and marked. Its words and locale come from the language in force\n * (`provideSlotted`).\n */\nexport interface SparklineDefaults {\n area?: boolean;\n curve?: SparklineCurve;\n formatOptions?: Intl.NumberFormatOptions;\n marker?: boolean;\n}\n\nexport const SPARKLINE_DEFAULTS_TOKEN = new InjectionToken<SparklineDefaults>(\n 'slotted sparkline defaults',\n { providedIn: 'root', factory: (): SparklineDefaults => ({}) },\n);\n\n/**\n * An application decides once how its sparklines are drawn and read out, and\n * every sparkline inherits it. A sparkline that states any of those still\n * wins: an explicit input is never overridden by the token.\n */\nexport function provideSparklineDefaults(defaults: SparklineDefaults) {\n return { provide: SPARKLINE_DEFAULTS_TOKEN, useValue: defaults };\n}\n\nexport function injectSparklineDefaults(): SparklineDefaults {\n return inject(SPARKLINE_DEFAULTS_TOKEN);\n}\n","export type SparklineType = 'line' | 'bar';\nexport type SparklineSize = 'sm' | 'md' | 'lg';\nexport type SparklineCurve = 'linear' | 'monotone';\nexport type SparklineTone = 'neutral' | 'accent' | 'secondary' | 'success' | 'warning' | 'danger';\nexport type SparklineSeries = 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8;\n\n/** The bar's corner and the space between two bars, in pixels; the stylesheet's geometry. */\nexport const SPARKLINE_BAR_GAP = 2;\nexport const SPARKLINE_BAR_RADIUS = 2;\n","import {\n afterNextRender,\n booleanAttribute,\n ChangeDetectionStrategy,\n Component,\n computed,\n DestroyRef,\n ElementRef,\n HostAttributeToken,\n inject,\n input,\n numberAttribute,\n signal,\n ViewEncapsulation,\n} from '@angular/core';\nimport { injectLocale, injectMessages } from '@slotted/angular/i18n';\nimport {\n type PartialMessages,\n sparklineMessages,\n type SparklineMessages,\n} from '@slotted/core/i18n';\nimport {\n describeSparkline,\n layoutSparkline,\n observeSparklineBox,\n SPARKLINE_STEPS,\n sparklineInset,\n} from '@slotted/core/sparkline';\nimport type { SparklineBox, SparklineDatum } from '@slotted/core/sparkline';\n\nimport { injectSparklineDefaults } from './sparkline-defaults';\nimport {\n SPARKLINE_BAR_GAP,\n SPARKLINE_BAR_RADIUS,\n type SparklineCurve,\n type SparklineSeries,\n type SparklineSize,\n type SparklineTone,\n type SparklineType,\n} from './sparkline.constants';\n\n/**\n * A series of numbers drawn in a box: a line through them or a bar per\n * period, a disc on the last point, a dashed line at a reference. The\n * geometry is `@slotted/core/sparkline`'s and the paint is the stylesheet's;\n * what this binding decides is when to measure and what to say.\n *\n * The box is measured after the first render, so the first browser paint is\n * on the real grid; on the server the drawing is laid out on the nominal\n * grid of its size step and stretched to the box, where\n * `vector-effect: non-scaling-stroke` keeps every stroke and both discs at\n * their screen size. The host is `role=\"img\"` with the generated description\n * as its name — an `aria-label` the consumer wrote on the element wins — and\n * the `svg` is hidden: a drawing with no interaction is an image.\n */\n@Component({\n selector: '[slSparkline]',\n standalone: true,\n template: `<svg\n data-part=\"plot\"\n data-part-plot=\"\"\n aria-hidden=\"true\"\n focusable=\"false\"\n preserveAspectRatio=\"none\"\n [attr.viewBox]=\"viewBox()\"\n >\n @if (layout().area) {\n <path data-part=\"area\" data-part-area=\"\" [attr.d]=\"layout().area\" />\n }\n @if (layout().line) {\n <path data-part=\"line\" data-part-line=\"\" [attr.d]=\"layout().line\" />\n }\n @for (bar of layout().bars; track bar.index; let last = $last) {\n <path\n data-part=\"bar\"\n data-part-bar=\"\"\n [attr.data-current]=\"last ? '' : null\"\n [attr.d]=\"bar.path\"\n />\n }\n @if (layout().reference !== null) {\n <line\n data-part=\"reference\"\n data-part-reference=\"\"\n x1=\"0\"\n [attr.x2]=\"width()\"\n [attr.y1]=\"layout().reference\"\n [attr.y2]=\"layout().reference\"\n />\n }\n @if (markerPath()) {\n <path data-part=\"ring\" data-part-ring=\"\" [attr.d]=\"markerPath()\" />\n <path data-part=\"marker\" data-part-marker=\"\" [attr.d]=\"markerPath()\" />\n }\n </svg>`,\n styleUrl: '../../../styles/src/sparkline/sparkline.css',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n exportAs: 'slSparkline',\n host: {\n 'data-ui': 'sparkline',\n 'data-ui-sparkline': '',\n 'data-part': 'root',\n 'data-part-root': '',\n role: 'img',\n '[attr.aria-label]': 'name()',\n '[attr.data-type]': 'type()',\n '[attr.data-size]': 'size()',\n '[attr.data-curve]': 'resolvedCurve()',\n '[attr.data-tone]': 'tone() ?? null',\n '[attr.data-series]': 'series() ?? null',\n },\n})\nexport class SlSparkline {\n /** The series, oldest first. `null` is a gap: the line breaks, the bar is not drawn. */\n readonly data = input<readonly SparklineDatum[]>([]);\n readonly type = input<SparklineType>('line');\n readonly size = input<SparklineSize>('md');\n /** Straight segments, or a monotone curve that never overshoots a point. */\n readonly curve = input<SparklineCurve | undefined>(undefined);\n /** The wash under a line. */\n readonly area = input<boolean | undefined, unknown>(undefined, { transform: optionalBoolean });\n /** A disc on the last real point. */\n readonly marker = input<boolean | undefined, unknown>(undefined, { transform: optionalBoolean });\n /** A dashed line at this value, which widens the extent to hold it. */\n readonly reference = input<number | undefined, unknown>(undefined, { transform: optionalNumber });\n /** The extent, when the data's own is not the one to draw. The data widens it, never narrows it. */\n readonly min = input<number | undefined, unknown>(undefined, { transform: optionalNumber });\n readonly max = input<number | undefined, unknown>(undefined, { transform: optionalNumber });\n /** How the series is doing. Wins over `series`. */\n readonly tone = input<SparklineTone | undefined>(undefined);\n /** Which series this is, as a slot of the data scale. */\n readonly series = input<SparklineSeries | undefined>(undefined);\n /** What the series is, said first in the description. */\n readonly label = input<string | undefined>(undefined);\n /** The whole accessible name, replacing the generated description. */\n readonly description = input<string | undefined>(undefined);\n readonly formatOptions = input<Intl.NumberFormatOptions | undefined>(undefined);\n readonly valueFormatter = input<((value: number) => string) | undefined>(undefined);\n /** The locale numbers are written in; the language in force when absent. */\n readonly locale = input<string | undefined>(undefined);\n /** Words laid over the catalog of the language in force, key by key: the description's sentences. */\n readonly messages = input<PartialMessages<SparklineMessages> | undefined>(undefined);\n\n private readonly defaults = injectSparklineDefaults();\n private readonly host: HTMLElement = inject(ElementRef).nativeElement;\n /** An `aria-label` the consumer wrote on their own element, which wins. */\n private readonly ownLabel = inject(new HostAttributeToken('aria-label'), { optional: true });\n private readonly box = signal<SparklineBox | null>(null);\n\n readonly resolvedCurve = computed(() => this.curve() ?? this.defaults.curve ?? 'linear');\n readonly resolvedArea = computed(() => this.area() ?? this.defaults.area ?? false);\n readonly resolvedMarker = computed(() => this.marker() ?? this.defaults.marker ?? true);\n /** The family's words in the language in force, with this sparkline's `messages` laid over them. */\n readonly t = injectMessages(sparklineMessages, this.messages);\n private readonly appLocale = injectLocale();\n\n readonly width = computed(() => this.box()?.width || SPARKLINE_STEPS[this.size()].width);\n readonly height = computed(() => this.box()?.height || SPARKLINE_STEPS[this.size()].height);\n readonly viewBox = computed(() => `0 0 ${this.width()} ${this.height()}`);\n\n readonly layout = computed(() =>\n layoutSparkline({\n data: this.data(),\n width: this.width(),\n height: this.height(),\n inset: sparklineInset(this.size(), this.type(), this.resolvedMarker()),\n type: this.type(),\n curve: this.resolvedCurve(),\n area: this.resolvedArea(),\n min: this.min(),\n max: this.max(),\n reference: this.reference(),\n gap: SPARKLINE_BAR_GAP,\n radius: SPARKLINE_BAR_RADIUS,\n }),\n );\n\n readonly markerPath = computed(() => {\n const marker = this.layout().marker;\n if (!this.resolvedMarker() || this.type() !== 'line' || marker === null) return null;\n return `M${marker.x} ${marker.y}h0.001`;\n });\n\n readonly name = computed(() => {\n if (this.ownLabel) return this.ownLabel;\n const description = this.description();\n if (description !== undefined) return description;\n const own = this.valueFormatter();\n const formatter = new Intl.NumberFormat(\n this.locale() ?? this.appLocale(),\n this.formatOptions() ?? this.defaults.formatOptions,\n );\n return describeSparkline(this.data(), {\n t: this.t,\n format: own ?? ((value) => formatter.format(value)),\n label: this.label(),\n });\n });\n\n constructor() {\n const destroyRef = inject(DestroyRef);\n afterNextRender(() => {\n const handle = observeSparklineBox(this.host, (box) => this.box.set(box));\n destroyRef.onDestroy(() => handle.destroy());\n });\n }\n}\n\n/** Absence has to survive the transform: an unset input defers to the defaults. */\nexport function optionalBoolean(value: unknown): boolean | undefined {\n return value === undefined ? undefined : booleanAttribute(value);\n}\n\nexport function optionalNumber(value: unknown): number | undefined {\n if (value === undefined || value === null || value === '') return undefined;\n return numberAttribute(value);\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|