@elementar-rt/components 0.6.55 → 0.6.57
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 +49 -49
- package/badge/index.d.ts +18 -0
- package/bottom-sheet/index.d.ts +32 -0
- package/button-toggle/index.d.ts +33 -0
- package/calendar/index.d.ts +44 -0
- package/card/index.d.ts +32 -0
- package/chips/index.d.ts +23 -0
- package/clipboard-copy/index.d.ts +28 -0
- package/code-highlighter/index.d.ts +5 -1
- package/color-scheme/index.d.ts +1 -1
- package/combobox/index.d.ts +38 -0
- package/content-editor/index.d.ts +18 -0
- package/dashboard/index.d.ts +1 -1
- package/data-grid/index.d.ts +64 -0
- package/datepicker/index.d.ts +32 -0
- package/dialog/index.d.ts +48 -0
- package/digit-roller/index.d.ts +18 -0
- package/empty-state/index.d.ts +17 -0
- package/expansion-panel/index.d.ts +12 -0
- package/fesm2022/elementar-rt-components-action-required.mjs +4 -4
- package/fesm2022/elementar-rt-components-action-required.mjs.map +1 -1
- package/fesm2022/elementar-rt-components-alert.mjs +17 -17
- package/fesm2022/elementar-rt-components-alert.mjs.map +1 -1
- package/fesm2022/elementar-rt-components-announcement.mjs +8 -8
- package/fesm2022/elementar-rt-components-announcement.mjs.map +1 -1
- package/fesm2022/elementar-rt-components-avatar.mjs +22 -22
- package/fesm2022/elementar-rt-components-avatar.mjs.map +1 -1
- package/fesm2022/elementar-rt-components-badge.mjs +38 -0
- package/fesm2022/elementar-rt-components-badge.mjs.map +1 -0
- package/fesm2022/elementar-rt-components-block-loader.mjs +7 -7
- 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 +71 -0
- package/fesm2022/elementar-rt-components-bottom-sheet.mjs.map +1 -0
- package/fesm2022/elementar-rt-components-brand-colors.mjs +5 -5
- package/fesm2022/elementar-rt-components-brand-colors.mjs.map +1 -1
- package/fesm2022/elementar-rt-components-breadcrumbs.mjs +41 -41
- package/fesm2022/elementar-rt-components-breadcrumbs.mjs.map +1 -1
- package/fesm2022/elementar-rt-components-button-toggle.mjs +89 -0
- package/fesm2022/elementar-rt-components-button-toggle.mjs.map +1 -0
- package/fesm2022/elementar-rt-components-calendar.mjs +130 -0
- package/fesm2022/elementar-rt-components-calendar.mjs.map +1 -0
- package/fesm2022/elementar-rt-components-card-overlay.mjs +7 -7
- package/fesm2022/elementar-rt-components-card-overlay.mjs.map +1 -1
- package/fesm2022/elementar-rt-components-card.mjs +60 -0
- package/fesm2022/elementar-rt-components-card.mjs.map +1 -0
- package/fesm2022/elementar-rt-components-carousel.mjs +22 -22
- package/fesm2022/elementar-rt-components-carousel.mjs.map +1 -1
- package/fesm2022/elementar-rt-components-chips.mjs +54 -0
- package/fesm2022/elementar-rt-components-chips.mjs.map +1 -0
- package/fesm2022/elementar-rt-components-clipboard-copy.mjs +115 -0
- package/fesm2022/elementar-rt-components-clipboard-copy.mjs.map +1 -0
- package/fesm2022/elementar-rt-components-code-highlighter.mjs +19 -6
- package/fesm2022/elementar-rt-components-code-highlighter.mjs.map +1 -1
- package/fesm2022/elementar-rt-components-color-picker.mjs +27 -27
- package/fesm2022/elementar-rt-components-color-picker.mjs.map +1 -1
- package/fesm2022/elementar-rt-components-color-scheme.mjs +11 -11
- package/fesm2022/elementar-rt-components-color-scheme.mjs.map +1 -1
- package/fesm2022/elementar-rt-components-combobox.mjs +70 -0
- package/fesm2022/elementar-rt-components-combobox.mjs.map +1 -0
- package/fesm2022/elementar-rt-components-command-bar.mjs +12 -12
- package/fesm2022/elementar-rt-components-command-bar.mjs.map +1 -1
- package/fesm2022/elementar-rt-components-comment-editor.mjs +82 -82
- package/fesm2022/elementar-rt-components-comment-editor.mjs.map +1 -1
- package/fesm2022/elementar-rt-components-comparison-slider.mjs +10 -10
- 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 +121 -0
- package/fesm2022/elementar-rt-components-content-editor.mjs.map +1 -0
- package/fesm2022/elementar-rt-components-content-fade.mjs +4 -4
- package/fesm2022/elementar-rt-components-content-fade.mjs.map +1 -1
- package/fesm2022/elementar-rt-components-cookie-popup.mjs +13 -13
- package/fesm2022/elementar-rt-components-cookie-popup.mjs.map +1 -1
- package/fesm2022/elementar-rt-components-core.mjs +64 -64
- package/fesm2022/elementar-rt-components-core.mjs.map +1 -1
- package/fesm2022/elementar-rt-components-country-select.mjs +5 -5
- package/fesm2022/elementar-rt-components-country-select.mjs.map +1 -1
- package/fesm2022/elementar-rt-components-crop.mjs +4 -4
- package/fesm2022/elementar-rt-components-crop.mjs.map +1 -1
- package/fesm2022/elementar-rt-components-currency-select.mjs +5 -5
- package/fesm2022/elementar-rt-components-currency-select.mjs.map +1 -1
- package/fesm2022/elementar-rt-components-dashboard.mjs +9 -9
- package/fesm2022/elementar-rt-components-dashboard.mjs.map +1 -1
- package/fesm2022/elementar-rt-components-data-grid.mjs +120 -0
- package/fesm2022/elementar-rt-components-data-grid.mjs.map +1 -0
- package/fesm2022/elementar-rt-components-data-view.mjs +17 -17
- package/fesm2022/elementar-rt-components-data-view.mjs.map +1 -1
- package/fesm2022/elementar-rt-components-date-format-select.mjs +5 -5
- package/fesm2022/elementar-rt-components-date-format-select.mjs.map +1 -1
- package/fesm2022/elementar-rt-components-datepicker.mjs +81 -0
- package/fesm2022/elementar-rt-components-datepicker.mjs.map +1 -0
- package/fesm2022/elementar-rt-components-dialog.mjs +97 -0
- package/fesm2022/elementar-rt-components-dialog.mjs.map +1 -0
- package/fesm2022/elementar-rt-components-digit-roller.mjs +41 -0
- package/fesm2022/elementar-rt-components-digit-roller.mjs.map +1 -0
- 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 +8 -8
- package/fesm2022/elementar-rt-components-drawer.mjs.map +1 -1
- package/fesm2022/elementar-rt-components-emoji-picker.mjs +7 -7
- package/fesm2022/elementar-rt-components-emoji-picker.mjs.map +1 -1
- package/fesm2022/elementar-rt-components-empty-state.mjs +35 -0
- package/fesm2022/elementar-rt-components-empty-state.mjs.map +1 -0
- package/fesm2022/elementar-rt-components-expand.mjs +4 -4
- package/fesm2022/elementar-rt-components-expand.mjs.map +1 -1
- package/fesm2022/elementar-rt-components-expansion-panel.mjs +32 -0
- package/fesm2022/elementar-rt-components-expansion-panel.mjs.map +1 -0
- package/fesm2022/elementar-rt-components-filter-builder.mjs +13 -13
- package/fesm2022/elementar-rt-components-filter-builder.mjs.map +1 -1
- package/fesm2022/elementar-rt-components-filter-select.mjs +126 -0
- package/fesm2022/elementar-rt-components-filter-select.mjs.map +1 -0
- package/fesm2022/elementar-rt-components-form-renderer-autocomplete-many-field.component-C2Ai6F2X.mjs +123 -0
- package/fesm2022/elementar-rt-components-form-renderer-autocomplete-many-field.component-C2Ai6F2X.mjs.map +1 -0
- package/fesm2022/elementar-rt-components-form-renderer-checkbox-field.component-a0XAs0-_.mjs +22 -0
- package/fesm2022/elementar-rt-components-form-renderer-checkbox-field.component-a0XAs0-_.mjs.map +1 -0
- package/fesm2022/elementar-rt-components-form-renderer-datepicker-field.component-CTVrrf43.mjs +40 -0
- package/fesm2022/elementar-rt-components-form-renderer-datepicker-field.component-CTVrrf43.mjs.map +1 -0
- package/fesm2022/{elementar-rt-components-form-renderer-divider-content.component-CjlGcU3B.mjs → elementar-rt-components-form-renderer-divider-content.component-CkYa0MOQ.mjs} +5 -5
- package/fesm2022/elementar-rt-components-form-renderer-divider-content.component-CkYa0MOQ.mjs.map +1 -0
- package/fesm2022/{elementar-rt-components-form-renderer-image-content.component-0pL2Fk0H.mjs → elementar-rt-components-form-renderer-image-content.component-B5uj3hoV.mjs} +5 -5
- package/fesm2022/elementar-rt-components-form-renderer-image-content.component-B5uj3hoV.mjs.map +1 -0
- package/fesm2022/elementar-rt-components-form-renderer-input-field.component-DnaWJIK9.mjs +33 -0
- package/fesm2022/elementar-rt-components-form-renderer-input-field.component-DnaWJIK9.mjs.map +1 -0
- package/fesm2022/elementar-rt-components-form-renderer-radio-group-field.component-9BLv1MsP.mjs +38 -0
- package/fesm2022/elementar-rt-components-form-renderer-radio-group-field.component-9BLv1MsP.mjs.map +1 -0
- package/fesm2022/elementar-rt-components-form-renderer-select-field.component-C97pIEdh.mjs +39 -0
- package/fesm2022/elementar-rt-components-form-renderer-select-field.component-C97pIEdh.mjs.map +1 -0
- package/fesm2022/{elementar-rt-components-form-renderer-text-content.component-BmFyUG06.mjs → elementar-rt-components-form-renderer-text-content.component-CJxCc5vX.mjs} +5 -5
- package/fesm2022/elementar-rt-components-form-renderer-text-content.component-CJxCc5vX.mjs.map +1 -0
- package/fesm2022/elementar-rt-components-form-renderer-textarea-field.component-CCtWiJOk.mjs +37 -0
- package/fesm2022/elementar-rt-components-form-renderer-textarea-field.component-CCtWiJOk.mjs.map +1 -0
- package/fesm2022/elementar-rt-components-form-renderer-timezone-field.component-GvZgdvUX.mjs +35 -0
- package/fesm2022/elementar-rt-components-form-renderer-timezone-field.component-GvZgdvUX.mjs.map +1 -0
- package/fesm2022/elementar-rt-components-form-renderer-toggle-field.component-DBiIiV-9.mjs +22 -0
- package/fesm2022/elementar-rt-components-form-renderer-toggle-field.component-DBiIiV-9.mjs.map +1 -0
- package/fesm2022/elementar-rt-components-form-renderer.mjs +29 -29
- package/fesm2022/elementar-rt-components-form-renderer.mjs.map +1 -1
- package/fesm2022/elementar-rt-components-gauge.mjs +8 -8
- package/fesm2022/elementar-rt-components-gauge.mjs.map +1 -1
- package/fesm2022/elementar-rt-components-grid.mjs +37 -0
- package/fesm2022/elementar-rt-components-grid.mjs.map +1 -0
- package/fesm2022/elementar-rt-components-guided-tour.mjs +161 -0
- package/fesm2022/elementar-rt-components-guided-tour.mjs.map +1 -0
- package/fesm2022/elementar-rt-components-headless-stepper.mjs +72 -0
- package/fesm2022/elementar-rt-components-headless-stepper.mjs.map +1 -0
- package/fesm2022/elementar-rt-components-icon.mjs +4 -4
- package/fesm2022/elementar-rt-components-icon.mjs.map +1 -1
- package/fesm2022/elementar-rt-components-image-placeholder.mjs +30 -0
- package/fesm2022/elementar-rt-components-image-placeholder.mjs.map +1 -0
- package/fesm2022/elementar-rt-components-image-resizer.mjs +10 -10
- package/fesm2022/elementar-rt-components-image-resizer.mjs.map +1 -1
- package/fesm2022/elementar-rt-components-image-viewer.mjs +19 -19
- package/fesm2022/elementar-rt-components-image-viewer.mjs.map +1 -1
- package/fesm2022/elementar-rt-components-image-zoom-viewer.mjs +97 -0
- package/fesm2022/elementar-rt-components-image-zoom-viewer.mjs.map +1 -0
- package/fesm2022/elementar-rt-components-incidents.mjs +49 -49
- package/fesm2022/elementar-rt-components-incidents.mjs.map +1 -1
- package/fesm2022/elementar-rt-components-inline-text-edit.mjs +4 -4
- package/fesm2022/elementar-rt-components-inline-text-edit.mjs.map +1 -1
- package/fesm2022/elementar-rt-components-input-mask.mjs +9 -9
- 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 +7 -7
- package/fesm2022/elementar-rt-components-kanban-board.mjs.map +1 -1
- package/fesm2022/elementar-rt-components-keyboard.mjs +63 -0
- package/fesm2022/elementar-rt-components-keyboard.mjs.map +1 -0
- package/fesm2022/elementar-rt-components-layout.mjs +32 -32
- package/fesm2022/elementar-rt-components-layout.mjs.map +1 -1
- package/fesm2022/elementar-rt-components-list.mjs +43 -0
- package/fesm2022/elementar-rt-components-list.mjs.map +1 -0
- 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 +7 -7
- package/fesm2022/elementar-rt-components-marquee.mjs.map +1 -1
- package/fesm2022/elementar-rt-components-menu.mjs +94 -0
- package/fesm2022/elementar-rt-components-menu.mjs.map +1 -0
- package/fesm2022/elementar-rt-components-micro-chart.mjs +24 -24
- package/fesm2022/elementar-rt-components-micro-chart.mjs.map +1 -1
- package/fesm2022/elementar-rt-components-multi-select.mjs +66 -0
- package/fesm2022/elementar-rt-components-multi-select.mjs.map +1 -0
- package/fesm2022/elementar-rt-components-navigation.mjs +39 -39
- package/fesm2022/elementar-rt-components-navigation.mjs.map +1 -1
- package/fesm2022/elementar-rt-components-notifications.mjs +40 -40
- package/fesm2022/elementar-rt-components-notifications.mjs.map +1 -1
- package/fesm2022/elementar-rt-components-number-input.mjs +17 -17
- package/fesm2022/elementar-rt-components-number-input.mjs.map +1 -1
- package/fesm2022/elementar-rt-components-overlay-scrollbar.mjs +4 -4
- 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 +4 -4
- package/fesm2022/elementar-rt-components-page-loading-bar.mjs.map +1 -1
- package/fesm2022/elementar-rt-components-paginator.mjs +50 -0
- package/fesm2022/elementar-rt-components-paginator.mjs.map +1 -0
- package/fesm2022/elementar-rt-components-panel.mjs +24 -24
- package/fesm2022/elementar-rt-components-panel.mjs.map +1 -1
- package/fesm2022/elementar-rt-components-password-strength.mjs +13 -13
- package/fesm2022/elementar-rt-components-password-strength.mjs.map +1 -1
- package/fesm2022/elementar-rt-components-phone-input.mjs +11 -11
- package/fesm2022/elementar-rt-components-phone-input.mjs.map +1 -1
- package/fesm2022/elementar-rt-components-pin-input.mjs +8 -8
- package/fesm2022/elementar-rt-components-pin-input.mjs.map +1 -1
- package/fesm2022/elementar-rt-components-popover.mjs +10 -10
- package/fesm2022/elementar-rt-components-popover.mjs.map +1 -1
- package/fesm2022/elementar-rt-components-progress-bar.mjs +32 -0
- package/fesm2022/elementar-rt-components-progress-bar.mjs.map +1 -0
- package/fesm2022/elementar-rt-components-progress-spinner.mjs +94 -0
- package/fesm2022/elementar-rt-components-progress-spinner.mjs.map +1 -0
- package/fesm2022/elementar-rt-components-radio-card.mjs +17 -17
- package/fesm2022/elementar-rt-components-radio-card.mjs.map +1 -1
- package/fesm2022/elementar-rt-components-rail-nav.mjs +12 -12
- package/fesm2022/elementar-rt-components-rail-nav.mjs.map +1 -1
- package/fesm2022/elementar-rt-components-rating.mjs +84 -0
- package/fesm2022/elementar-rt-components-rating.mjs.map +1 -0
- package/fesm2022/elementar-rt-components-resizable-container.mjs +4 -4
- package/fesm2022/elementar-rt-components-resizable-container.mjs.map +1 -1
- package/fesm2022/elementar-rt-components-screen-loader.mjs +4 -4
- package/fesm2022/elementar-rt-components-screen-loader.mjs.map +1 -1
- package/fesm2022/elementar-rt-components-scroll-spy.mjs +16 -16
- package/fesm2022/elementar-rt-components-scroll-spy.mjs.map +1 -1
- package/fesm2022/elementar-rt-components-segmented.mjs +12 -12
- package/fesm2022/elementar-rt-components-segmented.mjs.map +1 -1
- package/fesm2022/elementar-rt-components-side-panel.mjs +8 -8
- package/fesm2022/elementar-rt-components-side-panel.mjs.map +1 -1
- package/fesm2022/elementar-rt-components-sidebar.mjs +61 -61
- package/fesm2022/elementar-rt-components-sidebar.mjs.map +1 -1
- package/fesm2022/elementar-rt-components-sidenav.mjs +72 -0
- package/fesm2022/elementar-rt-components-sidenav.mjs.map +1 -0
- package/fesm2022/elementar-rt-components-signature-pad.mjs +4 -4
- package/fesm2022/elementar-rt-components-signature-pad.mjs.map +1 -1
- package/fesm2022/elementar-rt-components-skeleton.mjs +16 -16
- package/fesm2022/elementar-rt-components-skeleton.mjs.map +1 -1
- package/fesm2022/elementar-rt-components-slider.mjs +64 -0
- package/fesm2022/elementar-rt-components-slider.mjs.map +1 -0
- package/fesm2022/elementar-rt-components-snackbar.mjs +81 -0
- package/fesm2022/elementar-rt-components-snackbar.mjs.map +1 -0
- package/fesm2022/elementar-rt-components-sort.mjs +69 -0
- package/fesm2022/elementar-rt-components-sort.mjs.map +1 -0
- package/fesm2022/elementar-rt-components-splash-screen.mjs +4 -4
- package/fesm2022/elementar-rt-components-splash-screen.mjs.map +1 -1
- package/fesm2022/elementar-rt-components-split-pane.mjs +70 -0
- package/fesm2022/elementar-rt-components-split-pane.mjs.map +1 -0
- package/fesm2022/elementar-rt-components-stat-card.mjs +27 -0
- package/fesm2022/elementar-rt-components-stat-card.mjs.map +1 -0
- package/fesm2022/elementar-rt-components-step-tracker.mjs +30 -0
- package/fesm2022/elementar-rt-components-step-tracker.mjs.map +1 -0
- package/fesm2022/elementar-rt-components-stepper.mjs +6 -6
- package/fesm2022/elementar-rt-components-stepper.mjs.map +1 -1
- package/fesm2022/elementar-rt-components-suggestions.mjs +18 -18
- package/fesm2022/elementar-rt-components-suggestions.mjs.map +1 -1
- package/fesm2022/elementar-rt-components-tab-panel.mjs +48 -48
- package/fesm2022/elementar-rt-components-tab-panel.mjs.map +1 -1
- package/fesm2022/elementar-rt-components-table.mjs +84 -0
- package/fesm2022/elementar-rt-components-table.mjs.map +1 -0
- package/fesm2022/elementar-rt-components-tabs.mjs +59 -0
- package/fesm2022/elementar-rt-components-tabs.mjs.map +1 -0
- package/fesm2022/elementar-rt-components-tag.mjs +28 -0
- package/fesm2022/elementar-rt-components-tag.mjs.map +1 -0
- package/fesm2022/elementar-rt-components-text-editor.mjs +85 -85
- package/fesm2022/elementar-rt-components-text-editor.mjs.map +1 -1
- package/fesm2022/elementar-rt-components-thumbnail-maker.mjs +7 -7
- package/fesm2022/elementar-rt-components-thumbnail-maker.mjs.map +1 -1
- package/fesm2022/elementar-rt-components-tiles.mjs +35 -0
- package/fesm2022/elementar-rt-components-tiles.mjs.map +1 -0
- 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 +75 -0
- package/fesm2022/elementar-rt-components-timepicker.mjs.map +1 -0
- package/fesm2022/elementar-rt-components-timezone-select.mjs +8 -8
- package/fesm2022/elementar-rt-components-timezone-select.mjs.map +1 -1
- package/fesm2022/elementar-rt-components-toast.mjs +98 -0
- package/fesm2022/elementar-rt-components-toast.mjs.map +1 -0
- package/fesm2022/elementar-rt-components-toolbar.mjs +24 -0
- package/fesm2022/elementar-rt-components-toolbar.mjs.map +1 -0
- package/fesm2022/elementar-rt-components-tooltip.mjs +119 -0
- package/fesm2022/elementar-rt-components-tooltip.mjs.map +1 -0
- package/fesm2022/elementar-rt-components-tree.mjs +77 -0
- package/fesm2022/elementar-rt-components-tree.mjs.map +1 -0
- package/fesm2022/elementar-rt-components-upload.mjs +57 -57
- package/fesm2022/elementar-rt-components-upload.mjs.map +1 -1
- package/fesm2022/elementar-rt-components-video-player.mjs +144 -0
- package/fesm2022/elementar-rt-components-video-player.mjs.map +1 -0
- package/fesm2022/elementar-rt-components-video-viewer.mjs +98 -0
- package/fesm2022/elementar-rt-components-video-viewer.mjs.map +1 -0
- package/fesm2022/elementar-rt-components.mjs.map +1 -1
- package/filter-select/index.d.ts +40 -0
- package/grid/index.d.ts +24 -0
- package/guided-tour/index.d.ts +45 -0
- package/headless-stepper/index.d.ts +30 -0
- package/image-placeholder/index.d.ts +18 -0
- package/image-zoom-viewer/index.d.ts +33 -0
- package/keyboard/index.d.ts +13 -0
- package/list/index.d.ts +18 -0
- package/menu/index.d.ts +38 -0
- package/multi-select/index.d.ts +36 -0
- package/package.json +245 -53
- package/paginator/index.d.ts +26 -0
- package/progress-bar/index.d.ts +17 -0
- package/progress-spinner/index.d.ts +19 -0
- package/rating/index.d.ts +30 -0
- package/sidenav/index.d.ts +31 -0
- package/slider/index.d.ts +26 -0
- package/snackbar/index.d.ts +36 -0
- package/sort/index.d.ts +27 -0
- package/split-pane/index.d.ts +25 -0
- package/stat-card/index.d.ts +16 -0
- package/step-tracker/index.d.ts +21 -0
- package/styles/_common.scss +777 -776
- package/styles/themes/cyan-orange.scss +41 -41
- package/styles/themes/default.scss +5 -5
- package/styles/themes/magenta-violet.scss +41 -41
- package/styles/themes/rose-red.scss +41 -41
- package/table/index.d.ts +44 -0
- package/tabs/index.d.ts +26 -0
- package/tag/index.d.ts +17 -0
- package/tiles/index.d.ts +14 -0
- package/timepicker/index.d.ts +29 -0
- package/toast/index.d.ts +48 -0
- package/toolbar/index.d.ts +10 -0
- package/tooltip/index.d.ts +30 -0
- package/tree/index.d.ts +42 -0
- package/video-player/index.d.ts +49 -0
- package/video-viewer/index.d.ts +33 -0
- package/fesm2022/elementar-rt-components-form-renderer-autocomplete-many-field.component-AqEghjO_.mjs +0 -123
- package/fesm2022/elementar-rt-components-form-renderer-autocomplete-many-field.component-AqEghjO_.mjs.map +0 -1
- package/fesm2022/elementar-rt-components-form-renderer-checkbox-field.component-CUKmZGFq.mjs +0 -22
- package/fesm2022/elementar-rt-components-form-renderer-checkbox-field.component-CUKmZGFq.mjs.map +0 -1
- package/fesm2022/elementar-rt-components-form-renderer-datepicker-field.component-DihIRWMt.mjs +0 -40
- package/fesm2022/elementar-rt-components-form-renderer-datepicker-field.component-DihIRWMt.mjs.map +0 -1
- package/fesm2022/elementar-rt-components-form-renderer-divider-content.component-CjlGcU3B.mjs.map +0 -1
- package/fesm2022/elementar-rt-components-form-renderer-image-content.component-0pL2Fk0H.mjs.map +0 -1
- package/fesm2022/elementar-rt-components-form-renderer-input-field.component-X2sKvj6J.mjs +0 -33
- package/fesm2022/elementar-rt-components-form-renderer-input-field.component-X2sKvj6J.mjs.map +0 -1
- package/fesm2022/elementar-rt-components-form-renderer-radio-group-field.component-DWXZAA3F.mjs +0 -38
- package/fesm2022/elementar-rt-components-form-renderer-radio-group-field.component-DWXZAA3F.mjs.map +0 -1
- package/fesm2022/elementar-rt-components-form-renderer-select-field.component-Cx9DZoD6.mjs +0 -39
- package/fesm2022/elementar-rt-components-form-renderer-select-field.component-Cx9DZoD6.mjs.map +0 -1
- package/fesm2022/elementar-rt-components-form-renderer-text-content.component-BmFyUG06.mjs.map +0 -1
- package/fesm2022/elementar-rt-components-form-renderer-textarea-field.component-D9KmE049.mjs +0 -37
- package/fesm2022/elementar-rt-components-form-renderer-textarea-field.component-D9KmE049.mjs.map +0 -1
- package/fesm2022/elementar-rt-components-form-renderer-timezone-field.component-BroP_Q4P.mjs +0 -35
- package/fesm2022/elementar-rt-components-form-renderer-timezone-field.component-BroP_Q4P.mjs.map +0 -1
- package/fesm2022/elementar-rt-components-form-renderer-toggle-field.component-nGbtVi1_.mjs +0 -22
- package/fesm2022/elementar-rt-components-form-renderer-toggle-field.component-nGbtVi1_.mjs.map +0 -1
|
@@ -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';\r\nimport { inject, Injector, Renderer2, TemplateRef, ViewContainerRef, DOCUMENT } from '@angular/core';\r\nimport {\r\n ConnectedPosition,\r\n FlexibleConnectedPositionStrategy,\r\n Overlay,\r\n OverlayConfig,\r\n OverlayRef\r\n} from '@angular/cdk/overlay';\r\n\r\nimport { OverlayPosition, PositionManager } from '@elementar-rt/components/overlay';\r\n\r\nexport abstract class BaseChartTooltip {\r\n protected _tooltipOrigin: HTMLElement;\r\n protected _tooltipPortal!: TemplatePortal;\r\n protected _overlayRef: OverlayRef;\r\n protected _renderer = inject(Renderer2);\r\n protected _overlay = inject(Overlay);\r\n protected _viewContainerRef = inject(ViewContainerRef);\r\n protected _injector = inject(Injector);\r\n protected _document = inject(DOCUMENT);\r\n\r\n abstract getTooltipTemplateRef(): TemplateRef<any> | undefined;\r\n abstract getTooltipPosition(): OverlayPosition;\r\n\r\n protected _createTooltipOrigin(): void {\r\n let tooltipOrigin: HTMLElement | null = this._document.querySelector('.emr-mchart-tooltip-origin');\r\n\r\n if (!tooltipOrigin) {\r\n tooltipOrigin = this._renderer.createElement('div') as HTMLElement;\r\n tooltipOrigin.classList.add('emr-mchart-tooltip-origin');\r\n this._renderer.appendChild(this._document.body, tooltipOrigin);\r\n }\r\n\r\n this._tooltipOrigin = tooltipOrigin;\r\n this._renderer.setStyle(this._tooltipOrigin, 'width', '10px');\r\n this._renderer.setStyle(this._tooltipOrigin, 'height', '10px');\r\n this._renderer.setStyle(this._tooltipOrigin, 'z-index', '-1');\r\n this._renderer.setStyle(this._tooltipOrigin, 'position', 'fixed');\r\n this._renderer.setStyle(this._tooltipOrigin, 'opacity', '0');\r\n }\r\n\r\n protected _showTooltip(data: object): void {\r\n this._overlayRef?.detach();\r\n this._overlayRef = this._overlay.create(this._getOverlayConfig());\r\n this._overlayRef.attach(this._getContentPortal(data));\r\n }\r\n\r\n protected _hideTooltip(): void {\r\n this._overlayRef?.detach();\r\n }\r\n\r\n protected _setTooltipPositionByEvent(e: MouseEvent): void {\r\n this._renderer.setStyle(this._tooltipOrigin, 'left', (e.clientX + 10) + 'px');\r\n this._renderer.setStyle(this._tooltipOrigin, 'top', (e.clientY - 4) + 'px');\r\n }\r\n\r\n protected _setTooltipVisible(): void {\r\n this._renderer.addClass(this._tooltipOrigin, 'is-visible');\r\n }\r\n\r\n protected _setTooltipInVisible(): void {\r\n this._renderer.removeClass(this._tooltipOrigin, 'is-visible');\r\n }\r\n\r\n protected _getContentPortal(data: object) {\r\n this._tooltipPortal = new TemplatePortal(\r\n this.getTooltipTemplateRef() as TemplateRef<any>,\r\n this._viewContainerRef,\r\n {\r\n '$implicit': {\r\n ...data\r\n }\r\n },\r\n this._injector\r\n );\r\n\r\n return this._tooltipPortal;\r\n }\r\n\r\n protected _getOverlayConfig() {\r\n return new OverlayConfig({\r\n panelClass: 'emr-mchart-tooltip-overlay',\r\n positionStrategy: this._getOverlayPositionStrategy(),\r\n scrollStrategy: this._overlay.scrollStrategies.reposition()\r\n });\r\n }\r\n\r\n protected _getOverlayPositionStrategy(): FlexibleConnectedPositionStrategy {\r\n return this._overlay\r\n .position()\r\n .flexibleConnectedTo(this._tooltipOrigin)\r\n .withFlexibleDimensions()\r\n .withGrowAfterOpen()\r\n .withPositions(this._getOverlayPositions())\r\n ;\r\n }\r\n\r\n protected _getOverlayPositions(): ConnectedPosition[] {\r\n return (new PositionManager()).build(this.getTooltipPosition());\r\n }\r\n}\r\n","import {\r\n AfterViewChecked,\r\n booleanAttribute,\r\n ChangeDetectionStrategy,\r\n Component, DestroyRef,\r\n effect,\r\n ElementRef,\r\n inject,\r\n input,\r\n numberAttribute, OnDestroy,\r\n PLATFORM_ID,\r\n TemplateRef,\r\n} from '@angular/core';\r\nimport { isPlatformServer } from '@angular/common';\r\nimport {\r\n Selection,\r\n curveLinear,\r\n curveCatmullRom,\r\n curveBumpX,\r\n scaleLinear,\r\n select,\r\n scalePoint,\r\n min, max,\r\n pointer,\r\n line, area,\r\n curveStep\r\n} from 'd3';\r\nimport { OverlayPosition } from '@elementar-rt/components/overlay';\r\nimport { fromEvent } from 'rxjs';\r\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\r\nimport { MchartLineCurveType } from '../types';\r\nimport { BaseChartTooltip } from '../base-chart.tooltip';\r\n\r\nlet nextId = 0;\r\n\r\n@Component({\r\n selector: 'emr-mchart-line',\r\n exportAs: 'emrMchartLine',\r\n templateUrl: './mchart-line.component.html',\r\n styleUrl: './mchart-line.component.scss',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n host: {\r\n 'class': 'emr-mchart-line',\r\n '[class.fill-area-gradient]': 'fillAreaGradient()',\r\n }\r\n})\r\nexport class MchartLineComponent extends BaseChartTooltip implements OnDestroy, AfterViewChecked {\r\n private _initialized = false;\r\n private _host: any;\r\n private _svg: any;\r\n private _dimensions: DOMRect;\r\n private _hostWidth = 0;\r\n private _hostHeight = 0;\r\n private _innerWidth = 0;\r\n private _innerHeight = 0;\r\n private _yScale: any;\r\n private _xScale: any;\r\n private _curveMap = {\r\n 'linear': curveLinear,\r\n 'catmullRom': curveCatmullRom,\r\n 'curveBumpX': curveBumpX,\r\n 'curveStep': curveStep\r\n };\r\n private _resizeObserver: ResizeObserver;\r\n private _tooltipDot: HTMLElement;\r\n private _area: any;\r\n private _line: any;\r\n private _platformId = inject(PLATFORM_ID);\r\n private _destroyRef = inject(DestroyRef);\r\n private _elementRef = inject(ElementRef);\r\n\r\n data = input<number[]>([]);\r\n labels = input<any[]>([]);\r\n strokeWidth = input(2, {\r\n transform: numberAttribute\r\n });\r\n showArea = input(false, {\r\n transform: booleanAttribute\r\n });\r\n showMarkers = input(false, {\r\n transform: booleanAttribute\r\n });\r\n responsive = input(false, {\r\n transform: booleanAttribute\r\n });\r\n fillAreaGradient = input(false, {\r\n transform: booleanAttribute\r\n });\r\n curve = input<MchartLineCurveType>('linear');\r\n xAccessor = input((d: any, i: number) => i);\r\n yAccessor = input((d: any) => d);\r\n compact = input(false, {\r\n transform: booleanAttribute\r\n });\r\n markerDotSize = input(5, {\r\n transform: numberAttribute\r\n });\r\n tooltip = input<TemplateRef<unknown>>();\r\n tooltipPosition = input<OverlayPosition>('after-center');\r\n\r\n get gradientId(): string {\r\n return 'areaGradient' + this._gradientId;\r\n }\r\n private _gradientId = nextId++;\r\n\r\n constructor() {\r\n super();\r\n effect(() => {\r\n if (!this._initialized) {\r\n return;\r\n }\r\n\r\n this._render();\r\n });\r\n }\r\n\r\n ngAfterViewChecked() {\r\n if (isPlatformServer(this._platformId)) {\r\n return;\r\n }\r\n\r\n if (!this._initialized) {\r\n const element = this._elementRef.nativeElement as HTMLElement;\r\n this._dimensions = element.getBoundingClientRect();\r\n\r\n if (this._dimensions.width !== 0 && this._dimensions.height !== 0) {\r\n this._initialized = true;\r\n this._render();\r\n this._setupResizeObserver();\r\n }\r\n }\r\n }\r\n\r\n ngOnDestroy() {\r\n this._resizeObserver?.disconnect();\r\n }\r\n\r\n getTooltipPosition(): OverlayPosition {\r\n return this.tooltipPosition();\r\n }\r\n\r\n getTooltipTemplateRef(): TemplateRef<any> | undefined {\r\n return this.tooltip();\r\n }\r\n\r\n private _render(): void {\r\n this._setupContainers();\r\n this._setupData();\r\n }\r\n\r\n private _setupContainers(): void {\r\n this._hostWidth = this._dimensions.width;\r\n this._hostHeight = this._dimensions.height;\r\n this._innerWidth = this._dimensions.width;\r\n this._innerHeight = this._dimensions.height;\r\n this._host = select(this._elementRef.nativeElement);\r\n this._svg = this._host\r\n .select('svg')\r\n .attr('viewBox', `0 0 ${this._hostWidth} ${this._hostHeight}`)\r\n ;\r\n\r\n if (this.tooltip()) {\r\n this._tooltipDot = this._renderer.createElement('div');\r\n this._renderer.setStyle(this._tooltipDot, 'width', '10px');\r\n this._renderer.setStyle(this._tooltipDot, 'height', '10px');\r\n this._renderer.setStyle(this._tooltipDot, 'z-index', '-1');\r\n this._renderer.setStyle(this._tooltipDot, 'position', 'fixed');\r\n this._renderer.setStyle(this._tooltipDot, 'opacity', '0');\r\n this._renderer.appendChild(this._document.body, this._tooltipDot);\r\n }\r\n }\r\n\r\n private _setupData(isUpdate = false): void {\r\n let markerDotSize = this.markerDotSize();\r\n\r\n if (!this.showMarkers()) {\r\n markerDotSize = this.strokeWidth();\r\n }\r\n\r\n const xAccessor = this.xAccessor();\r\n const yAccessor = this.yAccessor();\r\n const xDomain = this.data().map((d: any, i: number) => xAccessor(d, i)) as any;\r\n\r\n if (!this._xScale) {\r\n this._xScale = scalePoint().domain(xDomain);\r\n }\r\n\r\n this._xScale.range([markerDotSize, this._innerWidth - markerDotSize]);\r\n\r\n const yDomain = [\r\n this.compact() ? min(this.data().map(d => yAccessor(d))) : 0,\r\n max(this.data().map(d => yAccessor(d)))\r\n ];\r\n\r\n if (!this._yScale) {\r\n this._yScale = scaleLinear()\r\n .domain(yDomain)\r\n ;\r\n }\r\n\r\n this._yScale.range([this._innerHeight - markerDotSize, markerDotSize])\r\n\r\n if (this.showArea()) {\r\n const areaGenerator = area()\r\n .x((d, i) => this._xScale(xAccessor(d, i)))\r\n .y1((d) => this._yScale(yAccessor(d)))\r\n .y0(this._innerHeight - markerDotSize)\r\n .curve(this._curveMap[this.curve()])\r\n ;\r\n\r\n if (!this._area) {\r\n // add area\r\n this._area = this._svg\r\n .append('path')\r\n .datum(this.data())\r\n .attr('d', areaGenerator)\r\n .attr('class', 'area')\r\n ;\r\n\r\n if (this.fillAreaGradient()) {\r\n this._area.attr('fill', `url(#${this.gradientId})`);\r\n }\r\n } else {\r\n this._area.attr('d', areaGenerator);\r\n }\r\n }\r\n\r\n const lineGenerator = line()\r\n .x((d, i) => this._xScale(xAccessor(d, i)))\r\n .y((d) => this._yScale(yAccessor(d)))\r\n ;\r\n\r\n if (!this._line) {\r\n // add line\r\n this._line = this._svg\r\n .append('path')\r\n .datum(this.data())\r\n .attr('d', lineGenerator.curve(this._curveMap[this.curve()]))\r\n .attr('class', 'line')\r\n .attr('stroke-width', this.strokeWidth())\r\n ;\r\n } else {\r\n this._line.attr('d', lineGenerator.curve(this._curveMap[this.curve()]))\r\n }\r\n\r\n if (isUpdate) {\r\n return;\r\n }\r\n\r\n if (this.showMarkers() || this.tooltip()) {\r\n const markerLine = this._svg\r\n .append('line')\r\n .attr('x1', 0)\r\n .attr('x2', 0)\r\n .attr('y1', 0)\r\n .attr('y2', this._innerHeight - markerDotSize)\r\n .attr('opacity', 0)\r\n .attr('class', 'marker-line')\r\n ;\r\n const markerDot: Selection<any, any, any, any> = this._svg\r\n .append('circle')\r\n .attr('cx', 0)\r\n .attr('cy', 0)\r\n .attr('r', markerDotSize)\r\n .attr('opacity', 0)\r\n .attr('class', 'marker-dot')\r\n ;\r\n\r\n let x = 0;\r\n let y = 0;\r\n let label: any;\r\n let value: any;\r\n\r\n if (this.tooltip()) {\r\n this._createTooltipOrigin();\r\n }\r\n\r\n fromEvent<MouseEvent>(this._document, 'mousemove')\r\n .pipe(\r\n takeUntilDestroyed(this._destroyRef)\r\n )\r\n .subscribe((e: MouseEvent) => {\r\n const target = e.target as HTMLElement;\r\n const oldXPosition = +markerDot.attr('cx');\r\n const pointerCoords = pointer(e, this._svg.node());\r\n const [posX, posY] = pointerCoords;\r\n let visible = true;\r\n\r\n if (posX < this.markerDotSize() || posY < this.markerDotSize() || posX > this._hostWidth || posY > this._hostHeight) {\r\n visible = false;\r\n this._overlayRef?.detach();\r\n markerLine.attr('opacity', 0);\r\n markerDot.attr('opacity', 0);\r\n } else {\r\n if (target.closest('.emr-mchart-line') ||\r\n target.classList.contains('emr-mchart-tooltip-overlay') ||\r\n target.closest('.emr-mchart-tooltip-overlay')\r\n ) {\r\n if (this.showMarkers()) {\r\n markerLine.attr('opacity', 1);\r\n markerDot.attr('opacity', 1);\r\n }\r\n } else {\r\n visible = false;\r\n this._overlayRef?.detach();\r\n }\r\n }\r\n\r\n const eachBand = this._xScale.step();\r\n const index = Math.round((posX / eachBand));\r\n const dataValue = this.data()[index];\r\n label = this.labels()[index] ? this.labels()[index] : xAccessor(index, index);\r\n value = yAccessor(dataValue);\r\n x = this._xScale(xAccessor(index, index));\r\n y = this._yScale(yAccessor(dataValue));\r\n markerLine\r\n .attr('x1', x)\r\n .attr('x2', x)\r\n ;\r\n markerDot\r\n .attr('cx', x)\r\n .attr('cy', y)\r\n ;\r\n\r\n if (this.tooltip()) {\r\n this._setTooltipPositionByEvent(e);\r\n\r\n if (visible) {\r\n this._setTooltipVisible();\r\n\r\n if (!this._overlayRef?.hasAttached()) {\r\n this._showTooltip({\r\n label,\r\n value\r\n });\r\n } else {\r\n if (oldXPosition !== x) {\r\n this._showTooltip({\r\n label,\r\n value\r\n });\r\n } else {\r\n this._overlayRef.updatePosition();\r\n }\r\n }\r\n } else {\r\n this._setTooltipInVisible();\r\n }\r\n }\r\n })\r\n ;\r\n }\r\n }\r\n\r\n private _setupResizeObserver(): void {\r\n if (!this.responsive()) {\r\n return;\r\n }\r\n\r\n this._resizeObserver = new ResizeObserver((entries) => {\r\n if (this._hostWidth !== entries[0].contentRect.width || this._hostHeight !== entries[0].contentRect.height) {\r\n this._hostWidth = entries[0].contentRect.width;\r\n this._hostHeight = entries[0].contentRect.height;\r\n this._innerWidth = entries[0].contentRect.width;\r\n this._innerHeight = entries[0].contentRect.height;\r\n this._svg\r\n .attr(\"viewBox\", `0 0 ${this._hostWidth} ${this._hostHeight}`)\r\n ;\r\n this._setupData(true);\r\n }\r\n });\r\n this._resizeObserver.observe(this._elementRef.nativeElement);\r\n }\r\n}\r\n","<svg>\r\n @if (fillAreaGradient()) {\r\n <linearGradient [id]=\"gradientId\" x1=\"0\" x2=\"0\" y1=\"0\" y2=\"1\">\r\n <stop offset=\"0%\" class=\"lg-start-color\"/>\r\n <stop offset=\"100%\" class=\"lg-end-color\"/>\r\n </linearGradient>\r\n }\r\n</svg>\r\n","import {\r\n AfterViewChecked,\r\n booleanAttribute,\r\n ChangeDetectionStrategy,\r\n Component, DestroyRef,\r\n effect,\r\n ElementRef,\r\n inject,\r\n input,\r\n numberAttribute, OnDestroy,\r\n PLATFORM_ID, TemplateRef,\r\n} from '@angular/core';\r\nimport { isPlatformServer } from '@angular/common';\r\nimport { pointer, scaleBand, scaleLinear, select } from 'd3';\r\nimport { OverlayPosition } from '@elementar-rt/components/overlay';\r\nimport { fromEvent } from 'rxjs';\r\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\r\nimport { BaseChartTooltip } from '../base-chart.tooltip';\r\n\r\nlet nextId = 0;\r\n\r\n@Component({\r\n selector: 'emr-mchart-bar',\r\n exportAs: 'emrMchartBar',\r\n templateUrl: './mchart-bar.component.html',\r\n styleUrl: './mchart-bar.component.scss',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n host: {\r\n 'class': 'emr-mchart-bar',\r\n '[class.fill-gradient]': 'fillGradient()',\r\n '[class.with-tooltip]': '!!tooltip()',\r\n }\r\n})\r\nexport class MchartBarComponent extends BaseChartTooltip implements OnDestroy, AfterViewChecked {\r\n private _initialized = false;\r\n private _host: any;\r\n private _svg: any;\r\n private _hlContainer: any;\r\n private _dataContainer: any;\r\n private _dimensions: DOMRect;\r\n private _innerWidth = 0;\r\n private _innerHeight = 0;\r\n private _hostWidth = 0;\r\n private _hostHeight = 0;\r\n private _xScale: any;\r\n private _yScale: any;\r\n private _resizeObserver: ResizeObserver;\r\n private _platformId = inject(PLATFORM_ID);\r\n private _elementRef = inject(ElementRef);\r\n private _destroyRef = inject(DestroyRef);\r\n\r\n data = input<number[]>([]);\r\n labels = input<string[]>([]);\r\n gap = input(0.2, {\r\n transform: numberAttribute\r\n });\r\n radius = input(0, {\r\n transform: numberAttribute\r\n });\r\n highlight = input(false, {\r\n transform: booleanAttribute\r\n });\r\n responsive = input(false, {\r\n transform: booleanAttribute\r\n });\r\n fillGradient = input(false, {\r\n transform: booleanAttribute\r\n });\r\n xAccessor = input((d: any, i: number) => i);\r\n yAccessor = input((d: any) => d);\r\n tooltip = input<TemplateRef<any>>();\r\n tooltipPosition = input<OverlayPosition>('after-center');\r\n\r\n get gradientId(): string {\r\n return 'areaGradient' + this._gradientId;\r\n }\r\n private _gradientId = nextId++;\r\n\r\n constructor() {\r\n super();\r\n effect(() => {\r\n if (!this._initialized) {\r\n return;\r\n }\r\n\r\n this._render();\r\n this._setupResizeObserver();\r\n });\r\n }\r\n\r\n ngAfterViewChecked() {\r\n if (isPlatformServer(this._platformId)) {\r\n return;\r\n }\r\n\r\n if (!this._initialized) {\r\n const element = this._elementRef.nativeElement as HTMLElement;\r\n this._dimensions = element.getBoundingClientRect();\r\n\r\n if (this._dimensions.width !== 0 && this._dimensions.height !==0) {\r\n this._initialized = true;\r\n this._render();\r\n this._setupResizeObserver();\r\n }\r\n }\r\n }\r\n\r\n ngOnDestroy() {\r\n this._resizeObserver?.disconnect();\r\n }\r\n\r\n getTooltipPosition(): OverlayPosition {\r\n return this.tooltipPosition();\r\n }\r\n\r\n getTooltipTemplateRef(): TemplateRef<any> | undefined {\r\n return this.tooltip();\r\n }\r\n\r\n private _render(): void {\r\n this._init();\r\n this._setupAxisScale();\r\n this._setupData();\r\n this._initTooltip();\r\n }\r\n\r\n private _init(): void {\r\n this._hostWidth = this._dimensions.width;\r\n this._hostHeight = this._dimensions.height;\r\n this._innerWidth = this._dimensions.width;\r\n this._innerHeight = this._dimensions.height;\r\n this._host = select(this._elementRef.nativeElement);\r\n this._svg = this._host\r\n .select('svg')\r\n .attr('viewBox', `0 0 ${this._hostWidth} ${this._hostHeight}`)\r\n ;\r\n }\r\n\r\n private _setupAxisScale(): void {\r\n if (!this._xScale) {\r\n this._xScale = scaleBand()\r\n .paddingInner(this.gap())\r\n .domain(this.data().map((d, i) => i.toString()))\r\n ;\r\n }\r\n\r\n this._xScale.range([0, this._innerWidth]);\r\n\r\n if (!this._yScale) {\r\n this._yScale = scaleLinear().domain([0, Math.max(...this.data())]);\r\n }\r\n\r\n this._yScale.range([this._innerHeight, 0]);\r\n }\r\n\r\n private _setupData(): void {\r\n if (this.highlight()) {\r\n if (!this._hlContainer) {\r\n this._hlContainer = this._svg.append('g')\r\n .attr('class', 'hl-container')\r\n .attr('transform', `translate(0,0)`)\r\n ;\r\n this._hlContainer.selectAll('rect')\r\n .data(this.data())\r\n .enter()\r\n .append('rect')\r\n .attr('rx', this.radius())\r\n .attr('x', (d: any, i: number) => this._xScale(i.toString()))\r\n .attr('y', 0)\r\n .attr('width', this._xScale.bandwidth())\r\n .attr('height', this._innerHeight)\r\n .attr('class', 'highlight')\r\n ;\r\n } else {\r\n this._hlContainer.selectAll('rect')\r\n .attr('x', (d: any, i: number) => this._xScale(i.toString()))\r\n .attr('y', 0)\r\n .attr('width', this._xScale.bandwidth())\r\n .attr('height', this._innerHeight)\r\n ;\r\n }\r\n }\r\n\r\n if (!this._dataContainer) {\r\n this._dataContainer = this._svg.append('g')\r\n .attr('class', 'data-container')\r\n .attr('transform', `translate(0,0)`)\r\n ;\r\n const allBars = this._dataContainer.selectAll('rect')\r\n .data(this.data())\r\n .enter()\r\n .append('rect')\r\n .attr('rx', this.radius())\r\n .attr('x', (d: any, i: number) => this._xScale(i.toString()))\r\n .attr('y', (d: any) => this._yScale(d))\r\n .attr('width', this._xScale.bandwidth())\r\n .attr('height', (d: any) => this._innerHeight - this._yScale(d))\r\n .attr('class', 'bar')\r\n ;\r\n\r\n if (this.fillGradient()) {\r\n allBars.attr('fill', `url(#${this.gradientId})`);\r\n }\r\n } else {\r\n this._dataContainer.selectAll('rect')\r\n .attr('x', (d: any, i: number) => this._xScale(i.toString()))\r\n .attr('y', (d: any) => this._yScale(d))\r\n .attr('width', this._xScale.bandwidth())\r\n .attr('height', (d: any) => this._innerHeight - this._yScale(d))\r\n ;\r\n }\r\n }\r\n\r\n private _setupResizeObserver(): void {\r\n if (!this.responsive()) {\r\n return;\r\n }\r\n\r\n this._resizeObserver?.disconnect();\r\n this._resizeObserver = new ResizeObserver((entries) => {\r\n if (this._hostWidth !== entries[0].contentRect.width || this._hostHeight !== entries[0].contentRect.height) {\r\n this._hostWidth = entries[0].contentRect.width;\r\n this._hostHeight = entries[0].contentRect.height;\r\n this._innerWidth = entries[0].contentRect.width;\r\n this._innerHeight = entries[0].contentRect.height;\r\n this._svg.attr('viewBox', `0 0 ${this._hostWidth} ${this._hostHeight}`);\r\n this._setupAxisScale();\r\n this._setupData();\r\n }\r\n });\r\n this._resizeObserver.observe(this._elementRef.nativeElement);\r\n }\r\n\r\n private _initTooltip(): void {\r\n if (!this.tooltip()) {\r\n return;\r\n }\r\n\r\n const xAccessor = this.xAccessor();\r\n const yAccessor = this.yAccessor();\r\n this._createTooltipOrigin();\r\n\r\n let x = 0;\r\n let y = 0;\r\n let label: any;\r\n let value: any;\r\n let oldX: any;\r\n\r\n fromEvent<MouseEvent>(this._document, 'mousemove')\r\n .pipe(\r\n takeUntilDestroyed(this._destroyRef)\r\n )\r\n .subscribe((e: MouseEvent) => {\r\n const target = e.target as HTMLElement;\r\n const pointerCoords = pointer(e, this._svg.node());\r\n const [posX, posY] = pointerCoords;\r\n let visible = true;\r\n\r\n if (posX < 0 || posY < 0 || posX > this._hostWidth || posY > this._hostHeight) {\r\n visible = false;\r\n oldX = null;\r\n this._overlayRef?.detach();\r\n } else {\r\n if (!target.closest('.emr-mchart-line') ||\r\n !target.classList.contains('emr-mchart-tooltip-overlay') ||\r\n !target.closest('.emr-mchart-tooltip-overlay')\r\n ) {\r\n oldX = null;\r\n this._overlayRef?.detach();\r\n }\r\n }\r\n\r\n const eachBand = this._xScale.step();\r\n const index = Math.floor(posX / eachBand);\r\n const dataValue = this.data()[index];\r\n label = this.labels()[index] ? this.labels()[index] : xAccessor(index, index);\r\n value = yAccessor(dataValue);\r\n x = this._xScale(xAccessor(index, index));\r\n y = this._yScale(yAccessor(dataValue));\r\n this._setTooltipPositionByEvent(e);\r\n\r\n if (visible) {\r\n this._setTooltipVisible();\r\n\r\n if (!this._overlayRef?.hasAttached()) {\r\n oldX = x;\r\n this._showTooltip({\r\n label,\r\n value\r\n });\r\n } else {\r\n if (oldX !== x) {\r\n oldX = x;\r\n this._showTooltip({\r\n label,\r\n value\r\n });\r\n } else {\r\n this._overlayRef.updatePosition();\r\n }\r\n }\r\n } else {\r\n oldX = x;\r\n this._setTooltipInVisible();\r\n }\r\n })\r\n ;\r\n }\r\n}\r\n","<svg>\r\n <defs>\r\n @if (fillGradient()) {\r\n <linearGradient [id]=\"gradientId\" x1=\"0\" x2=\"0\" y1=\"0\" y2=\"1\">\r\n <stop offset=\"0%\" class=\"lg-start-color\"/>\r\n <stop offset=\"100%\" class=\"lg-end-color\"/>\r\n </linearGradient>\r\n }\r\n </defs>\r\n</svg>\r\n","import {\r\n AfterViewChecked, booleanAttribute,\r\n ChangeDetectionStrategy,\r\n Component,\r\n ElementRef,\r\n inject,\r\n input, numberAttribute, OnChanges, OnDestroy,\r\n PLATFORM_ID, SimpleChanges, TemplateRef\r\n} from '@angular/core';\r\nimport { isPlatformServer } from '@angular/common';\r\nimport {\r\n arc,\r\n interpolate,\r\n pie,\r\n scaleOrdinal,\r\n schemeTableau10,\r\n select\r\n} from 'd3';\r\nimport { OverlayPosition } from '@elementar-rt/components/overlay';\r\nimport { BaseChartTooltip } from '../base-chart.tooltip';\r\n\r\n@Component({\r\n selector: 'emr-mchart-pie',\r\n exportAs: 'emrMchartPie',\r\n templateUrl: './mchart-pie.component.html',\r\n styleUrl: './mchart-pie.component.scss',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n host: {\r\n 'class': 'emr-mchart-pie'\r\n }\r\n})\r\nexport class MchartPieComponent extends BaseChartTooltip implements AfterViewChecked, OnChanges, OnDestroy {\r\n private _initialized = false;\r\n private _host: any;\r\n private _svg: any;\r\n private _dataContainer: any;\r\n private _legendContainer: any;\r\n private _dimensions: DOMRect;\r\n private _innerWidth = 0;\r\n private _innerHeight = 0;\r\n private _hostWidth = 0;\r\n private _hostHeight = 0;\r\n private _resizeObserver: ResizeObserver;\r\n private _platformId = inject(PLATFORM_ID);\r\n private _elementRef = inject(ElementRef);\r\n private _radius = 0;\r\n private _arcGenerator: any;\r\n private _pieGenerator: any;\r\n private _colorsGenerator: any;\r\n private _arcTweenGenerator: any;\r\n private _pieData: any;\r\n\r\n data = input<number[]>([]);\r\n labels = input<string[] | number[]>([]);\r\n valueAccessor = input((d: any) => d);\r\n dataItemStrokeWidth = input(1, {\r\n transform: numberAttribute\r\n });\r\n legendContainerWidth = input(0, {\r\n transform: numberAttribute\r\n });\r\n showDataAnimation = input(false, {\r\n transform: booleanAttribute\r\n });\r\n showValueOnSlices = input(false, {\r\n transform: booleanAttribute\r\n });\r\n showLegend = input(false, {\r\n transform: booleanAttribute\r\n });\r\n legendOffset = input(30, {\r\n transform: numberAttribute\r\n });\r\n legendItemHeight = input(30, {\r\n transform: numberAttribute\r\n });\r\n legendItemSymbolSize = input(12, {\r\n transform: numberAttribute\r\n });\r\n legendItemFontSize = input(14, {\r\n transform: numberAttribute\r\n });\r\n legendItemSymbolBorderRadius = input(12, {\r\n transform: numberAttribute\r\n });\r\n valueFontSize = input(12, {\r\n transform: numberAttribute\r\n });\r\n tooltip = input<TemplateRef<unknown>>();\r\n tooltipPosition = input<OverlayPosition>('after-center');\r\n\r\n getTooltipPosition(): OverlayPosition {\r\n return this.tooltipPosition();\r\n }\r\n\r\n getTooltipTemplateRef(): TemplateRef<any> | undefined {\r\n return this.tooltip();\r\n }\r\n\r\n ngAfterViewChecked() {\r\n if (isPlatformServer(this._platformId)) {\r\n return;\r\n }\r\n\r\n if (!this._initialized) {\r\n const element = this._elementRef.nativeElement as HTMLElement;\r\n this._dimensions = element.getBoundingClientRect();\r\n\r\n if (this._dimensions.width !== 0 && this._dimensions.height !==0) {\r\n this._initialized = true;\r\n this._render();\r\n this._setupResizeObserver();\r\n }\r\n }\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges) {\r\n if (!this._initialized) {\r\n return;\r\n }\r\n\r\n if (changes['data'] && !changes['data'].firstChange) {\r\n this._draw(true);\r\n }\r\n }\r\n\r\n ngOnDestroy() {\r\n this._resizeObserver?.disconnect();\r\n }\r\n\r\n private _render(): void {\r\n this._initDimensions();\r\n this._initContainers();\r\n this._setGenerators();\r\n this._setLegend();\r\n this._draw();\r\n this._initTooltip();\r\n }\r\n\r\n private _initDimensions(): void {\r\n const legendContainerWidth = this.showLegend() ? this.legendContainerWidth() : 0;\r\n this._hostWidth = this._dimensions.width;\r\n this._hostHeight = this._dimensions.height;\r\n this._innerWidth = this._dimensions.width - legendContainerWidth - this.dataItemStrokeWidth() * 2;\r\n this._innerHeight = this._dimensions.height - this.dataItemStrokeWidth() * 2;\r\n this._host = select(this._elementRef.nativeElement);\r\n this._svg = this._host\r\n .select('svg')\r\n .attr('viewBox', `0 0 ${this._hostWidth} ${this._hostHeight}`)\r\n ;\r\n this._radius = Math.min(this._innerWidth, this._innerHeight) * .5;\r\n }\r\n\r\n private _initContainers(): void {\r\n this._dataContainer = this._svg\r\n .append('g')\r\n .attr('class', 'data-container')\r\n .attr('transform', `translate(${this._radius},${this._innerHeight * .5})`)\r\n ;\r\n\r\n if (this.showLegend()) {\r\n this._legendContainer = this._svg\r\n .append('g')\r\n .attr('class', 'legend-container')\r\n ;\r\n }\r\n }\r\n\r\n private _setGenerators(): void {\r\n const self = this;\r\n this._arcGenerator = arc()\r\n .innerRadius(0)\r\n .outerRadius(this._radius)\r\n ;\r\n this._pieGenerator = pie()\r\n .value(this.valueAccessor())\r\n ;\r\n this._colorsGenerator = scaleOrdinal(schemeTableau10)\r\n .domain(this.data().map((d: number, i: number) => i.toString()))\r\n ;\r\n this._arcTweenGenerator = function(d: number) {\r\n // @ts-ignore\r\n const _this = this as any;\r\n const current = d;\r\n const interpolateGenerator = interpolate(_this._previous, current);\r\n _this._previous = current;\r\n return (t: any) => {\r\n return self._arcGenerator(interpolateGenerator(t));\r\n };\r\n }\r\n ;\r\n }\r\n\r\n private _setLegend(): void {\r\n if (!this.showLegend()) {\r\n return;\r\n }\r\n\r\n this._legendContainer\r\n .selectAll('g.legend-item')\r\n .data(this.data())\r\n .join('g')\r\n .attr('class', 'legend-item')\r\n .attr('data-index', (d: number, i: number) => i)\r\n .attr('transform', (d: number, i: number) => `translate(0, ${i * this.legendItemHeight()})`)\r\n .on('mouseenter', (event: MouseEvent, d: number) => {\r\n const target = event.target as HTMLElement;\r\n const index = +(target.getAttribute('data-index') as string);\r\n this._dataContainer\r\n .select(`path.data-item[data-index=\"${index}\"]`)\r\n .classed('active', true)\r\n ;\r\n })\r\n .on('mouseleave', (event: MouseEvent, d: number) => {\r\n const target = event.target as HTMLElement;\r\n const index = +(target.getAttribute('data-index') as string);\r\n this._dataContainer\r\n .select(`path.data-item[data-index=\"${index}\"]`)\r\n .classed('active', false)\r\n ;\r\n })\r\n ;\r\n this._legendContainer\r\n .selectAll('g.legend-item')\r\n .selectAll('text')\r\n .data((d: number, i: number) => [i])\r\n .join('text')\r\n .attr('class', 'legend-item-text')\r\n .attr('x', this.legendItemSymbolSize() * 2)\r\n .attr('y', this.legendItemHeight() * .5)\r\n .attr('font-size', this.legendItemFontSize())\r\n .text((i: number) => this.labels()[i])\r\n ;\r\n this._legendContainer\r\n .selectAll('g.legend-item')\r\n .selectAll('rect')\r\n .data((d: number, i: number) => [i])\r\n .join('rect')\r\n .attr('class', 'legend-item-symbol')\r\n .attr('rx', this.legendItemSymbolBorderRadius())\r\n .attr('width', this.legendItemSymbolSize())\r\n .attr('height', this.legendItemSymbolSize())\r\n .attr('fill', (i: number) => this._colorsGenerator(i))\r\n .attr('y', this.legendItemFontSize() * .5 - 2)\r\n ;\r\n const dimensions = this._legendContainer.node().getBBox();\r\n this._legendContainer.attr(\r\n 'transform',\r\n `translate(${this._radius * 2 + this.legendOffset()},${this._innerHeight * .5 - .5 * dimensions.height})`\r\n )\r\n }\r\n\r\n private _draw(isUpdate = false): void {\r\n if (isUpdate) {\r\n this._colorsGenerator\r\n .domain(this.data().map((d: number, i: number) => i.toString()))\r\n ;\r\n }\r\n\r\n this._pieData = this._pieGenerator(this.data());\r\n this._dataContainer\r\n .selectAll('g.data-item-group')\r\n .data(this.data())\r\n .join('g')\r\n .attr('class', 'data-item-group')\r\n .attr('data-index', (d: number, i: number) => i)\r\n ;\r\n this._dataContainer\r\n .selectAll('g.data-item-group')\r\n .selectAll('path')\r\n .data((d: number, i: number) => [this._pieData[i]])\r\n .join('path')\r\n .attr('class', 'data-item')\r\n .attr('stroke-width', this.dataItemStrokeWidth())\r\n .attr('d', (d: any) => this._arcGenerator(d))\r\n .style('fill', (d: any) => this._colorsGenerator(d.index))\r\n .attr('data-index', (d: any) => d.index)\r\n .transition()\r\n .duration(this.showDataAnimation() ? 1000 : 0)\r\n .attrTween('d', this._arcTweenGenerator)\r\n ;\r\n\r\n if (this.showValueOnSlices()) {\r\n this._dataContainer\r\n .selectAll('g.data-item-group')\r\n .selectAll('text')\r\n .data((d: number, i: number) => [this._pieData[i]])\r\n .join('text')\r\n .attr('class', 'value')\r\n .attr('font-size', this.valueFontSize())\r\n .attr('transform', (d: any) => {\r\n const coordinates = this._arcGenerator.centroid(d);\r\n return `translate(${coordinates[0]},${coordinates[1]})`;\r\n })\r\n .text((d: any) => d.data)\r\n ;\r\n }\r\n }\r\n\r\n private _setupResizeObserver(): void {\r\n }\r\n\r\n private _initTooltip(): void {\r\n if (!this.tooltip()) {\r\n return;\r\n }\r\n\r\n let oldValue: number;\r\n this._createTooltipOrigin();\r\n this._dataContainer\r\n .selectAll('g.data-item-group')\r\n .data(this._pieData)\r\n .on('mousemove', (event: MouseEvent, d: any) => {\r\n const target = event.target as HTMLElement;\r\n this._setTooltipPositionByEvent(event);\r\n this._setTooltipVisible();\r\n\r\n const index = +(target.getAttribute('data-index') as string);\r\n const label = this.labels()[index] ? this.labels()[index] : null;\r\n const color = this._colorsGenerator(index);\r\n const value = d.data;\r\n\r\n if (!this._overlayRef?.hasAttached()) {\r\n this._showTooltip({\r\n label,\r\n color,\r\n value\r\n });\r\n oldValue = value;\r\n } else {\r\n if (oldValue !== d.data) {\r\n this._showTooltip({\r\n label,\r\n color,\r\n value\r\n });\r\n oldValue = value;\r\n } else {\r\n this._overlayRef.updatePosition();\r\n }\r\n }\r\n })\r\n ;\r\n this._dataContainer\r\n .on('mouseleave', (event: MouseEvent) => {\r\n this._setTooltipInVisible();\r\n this._hideTooltip();\r\n })\r\n ;\r\n }\r\n}\r\n","<svg></svg>\r\n","import { Component } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'emr-mchart-tooltip',\r\n exportAs: 'emrMchartTooltip',\r\n templateUrl: './mchart-tooltip.component.html',\r\n styleUrl: './mchart-tooltip.component.scss',\r\n host: {\r\n 'class': 'emr-mchart-tooltip'\r\n }\r\n})\r\nexport class MchartTooltipComponent {\r\n\r\n}\r\n","<div class=\"title\">\r\n <ng-content select=\"emr-mchart-tooltip-title\"></ng-content>\r\n</div>\r\n<div class=\"body\">\r\n <ng-content select=\"emr-mchart-tooltip-body\"></ng-content>\r\n</div>\r\n<ng-content></ng-content>\r\n","import { Component } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'emr-mchart-tooltip-title',\r\n exportAs: 'emrMchartTooltipTitle',\r\n templateUrl: './mchart-tooltip-title.component.html',\r\n styleUrl: './mchart-tooltip-title.component.scss',\r\n host: {\r\n 'class': 'emr-mchart-tooltip-title'\r\n }\r\n})\r\nexport class MchartTooltipTitleComponent {\r\n\r\n}\r\n","<ng-content></ng-content>\r\n","import { Component } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'emr-mchart-tooltip-body',\r\n exportAs: 'emrMchartTooltipBody',\r\n templateUrl: './mchart-tooltip-body.component.html',\r\n styleUrl: './mchart-tooltip-body.component.scss',\r\n host: {\r\n 'class': 'emr-mchart-tooltip-body'\r\n }\r\n})\r\nexport class MchartTooltipBodyComponent {\r\n\r\n}\r\n","<ng-content></ng-content>\r\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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"}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import * as i0 from '@angular/core';
|
|
2
|
+
import { input, booleanAttribute, output, signal, computed, forwardRef, Component } from '@angular/core';
|
|
3
|
+
import { FormsModule, NG_VALUE_ACCESSOR } from '@angular/forms';
|
|
4
|
+
|
|
5
|
+
class MultiSelectComponent {
|
|
6
|
+
options = input([], ...(ngDevMode ? [{ debugName: "options" }] : []));
|
|
7
|
+
placeholder = input('Select options…', ...(ngDevMode ? [{ debugName: "placeholder" }] : []));
|
|
8
|
+
disabled = input(false, ...(ngDevMode ? [{ debugName: "disabled", transform: booleanAttribute }] : [{ transform: booleanAttribute }]));
|
|
9
|
+
maxDisplay = input(3, ...(ngDevMode ? [{ debugName: "maxDisplay" }] : []));
|
|
10
|
+
selectionChange = output();
|
|
11
|
+
_open = signal(false, ...(ngDevMode ? [{ debugName: "_open" }] : []));
|
|
12
|
+
_query = signal('', ...(ngDevMode ? [{ debugName: "_query" }] : []));
|
|
13
|
+
_selected = signal(new Set(), ...(ngDevMode ? [{ debugName: "_selected" }] : []));
|
|
14
|
+
_onChange = () => { };
|
|
15
|
+
_onTouched = () => { };
|
|
16
|
+
writeValue(v) { this._selected.set(new Set(v ?? [])); }
|
|
17
|
+
registerOnChange(fn) { this._onChange = fn; }
|
|
18
|
+
registerOnTouched(fn) { this._onTouched = fn; }
|
|
19
|
+
setDisabledState(_) { }
|
|
20
|
+
_filtered = computed(() => {
|
|
21
|
+
const q = this._query().toLowerCase();
|
|
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" }] : []));
|
|
25
|
+
_toggle(opt) {
|
|
26
|
+
if (opt.disabled)
|
|
27
|
+
return;
|
|
28
|
+
const next = new Set(this._selected());
|
|
29
|
+
next.has(opt.value) ? next.delete(opt.value) : next.add(opt.value);
|
|
30
|
+
this._selected.set(next);
|
|
31
|
+
const vals = [...next];
|
|
32
|
+
this._onChange(vals);
|
|
33
|
+
this._onTouched();
|
|
34
|
+
this.selectionChange.emit(vals);
|
|
35
|
+
}
|
|
36
|
+
_remove(value, event) {
|
|
37
|
+
event.stopPropagation();
|
|
38
|
+
const next = new Set(this._selected());
|
|
39
|
+
next.delete(value);
|
|
40
|
+
this._selected.set(next);
|
|
41
|
+
const vals = [...next];
|
|
42
|
+
this._onChange(vals);
|
|
43
|
+
this.selectionChange.emit(vals);
|
|
44
|
+
}
|
|
45
|
+
_isChecked(opt) { return this._selected().has(opt.value); }
|
|
46
|
+
_toggle_open() { if (!this.disabled())
|
|
47
|
+
this._open.update(v => !v); }
|
|
48
|
+
_onBlur() { setTimeout(() => this._open.set(false), 150); }
|
|
49
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: MultiSelectComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
50
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.25", 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.2 | MIT License | https://tailwindcss.com */\n"], dependencies: [{ kind: "ngmodule", type: FormsModule }] });
|
|
51
|
+
}
|
|
52
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: MultiSelectComponent, decorators: [{
|
|
53
|
+
type: Component,
|
|
54
|
+
args: [{ selector: 'emr-multi-select', exportAs: 'emrMultiSelect', imports: [FormsModule], providers: [{ provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => MultiSelectComponent), multi: true }], host: {
|
|
55
|
+
'class': 'emr-multi-select',
|
|
56
|
+
'[class.is-open]': '_open()',
|
|
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.2 | MIT License | https://tailwindcss.com */\n"] }]
|
|
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
|
+
|
|
61
|
+
/**
|
|
62
|
+
* Generated bundle index. Do not edit.
|
|
63
|
+
*/
|
|
64
|
+
|
|
65
|
+
export { MultiSelectComponent };
|
|
66
|
+
//# sourceMappingURL=elementar-rt-components-multi-select.mjs.map
|
|
@@ -0,0 +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":"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"}
|