@elementar-rt/components 0.6.58 → 0.7.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +7 -2
- package/fesm2022/elementar-rt-components-action-required.mjs +8 -8
- package/fesm2022/elementar-rt-components-action-required.mjs.map +1 -1
- package/fesm2022/elementar-rt-components-alert.mjs +21 -25
- package/fesm2022/elementar-rt-components-alert.mjs.map +1 -1
- package/fesm2022/elementar-rt-components-announcement.mjs +12 -14
- package/fesm2022/elementar-rt-components-announcement.mjs.map +1 -1
- package/fesm2022/elementar-rt-components-avatar.mjs +34 -38
- package/fesm2022/elementar-rt-components-avatar.mjs.map +1 -1
- package/fesm2022/elementar-rt-components-badge.mjs +10 -10
- package/fesm2022/elementar-rt-components-badge.mjs.map +1 -1
- package/fesm2022/elementar-rt-components-block-loader.mjs +10 -16
- package/fesm2022/elementar-rt-components-block-loader.mjs.map +1 -1
- package/fesm2022/elementar-rt-components-block-state.mjs +24 -24
- package/fesm2022/elementar-rt-components-block-state.mjs.map +1 -1
- package/fesm2022/elementar-rt-components-bottom-sheet.mjs +12 -12
- package/fesm2022/elementar-rt-components-bottom-sheet.mjs.map +1 -1
- package/fesm2022/elementar-rt-components-brand-colors.mjs +9 -13
- package/fesm2022/elementar-rt-components-brand-colors.mjs.map +1 -1
- package/fesm2022/elementar-rt-components-breadcrumbs.mjs +49 -53
- package/fesm2022/elementar-rt-components-breadcrumbs.mjs.map +1 -1
- package/fesm2022/elementar-rt-components-button-toggle.mjs +16 -16
- package/fesm2022/elementar-rt-components-button-toggle.mjs.map +1 -1
- package/fesm2022/elementar-rt-components-calendar.mjs +10 -10
- package/fesm2022/elementar-rt-components-calendar.mjs.map +1 -1
- package/fesm2022/elementar-rt-components-card-overlay.mjs +10 -16
- package/fesm2022/elementar-rt-components-card-overlay.mjs.map +1 -1
- package/fesm2022/elementar-rt-components-card.mjs +18 -18
- package/fesm2022/elementar-rt-components-card.mjs.map +1 -1
- package/fesm2022/elementar-rt-components-carousel.mjs +48 -50
- package/fesm2022/elementar-rt-components-carousel.mjs.map +1 -1
- package/fesm2022/elementar-rt-components-chips.mjs +12 -12
- package/fesm2022/elementar-rt-components-chips.mjs.map +1 -1
- package/fesm2022/elementar-rt-components-clipboard-copy.mjs +17 -17
- package/fesm2022/elementar-rt-components-clipboard-copy.mjs.map +1 -1
- package/fesm2022/elementar-rt-components-code-highlighter.mjs +12 -12
- package/fesm2022/elementar-rt-components-code-highlighter.mjs.map +1 -1
- package/fesm2022/elementar-rt-components-color-picker.mjs +44 -52
- package/fesm2022/elementar-rt-components-color-picker.mjs.map +1 -1
- package/fesm2022/elementar-rt-components-color-scheme.mjs +10 -10
- package/fesm2022/elementar-rt-components-color-scheme.mjs.map +1 -1
- package/fesm2022/elementar-rt-components-combobox.mjs +13 -13
- package/fesm2022/elementar-rt-components-combobox.mjs.map +1 -1
- package/fesm2022/elementar-rt-components-command-bar.mjs +15 -17
- package/fesm2022/elementar-rt-components-command-bar.mjs.map +1 -1
- package/fesm2022/elementar-rt-components-comment-editor.mjs +106 -106
- package/fesm2022/elementar-rt-components-comment-editor.mjs.map +1 -1
- package/fesm2022/elementar-rt-components-comparison-slider.mjs +16 -16
- package/fesm2022/elementar-rt-components-comparison-slider.mjs.map +1 -1
- package/fesm2022/elementar-rt-components-confirm.mjs +7 -7
- package/fesm2022/elementar-rt-components-confirm.mjs.map +1 -1
- package/fesm2022/elementar-rt-components-content-editor.mjs +7 -7
- package/fesm2022/elementar-rt-components-content-editor.mjs.map +1 -1
- package/fesm2022/elementar-rt-components-content-fade.mjs +7 -7
- package/fesm2022/elementar-rt-components-content-fade.mjs.map +1 -1
- package/fesm2022/elementar-rt-components-cookie-popup.mjs +15 -17
- package/fesm2022/elementar-rt-components-cookie-popup.mjs.map +1 -1
- package/fesm2022/elementar-rt-components-core.mjs +68 -75
- package/fesm2022/elementar-rt-components-core.mjs.map +1 -1
- package/fesm2022/elementar-rt-components-country-select.mjs +15 -17
- package/fesm2022/elementar-rt-components-country-select.mjs.map +1 -1
- package/fesm2022/elementar-rt-components-crop.mjs +12 -12
- package/fesm2022/elementar-rt-components-crop.mjs.map +1 -1
- package/fesm2022/elementar-rt-components-currency-select.mjs +15 -17
- package/fesm2022/elementar-rt-components-currency-select.mjs.map +1 -1
- package/fesm2022/elementar-rt-components-dashboard.mjs +15 -19
- package/fesm2022/elementar-rt-components-dashboard.mjs.map +1 -1
- package/fesm2022/elementar-rt-components-data-grid.mjs +20 -20
- package/fesm2022/elementar-rt-components-data-grid.mjs.map +1 -1
- package/fesm2022/elementar-rt-components-data-view.mjs +38 -52
- package/fesm2022/elementar-rt-components-data-view.mjs.map +1 -1
- package/fesm2022/elementar-rt-components-date-format-select.mjs +8 -8
- package/fesm2022/elementar-rt-components-date-format-select.mjs.map +1 -1
- package/fesm2022/elementar-rt-components-datepicker.mjs +12 -12
- package/fesm2022/elementar-rt-components-datepicker.mjs.map +1 -1
- package/fesm2022/elementar-rt-components-dialog.mjs +19 -19
- package/fesm2022/elementar-rt-components-dialog.mjs.map +1 -1
- package/fesm2022/elementar-rt-components-digit-roller.mjs +10 -10
- package/fesm2022/elementar-rt-components-digit-roller.mjs.map +1 -1
- package/fesm2022/elementar-rt-components-divider.mjs +8 -8
- package/fesm2022/elementar-rt-components-divider.mjs.map +1 -1
- package/fesm2022/elementar-rt-components-drawer.mjs +14 -14
- package/fesm2022/elementar-rt-components-drawer.mjs.map +1 -1
- package/fesm2022/elementar-rt-components-emoji-picker.mjs +15 -17
- package/fesm2022/elementar-rt-components-emoji-picker.mjs.map +1 -1
- package/fesm2022/elementar-rt-components-empty-state.mjs +8 -8
- package/fesm2022/elementar-rt-components-empty-state.mjs.map +1 -1
- package/fesm2022/elementar-rt-components-expand.mjs +10 -14
- package/fesm2022/elementar-rt-components-expand.mjs.map +1 -1
- package/fesm2022/elementar-rt-components-expansion-panel.mjs +6 -6
- package/fesm2022/elementar-rt-components-expansion-panel.mjs.map +1 -1
- package/fesm2022/elementar-rt-components-filter-builder.mjs +24 -26
- package/fesm2022/elementar-rt-components-filter-builder.mjs.map +1 -1
- package/fesm2022/elementar-rt-components-filter-select.mjs +19 -19
- package/fesm2022/elementar-rt-components-filter-select.mjs.map +1 -1
- package/fesm2022/{elementar-rt-components-form-renderer-autocomplete-many-field.component-C2Ai6F2X.mjs → elementar-rt-components-form-renderer-autocomplete-many-field.component-DYDAWUBL.mjs} +6 -6
- package/fesm2022/{elementar-rt-components-form-renderer-autocomplete-many-field.component-C2Ai6F2X.mjs.map → elementar-rt-components-form-renderer-autocomplete-many-field.component-DYDAWUBL.mjs.map} +1 -1
- package/fesm2022/{elementar-rt-components-form-renderer-checkbox-field.component-a0XAs0-_.mjs → elementar-rt-components-form-renderer-checkbox-field.component-DCdtWKHi.mjs} +7 -7
- package/fesm2022/{elementar-rt-components-form-renderer-checkbox-field.component-a0XAs0-_.mjs.map → elementar-rt-components-form-renderer-checkbox-field.component-DCdtWKHi.mjs.map} +1 -1
- package/fesm2022/{elementar-rt-components-form-renderer-datepicker-field.component-CTVrrf43.mjs → elementar-rt-components-form-renderer-datepicker-field.component-D9gAkq6u.mjs} +6 -6
- package/fesm2022/{elementar-rt-components-form-renderer-datepicker-field.component-CTVrrf43.mjs.map → elementar-rt-components-form-renderer-datepicker-field.component-D9gAkq6u.mjs.map} +1 -1
- package/fesm2022/{elementar-rt-components-form-renderer-divider-content.component-CkYa0MOQ.mjs → elementar-rt-components-form-renderer-divider-content.component-DB4F4Av6.mjs} +4 -4
- package/fesm2022/{elementar-rt-components-form-renderer-divider-content.component-CkYa0MOQ.mjs.map → elementar-rt-components-form-renderer-divider-content.component-DB4F4Av6.mjs.map} +1 -1
- package/fesm2022/{elementar-rt-components-form-renderer-image-content.component-B5uj3hoV.mjs → elementar-rt-components-form-renderer-image-content.component-BvxbVzag.mjs} +5 -5
- package/fesm2022/{elementar-rt-components-form-renderer-image-content.component-B5uj3hoV.mjs.map → elementar-rt-components-form-renderer-image-content.component-BvxbVzag.mjs.map} +1 -1
- package/fesm2022/{elementar-rt-components-form-renderer-input-field.component-DnaWJIK9.mjs → elementar-rt-components-form-renderer-input-field.component-BPOCpB7i.mjs} +7 -7
- package/fesm2022/{elementar-rt-components-form-renderer-input-field.component-DnaWJIK9.mjs.map → elementar-rt-components-form-renderer-input-field.component-BPOCpB7i.mjs.map} +1 -1
- package/fesm2022/{elementar-rt-components-form-renderer-radio-group-field.component-9BLv1MsP.mjs → elementar-rt-components-form-renderer-radio-group-field.component-D65JtgyW.mjs} +7 -7
- package/fesm2022/{elementar-rt-components-form-renderer-radio-group-field.component-9BLv1MsP.mjs.map → elementar-rt-components-form-renderer-radio-group-field.component-D65JtgyW.mjs.map} +1 -1
- package/fesm2022/{elementar-rt-components-form-renderer-select-field.component-C97pIEdh.mjs → elementar-rt-components-form-renderer-select-field.component-HgwzMHVU.mjs} +6 -6
- package/fesm2022/{elementar-rt-components-form-renderer-select-field.component-C97pIEdh.mjs.map → elementar-rt-components-form-renderer-select-field.component-HgwzMHVU.mjs.map} +1 -1
- package/fesm2022/{elementar-rt-components-form-renderer-text-content.component-CJxCc5vX.mjs → elementar-rt-components-form-renderer-text-content.component-fHh_BaZl.mjs} +5 -5
- package/fesm2022/{elementar-rt-components-form-renderer-text-content.component-CJxCc5vX.mjs.map → elementar-rt-components-form-renderer-text-content.component-fHh_BaZl.mjs.map} +1 -1
- package/fesm2022/{elementar-rt-components-form-renderer-textarea-field.component-CCtWiJOk.mjs → elementar-rt-components-form-renderer-textarea-field.component-CQ68jF7W.mjs} +6 -6
- package/fesm2022/{elementar-rt-components-form-renderer-textarea-field.component-CCtWiJOk.mjs.map → elementar-rt-components-form-renderer-textarea-field.component-CQ68jF7W.mjs.map} +1 -1
- package/fesm2022/{elementar-rt-components-form-renderer-timezone-field.component-GvZgdvUX.mjs → elementar-rt-components-form-renderer-timezone-field.component-CgS9fcCV.mjs} +7 -7
- package/fesm2022/{elementar-rt-components-form-renderer-timezone-field.component-GvZgdvUX.mjs.map → elementar-rt-components-form-renderer-timezone-field.component-CgS9fcCV.mjs.map} +1 -1
- package/fesm2022/{elementar-rt-components-form-renderer-toggle-field.component-DBiIiV-9.mjs → elementar-rt-components-form-renderer-toggle-field.component-nj0FmsWA.mjs} +7 -7
- package/fesm2022/{elementar-rt-components-form-renderer-toggle-field.component-DBiIiV-9.mjs.map → elementar-rt-components-form-renderer-toggle-field.component-nj0FmsWA.mjs.map} +1 -1
- package/fesm2022/elementar-rt-components-form-renderer.mjs +36 -36
- package/fesm2022/elementar-rt-components-form-renderer.mjs.map +1 -1
- package/fesm2022/elementar-rt-components-gauge.mjs +11 -17
- package/fesm2022/elementar-rt-components-gauge.mjs.map +1 -1
- package/fesm2022/elementar-rt-components-grid.mjs +12 -12
- package/fesm2022/elementar-rt-components-grid.mjs.map +1 -1
- package/fesm2022/elementar-rt-components-guided-tour.mjs +12 -12
- package/fesm2022/elementar-rt-components-guided-tour.mjs.map +1 -1
- package/fesm2022/elementar-rt-components-headless-stepper.mjs +10 -10
- package/fesm2022/elementar-rt-components-headless-stepper.mjs.map +1 -1
- package/fesm2022/elementar-rt-components-icon.mjs +6 -6
- package/fesm2022/elementar-rt-components-icon.mjs.map +1 -1
- package/fesm2022/elementar-rt-components-image-placeholder.mjs +10 -10
- package/fesm2022/elementar-rt-components-image-placeholder.mjs.map +1 -1
- package/fesm2022/elementar-rt-components-image-resizer.mjs +17 -25
- package/fesm2022/elementar-rt-components-image-resizer.mjs.map +1 -1
- package/fesm2022/elementar-rt-components-image-viewer.mjs +29 -29
- package/fesm2022/elementar-rt-components-image-viewer.mjs.map +1 -1
- package/fesm2022/elementar-rt-components-image-zoom-viewer.mjs +16 -16
- package/fesm2022/elementar-rt-components-image-zoom-viewer.mjs.map +1 -1
- package/fesm2022/elementar-rt-components-incidents.mjs +55 -57
- package/fesm2022/elementar-rt-components-incidents.mjs.map +1 -1
- package/fesm2022/elementar-rt-components-inline-text-edit.mjs +8 -10
- package/fesm2022/elementar-rt-components-inline-text-edit.mjs.map +1 -1
- package/fesm2022/elementar-rt-components-input-mask.mjs +12 -12
- package/fesm2022/elementar-rt-components-input-mask.mjs.map +1 -1
- package/fesm2022/elementar-rt-components-input-validator.mjs.map +1 -1
- package/fesm2022/elementar-rt-components-kanban-board.mjs +10 -10
- package/fesm2022/elementar-rt-components-kanban-board.mjs.map +1 -1
- package/fesm2022/elementar-rt-components-keyboard.mjs +9 -9
- package/fesm2022/elementar-rt-components-keyboard.mjs.map +1 -1
- package/fesm2022/elementar-rt-components-layout.mjs +36 -40
- package/fesm2022/elementar-rt-components-layout.mjs.map +1 -1
- package/fesm2022/elementar-rt-components-list.mjs +13 -13
- package/fesm2022/elementar-rt-components-list.mjs.map +1 -1
- package/fesm2022/elementar-rt-components-logo.mjs +12 -12
- package/fesm2022/elementar-rt-components-logo.mjs.map +1 -1
- package/fesm2022/elementar-rt-components-marquee.mjs +9 -13
- package/fesm2022/elementar-rt-components-marquee.mjs.map +1 -1
- package/fesm2022/elementar-rt-components-menu.mjs +19 -19
- package/fesm2022/elementar-rt-components-menu.mjs.map +1 -1
- package/fesm2022/elementar-rt-components-micro-chart.mjs +65 -111
- package/fesm2022/elementar-rt-components-micro-chart.mjs.map +1 -1
- package/fesm2022/elementar-rt-components-multi-select.mjs +13 -13
- package/fesm2022/elementar-rt-components-multi-select.mjs.map +1 -1
- package/fesm2022/elementar-rt-components-navigation.mjs +56 -66
- package/fesm2022/elementar-rt-components-navigation.mjs.map +1 -1
- package/fesm2022/elementar-rt-components-notifications.mjs +47 -53
- package/fesm2022/elementar-rt-components-notifications.mjs.map +1 -1
- package/fesm2022/elementar-rt-components-number-input.mjs +23 -31
- package/fesm2022/elementar-rt-components-number-input.mjs.map +1 -1
- package/fesm2022/elementar-rt-components-overlay-scrollbar.mjs +34 -34
- package/fesm2022/elementar-rt-components-overlay-scrollbar.mjs.map +1 -1
- package/fesm2022/elementar-rt-components-overlay.mjs.map +1 -1
- package/fesm2022/elementar-rt-components-page-loading-bar.mjs +5 -7
- package/fesm2022/elementar-rt-components-page-loading-bar.mjs.map +1 -1
- package/fesm2022/elementar-rt-components-paginator.mjs +12 -12
- package/fesm2022/elementar-rt-components-paginator.mjs.map +1 -1
- package/fesm2022/elementar-rt-components-panel.mjs +25 -27
- package/fesm2022/elementar-rt-components-panel.mjs.map +1 -1
- package/fesm2022/elementar-rt-components-password-strength.mjs +35 -59
- package/fesm2022/elementar-rt-components-password-strength.mjs.map +1 -1
- package/fesm2022/elementar-rt-components-phone-input.mjs +23 -26
- package/fesm2022/elementar-rt-components-phone-input.mjs.map +1 -1
- package/fesm2022/elementar-rt-components-pin-input.mjs +17 -21
- package/fesm2022/elementar-rt-components-pin-input.mjs.map +1 -1
- package/fesm2022/elementar-rt-components-popover.mjs +18 -28
- package/fesm2022/elementar-rt-components-popover.mjs.map +1 -1
- package/fesm2022/elementar-rt-components-progress-bar.mjs +10 -10
- package/fesm2022/elementar-rt-components-progress-bar.mjs.map +1 -1
- package/fesm2022/elementar-rt-components-progress-spinner.mjs +14 -14
- package/fesm2022/elementar-rt-components-progress-spinner.mjs.map +1 -1
- package/fesm2022/elementar-rt-components-radio-card.mjs +21 -21
- package/fesm2022/elementar-rt-components-radio-card.mjs.map +1 -1
- package/fesm2022/elementar-rt-components-rail-nav.mjs +14 -14
- package/fesm2022/elementar-rt-components-rail-nav.mjs.map +1 -1
- package/fesm2022/elementar-rt-components-rating.mjs +15 -15
- package/fesm2022/elementar-rt-components-rating.mjs.map +1 -1
- package/fesm2022/elementar-rt-components-resizable-container.mjs +5 -7
- package/fesm2022/elementar-rt-components-resizable-container.mjs.map +1 -1
- package/fesm2022/elementar-rt-components-screen-loader.mjs +5 -7
- package/fesm2022/elementar-rt-components-screen-loader.mjs.map +1 -1
- package/fesm2022/elementar-rt-components-scroll-spy.mjs +18 -18
- package/fesm2022/elementar-rt-components-scroll-spy.mjs.map +1 -1
- package/fesm2022/elementar-rt-components-segmented.mjs +18 -24
- package/fesm2022/elementar-rt-components-segmented.mjs.map +1 -1
- package/fesm2022/elementar-rt-components-side-panel.mjs +18 -18
- package/fesm2022/elementar-rt-components-side-panel.mjs.map +1 -1
- package/fesm2022/elementar-rt-components-sidebar.mjs +71 -77
- package/fesm2022/elementar-rt-components-sidebar.mjs.map +1 -1
- package/fesm2022/elementar-rt-components-sidenav.mjs +15 -15
- package/fesm2022/elementar-rt-components-sidenav.mjs.map +1 -1
- package/fesm2022/elementar-rt-components-signature-pad.mjs +17 -17
- package/fesm2022/elementar-rt-components-signature-pad.mjs.map +1 -1
- package/fesm2022/elementar-rt-components-skeleton.mjs +17 -17
- package/fesm2022/elementar-rt-components-skeleton.mjs.map +1 -1
- package/fesm2022/elementar-rt-components-slider.mjs +13 -13
- package/fesm2022/elementar-rt-components-slider.mjs.map +1 -1
- package/fesm2022/elementar-rt-components-snackbar.mjs +10 -10
- package/fesm2022/elementar-rt-components-snackbar.mjs.map +1 -1
- package/fesm2022/elementar-rt-components-sort.mjs +11 -11
- package/fesm2022/elementar-rt-components-sort.mjs.map +1 -1
- package/fesm2022/elementar-rt-components-splash-screen.mjs +6 -10
- package/fesm2022/elementar-rt-components-splash-screen.mjs.map +1 -1
- package/fesm2022/elementar-rt-components-split-pane.mjs +10 -10
- package/fesm2022/elementar-rt-components-split-pane.mjs.map +1 -1
- package/fesm2022/elementar-rt-components-stat-card.mjs +10 -10
- package/fesm2022/elementar-rt-components-stat-card.mjs.map +1 -1
- package/fesm2022/elementar-rt-components-step-tracker.mjs +8 -8
- package/fesm2022/elementar-rt-components-step-tracker.mjs.map +1 -1
- package/fesm2022/elementar-rt-components-stepper.mjs +21 -23
- package/fesm2022/elementar-rt-components-stepper.mjs.map +1 -1
- package/fesm2022/elementar-rt-components-suggestions.mjs +21 -25
- package/fesm2022/elementar-rt-components-suggestions.mjs.map +1 -1
- package/fesm2022/elementar-rt-components-tab-panel.mjs +54 -60
- package/fesm2022/elementar-rt-components-tab-panel.mjs.map +1 -1
- package/fesm2022/elementar-rt-components-table.mjs +16 -16
- package/fesm2022/elementar-rt-components-table.mjs.map +1 -1
- package/fesm2022/elementar-rt-components-tabs.mjs +14 -14
- package/fesm2022/elementar-rt-components-tabs.mjs.map +1 -1
- package/fesm2022/elementar-rt-components-tag.mjs +9 -9
- package/fesm2022/elementar-rt-components-tag.mjs.map +1 -1
- package/fesm2022/elementar-rt-components-text-editor.mjs +97 -96
- package/fesm2022/elementar-rt-components-text-editor.mjs.map +1 -1
- package/fesm2022/elementar-rt-components-thumbnail-maker.mjs +11 -13
- package/fesm2022/elementar-rt-components-thumbnail-maker.mjs.map +1 -1
- package/fesm2022/elementar-rt-components-tiles.mjs +9 -9
- package/fesm2022/elementar-rt-components-tiles.mjs.map +1 -1
- package/fesm2022/elementar-rt-components-timeline.mjs +39 -39
- package/fesm2022/elementar-rt-components-timeline.mjs.map +1 -1
- package/fesm2022/elementar-rt-components-timepicker.mjs +11 -11
- package/fesm2022/elementar-rt-components-timepicker.mjs.map +1 -1
- package/fesm2022/elementar-rt-components-timezone-select.mjs +23 -29
- package/fesm2022/elementar-rt-components-timezone-select.mjs.map +1 -1
- package/fesm2022/elementar-rt-components-toast.mjs +14 -14
- package/fesm2022/elementar-rt-components-toast.mjs.map +1 -1
- package/fesm2022/elementar-rt-components-toolbar.mjs +6 -6
- package/fesm2022/elementar-rt-components-toolbar.mjs.map +1 -1
- package/fesm2022/elementar-rt-components-tooltip.mjs +14 -14
- package/fesm2022/elementar-rt-components-tooltip.mjs.map +1 -1
- package/fesm2022/elementar-rt-components-tree.mjs +17 -17
- package/fesm2022/elementar-rt-components-tree.mjs.map +1 -1
- package/fesm2022/elementar-rt-components-upload.mjs +77 -87
- package/fesm2022/elementar-rt-components-upload.mjs.map +1 -1
- package/fesm2022/elementar-rt-components-video-player.mjs +22 -22
- package/fesm2022/elementar-rt-components-video-player.mjs.map +1 -1
- package/fesm2022/elementar-rt-components-video-viewer.mjs +16 -16
- package/fesm2022/elementar-rt-components-video-viewer.mjs.map +1 -1
- package/package.json +136 -135
- package/schematics/collection.json +16 -0
- package/schematics/ng-add/actions/add-fonts.d.ts +2 -0
- package/schematics/ng-add/actions/add-fonts.js +70 -0
- package/schematics/ng-add/actions/add-fonts.js.map +1 -0
- package/schematics/ng-add/actions/add-styles.d.ts +3 -0
- package/schematics/ng-add/actions/add-styles.js +70 -0
- package/schematics/ng-add/actions/add-styles.js.map +1 -0
- package/schematics/ng-add/index.d.ts +3 -0
- package/schematics/ng-add/index.js +83 -0
- package/schematics/ng-add/index.js.map +1 -0
- package/schematics/ng-add/schema.d.ts +3 -0
- package/schematics/ng-add/schema.js +3 -0
- package/schematics/ng-add/schema.js.map +1 -0
- package/schematics/ng-add/schema.json +8 -0
- package/schematics/ng-add/setup-project.d.ts +3 -0
- package/schematics/ng-add/setup-project.js +14 -0
- package/schematics/ng-add/setup-project.js.map +1 -0
- package/schematics/utils/package-config.d.ts +3 -0
- package/schematics/utils/package-config.js +36 -0
- package/schematics/utils/package-config.js.map +1 -0
- package/schematics/utils/project.d.ts +10 -0
- package/schematics/utils/project.js +46 -0
- package/schematics/utils/project.js.map +1 -0
- package/{country-select/index.d.ts → types/elementar-rt-components-country-select.d.ts} +1 -1
- package/{currency-select/index.d.ts → types/elementar-rt-components-currency-select.d.ts} +1 -1
- /package/{action-required/index.d.ts → types/elementar-rt-components-action-required.d.ts} +0 -0
- /package/{alert/index.d.ts → types/elementar-rt-components-alert.d.ts} +0 -0
- /package/{announcement/index.d.ts → types/elementar-rt-components-announcement.d.ts} +0 -0
- /package/{avatar/index.d.ts → types/elementar-rt-components-avatar.d.ts} +0 -0
- /package/{badge/index.d.ts → types/elementar-rt-components-badge.d.ts} +0 -0
- /package/{block-loader/index.d.ts → types/elementar-rt-components-block-loader.d.ts} +0 -0
- /package/{block-state/index.d.ts → types/elementar-rt-components-block-state.d.ts} +0 -0
- /package/{bottom-sheet/index.d.ts → types/elementar-rt-components-bottom-sheet.d.ts} +0 -0
- /package/{brand-colors/index.d.ts → types/elementar-rt-components-brand-colors.d.ts} +0 -0
- /package/{breadcrumbs/index.d.ts → types/elementar-rt-components-breadcrumbs.d.ts} +0 -0
- /package/{button-toggle/index.d.ts → types/elementar-rt-components-button-toggle.d.ts} +0 -0
- /package/{calendar/index.d.ts → types/elementar-rt-components-calendar.d.ts} +0 -0
- /package/{card-overlay/index.d.ts → types/elementar-rt-components-card-overlay.d.ts} +0 -0
- /package/{card/index.d.ts → types/elementar-rt-components-card.d.ts} +0 -0
- /package/{carousel/index.d.ts → types/elementar-rt-components-carousel.d.ts} +0 -0
- /package/{chips/index.d.ts → types/elementar-rt-components-chips.d.ts} +0 -0
- /package/{clipboard-copy/index.d.ts → types/elementar-rt-components-clipboard-copy.d.ts} +0 -0
- /package/{code-highlighter/index.d.ts → types/elementar-rt-components-code-highlighter.d.ts} +0 -0
- /package/{color-picker/index.d.ts → types/elementar-rt-components-color-picker.d.ts} +0 -0
- /package/{color-scheme/index.d.ts → types/elementar-rt-components-color-scheme.d.ts} +0 -0
- /package/{combobox/index.d.ts → types/elementar-rt-components-combobox.d.ts} +0 -0
- /package/{command-bar/index.d.ts → types/elementar-rt-components-command-bar.d.ts} +0 -0
- /package/{comment-editor/index.d.ts → types/elementar-rt-components-comment-editor.d.ts} +0 -0
- /package/{comparison-slider/index.d.ts → types/elementar-rt-components-comparison-slider.d.ts} +0 -0
- /package/{confirm/index.d.ts → types/elementar-rt-components-confirm.d.ts} +0 -0
- /package/{content-editor/index.d.ts → types/elementar-rt-components-content-editor.d.ts} +0 -0
- /package/{content-fade/index.d.ts → types/elementar-rt-components-content-fade.d.ts} +0 -0
- /package/{cookie-popup/index.d.ts → types/elementar-rt-components-cookie-popup.d.ts} +0 -0
- /package/{core/index.d.ts → types/elementar-rt-components-core.d.ts} +0 -0
- /package/{crop/index.d.ts → types/elementar-rt-components-crop.d.ts} +0 -0
- /package/{dashboard/index.d.ts → types/elementar-rt-components-dashboard.d.ts} +0 -0
- /package/{data-grid/index.d.ts → types/elementar-rt-components-data-grid.d.ts} +0 -0
- /package/{data-view/index.d.ts → types/elementar-rt-components-data-view.d.ts} +0 -0
- /package/{date-format-select/index.d.ts → types/elementar-rt-components-date-format-select.d.ts} +0 -0
- /package/{datepicker/index.d.ts → types/elementar-rt-components-datepicker.d.ts} +0 -0
- /package/{dialog/index.d.ts → types/elementar-rt-components-dialog.d.ts} +0 -0
- /package/{digit-roller/index.d.ts → types/elementar-rt-components-digit-roller.d.ts} +0 -0
- /package/{divider/index.d.ts → types/elementar-rt-components-divider.d.ts} +0 -0
- /package/{drawer/index.d.ts → types/elementar-rt-components-drawer.d.ts} +0 -0
- /package/{emoji-picker/index.d.ts → types/elementar-rt-components-emoji-picker.d.ts} +0 -0
- /package/{empty-state/index.d.ts → types/elementar-rt-components-empty-state.d.ts} +0 -0
- /package/{expand/index.d.ts → types/elementar-rt-components-expand.d.ts} +0 -0
- /package/{expansion-panel/index.d.ts → types/elementar-rt-components-expansion-panel.d.ts} +0 -0
- /package/{filter-builder/index.d.ts → types/elementar-rt-components-filter-builder.d.ts} +0 -0
- /package/{filter-select/index.d.ts → types/elementar-rt-components-filter-select.d.ts} +0 -0
- /package/{form-renderer/index.d.ts → types/elementar-rt-components-form-renderer.d.ts} +0 -0
- /package/{gauge/index.d.ts → types/elementar-rt-components-gauge.d.ts} +0 -0
- /package/{grid/index.d.ts → types/elementar-rt-components-grid.d.ts} +0 -0
- /package/{guided-tour/index.d.ts → types/elementar-rt-components-guided-tour.d.ts} +0 -0
- /package/{headless-stepper/index.d.ts → types/elementar-rt-components-headless-stepper.d.ts} +0 -0
- /package/{icon/index.d.ts → types/elementar-rt-components-icon.d.ts} +0 -0
- /package/{image-placeholder/index.d.ts → types/elementar-rt-components-image-placeholder.d.ts} +0 -0
- /package/{image-resizer/index.d.ts → types/elementar-rt-components-image-resizer.d.ts} +0 -0
- /package/{image-viewer/index.d.ts → types/elementar-rt-components-image-viewer.d.ts} +0 -0
- /package/{image-zoom-viewer/index.d.ts → types/elementar-rt-components-image-zoom-viewer.d.ts} +0 -0
- /package/{incidents/index.d.ts → types/elementar-rt-components-incidents.d.ts} +0 -0
- /package/{inline-text-edit/index.d.ts → types/elementar-rt-components-inline-text-edit.d.ts} +0 -0
- /package/{input-mask/index.d.ts → types/elementar-rt-components-input-mask.d.ts} +0 -0
- /package/{input-validator/index.d.ts → types/elementar-rt-components-input-validator.d.ts} +0 -0
- /package/{kanban-board/index.d.ts → types/elementar-rt-components-kanban-board.d.ts} +0 -0
- /package/{keyboard/index.d.ts → types/elementar-rt-components-keyboard.d.ts} +0 -0
- /package/{layout/index.d.ts → types/elementar-rt-components-layout.d.ts} +0 -0
- /package/{list/index.d.ts → types/elementar-rt-components-list.d.ts} +0 -0
- /package/{logo/index.d.ts → types/elementar-rt-components-logo.d.ts} +0 -0
- /package/{marquee/index.d.ts → types/elementar-rt-components-marquee.d.ts} +0 -0
- /package/{menu/index.d.ts → types/elementar-rt-components-menu.d.ts} +0 -0
- /package/{micro-chart/index.d.ts → types/elementar-rt-components-micro-chart.d.ts} +0 -0
- /package/{multi-select/index.d.ts → types/elementar-rt-components-multi-select.d.ts} +0 -0
- /package/{navigation/index.d.ts → types/elementar-rt-components-navigation.d.ts} +0 -0
- /package/{notifications/index.d.ts → types/elementar-rt-components-notifications.d.ts} +0 -0
- /package/{number-input/index.d.ts → types/elementar-rt-components-number-input.d.ts} +0 -0
- /package/{overlay-scrollbar/index.d.ts → types/elementar-rt-components-overlay-scrollbar.d.ts} +0 -0
- /package/{overlay/index.d.ts → types/elementar-rt-components-overlay.d.ts} +0 -0
- /package/{page-loading-bar/index.d.ts → types/elementar-rt-components-page-loading-bar.d.ts} +0 -0
- /package/{paginator/index.d.ts → types/elementar-rt-components-paginator.d.ts} +0 -0
- /package/{panel/index.d.ts → types/elementar-rt-components-panel.d.ts} +0 -0
- /package/{password-strength/index.d.ts → types/elementar-rt-components-password-strength.d.ts} +0 -0
- /package/{phone-input/index.d.ts → types/elementar-rt-components-phone-input.d.ts} +0 -0
- /package/{pin-input/index.d.ts → types/elementar-rt-components-pin-input.d.ts} +0 -0
- /package/{popover/index.d.ts → types/elementar-rt-components-popover.d.ts} +0 -0
- /package/{progress-bar/index.d.ts → types/elementar-rt-components-progress-bar.d.ts} +0 -0
- /package/{progress-spinner/index.d.ts → types/elementar-rt-components-progress-spinner.d.ts} +0 -0
- /package/{radio-card/index.d.ts → types/elementar-rt-components-radio-card.d.ts} +0 -0
- /package/{rail-nav/index.d.ts → types/elementar-rt-components-rail-nav.d.ts} +0 -0
- /package/{rating/index.d.ts → types/elementar-rt-components-rating.d.ts} +0 -0
- /package/{resizable-container/index.d.ts → types/elementar-rt-components-resizable-container.d.ts} +0 -0
- /package/{screen-loader/index.d.ts → types/elementar-rt-components-screen-loader.d.ts} +0 -0
- /package/{scroll-spy/index.d.ts → types/elementar-rt-components-scroll-spy.d.ts} +0 -0
- /package/{segmented/index.d.ts → types/elementar-rt-components-segmented.d.ts} +0 -0
- /package/{side-panel/index.d.ts → types/elementar-rt-components-side-panel.d.ts} +0 -0
- /package/{sidebar/index.d.ts → types/elementar-rt-components-sidebar.d.ts} +0 -0
- /package/{sidenav/index.d.ts → types/elementar-rt-components-sidenav.d.ts} +0 -0
- /package/{signature-pad/index.d.ts → types/elementar-rt-components-signature-pad.d.ts} +0 -0
- /package/{skeleton/index.d.ts → types/elementar-rt-components-skeleton.d.ts} +0 -0
- /package/{slider/index.d.ts → types/elementar-rt-components-slider.d.ts} +0 -0
- /package/{snackbar/index.d.ts → types/elementar-rt-components-snackbar.d.ts} +0 -0
- /package/{sort/index.d.ts → types/elementar-rt-components-sort.d.ts} +0 -0
- /package/{splash-screen/index.d.ts → types/elementar-rt-components-splash-screen.d.ts} +0 -0
- /package/{split-pane/index.d.ts → types/elementar-rt-components-split-pane.d.ts} +0 -0
- /package/{stat-card/index.d.ts → types/elementar-rt-components-stat-card.d.ts} +0 -0
- /package/{step-tracker/index.d.ts → types/elementar-rt-components-step-tracker.d.ts} +0 -0
- /package/{stepper/index.d.ts → types/elementar-rt-components-stepper.d.ts} +0 -0
- /package/{suggestions/index.d.ts → types/elementar-rt-components-suggestions.d.ts} +0 -0
- /package/{tab-panel/index.d.ts → types/elementar-rt-components-tab-panel.d.ts} +0 -0
- /package/{table/index.d.ts → types/elementar-rt-components-table.d.ts} +0 -0
- /package/{tabs/index.d.ts → types/elementar-rt-components-tabs.d.ts} +0 -0
- /package/{tag/index.d.ts → types/elementar-rt-components-tag.d.ts} +0 -0
- /package/{text-editor/index.d.ts → types/elementar-rt-components-text-editor.d.ts} +0 -0
- /package/{thumbnail-maker/index.d.ts → types/elementar-rt-components-thumbnail-maker.d.ts} +0 -0
- /package/{tiles/index.d.ts → types/elementar-rt-components-tiles.d.ts} +0 -0
- /package/{timeline/index.d.ts → types/elementar-rt-components-timeline.d.ts} +0 -0
- /package/{timepicker/index.d.ts → types/elementar-rt-components-timepicker.d.ts} +0 -0
- /package/{timezone-select/index.d.ts → types/elementar-rt-components-timezone-select.d.ts} +0 -0
- /package/{toast/index.d.ts → types/elementar-rt-components-toast.d.ts} +0 -0
- /package/{toolbar/index.d.ts → types/elementar-rt-components-toolbar.d.ts} +0 -0
- /package/{tooltip/index.d.ts → types/elementar-rt-components-tooltip.d.ts} +0 -0
- /package/{tree/index.d.ts → types/elementar-rt-components-tree.d.ts} +0 -0
- /package/{upload/index.d.ts → types/elementar-rt-components-upload.d.ts} +0 -0
- /package/{video-player/index.d.ts → types/elementar-rt-components-video-player.d.ts} +0 -0
- /package/{video-viewer/index.d.ts → types/elementar-rt-components-video-viewer.d.ts} +0 -0
- /package/{index.d.ts → types/elementar-rt-components.d.ts} +0 -0
|
@@ -3,9 +3,9 @@ import { input, model, output, computed, ChangeDetectionStrategy, Component } fr
|
|
|
3
3
|
import { TitleCasePipe } from '@angular/common';
|
|
4
4
|
|
|
5
5
|
class CalendarComponent {
|
|
6
|
-
events = input([], ...(ngDevMode ? [{ debugName: "events" }] : []));
|
|
7
|
-
view = model('month', ...(ngDevMode ? [{ debugName: "view" }] : []));
|
|
8
|
-
date = model(new Date(), ...(ngDevMode ? [{ debugName: "date" }] : []));
|
|
6
|
+
events = input([], ...(ngDevMode ? [{ debugName: "events" }] : /* istanbul ignore next */ []));
|
|
7
|
+
view = model('month', ...(ngDevMode ? [{ debugName: "view" }] : /* istanbul ignore next */ []));
|
|
8
|
+
date = model(new Date(), ...(ngDevMode ? [{ debugName: "date" }] : /* istanbul ignore next */ []));
|
|
9
9
|
eventClick = output();
|
|
10
10
|
dateClick = output();
|
|
11
11
|
viewChange = output();
|
|
@@ -26,7 +26,7 @@ class CalendarComponent {
|
|
|
26
26
|
return `${this._MONTHS[start.getMonth()]} ${start.getDate()} – ${this._MONTHS[end.getMonth()]} ${end.getDate()}, ${end.getFullYear()}`;
|
|
27
27
|
}
|
|
28
28
|
return `${this._MONTHS[d.getMonth()]} ${d.getDate()}, ${d.getFullYear()}`;
|
|
29
|
-
}, ...(ngDevMode ? [{ debugName: "_title" }] : []));
|
|
29
|
+
}, ...(ngDevMode ? [{ debugName: "_title" }] : /* istanbul ignore next */ []));
|
|
30
30
|
_calendarDays = computed(() => {
|
|
31
31
|
const d = this.date();
|
|
32
32
|
const firstDay = new Date(d.getFullYear(), d.getMonth(), 1);
|
|
@@ -47,11 +47,11 @@ class CalendarComponent {
|
|
|
47
47
|
days.push(next);
|
|
48
48
|
}
|
|
49
49
|
return days;
|
|
50
|
-
}, ...(ngDevMode ? [{ debugName: "_calendarDays" }] : []));
|
|
50
|
+
}, ...(ngDevMode ? [{ debugName: "_calendarDays" }] : /* istanbul ignore next */ []));
|
|
51
51
|
_weekDays = computed(() => {
|
|
52
52
|
const start = this._weekStart(this.date());
|
|
53
53
|
return Array.from({ length: 7 }, (_, i) => { const d = new Date(start); d.setDate(d.getDate() + i); return d; });
|
|
54
|
-
}, ...(ngDevMode ? [{ debugName: "_weekDays" }] : []));
|
|
54
|
+
}, ...(ngDevMode ? [{ debugName: "_weekDays" }] : /* istanbul ignore next */ []));
|
|
55
55
|
_hours = Array.from({ length: 24 }, (_, i) => i);
|
|
56
56
|
_getEventsForDay(day) {
|
|
57
57
|
return this.events().filter(e => this._sameDay(e.start, day));
|
|
@@ -112,14 +112,14 @@ class CalendarComponent {
|
|
|
112
112
|
a.getMonth() === b.getMonth() &&
|
|
113
113
|
a.getDate() === b.getDate();
|
|
114
114
|
}
|
|
115
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
116
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "
|
|
115
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.22", ngImport: i0, type: CalendarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
116
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.22", type: CalendarComponent, isStandalone: true, selector: "emr-calendar", inputs: { events: { classPropertyName: "events", publicName: "events", isSignal: true, isRequired: false, transformFunction: null }, view: { classPropertyName: "view", publicName: "view", isSignal: true, isRequired: false, transformFunction: null }, date: { classPropertyName: "date", publicName: "date", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { view: "viewChange", date: "dateChange", eventClick: "eventClick", dateClick: "dateClick", viewChange: "viewChange" }, host: { properties: { "attr.data-view": "view()" } }, ngImport: i0, template: "<div class=\"cal-toolbar\">\n <div class=\"cal-nav\">\n <button type=\"button\" class=\"nav-btn\" (click)=\"_navigate(-1)\" aria-label=\"Previous\">\n <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><polyline points=\"15 18 9 12 15 6\"/></svg>\n </button>\n <span class=\"cal-title\">{{ _title() }}</span>\n <button type=\"button\" class=\"nav-btn\" (click)=\"_navigate(1)\" aria-label=\"Next\">\n <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><polyline points=\"9 18 15 12 9 6\"/></svg>\n </button>\n </div>\n <div class=\"cal-actions\">\n <button type=\"button\" class=\"today-btn\" (click)=\"_goToToday()\">Today</button>\n <div class=\"view-switcher\">\n @for (v of ['month','week','day']; track v) {\n <button type=\"button\" class=\"view-btn\" [attr.data-active]=\"view() === v || null\" (click)=\"_setView($any(v))\">{{ v | titlecase }}</button>\n }\n </div>\n </div>\n</div>\n\n@if (view() === 'month') {\n <div class=\"cal-grid-month\">\n @for (day of _DAYS; track day) {\n <div class=\"cal-day-header\">{{ day }}</div>\n }\n @for (day of _calendarDays(); track day.toISOString()) {\n <div\n class=\"cal-cell\"\n [attr.data-today]=\"_isToday(day) || null\"\n [attr.data-other-month]=\"!_isCurrentMonth(day) || null\"\n [attr.data-selected]=\"_isSelected(day) || null\"\n (click)=\"_onDateClick(day)\"\n >\n <span class=\"cal-date-num\">{{ day.getDate() }}</span>\n <div class=\"cal-events\">\n @for (ev of _getEventsForDay(day); track ev.id) {\n <div class=\"cal-event\" [style.background]=\"ev.color || null\" (click)=\"_onEventClick(ev, $event)\">\n {{ ev.title }}\n </div>\n }\n </div>\n </div>\n }\n </div>\n}\n\n@if (view() === 'week') {\n <div class=\"cal-week-header\">\n <div class=\"time-gutter\"></div>\n @for (day of _weekDays(); track day.toISOString()) {\n <div class=\"week-day-label\" [attr.data-today]=\"_isToday(day) || null\">\n <span class=\"week-day-name\">{{ _DAYS[day.getDay()] }}</span>\n <span class=\"week-day-num\" [attr.data-today]=\"_isToday(day) || null\">{{ day.getDate() }}</span>\n </div>\n }\n </div>\n <div class=\"cal-week-body\">\n @for (hour of _hours; track hour) {\n <div class=\"time-row\">\n <div class=\"time-label\">{{ _formatHour(hour) }}</div>\n @for (day of _weekDays(); track day.toISOString()) {\n <div class=\"time-cell\" (click)=\"_onDateClick(day)\">\n @for (ev of _getEventsForHour(day, hour); track ev.id) {\n <div class=\"cal-event\" [style.background]=\"ev.color || null\" (click)=\"_onEventClick(ev, $event)\">{{ ev.title }}</div>\n }\n </div>\n }\n </div>\n }\n </div>\n}\n\n@if (view() === 'day') {\n <div class=\"cal-day-view\">\n @for (hour of _hours; track hour) {\n <div class=\"time-row\">\n <div class=\"time-label\">{{ _formatHour(hour) }}</div>\n <div class=\"time-cell\" (click)=\"_onDateClick(date())\">\n @for (ev of _getEventsForHour(date(), hour); track ev.id) {\n <div class=\"cal-event\" [style.background]=\"ev.color || null\" (click)=\"_onEventClick(ev, $event)\">{{ ev.title }}</div>\n }\n </div>\n </div>\n }\n </div>\n}\n", styles: [":host{display:flex;flex-direction:column;height:100%;overflow:hidden;background:var(--color-surface);border:1px solid var(--color-outline-variant);border-radius:.75rem}.cal-toolbar{display:flex;align-items:center;justify-content:space-between;padding:calc(var(--spacing, .25rem) * 3) calc(var(--spacing, .25rem) * 4);border-bottom:1px solid var(--color-outline-variant);flex-shrink:0}.cal-nav{display:flex;align-items:center;gap:calc(var(--spacing, .25rem) * 2)}.cal-title{font-weight:600;font-size:1rem;min-width:calc(var(--spacing, .25rem) * 48);text-align:center}.nav-btn{width:calc(var(--spacing, .25rem) * 8);height:calc(var(--spacing, .25rem) * 8);display:flex;align-items:center;justify-content:center;background:transparent;border:none;cursor:pointer;border-radius:.5rem;color:var(--color-on-surface-variant)}.nav-btn:hover{background:var(--color-surface-container)}.nav-btn svg{width:calc(var(--spacing, .25rem) * 4);height:calc(var(--spacing, .25rem) * 4)}.cal-actions{display:flex;align-items:center;gap:calc(var(--spacing, .25rem) * 2)}.today-btn{font-size:.875rem;font-weight:500;padding:calc(var(--spacing, .25rem) * 1.5) calc(var(--spacing, .25rem) * 3);border:1px solid var(--color-outline-variant);border-radius:.5rem;background:transparent;cursor:pointer;color:var(--color-on-surface)}.today-btn:hover{background:var(--color-surface-container)}.view-switcher{display:flex;border:1px solid var(--color-outline-variant);border-radius:.5rem;overflow:hidden}.view-btn{font-size:.875rem;font-weight:500;padding:calc(var(--spacing, .25rem) * 1.5) calc(var(--spacing, .25rem) * 3);background:transparent;border:none;cursor:pointer;color:var(--color-on-surface-variant)}.view-btn[data-active]{background:var(--color-primary-container);color:var(--color-on-primary-container)}.view-btn:hover:not([data-active]){background:var(--color-surface-container)}.cal-grid-month{display:grid;grid-template-columns:repeat(7,1fr);flex:1;overflow-y:auto}.cal-day-header{font-size:.75rem;font-weight:600;color:var(--color-on-surface-variant);text-align:center;padding:calc(var(--spacing, .25rem) * 2);border-bottom:1px solid var(--color-outline-variant);text-transform:uppercase;letter-spacing:.05em}.cal-cell{min-height:calc(var(--spacing, .25rem) * 24);padding:var(--spacing, .25rem);border-right:1px solid var(--color-outline-variant);border-bottom:1px solid var(--color-outline-variant);cursor:pointer}.cal-cell:nth-child(7n){border-right:none}.cal-cell[data-other-month]{background:var(--color-surface-container-lowest)}.cal-cell[data-today]{background:var(--color-primary)}@supports (color: color-mix(in lab,red,red)){.cal-cell[data-today]{background:color-mix(in srgb,var(--color-primary) 5%,transparent)}}.cal-cell:hover{background:var(--color-surface-container)}.cal-date-num{display:inline-flex;align-items:center;justify-content:center;width:calc(var(--spacing, .25rem) * 7);height:calc(var(--spacing, .25rem) * 7);font-size:.875rem;font-weight:500;border-radius:50%;margin-bottom:calc(var(--spacing, .25rem) * .5);color:var(--color-on-surface)}:host-context(.cal-cell[data-other-month]) .cal-date-num{color:var(--color-on-surface-variant);opacity:.5}:host-context(.cal-cell[data-today]) .cal-date-num{background:var(--color-primary);color:var(--color-on-primary)}.cal-events{display:flex;flex-direction:column;gap:calc(var(--spacing, .25rem) * .5)}.cal-event{font-size:.75rem;font-weight:500;padding:calc(var(--spacing, .25rem) * .5) calc(var(--spacing, .25rem) * 1.5);border-radius:.25rem;background:var(--color-primary);color:var(--color-on-primary);truncate:ellipsis;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;cursor:pointer}.cal-event:hover{opacity:.85}.cal-week-header{display:grid;grid-template-columns:calc(var(--spacing, .25rem) * 16) repeat(7,1fr);border-bottom:1px solid var(--color-outline-variant);flex-shrink:0}.week-day-label{display:flex;flex-direction:column;align-items:center;padding:calc(var(--spacing, .25rem) * 2);gap:var(--spacing, .25rem)}.week-day-name{font-size:.75rem;font-weight:600;color:var(--color-on-surface-variant);text-transform:uppercase}.week-day-num{width:calc(var(--spacing, .25rem) * 8);height:calc(var(--spacing, .25rem) * 8);display:flex;align-items:center;justify-content:center;border-radius:50%;font-size:.875rem;font-weight:600}.week-day-num[data-today]{background:var(--color-primary);color:var(--color-on-primary)}.cal-week-body,.cal-day-view{overflow-y:auto;flex:1}.cal-day-view{display:flex;flex-direction:column}.time-row{display:grid;grid-template-columns:calc(var(--spacing, .25rem) * 16) repeat(7,1fr);border-bottom:1px solid var(--color-outline-variant);min-height:calc(var(--spacing, .25rem) * 14)}.cal-day-view .time-row{grid-template-columns:calc(var(--spacing, .25rem) * 16) 1fr}.time-label{font-size:.75rem;color:var(--color-on-surface-variant);padding:var(--spacing, .25rem) calc(var(--spacing, .25rem) * 2);text-align:right;flex-shrink:0}.time-cell{border-left:1px solid var(--color-outline-variant);padding:calc(var(--spacing, .25rem) * .5);cursor:pointer;display:flex;flex-direction:column;gap:calc(var(--spacing, .25rem) * .5)}.time-cell:hover{background:var(--color-surface-container)}\n/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n"], dependencies: [{ kind: "pipe", type: TitleCasePipe, name: "titlecase" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
117
117
|
}
|
|
118
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
118
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.22", ngImport: i0, type: CalendarComponent, decorators: [{
|
|
119
119
|
type: Component,
|
|
120
120
|
args: [{ selector: 'emr-calendar', standalone: true, imports: [TitleCasePipe], changeDetection: ChangeDetectionStrategy.OnPush, host: {
|
|
121
121
|
'[attr.data-view]': 'view()',
|
|
122
|
-
}, template: "<div class=\"cal-toolbar\">\n <div class=\"cal-nav\">\n <button type=\"button\" class=\"nav-btn\" (click)=\"_navigate(-1)\" aria-label=\"Previous\">\n <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><polyline points=\"15 18 9 12 15 6\"/></svg>\n </button>\n <span class=\"cal-title\">{{ _title() }}</span>\n <button type=\"button\" class=\"nav-btn\" (click)=\"_navigate(1)\" aria-label=\"Next\">\n <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><polyline points=\"9 18 15 12 9 6\"/></svg>\n </button>\n </div>\n <div class=\"cal-actions\">\n <button type=\"button\" class=\"today-btn\" (click)=\"_goToToday()\">Today</button>\n <div class=\"view-switcher\">\n @for (v of ['month','week','day']; track v) {\n <button type=\"button\" class=\"view-btn\" [attr.data-active]=\"view() === v || null\" (click)=\"_setView($any(v))\">{{ v | titlecase }}</button>\n }\n </div>\n </div>\n</div>\n\n@if (view() === 'month') {\n <div class=\"cal-grid-month\">\n @for (day of _DAYS; track day) {\n <div class=\"cal-day-header\">{{ day }}</div>\n }\n @for (day of _calendarDays(); track day.toISOString()) {\n <div\n class=\"cal-cell\"\n [attr.data-today]=\"_isToday(day) || null\"\n [attr.data-other-month]=\"!_isCurrentMonth(day) || null\"\n [attr.data-selected]=\"_isSelected(day) || null\"\n (click)=\"_onDateClick(day)\"\n >\n <span class=\"cal-date-num\">{{ day.getDate() }}</span>\n <div class=\"cal-events\">\n @for (ev of _getEventsForDay(day); track ev.id) {\n <div class=\"cal-event\" [style.background]=\"ev.color || null\" (click)=\"_onEventClick(ev, $event)\">\n {{ ev.title }}\n </div>\n }\n </div>\n </div>\n }\n </div>\n}\n\n@if (view() === 'week') {\n <div class=\"cal-week-header\">\n <div class=\"time-gutter\"></div>\n @for (day of _weekDays(); track day.toISOString()) {\n <div class=\"week-day-label\" [attr.data-today]=\"_isToday(day) || null\">\n <span class=\"week-day-name\">{{ _DAYS[day.getDay()] }}</span>\n <span class=\"week-day-num\" [attr.data-today]=\"_isToday(day) || null\">{{ day.getDate() }}</span>\n </div>\n }\n </div>\n <div class=\"cal-week-body\">\n @for (hour of _hours; track hour) {\n <div class=\"time-row\">\n <div class=\"time-label\">{{ _formatHour(hour) }}</div>\n @for (day of _weekDays(); track day.toISOString()) {\n <div class=\"time-cell\" (click)=\"_onDateClick(day)\">\n @for (ev of _getEventsForHour(day, hour); track ev.id) {\n <div class=\"cal-event\" [style.background]=\"ev.color || null\" (click)=\"_onEventClick(ev, $event)\">{{ ev.title }}</div>\n }\n </div>\n }\n </div>\n }\n </div>\n}\n\n@if (view() === 'day') {\n <div class=\"cal-day-view\">\n @for (hour of _hours; track hour) {\n <div class=\"time-row\">\n <div class=\"time-label\">{{ _formatHour(hour) }}</div>\n <div class=\"time-cell\" (click)=\"_onDateClick(date())\">\n @for (ev of _getEventsForHour(date(), hour); track ev.id) {\n <div class=\"cal-event\" [style.background]=\"ev.color || null\" (click)=\"_onEventClick(ev, $event)\">{{ ev.title }}</div>\n }\n </div>\n </div>\n }\n </div>\n}\n", styles: [":host{display:flex;flex-direction:column;height:100%;overflow:hidden;background:var(--color-surface);border:1px solid var(--color-outline-variant);border-radius:.75rem}.cal-toolbar{display:flex;align-items:center;justify-content:space-between;padding:calc(var(--spacing, .25rem) * 3) calc(var(--spacing, .25rem) * 4);border-bottom:1px solid var(--color-outline-variant);flex-shrink:0}.cal-nav{display:flex;align-items:center;gap:calc(var(--spacing, .25rem) * 2)}.cal-title{font-weight:600;font-size:1rem;min-width:calc(var(--spacing, .25rem) * 48);text-align:center}.nav-btn{width:calc(var(--spacing, .25rem) * 8);height:calc(var(--spacing, .25rem) * 8);display:flex;align-items:center;justify-content:center;background:transparent;border:none;cursor:pointer;border-radius:.5rem;color:var(--color-on-surface-variant)}.nav-btn:hover{background:var(--color-surface-container)}.nav-btn svg{width:calc(var(--spacing, .25rem) * 4);height:calc(var(--spacing, .25rem) * 4)}.cal-actions{display:flex;align-items:center;gap:calc(var(--spacing, .25rem) * 2)}.today-btn{font-size:.875rem;font-weight:500;padding:calc(var(--spacing, .25rem) * 1.5) calc(var(--spacing, .25rem) * 3);border:1px solid var(--color-outline-variant);border-radius:.5rem;background:transparent;cursor:pointer;color:var(--color-on-surface)}.today-btn:hover{background:var(--color-surface-container)}.view-switcher{display:flex;border:1px solid var(--color-outline-variant);border-radius:.5rem;overflow:hidden}.view-btn{font-size:.875rem;font-weight:500;padding:calc(var(--spacing, .25rem) * 1.5) calc(var(--spacing, .25rem) * 3);background:transparent;border:none;cursor:pointer;color:var(--color-on-surface-variant)}.view-btn[data-active]{background:var(--color-primary-container);color:var(--color-on-primary-container)}.view-btn:hover:not([data-active]){background:var(--color-surface-container)}.cal-grid-month{display:grid;grid-template-columns:repeat(7,1fr);flex:1;overflow-y:auto}.cal-day-header{font-size:.75rem;font-weight:600;color:var(--color-on-surface-variant);text-align:center;padding:calc(var(--spacing, .25rem) * 2);border-bottom:1px solid var(--color-outline-variant);text-transform:uppercase;letter-spacing:.05em}.cal-cell{min-height:calc(var(--spacing, .25rem) * 24);padding:var(--spacing, .25rem);border-right:1px solid var(--color-outline-variant);border-bottom:1px solid var(--color-outline-variant);cursor:pointer}.cal-cell:nth-child(7n){border-right:none}.cal-cell[data-other-month]{background:var(--color-surface-container-lowest)}.cal-cell[data-today]{background:var(--color-primary)}@supports (color: color-mix(in lab,red,red)){.cal-cell[data-today]{background:color-mix(in srgb,var(--color-primary) 5%,transparent)}}.cal-cell:hover{background:var(--color-surface-container)}.cal-date-num{display:inline-flex;align-items:center;justify-content:center;width:calc(var(--spacing, .25rem) * 7);height:calc(var(--spacing, .25rem) * 7);font-size:.875rem;font-weight:500;border-radius:50%;margin-bottom:calc(var(--spacing, .25rem) * .5);color:var(--color-on-surface)}:host-context(.cal-cell[data-other-month]) .cal-date-num{color:var(--color-on-surface-variant);opacity:.5}:host-context(.cal-cell[data-today]) .cal-date-num{background:var(--color-primary);color:var(--color-on-primary)}.cal-events{display:flex;flex-direction:column;gap:calc(var(--spacing, .25rem) * .5)}.cal-event{font-size:.75rem;font-weight:500;padding:calc(var(--spacing, .25rem) * .5) calc(var(--spacing, .25rem) * 1.5);border-radius:.25rem;background:var(--color-primary);color:var(--color-on-primary);truncate:ellipsis;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;cursor:pointer}.cal-event:hover{opacity:.85}.cal-week-header{display:grid;grid-template-columns:calc(var(--spacing, .25rem) * 16) repeat(7,1fr);border-bottom:1px solid var(--color-outline-variant);flex-shrink:0}.week-day-label{display:flex;flex-direction:column;align-items:center;padding:calc(var(--spacing, .25rem) * 2);gap:var(--spacing, .25rem)}.week-day-name{font-size:.75rem;font-weight:600;color:var(--color-on-surface-variant);text-transform:uppercase}.week-day-num{width:calc(var(--spacing, .25rem) * 8);height:calc(var(--spacing, .25rem) * 8);display:flex;align-items:center;justify-content:center;border-radius:50%;font-size:.875rem;font-weight:600}.week-day-num[data-today]{background:var(--color-primary);color:var(--color-on-primary)}.cal-week-body,.cal-day-view{overflow-y:auto;flex:1}.cal-day-view{display:flex;flex-direction:column}.time-row{display:grid;grid-template-columns:calc(var(--spacing, .25rem) * 16) repeat(7,1fr);border-bottom:1px solid var(--color-outline-variant);min-height:calc(var(--spacing, .25rem) * 14)}.cal-day-view .time-row{grid-template-columns:calc(var(--spacing, .25rem) * 16) 1fr}.time-label{font-size:.75rem;color:var(--color-on-surface-variant);padding:var(--spacing, .25rem) calc(var(--spacing, .25rem) * 2);text-align:right;flex-shrink:0}.time-cell{border-left:1px solid var(--color-outline-variant);padding:calc(var(--spacing, .25rem) * .5);cursor:pointer;display:flex;flex-direction:column;gap:calc(var(--spacing, .25rem) * .5)}.time-cell:hover{background:var(--color-surface-container)}\n/*! tailwindcss v4.3.
|
|
122
|
+
}, template: "<div class=\"cal-toolbar\">\n <div class=\"cal-nav\">\n <button type=\"button\" class=\"nav-btn\" (click)=\"_navigate(-1)\" aria-label=\"Previous\">\n <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><polyline points=\"15 18 9 12 15 6\"/></svg>\n </button>\n <span class=\"cal-title\">{{ _title() }}</span>\n <button type=\"button\" class=\"nav-btn\" (click)=\"_navigate(1)\" aria-label=\"Next\">\n <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><polyline points=\"9 18 15 12 9 6\"/></svg>\n </button>\n </div>\n <div class=\"cal-actions\">\n <button type=\"button\" class=\"today-btn\" (click)=\"_goToToday()\">Today</button>\n <div class=\"view-switcher\">\n @for (v of ['month','week','day']; track v) {\n <button type=\"button\" class=\"view-btn\" [attr.data-active]=\"view() === v || null\" (click)=\"_setView($any(v))\">{{ v | titlecase }}</button>\n }\n </div>\n </div>\n</div>\n\n@if (view() === 'month') {\n <div class=\"cal-grid-month\">\n @for (day of _DAYS; track day) {\n <div class=\"cal-day-header\">{{ day }}</div>\n }\n @for (day of _calendarDays(); track day.toISOString()) {\n <div\n class=\"cal-cell\"\n [attr.data-today]=\"_isToday(day) || null\"\n [attr.data-other-month]=\"!_isCurrentMonth(day) || null\"\n [attr.data-selected]=\"_isSelected(day) || null\"\n (click)=\"_onDateClick(day)\"\n >\n <span class=\"cal-date-num\">{{ day.getDate() }}</span>\n <div class=\"cal-events\">\n @for (ev of _getEventsForDay(day); track ev.id) {\n <div class=\"cal-event\" [style.background]=\"ev.color || null\" (click)=\"_onEventClick(ev, $event)\">\n {{ ev.title }}\n </div>\n }\n </div>\n </div>\n }\n </div>\n}\n\n@if (view() === 'week') {\n <div class=\"cal-week-header\">\n <div class=\"time-gutter\"></div>\n @for (day of _weekDays(); track day.toISOString()) {\n <div class=\"week-day-label\" [attr.data-today]=\"_isToday(day) || null\">\n <span class=\"week-day-name\">{{ _DAYS[day.getDay()] }}</span>\n <span class=\"week-day-num\" [attr.data-today]=\"_isToday(day) || null\">{{ day.getDate() }}</span>\n </div>\n }\n </div>\n <div class=\"cal-week-body\">\n @for (hour of _hours; track hour) {\n <div class=\"time-row\">\n <div class=\"time-label\">{{ _formatHour(hour) }}</div>\n @for (day of _weekDays(); track day.toISOString()) {\n <div class=\"time-cell\" (click)=\"_onDateClick(day)\">\n @for (ev of _getEventsForHour(day, hour); track ev.id) {\n <div class=\"cal-event\" [style.background]=\"ev.color || null\" (click)=\"_onEventClick(ev, $event)\">{{ ev.title }}</div>\n }\n </div>\n }\n </div>\n }\n </div>\n}\n\n@if (view() === 'day') {\n <div class=\"cal-day-view\">\n @for (hour of _hours; track hour) {\n <div class=\"time-row\">\n <div class=\"time-label\">{{ _formatHour(hour) }}</div>\n <div class=\"time-cell\" (click)=\"_onDateClick(date())\">\n @for (ev of _getEventsForHour(date(), hour); track ev.id) {\n <div class=\"cal-event\" [style.background]=\"ev.color || null\" (click)=\"_onEventClick(ev, $event)\">{{ ev.title }}</div>\n }\n </div>\n </div>\n }\n </div>\n}\n", styles: [":host{display:flex;flex-direction:column;height:100%;overflow:hidden;background:var(--color-surface);border:1px solid var(--color-outline-variant);border-radius:.75rem}.cal-toolbar{display:flex;align-items:center;justify-content:space-between;padding:calc(var(--spacing, .25rem) * 3) calc(var(--spacing, .25rem) * 4);border-bottom:1px solid var(--color-outline-variant);flex-shrink:0}.cal-nav{display:flex;align-items:center;gap:calc(var(--spacing, .25rem) * 2)}.cal-title{font-weight:600;font-size:1rem;min-width:calc(var(--spacing, .25rem) * 48);text-align:center}.nav-btn{width:calc(var(--spacing, .25rem) * 8);height:calc(var(--spacing, .25rem) * 8);display:flex;align-items:center;justify-content:center;background:transparent;border:none;cursor:pointer;border-radius:.5rem;color:var(--color-on-surface-variant)}.nav-btn:hover{background:var(--color-surface-container)}.nav-btn svg{width:calc(var(--spacing, .25rem) * 4);height:calc(var(--spacing, .25rem) * 4)}.cal-actions{display:flex;align-items:center;gap:calc(var(--spacing, .25rem) * 2)}.today-btn{font-size:.875rem;font-weight:500;padding:calc(var(--spacing, .25rem) * 1.5) calc(var(--spacing, .25rem) * 3);border:1px solid var(--color-outline-variant);border-radius:.5rem;background:transparent;cursor:pointer;color:var(--color-on-surface)}.today-btn:hover{background:var(--color-surface-container)}.view-switcher{display:flex;border:1px solid var(--color-outline-variant);border-radius:.5rem;overflow:hidden}.view-btn{font-size:.875rem;font-weight:500;padding:calc(var(--spacing, .25rem) * 1.5) calc(var(--spacing, .25rem) * 3);background:transparent;border:none;cursor:pointer;color:var(--color-on-surface-variant)}.view-btn[data-active]{background:var(--color-primary-container);color:var(--color-on-primary-container)}.view-btn:hover:not([data-active]){background:var(--color-surface-container)}.cal-grid-month{display:grid;grid-template-columns:repeat(7,1fr);flex:1;overflow-y:auto}.cal-day-header{font-size:.75rem;font-weight:600;color:var(--color-on-surface-variant);text-align:center;padding:calc(var(--spacing, .25rem) * 2);border-bottom:1px solid var(--color-outline-variant);text-transform:uppercase;letter-spacing:.05em}.cal-cell{min-height:calc(var(--spacing, .25rem) * 24);padding:var(--spacing, .25rem);border-right:1px solid var(--color-outline-variant);border-bottom:1px solid var(--color-outline-variant);cursor:pointer}.cal-cell:nth-child(7n){border-right:none}.cal-cell[data-other-month]{background:var(--color-surface-container-lowest)}.cal-cell[data-today]{background:var(--color-primary)}@supports (color: color-mix(in lab,red,red)){.cal-cell[data-today]{background:color-mix(in srgb,var(--color-primary) 5%,transparent)}}.cal-cell:hover{background:var(--color-surface-container)}.cal-date-num{display:inline-flex;align-items:center;justify-content:center;width:calc(var(--spacing, .25rem) * 7);height:calc(var(--spacing, .25rem) * 7);font-size:.875rem;font-weight:500;border-radius:50%;margin-bottom:calc(var(--spacing, .25rem) * .5);color:var(--color-on-surface)}:host-context(.cal-cell[data-other-month]) .cal-date-num{color:var(--color-on-surface-variant);opacity:.5}:host-context(.cal-cell[data-today]) .cal-date-num{background:var(--color-primary);color:var(--color-on-primary)}.cal-events{display:flex;flex-direction:column;gap:calc(var(--spacing, .25rem) * .5)}.cal-event{font-size:.75rem;font-weight:500;padding:calc(var(--spacing, .25rem) * .5) calc(var(--spacing, .25rem) * 1.5);border-radius:.25rem;background:var(--color-primary);color:var(--color-on-primary);truncate:ellipsis;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;cursor:pointer}.cal-event:hover{opacity:.85}.cal-week-header{display:grid;grid-template-columns:calc(var(--spacing, .25rem) * 16) repeat(7,1fr);border-bottom:1px solid var(--color-outline-variant);flex-shrink:0}.week-day-label{display:flex;flex-direction:column;align-items:center;padding:calc(var(--spacing, .25rem) * 2);gap:var(--spacing, .25rem)}.week-day-name{font-size:.75rem;font-weight:600;color:var(--color-on-surface-variant);text-transform:uppercase}.week-day-num{width:calc(var(--spacing, .25rem) * 8);height:calc(var(--spacing, .25rem) * 8);display:flex;align-items:center;justify-content:center;border-radius:50%;font-size:.875rem;font-weight:600}.week-day-num[data-today]{background:var(--color-primary);color:var(--color-on-primary)}.cal-week-body,.cal-day-view{overflow-y:auto;flex:1}.cal-day-view{display:flex;flex-direction:column}.time-row{display:grid;grid-template-columns:calc(var(--spacing, .25rem) * 16) repeat(7,1fr);border-bottom:1px solid var(--color-outline-variant);min-height:calc(var(--spacing, .25rem) * 14)}.cal-day-view .time-row{grid-template-columns:calc(var(--spacing, .25rem) * 16) 1fr}.time-label{font-size:.75rem;color:var(--color-on-surface-variant);padding:var(--spacing, .25rem) calc(var(--spacing, .25rem) * 2);text-align:right;flex-shrink:0}.time-cell{border-left:1px solid var(--color-outline-variant);padding:calc(var(--spacing, .25rem) * .5);cursor:pointer;display:flex;flex-direction:column;gap:calc(var(--spacing, .25rem) * .5)}.time-cell:hover{background:var(--color-surface-container)}\n/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n"] }]
|
|
123
123
|
}], propDecorators: { events: [{ type: i0.Input, args: [{ isSignal: true, alias: "events", required: false }] }], view: [{ type: i0.Input, args: [{ isSignal: true, alias: "view", required: false }] }, { type: i0.Output, args: ["viewChange"] }], date: [{ type: i0.Input, args: [{ isSignal: true, alias: "date", required: false }] }, { type: i0.Output, args: ["dateChange"] }], eventClick: [{ type: i0.Output, args: ["eventClick"] }], dateClick: [{ type: i0.Output, args: ["dateClick"] }], viewChange: [{ type: i0.Output, args: ["viewChange"] }] } });
|
|
124
124
|
|
|
125
125
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"elementar-rt-components-calendar.mjs","sources":["../../../projects/components/calendar/src/calendar/calendar.component.ts","../../../projects/components/calendar/src/calendar/calendar.component.html","../../../projects/components/calendar/elementar-rt-components-calendar.ts"],"sourcesContent":["import {\n Component, input, output, signal, computed,\n ChangeDetectionStrategy, model\n} from '@angular/core';\nimport { TitleCasePipe } from '@angular/common';\n\nexport interface CalendarEvent {\n id: string | number;\n title: string;\n start: Date;\n end?: Date;\n color?: string;\n allDay?: boolean;\n data?: unknown;\n}\n\nexport type CalendarView = 'month' | 'week' | 'day';\n\n@Component({\n selector: 'emr-calendar',\n standalone: true,\n imports: [TitleCasePipe],\n templateUrl: './calendar.component.html',\n styleUrl: './calendar.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n '[attr.data-view]': 'view()',\n }\n})\nexport class CalendarComponent {\n events = input<CalendarEvent[]>([]);\n view = model<CalendarView>('month');\n date = model<Date>(new Date());\n\n eventClick = output<CalendarEvent>();\n dateClick = output<Date>();\n viewChange = output<CalendarView>();\n\n protected _DAYS = ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'];\n protected _MONTHS = [\n 'January','February','March','April','May','June',\n 'July','August','September','October','November','December'\n ];\n\n protected _title = computed(() => {\n const d = this.date();\n const v = this.view();\n if (v === 'month') return `${this._MONTHS[d.getMonth()]} ${d.getFullYear()}`;\n if (v === 'week') {\n const start = this._weekStart(d);\n const end = new Date(start); end.setDate(end.getDate() + 6);\n return `${this._MONTHS[start.getMonth()]} ${start.getDate()} – ${this._MONTHS[end.getMonth()]} ${end.getDate()}, ${end.getFullYear()}`;\n }\n return `${this._MONTHS[d.getMonth()]} ${d.getDate()}, ${d.getFullYear()}`;\n });\n\n protected _calendarDays = computed((): Date[] => {\n const d = this.date();\n const firstDay = new Date(d.getFullYear(), d.getMonth(), 1);\n const lastDay = new Date(d.getFullYear(), d.getMonth() + 1, 0);\n const days: Date[] = [];\n const startPad = firstDay.getDay();\n for (let i = startPad; i > 0; i--) {\n const prev = new Date(firstDay); prev.setDate(prev.getDate() - i);\n days.push(prev);\n }\n for (let i = 1; i <= lastDay.getDate(); i++) {\n days.push(new Date(d.getFullYear(), d.getMonth(), i));\n }\n while (days.length % 7 !== 0) {\n const next = new Date(days[days.length - 1]); next.setDate(next.getDate() + 1);\n days.push(next);\n }\n return days;\n });\n\n protected _weekDays = computed((): Date[] => {\n const start = this._weekStart(this.date());\n return Array.from({ length: 7 }, (_, i) => { const d = new Date(start); d.setDate(d.getDate() + i); return d; });\n });\n\n protected _hours = Array.from({ length: 24 }, (_, i) => i);\n\n protected _getEventsForDay(day: Date): CalendarEvent[] {\n return this.events().filter(e => this._sameDay(e.start, day));\n }\n\n protected _getEventsForHour(day: Date, hour: number): CalendarEvent[] {\n return this.events().filter(e => this._sameDay(e.start, day) && e.start.getHours() === hour);\n }\n\n protected _isToday(d: Date): boolean {\n return this._sameDay(d, new Date());\n }\n\n protected _isCurrentMonth(d: Date): boolean {\n const cur = this.date();\n return d.getMonth() === cur.getMonth() && d.getFullYear() === cur.getFullYear();\n }\n\n protected _isSelected(d: Date): boolean {\n return this._sameDay(d, this.date());\n }\n\n protected _navigate(delta: number): void {\n const d = new Date(this.date());\n const v = this.view();\n if (v === 'month') d.setMonth(d.getMonth() + delta);\n else if (v === 'week') d.setDate(d.getDate() + delta * 7);\n else d.setDate(d.getDate() + delta);\n this.date.set(d);\n }\n\n protected _goToToday(): void { this.date.set(new Date()); }\n\n protected _setView(v: CalendarView): void {\n this.view.set(v);\n this.viewChange.emit(v);\n }\n\n protected _onDateClick(d: Date): void {\n this.date.set(d);\n this.dateClick.emit(d);\n }\n\n protected _onEventClick(e: CalendarEvent, event: MouseEvent): void {\n event.stopPropagation();\n this.eventClick.emit(e);\n }\n\n protected _formatHour(h: number): string {\n if (h === 0) return '12 AM';\n if (h < 12) return `${h} AM`;\n if (h === 12) return '12 PM';\n return `${h - 12} PM`;\n }\n\n private _weekStart(d: Date): Date {\n const start = new Date(d);\n start.setDate(d.getDate() - d.getDay());\n return start;\n }\n\n private _sameDay(a: Date, b: Date): boolean {\n return a.getFullYear() === b.getFullYear() &&\n a.getMonth() === b.getMonth() &&\n a.getDate() === b.getDate();\n }\n}\n","<div class=\"cal-toolbar\">\n <div class=\"cal-nav\">\n <button type=\"button\" class=\"nav-btn\" (click)=\"_navigate(-1)\" aria-label=\"Previous\">\n <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><polyline points=\"15 18 9 12 15 6\"/></svg>\n </button>\n <span class=\"cal-title\">{{ _title() }}</span>\n <button type=\"button\" class=\"nav-btn\" (click)=\"_navigate(1)\" aria-label=\"Next\">\n <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><polyline points=\"9 18 15 12 9 6\"/></svg>\n </button>\n </div>\n <div class=\"cal-actions\">\n <button type=\"button\" class=\"today-btn\" (click)=\"_goToToday()\">Today</button>\n <div class=\"view-switcher\">\n @for (v of ['month','week','day']; track v) {\n <button type=\"button\" class=\"view-btn\" [attr.data-active]=\"view() === v || null\" (click)=\"_setView($any(v))\">{{ v | titlecase }}</button>\n }\n </div>\n </div>\n</div>\n\n@if (view() === 'month') {\n <div class=\"cal-grid-month\">\n @for (day of _DAYS; track day) {\n <div class=\"cal-day-header\">{{ day }}</div>\n }\n @for (day of _calendarDays(); track day.toISOString()) {\n <div\n class=\"cal-cell\"\n [attr.data-today]=\"_isToday(day) || null\"\n [attr.data-other-month]=\"!_isCurrentMonth(day) || null\"\n [attr.data-selected]=\"_isSelected(day) || null\"\n (click)=\"_onDateClick(day)\"\n >\n <span class=\"cal-date-num\">{{ day.getDate() }}</span>\n <div class=\"cal-events\">\n @for (ev of _getEventsForDay(day); track ev.id) {\n <div class=\"cal-event\" [style.background]=\"ev.color || null\" (click)=\"_onEventClick(ev, $event)\">\n {{ ev.title }}\n </div>\n }\n </div>\n </div>\n }\n </div>\n}\n\n@if (view() === 'week') {\n <div class=\"cal-week-header\">\n <div class=\"time-gutter\"></div>\n @for (day of _weekDays(); track day.toISOString()) {\n <div class=\"week-day-label\" [attr.data-today]=\"_isToday(day) || null\">\n <span class=\"week-day-name\">{{ _DAYS[day.getDay()] }}</span>\n <span class=\"week-day-num\" [attr.data-today]=\"_isToday(day) || null\">{{ day.getDate() }}</span>\n </div>\n }\n </div>\n <div class=\"cal-week-body\">\n @for (hour of _hours; track hour) {\n <div class=\"time-row\">\n <div class=\"time-label\">{{ _formatHour(hour) }}</div>\n @for (day of _weekDays(); track day.toISOString()) {\n <div class=\"time-cell\" (click)=\"_onDateClick(day)\">\n @for (ev of _getEventsForHour(day, hour); track ev.id) {\n <div class=\"cal-event\" [style.background]=\"ev.color || null\" (click)=\"_onEventClick(ev, $event)\">{{ ev.title }}</div>\n }\n </div>\n }\n </div>\n }\n </div>\n}\n\n@if (view() === 'day') {\n <div class=\"cal-day-view\">\n @for (hour of _hours; track hour) {\n <div class=\"time-row\">\n <div class=\"time-label\">{{ _formatHour(hour) }}</div>\n <div class=\"time-cell\" (click)=\"_onDateClick(date())\">\n @for (ev of _getEventsForHour(date(), hour); track ev.id) {\n <div class=\"cal-event\" [style.background]=\"ev.color || null\" (click)=\"_onEventClick(ev, $event)\">{{ ev.title }}</div>\n }\n </div>\n </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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"}
|
|
1
|
+
{"version":3,"file":"elementar-rt-components-calendar.mjs","sources":["../../../projects/components/calendar/src/calendar/calendar.component.ts","../../../projects/components/calendar/src/calendar/calendar.component.html","../../../projects/components/calendar/elementar-rt-components-calendar.ts"],"sourcesContent":["import {\n Component, input, output, signal, computed,\n ChangeDetectionStrategy, model\n} from '@angular/core';\nimport { TitleCasePipe } from '@angular/common';\n\nexport interface CalendarEvent {\n id: string | number;\n title: string;\n start: Date;\n end?: Date;\n color?: string;\n allDay?: boolean;\n data?: unknown;\n}\n\nexport type CalendarView = 'month' | 'week' | 'day';\n\n@Component({\n selector: 'emr-calendar',\n standalone: true,\n imports: [TitleCasePipe],\n templateUrl: './calendar.component.html',\n styleUrl: './calendar.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n '[attr.data-view]': 'view()',\n }\n})\nexport class CalendarComponent {\n events = input<CalendarEvent[]>([]);\n view = model<CalendarView>('month');\n date = model<Date>(new Date());\n\n eventClick = output<CalendarEvent>();\n dateClick = output<Date>();\n viewChange = output<CalendarView>();\n\n protected _DAYS = ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'];\n protected _MONTHS = [\n 'January','February','March','April','May','June',\n 'July','August','September','October','November','December'\n ];\n\n protected _title = computed(() => {\n const d = this.date();\n const v = this.view();\n if (v === 'month') return `${this._MONTHS[d.getMonth()]} ${d.getFullYear()}`;\n if (v === 'week') {\n const start = this._weekStart(d);\n const end = new Date(start); end.setDate(end.getDate() + 6);\n return `${this._MONTHS[start.getMonth()]} ${start.getDate()} – ${this._MONTHS[end.getMonth()]} ${end.getDate()}, ${end.getFullYear()}`;\n }\n return `${this._MONTHS[d.getMonth()]} ${d.getDate()}, ${d.getFullYear()}`;\n });\n\n protected _calendarDays = computed((): Date[] => {\n const d = this.date();\n const firstDay = new Date(d.getFullYear(), d.getMonth(), 1);\n const lastDay = new Date(d.getFullYear(), d.getMonth() + 1, 0);\n const days: Date[] = [];\n const startPad = firstDay.getDay();\n for (let i = startPad; i > 0; i--) {\n const prev = new Date(firstDay); prev.setDate(prev.getDate() - i);\n days.push(prev);\n }\n for (let i = 1; i <= lastDay.getDate(); i++) {\n days.push(new Date(d.getFullYear(), d.getMonth(), i));\n }\n while (days.length % 7 !== 0) {\n const next = new Date(days[days.length - 1]); next.setDate(next.getDate() + 1);\n days.push(next);\n }\n return days;\n });\n\n protected _weekDays = computed((): Date[] => {\n const start = this._weekStart(this.date());\n return Array.from({ length: 7 }, (_, i) => { const d = new Date(start); d.setDate(d.getDate() + i); return d; });\n });\n\n protected _hours = Array.from({ length: 24 }, (_, i) => i);\n\n protected _getEventsForDay(day: Date): CalendarEvent[] {\n return this.events().filter(e => this._sameDay(e.start, day));\n }\n\n protected _getEventsForHour(day: Date, hour: number): CalendarEvent[] {\n return this.events().filter(e => this._sameDay(e.start, day) && e.start.getHours() === hour);\n }\n\n protected _isToday(d: Date): boolean {\n return this._sameDay(d, new Date());\n }\n\n protected _isCurrentMonth(d: Date): boolean {\n const cur = this.date();\n return d.getMonth() === cur.getMonth() && d.getFullYear() === cur.getFullYear();\n }\n\n protected _isSelected(d: Date): boolean {\n return this._sameDay(d, this.date());\n }\n\n protected _navigate(delta: number): void {\n const d = new Date(this.date());\n const v = this.view();\n if (v === 'month') d.setMonth(d.getMonth() + delta);\n else if (v === 'week') d.setDate(d.getDate() + delta * 7);\n else d.setDate(d.getDate() + delta);\n this.date.set(d);\n }\n\n protected _goToToday(): void { this.date.set(new Date()); }\n\n protected _setView(v: CalendarView): void {\n this.view.set(v);\n this.viewChange.emit(v);\n }\n\n protected _onDateClick(d: Date): void {\n this.date.set(d);\n this.dateClick.emit(d);\n }\n\n protected _onEventClick(e: CalendarEvent, event: MouseEvent): void {\n event.stopPropagation();\n this.eventClick.emit(e);\n }\n\n protected _formatHour(h: number): string {\n if (h === 0) return '12 AM';\n if (h < 12) return `${h} AM`;\n if (h === 12) return '12 PM';\n return `${h - 12} PM`;\n }\n\n private _weekStart(d: Date): Date {\n const start = new Date(d);\n start.setDate(d.getDate() - d.getDay());\n return start;\n }\n\n private _sameDay(a: Date, b: Date): boolean {\n return a.getFullYear() === b.getFullYear() &&\n a.getMonth() === b.getMonth() &&\n a.getDate() === b.getDate();\n }\n}\n","<div class=\"cal-toolbar\">\n <div class=\"cal-nav\">\n <button type=\"button\" class=\"nav-btn\" (click)=\"_navigate(-1)\" aria-label=\"Previous\">\n <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><polyline points=\"15 18 9 12 15 6\"/></svg>\n </button>\n <span class=\"cal-title\">{{ _title() }}</span>\n <button type=\"button\" class=\"nav-btn\" (click)=\"_navigate(1)\" aria-label=\"Next\">\n <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><polyline points=\"9 18 15 12 9 6\"/></svg>\n </button>\n </div>\n <div class=\"cal-actions\">\n <button type=\"button\" class=\"today-btn\" (click)=\"_goToToday()\">Today</button>\n <div class=\"view-switcher\">\n @for (v of ['month','week','day']; track v) {\n <button type=\"button\" class=\"view-btn\" [attr.data-active]=\"view() === v || null\" (click)=\"_setView($any(v))\">{{ v | titlecase }}</button>\n }\n </div>\n </div>\n</div>\n\n@if (view() === 'month') {\n <div class=\"cal-grid-month\">\n @for (day of _DAYS; track day) {\n <div class=\"cal-day-header\">{{ day }}</div>\n }\n @for (day of _calendarDays(); track day.toISOString()) {\n <div\n class=\"cal-cell\"\n [attr.data-today]=\"_isToday(day) || null\"\n [attr.data-other-month]=\"!_isCurrentMonth(day) || null\"\n [attr.data-selected]=\"_isSelected(day) || null\"\n (click)=\"_onDateClick(day)\"\n >\n <span class=\"cal-date-num\">{{ day.getDate() }}</span>\n <div class=\"cal-events\">\n @for (ev of _getEventsForDay(day); track ev.id) {\n <div class=\"cal-event\" [style.background]=\"ev.color || null\" (click)=\"_onEventClick(ev, $event)\">\n {{ ev.title }}\n </div>\n }\n </div>\n </div>\n }\n </div>\n}\n\n@if (view() === 'week') {\n <div class=\"cal-week-header\">\n <div class=\"time-gutter\"></div>\n @for (day of _weekDays(); track day.toISOString()) {\n <div class=\"week-day-label\" [attr.data-today]=\"_isToday(day) || null\">\n <span class=\"week-day-name\">{{ _DAYS[day.getDay()] }}</span>\n <span class=\"week-day-num\" [attr.data-today]=\"_isToday(day) || null\">{{ day.getDate() }}</span>\n </div>\n }\n </div>\n <div class=\"cal-week-body\">\n @for (hour of _hours; track hour) {\n <div class=\"time-row\">\n <div class=\"time-label\">{{ _formatHour(hour) }}</div>\n @for (day of _weekDays(); track day.toISOString()) {\n <div class=\"time-cell\" (click)=\"_onDateClick(day)\">\n @for (ev of _getEventsForHour(day, hour); track ev.id) {\n <div class=\"cal-event\" [style.background]=\"ev.color || null\" (click)=\"_onEventClick(ev, $event)\">{{ ev.title }}</div>\n }\n </div>\n }\n </div>\n }\n </div>\n}\n\n@if (view() === 'day') {\n <div class=\"cal-day-view\">\n @for (hour of _hours; track hour) {\n <div class=\"time-row\">\n <div class=\"time-label\">{{ _formatHour(hour) }}</div>\n <div class=\"time-cell\" (click)=\"_onDateClick(date())\">\n @for (ev of _getEventsForHour(date(), hour); track ev.id) {\n <div class=\"cal-event\" [style.background]=\"ev.color || null\" (click)=\"_onEventClick(ev, $event)\">{{ ev.title }}</div>\n }\n </div>\n </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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"}
|
|
@@ -2,26 +2,20 @@ import * as i0 from '@angular/core';
|
|
|
2
2
|
import { input, booleanAttribute, Component, inject, ElementRef, Renderer2, Directive } from '@angular/core';
|
|
3
3
|
|
|
4
4
|
class CardOverlayComponent {
|
|
5
|
-
withTranslate = input(false, ...(ngDevMode ?
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
}]));
|
|
11
|
-
disabled = input(false, ...(ngDevMode ? [{ debugName: "disabled", transform: booleanAttribute }] : [{
|
|
12
|
-
transform: booleanAttribute
|
|
13
|
-
}]));
|
|
14
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: CardOverlayComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
15
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.3.25", type: CardOverlayComponent, isStandalone: true, selector: "emr-card-overlay", inputs: { withTranslate: { classPropertyName: "withTranslate", publicName: "withTranslate", isSignal: true, isRequired: false, transformFunction: null }, withBlur: { classPropertyName: "withBlur", publicName: "withBlur", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class.with-translate": "withTranslate()", "class.with-blur": "withBlur()", "class.is-disabled": "disabled()" }, classAttribute: "emr-card-overlay" }, exportAs: ["emrCardOverlay"], ngImport: i0, template: "<div class=\"background\"></div>\n<div class=\"content\">\n <ng-content/>\n</div>\n", styles: [":host{display:flex;align-items:center;justify-content:center;position:absolute;inset:0;z-index:1;border-radius:inherit}:host .background{background-color:#0000004d;position:absolute;inset:0;z-index:0;opacity:0;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s;border-radius:inherit}:host .content{z-index:1;opacity:0;border-radius:inherit}:host.with-translate .background{transition:all .15s cubic-bezier(.4,0,.2,1)}:host.with-blur .background{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}:host.is-disabled{z-index:-1}:host-context(.emr-card-overlay-container:hover):not(.is-disabled) .background,:host-context(.emr-card-overlay-container:hover):not(.is-disabled) .content{opacity:100%}:host-context(.emr-card-overlay-container:hover):not(.is-disabled).with-translate .background{transition:all .15s cubic-bezier(.4,0,.2,1)}:host-context(html.dark) .background{background-color:#fff3}\n/*! tailwindcss v4.3.2 | MIT License | https://tailwindcss.com */\n"] });
|
|
5
|
+
withTranslate = input(false, { ...(ngDevMode ? { debugName: "withTranslate" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
|
|
6
|
+
withBlur = input(false, { ...(ngDevMode ? { debugName: "withBlur" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
|
|
7
|
+
disabled = input(false, { ...(ngDevMode ? { debugName: "disabled" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
|
|
8
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.22", ngImport: i0, type: CardOverlayComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
9
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.2.22", type: CardOverlayComponent, isStandalone: true, selector: "emr-card-overlay", inputs: { withTranslate: { classPropertyName: "withTranslate", publicName: "withTranslate", isSignal: true, isRequired: false, transformFunction: null }, withBlur: { classPropertyName: "withBlur", publicName: "withBlur", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class.with-translate": "withTranslate()", "class.with-blur": "withBlur()", "class.is-disabled": "disabled()" }, classAttribute: "emr-card-overlay" }, exportAs: ["emrCardOverlay"], ngImport: i0, template: "<div class=\"background\"></div>\n<div class=\"content\">\n <ng-content/>\n</div>\n", styles: [":host{display:flex;align-items:center;justify-content:center;position:absolute;inset:0;z-index:1;border-radius:inherit}:host .background{background-color:#0000004d;position:absolute;inset:0;z-index:0;opacity:0;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s;border-radius:inherit}:host .content{z-index:1;opacity:0;border-radius:inherit}:host.with-translate .background{transition:all .15s cubic-bezier(.4,0,.2,1)}:host.with-blur .background{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}:host.is-disabled{z-index:-1}:host-context(.emr-card-overlay-container:hover):not(.is-disabled) .background,:host-context(.emr-card-overlay-container:hover):not(.is-disabled) .content{opacity:100%}:host-context(.emr-card-overlay-container:hover):not(.is-disabled).with-translate .background{transition:all .15s cubic-bezier(.4,0,.2,1)}:host-context(html.dark) .background{background-color:#fff3}\n/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n"] });
|
|
16
10
|
}
|
|
17
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
11
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.22", ngImport: i0, type: CardOverlayComponent, decorators: [{
|
|
18
12
|
type: Component,
|
|
19
13
|
args: [{ selector: 'emr-card-overlay', exportAs: 'emrCardOverlay', imports: [], host: {
|
|
20
14
|
'class': 'emr-card-overlay',
|
|
21
15
|
'[class.with-translate]': 'withTranslate()',
|
|
22
16
|
'[class.with-blur]': 'withBlur()',
|
|
23
17
|
'[class.is-disabled]': 'disabled()',
|
|
24
|
-
}, template: "<div class=\"background\"></div>\n<div class=\"content\">\n <ng-content/>\n</div>\n", styles: [":host{display:flex;align-items:center;justify-content:center;position:absolute;inset:0;z-index:1;border-radius:inherit}:host .background{background-color:#0000004d;position:absolute;inset:0;z-index:0;opacity:0;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s;border-radius:inherit}:host .content{z-index:1;opacity:0;border-radius:inherit}:host.with-translate .background{transition:all .15s cubic-bezier(.4,0,.2,1)}:host.with-blur .background{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}:host.is-disabled{z-index:-1}:host-context(.emr-card-overlay-container:hover):not(.is-disabled) .background,:host-context(.emr-card-overlay-container:hover):not(.is-disabled) .content{opacity:100%}:host-context(.emr-card-overlay-container:hover):not(.is-disabled).with-translate .background{transition:all .15s cubic-bezier(.4,0,.2,1)}:host-context(html.dark) .background{background-color:#fff3}\n/*! tailwindcss v4.3.
|
|
18
|
+
}, template: "<div class=\"background\"></div>\n<div class=\"content\">\n <ng-content/>\n</div>\n", styles: [":host{display:flex;align-items:center;justify-content:center;position:absolute;inset:0;z-index:1;border-radius:inherit}:host .background{background-color:#0000004d;position:absolute;inset:0;z-index:0;opacity:0;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s;border-radius:inherit}:host .content{z-index:1;opacity:0;border-radius:inherit}:host.with-translate .background{transition:all .15s cubic-bezier(.4,0,.2,1)}:host.with-blur .background{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}:host.is-disabled{z-index:-1}:host-context(.emr-card-overlay-container:hover):not(.is-disabled) .background,:host-context(.emr-card-overlay-container:hover):not(.is-disabled) .content{opacity:100%}:host-context(.emr-card-overlay-container:hover):not(.is-disabled).with-translate .background{transition:all .15s cubic-bezier(.4,0,.2,1)}:host-context(html.dark) .background{background-color:#fff3}\n/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n"] }]
|
|
25
19
|
}], propDecorators: { withTranslate: [{ type: i0.Input, args: [{ isSignal: true, alias: "withTranslate", required: false }] }], withBlur: [{ type: i0.Input, args: [{ isSignal: true, alias: "withBlur", required: false }] }], disabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }] } });
|
|
26
20
|
|
|
27
21
|
class CardOverlayContainerDirective {
|
|
@@ -32,10 +26,10 @@ class CardOverlayContainerDirective {
|
|
|
32
26
|
this._renderer.setStyle(nativeElement, 'position', 'relative');
|
|
33
27
|
this._renderer.setStyle(nativeElement, 'overflow', 'hidden');
|
|
34
28
|
}
|
|
35
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
36
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "
|
|
29
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.22", ngImport: i0, type: CardOverlayContainerDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
30
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.22", type: CardOverlayContainerDirective, isStandalone: true, selector: "[emrCardOverlayContainer]", host: { classAttribute: "emr-card-overlay-container" }, exportAs: ["emrCardOverlayContainer"], ngImport: i0 });
|
|
37
31
|
}
|
|
38
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
32
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.22", ngImport: i0, type: CardOverlayContainerDirective, decorators: [{
|
|
39
33
|
type: Directive,
|
|
40
34
|
args: [{
|
|
41
35
|
selector: '[emrCardOverlayContainer]',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"elementar-rt-components-card-overlay.mjs","sources":["../../../projects/components/card-overlay/src/card-overlay/card-overlay.component.ts","../../../projects/components/card-overlay/src/card-overlay/card-overlay.component.html","../../../projects/components/card-overlay/src/card-overlay-container.directive.ts","../../../projects/components/card-overlay/elementar-rt-components-card-overlay.ts"],"sourcesContent":["import { booleanAttribute, Component, input } from '@angular/core';\n\n@Component({\n selector: 'emr-card-overlay',\n exportAs: 'emrCardOverlay',\n imports: [],\n templateUrl: './card-overlay.component.html',\n styleUrl: './card-overlay.component.scss',\n host: {\n 'class': 'emr-card-overlay',\n '[class.with-translate]': 'withTranslate()',\n '[class.with-blur]': 'withBlur()',\n '[class.is-disabled]': 'disabled()',\n }\n})\nexport class CardOverlayComponent {\n withTranslate = input(false, {\n transform: booleanAttribute\n });\n withBlur = input(false, {\n transform: booleanAttribute\n });\n disabled = input(false, {\n transform: booleanAttribute\n });\n}\n","<div class=\"background\"></div>\n<div class=\"content\">\n <ng-content/>\n</div>\n","import { Directive, ElementRef, inject, OnInit, Renderer2 } from '@angular/core';\n\n@Directive({\n selector: '[emrCardOverlayContainer]',\n exportAs: 'emrCardOverlayContainer',\n standalone: true,\n host: {\n 'class': 'emr-card-overlay-container',\n }\n})\nexport class CardOverlayContainerDirective implements OnInit {\n private _elementRef = inject(ElementRef);\n private _renderer = inject(Renderer2);\n\n ngOnInit() {\n const nativeElement = this._elementRef.nativeElement as HTMLElement;\n this._renderer.setStyle(nativeElement, 'position', 'relative');\n this._renderer.setStyle(nativeElement, 'overflow', 'hidden');\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;MAea,oBAAoB,CAAA;IAC/B,aAAa,GAAG,KAAK,CAAC,KAAK,
|
|
1
|
+
{"version":3,"file":"elementar-rt-components-card-overlay.mjs","sources":["../../../projects/components/card-overlay/src/card-overlay/card-overlay.component.ts","../../../projects/components/card-overlay/src/card-overlay/card-overlay.component.html","../../../projects/components/card-overlay/src/card-overlay-container.directive.ts","../../../projects/components/card-overlay/elementar-rt-components-card-overlay.ts"],"sourcesContent":["import { booleanAttribute, Component, input } from '@angular/core';\n\n@Component({\n selector: 'emr-card-overlay',\n exportAs: 'emrCardOverlay',\n imports: [],\n templateUrl: './card-overlay.component.html',\n styleUrl: './card-overlay.component.scss',\n host: {\n 'class': 'emr-card-overlay',\n '[class.with-translate]': 'withTranslate()',\n '[class.with-blur]': 'withBlur()',\n '[class.is-disabled]': 'disabled()',\n }\n})\nexport class CardOverlayComponent {\n withTranslate = input(false, {\n transform: booleanAttribute\n });\n withBlur = input(false, {\n transform: booleanAttribute\n });\n disabled = input(false, {\n transform: booleanAttribute\n });\n}\n","<div class=\"background\"></div>\n<div class=\"content\">\n <ng-content/>\n</div>\n","import { Directive, ElementRef, inject, OnInit, Renderer2 } from '@angular/core';\n\n@Directive({\n selector: '[emrCardOverlayContainer]',\n exportAs: 'emrCardOverlayContainer',\n standalone: true,\n host: {\n 'class': 'emr-card-overlay-container',\n }\n})\nexport class CardOverlayContainerDirective implements OnInit {\n private _elementRef = inject(ElementRef);\n private _renderer = inject(Renderer2);\n\n ngOnInit() {\n const nativeElement = this._elementRef.nativeElement as HTMLElement;\n this._renderer.setStyle(nativeElement, 'position', 'relative');\n this._renderer.setStyle(nativeElement, 'overflow', 'hidden');\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;MAea,oBAAoB,CAAA;IAC/B,aAAa,GAAG,KAAK,CAAC,KAAK,qFACzB,SAAS,EAAE,gBAAgB,EAAA,CAC3B;IACF,QAAQ,GAAG,KAAK,CAAC,KAAK,gFACpB,SAAS,EAAE,gBAAgB,EAAA,CAC3B;IACF,QAAQ,GAAG,KAAK,CAAC,KAAK,gFACpB,SAAS,EAAE,gBAAgB,EAAA,CAC3B;wGATS,oBAAoB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAApB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,oBAAoB,qrBCfjC,sFAIA,EAAA,MAAA,EAAA,CAAA,4/BAAA,CAAA,EAAA,CAAA;;4FDWa,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBAbhC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,kBAAkB,EAAA,QAAA,EAClB,gBAAgB,EAAA,OAAA,EACjB,EAAE,EAAA,IAAA,EAGL;AACJ,wBAAA,OAAO,EAAE,kBAAkB;AAC3B,wBAAA,wBAAwB,EAAE,iBAAiB;AAC3C,wBAAA,mBAAmB,EAAE,YAAY;AACjC,wBAAA,qBAAqB,EAAE,YAAY;AACpC,qBAAA,EAAA,QAAA,EAAA,sFAAA,EAAA,MAAA,EAAA,CAAA,4/BAAA,CAAA,EAAA;;;MEHU,6BAA6B,CAAA;AAChC,IAAA,WAAW,GAAG,MAAM,CAAC,UAAU,CAAC;AAChC,IAAA,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC;IAErC,QAAQ,GAAA;AACN,QAAA,MAAM,aAAa,GAAG,IAAI,CAAC,WAAW,CAAC,aAA4B;QACnE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,aAAa,EAAE,UAAU,EAAE,UAAU,CAAC;QAC9D,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,aAAa,EAAE,UAAU,EAAE,QAAQ,CAAC;IAC9D;wGARW,6BAA6B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;4FAA7B,6BAA6B,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,2BAAA,EAAA,IAAA,EAAA,EAAA,cAAA,EAAA,4BAAA,EAAA,EAAA,QAAA,EAAA,CAAA,yBAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA;;4FAA7B,6BAA6B,EAAA,UAAA,EAAA,CAAA;kBARzC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,2BAA2B;AACrC,oBAAA,QAAQ,EAAE,yBAAyB;AACnC,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,IAAI,EAAE;AACJ,wBAAA,OAAO,EAAE,4BAA4B;AACtC;AACF,iBAAA;;;ACTD;;AAEG;;"}
|
|
@@ -2,52 +2,52 @@ import * as i0 from '@angular/core';
|
|
|
2
2
|
import { input, booleanAttribute, Component } from '@angular/core';
|
|
3
3
|
|
|
4
4
|
class CardComponent {
|
|
5
|
-
variant = input('elevated', ...(ngDevMode ? [{ debugName: "variant" }] : []));
|
|
6
|
-
interactive = input(false, ...(ngDevMode ?
|
|
7
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
8
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "
|
|
5
|
+
variant = input('elevated', ...(ngDevMode ? [{ debugName: "variant" }] : /* istanbul ignore next */ []));
|
|
6
|
+
interactive = input(false, { ...(ngDevMode ? { debugName: "interactive" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
|
|
7
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.22", ngImport: i0, type: CardComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
8
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.2.22", type: CardComponent, isStandalone: true, selector: "emr-card", inputs: { variant: { classPropertyName: "variant", publicName: "variant", isSignal: true, isRequired: false, transformFunction: null }, interactive: { classPropertyName: "interactive", publicName: "interactive", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "attr.data-variant": "variant()", "class.is-interactive": "interactive()" }, classAttribute: "emr-card" }, exportAs: ["emrCard"], ngImport: i0, template: "<ng-content select=\"emr-card-media,[emrCardMedia]\"/>\n<ng-content select=\"emr-card-header,[emrCardHeader]\"/>\n<ng-content select=\"emr-card-content,[emrCardContent]\"/>\n<ng-content/>\n<ng-content select=\"emr-card-actions,[emrCardActions]\"/>\n", styles: [":host{--emr-card-bg: var(--color-surface-container-low);--emr-card-border-radius: 1.5rem;--emr-card-border: 1px solid transparent;--emr-card-shadow: 0 1px 3px var(--color-shadow), 0 4px 12px var(--color-shadow);--emr-card-padding: calc(var(--spacing, .25rem) * 5);--emr-card-gap: 0px;display:flex;flex-direction:column;background:var(--emr-card-bg);border-radius:var(--emr-card-border-radius);border:var(--emr-card-border);overflow:hidden}@supports (color: color-mix(in lab,red,red)){:host{--emr-card-shadow: 0 1px 3px color-mix(in srgb, var(--color-shadow) 8%, transparent), 0 4px 12px color-mix(in srgb, var(--color-shadow) 6%, transparent)}}:host[data-variant=elevated]{box-shadow:var(--emr-card-shadow)}:host[data-variant=outlined]{--emr-card-bg: var(--color-surface);--emr-card-border: 1px solid var(--color-outline-variant);box-shadow:none}:host[data-variant=flat]{--emr-card-bg: var(--color-surface-container-low);box-shadow:none}:host.is-interactive{cursor:pointer;transition:box-shadow .15s ease,transform .15s ease}:host.is-interactive:hover{box-shadow:0 4px 16px var(--color-shadow);transform:translateY(-1px)}@supports (color: color-mix(in lab,red,red)){:host.is-interactive:hover{box-shadow:0 4px 16px color-mix(in srgb,var(--color-shadow) 12%,transparent)}}\n/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n"] });
|
|
9
9
|
}
|
|
10
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
10
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.22", ngImport: i0, type: CardComponent, decorators: [{
|
|
11
11
|
type: Component,
|
|
12
12
|
args: [{ selector: 'emr-card', exportAs: 'emrCard', host: {
|
|
13
13
|
'class': 'emr-card',
|
|
14
14
|
'[attr.data-variant]': 'variant()',
|
|
15
15
|
'[class.is-interactive]': 'interactive()',
|
|
16
|
-
}, template: "<ng-content select=\"emr-card-media,[emrCardMedia]\"/>\n<ng-content select=\"emr-card-header,[emrCardHeader]\"/>\n<ng-content select=\"emr-card-content,[emrCardContent]\"/>\n<ng-content/>\n<ng-content select=\"emr-card-actions,[emrCardActions]\"/>\n", styles: [":host{--emr-card-bg: var(--color-surface-container-low);--emr-card-border-radius: 1.5rem;--emr-card-border: 1px solid transparent;--emr-card-shadow: 0 1px 3px var(--color-shadow), 0 4px 12px var(--color-shadow);--emr-card-padding: calc(var(--spacing, .25rem) * 5);--emr-card-gap:
|
|
16
|
+
}, template: "<ng-content select=\"emr-card-media,[emrCardMedia]\"/>\n<ng-content select=\"emr-card-header,[emrCardHeader]\"/>\n<ng-content select=\"emr-card-content,[emrCardContent]\"/>\n<ng-content/>\n<ng-content select=\"emr-card-actions,[emrCardActions]\"/>\n", styles: [":host{--emr-card-bg: var(--color-surface-container-low);--emr-card-border-radius: 1.5rem;--emr-card-border: 1px solid transparent;--emr-card-shadow: 0 1px 3px var(--color-shadow), 0 4px 12px var(--color-shadow);--emr-card-padding: calc(var(--spacing, .25rem) * 5);--emr-card-gap: 0px;display:flex;flex-direction:column;background:var(--emr-card-bg);border-radius:var(--emr-card-border-radius);border:var(--emr-card-border);overflow:hidden}@supports (color: color-mix(in lab,red,red)){:host{--emr-card-shadow: 0 1px 3px color-mix(in srgb, var(--color-shadow) 8%, transparent), 0 4px 12px color-mix(in srgb, var(--color-shadow) 6%, transparent)}}:host[data-variant=elevated]{box-shadow:var(--emr-card-shadow)}:host[data-variant=outlined]{--emr-card-bg: var(--color-surface);--emr-card-border: 1px solid var(--color-outline-variant);box-shadow:none}:host[data-variant=flat]{--emr-card-bg: var(--color-surface-container-low);box-shadow:none}:host.is-interactive{cursor:pointer;transition:box-shadow .15s ease,transform .15s ease}:host.is-interactive:hover{box-shadow:0 4px 16px var(--color-shadow);transform:translateY(-1px)}@supports (color: color-mix(in lab,red,red)){:host.is-interactive:hover{box-shadow:0 4px 16px color-mix(in srgb,var(--color-shadow) 12%,transparent)}}\n/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n"] }]
|
|
17
17
|
}], propDecorators: { variant: [{ type: i0.Input, args: [{ isSignal: true, alias: "variant", required: false }] }], interactive: [{ type: i0.Input, args: [{ isSignal: true, alias: "interactive", required: false }] }] } });
|
|
18
18
|
|
|
19
19
|
class CardHeaderComponent {
|
|
20
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
21
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
20
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.22", ngImport: i0, type: CardHeaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
21
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.22", type: CardHeaderComponent, isStandalone: true, selector: "emr-card-header", host: { classAttribute: "emr-card-header" }, exportAs: ["emrCardHeader"], ngImport: i0, template: `<ng-content/>`, isInline: true, styles: [":host{display:flex;align-items:center;gap:calc(var(--spacing) * 3);padding:calc(var(--spacing) * 4) calc(var(--spacing) * 5) 0}\n"] });
|
|
22
22
|
}
|
|
23
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
23
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.22", ngImport: i0, type: CardHeaderComponent, decorators: [{
|
|
24
24
|
type: Component,
|
|
25
25
|
args: [{ selector: 'emr-card-header', exportAs: 'emrCardHeader', template: `<ng-content/>`, host: { 'class': 'emr-card-header' }, styles: [":host{display:flex;align-items:center;gap:calc(var(--spacing) * 3);padding:calc(var(--spacing) * 4) calc(var(--spacing) * 5) 0}\n"] }]
|
|
26
26
|
}] });
|
|
27
27
|
|
|
28
28
|
class CardContentComponent {
|
|
29
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
30
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
29
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.22", ngImport: i0, type: CardContentComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
30
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.22", type: CardContentComponent, isStandalone: true, selector: "emr-card-content", host: { classAttribute: "emr-card-content" }, exportAs: ["emrCardContent"], ngImport: i0, template: `<ng-content/>`, isInline: true, styles: [":host{display:block;padding:calc(var(--spacing) * 4) calc(var(--spacing) * 5);flex:1}\n"] });
|
|
31
31
|
}
|
|
32
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
32
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.22", ngImport: i0, type: CardContentComponent, decorators: [{
|
|
33
33
|
type: Component,
|
|
34
34
|
args: [{ selector: 'emr-card-content', exportAs: 'emrCardContent', template: `<ng-content/>`, host: { 'class': 'emr-card-content' }, styles: [":host{display:block;padding:calc(var(--spacing) * 4) calc(var(--spacing) * 5);flex:1}\n"] }]
|
|
35
35
|
}] });
|
|
36
36
|
|
|
37
37
|
class CardActionsComponent {
|
|
38
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
39
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
38
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.22", ngImport: i0, type: CardActionsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
39
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.22", type: CardActionsComponent, isStandalone: true, selector: "emr-card-actions", host: { classAttribute: "emr-card-actions" }, exportAs: ["emrCardActions"], ngImport: i0, template: `<ng-content/>`, isInline: true, styles: [":host{display:flex;align-items:center;gap:calc(var(--spacing) * 2);padding:calc(var(--spacing) * 3) calc(var(--spacing) * 4);border-top:1px solid var(--color-outline-variant)}\n"] });
|
|
40
40
|
}
|
|
41
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
41
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.22", ngImport: i0, type: CardActionsComponent, decorators: [{
|
|
42
42
|
type: Component,
|
|
43
43
|
args: [{ selector: 'emr-card-actions', exportAs: 'emrCardActions', template: `<ng-content/>`, host: { 'class': 'emr-card-actions' }, styles: [":host{display:flex;align-items:center;gap:calc(var(--spacing) * 2);padding:calc(var(--spacing) * 3) calc(var(--spacing) * 4);border-top:1px solid var(--color-outline-variant)}\n"] }]
|
|
44
44
|
}] });
|
|
45
45
|
|
|
46
46
|
class CardMediaComponent {
|
|
47
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
48
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
47
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.22", ngImport: i0, type: CardMediaComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
48
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.22", type: CardMediaComponent, isStandalone: true, selector: "emr-card-media", host: { classAttribute: "emr-card-media" }, exportAs: ["emrCardMedia"], ngImport: i0, template: `<ng-content/>`, isInline: true, styles: [":host{display:block;overflow:hidden}:host img,:host video{width:100%;display:block;object-fit:cover}\n"] });
|
|
49
49
|
}
|
|
50
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
50
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.22", ngImport: i0, type: CardMediaComponent, decorators: [{
|
|
51
51
|
type: Component,
|
|
52
52
|
args: [{ selector: 'emr-card-media', exportAs: 'emrCardMedia', template: `<ng-content/>`, host: { 'class': 'emr-card-media' }, styles: [":host{display:block;overflow:hidden}:host img,:host video{width:100%;display:block;object-fit:cover}\n"] }]
|
|
53
53
|
}] });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"elementar-rt-components-card.mjs","sources":["../../../projects/components/card/src/card/card.component.ts","../../../projects/components/card/src/card/card.component.html","../../../projects/components/card/src/card-header.component.ts","../../../projects/components/card/src/card-content.component.ts","../../../projects/components/card/src/card-actions.component.ts","../../../projects/components/card/src/card-media.component.ts","../../../projects/components/card/elementar-rt-components-card.ts"],"sourcesContent":["import { booleanAttribute, Component, input } from '@angular/core';\n\nexport type CardVariant = 'elevated' | 'outlined' | 'flat';\n\n@Component({\n selector: 'emr-card',\n exportAs: 'emrCard',\n templateUrl: './card.component.html',\n styleUrl: './card.component.scss',\n host: {\n 'class': 'emr-card',\n '[attr.data-variant]': 'variant()',\n '[class.is-interactive]': 'interactive()',\n }\n})\nexport class CardComponent {\n variant = input<CardVariant>('elevated');\n interactive = input(false, { transform: booleanAttribute });\n}\n","<ng-content select=\"emr-card-media,[emrCardMedia]\"/>\n<ng-content select=\"emr-card-header,[emrCardHeader]\"/>\n<ng-content select=\"emr-card-content,[emrCardContent]\"/>\n<ng-content/>\n<ng-content select=\"emr-card-actions,[emrCardActions]\"/>\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'emr-card-header',\n exportAs: 'emrCardHeader',\n template: `<ng-content/>`,\n styles: [`:host { display: flex; align-items: center; gap: calc(var(--spacing) * 3); padding: calc(var(--spacing) * 4) calc(var(--spacing) * 5) 0; }`],\n host: { 'class': 'emr-card-header' }\n})\nexport class CardHeaderComponent {}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'emr-card-content',\n exportAs: 'emrCardContent',\n template: `<ng-content/>`,\n styles: [`:host { display: block; padding: calc(var(--spacing) * 4) calc(var(--spacing) * 5); flex: 1; }`],\n host: { 'class': 'emr-card-content' }\n})\nexport class CardContentComponent {}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'emr-card-actions',\n exportAs: 'emrCardActions',\n template: `<ng-content/>`,\n styles: [`:host { display: flex; align-items: center; gap: calc(var(--spacing) * 2); padding: calc(var(--spacing) * 3) calc(var(--spacing) * 4); border-top: 1px solid var(--color-outline-variant); }`],\n host: { 'class': 'emr-card-actions' }\n})\nexport class CardActionsComponent {}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'emr-card-media',\n exportAs: 'emrCardMedia',\n template: `<ng-content/>`,\n styles: [`:host { display: block; overflow: hidden; img, video { width: 100%; display: block; object-fit: cover; } }`],\n host: { 'class': 'emr-card-media' }\n})\nexport class CardMediaComponent {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;MAea,aAAa,CAAA;AACxB,IAAA,OAAO,GAAG,KAAK,CAAc,UAAU,
|
|
1
|
+
{"version":3,"file":"elementar-rt-components-card.mjs","sources":["../../../projects/components/card/src/card/card.component.ts","../../../projects/components/card/src/card/card.component.html","../../../projects/components/card/src/card-header.component.ts","../../../projects/components/card/src/card-content.component.ts","../../../projects/components/card/src/card-actions.component.ts","../../../projects/components/card/src/card-media.component.ts","../../../projects/components/card/elementar-rt-components-card.ts"],"sourcesContent":["import { booleanAttribute, Component, input } from '@angular/core';\n\nexport type CardVariant = 'elevated' | 'outlined' | 'flat';\n\n@Component({\n selector: 'emr-card',\n exportAs: 'emrCard',\n templateUrl: './card.component.html',\n styleUrl: './card.component.scss',\n host: {\n 'class': 'emr-card',\n '[attr.data-variant]': 'variant()',\n '[class.is-interactive]': 'interactive()',\n }\n})\nexport class CardComponent {\n variant = input<CardVariant>('elevated');\n interactive = input(false, { transform: booleanAttribute });\n}\n","<ng-content select=\"emr-card-media,[emrCardMedia]\"/>\n<ng-content select=\"emr-card-header,[emrCardHeader]\"/>\n<ng-content select=\"emr-card-content,[emrCardContent]\"/>\n<ng-content/>\n<ng-content select=\"emr-card-actions,[emrCardActions]\"/>\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'emr-card-header',\n exportAs: 'emrCardHeader',\n template: `<ng-content/>`,\n styles: [`:host { display: flex; align-items: center; gap: calc(var(--spacing) * 3); padding: calc(var(--spacing) * 4) calc(var(--spacing) * 5) 0; }`],\n host: { 'class': 'emr-card-header' }\n})\nexport class CardHeaderComponent {}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'emr-card-content',\n exportAs: 'emrCardContent',\n template: `<ng-content/>`,\n styles: [`:host { display: block; padding: calc(var(--spacing) * 4) calc(var(--spacing) * 5); flex: 1; }`],\n host: { 'class': 'emr-card-content' }\n})\nexport class CardContentComponent {}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'emr-card-actions',\n exportAs: 'emrCardActions',\n template: `<ng-content/>`,\n styles: [`:host { display: flex; align-items: center; gap: calc(var(--spacing) * 2); padding: calc(var(--spacing) * 3) calc(var(--spacing) * 4); border-top: 1px solid var(--color-outline-variant); }`],\n host: { 'class': 'emr-card-actions' }\n})\nexport class CardActionsComponent {}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'emr-card-media',\n exportAs: 'emrCardMedia',\n template: `<ng-content/>`,\n styles: [`:host { display: block; overflow: hidden; img, video { width: 100%; display: block; object-fit: cover; } }`],\n host: { 'class': 'emr-card-media' }\n})\nexport class CardMediaComponent {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|