@elementar-rt/components 0.6.58 → 0.7.1
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 +7 -2
- package/fesm2022/elementar-rt-components-action-required.mjs +8 -8
- package/fesm2022/elementar-rt-components-action-required.mjs.map +1 -1
- package/fesm2022/elementar-rt-components-alert.mjs +21 -25
- package/fesm2022/elementar-rt-components-alert.mjs.map +1 -1
- package/fesm2022/elementar-rt-components-announcement.mjs +12 -14
- package/fesm2022/elementar-rt-components-announcement.mjs.map +1 -1
- package/fesm2022/elementar-rt-components-avatar.mjs +34 -38
- package/fesm2022/elementar-rt-components-avatar.mjs.map +1 -1
- package/fesm2022/elementar-rt-components-badge.mjs +10 -10
- package/fesm2022/elementar-rt-components-badge.mjs.map +1 -1
- package/fesm2022/elementar-rt-components-block-loader.mjs +10 -16
- package/fesm2022/elementar-rt-components-block-loader.mjs.map +1 -1
- package/fesm2022/elementar-rt-components-block-state.mjs +24 -24
- package/fesm2022/elementar-rt-components-block-state.mjs.map +1 -1
- package/fesm2022/elementar-rt-components-bottom-sheet.mjs +12 -12
- package/fesm2022/elementar-rt-components-bottom-sheet.mjs.map +1 -1
- package/fesm2022/elementar-rt-components-brand-colors.mjs +9 -13
- package/fesm2022/elementar-rt-components-brand-colors.mjs.map +1 -1
- package/fesm2022/elementar-rt-components-breadcrumbs.mjs +49 -53
- package/fesm2022/elementar-rt-components-breadcrumbs.mjs.map +1 -1
- package/fesm2022/elementar-rt-components-button-toggle.mjs +16 -16
- package/fesm2022/elementar-rt-components-button-toggle.mjs.map +1 -1
- package/fesm2022/elementar-rt-components-calendar.mjs +10 -10
- package/fesm2022/elementar-rt-components-calendar.mjs.map +1 -1
- package/fesm2022/elementar-rt-components-card-overlay.mjs +10 -16
- package/fesm2022/elementar-rt-components-card-overlay.mjs.map +1 -1
- package/fesm2022/elementar-rt-components-card.mjs +18 -18
- package/fesm2022/elementar-rt-components-card.mjs.map +1 -1
- package/fesm2022/elementar-rt-components-carousel.mjs +48 -50
- package/fesm2022/elementar-rt-components-carousel.mjs.map +1 -1
- package/fesm2022/elementar-rt-components-chips.mjs +12 -12
- package/fesm2022/elementar-rt-components-chips.mjs.map +1 -1
- package/fesm2022/elementar-rt-components-clipboard-copy.mjs +17 -17
- package/fesm2022/elementar-rt-components-clipboard-copy.mjs.map +1 -1
- package/fesm2022/elementar-rt-components-code-highlighter.mjs +12 -12
- package/fesm2022/elementar-rt-components-code-highlighter.mjs.map +1 -1
- package/fesm2022/elementar-rt-components-color-picker.mjs +44 -52
- package/fesm2022/elementar-rt-components-color-picker.mjs.map +1 -1
- package/fesm2022/elementar-rt-components-color-scheme.mjs +10 -10
- package/fesm2022/elementar-rt-components-color-scheme.mjs.map +1 -1
- package/fesm2022/elementar-rt-components-combobox.mjs +13 -13
- package/fesm2022/elementar-rt-components-combobox.mjs.map +1 -1
- package/fesm2022/elementar-rt-components-command-bar.mjs +15 -17
- package/fesm2022/elementar-rt-components-command-bar.mjs.map +1 -1
- package/fesm2022/elementar-rt-components-comment-editor.mjs +106 -106
- package/fesm2022/elementar-rt-components-comment-editor.mjs.map +1 -1
- package/fesm2022/elementar-rt-components-comparison-slider.mjs +16 -16
- package/fesm2022/elementar-rt-components-comparison-slider.mjs.map +1 -1
- package/fesm2022/elementar-rt-components-confirm.mjs +7 -7
- package/fesm2022/elementar-rt-components-confirm.mjs.map +1 -1
- package/fesm2022/elementar-rt-components-content-editor.mjs +7 -7
- package/fesm2022/elementar-rt-components-content-editor.mjs.map +1 -1
- package/fesm2022/elementar-rt-components-content-fade.mjs +7 -7
- package/fesm2022/elementar-rt-components-content-fade.mjs.map +1 -1
- package/fesm2022/elementar-rt-components-cookie-popup.mjs +15 -17
- package/fesm2022/elementar-rt-components-cookie-popup.mjs.map +1 -1
- package/fesm2022/elementar-rt-components-core.mjs +68 -75
- package/fesm2022/elementar-rt-components-core.mjs.map +1 -1
- package/fesm2022/elementar-rt-components-country-select.mjs +15 -17
- package/fesm2022/elementar-rt-components-country-select.mjs.map +1 -1
- package/fesm2022/elementar-rt-components-crop.mjs +12 -12
- package/fesm2022/elementar-rt-components-crop.mjs.map +1 -1
- package/fesm2022/elementar-rt-components-currency-select.mjs +15 -17
- package/fesm2022/elementar-rt-components-currency-select.mjs.map +1 -1
- package/fesm2022/elementar-rt-components-dashboard.mjs +15 -19
- package/fesm2022/elementar-rt-components-dashboard.mjs.map +1 -1
- package/fesm2022/elementar-rt-components-data-grid.mjs +20 -20
- package/fesm2022/elementar-rt-components-data-grid.mjs.map +1 -1
- package/fesm2022/elementar-rt-components-data-view.mjs +38 -52
- package/fesm2022/elementar-rt-components-data-view.mjs.map +1 -1
- package/fesm2022/elementar-rt-components-date-format-select.mjs +8 -8
- package/fesm2022/elementar-rt-components-date-format-select.mjs.map +1 -1
- package/fesm2022/elementar-rt-components-datepicker.mjs +12 -12
- package/fesm2022/elementar-rt-components-datepicker.mjs.map +1 -1
- package/fesm2022/elementar-rt-components-dialog.mjs +19 -19
- package/fesm2022/elementar-rt-components-dialog.mjs.map +1 -1
- package/fesm2022/elementar-rt-components-digit-roller.mjs +10 -10
- package/fesm2022/elementar-rt-components-digit-roller.mjs.map +1 -1
- package/fesm2022/elementar-rt-components-divider.mjs +8 -8
- package/fesm2022/elementar-rt-components-divider.mjs.map +1 -1
- package/fesm2022/elementar-rt-components-drawer.mjs +14 -14
- package/fesm2022/elementar-rt-components-drawer.mjs.map +1 -1
- package/fesm2022/elementar-rt-components-emoji-picker.mjs +15 -17
- package/fesm2022/elementar-rt-components-emoji-picker.mjs.map +1 -1
- package/fesm2022/elementar-rt-components-empty-state.mjs +8 -8
- package/fesm2022/elementar-rt-components-empty-state.mjs.map +1 -1
- package/fesm2022/elementar-rt-components-expand.mjs +10 -14
- package/fesm2022/elementar-rt-components-expand.mjs.map +1 -1
- package/fesm2022/elementar-rt-components-expansion-panel.mjs +6 -6
- package/fesm2022/elementar-rt-components-expansion-panel.mjs.map +1 -1
- package/fesm2022/elementar-rt-components-filter-builder.mjs +24 -26
- package/fesm2022/elementar-rt-components-filter-builder.mjs.map +1 -1
- package/fesm2022/elementar-rt-components-filter-select.mjs +19 -19
- package/fesm2022/elementar-rt-components-filter-select.mjs.map +1 -1
- package/fesm2022/{elementar-rt-components-form-renderer-autocomplete-many-field.component-C2Ai6F2X.mjs → elementar-rt-components-form-renderer-autocomplete-many-field.component-DYDAWUBL.mjs} +6 -6
- package/fesm2022/{elementar-rt-components-form-renderer-autocomplete-many-field.component-C2Ai6F2X.mjs.map → elementar-rt-components-form-renderer-autocomplete-many-field.component-DYDAWUBL.mjs.map} +1 -1
- package/fesm2022/{elementar-rt-components-form-renderer-checkbox-field.component-a0XAs0-_.mjs → elementar-rt-components-form-renderer-checkbox-field.component-DCdtWKHi.mjs} +7 -7
- package/fesm2022/{elementar-rt-components-form-renderer-checkbox-field.component-a0XAs0-_.mjs.map → elementar-rt-components-form-renderer-checkbox-field.component-DCdtWKHi.mjs.map} +1 -1
- package/fesm2022/{elementar-rt-components-form-renderer-datepicker-field.component-CTVrrf43.mjs → elementar-rt-components-form-renderer-datepicker-field.component-D9gAkq6u.mjs} +6 -6
- package/fesm2022/{elementar-rt-components-form-renderer-datepicker-field.component-CTVrrf43.mjs.map → elementar-rt-components-form-renderer-datepicker-field.component-D9gAkq6u.mjs.map} +1 -1
- package/fesm2022/{elementar-rt-components-form-renderer-divider-content.component-CkYa0MOQ.mjs → elementar-rt-components-form-renderer-divider-content.component-DB4F4Av6.mjs} +4 -4
- package/fesm2022/{elementar-rt-components-form-renderer-divider-content.component-CkYa0MOQ.mjs.map → elementar-rt-components-form-renderer-divider-content.component-DB4F4Av6.mjs.map} +1 -1
- package/fesm2022/{elementar-rt-components-form-renderer-image-content.component-B5uj3hoV.mjs → elementar-rt-components-form-renderer-image-content.component-BvxbVzag.mjs} +5 -5
- package/fesm2022/{elementar-rt-components-form-renderer-image-content.component-B5uj3hoV.mjs.map → elementar-rt-components-form-renderer-image-content.component-BvxbVzag.mjs.map} +1 -1
- package/fesm2022/{elementar-rt-components-form-renderer-input-field.component-DnaWJIK9.mjs → elementar-rt-components-form-renderer-input-field.component-BPOCpB7i.mjs} +7 -7
- package/fesm2022/{elementar-rt-components-form-renderer-input-field.component-DnaWJIK9.mjs.map → elementar-rt-components-form-renderer-input-field.component-BPOCpB7i.mjs.map} +1 -1
- package/fesm2022/{elementar-rt-components-form-renderer-radio-group-field.component-9BLv1MsP.mjs → elementar-rt-components-form-renderer-radio-group-field.component-D65JtgyW.mjs} +7 -7
- package/fesm2022/{elementar-rt-components-form-renderer-radio-group-field.component-9BLv1MsP.mjs.map → elementar-rt-components-form-renderer-radio-group-field.component-D65JtgyW.mjs.map} +1 -1
- package/fesm2022/{elementar-rt-components-form-renderer-select-field.component-C97pIEdh.mjs → elementar-rt-components-form-renderer-select-field.component-HgwzMHVU.mjs} +6 -6
- package/fesm2022/{elementar-rt-components-form-renderer-select-field.component-C97pIEdh.mjs.map → elementar-rt-components-form-renderer-select-field.component-HgwzMHVU.mjs.map} +1 -1
- package/fesm2022/{elementar-rt-components-form-renderer-text-content.component-CJxCc5vX.mjs → elementar-rt-components-form-renderer-text-content.component-fHh_BaZl.mjs} +5 -5
- package/fesm2022/{elementar-rt-components-form-renderer-text-content.component-CJxCc5vX.mjs.map → elementar-rt-components-form-renderer-text-content.component-fHh_BaZl.mjs.map} +1 -1
- package/fesm2022/{elementar-rt-components-form-renderer-textarea-field.component-CCtWiJOk.mjs → elementar-rt-components-form-renderer-textarea-field.component-CQ68jF7W.mjs} +6 -6
- package/fesm2022/{elementar-rt-components-form-renderer-textarea-field.component-CCtWiJOk.mjs.map → elementar-rt-components-form-renderer-textarea-field.component-CQ68jF7W.mjs.map} +1 -1
- package/fesm2022/{elementar-rt-components-form-renderer-timezone-field.component-GvZgdvUX.mjs → elementar-rt-components-form-renderer-timezone-field.component-CgS9fcCV.mjs} +7 -7
- package/fesm2022/{elementar-rt-components-form-renderer-timezone-field.component-GvZgdvUX.mjs.map → elementar-rt-components-form-renderer-timezone-field.component-CgS9fcCV.mjs.map} +1 -1
- package/fesm2022/{elementar-rt-components-form-renderer-toggle-field.component-DBiIiV-9.mjs → elementar-rt-components-form-renderer-toggle-field.component-nj0FmsWA.mjs} +7 -7
- package/fesm2022/{elementar-rt-components-form-renderer-toggle-field.component-DBiIiV-9.mjs.map → elementar-rt-components-form-renderer-toggle-field.component-nj0FmsWA.mjs.map} +1 -1
- package/fesm2022/elementar-rt-components-form-renderer.mjs +36 -36
- package/fesm2022/elementar-rt-components-form-renderer.mjs.map +1 -1
- package/fesm2022/elementar-rt-components-gauge.mjs +11 -17
- package/fesm2022/elementar-rt-components-gauge.mjs.map +1 -1
- package/fesm2022/elementar-rt-components-grid.mjs +12 -12
- package/fesm2022/elementar-rt-components-grid.mjs.map +1 -1
- package/fesm2022/elementar-rt-components-guided-tour.mjs +12 -12
- package/fesm2022/elementar-rt-components-guided-tour.mjs.map +1 -1
- package/fesm2022/elementar-rt-components-headless-stepper.mjs +10 -10
- package/fesm2022/elementar-rt-components-headless-stepper.mjs.map +1 -1
- package/fesm2022/elementar-rt-components-icon.mjs +6 -6
- package/fesm2022/elementar-rt-components-icon.mjs.map +1 -1
- package/fesm2022/elementar-rt-components-image-placeholder.mjs +10 -10
- package/fesm2022/elementar-rt-components-image-placeholder.mjs.map +1 -1
- package/fesm2022/elementar-rt-components-image-resizer.mjs +17 -25
- package/fesm2022/elementar-rt-components-image-resizer.mjs.map +1 -1
- package/fesm2022/elementar-rt-components-image-viewer.mjs +29 -29
- package/fesm2022/elementar-rt-components-image-viewer.mjs.map +1 -1
- package/fesm2022/elementar-rt-components-image-zoom-viewer.mjs +16 -16
- package/fesm2022/elementar-rt-components-image-zoom-viewer.mjs.map +1 -1
- package/fesm2022/elementar-rt-components-incidents.mjs +55 -57
- package/fesm2022/elementar-rt-components-incidents.mjs.map +1 -1
- package/fesm2022/elementar-rt-components-inline-text-edit.mjs +8 -10
- package/fesm2022/elementar-rt-components-inline-text-edit.mjs.map +1 -1
- package/fesm2022/elementar-rt-components-input-mask.mjs +12 -12
- package/fesm2022/elementar-rt-components-input-mask.mjs.map +1 -1
- package/fesm2022/elementar-rt-components-input-validator.mjs.map +1 -1
- package/fesm2022/elementar-rt-components-kanban-board.mjs +10 -10
- package/fesm2022/elementar-rt-components-kanban-board.mjs.map +1 -1
- package/fesm2022/elementar-rt-components-keyboard.mjs +9 -9
- package/fesm2022/elementar-rt-components-keyboard.mjs.map +1 -1
- package/fesm2022/elementar-rt-components-layout.mjs +36 -40
- package/fesm2022/elementar-rt-components-layout.mjs.map +1 -1
- package/fesm2022/elementar-rt-components-list.mjs +13 -13
- package/fesm2022/elementar-rt-components-list.mjs.map +1 -1
- package/fesm2022/elementar-rt-components-logo.mjs +12 -12
- package/fesm2022/elementar-rt-components-logo.mjs.map +1 -1
- package/fesm2022/elementar-rt-components-marquee.mjs +9 -13
- package/fesm2022/elementar-rt-components-marquee.mjs.map +1 -1
- package/fesm2022/elementar-rt-components-menu.mjs +19 -19
- package/fesm2022/elementar-rt-components-menu.mjs.map +1 -1
- package/fesm2022/elementar-rt-components-micro-chart.mjs +65 -111
- package/fesm2022/elementar-rt-components-micro-chart.mjs.map +1 -1
- package/fesm2022/elementar-rt-components-multi-select.mjs +13 -13
- package/fesm2022/elementar-rt-components-multi-select.mjs.map +1 -1
- package/fesm2022/elementar-rt-components-navigation.mjs +56 -66
- package/fesm2022/elementar-rt-components-navigation.mjs.map +1 -1
- package/fesm2022/elementar-rt-components-notifications.mjs +47 -53
- package/fesm2022/elementar-rt-components-notifications.mjs.map +1 -1
- package/fesm2022/elementar-rt-components-number-input.mjs +23 -31
- package/fesm2022/elementar-rt-components-number-input.mjs.map +1 -1
- package/fesm2022/elementar-rt-components-overlay-scrollbar.mjs +34 -34
- package/fesm2022/elementar-rt-components-overlay-scrollbar.mjs.map +1 -1
- package/fesm2022/elementar-rt-components-overlay.mjs.map +1 -1
- package/fesm2022/elementar-rt-components-page-loading-bar.mjs +5 -7
- package/fesm2022/elementar-rt-components-page-loading-bar.mjs.map +1 -1
- package/fesm2022/elementar-rt-components-paginator.mjs +12 -12
- package/fesm2022/elementar-rt-components-paginator.mjs.map +1 -1
- package/fesm2022/elementar-rt-components-panel.mjs +25 -27
- package/fesm2022/elementar-rt-components-panel.mjs.map +1 -1
- package/fesm2022/elementar-rt-components-password-strength.mjs +35 -59
- package/fesm2022/elementar-rt-components-password-strength.mjs.map +1 -1
- package/fesm2022/elementar-rt-components-phone-input.mjs +23 -26
- package/fesm2022/elementar-rt-components-phone-input.mjs.map +1 -1
- package/fesm2022/elementar-rt-components-pin-input.mjs +17 -21
- package/fesm2022/elementar-rt-components-pin-input.mjs.map +1 -1
- package/fesm2022/elementar-rt-components-popover.mjs +18 -28
- package/fesm2022/elementar-rt-components-popover.mjs.map +1 -1
- package/fesm2022/elementar-rt-components-progress-bar.mjs +10 -10
- package/fesm2022/elementar-rt-components-progress-bar.mjs.map +1 -1
- package/fesm2022/elementar-rt-components-progress-spinner.mjs +14 -14
- package/fesm2022/elementar-rt-components-progress-spinner.mjs.map +1 -1
- package/fesm2022/elementar-rt-components-radio-card.mjs +21 -21
- package/fesm2022/elementar-rt-components-radio-card.mjs.map +1 -1
- package/fesm2022/elementar-rt-components-rail-nav.mjs +14 -14
- package/fesm2022/elementar-rt-components-rail-nav.mjs.map +1 -1
- package/fesm2022/elementar-rt-components-rating.mjs +15 -15
- package/fesm2022/elementar-rt-components-rating.mjs.map +1 -1
- package/fesm2022/elementar-rt-components-resizable-container.mjs +5 -7
- package/fesm2022/elementar-rt-components-resizable-container.mjs.map +1 -1
- package/fesm2022/elementar-rt-components-screen-loader.mjs +5 -7
- package/fesm2022/elementar-rt-components-screen-loader.mjs.map +1 -1
- package/fesm2022/elementar-rt-components-scroll-spy.mjs +18 -18
- package/fesm2022/elementar-rt-components-scroll-spy.mjs.map +1 -1
- package/fesm2022/elementar-rt-components-segmented.mjs +18 -24
- package/fesm2022/elementar-rt-components-segmented.mjs.map +1 -1
- package/fesm2022/elementar-rt-components-side-panel.mjs +18 -18
- package/fesm2022/elementar-rt-components-side-panel.mjs.map +1 -1
- package/fesm2022/elementar-rt-components-sidebar.mjs +71 -77
- package/fesm2022/elementar-rt-components-sidebar.mjs.map +1 -1
- package/fesm2022/elementar-rt-components-sidenav.mjs +15 -15
- package/fesm2022/elementar-rt-components-sidenav.mjs.map +1 -1
- package/fesm2022/elementar-rt-components-signature-pad.mjs +17 -17
- package/fesm2022/elementar-rt-components-signature-pad.mjs.map +1 -1
- package/fesm2022/elementar-rt-components-skeleton.mjs +17 -17
- package/fesm2022/elementar-rt-components-skeleton.mjs.map +1 -1
- package/fesm2022/elementar-rt-components-slider.mjs +13 -13
- package/fesm2022/elementar-rt-components-slider.mjs.map +1 -1
- package/fesm2022/elementar-rt-components-snackbar.mjs +10 -10
- package/fesm2022/elementar-rt-components-snackbar.mjs.map +1 -1
- package/fesm2022/elementar-rt-components-sort.mjs +11 -11
- package/fesm2022/elementar-rt-components-sort.mjs.map +1 -1
- package/fesm2022/elementar-rt-components-splash-screen.mjs +6 -10
- package/fesm2022/elementar-rt-components-splash-screen.mjs.map +1 -1
- package/fesm2022/elementar-rt-components-split-pane.mjs +10 -10
- package/fesm2022/elementar-rt-components-split-pane.mjs.map +1 -1
- package/fesm2022/elementar-rt-components-stat-card.mjs +10 -10
- package/fesm2022/elementar-rt-components-stat-card.mjs.map +1 -1
- package/fesm2022/elementar-rt-components-step-tracker.mjs +8 -8
- package/fesm2022/elementar-rt-components-step-tracker.mjs.map +1 -1
- package/fesm2022/elementar-rt-components-stepper.mjs +21 -23
- package/fesm2022/elementar-rt-components-stepper.mjs.map +1 -1
- package/fesm2022/elementar-rt-components-suggestions.mjs +21 -25
- package/fesm2022/elementar-rt-components-suggestions.mjs.map +1 -1
- package/fesm2022/elementar-rt-components-tab-panel.mjs +54 -60
- package/fesm2022/elementar-rt-components-tab-panel.mjs.map +1 -1
- package/fesm2022/elementar-rt-components-table.mjs +16 -16
- package/fesm2022/elementar-rt-components-table.mjs.map +1 -1
- package/fesm2022/elementar-rt-components-tabs.mjs +14 -14
- package/fesm2022/elementar-rt-components-tabs.mjs.map +1 -1
- package/fesm2022/elementar-rt-components-tag.mjs +9 -9
- package/fesm2022/elementar-rt-components-tag.mjs.map +1 -1
- package/fesm2022/elementar-rt-components-text-editor.mjs +97 -96
- package/fesm2022/elementar-rt-components-text-editor.mjs.map +1 -1
- package/fesm2022/elementar-rt-components-thumbnail-maker.mjs +11 -13
- package/fesm2022/elementar-rt-components-thumbnail-maker.mjs.map +1 -1
- package/fesm2022/elementar-rt-components-tiles.mjs +9 -9
- package/fesm2022/elementar-rt-components-tiles.mjs.map +1 -1
- package/fesm2022/elementar-rt-components-timeline.mjs +39 -39
- package/fesm2022/elementar-rt-components-timeline.mjs.map +1 -1
- package/fesm2022/elementar-rt-components-timepicker.mjs +11 -11
- package/fesm2022/elementar-rt-components-timepicker.mjs.map +1 -1
- package/fesm2022/elementar-rt-components-timezone-select.mjs +23 -29
- package/fesm2022/elementar-rt-components-timezone-select.mjs.map +1 -1
- package/fesm2022/elementar-rt-components-toast.mjs +14 -14
- package/fesm2022/elementar-rt-components-toast.mjs.map +1 -1
- package/fesm2022/elementar-rt-components-toolbar.mjs +6 -6
- package/fesm2022/elementar-rt-components-toolbar.mjs.map +1 -1
- package/fesm2022/elementar-rt-components-tooltip.mjs +14 -14
- package/fesm2022/elementar-rt-components-tooltip.mjs.map +1 -1
- package/fesm2022/elementar-rt-components-tree.mjs +17 -17
- package/fesm2022/elementar-rt-components-tree.mjs.map +1 -1
- package/fesm2022/elementar-rt-components-upload.mjs +77 -87
- package/fesm2022/elementar-rt-components-upload.mjs.map +1 -1
- package/fesm2022/elementar-rt-components-video-player.mjs +22 -22
- package/fesm2022/elementar-rt-components-video-player.mjs.map +1 -1
- package/fesm2022/elementar-rt-components-video-viewer.mjs +16 -16
- package/fesm2022/elementar-rt-components-video-viewer.mjs.map +1 -1
- package/package.json +136 -135
- package/schematics/collection.json +16 -0
- package/schematics/ng-add/actions/add-fonts.d.ts +2 -0
- package/schematics/ng-add/actions/add-fonts.js +70 -0
- package/schematics/ng-add/actions/add-fonts.js.map +1 -0
- package/schematics/ng-add/actions/add-styles.d.ts +3 -0
- package/schematics/ng-add/actions/add-styles.js +70 -0
- package/schematics/ng-add/actions/add-styles.js.map +1 -0
- package/schematics/ng-add/index.d.ts +3 -0
- package/schematics/ng-add/index.js +83 -0
- package/schematics/ng-add/index.js.map +1 -0
- package/schematics/ng-add/schema.d.ts +3 -0
- package/schematics/ng-add/schema.js +3 -0
- package/schematics/ng-add/schema.js.map +1 -0
- package/schematics/ng-add/schema.json +8 -0
- package/schematics/ng-add/setup-project.d.ts +3 -0
- package/schematics/ng-add/setup-project.js +14 -0
- package/schematics/ng-add/setup-project.js.map +1 -0
- package/schematics/utils/package-config.d.ts +3 -0
- package/schematics/utils/package-config.js +36 -0
- package/schematics/utils/package-config.js.map +1 -0
- package/schematics/utils/project.d.ts +10 -0
- package/schematics/utils/project.js +46 -0
- package/schematics/utils/project.js.map +1 -0
- package/{country-select/index.d.ts → types/elementar-rt-components-country-select.d.ts} +1 -1
- package/{currency-select/index.d.ts → types/elementar-rt-components-currency-select.d.ts} +1 -1
- /package/{action-required/index.d.ts → types/elementar-rt-components-action-required.d.ts} +0 -0
- /package/{alert/index.d.ts → types/elementar-rt-components-alert.d.ts} +0 -0
- /package/{announcement/index.d.ts → types/elementar-rt-components-announcement.d.ts} +0 -0
- /package/{avatar/index.d.ts → types/elementar-rt-components-avatar.d.ts} +0 -0
- /package/{badge/index.d.ts → types/elementar-rt-components-badge.d.ts} +0 -0
- /package/{block-loader/index.d.ts → types/elementar-rt-components-block-loader.d.ts} +0 -0
- /package/{block-state/index.d.ts → types/elementar-rt-components-block-state.d.ts} +0 -0
- /package/{bottom-sheet/index.d.ts → types/elementar-rt-components-bottom-sheet.d.ts} +0 -0
- /package/{brand-colors/index.d.ts → types/elementar-rt-components-brand-colors.d.ts} +0 -0
- /package/{breadcrumbs/index.d.ts → types/elementar-rt-components-breadcrumbs.d.ts} +0 -0
- /package/{button-toggle/index.d.ts → types/elementar-rt-components-button-toggle.d.ts} +0 -0
- /package/{calendar/index.d.ts → types/elementar-rt-components-calendar.d.ts} +0 -0
- /package/{card-overlay/index.d.ts → types/elementar-rt-components-card-overlay.d.ts} +0 -0
- /package/{card/index.d.ts → types/elementar-rt-components-card.d.ts} +0 -0
- /package/{carousel/index.d.ts → types/elementar-rt-components-carousel.d.ts} +0 -0
- /package/{chips/index.d.ts → types/elementar-rt-components-chips.d.ts} +0 -0
- /package/{clipboard-copy/index.d.ts → types/elementar-rt-components-clipboard-copy.d.ts} +0 -0
- /package/{code-highlighter/index.d.ts → types/elementar-rt-components-code-highlighter.d.ts} +0 -0
- /package/{color-picker/index.d.ts → types/elementar-rt-components-color-picker.d.ts} +0 -0
- /package/{color-scheme/index.d.ts → types/elementar-rt-components-color-scheme.d.ts} +0 -0
- /package/{combobox/index.d.ts → types/elementar-rt-components-combobox.d.ts} +0 -0
- /package/{command-bar/index.d.ts → types/elementar-rt-components-command-bar.d.ts} +0 -0
- /package/{comment-editor/index.d.ts → types/elementar-rt-components-comment-editor.d.ts} +0 -0
- /package/{comparison-slider/index.d.ts → types/elementar-rt-components-comparison-slider.d.ts} +0 -0
- /package/{confirm/index.d.ts → types/elementar-rt-components-confirm.d.ts} +0 -0
- /package/{content-editor/index.d.ts → types/elementar-rt-components-content-editor.d.ts} +0 -0
- /package/{content-fade/index.d.ts → types/elementar-rt-components-content-fade.d.ts} +0 -0
- /package/{cookie-popup/index.d.ts → types/elementar-rt-components-cookie-popup.d.ts} +0 -0
- /package/{core/index.d.ts → types/elementar-rt-components-core.d.ts} +0 -0
- /package/{crop/index.d.ts → types/elementar-rt-components-crop.d.ts} +0 -0
- /package/{dashboard/index.d.ts → types/elementar-rt-components-dashboard.d.ts} +0 -0
- /package/{data-grid/index.d.ts → types/elementar-rt-components-data-grid.d.ts} +0 -0
- /package/{data-view/index.d.ts → types/elementar-rt-components-data-view.d.ts} +0 -0
- /package/{date-format-select/index.d.ts → types/elementar-rt-components-date-format-select.d.ts} +0 -0
- /package/{datepicker/index.d.ts → types/elementar-rt-components-datepicker.d.ts} +0 -0
- /package/{dialog/index.d.ts → types/elementar-rt-components-dialog.d.ts} +0 -0
- /package/{digit-roller/index.d.ts → types/elementar-rt-components-digit-roller.d.ts} +0 -0
- /package/{divider/index.d.ts → types/elementar-rt-components-divider.d.ts} +0 -0
- /package/{drawer/index.d.ts → types/elementar-rt-components-drawer.d.ts} +0 -0
- /package/{emoji-picker/index.d.ts → types/elementar-rt-components-emoji-picker.d.ts} +0 -0
- /package/{empty-state/index.d.ts → types/elementar-rt-components-empty-state.d.ts} +0 -0
- /package/{expand/index.d.ts → types/elementar-rt-components-expand.d.ts} +0 -0
- /package/{expansion-panel/index.d.ts → types/elementar-rt-components-expansion-panel.d.ts} +0 -0
- /package/{filter-builder/index.d.ts → types/elementar-rt-components-filter-builder.d.ts} +0 -0
- /package/{filter-select/index.d.ts → types/elementar-rt-components-filter-select.d.ts} +0 -0
- /package/{form-renderer/index.d.ts → types/elementar-rt-components-form-renderer.d.ts} +0 -0
- /package/{gauge/index.d.ts → types/elementar-rt-components-gauge.d.ts} +0 -0
- /package/{grid/index.d.ts → types/elementar-rt-components-grid.d.ts} +0 -0
- /package/{guided-tour/index.d.ts → types/elementar-rt-components-guided-tour.d.ts} +0 -0
- /package/{headless-stepper/index.d.ts → types/elementar-rt-components-headless-stepper.d.ts} +0 -0
- /package/{icon/index.d.ts → types/elementar-rt-components-icon.d.ts} +0 -0
- /package/{image-placeholder/index.d.ts → types/elementar-rt-components-image-placeholder.d.ts} +0 -0
- /package/{image-resizer/index.d.ts → types/elementar-rt-components-image-resizer.d.ts} +0 -0
- /package/{image-viewer/index.d.ts → types/elementar-rt-components-image-viewer.d.ts} +0 -0
- /package/{image-zoom-viewer/index.d.ts → types/elementar-rt-components-image-zoom-viewer.d.ts} +0 -0
- /package/{incidents/index.d.ts → types/elementar-rt-components-incidents.d.ts} +0 -0
- /package/{inline-text-edit/index.d.ts → types/elementar-rt-components-inline-text-edit.d.ts} +0 -0
- /package/{input-mask/index.d.ts → types/elementar-rt-components-input-mask.d.ts} +0 -0
- /package/{input-validator/index.d.ts → types/elementar-rt-components-input-validator.d.ts} +0 -0
- /package/{kanban-board/index.d.ts → types/elementar-rt-components-kanban-board.d.ts} +0 -0
- /package/{keyboard/index.d.ts → types/elementar-rt-components-keyboard.d.ts} +0 -0
- /package/{layout/index.d.ts → types/elementar-rt-components-layout.d.ts} +0 -0
- /package/{list/index.d.ts → types/elementar-rt-components-list.d.ts} +0 -0
- /package/{logo/index.d.ts → types/elementar-rt-components-logo.d.ts} +0 -0
- /package/{marquee/index.d.ts → types/elementar-rt-components-marquee.d.ts} +0 -0
- /package/{menu/index.d.ts → types/elementar-rt-components-menu.d.ts} +0 -0
- /package/{micro-chart/index.d.ts → types/elementar-rt-components-micro-chart.d.ts} +0 -0
- /package/{multi-select/index.d.ts → types/elementar-rt-components-multi-select.d.ts} +0 -0
- /package/{navigation/index.d.ts → types/elementar-rt-components-navigation.d.ts} +0 -0
- /package/{notifications/index.d.ts → types/elementar-rt-components-notifications.d.ts} +0 -0
- /package/{number-input/index.d.ts → types/elementar-rt-components-number-input.d.ts} +0 -0
- /package/{overlay-scrollbar/index.d.ts → types/elementar-rt-components-overlay-scrollbar.d.ts} +0 -0
- /package/{overlay/index.d.ts → types/elementar-rt-components-overlay.d.ts} +0 -0
- /package/{page-loading-bar/index.d.ts → types/elementar-rt-components-page-loading-bar.d.ts} +0 -0
- /package/{paginator/index.d.ts → types/elementar-rt-components-paginator.d.ts} +0 -0
- /package/{panel/index.d.ts → types/elementar-rt-components-panel.d.ts} +0 -0
- /package/{password-strength/index.d.ts → types/elementar-rt-components-password-strength.d.ts} +0 -0
- /package/{phone-input/index.d.ts → types/elementar-rt-components-phone-input.d.ts} +0 -0
- /package/{pin-input/index.d.ts → types/elementar-rt-components-pin-input.d.ts} +0 -0
- /package/{popover/index.d.ts → types/elementar-rt-components-popover.d.ts} +0 -0
- /package/{progress-bar/index.d.ts → types/elementar-rt-components-progress-bar.d.ts} +0 -0
- /package/{progress-spinner/index.d.ts → types/elementar-rt-components-progress-spinner.d.ts} +0 -0
- /package/{radio-card/index.d.ts → types/elementar-rt-components-radio-card.d.ts} +0 -0
- /package/{rail-nav/index.d.ts → types/elementar-rt-components-rail-nav.d.ts} +0 -0
- /package/{rating/index.d.ts → types/elementar-rt-components-rating.d.ts} +0 -0
- /package/{resizable-container/index.d.ts → types/elementar-rt-components-resizable-container.d.ts} +0 -0
- /package/{screen-loader/index.d.ts → types/elementar-rt-components-screen-loader.d.ts} +0 -0
- /package/{scroll-spy/index.d.ts → types/elementar-rt-components-scroll-spy.d.ts} +0 -0
- /package/{segmented/index.d.ts → types/elementar-rt-components-segmented.d.ts} +0 -0
- /package/{side-panel/index.d.ts → types/elementar-rt-components-side-panel.d.ts} +0 -0
- /package/{sidebar/index.d.ts → types/elementar-rt-components-sidebar.d.ts} +0 -0
- /package/{sidenav/index.d.ts → types/elementar-rt-components-sidenav.d.ts} +0 -0
- /package/{signature-pad/index.d.ts → types/elementar-rt-components-signature-pad.d.ts} +0 -0
- /package/{skeleton/index.d.ts → types/elementar-rt-components-skeleton.d.ts} +0 -0
- /package/{slider/index.d.ts → types/elementar-rt-components-slider.d.ts} +0 -0
- /package/{snackbar/index.d.ts → types/elementar-rt-components-snackbar.d.ts} +0 -0
- /package/{sort/index.d.ts → types/elementar-rt-components-sort.d.ts} +0 -0
- /package/{splash-screen/index.d.ts → types/elementar-rt-components-splash-screen.d.ts} +0 -0
- /package/{split-pane/index.d.ts → types/elementar-rt-components-split-pane.d.ts} +0 -0
- /package/{stat-card/index.d.ts → types/elementar-rt-components-stat-card.d.ts} +0 -0
- /package/{step-tracker/index.d.ts → types/elementar-rt-components-step-tracker.d.ts} +0 -0
- /package/{stepper/index.d.ts → types/elementar-rt-components-stepper.d.ts} +0 -0
- /package/{suggestions/index.d.ts → types/elementar-rt-components-suggestions.d.ts} +0 -0
- /package/{tab-panel/index.d.ts → types/elementar-rt-components-tab-panel.d.ts} +0 -0
- /package/{table/index.d.ts → types/elementar-rt-components-table.d.ts} +0 -0
- /package/{tabs/index.d.ts → types/elementar-rt-components-tabs.d.ts} +0 -0
- /package/{tag/index.d.ts → types/elementar-rt-components-tag.d.ts} +0 -0
- /package/{text-editor/index.d.ts → types/elementar-rt-components-text-editor.d.ts} +0 -0
- /package/{thumbnail-maker/index.d.ts → types/elementar-rt-components-thumbnail-maker.d.ts} +0 -0
- /package/{tiles/index.d.ts → types/elementar-rt-components-tiles.d.ts} +0 -0
- /package/{timeline/index.d.ts → types/elementar-rt-components-timeline.d.ts} +0 -0
- /package/{timepicker/index.d.ts → types/elementar-rt-components-timepicker.d.ts} +0 -0
- /package/{timezone-select/index.d.ts → types/elementar-rt-components-timezone-select.d.ts} +0 -0
- /package/{toast/index.d.ts → types/elementar-rt-components-toast.d.ts} +0 -0
- /package/{toolbar/index.d.ts → types/elementar-rt-components-toolbar.d.ts} +0 -0
- /package/{tooltip/index.d.ts → types/elementar-rt-components-tooltip.d.ts} +0 -0
- /package/{tree/index.d.ts → types/elementar-rt-components-tree.d.ts} +0 -0
- /package/{upload/index.d.ts → types/elementar-rt-components-upload.d.ts} +0 -0
- /package/{video-player/index.d.ts → types/elementar-rt-components-video-player.d.ts} +0 -0
- /package/{video-viewer/index.d.ts → types/elementar-rt-components-video-viewer.d.ts} +0 -0
- /package/{index.d.ts → types/elementar-rt-components.d.ts} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"elementar-rt-components-micro-chart.mjs","sources":["../../../projects/components/micro-chart/src/base-chart.tooltip.ts","../../../projects/components/micro-chart/src/mchart-line/mchart-line.component.ts","../../../projects/components/micro-chart/src/mchart-line/mchart-line.component.html","../../../projects/components/micro-chart/src/mchart-bar/mchart-bar.component.ts","../../../projects/components/micro-chart/src/mchart-bar/mchart-bar.component.html","../../../projects/components/micro-chart/src/mchart-pie/mchart-pie.component.ts","../../../projects/components/micro-chart/src/mchart-pie/mchart-pie.component.html","../../../projects/components/micro-chart/src/mchart-tooltip/mchart-tooltip.component.ts","../../../projects/components/micro-chart/src/mchart-tooltip/mchart-tooltip.component.html","../../../projects/components/micro-chart/src/mchart-tooltip-title/mchart-tooltip-title.component.ts","../../../projects/components/micro-chart/src/mchart-tooltip-title/mchart-tooltip-title.component.html","../../../projects/components/micro-chart/src/mchart-tooltip-body/mchart-tooltip-body.component.ts","../../../projects/components/micro-chart/src/mchart-tooltip-body/mchart-tooltip-body.component.html","../../../projects/components/micro-chart/elementar-rt-components-micro-chart.ts"],"sourcesContent":["import { TemplatePortal } from '@angular/cdk/portal';\nimport { inject, Injector, Renderer2, TemplateRef, ViewContainerRef, DOCUMENT } from '@angular/core';\nimport {\n ConnectedPosition,\n FlexibleConnectedPositionStrategy,\n Overlay,\n OverlayConfig,\n OverlayRef\n} from '@angular/cdk/overlay';\n\nimport { OverlayPosition, PositionManager } from '@elementar-rt/components/overlay';\n\nexport abstract class BaseChartTooltip {\n protected _tooltipOrigin: HTMLElement;\n protected _tooltipPortal!: TemplatePortal;\n protected _overlayRef: OverlayRef;\n protected _renderer = inject(Renderer2);\n protected _overlay = inject(Overlay);\n protected _viewContainerRef = inject(ViewContainerRef);\n protected _injector = inject(Injector);\n protected _document = inject(DOCUMENT);\n\n abstract getTooltipTemplateRef(): TemplateRef<any> | undefined;\n abstract getTooltipPosition(): OverlayPosition;\n\n protected _createTooltipOrigin(): void {\n let tooltipOrigin: HTMLElement | null = this._document.querySelector('.emr-mchart-tooltip-origin');\n\n if (!tooltipOrigin) {\n tooltipOrigin = this._renderer.createElement('div') as HTMLElement;\n tooltipOrigin.classList.add('emr-mchart-tooltip-origin');\n this._renderer.appendChild(this._document.body, tooltipOrigin);\n }\n\n this._tooltipOrigin = tooltipOrigin;\n this._renderer.setStyle(this._tooltipOrigin, 'width', '10px');\n this._renderer.setStyle(this._tooltipOrigin, 'height', '10px');\n this._renderer.setStyle(this._tooltipOrigin, 'z-index', '-1');\n this._renderer.setStyle(this._tooltipOrigin, 'position', 'fixed');\n this._renderer.setStyle(this._tooltipOrigin, 'opacity', '0');\n }\n\n protected _showTooltip(data: object): void {\n this._overlayRef?.detach();\n this._overlayRef = this._overlay.create(this._getOverlayConfig());\n this._overlayRef.attach(this._getContentPortal(data));\n }\n\n protected _hideTooltip(): void {\n this._overlayRef?.detach();\n }\n\n protected _setTooltipPositionByEvent(e: MouseEvent): void {\n this._renderer.setStyle(this._tooltipOrigin, 'left', (e.clientX + 10) + 'px');\n this._renderer.setStyle(this._tooltipOrigin, 'top', (e.clientY - 4) + 'px');\n }\n\n protected _setTooltipVisible(): void {\n this._renderer.addClass(this._tooltipOrigin, 'is-visible');\n }\n\n protected _setTooltipInVisible(): void {\n this._renderer.removeClass(this._tooltipOrigin, 'is-visible');\n }\n\n protected _getContentPortal(data: object) {\n this._tooltipPortal = new TemplatePortal(\n this.getTooltipTemplateRef() as TemplateRef<any>,\n this._viewContainerRef,\n {\n '$implicit': {\n ...data\n }\n },\n this._injector\n );\n\n return this._tooltipPortal;\n }\n\n protected _getOverlayConfig() {\n return new OverlayConfig({\n panelClass: 'emr-mchart-tooltip-overlay',\n positionStrategy: this._getOverlayPositionStrategy(),\n scrollStrategy: this._overlay.scrollStrategies.reposition()\n });\n }\n\n protected _getOverlayPositionStrategy(): FlexibleConnectedPositionStrategy {\n return this._overlay\n .position()\n .flexibleConnectedTo(this._tooltipOrigin)\n .withFlexibleDimensions()\n .withGrowAfterOpen()\n .withPositions(this._getOverlayPositions())\n ;\n }\n\n protected _getOverlayPositions(): ConnectedPosition[] {\n return (new PositionManager()).build(this.getTooltipPosition());\n }\n}\n","import {\n AfterViewChecked,\n booleanAttribute,\n ChangeDetectionStrategy,\n Component, DestroyRef,\n effect,\n ElementRef,\n inject,\n input,\n numberAttribute, OnDestroy,\n PLATFORM_ID,\n TemplateRef,\n} from '@angular/core';\nimport { isPlatformServer } from '@angular/common';\nimport {\n Selection,\n curveLinear,\n curveCatmullRom,\n curveBumpX,\n scaleLinear,\n select,\n scalePoint,\n min, max,\n pointer,\n line, area,\n curveStep\n} from 'd3';\nimport { OverlayPosition } from '@elementar-rt/components/overlay';\nimport { fromEvent } from 'rxjs';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { MchartLineCurveType } from '../types';\nimport { BaseChartTooltip } from '../base-chart.tooltip';\n\nlet nextId = 0;\n\n@Component({\n selector: 'emr-mchart-line',\n exportAs: 'emrMchartLine',\n templateUrl: './mchart-line.component.html',\n styleUrl: './mchart-line.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n 'class': 'emr-mchart-line',\n '[class.fill-area-gradient]': 'fillAreaGradient()',\n }\n})\nexport class MchartLineComponent extends BaseChartTooltip implements OnDestroy, AfterViewChecked {\n private _initialized = false;\n private _host: any;\n private _svg: any;\n private _dimensions: DOMRect;\n private _hostWidth = 0;\n private _hostHeight = 0;\n private _innerWidth = 0;\n private _innerHeight = 0;\n private _yScale: any;\n private _xScale: any;\n private _curveMap = {\n 'linear': curveLinear,\n 'catmullRom': curveCatmullRom,\n 'curveBumpX': curveBumpX,\n 'curveStep': curveStep\n };\n private _resizeObserver: ResizeObserver;\n private _tooltipDot: HTMLElement;\n private _area: any;\n private _line: any;\n private _platformId = inject(PLATFORM_ID);\n private _destroyRef = inject(DestroyRef);\n private _elementRef = inject(ElementRef);\n\n data = input<number[]>([]);\n labels = input<any[]>([]);\n strokeWidth = input(2, {\n transform: numberAttribute\n });\n showArea = input(false, {\n transform: booleanAttribute\n });\n showMarkers = input(false, {\n transform: booleanAttribute\n });\n responsive = input(false, {\n transform: booleanAttribute\n });\n fillAreaGradient = input(false, {\n transform: booleanAttribute\n });\n curve = input<MchartLineCurveType>('linear');\n xAccessor = input((d: any, i: number) => i);\n yAccessor = input((d: any) => d);\n compact = input(false, {\n transform: booleanAttribute\n });\n markerDotSize = input(5, {\n transform: numberAttribute\n });\n tooltip = input<TemplateRef<unknown>>();\n tooltipPosition = input<OverlayPosition>('after-center');\n\n get gradientId(): string {\n return 'areaGradient' + this._gradientId;\n }\n private _gradientId = nextId++;\n\n constructor() {\n super();\n effect(() => {\n if (!this._initialized) {\n return;\n }\n\n this._render();\n });\n }\n\n ngAfterViewChecked() {\n if (isPlatformServer(this._platformId)) {\n return;\n }\n\n if (!this._initialized) {\n const element = this._elementRef.nativeElement as HTMLElement;\n this._dimensions = element.getBoundingClientRect();\n\n if (this._dimensions.width !== 0 && this._dimensions.height !== 0) {\n this._initialized = true;\n this._render();\n this._setupResizeObserver();\n }\n }\n }\n\n ngOnDestroy() {\n this._resizeObserver?.disconnect();\n }\n\n getTooltipPosition(): OverlayPosition {\n return this.tooltipPosition();\n }\n\n getTooltipTemplateRef(): TemplateRef<any> | undefined {\n return this.tooltip();\n }\n\n private _render(): void {\n this._setupContainers();\n this._setupData();\n }\n\n private _setupContainers(): void {\n this._hostWidth = this._dimensions.width;\n this._hostHeight = this._dimensions.height;\n this._innerWidth = this._dimensions.width;\n this._innerHeight = this._dimensions.height;\n this._host = select(this._elementRef.nativeElement);\n this._svg = this._host\n .select('svg')\n .attr('viewBox', `0 0 ${this._hostWidth} ${this._hostHeight}`)\n ;\n\n if (this.tooltip()) {\n this._tooltipDot = this._renderer.createElement('div');\n this._renderer.setStyle(this._tooltipDot, 'width', '10px');\n this._renderer.setStyle(this._tooltipDot, 'height', '10px');\n this._renderer.setStyle(this._tooltipDot, 'z-index', '-1');\n this._renderer.setStyle(this._tooltipDot, 'position', 'fixed');\n this._renderer.setStyle(this._tooltipDot, 'opacity', '0');\n this._renderer.appendChild(this._document.body, this._tooltipDot);\n }\n }\n\n private _setupData(isUpdate = false): void {\n let markerDotSize = this.markerDotSize();\n\n if (!this.showMarkers()) {\n markerDotSize = this.strokeWidth();\n }\n\n const xAccessor = this.xAccessor();\n const yAccessor = this.yAccessor();\n const xDomain = this.data().map((d: any, i: number) => xAccessor(d, i)) as any;\n\n if (!this._xScale) {\n this._xScale = scalePoint().domain(xDomain);\n }\n\n this._xScale.range([markerDotSize, this._innerWidth - markerDotSize]);\n\n const yDomain = [\n this.compact() ? min(this.data().map(d => yAccessor(d))) : 0,\n max(this.data().map(d => yAccessor(d)))\n ];\n\n if (!this._yScale) {\n this._yScale = scaleLinear()\n .domain(yDomain)\n ;\n }\n\n this._yScale.range([this._innerHeight - markerDotSize, markerDotSize])\n\n if (this.showArea()) {\n const areaGenerator = area()\n .x((d, i) => this._xScale(xAccessor(d, i)))\n .y1((d) => this._yScale(yAccessor(d)))\n .y0(this._innerHeight - markerDotSize)\n .curve(this._curveMap[this.curve()])\n ;\n\n if (!this._area) {\n // add area\n this._area = this._svg\n .append('path')\n .datum(this.data())\n .attr('d', areaGenerator)\n .attr('class', 'area')\n ;\n\n if (this.fillAreaGradient()) {\n this._area.attr('fill', `url(#${this.gradientId})`);\n }\n } else {\n this._area.attr('d', areaGenerator);\n }\n }\n\n const lineGenerator = line()\n .x((d, i) => this._xScale(xAccessor(d, i)))\n .y((d) => this._yScale(yAccessor(d)))\n ;\n\n if (!this._line) {\n // add line\n this._line = this._svg\n .append('path')\n .datum(this.data())\n .attr('d', lineGenerator.curve(this._curveMap[this.curve()]))\n .attr('class', 'line')\n .attr('stroke-width', this.strokeWidth())\n ;\n } else {\n this._line.attr('d', lineGenerator.curve(this._curveMap[this.curve()]))\n }\n\n if (isUpdate) {\n return;\n }\n\n if (this.showMarkers() || this.tooltip()) {\n const markerLine = this._svg\n .append('line')\n .attr('x1', 0)\n .attr('x2', 0)\n .attr('y1', 0)\n .attr('y2', this._innerHeight - markerDotSize)\n .attr('opacity', 0)\n .attr('class', 'marker-line')\n ;\n const markerDot: Selection<any, any, any, any> = this._svg\n .append('circle')\n .attr('cx', 0)\n .attr('cy', 0)\n .attr('r', markerDotSize)\n .attr('opacity', 0)\n .attr('class', 'marker-dot')\n ;\n\n let x = 0;\n let y = 0;\n let label: any;\n let value: any;\n\n if (this.tooltip()) {\n this._createTooltipOrigin();\n }\n\n fromEvent<MouseEvent>(this._document, 'mousemove')\n .pipe(\n takeUntilDestroyed(this._destroyRef)\n )\n .subscribe((e: MouseEvent) => {\n const target = e.target as HTMLElement;\n const oldXPosition = +markerDot.attr('cx');\n const pointerCoords = pointer(e, this._svg.node());\n const [posX, posY] = pointerCoords;\n let visible = true;\n\n if (posX < this.markerDotSize() || posY < this.markerDotSize() || posX > this._hostWidth || posY > this._hostHeight) {\n visible = false;\n this._overlayRef?.detach();\n markerLine.attr('opacity', 0);\n markerDot.attr('opacity', 0);\n } else {\n if (target.closest('.emr-mchart-line') ||\n target.classList.contains('emr-mchart-tooltip-overlay') ||\n target.closest('.emr-mchart-tooltip-overlay')\n ) {\n if (this.showMarkers()) {\n markerLine.attr('opacity', 1);\n markerDot.attr('opacity', 1);\n }\n } else {\n visible = false;\n this._overlayRef?.detach();\n }\n }\n\n const eachBand = this._xScale.step();\n const index = Math.round((posX / eachBand));\n const dataValue = this.data()[index];\n label = this.labels()[index] ? this.labels()[index] : xAccessor(index, index);\n value = yAccessor(dataValue);\n x = this._xScale(xAccessor(index, index));\n y = this._yScale(yAccessor(dataValue));\n markerLine\n .attr('x1', x)\n .attr('x2', x)\n ;\n markerDot\n .attr('cx', x)\n .attr('cy', y)\n ;\n\n if (this.tooltip()) {\n this._setTooltipPositionByEvent(e);\n\n if (visible) {\n this._setTooltipVisible();\n\n if (!this._overlayRef?.hasAttached()) {\n this._showTooltip({\n label,\n value\n });\n } else {\n if (oldXPosition !== x) {\n this._showTooltip({\n label,\n value\n });\n } else {\n this._overlayRef.updatePosition();\n }\n }\n } else {\n this._setTooltipInVisible();\n }\n }\n })\n ;\n }\n }\n\n private _setupResizeObserver(): void {\n if (!this.responsive()) {\n return;\n }\n\n this._resizeObserver = new ResizeObserver((entries) => {\n if (this._hostWidth !== entries[0].contentRect.width || this._hostHeight !== entries[0].contentRect.height) {\n this._hostWidth = entries[0].contentRect.width;\n this._hostHeight = entries[0].contentRect.height;\n this._innerWidth = entries[0].contentRect.width;\n this._innerHeight = entries[0].contentRect.height;\n this._svg\n .attr(\"viewBox\", `0 0 ${this._hostWidth} ${this._hostHeight}`)\n ;\n this._setupData(true);\n }\n });\n this._resizeObserver.observe(this._elementRef.nativeElement);\n }\n}\n","<svg>\n @if (fillAreaGradient()) {\n <linearGradient [id]=\"gradientId\" x1=\"0\" x2=\"0\" y1=\"0\" y2=\"1\">\n <stop offset=\"0%\" class=\"lg-start-color\"/>\n <stop offset=\"100%\" class=\"lg-end-color\"/>\n </linearGradient>\n }\n</svg>\n","import {\n AfterViewChecked,\n booleanAttribute,\n ChangeDetectionStrategy,\n Component, DestroyRef,\n effect,\n ElementRef,\n inject,\n input,\n numberAttribute, OnDestroy,\n PLATFORM_ID, TemplateRef,\n} from '@angular/core';\nimport { isPlatformServer } from '@angular/common';\nimport { pointer, scaleBand, scaleLinear, select } from 'd3';\nimport { OverlayPosition } from '@elementar-rt/components/overlay';\nimport { fromEvent } from 'rxjs';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { BaseChartTooltip } from '../base-chart.tooltip';\n\nlet nextId = 0;\n\n@Component({\n selector: 'emr-mchart-bar',\n exportAs: 'emrMchartBar',\n templateUrl: './mchart-bar.component.html',\n styleUrl: './mchart-bar.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n 'class': 'emr-mchart-bar',\n '[class.fill-gradient]': 'fillGradient()',\n '[class.with-tooltip]': '!!tooltip()',\n }\n})\nexport class MchartBarComponent extends BaseChartTooltip implements OnDestroy, AfterViewChecked {\n private _initialized = false;\n private _host: any;\n private _svg: any;\n private _hlContainer: any;\n private _dataContainer: any;\n private _dimensions: DOMRect;\n private _innerWidth = 0;\n private _innerHeight = 0;\n private _hostWidth = 0;\n private _hostHeight = 0;\n private _xScale: any;\n private _yScale: any;\n private _resizeObserver: ResizeObserver;\n private _platformId = inject(PLATFORM_ID);\n private _elementRef = inject(ElementRef);\n private _destroyRef = inject(DestroyRef);\n\n data = input<number[]>([]);\n labels = input<string[]>([]);\n gap = input(0.2, {\n transform: numberAttribute\n });\n radius = input(0, {\n transform: numberAttribute\n });\n highlight = input(false, {\n transform: booleanAttribute\n });\n responsive = input(false, {\n transform: booleanAttribute\n });\n fillGradient = input(false, {\n transform: booleanAttribute\n });\n xAccessor = input((d: any, i: number) => i);\n yAccessor = input((d: any) => d);\n tooltip = input<TemplateRef<any>>();\n tooltipPosition = input<OverlayPosition>('after-center');\n\n get gradientId(): string {\n return 'areaGradient' + this._gradientId;\n }\n private _gradientId = nextId++;\n\n constructor() {\n super();\n effect(() => {\n if (!this._initialized) {\n return;\n }\n\n this._render();\n this._setupResizeObserver();\n });\n }\n\n ngAfterViewChecked() {\n if (isPlatformServer(this._platformId)) {\n return;\n }\n\n if (!this._initialized) {\n const element = this._elementRef.nativeElement as HTMLElement;\n this._dimensions = element.getBoundingClientRect();\n\n if (this._dimensions.width !== 0 && this._dimensions.height !==0) {\n this._initialized = true;\n this._render();\n this._setupResizeObserver();\n }\n }\n }\n\n ngOnDestroy() {\n this._resizeObserver?.disconnect();\n }\n\n getTooltipPosition(): OverlayPosition {\n return this.tooltipPosition();\n }\n\n getTooltipTemplateRef(): TemplateRef<any> | undefined {\n return this.tooltip();\n }\n\n private _render(): void {\n this._init();\n this._setupAxisScale();\n this._setupData();\n this._initTooltip();\n }\n\n private _init(): void {\n this._hostWidth = this._dimensions.width;\n this._hostHeight = this._dimensions.height;\n this._innerWidth = this._dimensions.width;\n this._innerHeight = this._dimensions.height;\n this._host = select(this._elementRef.nativeElement);\n this._svg = this._host\n .select('svg')\n .attr('viewBox', `0 0 ${this._hostWidth} ${this._hostHeight}`)\n ;\n }\n\n private _setupAxisScale(): void {\n if (!this._xScale) {\n this._xScale = scaleBand()\n .paddingInner(this.gap())\n .domain(this.data().map((d, i) => i.toString()))\n ;\n }\n\n this._xScale.range([0, this._innerWidth]);\n\n if (!this._yScale) {\n this._yScale = scaleLinear().domain([0, Math.max(...this.data())]);\n }\n\n this._yScale.range([this._innerHeight, 0]);\n }\n\n private _setupData(): void {\n if (this.highlight()) {\n if (!this._hlContainer) {\n this._hlContainer = this._svg.append('g')\n .attr('class', 'hl-container')\n .attr('transform', `translate(0,0)`)\n ;\n this._hlContainer.selectAll('rect')\n .data(this.data())\n .enter()\n .append('rect')\n .attr('rx', this.radius())\n .attr('x', (d: any, i: number) => this._xScale(i.toString()))\n .attr('y', 0)\n .attr('width', this._xScale.bandwidth())\n .attr('height', this._innerHeight)\n .attr('class', 'highlight')\n ;\n } else {\n this._hlContainer.selectAll('rect')\n .attr('x', (d: any, i: number) => this._xScale(i.toString()))\n .attr('y', 0)\n .attr('width', this._xScale.bandwidth())\n .attr('height', this._innerHeight)\n ;\n }\n }\n\n if (!this._dataContainer) {\n this._dataContainer = this._svg.append('g')\n .attr('class', 'data-container')\n .attr('transform', `translate(0,0)`)\n ;\n const allBars = this._dataContainer.selectAll('rect')\n .data(this.data())\n .enter()\n .append('rect')\n .attr('rx', this.radius())\n .attr('x', (d: any, i: number) => this._xScale(i.toString()))\n .attr('y', (d: any) => this._yScale(d))\n .attr('width', this._xScale.bandwidth())\n .attr('height', (d: any) => this._innerHeight - this._yScale(d))\n .attr('class', 'bar')\n ;\n\n if (this.fillGradient()) {\n allBars.attr('fill', `url(#${this.gradientId})`);\n }\n } else {\n this._dataContainer.selectAll('rect')\n .attr('x', (d: any, i: number) => this._xScale(i.toString()))\n .attr('y', (d: any) => this._yScale(d))\n .attr('width', this._xScale.bandwidth())\n .attr('height', (d: any) => this._innerHeight - this._yScale(d))\n ;\n }\n }\n\n private _setupResizeObserver(): void {\n if (!this.responsive()) {\n return;\n }\n\n this._resizeObserver?.disconnect();\n this._resizeObserver = new ResizeObserver((entries) => {\n if (this._hostWidth !== entries[0].contentRect.width || this._hostHeight !== entries[0].contentRect.height) {\n this._hostWidth = entries[0].contentRect.width;\n this._hostHeight = entries[0].contentRect.height;\n this._innerWidth = entries[0].contentRect.width;\n this._innerHeight = entries[0].contentRect.height;\n this._svg.attr('viewBox', `0 0 ${this._hostWidth} ${this._hostHeight}`);\n this._setupAxisScale();\n this._setupData();\n }\n });\n this._resizeObserver.observe(this._elementRef.nativeElement);\n }\n\n private _initTooltip(): void {\n if (!this.tooltip()) {\n return;\n }\n\n const xAccessor = this.xAccessor();\n const yAccessor = this.yAccessor();\n this._createTooltipOrigin();\n\n let x = 0;\n let y = 0;\n let label: any;\n let value: any;\n let oldX: any;\n\n fromEvent<MouseEvent>(this._document, 'mousemove')\n .pipe(\n takeUntilDestroyed(this._destroyRef)\n )\n .subscribe((e: MouseEvent) => {\n const target = e.target as HTMLElement;\n const pointerCoords = pointer(e, this._svg.node());\n const [posX, posY] = pointerCoords;\n let visible = true;\n\n if (posX < 0 || posY < 0 || posX > this._hostWidth || posY > this._hostHeight) {\n visible = false;\n oldX = null;\n this._overlayRef?.detach();\n } else {\n if (!target.closest('.emr-mchart-line') ||\n !target.classList.contains('emr-mchart-tooltip-overlay') ||\n !target.closest('.emr-mchart-tooltip-overlay')\n ) {\n oldX = null;\n this._overlayRef?.detach();\n }\n }\n\n const eachBand = this._xScale.step();\n const index = Math.floor(posX / eachBand);\n const dataValue = this.data()[index];\n label = this.labels()[index] ? this.labels()[index] : xAccessor(index, index);\n value = yAccessor(dataValue);\n x = this._xScale(xAccessor(index, index));\n y = this._yScale(yAccessor(dataValue));\n this._setTooltipPositionByEvent(e);\n\n if (visible) {\n this._setTooltipVisible();\n\n if (!this._overlayRef?.hasAttached()) {\n oldX = x;\n this._showTooltip({\n label,\n value\n });\n } else {\n if (oldX !== x) {\n oldX = x;\n this._showTooltip({\n label,\n value\n });\n } else {\n this._overlayRef.updatePosition();\n }\n }\n } else {\n oldX = x;\n this._setTooltipInVisible();\n }\n })\n ;\n }\n}\n","<svg>\n <defs>\n @if (fillGradient()) {\n <linearGradient [id]=\"gradientId\" x1=\"0\" x2=\"0\" y1=\"0\" y2=\"1\">\n <stop offset=\"0%\" class=\"lg-start-color\"/>\n <stop offset=\"100%\" class=\"lg-end-color\"/>\n </linearGradient>\n }\n </defs>\n</svg>\n","import {\n AfterViewChecked, booleanAttribute,\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n inject,\n input, numberAttribute, OnChanges, OnDestroy,\n PLATFORM_ID, SimpleChanges, TemplateRef\n} from '@angular/core';\nimport { isPlatformServer } from '@angular/common';\nimport {\n arc,\n interpolate,\n pie,\n scaleOrdinal,\n schemeTableau10,\n select\n} from 'd3';\nimport { OverlayPosition } from '@elementar-rt/components/overlay';\nimport { BaseChartTooltip } from '../base-chart.tooltip';\n\n@Component({\n selector: 'emr-mchart-pie',\n exportAs: 'emrMchartPie',\n templateUrl: './mchart-pie.component.html',\n styleUrl: './mchart-pie.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n 'class': 'emr-mchart-pie'\n }\n})\nexport class MchartPieComponent extends BaseChartTooltip implements AfterViewChecked, OnChanges, OnDestroy {\n private _initialized = false;\n private _host: any;\n private _svg: any;\n private _dataContainer: any;\n private _legendContainer: any;\n private _dimensions: DOMRect;\n private _innerWidth = 0;\n private _innerHeight = 0;\n private _hostWidth = 0;\n private _hostHeight = 0;\n private _resizeObserver: ResizeObserver;\n private _platformId = inject(PLATFORM_ID);\n private _elementRef = inject(ElementRef);\n private _radius = 0;\n private _arcGenerator: any;\n private _pieGenerator: any;\n private _colorsGenerator: any;\n private _arcTweenGenerator: any;\n private _pieData: any;\n\n data = input<number[]>([]);\n labels = input<string[] | number[]>([]);\n valueAccessor = input((d: any) => d);\n dataItemStrokeWidth = input(1, {\n transform: numberAttribute\n });\n legendContainerWidth = input(0, {\n transform: numberAttribute\n });\n showDataAnimation = input(false, {\n transform: booleanAttribute\n });\n showValueOnSlices = input(false, {\n transform: booleanAttribute\n });\n showLegend = input(false, {\n transform: booleanAttribute\n });\n legendOffset = input(30, {\n transform: numberAttribute\n });\n legendItemHeight = input(30, {\n transform: numberAttribute\n });\n legendItemSymbolSize = input(12, {\n transform: numberAttribute\n });\n legendItemFontSize = input(14, {\n transform: numberAttribute\n });\n legendItemSymbolBorderRadius = input(12, {\n transform: numberAttribute\n });\n valueFontSize = input(12, {\n transform: numberAttribute\n });\n tooltip = input<TemplateRef<unknown>>();\n tooltipPosition = input<OverlayPosition>('after-center');\n\n getTooltipPosition(): OverlayPosition {\n return this.tooltipPosition();\n }\n\n getTooltipTemplateRef(): TemplateRef<any> | undefined {\n return this.tooltip();\n }\n\n ngAfterViewChecked() {\n if (isPlatformServer(this._platformId)) {\n return;\n }\n\n if (!this._initialized) {\n const element = this._elementRef.nativeElement as HTMLElement;\n this._dimensions = element.getBoundingClientRect();\n\n if (this._dimensions.width !== 0 && this._dimensions.height !==0) {\n this._initialized = true;\n this._render();\n this._setupResizeObserver();\n }\n }\n }\n\n ngOnChanges(changes: SimpleChanges) {\n if (!this._initialized) {\n return;\n }\n\n if (changes['data'] && !changes['data'].firstChange) {\n this._draw(true);\n }\n }\n\n ngOnDestroy() {\n this._resizeObserver?.disconnect();\n }\n\n private _render(): void {\n this._initDimensions();\n this._initContainers();\n this._setGenerators();\n this._setLegend();\n this._draw();\n this._initTooltip();\n }\n\n private _initDimensions(): void {\n const legendContainerWidth = this.showLegend() ? this.legendContainerWidth() : 0;\n this._hostWidth = this._dimensions.width;\n this._hostHeight = this._dimensions.height;\n this._innerWidth = this._dimensions.width - legendContainerWidth - this.dataItemStrokeWidth() * 2;\n this._innerHeight = this._dimensions.height - this.dataItemStrokeWidth() * 2;\n this._host = select(this._elementRef.nativeElement);\n this._svg = this._host\n .select('svg')\n .attr('viewBox', `0 0 ${this._hostWidth} ${this._hostHeight}`)\n ;\n this._radius = Math.min(this._innerWidth, this._innerHeight) * .5;\n }\n\n private _initContainers(): void {\n this._dataContainer = this._svg\n .append('g')\n .attr('class', 'data-container')\n .attr('transform', `translate(${this._radius},${this._innerHeight * .5})`)\n ;\n\n if (this.showLegend()) {\n this._legendContainer = this._svg\n .append('g')\n .attr('class', 'legend-container')\n ;\n }\n }\n\n private _setGenerators(): void {\n const self = this;\n this._arcGenerator = arc()\n .innerRadius(0)\n .outerRadius(this._radius)\n ;\n this._pieGenerator = pie()\n .value(this.valueAccessor())\n ;\n this._colorsGenerator = scaleOrdinal(schemeTableau10)\n .domain(this.data().map((d: number, i: number) => i.toString()))\n ;\n this._arcTweenGenerator = function(d: number) {\n // @ts-ignore\n const _this = this as any;\n const current = d;\n const interpolateGenerator = interpolate(_this._previous, current);\n _this._previous = current;\n return (t: any) => {\n return self._arcGenerator(interpolateGenerator(t));\n };\n }\n ;\n }\n\n private _setLegend(): void {\n if (!this.showLegend()) {\n return;\n }\n\n this._legendContainer\n .selectAll('g.legend-item')\n .data(this.data())\n .join('g')\n .attr('class', 'legend-item')\n .attr('data-index', (d: number, i: number) => i)\n .attr('transform', (d: number, i: number) => `translate(0, ${i * this.legendItemHeight()})`)\n .on('mouseenter', (event: MouseEvent, d: number) => {\n const target = event.target as HTMLElement;\n const index = +(target.getAttribute('data-index') as string);\n this._dataContainer\n .select(`path.data-item[data-index=\"${index}\"]`)\n .classed('active', true)\n ;\n })\n .on('mouseleave', (event: MouseEvent, d: number) => {\n const target = event.target as HTMLElement;\n const index = +(target.getAttribute('data-index') as string);\n this._dataContainer\n .select(`path.data-item[data-index=\"${index}\"]`)\n .classed('active', false)\n ;\n })\n ;\n this._legendContainer\n .selectAll('g.legend-item')\n .selectAll('text')\n .data((d: number, i: number) => [i])\n .join('text')\n .attr('class', 'legend-item-text')\n .attr('x', this.legendItemSymbolSize() * 2)\n .attr('y', this.legendItemHeight() * .5)\n .attr('font-size', this.legendItemFontSize())\n .text((i: number) => this.labels()[i])\n ;\n this._legendContainer\n .selectAll('g.legend-item')\n .selectAll('rect')\n .data((d: number, i: number) => [i])\n .join('rect')\n .attr('class', 'legend-item-symbol')\n .attr('rx', this.legendItemSymbolBorderRadius())\n .attr('width', this.legendItemSymbolSize())\n .attr('height', this.legendItemSymbolSize())\n .attr('fill', (i: number) => this._colorsGenerator(i))\n .attr('y', this.legendItemFontSize() * .5 - 2)\n ;\n const dimensions = this._legendContainer.node().getBBox();\n this._legendContainer.attr(\n 'transform',\n `translate(${this._radius * 2 + this.legendOffset()},${this._innerHeight * .5 - .5 * dimensions.height})`\n )\n }\n\n private _draw(isUpdate = false): void {\n if (isUpdate) {\n this._colorsGenerator\n .domain(this.data().map((d: number, i: number) => i.toString()))\n ;\n }\n\n this._pieData = this._pieGenerator(this.data());\n this._dataContainer\n .selectAll('g.data-item-group')\n .data(this.data())\n .join('g')\n .attr('class', 'data-item-group')\n .attr('data-index', (d: number, i: number) => i)\n ;\n this._dataContainer\n .selectAll('g.data-item-group')\n .selectAll('path')\n .data((d: number, i: number) => [this._pieData[i]])\n .join('path')\n .attr('class', 'data-item')\n .attr('stroke-width', this.dataItemStrokeWidth())\n .attr('d', (d: any) => this._arcGenerator(d))\n .style('fill', (d: any) => this._colorsGenerator(d.index))\n .attr('data-index', (d: any) => d.index)\n .transition()\n .duration(this.showDataAnimation() ? 1000 : 0)\n .attrTween('d', this._arcTweenGenerator)\n ;\n\n if (this.showValueOnSlices()) {\n this._dataContainer\n .selectAll('g.data-item-group')\n .selectAll('text')\n .data((d: number, i: number) => [this._pieData[i]])\n .join('text')\n .attr('class', 'value')\n .attr('font-size', this.valueFontSize())\n .attr('transform', (d: any) => {\n const coordinates = this._arcGenerator.centroid(d);\n return `translate(${coordinates[0]},${coordinates[1]})`;\n })\n .text((d: any) => d.data)\n ;\n }\n }\n\n private _setupResizeObserver(): void {\n }\n\n private _initTooltip(): void {\n if (!this.tooltip()) {\n return;\n }\n\n let oldValue: number;\n this._createTooltipOrigin();\n this._dataContainer\n .selectAll('g.data-item-group')\n .data(this._pieData)\n .on('mousemove', (event: MouseEvent, d: any) => {\n const target = event.target as HTMLElement;\n this._setTooltipPositionByEvent(event);\n this._setTooltipVisible();\n\n const index = +(target.getAttribute('data-index') as string);\n const label = this.labels()[index] ? this.labels()[index] : null;\n const color = this._colorsGenerator(index);\n const value = d.data;\n\n if (!this._overlayRef?.hasAttached()) {\n this._showTooltip({\n label,\n color,\n value\n });\n oldValue = value;\n } else {\n if (oldValue !== d.data) {\n this._showTooltip({\n label,\n color,\n value\n });\n oldValue = value;\n } else {\n this._overlayRef.updatePosition();\n }\n }\n })\n ;\n this._dataContainer\n .on('mouseleave', (event: MouseEvent) => {\n this._setTooltipInVisible();\n this._hideTooltip();\n })\n ;\n }\n}\n","<svg></svg>\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'emr-mchart-tooltip',\n exportAs: 'emrMchartTooltip',\n templateUrl: './mchart-tooltip.component.html',\n styleUrl: './mchart-tooltip.component.scss',\n host: {\n 'class': 'emr-mchart-tooltip'\n }\n})\nexport class MchartTooltipComponent {\n\n}\n","<div class=\"title\">\n <ng-content select=\"emr-mchart-tooltip-title\"></ng-content>\n</div>\n<div class=\"body\">\n <ng-content select=\"emr-mchart-tooltip-body\"></ng-content>\n</div>\n<ng-content></ng-content>\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'emr-mchart-tooltip-title',\n exportAs: 'emrMchartTooltipTitle',\n templateUrl: './mchart-tooltip-title.component.html',\n styleUrl: './mchart-tooltip-title.component.scss',\n host: {\n 'class': 'emr-mchart-tooltip-title'\n }\n})\nexport class MchartTooltipTitleComponent {\n\n}\n","<ng-content></ng-content>\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'emr-mchart-tooltip-body',\n exportAs: 'emrMchartTooltipBody',\n templateUrl: './mchart-tooltip-body.component.html',\n styleUrl: './mchart-tooltip-body.component.scss',\n host: {\n 'class': 'emr-mchart-tooltip-body'\n }\n})\nexport class MchartTooltipBodyComponent {\n\n}\n","<ng-content></ng-content>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["nextId"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"elementar-rt-components-micro-chart.mjs","sources":["../../../projects/components/micro-chart/src/base-chart.tooltip.ts","../../../projects/components/micro-chart/src/mchart-line/mchart-line.component.ts","../../../projects/components/micro-chart/src/mchart-line/mchart-line.component.html","../../../projects/components/micro-chart/src/mchart-bar/mchart-bar.component.ts","../../../projects/components/micro-chart/src/mchart-bar/mchart-bar.component.html","../../../projects/components/micro-chart/src/mchart-pie/mchart-pie.component.ts","../../../projects/components/micro-chart/src/mchart-pie/mchart-pie.component.html","../../../projects/components/micro-chart/src/mchart-tooltip/mchart-tooltip.component.ts","../../../projects/components/micro-chart/src/mchart-tooltip/mchart-tooltip.component.html","../../../projects/components/micro-chart/src/mchart-tooltip-title/mchart-tooltip-title.component.ts","../../../projects/components/micro-chart/src/mchart-tooltip-title/mchart-tooltip-title.component.html","../../../projects/components/micro-chart/src/mchart-tooltip-body/mchart-tooltip-body.component.ts","../../../projects/components/micro-chart/src/mchart-tooltip-body/mchart-tooltip-body.component.html","../../../projects/components/micro-chart/elementar-rt-components-micro-chart.ts"],"sourcesContent":["import { TemplatePortal } from '@angular/cdk/portal';\nimport { inject, Injector, Renderer2, TemplateRef, ViewContainerRef, DOCUMENT } from '@angular/core';\nimport {\n ConnectedPosition,\n FlexibleConnectedPositionStrategy,\n Overlay,\n OverlayConfig,\n OverlayRef\n} from '@angular/cdk/overlay';\n\nimport { OverlayPosition, PositionManager } from '@elementar-rt/components/overlay';\n\nexport abstract class BaseChartTooltip {\n protected _tooltipOrigin: HTMLElement;\n protected _tooltipPortal!: TemplatePortal;\n protected _overlayRef: OverlayRef;\n protected _renderer = inject(Renderer2);\n protected _overlay = inject(Overlay);\n protected _viewContainerRef = inject(ViewContainerRef);\n protected _injector = inject(Injector);\n protected _document = inject(DOCUMENT);\n\n abstract getTooltipTemplateRef(): TemplateRef<any> | undefined;\n abstract getTooltipPosition(): OverlayPosition;\n\n protected _createTooltipOrigin(): void {\n let tooltipOrigin: HTMLElement | null = this._document.querySelector('.emr-mchart-tooltip-origin');\n\n if (!tooltipOrigin) {\n tooltipOrigin = this._renderer.createElement('div') as HTMLElement;\n tooltipOrigin.classList.add('emr-mchart-tooltip-origin');\n this._renderer.appendChild(this._document.body, tooltipOrigin);\n }\n\n this._tooltipOrigin = tooltipOrigin;\n this._renderer.setStyle(this._tooltipOrigin, 'width', '10px');\n this._renderer.setStyle(this._tooltipOrigin, 'height', '10px');\n this._renderer.setStyle(this._tooltipOrigin, 'z-index', '-1');\n this._renderer.setStyle(this._tooltipOrigin, 'position', 'fixed');\n this._renderer.setStyle(this._tooltipOrigin, 'opacity', '0');\n }\n\n protected _showTooltip(data: object): void {\n this._overlayRef?.detach();\n this._overlayRef = this._overlay.create(this._getOverlayConfig());\n this._overlayRef.attach(this._getContentPortal(data));\n }\n\n protected _hideTooltip(): void {\n this._overlayRef?.detach();\n }\n\n protected _setTooltipPositionByEvent(e: MouseEvent): void {\n this._renderer.setStyle(this._tooltipOrigin, 'left', (e.clientX + 10) + 'px');\n this._renderer.setStyle(this._tooltipOrigin, 'top', (e.clientY - 4) + 'px');\n }\n\n protected _setTooltipVisible(): void {\n this._renderer.addClass(this._tooltipOrigin, 'is-visible');\n }\n\n protected _setTooltipInVisible(): void {\n this._renderer.removeClass(this._tooltipOrigin, 'is-visible');\n }\n\n protected _getContentPortal(data: object) {\n this._tooltipPortal = new TemplatePortal(\n this.getTooltipTemplateRef() as TemplateRef<any>,\n this._viewContainerRef,\n {\n '$implicit': {\n ...data\n }\n },\n this._injector\n );\n\n return this._tooltipPortal;\n }\n\n protected _getOverlayConfig() {\n return new OverlayConfig({\n panelClass: 'emr-mchart-tooltip-overlay',\n positionStrategy: this._getOverlayPositionStrategy(),\n scrollStrategy: this._overlay.scrollStrategies.reposition()\n });\n }\n\n protected _getOverlayPositionStrategy(): FlexibleConnectedPositionStrategy {\n return this._overlay\n .position()\n .flexibleConnectedTo(this._tooltipOrigin)\n .withFlexibleDimensions()\n .withGrowAfterOpen()\n .withPositions(this._getOverlayPositions())\n ;\n }\n\n protected _getOverlayPositions(): ConnectedPosition[] {\n return (new PositionManager()).build(this.getTooltipPosition());\n }\n}\n","import {\n AfterViewChecked,\n booleanAttribute,\n ChangeDetectionStrategy,\n Component, DestroyRef,\n effect,\n ElementRef,\n inject,\n input,\n numberAttribute, OnDestroy,\n PLATFORM_ID,\n TemplateRef,\n} from '@angular/core';\nimport { isPlatformServer } from '@angular/common';\nimport {\n Selection,\n curveLinear,\n curveCatmullRom,\n curveBumpX,\n scaleLinear,\n select,\n scalePoint,\n min, max,\n pointer,\n line, area,\n curveStep\n} from 'd3';\nimport { OverlayPosition } from '@elementar-rt/components/overlay';\nimport { fromEvent } from 'rxjs';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { MchartLineCurveType } from '../types';\nimport { BaseChartTooltip } from '../base-chart.tooltip';\n\nlet nextId = 0;\n\n@Component({\n selector: 'emr-mchart-line',\n exportAs: 'emrMchartLine',\n templateUrl: './mchart-line.component.html',\n styleUrl: './mchart-line.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n 'class': 'emr-mchart-line',\n '[class.fill-area-gradient]': 'fillAreaGradient()',\n }\n})\nexport class MchartLineComponent extends BaseChartTooltip implements OnDestroy, AfterViewChecked {\n private _initialized = false;\n private _host: any;\n private _svg: any;\n private _dimensions: DOMRect;\n private _hostWidth = 0;\n private _hostHeight = 0;\n private _innerWidth = 0;\n private _innerHeight = 0;\n private _yScale: any;\n private _xScale: any;\n private _curveMap = {\n 'linear': curveLinear,\n 'catmullRom': curveCatmullRom,\n 'curveBumpX': curveBumpX,\n 'curveStep': curveStep\n };\n private _resizeObserver: ResizeObserver;\n private _tooltipDot: HTMLElement;\n private _area: any;\n private _line: any;\n private _platformId = inject(PLATFORM_ID);\n private _destroyRef = inject(DestroyRef);\n private _elementRef = inject(ElementRef);\n\n data = input<number[]>([]);\n labels = input<any[]>([]);\n strokeWidth = input(2, {\n transform: numberAttribute\n });\n showArea = input(false, {\n transform: booleanAttribute\n });\n showMarkers = input(false, {\n transform: booleanAttribute\n });\n responsive = input(false, {\n transform: booleanAttribute\n });\n fillAreaGradient = input(false, {\n transform: booleanAttribute\n });\n curve = input<MchartLineCurveType>('linear');\n xAccessor = input((d: any, i: number) => i);\n yAccessor = input((d: any) => d);\n compact = input(false, {\n transform: booleanAttribute\n });\n markerDotSize = input(5, {\n transform: numberAttribute\n });\n tooltip = input<TemplateRef<unknown>>();\n tooltipPosition = input<OverlayPosition>('after-center');\n\n get gradientId(): string {\n return 'areaGradient' + this._gradientId;\n }\n private _gradientId = nextId++;\n\n constructor() {\n super();\n effect(() => {\n if (!this._initialized) {\n return;\n }\n\n this._render();\n });\n }\n\n ngAfterViewChecked() {\n if (isPlatformServer(this._platformId)) {\n return;\n }\n\n if (!this._initialized) {\n const element = this._elementRef.nativeElement as HTMLElement;\n this._dimensions = element.getBoundingClientRect();\n\n if (this._dimensions.width !== 0 && this._dimensions.height !== 0) {\n this._initialized = true;\n this._render();\n this._setupResizeObserver();\n }\n }\n }\n\n ngOnDestroy() {\n this._resizeObserver?.disconnect();\n }\n\n getTooltipPosition(): OverlayPosition {\n return this.tooltipPosition();\n }\n\n getTooltipTemplateRef(): TemplateRef<any> | undefined {\n return this.tooltip();\n }\n\n private _render(): void {\n this._setupContainers();\n this._setupData();\n }\n\n private _setupContainers(): void {\n this._hostWidth = this._dimensions.width;\n this._hostHeight = this._dimensions.height;\n this._innerWidth = this._dimensions.width;\n this._innerHeight = this._dimensions.height;\n this._host = select(this._elementRef.nativeElement);\n this._svg = this._host\n .select('svg')\n .attr('viewBox', `0 0 ${this._hostWidth} ${this._hostHeight}`)\n ;\n\n if (this.tooltip()) {\n this._tooltipDot = this._renderer.createElement('div');\n this._renderer.setStyle(this._tooltipDot, 'width', '10px');\n this._renderer.setStyle(this._tooltipDot, 'height', '10px');\n this._renderer.setStyle(this._tooltipDot, 'z-index', '-1');\n this._renderer.setStyle(this._tooltipDot, 'position', 'fixed');\n this._renderer.setStyle(this._tooltipDot, 'opacity', '0');\n this._renderer.appendChild(this._document.body, this._tooltipDot);\n }\n }\n\n private _setupData(isUpdate = false): void {\n let markerDotSize = this.markerDotSize();\n\n if (!this.showMarkers()) {\n markerDotSize = this.strokeWidth();\n }\n\n const xAccessor = this.xAccessor();\n const yAccessor = this.yAccessor();\n const xDomain = this.data().map((d: any, i: number) => xAccessor(d, i)) as any;\n\n if (!this._xScale) {\n this._xScale = scalePoint().domain(xDomain);\n }\n\n this._xScale.range([markerDotSize, this._innerWidth - markerDotSize]);\n\n const yDomain = [\n this.compact() ? min(this.data().map(d => yAccessor(d))) : 0,\n max(this.data().map(d => yAccessor(d)))\n ];\n\n if (!this._yScale) {\n this._yScale = scaleLinear()\n .domain(yDomain)\n ;\n }\n\n this._yScale.range([this._innerHeight - markerDotSize, markerDotSize])\n\n if (this.showArea()) {\n const areaGenerator = area()\n .x((d, i) => this._xScale(xAccessor(d, i)))\n .y1((d) => this._yScale(yAccessor(d)))\n .y0(this._innerHeight - markerDotSize)\n .curve(this._curveMap[this.curve()])\n ;\n\n if (!this._area) {\n // add area\n this._area = this._svg\n .append('path')\n .datum(this.data())\n .attr('d', areaGenerator)\n .attr('class', 'area')\n ;\n\n if (this.fillAreaGradient()) {\n this._area.attr('fill', `url(#${this.gradientId})`);\n }\n } else {\n this._area.attr('d', areaGenerator);\n }\n }\n\n const lineGenerator = line()\n .x((d, i) => this._xScale(xAccessor(d, i)))\n .y((d) => this._yScale(yAccessor(d)))\n ;\n\n if (!this._line) {\n // add line\n this._line = this._svg\n .append('path')\n .datum(this.data())\n .attr('d', lineGenerator.curve(this._curveMap[this.curve()]))\n .attr('class', 'line')\n .attr('stroke-width', this.strokeWidth())\n ;\n } else {\n this._line.attr('d', lineGenerator.curve(this._curveMap[this.curve()]))\n }\n\n if (isUpdate) {\n return;\n }\n\n if (this.showMarkers() || this.tooltip()) {\n const markerLine = this._svg\n .append('line')\n .attr('x1', 0)\n .attr('x2', 0)\n .attr('y1', 0)\n .attr('y2', this._innerHeight - markerDotSize)\n .attr('opacity', 0)\n .attr('class', 'marker-line')\n ;\n const markerDot: Selection<any, any, any, any> = this._svg\n .append('circle')\n .attr('cx', 0)\n .attr('cy', 0)\n .attr('r', markerDotSize)\n .attr('opacity', 0)\n .attr('class', 'marker-dot')\n ;\n\n let x = 0;\n let y = 0;\n let label: any;\n let value: any;\n\n if (this.tooltip()) {\n this._createTooltipOrigin();\n }\n\n fromEvent<MouseEvent>(this._document, 'mousemove')\n .pipe(\n takeUntilDestroyed(this._destroyRef)\n )\n .subscribe((e: MouseEvent) => {\n const target = e.target as HTMLElement;\n const oldXPosition = +markerDot.attr('cx');\n const pointerCoords = pointer(e, this._svg.node());\n const [posX, posY] = pointerCoords;\n let visible = true;\n\n if (posX < this.markerDotSize() || posY < this.markerDotSize() || posX > this._hostWidth || posY > this._hostHeight) {\n visible = false;\n this._overlayRef?.detach();\n markerLine.attr('opacity', 0);\n markerDot.attr('opacity', 0);\n } else {\n if (target.closest('.emr-mchart-line') ||\n target.classList.contains('emr-mchart-tooltip-overlay') ||\n target.closest('.emr-mchart-tooltip-overlay')\n ) {\n if (this.showMarkers()) {\n markerLine.attr('opacity', 1);\n markerDot.attr('opacity', 1);\n }\n } else {\n visible = false;\n this._overlayRef?.detach();\n }\n }\n\n const eachBand = this._xScale.step();\n const index = Math.round((posX / eachBand));\n const dataValue = this.data()[index];\n label = this.labels()[index] ? this.labels()[index] : xAccessor(index, index);\n value = yAccessor(dataValue);\n x = this._xScale(xAccessor(index, index));\n y = this._yScale(yAccessor(dataValue));\n markerLine\n .attr('x1', x)\n .attr('x2', x)\n ;\n markerDot\n .attr('cx', x)\n .attr('cy', y)\n ;\n\n if (this.tooltip()) {\n this._setTooltipPositionByEvent(e);\n\n if (visible) {\n this._setTooltipVisible();\n\n if (!this._overlayRef?.hasAttached()) {\n this._showTooltip({\n label,\n value\n });\n } else {\n if (oldXPosition !== x) {\n this._showTooltip({\n label,\n value\n });\n } else {\n this._overlayRef.updatePosition();\n }\n }\n } else {\n this._setTooltipInVisible();\n }\n }\n })\n ;\n }\n }\n\n private _setupResizeObserver(): void {\n if (!this.responsive()) {\n return;\n }\n\n this._resizeObserver = new ResizeObserver((entries) => {\n if (this._hostWidth !== entries[0].contentRect.width || this._hostHeight !== entries[0].contentRect.height) {\n this._hostWidth = entries[0].contentRect.width;\n this._hostHeight = entries[0].contentRect.height;\n this._innerWidth = entries[0].contentRect.width;\n this._innerHeight = entries[0].contentRect.height;\n this._svg\n .attr(\"viewBox\", `0 0 ${this._hostWidth} ${this._hostHeight}`)\n ;\n this._setupData(true);\n }\n });\n this._resizeObserver.observe(this._elementRef.nativeElement);\n }\n}\n","<svg>\n @if (fillAreaGradient()) {\n <linearGradient [id]=\"gradientId\" x1=\"0\" x2=\"0\" y1=\"0\" y2=\"1\">\n <stop offset=\"0%\" class=\"lg-start-color\"/>\n <stop offset=\"100%\" class=\"lg-end-color\"/>\n </linearGradient>\n }\n</svg>\n","import {\n AfterViewChecked,\n booleanAttribute,\n ChangeDetectionStrategy,\n Component, DestroyRef,\n effect,\n ElementRef,\n inject,\n input,\n numberAttribute, OnDestroy,\n PLATFORM_ID, TemplateRef,\n} from '@angular/core';\nimport { isPlatformServer } from '@angular/common';\nimport { pointer, scaleBand, scaleLinear, select } from 'd3';\nimport { OverlayPosition } from '@elementar-rt/components/overlay';\nimport { fromEvent } from 'rxjs';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { BaseChartTooltip } from '../base-chart.tooltip';\n\nlet nextId = 0;\n\n@Component({\n selector: 'emr-mchart-bar',\n exportAs: 'emrMchartBar',\n templateUrl: './mchart-bar.component.html',\n styleUrl: './mchart-bar.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n 'class': 'emr-mchart-bar',\n '[class.fill-gradient]': 'fillGradient()',\n '[class.with-tooltip]': '!!tooltip()',\n }\n})\nexport class MchartBarComponent extends BaseChartTooltip implements OnDestroy, AfterViewChecked {\n private _initialized = false;\n private _host: any;\n private _svg: any;\n private _hlContainer: any;\n private _dataContainer: any;\n private _dimensions: DOMRect;\n private _innerWidth = 0;\n private _innerHeight = 0;\n private _hostWidth = 0;\n private _hostHeight = 0;\n private _xScale: any;\n private _yScale: any;\n private _resizeObserver: ResizeObserver;\n private _platformId = inject(PLATFORM_ID);\n private _elementRef = inject(ElementRef);\n private _destroyRef = inject(DestroyRef);\n\n data = input<number[]>([]);\n labels = input<string[]>([]);\n gap = input(0.2, {\n transform: numberAttribute\n });\n radius = input(0, {\n transform: numberAttribute\n });\n highlight = input(false, {\n transform: booleanAttribute\n });\n responsive = input(false, {\n transform: booleanAttribute\n });\n fillGradient = input(false, {\n transform: booleanAttribute\n });\n xAccessor = input((d: any, i: number) => i);\n yAccessor = input((d: any) => d);\n tooltip = input<TemplateRef<any>>();\n tooltipPosition = input<OverlayPosition>('after-center');\n\n get gradientId(): string {\n return 'areaGradient' + this._gradientId;\n }\n private _gradientId = nextId++;\n\n constructor() {\n super();\n effect(() => {\n if (!this._initialized) {\n return;\n }\n\n this._render();\n this._setupResizeObserver();\n });\n }\n\n ngAfterViewChecked() {\n if (isPlatformServer(this._platformId)) {\n return;\n }\n\n if (!this._initialized) {\n const element = this._elementRef.nativeElement as HTMLElement;\n this._dimensions = element.getBoundingClientRect();\n\n if (this._dimensions.width !== 0 && this._dimensions.height !==0) {\n this._initialized = true;\n this._render();\n this._setupResizeObserver();\n }\n }\n }\n\n ngOnDestroy() {\n this._resizeObserver?.disconnect();\n }\n\n getTooltipPosition(): OverlayPosition {\n return this.tooltipPosition();\n }\n\n getTooltipTemplateRef(): TemplateRef<any> | undefined {\n return this.tooltip();\n }\n\n private _render(): void {\n this._init();\n this._setupAxisScale();\n this._setupData();\n this._initTooltip();\n }\n\n private _init(): void {\n this._hostWidth = this._dimensions.width;\n this._hostHeight = this._dimensions.height;\n this._innerWidth = this._dimensions.width;\n this._innerHeight = this._dimensions.height;\n this._host = select(this._elementRef.nativeElement);\n this._svg = this._host\n .select('svg')\n .attr('viewBox', `0 0 ${this._hostWidth} ${this._hostHeight}`)\n ;\n }\n\n private _setupAxisScale(): void {\n if (!this._xScale) {\n this._xScale = scaleBand()\n .paddingInner(this.gap())\n .domain(this.data().map((d, i) => i.toString()))\n ;\n }\n\n this._xScale.range([0, this._innerWidth]);\n\n if (!this._yScale) {\n this._yScale = scaleLinear().domain([0, Math.max(...this.data())]);\n }\n\n this._yScale.range([this._innerHeight, 0]);\n }\n\n private _setupData(): void {\n if (this.highlight()) {\n if (!this._hlContainer) {\n this._hlContainer = this._svg.append('g')\n .attr('class', 'hl-container')\n .attr('transform', `translate(0,0)`)\n ;\n this._hlContainer.selectAll('rect')\n .data(this.data())\n .enter()\n .append('rect')\n .attr('rx', this.radius())\n .attr('x', (d: any, i: number) => this._xScale(i.toString()))\n .attr('y', 0)\n .attr('width', this._xScale.bandwidth())\n .attr('height', this._innerHeight)\n .attr('class', 'highlight')\n ;\n } else {\n this._hlContainer.selectAll('rect')\n .attr('x', (d: any, i: number) => this._xScale(i.toString()))\n .attr('y', 0)\n .attr('width', this._xScale.bandwidth())\n .attr('height', this._innerHeight)\n ;\n }\n }\n\n if (!this._dataContainer) {\n this._dataContainer = this._svg.append('g')\n .attr('class', 'data-container')\n .attr('transform', `translate(0,0)`)\n ;\n const allBars = this._dataContainer.selectAll('rect')\n .data(this.data())\n .enter()\n .append('rect')\n .attr('rx', this.radius())\n .attr('x', (d: any, i: number) => this._xScale(i.toString()))\n .attr('y', (d: any) => this._yScale(d))\n .attr('width', this._xScale.bandwidth())\n .attr('height', (d: any) => this._innerHeight - this._yScale(d))\n .attr('class', 'bar')\n ;\n\n if (this.fillGradient()) {\n allBars.attr('fill', `url(#${this.gradientId})`);\n }\n } else {\n this._dataContainer.selectAll('rect')\n .attr('x', (d: any, i: number) => this._xScale(i.toString()))\n .attr('y', (d: any) => this._yScale(d))\n .attr('width', this._xScale.bandwidth())\n .attr('height', (d: any) => this._innerHeight - this._yScale(d))\n ;\n }\n }\n\n private _setupResizeObserver(): void {\n if (!this.responsive()) {\n return;\n }\n\n this._resizeObserver?.disconnect();\n this._resizeObserver = new ResizeObserver((entries) => {\n if (this._hostWidth !== entries[0].contentRect.width || this._hostHeight !== entries[0].contentRect.height) {\n this._hostWidth = entries[0].contentRect.width;\n this._hostHeight = entries[0].contentRect.height;\n this._innerWidth = entries[0].contentRect.width;\n this._innerHeight = entries[0].contentRect.height;\n this._svg.attr('viewBox', `0 0 ${this._hostWidth} ${this._hostHeight}`);\n this._setupAxisScale();\n this._setupData();\n }\n });\n this._resizeObserver.observe(this._elementRef.nativeElement);\n }\n\n private _initTooltip(): void {\n if (!this.tooltip()) {\n return;\n }\n\n const xAccessor = this.xAccessor();\n const yAccessor = this.yAccessor();\n this._createTooltipOrigin();\n\n let x = 0;\n let y = 0;\n let label: any;\n let value: any;\n let oldX: any;\n\n fromEvent<MouseEvent>(this._document, 'mousemove')\n .pipe(\n takeUntilDestroyed(this._destroyRef)\n )\n .subscribe((e: MouseEvent) => {\n const target = e.target as HTMLElement;\n const pointerCoords = pointer(e, this._svg.node());\n const [posX, posY] = pointerCoords;\n let visible = true;\n\n if (posX < 0 || posY < 0 || posX > this._hostWidth || posY > this._hostHeight) {\n visible = false;\n oldX = null;\n this._overlayRef?.detach();\n } else {\n if (!target.closest('.emr-mchart-line') ||\n !target.classList.contains('emr-mchart-tooltip-overlay') ||\n !target.closest('.emr-mchart-tooltip-overlay')\n ) {\n oldX = null;\n this._overlayRef?.detach();\n }\n }\n\n const eachBand = this._xScale.step();\n const index = Math.floor(posX / eachBand);\n const dataValue = this.data()[index];\n label = this.labels()[index] ? this.labels()[index] : xAccessor(index, index);\n value = yAccessor(dataValue);\n x = this._xScale(xAccessor(index, index));\n y = this._yScale(yAccessor(dataValue));\n this._setTooltipPositionByEvent(e);\n\n if (visible) {\n this._setTooltipVisible();\n\n if (!this._overlayRef?.hasAttached()) {\n oldX = x;\n this._showTooltip({\n label,\n value\n });\n } else {\n if (oldX !== x) {\n oldX = x;\n this._showTooltip({\n label,\n value\n });\n } else {\n this._overlayRef.updatePosition();\n }\n }\n } else {\n oldX = x;\n this._setTooltipInVisible();\n }\n })\n ;\n }\n}\n","<svg>\n <defs>\n @if (fillGradient()) {\n <linearGradient [id]=\"gradientId\" x1=\"0\" x2=\"0\" y1=\"0\" y2=\"1\">\n <stop offset=\"0%\" class=\"lg-start-color\"/>\n <stop offset=\"100%\" class=\"lg-end-color\"/>\n </linearGradient>\n }\n </defs>\n</svg>\n","import {\n AfterViewChecked, booleanAttribute,\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n inject,\n input, numberAttribute, OnChanges, OnDestroy,\n PLATFORM_ID, SimpleChanges, TemplateRef\n} from '@angular/core';\nimport { isPlatformServer } from '@angular/common';\nimport {\n arc,\n interpolate,\n pie,\n scaleOrdinal,\n schemeTableau10,\n select\n} from 'd3';\nimport { OverlayPosition } from '@elementar-rt/components/overlay';\nimport { BaseChartTooltip } from '../base-chart.tooltip';\n\n@Component({\n selector: 'emr-mchart-pie',\n exportAs: 'emrMchartPie',\n templateUrl: './mchart-pie.component.html',\n styleUrl: './mchart-pie.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n 'class': 'emr-mchart-pie'\n }\n})\nexport class MchartPieComponent extends BaseChartTooltip implements AfterViewChecked, OnChanges, OnDestroy {\n private _initialized = false;\n private _host: any;\n private _svg: any;\n private _dataContainer: any;\n private _legendContainer: any;\n private _dimensions: DOMRect;\n private _innerWidth = 0;\n private _innerHeight = 0;\n private _hostWidth = 0;\n private _hostHeight = 0;\n private _resizeObserver: ResizeObserver;\n private _platformId = inject(PLATFORM_ID);\n private _elementRef = inject(ElementRef);\n private _radius = 0;\n private _arcGenerator: any;\n private _pieGenerator: any;\n private _colorsGenerator: any;\n private _arcTweenGenerator: any;\n private _pieData: any;\n\n data = input<number[]>([]);\n labels = input<string[] | number[]>([]);\n valueAccessor = input((d: any) => d);\n dataItemStrokeWidth = input(1, {\n transform: numberAttribute\n });\n legendContainerWidth = input(0, {\n transform: numberAttribute\n });\n showDataAnimation = input(false, {\n transform: booleanAttribute\n });\n showValueOnSlices = input(false, {\n transform: booleanAttribute\n });\n showLegend = input(false, {\n transform: booleanAttribute\n });\n legendOffset = input(30, {\n transform: numberAttribute\n });\n legendItemHeight = input(30, {\n transform: numberAttribute\n });\n legendItemSymbolSize = input(12, {\n transform: numberAttribute\n });\n legendItemFontSize = input(14, {\n transform: numberAttribute\n });\n legendItemSymbolBorderRadius = input(12, {\n transform: numberAttribute\n });\n valueFontSize = input(12, {\n transform: numberAttribute\n });\n tooltip = input<TemplateRef<unknown>>();\n tooltipPosition = input<OverlayPosition>('after-center');\n\n getTooltipPosition(): OverlayPosition {\n return this.tooltipPosition();\n }\n\n getTooltipTemplateRef(): TemplateRef<any> | undefined {\n return this.tooltip();\n }\n\n ngAfterViewChecked() {\n if (isPlatformServer(this._platformId)) {\n return;\n }\n\n if (!this._initialized) {\n const element = this._elementRef.nativeElement as HTMLElement;\n this._dimensions = element.getBoundingClientRect();\n\n if (this._dimensions.width !== 0 && this._dimensions.height !==0) {\n this._initialized = true;\n this._render();\n this._setupResizeObserver();\n }\n }\n }\n\n ngOnChanges(changes: SimpleChanges) {\n if (!this._initialized) {\n return;\n }\n\n if (changes['data'] && !changes['data'].firstChange) {\n this._draw(true);\n }\n }\n\n ngOnDestroy() {\n this._resizeObserver?.disconnect();\n }\n\n private _render(): void {\n this._initDimensions();\n this._initContainers();\n this._setGenerators();\n this._setLegend();\n this._draw();\n this._initTooltip();\n }\n\n private _initDimensions(): void {\n const legendContainerWidth = this.showLegend() ? this.legendContainerWidth() : 0;\n this._hostWidth = this._dimensions.width;\n this._hostHeight = this._dimensions.height;\n this._innerWidth = this._dimensions.width - legendContainerWidth - this.dataItemStrokeWidth() * 2;\n this._innerHeight = this._dimensions.height - this.dataItemStrokeWidth() * 2;\n this._host = select(this._elementRef.nativeElement);\n this._svg = this._host\n .select('svg')\n .attr('viewBox', `0 0 ${this._hostWidth} ${this._hostHeight}`)\n ;\n this._radius = Math.min(this._innerWidth, this._innerHeight) * .5;\n }\n\n private _initContainers(): void {\n this._dataContainer = this._svg\n .append('g')\n .attr('class', 'data-container')\n .attr('transform', `translate(${this._radius},${this._innerHeight * .5})`)\n ;\n\n if (this.showLegend()) {\n this._legendContainer = this._svg\n .append('g')\n .attr('class', 'legend-container')\n ;\n }\n }\n\n private _setGenerators(): void {\n const self = this;\n this._arcGenerator = arc()\n .innerRadius(0)\n .outerRadius(this._radius)\n ;\n this._pieGenerator = pie()\n .value(this.valueAccessor())\n ;\n this._colorsGenerator = scaleOrdinal(schemeTableau10)\n .domain(this.data().map((d: number, i: number) => i.toString()))\n ;\n this._arcTweenGenerator = function(d: number) {\n // @ts-ignore\n const _this = this as any;\n const current = d;\n const interpolateGenerator = interpolate(_this._previous, current);\n _this._previous = current;\n return (t: any) => {\n return self._arcGenerator(interpolateGenerator(t));\n };\n }\n ;\n }\n\n private _setLegend(): void {\n if (!this.showLegend()) {\n return;\n }\n\n this._legendContainer\n .selectAll('g.legend-item')\n .data(this.data())\n .join('g')\n .attr('class', 'legend-item')\n .attr('data-index', (d: number, i: number) => i)\n .attr('transform', (d: number, i: number) => `translate(0, ${i * this.legendItemHeight()})`)\n .on('mouseenter', (event: MouseEvent, d: number) => {\n const target = event.target as HTMLElement;\n const index = +(target.getAttribute('data-index') as string);\n this._dataContainer\n .select(`path.data-item[data-index=\"${index}\"]`)\n .classed('active', true)\n ;\n })\n .on('mouseleave', (event: MouseEvent, d: number) => {\n const target = event.target as HTMLElement;\n const index = +(target.getAttribute('data-index') as string);\n this._dataContainer\n .select(`path.data-item[data-index=\"${index}\"]`)\n .classed('active', false)\n ;\n })\n ;\n this._legendContainer\n .selectAll('g.legend-item')\n .selectAll('text')\n .data((d: number, i: number) => [i])\n .join('text')\n .attr('class', 'legend-item-text')\n .attr('x', this.legendItemSymbolSize() * 2)\n .attr('y', this.legendItemHeight() * .5)\n .attr('font-size', this.legendItemFontSize())\n .text((i: number) => this.labels()[i])\n ;\n this._legendContainer\n .selectAll('g.legend-item')\n .selectAll('rect')\n .data((d: number, i: number) => [i])\n .join('rect')\n .attr('class', 'legend-item-symbol')\n .attr('rx', this.legendItemSymbolBorderRadius())\n .attr('width', this.legendItemSymbolSize())\n .attr('height', this.legendItemSymbolSize())\n .attr('fill', (i: number) => this._colorsGenerator(i))\n .attr('y', this.legendItemFontSize() * .5 - 2)\n ;\n const dimensions = this._legendContainer.node().getBBox();\n this._legendContainer.attr(\n 'transform',\n `translate(${this._radius * 2 + this.legendOffset()},${this._innerHeight * .5 - .5 * dimensions.height})`\n )\n }\n\n private _draw(isUpdate = false): void {\n if (isUpdate) {\n this._colorsGenerator\n .domain(this.data().map((d: number, i: number) => i.toString()))\n ;\n }\n\n this._pieData = this._pieGenerator(this.data());\n this._dataContainer\n .selectAll('g.data-item-group')\n .data(this.data())\n .join('g')\n .attr('class', 'data-item-group')\n .attr('data-index', (d: number, i: number) => i)\n ;\n this._dataContainer\n .selectAll('g.data-item-group')\n .selectAll('path')\n .data((d: number, i: number) => [this._pieData[i]])\n .join('path')\n .attr('class', 'data-item')\n .attr('stroke-width', this.dataItemStrokeWidth())\n .attr('d', (d: any) => this._arcGenerator(d))\n .style('fill', (d: any) => this._colorsGenerator(d.index))\n .attr('data-index', (d: any) => d.index)\n .transition()\n .duration(this.showDataAnimation() ? 1000 : 0)\n .attrTween('d', this._arcTweenGenerator)\n ;\n\n if (this.showValueOnSlices()) {\n this._dataContainer\n .selectAll('g.data-item-group')\n .selectAll('text')\n .data((d: number, i: number) => [this._pieData[i]])\n .join('text')\n .attr('class', 'value')\n .attr('font-size', this.valueFontSize())\n .attr('transform', (d: any) => {\n const coordinates = this._arcGenerator.centroid(d);\n return `translate(${coordinates[0]},${coordinates[1]})`;\n })\n .text((d: any) => d.data)\n ;\n }\n }\n\n private _setupResizeObserver(): void {\n }\n\n private _initTooltip(): void {\n if (!this.tooltip()) {\n return;\n }\n\n let oldValue: number;\n this._createTooltipOrigin();\n this._dataContainer\n .selectAll('g.data-item-group')\n .data(this._pieData)\n .on('mousemove', (event: MouseEvent, d: any) => {\n const target = event.target as HTMLElement;\n this._setTooltipPositionByEvent(event);\n this._setTooltipVisible();\n\n const index = +(target.getAttribute('data-index') as string);\n const label = this.labels()[index] ? this.labels()[index] : null;\n const color = this._colorsGenerator(index);\n const value = d.data;\n\n if (!this._overlayRef?.hasAttached()) {\n this._showTooltip({\n label,\n color,\n value\n });\n oldValue = value;\n } else {\n if (oldValue !== d.data) {\n this._showTooltip({\n label,\n color,\n value\n });\n oldValue = value;\n } else {\n this._overlayRef.updatePosition();\n }\n }\n })\n ;\n this._dataContainer\n .on('mouseleave', (event: MouseEvent) => {\n this._setTooltipInVisible();\n this._hideTooltip();\n })\n ;\n }\n}\n","<svg></svg>\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'emr-mchart-tooltip',\n exportAs: 'emrMchartTooltip',\n templateUrl: './mchart-tooltip.component.html',\n styleUrl: './mchart-tooltip.component.scss',\n host: {\n 'class': 'emr-mchart-tooltip'\n }\n})\nexport class MchartTooltipComponent {\n\n}\n","<div class=\"title\">\n <ng-content select=\"emr-mchart-tooltip-title\"></ng-content>\n</div>\n<div class=\"body\">\n <ng-content select=\"emr-mchart-tooltip-body\"></ng-content>\n</div>\n<ng-content></ng-content>\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'emr-mchart-tooltip-title',\n exportAs: 'emrMchartTooltipTitle',\n templateUrl: './mchart-tooltip-title.component.html',\n styleUrl: './mchart-tooltip-title.component.scss',\n host: {\n 'class': 'emr-mchart-tooltip-title'\n }\n})\nexport class MchartTooltipTitleComponent {\n\n}\n","<ng-content></ng-content>\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'emr-mchart-tooltip-body',\n exportAs: 'emrMchartTooltipBody',\n templateUrl: './mchart-tooltip-body.component.html',\n styleUrl: './mchart-tooltip-body.component.scss',\n host: {\n 'class': 'emr-mchart-tooltip-body'\n }\n})\nexport class MchartTooltipBodyComponent {\n\n}\n","<ng-content></ng-content>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["nextId"],"mappings":"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"}
|
|
@@ -3,14 +3,14 @@ import { input, booleanAttribute, output, signal, computed, forwardRef, Componen
|
|
|
3
3
|
import { FormsModule, NG_VALUE_ACCESSOR } from '@angular/forms';
|
|
4
4
|
|
|
5
5
|
class MultiSelectComponent {
|
|
6
|
-
options = input([], ...(ngDevMode ? [{ debugName: "options" }] : []));
|
|
7
|
-
placeholder = input('Select options…', ...(ngDevMode ? [{ debugName: "placeholder" }] : []));
|
|
8
|
-
disabled = input(false, ...(ngDevMode ?
|
|
9
|
-
maxDisplay = input(3, ...(ngDevMode ? [{ debugName: "maxDisplay" }] : []));
|
|
6
|
+
options = input([], ...(ngDevMode ? [{ debugName: "options" }] : /* istanbul ignore next */ []));
|
|
7
|
+
placeholder = input('Select options…', ...(ngDevMode ? [{ debugName: "placeholder" }] : /* istanbul ignore next */ []));
|
|
8
|
+
disabled = input(false, { ...(ngDevMode ? { debugName: "disabled" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
|
|
9
|
+
maxDisplay = input(3, ...(ngDevMode ? [{ debugName: "maxDisplay" }] : /* istanbul ignore next */ []));
|
|
10
10
|
selectionChange = output();
|
|
11
|
-
_open = signal(false, ...(ngDevMode ? [{ debugName: "_open" }] : []));
|
|
12
|
-
_query = signal('', ...(ngDevMode ? [{ debugName: "_query" }] : []));
|
|
13
|
-
_selected = signal(new Set(), ...(ngDevMode ? [{ debugName: "_selected" }] : []));
|
|
11
|
+
_open = signal(false, ...(ngDevMode ? [{ debugName: "_open" }] : /* istanbul ignore next */ []));
|
|
12
|
+
_query = signal('', ...(ngDevMode ? [{ debugName: "_query" }] : /* istanbul ignore next */ []));
|
|
13
|
+
_selected = signal(new Set(), ...(ngDevMode ? [{ debugName: "_selected" }] : /* istanbul ignore next */ []));
|
|
14
14
|
_onChange = () => { };
|
|
15
15
|
_onTouched = () => { };
|
|
16
16
|
writeValue(v) { this._selected.set(new Set(v ?? [])); }
|
|
@@ -20,8 +20,8 @@ class MultiSelectComponent {
|
|
|
20
20
|
_filtered = computed(() => {
|
|
21
21
|
const q = this._query().toLowerCase();
|
|
22
22
|
return this.options().filter(o => !q || o.label.toLowerCase().includes(q));
|
|
23
|
-
}, ...(ngDevMode ? [{ debugName: "_filtered" }] : []));
|
|
24
|
-
_selectedOptions = computed(() => this.options().filter(o => this._selected().has(o.value)), ...(ngDevMode ? [{ debugName: "_selectedOptions" }] : []));
|
|
23
|
+
}, ...(ngDevMode ? [{ debugName: "_filtered" }] : /* istanbul ignore next */ []));
|
|
24
|
+
_selectedOptions = computed(() => this.options().filter(o => this._selected().has(o.value)), ...(ngDevMode ? [{ debugName: "_selectedOptions" }] : /* istanbul ignore next */ []));
|
|
25
25
|
_toggle(opt) {
|
|
26
26
|
if (opt.disabled)
|
|
27
27
|
return;
|
|
@@ -46,16 +46,16 @@ class MultiSelectComponent {
|
|
|
46
46
|
_toggle_open() { if (!this.disabled())
|
|
47
47
|
this._open.update(v => !v); }
|
|
48
48
|
_onBlur() { setTimeout(() => this._open.set(false), 150); }
|
|
49
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
50
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "
|
|
49
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.22", ngImport: i0, type: MultiSelectComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
50
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.22", type: MultiSelectComponent, isStandalone: true, selector: "emr-multi-select", inputs: { options: { classPropertyName: "options", publicName: "options", isSignal: true, isRequired: false, transformFunction: null }, placeholder: { classPropertyName: "placeholder", publicName: "placeholder", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, maxDisplay: { classPropertyName: "maxDisplay", publicName: "maxDisplay", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { selectionChange: "selectionChange" }, host: { properties: { "class.is-open": "_open()", "class.is-disabled": "disabled()" }, classAttribute: "emr-multi-select" }, providers: [{ provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => MultiSelectComponent), multi: true }], exportAs: ["emrMultiSelect"], ngImport: i0, template: "<div class=\"ms-trigger\" (click)=\"_toggle_open()\" (blur)=\"_onBlur()\" tabindex=\"0\">\n <div class=\"ms-chips\">\n @if (_selectedOptions().length === 0) {\n <span class=\"ms-placeholder\">{{ placeholder() }}</span>\n }\n @for (opt of _selectedOptions().slice(0, maxDisplay()); track opt.value) {\n <span class=\"ms-chip\">\n {{ opt.label }}\n <button class=\"ms-chip-remove\" type=\"button\" (click)=\"_remove(opt.value, $event)\" aria-label=\"Remove\">\u2715</button>\n </span>\n }\n @if (_selectedOptions().length > maxDisplay()) {\n <span class=\"ms-chip ms-chip-more\">+{{ _selectedOptions().length - maxDisplay() }}</span>\n }\n </div>\n <svg class=\"ms-arrow\" width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"currentColor\">\n <path d=\"M7 10l5 5 5-5z\"/>\n </svg>\n</div>\n\n@if (_open()) {\n <div class=\"ms-dropdown\">\n <div class=\"ms-search\">\n <input\n type=\"text\"\n placeholder=\"Search\u2026\"\n [value]=\"_query()\"\n (input)=\"_query.set($any($event.target).value)\"\n (click)=\"$event.stopPropagation()\"\n autocomplete=\"off\"\n />\n </div>\n @for (opt of _filtered(); track opt.value) {\n <label class=\"ms-option\" [class.is-disabled]=\"opt.disabled\">\n <input type=\"checkbox\" [checked]=\"_isChecked(opt)\" (change)=\"_toggle(opt)\" [disabled]=\"opt.disabled\"/>\n {{ opt.label }}\n </label>\n }\n @if (_filtered().length === 0) {\n <div class=\"ms-empty\">No options</div>\n }\n </div>\n}\n", styles: [":host{--emr-ms-border: 1px solid var(--color-outline);--emr-ms-border-radius: .75rem;--emr-ms-min-height: calc(var(--spacing, .25rem) * 10);--emr-ms-bg: var(--color-surface);--emr-ms-chip-bg: var(--color-secondary-container);--emr-ms-chip-color: var(--color-on-secondary-container);position:relative;display:block;width:100%}.ms-trigger{display:flex;align-items:center;gap:calc(var(--spacing, .25rem) * 2);min-height:var(--emr-ms-min-height);padding:calc(var(--spacing, .25rem) * 1.5) calc(var(--spacing, .25rem) * 2.5);background:var(--emr-ms-bg);border:var(--emr-ms-border);border-radius:var(--emr-ms-border-radius);cursor:pointer;outline:none}.ms-trigger:focus{border-color:var(--color-primary)}:host(.is-open) .ms-trigger{border-bottom-left-radius:0;border-bottom-right-radius:0}:host(.is-disabled) .ms-trigger{opacity:.38;cursor:not-allowed}.ms-chips{flex:1;display:flex;flex-wrap:wrap;gap:var(--spacing, .25rem);align-items:center}.ms-placeholder{font-size:.875rem;color:var(--color-on-surface-variant)}.ms-chip{display:inline-flex;align-items:center;gap:var(--spacing, .25rem);height:calc(var(--spacing, .25rem) * 6);padding:0 calc(var(--spacing, .25rem) * 2);background:var(--emr-ms-chip-bg);color:var(--emr-ms-chip-color);border-radius:calc(infinity * 1px);font-size:.75rem;font-weight:500}.ms-chip-remove{background:transparent;border:none;cursor:pointer;color:inherit;padding:0;font-size:.65rem;line-height:1}.ms-chip-remove:hover{opacity:.7}.ms-chip-more{background:var(--color-surface-container-highest);color:var(--color-on-surface-variant)}.ms-arrow{flex-shrink:0;color:var(--color-on-surface-variant)}.ms-dropdown{position:absolute;top:100%;left:0;right:0;z-index:200;background:var(--color-surface-container-low);border:var(--emr-ms-border);border-top:none;border-radius:0 0 var(--emr-ms-border-radius) var(--emr-ms-border-radius);max-height:calc(var(--spacing, .25rem) * 64);overflow-y:auto;box-shadow:0 8px 24px var(--color-shadow)}@supports (color: color-mix(in lab,red,red)){.ms-dropdown{box-shadow:0 8px 24px color-mix(in srgb,var(--color-shadow) 12%,transparent)}}.ms-search{padding:calc(var(--spacing, .25rem) * 2);border-bottom:1px solid var(--color-outline-variant);sticky:top;background:inherit}.ms-search input{width:100%;border:1px solid var(--color-outline);border-radius:.5rem;padding:calc(var(--spacing, .25rem) * 1.5) calc(var(--spacing, .25rem) * 2.5);font-size:.875rem;background:var(--color-surface);color:var(--color-on-surface);outline:none}.ms-search input:focus{border-color:var(--color-primary)}.ms-option{display:flex;align-items:center;gap:calc(var(--spacing, .25rem) * 2.5);padding:calc(var(--spacing, .25rem) * 2.5) calc(var(--spacing, .25rem) * 3);font-size:.875rem;cursor:pointer;transition:background 80ms}.ms-option:hover{background:var(--color-surface-container-high)}.ms-option.is-disabled{opacity:.38;pointer-events:none}.ms-option input[type=checkbox]{accent-color:var(--color-primary);flex-shrink:0}.ms-empty{padding:calc(var(--spacing, .25rem) * 4);text-align:center;font-size:.875rem;color:var(--color-on-surface-variant)}\n/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n"], dependencies: [{ kind: "ngmodule", type: FormsModule }] });
|
|
51
51
|
}
|
|
52
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
52
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.22", ngImport: i0, type: MultiSelectComponent, decorators: [{
|
|
53
53
|
type: Component,
|
|
54
54
|
args: [{ selector: 'emr-multi-select', exportAs: 'emrMultiSelect', imports: [FormsModule], providers: [{ provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => MultiSelectComponent), multi: true }], host: {
|
|
55
55
|
'class': 'emr-multi-select',
|
|
56
56
|
'[class.is-open]': '_open()',
|
|
57
57
|
'[class.is-disabled]': 'disabled()',
|
|
58
|
-
}, template: "<div class=\"ms-trigger\" (click)=\"_toggle_open()\" (blur)=\"_onBlur()\" tabindex=\"0\">\n <div class=\"ms-chips\">\n @if (_selectedOptions().length === 0) {\n <span class=\"ms-placeholder\">{{ placeholder() }}</span>\n }\n @for (opt of _selectedOptions().slice(0, maxDisplay()); track opt.value) {\n <span class=\"ms-chip\">\n {{ opt.label }}\n <button class=\"ms-chip-remove\" type=\"button\" (click)=\"_remove(opt.value, $event)\" aria-label=\"Remove\">\u2715</button>\n </span>\n }\n @if (_selectedOptions().length > maxDisplay()) {\n <span class=\"ms-chip ms-chip-more\">+{{ _selectedOptions().length - maxDisplay() }}</span>\n }\n </div>\n <svg class=\"ms-arrow\" width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"currentColor\">\n <path d=\"M7 10l5 5 5-5z\"/>\n </svg>\n</div>\n\n@if (_open()) {\n <div class=\"ms-dropdown\">\n <div class=\"ms-search\">\n <input\n type=\"text\"\n placeholder=\"Search\u2026\"\n [value]=\"_query()\"\n (input)=\"_query.set($any($event.target).value)\"\n (click)=\"$event.stopPropagation()\"\n autocomplete=\"off\"\n />\n </div>\n @for (opt of _filtered(); track opt.value) {\n <label class=\"ms-option\" [class.is-disabled]=\"opt.disabled\">\n <input type=\"checkbox\" [checked]=\"_isChecked(opt)\" (change)=\"_toggle(opt)\" [disabled]=\"opt.disabled\"/>\n {{ opt.label }}\n </label>\n }\n @if (_filtered().length === 0) {\n <div class=\"ms-empty\">No options</div>\n }\n </div>\n}\n", styles: [":host{--emr-ms-border: 1px solid var(--color-outline);--emr-ms-border-radius: .75rem;--emr-ms-min-height: calc(var(--spacing, .25rem) * 10);--emr-ms-bg: var(--color-surface);--emr-ms-chip-bg: var(--color-secondary-container);--emr-ms-chip-color: var(--color-on-secondary-container);position:relative;display:block;width:100%}.ms-trigger{display:flex;align-items:center;gap:calc(var(--spacing, .25rem) * 2);min-height:var(--emr-ms-min-height);padding:calc(var(--spacing, .25rem) * 1.5) calc(var(--spacing, .25rem) * 2.5);background:var(--emr-ms-bg);border:var(--emr-ms-border);border-radius:var(--emr-ms-border-radius);cursor:pointer;outline:none}.ms-trigger:focus{border-color:var(--color-primary)}:host(.is-open) .ms-trigger{border-bottom-left-radius:0;border-bottom-right-radius:0}:host(.is-disabled) .ms-trigger{opacity:.38;cursor:not-allowed}.ms-chips{flex:1;display:flex;flex-wrap:wrap;gap:var(--spacing, .25rem);align-items:center}.ms-placeholder{font-size:.875rem;color:var(--color-on-surface-variant)}.ms-chip{display:inline-flex;align-items:center;gap:var(--spacing, .25rem);height:calc(var(--spacing, .25rem) * 6);padding:0 calc(var(--spacing, .25rem) * 2);background:var(--emr-ms-chip-bg);color:var(--emr-ms-chip-color);border-radius:calc(infinity * 1px);font-size:.75rem;font-weight:500}.ms-chip-remove{background:transparent;border:none;cursor:pointer;color:inherit;padding:0;font-size:.65rem;line-height:1}.ms-chip-remove:hover{opacity:.7}.ms-chip-more{background:var(--color-surface-container-highest);color:var(--color-on-surface-variant)}.ms-arrow{flex-shrink:0;color:var(--color-on-surface-variant)}.ms-dropdown{position:absolute;top:100%;left:0;right:0;z-index:200;background:var(--color-surface-container-low);border:var(--emr-ms-border);border-top:none;border-radius:0 0 var(--emr-ms-border-radius) var(--emr-ms-border-radius);max-height:calc(var(--spacing, .25rem) * 64);overflow-y:auto;box-shadow:0 8px 24px var(--color-shadow)}@supports (color: color-mix(in lab,red,red)){.ms-dropdown{box-shadow:0 8px 24px color-mix(in srgb,var(--color-shadow) 12%,transparent)}}.ms-search{padding:calc(var(--spacing, .25rem) * 2);border-bottom:1px solid var(--color-outline-variant);sticky:top;background:inherit}.ms-search input{width:100%;border:1px solid var(--color-outline);border-radius:.5rem;padding:calc(var(--spacing, .25rem) * 1.5) calc(var(--spacing, .25rem) * 2.5);font-size:.875rem;background:var(--color-surface);color:var(--color-on-surface);outline:none}.ms-search input:focus{border-color:var(--color-primary)}.ms-option{display:flex;align-items:center;gap:calc(var(--spacing, .25rem) * 2.5);padding:calc(var(--spacing, .25rem) * 2.5) calc(var(--spacing, .25rem) * 3);font-size:.875rem;cursor:pointer;transition:background 80ms}.ms-option:hover{background:var(--color-surface-container-high)}.ms-option.is-disabled{opacity:.38;pointer-events:none}.ms-option input[type=checkbox]{accent-color:var(--color-primary);flex-shrink:0}.ms-empty{padding:calc(var(--spacing, .25rem) * 4);text-align:center;font-size:.875rem;color:var(--color-on-surface-variant)}\n/*! tailwindcss v4.3.
|
|
58
|
+
}, template: "<div class=\"ms-trigger\" (click)=\"_toggle_open()\" (blur)=\"_onBlur()\" tabindex=\"0\">\n <div class=\"ms-chips\">\n @if (_selectedOptions().length === 0) {\n <span class=\"ms-placeholder\">{{ placeholder() }}</span>\n }\n @for (opt of _selectedOptions().slice(0, maxDisplay()); track opt.value) {\n <span class=\"ms-chip\">\n {{ opt.label }}\n <button class=\"ms-chip-remove\" type=\"button\" (click)=\"_remove(opt.value, $event)\" aria-label=\"Remove\">\u2715</button>\n </span>\n }\n @if (_selectedOptions().length > maxDisplay()) {\n <span class=\"ms-chip ms-chip-more\">+{{ _selectedOptions().length - maxDisplay() }}</span>\n }\n </div>\n <svg class=\"ms-arrow\" width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"currentColor\">\n <path d=\"M7 10l5 5 5-5z\"/>\n </svg>\n</div>\n\n@if (_open()) {\n <div class=\"ms-dropdown\">\n <div class=\"ms-search\">\n <input\n type=\"text\"\n placeholder=\"Search\u2026\"\n [value]=\"_query()\"\n (input)=\"_query.set($any($event.target).value)\"\n (click)=\"$event.stopPropagation()\"\n autocomplete=\"off\"\n />\n </div>\n @for (opt of _filtered(); track opt.value) {\n <label class=\"ms-option\" [class.is-disabled]=\"opt.disabled\">\n <input type=\"checkbox\" [checked]=\"_isChecked(opt)\" (change)=\"_toggle(opt)\" [disabled]=\"opt.disabled\"/>\n {{ opt.label }}\n </label>\n }\n @if (_filtered().length === 0) {\n <div class=\"ms-empty\">No options</div>\n }\n </div>\n}\n", styles: [":host{--emr-ms-border: 1px solid var(--color-outline);--emr-ms-border-radius: .75rem;--emr-ms-min-height: calc(var(--spacing, .25rem) * 10);--emr-ms-bg: var(--color-surface);--emr-ms-chip-bg: var(--color-secondary-container);--emr-ms-chip-color: var(--color-on-secondary-container);position:relative;display:block;width:100%}.ms-trigger{display:flex;align-items:center;gap:calc(var(--spacing, .25rem) * 2);min-height:var(--emr-ms-min-height);padding:calc(var(--spacing, .25rem) * 1.5) calc(var(--spacing, .25rem) * 2.5);background:var(--emr-ms-bg);border:var(--emr-ms-border);border-radius:var(--emr-ms-border-radius);cursor:pointer;outline:none}.ms-trigger:focus{border-color:var(--color-primary)}:host(.is-open) .ms-trigger{border-bottom-left-radius:0;border-bottom-right-radius:0}:host(.is-disabled) .ms-trigger{opacity:.38;cursor:not-allowed}.ms-chips{flex:1;display:flex;flex-wrap:wrap;gap:var(--spacing, .25rem);align-items:center}.ms-placeholder{font-size:.875rem;color:var(--color-on-surface-variant)}.ms-chip{display:inline-flex;align-items:center;gap:var(--spacing, .25rem);height:calc(var(--spacing, .25rem) * 6);padding:0 calc(var(--spacing, .25rem) * 2);background:var(--emr-ms-chip-bg);color:var(--emr-ms-chip-color);border-radius:calc(infinity * 1px);font-size:.75rem;font-weight:500}.ms-chip-remove{background:transparent;border:none;cursor:pointer;color:inherit;padding:0;font-size:.65rem;line-height:1}.ms-chip-remove:hover{opacity:.7}.ms-chip-more{background:var(--color-surface-container-highest);color:var(--color-on-surface-variant)}.ms-arrow{flex-shrink:0;color:var(--color-on-surface-variant)}.ms-dropdown{position:absolute;top:100%;left:0;right:0;z-index:200;background:var(--color-surface-container-low);border:var(--emr-ms-border);border-top:none;border-radius:0 0 var(--emr-ms-border-radius) var(--emr-ms-border-radius);max-height:calc(var(--spacing, .25rem) * 64);overflow-y:auto;box-shadow:0 8px 24px var(--color-shadow)}@supports (color: color-mix(in lab,red,red)){.ms-dropdown{box-shadow:0 8px 24px color-mix(in srgb,var(--color-shadow) 12%,transparent)}}.ms-search{padding:calc(var(--spacing, .25rem) * 2);border-bottom:1px solid var(--color-outline-variant);sticky:top;background:inherit}.ms-search input{width:100%;border:1px solid var(--color-outline);border-radius:.5rem;padding:calc(var(--spacing, .25rem) * 1.5) calc(var(--spacing, .25rem) * 2.5);font-size:.875rem;background:var(--color-surface);color:var(--color-on-surface);outline:none}.ms-search input:focus{border-color:var(--color-primary)}.ms-option{display:flex;align-items:center;gap:calc(var(--spacing, .25rem) * 2.5);padding:calc(var(--spacing, .25rem) * 2.5) calc(var(--spacing, .25rem) * 3);font-size:.875rem;cursor:pointer;transition:background 80ms}.ms-option:hover{background:var(--color-surface-container-high)}.ms-option.is-disabled{opacity:.38;pointer-events:none}.ms-option input[type=checkbox]{accent-color:var(--color-primary);flex-shrink:0}.ms-empty{padding:calc(var(--spacing, .25rem) * 4);text-align:center;font-size:.875rem;color:var(--color-on-surface-variant)}\n/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n"] }]
|
|
59
59
|
}], propDecorators: { options: [{ type: i0.Input, args: [{ isSignal: true, alias: "options", required: false }] }], placeholder: [{ type: i0.Input, args: [{ isSignal: true, alias: "placeholder", required: false }] }], disabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }], maxDisplay: [{ type: i0.Input, args: [{ isSignal: true, alias: "maxDisplay", required: false }] }], selectionChange: [{ type: i0.Output, args: ["selectionChange"] }] } });
|
|
60
60
|
|
|
61
61
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"elementar-rt-components-multi-select.mjs","sources":["../../../projects/components/multi-select/src/multi-select/multi-select.component.ts","../../../projects/components/multi-select/src/multi-select/multi-select.component.html","../../../projects/components/multi-select/elementar-rt-components-multi-select.ts"],"sourcesContent":["import {\n booleanAttribute,\n Component,\n computed,\n forwardRef,\n input,\n output,\n signal\n} from '@angular/core';\nimport { ControlValueAccessor, FormsModule, NG_VALUE_ACCESSOR } from '@angular/forms';\n\nexport interface MultiSelectOption {\n label: string;\n value: any;\n disabled?: boolean;\n}\n\n@Component({\n selector: 'emr-multi-select',\n exportAs: 'emrMultiSelect',\n imports: [FormsModule],\n templateUrl: './multi-select.component.html',\n styleUrl: './multi-select.component.scss',\n providers: [{ provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => MultiSelectComponent), multi: true }],\n host: {\n 'class': 'emr-multi-select',\n '[class.is-open]': '_open()',\n '[class.is-disabled]': 'disabled()',\n }\n})\nexport class MultiSelectComponent implements ControlValueAccessor {\n options = input<MultiSelectOption[]>([]);\n placeholder = input('Select options…');\n disabled = input(false, { transform: booleanAttribute });\n maxDisplay = input(3);\n\n readonly selectionChange = output<any[]>();\n\n protected _open = signal(false);\n protected _query = signal('');\n protected _selected = signal<Set<any>>(new Set());\n\n private _onChange: (v: any[]) => void = () => {};\n private _onTouched: () => void = () => {};\n\n writeValue(v: any[]): void { this._selected.set(new Set(v ?? [])); }\n registerOnChange(fn: any): void { this._onChange = fn; }\n registerOnTouched(fn: any): void { this._onTouched = fn; }\n setDisabledState(_: boolean): void {}\n\n protected _filtered = computed(() => {\n const q = this._query().toLowerCase();\n return this.options().filter(o => !q || o.label.toLowerCase().includes(q));\n });\n\n protected _selectedOptions = computed(() =>\n this.options().filter(o => this._selected().has(o.value))\n );\n\n protected _toggle(opt: MultiSelectOption) {\n if (opt.disabled) return;\n const next = new Set(this._selected());\n next.has(opt.value) ? next.delete(opt.value) : next.add(opt.value);\n this._selected.set(next);\n const vals = [...next];\n this._onChange(vals);\n this._onTouched();\n this.selectionChange.emit(vals);\n }\n\n protected _remove(value: any, event: MouseEvent) {\n event.stopPropagation();\n const next = new Set(this._selected());\n next.delete(value);\n this._selected.set(next);\n const vals = [...next];\n this._onChange(vals);\n this.selectionChange.emit(vals);\n }\n\n protected _isChecked(opt: MultiSelectOption): boolean { return this._selected().has(opt.value); }\n\n protected _toggle_open() { if (!this.disabled()) this._open.update(v => !v); }\n protected _onBlur() { setTimeout(() => this._open.set(false), 150); }\n}\n","<div class=\"ms-trigger\" (click)=\"_toggle_open()\" (blur)=\"_onBlur()\" tabindex=\"0\">\n <div class=\"ms-chips\">\n @if (_selectedOptions().length === 0) {\n <span class=\"ms-placeholder\">{{ placeholder() }}</span>\n }\n @for (opt of _selectedOptions().slice(0, maxDisplay()); track opt.value) {\n <span class=\"ms-chip\">\n {{ opt.label }}\n <button class=\"ms-chip-remove\" type=\"button\" (click)=\"_remove(opt.value, $event)\" aria-label=\"Remove\">✕</button>\n </span>\n }\n @if (_selectedOptions().length > maxDisplay()) {\n <span class=\"ms-chip ms-chip-more\">+{{ _selectedOptions().length - maxDisplay() }}</span>\n }\n </div>\n <svg class=\"ms-arrow\" width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"currentColor\">\n <path d=\"M7 10l5 5 5-5z\"/>\n </svg>\n</div>\n\n@if (_open()) {\n <div class=\"ms-dropdown\">\n <div class=\"ms-search\">\n <input\n type=\"text\"\n placeholder=\"Search…\"\n [value]=\"_query()\"\n (input)=\"_query.set($any($event.target).value)\"\n (click)=\"$event.stopPropagation()\"\n autocomplete=\"off\"\n />\n </div>\n @for (opt of _filtered(); track opt.value) {\n <label class=\"ms-option\" [class.is-disabled]=\"opt.disabled\">\n <input type=\"checkbox\" [checked]=\"_isChecked(opt)\" (change)=\"_toggle(opt)\" [disabled]=\"opt.disabled\"/>\n {{ opt.label }}\n </label>\n }\n @if (_filtered().length === 0) {\n <div class=\"ms-empty\">No options</div>\n }\n </div>\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;MA8Ba,oBAAoB,CAAA;AAC/B,IAAA,OAAO,GAAG,KAAK,CAAsB,EAAE,
|
|
1
|
+
{"version":3,"file":"elementar-rt-components-multi-select.mjs","sources":["../../../projects/components/multi-select/src/multi-select/multi-select.component.ts","../../../projects/components/multi-select/src/multi-select/multi-select.component.html","../../../projects/components/multi-select/elementar-rt-components-multi-select.ts"],"sourcesContent":["import {\n booleanAttribute,\n Component,\n computed,\n forwardRef,\n input,\n output,\n signal\n} from '@angular/core';\nimport { ControlValueAccessor, FormsModule, NG_VALUE_ACCESSOR } from '@angular/forms';\n\nexport interface MultiSelectOption {\n label: string;\n value: any;\n disabled?: boolean;\n}\n\n@Component({\n selector: 'emr-multi-select',\n exportAs: 'emrMultiSelect',\n imports: [FormsModule],\n templateUrl: './multi-select.component.html',\n styleUrl: './multi-select.component.scss',\n providers: [{ provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => MultiSelectComponent), multi: true }],\n host: {\n 'class': 'emr-multi-select',\n '[class.is-open]': '_open()',\n '[class.is-disabled]': 'disabled()',\n }\n})\nexport class MultiSelectComponent implements ControlValueAccessor {\n options = input<MultiSelectOption[]>([]);\n placeholder = input('Select options…');\n disabled = input(false, { transform: booleanAttribute });\n maxDisplay = input(3);\n\n readonly selectionChange = output<any[]>();\n\n protected _open = signal(false);\n protected _query = signal('');\n protected _selected = signal<Set<any>>(new Set());\n\n private _onChange: (v: any[]) => void = () => {};\n private _onTouched: () => void = () => {};\n\n writeValue(v: any[]): void { this._selected.set(new Set(v ?? [])); }\n registerOnChange(fn: any): void { this._onChange = fn; }\n registerOnTouched(fn: any): void { this._onTouched = fn; }\n setDisabledState(_: boolean): void {}\n\n protected _filtered = computed(() => {\n const q = this._query().toLowerCase();\n return this.options().filter(o => !q || o.label.toLowerCase().includes(q));\n });\n\n protected _selectedOptions = computed(() =>\n this.options().filter(o => this._selected().has(o.value))\n );\n\n protected _toggle(opt: MultiSelectOption) {\n if (opt.disabled) return;\n const next = new Set(this._selected());\n next.has(opt.value) ? next.delete(opt.value) : next.add(opt.value);\n this._selected.set(next);\n const vals = [...next];\n this._onChange(vals);\n this._onTouched();\n this.selectionChange.emit(vals);\n }\n\n protected _remove(value: any, event: MouseEvent) {\n event.stopPropagation();\n const next = new Set(this._selected());\n next.delete(value);\n this._selected.set(next);\n const vals = [...next];\n this._onChange(vals);\n this.selectionChange.emit(vals);\n }\n\n protected _isChecked(opt: MultiSelectOption): boolean { return this._selected().has(opt.value); }\n\n protected _toggle_open() { if (!this.disabled()) this._open.update(v => !v); }\n protected _onBlur() { setTimeout(() => this._open.set(false), 150); }\n}\n","<div class=\"ms-trigger\" (click)=\"_toggle_open()\" (blur)=\"_onBlur()\" tabindex=\"0\">\n <div class=\"ms-chips\">\n @if (_selectedOptions().length === 0) {\n <span class=\"ms-placeholder\">{{ placeholder() }}</span>\n }\n @for (opt of _selectedOptions().slice(0, maxDisplay()); track opt.value) {\n <span class=\"ms-chip\">\n {{ opt.label }}\n <button class=\"ms-chip-remove\" type=\"button\" (click)=\"_remove(opt.value, $event)\" aria-label=\"Remove\">✕</button>\n </span>\n }\n @if (_selectedOptions().length > maxDisplay()) {\n <span class=\"ms-chip ms-chip-more\">+{{ _selectedOptions().length - maxDisplay() }}</span>\n }\n </div>\n <svg class=\"ms-arrow\" width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"currentColor\">\n <path d=\"M7 10l5 5 5-5z\"/>\n </svg>\n</div>\n\n@if (_open()) {\n <div class=\"ms-dropdown\">\n <div class=\"ms-search\">\n <input\n type=\"text\"\n placeholder=\"Search…\"\n [value]=\"_query()\"\n (input)=\"_query.set($any($event.target).value)\"\n (click)=\"$event.stopPropagation()\"\n autocomplete=\"off\"\n />\n </div>\n @for (opt of _filtered(); track opt.value) {\n <label class=\"ms-option\" [class.is-disabled]=\"opt.disabled\">\n <input type=\"checkbox\" [checked]=\"_isChecked(opt)\" (change)=\"_toggle(opt)\" [disabled]=\"opt.disabled\"/>\n {{ opt.label }}\n </label>\n }\n @if (_filtered().length === 0) {\n <div class=\"ms-empty\">No options</div>\n }\n </div>\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|