@acorex/components 19.15.0-next.8 → 20.0.0
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/accordion/README.md +3 -0
- package/accordion/index.d.ts +41 -0
- package/action-sheet/index.d.ts +126 -4
- package/alert/index.d.ts +93 -2
- package/audio-wave/index.d.ts +143 -3
- package/autocomplete/index.d.ts +123 -2
- package/avatar/index.d.ts +52 -3
- package/badge/index.d.ts +27 -2
- package/bottom-navigation/index.d.ts +67 -3
- package/breadcrumbs/index.d.ts +56 -4
- package/button/index.d.ts +230 -5
- package/button-group/index.d.ts +166 -3
- package/calendar/index.d.ts +367 -4
- package/check-box/index.d.ts +74 -2
- package/chips/index.d.ts +37 -2
- package/circular-progress/index.d.ts +73 -2
- package/collapse/index.d.ts +173 -3
- package/color-box/index.d.ts +72 -2
- package/color-palette/index.d.ts +293 -7
- package/comment/index.d.ts +107 -9
- package/conversation/index.d.ts +656 -18
- package/cron-job/index.d.ts +329 -8
- package/data-pager/index.d.ts +416 -9
- package/data-table/index.d.ts +1060 -11
- package/datetime-box/index.d.ts +112 -2
- package/datetime-input/index.d.ts +135 -2
- package/datetime-picker/index.d.ts +147 -3
- package/decorators/index.d.ts +129 -8
- package/dialog/index.d.ts +122 -4
- package/drawer/index.d.ts +86 -3
- package/drawer-2/README.md +3 -0
- package/drawer-2/index.d.ts +48 -0
- package/dropdown/index.d.ts +243 -4
- package/dropdown-button/index.d.ts +82 -2
- package/fesm2022/acorex-components-accordion.mjs +118 -0
- package/fesm2022/acorex-components-accordion.mjs.map +1 -0
- package/fesm2022/acorex-components-action-sheet.mjs +20 -27
- package/fesm2022/acorex-components-action-sheet.mjs.map +1 -1
- package/fesm2022/acorex-components-alert.mjs +9 -9
- package/fesm2022/acorex-components-alert.mjs.map +1 -1
- package/fesm2022/acorex-components-audio-wave.mjs +8 -8
- package/fesm2022/acorex-components-audio-wave.mjs.map +1 -1
- package/fesm2022/acorex-components-autocomplete.mjs +7 -7
- package/fesm2022/acorex-components-autocomplete.mjs.map +1 -1
- package/fesm2022/acorex-components-avatar.mjs +11 -11
- package/fesm2022/acorex-components-avatar.mjs.map +1 -1
- package/fesm2022/acorex-components-badge.mjs +9 -8
- package/fesm2022/acorex-components-badge.mjs.map +1 -1
- package/fesm2022/acorex-components-bottom-navigation.mjs +12 -12
- package/fesm2022/acorex-components-bottom-navigation.mjs.map +1 -1
- package/fesm2022/acorex-components-breadcrumbs.mjs +15 -21
- package/fesm2022/acorex-components-breadcrumbs.mjs.map +1 -1
- package/fesm2022/acorex-components-button-group.mjs +10 -10
- package/fesm2022/acorex-components-button-group.mjs.map +1 -1
- package/fesm2022/acorex-components-button.mjs +21 -27
- package/fesm2022/acorex-components-button.mjs.map +1 -1
- package/fesm2022/acorex-components-calendar.mjs +28 -22
- package/fesm2022/acorex-components-calendar.mjs.map +1 -1
- package/fesm2022/acorex-components-check-box.mjs +9 -9
- package/fesm2022/acorex-components-check-box.mjs.map +1 -1
- package/fesm2022/acorex-components-chips.mjs +8 -8
- package/fesm2022/acorex-components-chips.mjs.map +1 -1
- package/fesm2022/acorex-components-circular-progress.mjs +8 -8
- package/fesm2022/acorex-components-circular-progress.mjs.map +1 -1
- package/fesm2022/acorex-components-collapse.mjs +17 -25
- package/fesm2022/acorex-components-collapse.mjs.map +1 -1
- package/fesm2022/acorex-components-color-box.mjs +9 -11
- package/fesm2022/acorex-components-color-box.mjs.map +1 -1
- package/fesm2022/acorex-components-color-palette.mjs +59 -63
- package/fesm2022/acorex-components-color-palette.mjs.map +1 -1
- package/fesm2022/acorex-components-comment.mjs +31 -31
- package/fesm2022/acorex-components-comment.mjs.map +1 -1
- package/fesm2022/acorex-components-conversation.mjs +119 -151
- package/fesm2022/acorex-components-conversation.mjs.map +1 -1
- package/fesm2022/acorex-components-cron-job.mjs +64 -64
- package/fesm2022/acorex-components-cron-job.mjs.map +1 -1
- package/fesm2022/acorex-components-data-pager.mjs +44 -50
- package/fesm2022/acorex-components-data-pager.mjs.map +1 -1
- package/fesm2022/acorex-components-data-table.mjs +49 -49
- package/fesm2022/acorex-components-data-table.mjs.map +1 -1
- package/fesm2022/acorex-components-datetime-box.mjs +10 -22
- package/fesm2022/acorex-components-datetime-box.mjs.map +1 -1
- package/fesm2022/acorex-components-datetime-input.mjs +12 -9
- package/fesm2022/acorex-components-datetime-input.mjs.map +1 -1
- package/fesm2022/acorex-components-datetime-picker.mjs +10 -16
- package/fesm2022/acorex-components-datetime-picker.mjs.map +1 -1
- package/fesm2022/acorex-components-decorators.mjs +34 -51
- package/fesm2022/acorex-components-decorators.mjs.map +1 -1
- package/fesm2022/acorex-components-dialog.mjs +19 -26
- package/fesm2022/acorex-components-dialog.mjs.map +1 -1
- package/fesm2022/acorex-components-drawer-2.mjs +120 -0
- package/fesm2022/acorex-components-drawer-2.mjs.map +1 -0
- package/fesm2022/acorex-components-drawer.mjs +149 -60
- package/fesm2022/acorex-components-drawer.mjs.map +1 -1
- package/fesm2022/acorex-components-dropdown-button.mjs +9 -9
- package/fesm2022/acorex-components-dropdown-button.mjs.map +1 -1
- package/fesm2022/acorex-components-dropdown.mjs +14 -14
- package/fesm2022/acorex-components-dropdown.mjs.map +1 -1
- package/fesm2022/acorex-components-file-explorer.mjs +27 -28
- package/fesm2022/acorex-components-file-explorer.mjs.map +1 -1
- package/fesm2022/acorex-components-flow-chart.mjs +16 -16
- package/fesm2022/acorex-components-flow-chart.mjs.map +1 -1
- package/fesm2022/acorex-components-form.mjs +25 -30
- package/fesm2022/acorex-components-form.mjs.map +1 -1
- package/fesm2022/acorex-components-grid-layout-builder.mjs +10 -10
- package/fesm2022/acorex-components-grid-layout-builder.mjs.map +1 -1
- package/fesm2022/acorex-components-image-editor.mjs +39 -40
- package/fesm2022/acorex-components-image-editor.mjs.map +1 -1
- package/fesm2022/acorex-components-image.mjs +10 -10
- package/fesm2022/acorex-components-image.mjs.map +1 -1
- package/fesm2022/acorex-components-json-viewer.mjs +7 -7
- package/fesm2022/acorex-components-json-viewer.mjs.map +1 -1
- package/fesm2022/acorex-components-kbd.mjs +10 -10
- package/fesm2022/acorex-components-kbd.mjs.map +1 -1
- package/fesm2022/acorex-components-label.mjs +9 -9
- package/fesm2022/acorex-components-label.mjs.map +1 -1
- package/fesm2022/acorex-components-list.mjs +11 -21
- package/fesm2022/acorex-components-list.mjs.map +1 -1
- package/fesm2022/acorex-components-loading-dialog.mjs +18 -25
- package/fesm2022/acorex-components-loading-dialog.mjs.map +1 -1
- package/fesm2022/acorex-components-loading.mjs +23 -23
- package/fesm2022/acorex-components-loading.mjs.map +1 -1
- package/fesm2022/acorex-components-map.mjs +700 -193
- package/fesm2022/acorex-components-map.mjs.map +1 -1
- package/fesm2022/acorex-components-media-viewer.mjs +39 -43
- package/fesm2022/acorex-components-media-viewer.mjs.map +1 -1
- package/fesm2022/acorex-components-menu.mjs +41 -26
- package/fesm2022/acorex-components-menu.mjs.map +1 -1
- package/fesm2022/{acorex-components-modal-acorex-components-modal-CJ3M9U7p.mjs → acorex-components-modal-acorex-components-modal-DTLjJam5.mjs} +21 -21
- package/fesm2022/acorex-components-modal-acorex-components-modal-DTLjJam5.mjs.map +1 -0
- package/fesm2022/{acorex-components-modal-modal-content.component-Ef5XWxUb.mjs → acorex-components-modal-modal-content.component-CsxuUsLE.mjs} +5 -5
- package/fesm2022/acorex-components-modal-modal-content.component-CsxuUsLE.mjs.map +1 -0
- package/fesm2022/acorex-components-modal.mjs +1 -1
- package/fesm2022/acorex-components-navbar.mjs +7 -7
- package/fesm2022/acorex-components-navbar.mjs.map +1 -1
- package/fesm2022/acorex-components-notification.mjs +19 -23
- package/fesm2022/acorex-components-notification.mjs.map +1 -1
- package/fesm2022/acorex-components-number-box.mjs +7 -7
- package/fesm2022/acorex-components-number-box.mjs.map +1 -1
- package/fesm2022/acorex-components-otp.mjs +7 -7
- package/fesm2022/acorex-components-otp.mjs.map +1 -1
- package/fesm2022/acorex-components-page.mjs +10 -10
- package/fesm2022/acorex-components-page.mjs.map +1 -1
- package/fesm2022/acorex-components-paint.mjs +29 -29
- package/fesm2022/acorex-components-paint.mjs.map +1 -1
- package/fesm2022/acorex-components-password-box.mjs +12 -12
- package/fesm2022/acorex-components-password-box.mjs.map +1 -1
- package/fesm2022/acorex-components-pdf-reader.mjs +7 -7
- package/fesm2022/acorex-components-pdf-reader.mjs.map +1 -1
- package/fesm2022/acorex-components-phone-box.mjs +7 -7
- package/fesm2022/acorex-components-phone-box.mjs.map +1 -1
- package/fesm2022/acorex-components-picker.mjs +13 -13
- package/fesm2022/acorex-components-picker.mjs.map +1 -1
- package/fesm2022/acorex-components-popover.mjs +11 -11
- package/fesm2022/acorex-components-popover.mjs.map +1 -1
- package/fesm2022/acorex-components-popup.mjs +22 -39
- package/fesm2022/acorex-components-popup.mjs.map +1 -1
- package/fesm2022/acorex-components-progress-bar.mjs +8 -8
- package/fesm2022/acorex-components-progress-bar.mjs.map +1 -1
- package/fesm2022/acorex-components-qrcode.mjs +7 -7
- package/fesm2022/acorex-components-qrcode.mjs.map +1 -1
- package/fesm2022/acorex-components-query-builder.mjs +9 -10
- package/fesm2022/acorex-components-query-builder.mjs.map +1 -1
- package/fesm2022/acorex-components-radio.mjs +7 -7
- package/fesm2022/acorex-components-radio.mjs.map +1 -1
- package/fesm2022/acorex-components-rail-navigation.mjs +13 -13
- package/fesm2022/acorex-components-rail-navigation.mjs.map +1 -1
- package/fesm2022/acorex-components-range-slider.mjs +9 -9
- package/fesm2022/acorex-components-range-slider.mjs.map +1 -1
- package/fesm2022/acorex-components-rate-picker.mjs +7 -7
- package/fesm2022/acorex-components-rate-picker.mjs.map +1 -1
- package/fesm2022/acorex-components-rest-api-generator.mjs +26 -26
- package/fesm2022/acorex-components-rest-api-generator.mjs.map +1 -1
- package/fesm2022/acorex-components-result.mjs +8 -8
- package/fesm2022/acorex-components-result.mjs.map +1 -1
- package/fesm2022/acorex-components-routing-progress.mjs +13 -14
- package/fesm2022/acorex-components-routing-progress.mjs.map +1 -1
- package/fesm2022/acorex-components-scheduler.mjs +192 -146
- package/fesm2022/acorex-components-scheduler.mjs.map +1 -1
- package/fesm2022/acorex-components-scss.mjs +4 -4
- package/fesm2022/acorex-components-scss.mjs.map +1 -1
- package/fesm2022/acorex-components-search-box.mjs +12 -21
- package/fesm2022/acorex-components-search-box.mjs.map +1 -1
- package/fesm2022/acorex-components-select-box.mjs +7 -7
- package/fesm2022/acorex-components-select-box.mjs.map +1 -1
- package/fesm2022/acorex-components-selection-list-2.mjs +163 -0
- package/fesm2022/acorex-components-selection-list-2.mjs.map +1 -0
- package/fesm2022/acorex-components-selection-list.mjs +9 -9
- package/fesm2022/acorex-components-selection-list.mjs.map +1 -1
- package/fesm2022/acorex-components-side-menu.mjs +28 -21
- package/fesm2022/acorex-components-side-menu.mjs.map +1 -1
- package/fesm2022/acorex-components-skeleton.mjs +7 -7
- package/fesm2022/acorex-components-skeleton.mjs.map +1 -1
- package/fesm2022/acorex-components-slider.mjs +14 -15
- package/fesm2022/acorex-components-slider.mjs.map +1 -1
- package/fesm2022/acorex-components-sliding-item.mjs +14 -14
- package/fesm2022/acorex-components-sliding-item.mjs.map +1 -1
- package/fesm2022/acorex-components-step-wizard.mjs +18 -18
- package/fesm2022/acorex-components-step-wizard.mjs.map +1 -1
- package/fesm2022/acorex-components-switch.mjs +12 -12
- package/fesm2022/acorex-components-switch.mjs.map +1 -1
- package/fesm2022/acorex-components-tabs.mjs +17 -17
- package/fesm2022/acorex-components-tabs.mjs.map +1 -1
- package/fesm2022/acorex-components-tag-box.mjs +7 -7
- package/fesm2022/acorex-components-tag-box.mjs.map +1 -1
- package/fesm2022/acorex-components-tag.mjs +8 -8
- package/fesm2022/acorex-components-tag.mjs.map +1 -1
- package/fesm2022/acorex-components-text-area.mjs +7 -7
- package/fesm2022/acorex-components-text-area.mjs.map +1 -1
- package/fesm2022/acorex-components-text-box.mjs +10 -10
- package/fesm2022/acorex-components-text-box.mjs.map +1 -1
- package/fesm2022/acorex-components-time-duration.mjs +17 -9
- package/fesm2022/acorex-components-time-duration.mjs.map +1 -1
- package/fesm2022/acorex-components-time-line.mjs +10 -10
- package/fesm2022/acorex-components-time-line.mjs.map +1 -1
- package/fesm2022/acorex-components-toast.mjs +23 -31
- package/fesm2022/acorex-components-toast.mjs.map +1 -1
- package/fesm2022/acorex-components-toolbar.mjs +7 -7
- package/fesm2022/acorex-components-toolbar.mjs.map +1 -1
- package/fesm2022/acorex-components-tooltip.mjs +16 -16
- package/fesm2022/acorex-components-tooltip.mjs.map +1 -1
- package/fesm2022/acorex-components-tree-view.mjs +13 -12
- package/fesm2022/acorex-components-tree-view.mjs.map +1 -1
- package/fesm2022/acorex-components-uploader.mjs +28 -28
- package/fesm2022/acorex-components-uploader.mjs.map +1 -1
- package/fesm2022/acorex-components-video-player.mjs +7 -7
- package/fesm2022/acorex-components-video-player.mjs.map +1 -1
- package/fesm2022/acorex-components-wysiwyg.mjs +33 -33
- package/fesm2022/acorex-components-wysiwyg.mjs.map +1 -1
- package/fesm2022/acorex-components.mjs.map +1 -1
- package/file-explorer/index.d.ts +103 -8
- package/flow-chart/index.d.ts +159 -5
- package/form/index.d.ts +283 -6
- package/grid-layout-builder/index.d.ts +197 -4
- package/image/index.d.ts +95 -2
- package/image-editor/index.d.ts +268 -11
- package/index.d.ts +3 -1
- package/json-viewer/index.d.ts +25 -2
- package/kbd/index.d.ts +23 -3
- package/label/index.d.ts +58 -2
- package/list/index.d.ts +148 -2
- package/loading/index.d.ts +149 -6
- package/loading-dialog/index.d.ts +115 -4
- package/map/index.d.ts +661 -7
- package/media-viewer/index.d.ts +142 -9
- package/menu/index.d.ts +207 -6
- package/modal/index.d.ts +78 -5
- package/navbar/index.d.ts +22 -2
- package/notification/index.d.ts +134 -5
- package/number-box/index.d.ts +179 -2
- package/otp/index.d.ts +74 -3
- package/package.json +24 -12
- package/page/index.d.ts +58 -3
- package/paint/index.d.ts +157 -7
- package/password-box/index.d.ts +97 -3
- package/pdf-reader/index.d.ts +17 -2
- package/phone-box/index.d.ts +92 -2
- package/picker/index.d.ts +44 -4
- package/popover/index.d.ts +222 -2
- package/popup/index.d.ts +120 -4
- package/progress-bar/index.d.ts +65 -2
- package/qrcode/index.d.ts +68 -3
- package/query-builder/index.d.ts +52 -2
- package/radio/index.d.ts +33 -2
- package/rail-navigation/index.d.ts +74 -5
- package/range-slider/index.d.ts +320 -3
- package/rate-picker/index.d.ts +141 -2
- package/rest-api-generator/index.d.ts +129 -8
- package/result/index.d.ts +34 -2
- package/routing-progress/index.d.ts +39 -2
- package/scheduler/index.d.ts +556 -11
- package/scss/index.d.ts +10 -1
- package/search-box/index.d.ts +51 -2
- package/select-box/index.d.ts +161 -2
- package/selection-list/index.d.ts +93 -2
- package/selection-list-2/README.md +3 -0
- package/selection-list-2/index.d.ts +52 -0
- package/side-menu/index.d.ts +94 -4
- package/skeleton/index.d.ts +28 -2
- package/slider/index.d.ts +101 -2
- package/sliding-item/index.d.ts +45 -4
- package/step-wizard/index.d.ts +109 -5
- package/switch/index.d.ts +49 -3
- package/tabs/index.d.ts +156 -5
- package/tag/index.d.ts +26 -2
- package/tag-box/index.d.ts +41 -2
- package/text-area/index.d.ts +52 -2
- package/text-box/index.d.ts +92 -3
- package/time-duration/index.d.ts +48 -3
- package/time-line/index.d.ts +33 -3
- package/toast/index.d.ts +127 -5
- package/toolbar/index.d.ts +22 -2
- package/tooltip/index.d.ts +60 -3
- package/tree-view/index.d.ts +179 -4
- package/uploader/index.d.ts +188 -8
- package/video-player/index.d.ts +15 -2
- package/wysiwyg/index.d.ts +240 -9
- package/action-sheet/lib/action-sheet.class.d.ts +0 -40
- package/action-sheet/lib/action-sheet.component.d.ts +0 -59
- package/action-sheet/lib/action-sheet.module.d.ts +0 -16
- package/action-sheet/lib/action-sheet.service.d.ts +0 -16
- package/alert/lib/alert.component.d.ts +0 -82
- package/alert/lib/alert.module.d.ts +0 -9
- package/audio-wave/lib/audio-wave.component.d.ts +0 -112
- package/audio-wave/lib/audio-wave.module.d.ts +0 -12
- package/audio-wave/lib/interfaces/audio-wave.interface.d.ts +0 -16
- package/autocomplete/lib/autocomplete.component.d.ts +0 -114
- package/autocomplete/lib/autocomplete.module.d.ts +0 -7
- package/avatar/lib/avatar-group.component.d.ts +0 -5
- package/avatar/lib/avatar.component.d.ts +0 -37
- package/avatar/lib/avatar.module.d.ts +0 -9
- package/badge/lib/badge.component.d.ts +0 -16
- package/badge/lib/badge.module.d.ts +0 -8
- package/bottom-navigation/lib/bottom-navigation-item/bottom-navigation-item.component.d.ts +0 -15
- package/bottom-navigation/lib/bottom-navigation.component.d.ts +0 -43
- package/bottom-navigation/lib/bottom-navigation.module.d.ts +0 -9
- package/breadcrumbs/lib/breadcrumbs-item.class.d.ts +0 -9
- package/breadcrumbs/lib/breadcrumbs-item.component.d.ts +0 -25
- package/breadcrumbs/lib/breadcrumbs.component.d.ts +0 -15
- package/breadcrumbs/lib/breadcrumbs.module.d.ts +0 -10
- package/button/lib/button-item-list.component.d.ts +0 -56
- package/button/lib/button-item.class.d.ts +0 -24
- package/button/lib/button-item.component.d.ts +0 -77
- package/button/lib/button.component.d.ts +0 -65
- package/button/lib/button.module.d.ts +0 -13
- package/button-group/lib/button-group-item.component.d.ts +0 -79
- package/button-group/lib/button-group.component.d.ts +0 -79
- package/button-group/lib/button-group.module.d.ts +0 -11
- package/calendar/lib/calendar-range.component.d.ts +0 -82
- package/calendar/lib/calendar.class.d.ts +0 -89
- package/calendar/lib/calendar.component.d.ts +0 -183
- package/calendar/lib/calendar.module.d.ts +0 -13
- package/check-box/lib/check-box.component.d.ts +0 -62
- package/check-box/lib/check-box.module.d.ts +0 -10
- package/chips/lib/chips.component.d.ts +0 -26
- package/chips/lib/chips.module.d.ts +0 -8
- package/circular-progress/lib/circular-progress.component.d.ts +0 -63
- package/circular-progress/lib/circular-progress.module.d.ts +0 -7
- package/collapse/lib/collapse-group.component.d.ts +0 -68
- package/collapse/lib/collapse.component.d.ts +0 -101
- package/collapse/lib/collapse.module.d.ts +0 -10
- package/color-box/lib/color-box.component.d.ts +0 -59
- package/color-box/lib/color-box.module.d.ts +0 -11
- package/color-palette/lib/color-palette-input.component.d.ts +0 -65
- package/color-palette/lib/color-palette-picker.component.d.ts +0 -96
- package/color-palette/lib/color-palette-preview.component.d.ts +0 -33
- package/color-palette/lib/color-palette-swatches.component.d.ts +0 -51
- package/color-palette/lib/color-palette.class.d.ts +0 -28
- package/color-palette/lib/color-palette.component.d.ts +0 -18
- package/color-palette/lib/color-palette.module.d.ts +0 -22
- package/comment/lib/comment-container/comment-container.component.d.ts +0 -13
- package/comment/lib/comment-item/comment-item.component.d.ts +0 -23
- package/comment/lib/comment-tools/comment-date/comment-date.component.d.ts +0 -10
- package/comment/lib/comment-tools/comment-like/comment-like.component.d.ts +0 -16
- package/comment/lib/comment-tools/comment-menu-options/comment-menu-options.component.d.ts +0 -10
- package/comment/lib/comment-tools/comment-reply-more/comment-reply-more.component.d.ts +0 -5
- package/comment/lib/comment-tools/comment-reply-text/comment-reply-text.component.d.ts +0 -5
- package/comment/lib/comment-view/comment-view.component.d.ts +0 -9
- package/comment/lib/comment.module.d.ts +0 -21
- package/conversation/lib/classes/events.interface.d.ts +0 -7
- package/conversation/lib/conversation-container/conversation-container.component.d.ts +0 -9
- package/conversation/lib/conversation-input/conversation-input.component.d.ts +0 -126
- package/conversation/lib/conversation-input/conversation-input.interface.d.ts +0 -10
- package/conversation/lib/conversation-message/conversation-message.component.d.ts +0 -62
- package/conversation/lib/conversation-messages/conversation-message-audio/conversation-message-audio.component.d.ts +0 -95
- package/conversation/lib/conversation-messages/conversation-message-file/conversation-message-file.component.d.ts +0 -53
- package/conversation/lib/conversation-messages/conversation-message-image/conversation-message-image.component.d.ts +0 -40
- package/conversation/lib/conversation-messages/conversation-message-image-popup/conversation-message-image-popup.component.d.ts +0 -18
- package/conversation/lib/conversation-messages/conversation-message-text/conversation-message-text.component.d.ts +0 -44
- package/conversation/lib/conversation-messages/conversation-message-video/conversation-message-video.component.d.ts +0 -20
- package/conversation/lib/conversation-messages/conversation-message-voice/conversation-message-voice.component.d.ts +0 -102
- package/conversation/lib/conversation-view/conversation-view.component.d.ts +0 -27
- package/conversation/lib/conversation.module.d.ts +0 -45
- package/conversation/lib/conversation.types.d.ts +0 -26
- package/conversation/lib/services/conversation-message-type-registry.service.d.ts +0 -9
- package/conversation/lib/services/conversation.service.d.ts +0 -7
- package/conversation/lib/services/recording.service.d.ts +0 -20
- package/cron-job/lib/cron-job-container/cron-job-container.component.d.ts +0 -30
- package/cron-job/lib/cron-job.module.d.ts +0 -25
- package/cron-job/lib/cron-job.service.d.ts +0 -22
- package/cron-job/lib/day/day.component.d.ts +0 -24
- package/cron-job/lib/day/day.model.d.ts +0 -61
- package/cron-job/lib/day/day.service.d.ts +0 -17
- package/cron-job/lib/hours/hours.component.d.ts +0 -16
- package/cron-job/lib/hours/hours.model.d.ts +0 -5
- package/cron-job/lib/hours/hours.service.d.ts +0 -13
- package/cron-job/lib/minutes/minutes.component.d.ts +0 -16
- package/cron-job/lib/minutes/minutes.model.d.ts +0 -5
- package/cron-job/lib/minutes/minutes.service.d.ts +0 -13
- package/cron-job/lib/month/month.component.d.ts +0 -18
- package/cron-job/lib/month/month.model.d.ts +0 -5
- package/cron-job/lib/month/month.service.d.ts +0 -14
- package/cron-job/lib/seconds/seconds.component.d.ts +0 -16
- package/cron-job/lib/seconds/seconds.model.d.ts +0 -5
- package/cron-job/lib/seconds/seconds.service.d.ts +0 -13
- package/cron-job/lib/types/iexpression.d.ts +0 -3
- package/cron-job/lib/types/shared.model.d.ts +0 -37
- package/cron-job/lib/year/year.component.d.ts +0 -17
- package/cron-job/lib/year/year.model.d.ts +0 -16
- package/cron-job/lib/year/year.service.d.ts +0 -12
- package/data-pager/lib/data-pager-base.component.d.ts +0 -64
- package/data-pager/lib/data-pager-info.component.d.ts +0 -25
- package/data-pager/lib/data-pager-input-selector.component.d.ts +0 -28
- package/data-pager/lib/data-pager-next-buttons.component.d.ts +0 -32
- package/data-pager/lib/data-pager-numeric-selector.component.d.ts +0 -36
- package/data-pager/lib/data-pager-pagesize-dropdown.component.d.ts +0 -42
- package/data-pager/lib/data-pager-prev-buttons.component.d.ts +0 -32
- package/data-pager/lib/data-pager.component.d.ts +0 -151
- package/data-pager/lib/data-pager.module.d.ts +0 -22
- package/data-table/lib/base-data-table.class.d.ts +0 -38
- package/data-table/lib/columns/data-table-column-resizable.directive.d.ts +0 -24
- package/data-table/lib/columns/data-table-column.d.ts +0 -20
- package/data-table/lib/columns/data-text-column.component.d.ts +0 -100
- package/data-table/lib/columns/row-command-column.component.d.ts +0 -131
- package/data-table/lib/columns/row-expand-column.component.d.ts +0 -50
- package/data-table/lib/columns/row-index-column.component.d.ts +0 -74
- package/data-table/lib/columns/row-select-column.component.d.ts +0 -70
- package/data-table/lib/data-table/data-table.component.d.ts +0 -301
- package/data-table/lib/data-table.module.d.ts +0 -27
- package/data-table/lib/infinite-scroll-data-table/infinite-scroll-data-table.component.d.ts +0 -253
- package/datetime-box/lib/datetime-box.component.d.ts +0 -98
- package/datetime-box/lib/datetime-box.module.d.ts +0 -13
- package/datetime-input/lib/datetime-input.component.d.ts +0 -123
- package/datetime-input/lib/datetime-input.module.d.ts +0 -10
- package/datetime-picker/lib/datetime-picker.component.d.ts +0 -121
- package/datetime-picker/lib/datetime-picker.config.d.ts +0 -8
- package/datetime-picker/lib/datetime-picker.module.d.ts +0 -16
- package/decorators/lib/components/clear-button/clear-button.component.d.ts +0 -38
- package/decorators/lib/components/close-button/close-button.component.d.ts +0 -35
- package/decorators/lib/components/color-indicator/color-indicator.component.d.ts +0 -6
- package/decorators/lib/components/full-screen/full-screen-button.component.d.ts +0 -7
- package/decorators/lib/components/generic-content.component.d.ts +0 -10
- package/decorators/lib/components/heading/heading.component.d.ts +0 -17
- package/decorators/lib/components/icon/icon.component.d.ts +0 -20
- package/decorators/lib/decorators.module.d.ts +0 -14
- package/dialog/lib/dialog.class.d.ts +0 -39
- package/dialog/lib/dialog.component.d.ts +0 -41
- package/dialog/lib/dialog.module.d.ts +0 -16
- package/dialog/lib/dialog.service.d.ts +0 -31
- package/drawer/lib/drawer/drawer-container/drawer-container.component.d.ts +0 -12
- package/drawer/lib/drawer/drawer-item/drawer.component.d.ts +0 -29
- package/drawer/lib/drawer.module.d.ts +0 -9
- package/drawer/lib/drawer.service.d.ts +0 -7
- package/dropdown/lib/dropdown-box.class.d.ts +0 -17
- package/dropdown/lib/dropdown-box.component.d.ts +0 -97
- package/dropdown/lib/dropdown-panel.component.d.ts +0 -120
- package/dropdown/lib/dropdown.module.d.ts +0 -14
- package/dropdown-button/lib/dropdown-button.component.d.ts +0 -67
- package/dropdown-button/lib/dropdown-button.module.d.ts +0 -13
- package/fesm2022/acorex-components-modal-acorex-components-modal-CJ3M9U7p.mjs.map +0 -1
- package/fesm2022/acorex-components-modal-modal-content.component-Ef5XWxUb.mjs.map +0 -1
- package/file-explorer/lib/file-explorer-container/file-explorer-container.component.d.ts +0 -5
- package/file-explorer/lib/file-explorer-header/file-explorer-header.component.d.ts +0 -9
- package/file-explorer/lib/file-explorer-internal.service.d.ts +0 -18
- package/file-explorer/lib/file-explorer-item/file-explorer-item.component.d.ts +0 -11
- package/file-explorer/lib/file-explorer-tree/file-explorer-tree.component.d.ts +0 -13
- package/file-explorer/lib/file-explorer-types.d.ts +0 -11
- package/file-explorer/lib/file-explorer-view/file-explorer-view.component.d.ts +0 -14
- package/file-explorer/lib/file-explorer.module.d.ts +0 -19
- package/file-explorer/lib/file-explorer.service.d.ts +0 -11
- package/flow-chart/lib/flow-chart-creator/flow-chart-creator.component.d.ts +0 -13
- package/flow-chart/lib/flow-chart-renderer/flow-chart-renderer.component.d.ts +0 -22
- package/flow-chart/lib/flow-chart.component.d.ts +0 -24
- package/flow-chart/lib/flow-chart.module.d.ts +0 -10
- package/flow-chart/lib/flow-chart.service.d.ts +0 -57
- package/flow-chart/lib/flow-chart.type.d.ts +0 -37
- package/form/lib/form-field.component.d.ts +0 -69
- package/form/lib/form.component.d.ts +0 -109
- package/form/lib/form.config.d.ts +0 -7
- package/form/lib/form.module.d.ts +0 -16
- package/form/lib/validation-rule.directive.d.ts +0 -17
- package/form/lib/validation-summary.component.d.ts +0 -76
- package/grid-layout-builder/lib/grid-layout-builder.module.d.ts +0 -9
- package/grid-layout-builder/lib/grid-layout-container.component.d.ts +0 -47
- package/grid-layout-builder/lib/grid-layout-widget.component.d.ts +0 -39
- package/grid-layout-builder/lib/types.d.ts +0 -103
- package/grid-layout-builder/lib/utility.d.ts +0 -9
- package/image/lib/image.component.d.ts +0 -85
- package/image/lib/image.module.d.ts +0 -8
- package/image-editor/lib/image-editor-container/image-editor-container.component.d.ts +0 -26
- package/image-editor/lib/image-editor-cropper-window/image-editor-cropper-window.component.d.ts +0 -47
- package/image-editor/lib/image-editor-tools/image-editor-crop/image-editor-crop.component.d.ts +0 -14
- package/image-editor/lib/image-editor-tools/image-editor-highlight/image-editor-highlight.component.d.ts +0 -18
- package/image-editor/lib/image-editor-tools/image-editor-history/image-editor-history.component.d.ts +0 -13
- package/image-editor/lib/image-editor-tools/image-editor-pen/image-editor-pen.component.d.ts +0 -18
- package/image-editor/lib/image-editor-tools/image-editor-rotate/image-editor-rotate.component.d.ts +0 -16
- package/image-editor/lib/image-editor-tools/image-editor-tool-selector/image-editor-tool-selector.component.d.ts +0 -12
- package/image-editor/lib/image-editor-view/image-editor-view.component.d.ts +0 -78
- package/image-editor/lib/image-editor.module.d.ts +0 -25
- package/image-editor/lib/image-editor.service.d.ts +0 -22
- package/json-viewer/lib/json-viewer/json-viewer.component.d.ts +0 -13
- package/json-viewer/lib/json-viewer.module.d.ts +0 -10
- package/kbd/lib/kbd-item/kbd-item.component.d.ts +0 -8
- package/kbd/lib/kbd.component.d.ts +0 -5
- package/kbd/lib/kbd.module.d.ts +0 -9
- package/label/lib/label.component.d.ts +0 -48
- package/label/lib/label.module.d.ts +0 -8
- package/list/lib/list.component.d.ts +0 -139
- package/list/lib/list.module.d.ts +0 -10
- package/loading/lib/loading-spinner.component.d.ts +0 -34
- package/loading/lib/loading.component.d.ts +0 -53
- package/loading/lib/loading.config.d.ts +0 -8
- package/loading/lib/loading.directive.d.ts +0 -15
- package/loading/lib/loading.module.d.ts +0 -13
- package/loading/lib/loading.service.d.ts +0 -29
- package/loading-dialog/lib/loading-dialog.class.d.ts +0 -35
- package/loading-dialog/lib/loading-dialog.component.d.ts +0 -63
- package/loading-dialog/lib/loading-dialog.module.d.ts +0 -14
- package/loading-dialog/lib/loading-dialog.service.d.ts +0 -8
- package/map/lib/map.component.d.ts +0 -214
- package/map/lib/map.config.d.ts +0 -13
- package/map/lib/map.module.d.ts +0 -8
- package/map/lib/map.service.d.ts +0 -172
- package/map/lib/map.type.d.ts +0 -20
- package/map/lib/map.utility.d.ts +0 -2
- package/map/lib/map.world-map.d.ts +0 -28
- package/media-viewer/lib/media-viewer-container/media-viewer-container.component.d.ts +0 -38
- package/media-viewer/lib/media-viewer-slider/media-viewer-slider.component.d.ts +0 -18
- package/media-viewer/lib/media-viewer-tools/audio-player/audio-player.component.d.ts +0 -8
- package/media-viewer/lib/media-viewer-tools/file-info/file-info.component.d.ts +0 -9
- package/media-viewer/lib/media-viewer-tools/image-viewer/image-viewer.component.d.ts +0 -6
- package/media-viewer/lib/media-viewer-tools/pdf-reader/pdf-reader.component.d.ts +0 -8
- package/media-viewer/lib/media-viewer-tools/video-player/video-player.component.d.ts +0 -8
- package/media-viewer/lib/media-viewer-type-registry.service.d.ts +0 -9
- package/media-viewer/lib/media-viewer-types.d.ts +0 -19
- package/media-viewer/lib/media-viewer.module.d.ts +0 -31
- package/media-viewer/lib/media-viewer.service.d.ts +0 -8
- package/menu/lib/context-menu.component.d.ts +0 -57
- package/menu/lib/menu-item.component.d.ts +0 -62
- package/menu/lib/menu.component.d.ts +0 -23
- package/menu/lib/menu.module.d.ts +0 -15
- package/menu/lib/menu.service.d.ts +0 -19
- package/menu/lib/menu.types.d.ts +0 -39
- package/modal/lib/modal-content/modal-content.component.d.ts +0 -51
- package/modal/lib/modal-footer/modal-footer.component.d.ts +0 -5
- package/modal/lib/modal-state.service.d.ts +0 -17
- package/modal/lib/modal.component.d.ts +0 -18
- package/modal/lib/modal.module.d.ts +0 -8
- package/modal/lib/modal.service.d.ts +0 -15
- package/modal/lib/modal.types.d.ts +0 -34
- package/navbar/lib/navbar.component.d.ts +0 -12
- package/navbar/lib/navbar.module.d.ts +0 -8
- package/notification/lib/notification.class.d.ts +0 -42
- package/notification/lib/notification.component.d.ts +0 -41
- package/notification/lib/notification.config.d.ts +0 -15
- package/notification/lib/notification.module.d.ts +0 -14
- package/notification/lib/notification.service.d.ts +0 -25
- package/number-box/lib/number-box.component.d.ts +0 -165
- package/number-box/lib/number-box.module.d.ts +0 -12
- package/otp/lib/otp.class.d.ts +0 -5
- package/otp/lib/otp.component.d.ts +0 -59
- package/otp/lib/otp.module.d.ts +0 -9
- package/page/lib/base-page.class.d.ts +0 -22
- package/page/lib/page.component.d.ts +0 -29
- package/page/lib/page.module.d.ts +0 -6
- package/paint/lib/paint/paint-container/paint-container.component.d.ts +0 -19
- package/paint/lib/paint/paint-tools/paint-eraser-tool/paint-eraser-tool.component.d.ts +0 -15
- package/paint/lib/paint/paint-tools/paint-highlight-tool/paint-highlight-tool.component.d.ts +0 -18
- package/paint/lib/paint/paint-tools/paint-pen-tool/paint-pen-tool.component.d.ts +0 -18
- package/paint/lib/paint/paint-tools-selector/paint-tools-selector.component.d.ts +0 -9
- package/paint/lib/paint/paint-view/paint-view.component.d.ts +0 -56
- package/paint/lib/paint/paint.service.d.ts +0 -12
- package/paint/lib/paint.module.d.ts +0 -20
- package/password-box/lib/password-box.component.d.ts +0 -42
- package/password-box/lib/password-box.module.d.ts +0 -15
- package/password-box/lib/password-strength-validation/password-strength-validation.component.d.ts +0 -40
- package/pdf-reader/lib/pdf-reader/pdf-reader.component.d.ts +0 -8
- package/pdf-reader/lib/pdf-reader.module.d.ts +0 -7
- package/phone-box/lib/phone-box.component.d.ts +0 -75
- package/phone-box/lib/phone-box.module.d.ts +0 -15
- package/picker/lib/picker-container/picker-container.component.d.ts +0 -7
- package/picker/lib/picker-items/picker-items.component.d.ts +0 -20
- package/picker/lib/picker-title/picker-title.component.d.ts +0 -5
- package/picker/lib/picker.module.d.ts +0 -11
- package/popover/lib/popover.component.d.ts +0 -211
- package/popover/lib/popover.module.d.ts +0 -8
- package/popup/lib/popup.component.d.ts +0 -75
- package/popup/lib/popup.interface.d.ts +0 -30
- package/popup/lib/popup.module.d.ts +0 -15
- package/popup/lib/popup.service.d.ts +0 -22
- package/progress-bar/lib/progress-bar.component.d.ts +0 -54
- package/progress-bar/lib/progress-bar.module.d.ts +0 -8
- package/qrcode/lib/qrcode.class.d.ts +0 -3
- package/qrcode/lib/qrcode.component.d.ts +0 -54
- package/qrcode/lib/qrcode.module.d.ts +0 -8
- package/query-builder/lib/query-builder.component.d.ts +0 -35
- package/query-builder/lib/query-builder.module.d.ts +0 -15
- package/radio/lib/radio.component.d.ts +0 -22
- package/radio/lib/radio.module.d.ts +0 -9
- package/rail-navigation/lib/rail-navigation-item/rail-navigation-item.component.d.ts +0 -31
- package/rail-navigation/lib/rail-navigation.class.d.ts +0 -8
- package/rail-navigation/lib/rail-navigation.component.d.ts +0 -18
- package/rail-navigation/lib/rail-navigation.module.d.ts +0 -10
- package/rail-navigation/lib/rail-navigation.service.d.ts +0 -9
- package/range-slider/lib/range-slider.class.d.ts +0 -9
- package/range-slider/lib/range-slider.component.d.ts +0 -301
- package/range-slider/lib/range-slider.module.d.ts +0 -8
- package/rate-picker/lib/calculatePercentage.d.ts +0 -27
- package/rate-picker/lib/rate-picker.component.d.ts +0 -131
- package/rate-picker/lib/rate-picker.module.d.ts +0 -8
- package/rest-api-generator/lib/query-params/query-params.component.d.ts +0 -16
- package/rest-api-generator/lib/request-body/request-body.component.d.ts +0 -22
- package/rest-api-generator/lib/request-headers/request-headers.component.d.ts +0 -22
- package/rest-api-generator/lib/rest-api-auth/rest-api-auth.component.d.ts +0 -22
- package/rest-api-generator/lib/rest-api-generator.component.d.ts +0 -14
- package/rest-api-generator/lib/rest-api-generator.module.d.ts +0 -19
- package/rest-api-generator/lib/rest-api-generator.service.d.ts +0 -7
- package/rest-api-generator/lib/types.d.ts +0 -20
- package/result/lib/result.component.d.ts +0 -24
- package/result/lib/result.module.d.ts +0 -8
- package/routing-progress/lib/routing-progress.component.d.ts +0 -30
- package/routing-progress/lib/routing-progress.module.d.ts +0 -8
- package/scheduler/lib/scheduler.class.d.ts +0 -77
- package/scheduler/lib/scheduler.component.d.ts +0 -91
- package/scheduler/lib/scheduler.module.d.ts +0 -11
- package/scheduler/lib/scheduler.service.d.ts +0 -78
- package/scheduler/lib/views/agenda/scheduler-agenda-view.component.d.ts +0 -45
- package/scheduler/lib/views/day/scheduler-day-view.component.d.ts +0 -44
- package/scheduler/lib/views/month/scheduler-month-view.component.d.ts +0 -59
- package/scheduler/lib/views/timeline-day/scheduler-timeline-day-view.component.d.ts +0 -39
- package/scheduler/lib/views/timeline-month/scheduler-timeline-month-view.component.d.ts +0 -47
- package/scheduler/lib/views/timeline-multi-day/scheduler-timeline-multi-day-view.component.d.ts +0 -40
- package/scheduler/lib/views/week/scheduler-week-view.component.d.ts +0 -74
- package/scss/lib/scss.module.d.ts +0 -7
- package/search-box/lib/search-box.component.d.ts +0 -40
- package/search-box/lib/search-box.module.d.ts +0 -14
- package/select-box/lib/select-box.component.d.ts +0 -139
- package/select-box/lib/select-box.module.d.ts +0 -20
- package/selection-list/lib/selection-list.component.d.ts +0 -77
- package/selection-list/lib/selection-list.module.d.ts +0 -13
- package/side-menu/lib/side-menu-item/side-menu-item.component.d.ts +0 -30
- package/side-menu/lib/side-menu.component.d.ts +0 -39
- package/side-menu/lib/side-menu.directive.d.ts +0 -14
- package/side-menu/lib/side-menu.module.d.ts +0 -15
- package/skeleton/lib/skeleton.component.d.ts +0 -18
- package/skeleton/lib/skeleton.module.d.ts +0 -8
- package/slider/lib/slider.component.d.ts +0 -92
- package/slider/lib/slider.module.d.ts +0 -10
- package/sliding-item/lib/sliding-item/sliding-item.component.d.ts +0 -13
- package/sliding-item/lib/sliding-item-prefix/sliding-item-prefix.component.d.ts +0 -11
- package/sliding-item/lib/sliding-item-suffix/sliding-item-suffix.component.d.ts +0 -11
- package/sliding-item/lib/sliding-item.module.d.ts +0 -11
- package/step-wizard/lib/step-wizard-item/step-wizard-item.component.d.ts +0 -21
- package/step-wizard/lib/step-wizard.class.d.ts +0 -7
- package/step-wizard/lib/step-wizard.component.d.ts +0 -63
- package/step-wizard/lib/step-wizard.directive.d.ts +0 -11
- package/step-wizard/lib/step-wizard.module.d.ts +0 -13
- package/switch/lib/switch-content.component.d.ts +0 -10
- package/switch/lib/switch.component.d.ts +0 -29
- package/switch/lib/switch.module.d.ts +0 -10
- package/tabs/lib/tab-content.directive.d.ts +0 -11
- package/tabs/lib/tab-item.component.d.ts +0 -56
- package/tabs/lib/tabs.class.d.ts +0 -8
- package/tabs/lib/tabs.component.d.ts +0 -76
- package/tabs/lib/tabs.module.d.ts +0 -12
- package/tag/lib/tag.component.d.ts +0 -16
- package/tag/lib/tag.module.d.ts +0 -8
- package/tag-box/lib/tag-box.component.d.ts +0 -32
- package/tag-box/lib/tag-box.module.d.ts +0 -7
- package/text-area/lib/text-area.component.d.ts +0 -41
- package/text-area/lib/text-area.module.d.ts +0 -9
- package/text-box/lib/mask-options.directive.d.ts +0 -17
- package/text-box/lib/text-box.component.d.ts +0 -61
- package/text-box/lib/text-box.module.d.ts +0 -13
- package/time-duration/lib/time-duration.component.d.ts +0 -37
- package/time-duration/lib/time-duration.module.d.ts +0 -7
- package/time-duration/lib/time-duration.type.d.ts +0 -1
- package/time-line/lib/time-line-item.component.d.ts +0 -14
- package/time-line/lib/time-line.component.d.ts +0 -9
- package/time-line/lib/time-line.module.d.ts +0 -9
- package/toast/lib/toast.class.d.ts +0 -27
- package/toast/lib/toast.component.d.ts +0 -44
- package/toast/lib/toast.config.d.ts +0 -14
- package/toast/lib/toast.module.d.ts +0 -13
- package/toast/lib/toast.service.d.ts +0 -34
- package/toolbar/lib/toolbar.component.d.ts +0 -12
- package/toolbar/lib/toolbar.module.d.ts +0 -8
- package/tooltip/lib/tooltip.component.d.ts +0 -21
- package/tooltip/lib/tooltip.directive.d.ts +0 -29
- package/tooltip/lib/tooltip.module.d.ts +0 -10
- package/tree-view/lib/tree-view-item.component.d.ts +0 -20
- package/tree-view/lib/tree-view.class.d.ts +0 -47
- package/tree-view/lib/tree-view.component.d.ts +0 -98
- package/tree-view/lib/tree-view.component.module.d.ts +0 -16
- package/uploader/lib/uploader-browse-handle.directive.d.ts +0 -11
- package/uploader/lib/uploader-dialog-container/uploader-dialog-container.component.d.ts +0 -24
- package/uploader/lib/uploader-drop-zone/uploader-drop-zone.component.d.ts +0 -12
- package/uploader/lib/uploader-list/uploader-list.component.d.ts +0 -12
- package/uploader/lib/uploader-zone.directive.d.ts +0 -31
- package/uploader/lib/uploader.models.d.ts +0 -52
- package/uploader/lib/uploader.module.d.ts +0 -21
- package/uploader/lib/uploader.service.d.ts +0 -30
- package/video-player/lib/video-player/video-player.component.d.ts +0 -6
- package/video-player/lib/video-player.module.d.ts +0 -7
- package/wysiwyg/lib/wysiwyg/wysiwyg-container/wysiwyg-container.component.d.ts +0 -40
- package/wysiwyg/lib/wysiwyg/wysiwyg-tools/wysiwyg-alignment/wysiwyg-alignment.component.d.ts +0 -28
- package/wysiwyg/lib/wysiwyg/wysiwyg-tools/wysiwyg-colors/wysiwyg-colors.component.d.ts +0 -40
- package/wysiwyg/lib/wysiwyg/wysiwyg-tools/wysiwyg-font-style/wysiwyg-font-style.component.d.ts +0 -37
- package/wysiwyg/lib/wysiwyg/wysiwyg-tools/wysiwyg-history/wysiwyg-history.component.d.ts +0 -16
- package/wysiwyg/lib/wysiwyg/wysiwyg-tools/wysiwyg-insert/wysiwyg-insert.component.d.ts +0 -30
- package/wysiwyg/lib/wysiwyg/wysiwyg-tools/wysiwyg-list/wysiwyg-list.component.d.ts +0 -20
- package/wysiwyg/lib/wysiwyg/wysiwyg-view/wysiwyg-view.component.d.ts +0 -16
- package/wysiwyg/lib/wysiwyg/wysiwyg.service.d.ts +0 -11
- package/wysiwyg/lib/wysiwyg.module.d.ts +0 -21
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"acorex-components-calendar.mjs","sources":["../../../../packages/components/calendar/src/lib/calendar.class.ts","../../../../packages/components/calendar/src/lib/calendar.component.ts","../../../../packages/components/calendar/src/lib/calendar.component.html","../../../../packages/components/calendar/src/lib/calendar-range.component.ts","../../../../packages/components/calendar/src/lib/calendar-range.component.html","../../../../packages/components/calendar/src/lib/calendar.module.ts","../../../../packages/components/calendar/src/acorex-components-calendar.ts"],"sourcesContent":["import { AXItemClickEvent, AXRangeChangedEvent, MXBaseComponent } from '@acorex/cdk/common';\nimport { AXCalendarService, AXDateTime, AXDateTimeRange } from '@acorex/core/date-time';\nimport { AXLocaleService } from '@acorex/core/locale';\nimport { AXTranslationService } from '@acorex/core/translation';\nimport { EventEmitter, Injectable, Input, Output, TemplateRef, inject } from '@angular/core';\n\nexport type AXCalendarViewType = 'year' | 'month' | 'day';\nexport type AXCalendarViewDepth = AXCalendarViewType;\nexport type AXCalendarDisabledDates = Date[] | ((date: Date) => boolean);\nexport type AXCalendarHolidayDates = Date[] | ((date: Date) => boolean);\nexport type AXCalendarCellCssClass = string | { [key: string]: boolean } | ((date: Date) => string);\n\nexport type AXDateTimePickerType = 'date' | 'time' | 'datetime';\n\n/**\n * Contains native event\n * @category Events\n */\nexport class AXCalendarNavigateEvent extends AXRangeChangedEvent<Date> {}\n\n/**\n * Contains native event\n * @category Events\n */\nexport class AXCalendarSlotClick extends AXItemClickEvent<Date> {}\n\nexport interface AXCalendarViewSlot {\n date: AXDateTime;\n text: string;\n tooltip: string;\n today: boolean;\n selected: boolean;\n disabled: boolean;\n cssClass: { [key: string]: boolean };\n}\nexport interface AXCalendarView {\n range: AXDateTimeRange;\n slots: AXCalendarViewSlot[];\n}\n\n@Injectable()\nexport class MXCalendarBaseComponent extends MXBaseComponent {\n protected localeService = inject(AXLocaleService);\n protected calendarService = inject(AXCalendarService);\n protected translateService = inject(AXTranslationService);\n\n @Input()\n interface: 'calendar' | 'picker' = 'calendar';\n\n @Input()\n cellTemplate?: TemplateRef<unknown>;\n\n @Input()\n cellClass?: AXCalendarCellCssClass;\n\n @Input()\n showNavigation = true;\n\n @Input()\n count = 1;\n\n @Output()\n onSlotClick: EventEmitter<AXCalendarSlotClick> = new EventEmitter<AXCalendarSlotClick>();\n\n @Output()\n onNavigate: EventEmitter<AXCalendarNavigateEvent> = new EventEmitter<AXCalendarNavigateEvent>();\n\n @Output()\n activeViewChange: EventEmitter<AXCalendarViewType> = new EventEmitter<AXCalendarViewType>();\n\n private _activeView: AXCalendarViewType = 'day';\n @Input()\n public get activeView(): AXCalendarViewType {\n return this._activeView;\n }\n public set activeView(v: AXCalendarViewType) {\n this.setOption({\n name: 'activeView',\n value: v,\n afterCallback: () => {\n this.cdr.markForCheck();\n },\n });\n }\n\n @Output()\n public typeChange: EventEmitter<string> = new EventEmitter<string>();\n\n private _type: string;\n\n /**\n * @deprecated use calendar input instead\n */\n @Input()\n public get type(): string {\n return this._type;\n }\n public set type(v: string) {\n this.setOption({\n name: 'type',\n value: v,\n afterCallback: () => {\n this.cdr.markForCheck();\n },\n });\n }\n\n @Output()\n depthChange: EventEmitter<AXCalendarViewDepth> = new EventEmitter<AXCalendarViewDepth>();\n\n private _depth: AXCalendarViewDepth = 'day';\n @Input()\n public get depth(): AXCalendarViewDepth {\n return this._depth;\n }\n public set depth(v: AXCalendarViewDepth) {\n this.setOption({\n name: 'depth',\n value: v,\n beforeCallback: (o, n) => {\n this.activeView = v;\n return n;\n },\n afterCallback: () => {\n this.render();\n },\n });\n }\n\n @Output()\n minValueChange: EventEmitter<Date> = new EventEmitter<Date>();\n\n private _minValue: Date;\n @Input()\n public get minValue(): Date {\n return this._minValue;\n }\n public set minValue(v: Date) {\n this.setOption({\n name: 'minValue',\n value: v,\n afterCallback: () => {\n this.render();\n },\n });\n }\n\n @Output()\n maxValueChange: EventEmitter<Date> = new EventEmitter<Date>();\n\n private _maxValue: Date;\n @Input()\n public get maxValue(): Date {\n return this._maxValue;\n }\n public set maxValue(v: Date) {\n this.setOption({\n name: 'maxValue',\n value: v,\n afterCallback: () => {\n this.render();\n },\n });\n }\n\n @Output()\n disabledDatesChange: EventEmitter<AXCalendarDisabledDates> = new EventEmitter<AXCalendarDisabledDates>();\n\n private _disabledDates: AXCalendarDisabledDates;\n @Input()\n public get disabledDates(): AXCalendarDisabledDates {\n return this._disabledDates;\n }\n public set disabledDates(v: AXCalendarDisabledDates) {\n this.setOption({ name: 'disabledDates', value: v });\n }\n\n @Output()\n holidayDatesChange: EventEmitter<AXCalendarHolidayDates> = new EventEmitter<AXCalendarHolidayDates>();\n\n private _holidayDates: AXCalendarHolidayDates;\n @Input()\n public get holidayDates(): AXCalendarHolidayDates {\n return this._holidayDates;\n }\n public set holidayDates(v: AXCalendarHolidayDates) {\n this.setOption({ name: 'holidayDates', value: v });\n }\n\n render(): void {}\n}\n\nexport const CALENDAR_INPUTS = ['depth', 'activeView', 'min', 'max', 'disabledDates', 'type', 'holidayDates'];\nexport const CALENDAR_OUTPUTS = [\n 'depthChange',\n 'typeChange',\n 'disabledDatesChange',\n 'holidayDatesChange',\n 'onNavigate',\n];\n","import {\n AXClickEvent,\n AXComponent,\n AXRippleDirective,\n AXValuableComponent,\n MXComponentOptionChanged,\n MXInteractiveComponent,\n MXValueComponent,\n} from '@acorex/cdk/common';\nimport { AXDateTime, AXDateTimeRange } from '@acorex/core/date-time';\nimport {\n ChangeDetectionStrategy,\n Component,\n forwardRef,\n HostBinding,\n HostListener,\n inject,\n linkedSignal,\n signal,\n ViewEncapsulation,\n} from '@angular/core';\n\nimport { AXFormatModule, AXFormatService } from '@acorex/core/format';\nimport { AXTranslatorPipe } from '@acorex/core/translation';\nimport { AXUnsubscriber } from '@acorex/core/utils';\nimport { AsyncPipe, isPlatformBrowser, NgClass, NgFor, NgTemplateOutlet } from '@angular/common';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { classes } from 'polytype';\nimport { AXCalendarView, AXCalendarViewSlot, AXCalendarViewType, MXCalendarBaseComponent } from './calendar.class';\n\n/**\n * A calendar component that provides a customizable calendar view with various options for selection, navigation, and styling.\n *\n * @category Components\n */\n@Component({\n selector: 'ax-calendar',\n templateUrl: './calendar.component.html',\n styleUrls: ['./calendar.component.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n inputs: [\n 'rtl',\n 'readonly',\n 'value',\n 'name',\n 'disabled',\n 'depth',\n 'activeView',\n 'minValue',\n 'maxValue',\n 'disabledDates',\n 'holidayDates',\n 'type',\n 'cellTemplate',\n 'cellClass',\n 'showNavigation',\n 'count',\n 'name',\n 'id',\n ],\n outputs: [\n 'onOptionChanged',\n 'valueChange',\n 'onValueChanged',\n 'minValueChange',\n 'maxValueChange',\n 'onBlur',\n 'onFocus',\n 'depthChange',\n 'typeChange',\n 'activeViewChange',\n 'disabledDatesChange',\n 'holidayDatesChange',\n 'onNavigate',\n 'onSlotClick',\n 'countChange',\n ],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => AXCalendarComponent),\n multi: true,\n },\n {\n provide: AXValuableComponent,\n useExisting: AXCalendarComponent,\n },\n AXUnsubscriber,\n { provide: AXComponent, useExisting: AXCalendarComponent },\n ],\n imports: [NgClass, NgTemplateOutlet, NgFor, AXRippleDirective, AsyncPipe, AXTranslatorPipe, AXFormatModule],\n})\nexport class AXCalendarComponent extends classes(\n MXValueComponent<Date | null>,\n MXInteractiveComponent,\n MXCalendarBaseComponent,\n) {\n private formatService = inject(AXFormatService);\n\n protected calendar = linkedSignal(() => this.type ?? this.localeService.activeProfile().calendar.system);\n\n public get displayRange(): AXDateTimeRange {\n return new AXDateTimeRange(this.views[0].range.startTime, this.views[this.views.length - 1].range.endTime);\n }\n\n /**\n * @ignore\n */\n protected _today = this.calendarService.create(new Date(), this.calendar());\n\n /**\n * @ignore\n */\n private _viewStartDate!: AXDateTime;\n\n /**\n * @ignore\n */\n private _navUserInteraction = false;\n\n /**\n * @ignore\n */\n private _footPrint = {\n year: null,\n month: null,\n day: null,\n };\n\n /**\n * @ignore\n */\n protected views: AXCalendarView[] = [];\n\n /**\n * @ignore\n */\n protected _weekdays: number[] = [];\n\n /**\n * @ignore\n */\n private oldValue = signal<Date | null>(null);\n\n /**\n * @ignore\n */\n private _initValues() {\n this._today = this.calendarService.create(new Date(), this.calendar());\n this._weekdays = this._today.calendar.weekdays;\n }\n\n /**\n * @ignore\n */\n private _refresh() {\n this._initValues();\n this.navTo(this.value || this._today);\n }\n\n /**\n * @ignore\n */\n constructor(unsubscriber: AXUnsubscriber) {\n super();\n this.calendarService.onHolidaysChanged.pipe(unsubscriber.takeUntilDestroy).subscribe(() => {\n this.render();\n });\n this.calendarService.calendarChanges$.pipe(unsubscriber.takeUntilDestroy).subscribe((value) => {\n if (!this.type) this.calendar.set(value.name());\n this._refresh();\n });\n\n this.typeChange.pipe(unsubscriber.takeUntilDestroy).subscribe((value) => {\n this.calendar.set(value);\n });\n }\n\n /**\n * @ignore\n */\n protected override ngOnInit() {\n super.ngOnInit();\n this._initValues();\n }\n\n /**\n * @ignore\n */\n protected ngAfterViewInit(): void {\n if (!this.value) {\n this.goToday();\n }\n }\n\n /**\n * @ignore\n */\n override render() {\n if (!this._viewStartDate) return;\n const applyCellClass = (slot: AXCalendarViewSlot, cellClass: any = this.cellClass) => {\n switch (typeof cellClass) {\n case 'string':\n cellClass.split(' ').forEach((c) => (slot.cssClass[c] = true));\n break;\n case 'object':\n Object.assign(slot.cssClass, cellClass);\n break;\n case 'function':\n applyCellClass(slot, cellClass(slot.date));\n break;\n }\n };\n this.views = [];\n for (let i = 0; i < this.count; i++) {\n switch (this.activeView) {\n case 'day':\n this.dayView(i, applyCellClass);\n break;\n case 'month':\n this.monthView(i, applyCellClass);\n break;\n case 'year':\n this.yearView(i, applyCellClass);\n break;\n }\n }\n this.cdr.markForCheck();\n }\n\n /**\n * @ignore\n */\n private _setDisplayRange(current: AXDateTime): AXDateTimeRange {\n switch (this.activeView) {\n case 'year': {\n const y = current.startOf('year').year;\n const min = y - (y % 10);\n const max = min + 9;\n return new AXDateTimeRange(\n this.calendarService.create(\n {\n year: min,\n month: 1,\n date: 1,\n },\n this.calendar(),\n ),\n this.calendarService.create(\n {\n year: max,\n month: 12,\n date: 28,\n },\n this.calendar(),\n ),\n );\n }\n case 'month':\n return new AXDateTimeRange(current.startOf('year'), current.endOf('year').add('day', -1));\n default:\n return new AXDateTimeRange(current.startOf('month'), current.endOf('month'));\n }\n }\n\n /**\n * @ignore\n */\n private dayView(i: number, applyCellClass: any) {\n const current = this._viewStartDate.add('month', i);\n const view: AXCalendarView = {\n range: this._setDisplayRange(current),\n slots: [],\n };\n this.views.push(view);\n const a = view.range.enumurate('day');\n view.slots = a.map((d, i) => {\n const r: any = {};\n r.date = d;\n r.text = d.dayOfMonth;\n r.today = d.equal(this._today, 'day');\n r.selected = this.value && d.equal(this.value, 'day');\n r.holiday = this.isHoliday(d) || this.isWeekend(d);\n r.disabled =\n (this.minValue && d.compare(this.minValue, 'day') == -1) ||\n (this.maxValue && d.compare(this.maxValue, 'day') == 1) ||\n this.isDisabled(d);\n //\n const focused =\n d.dayOfMonth == this._footPrint.day && d.monthOfYear == this._footPrint.month && d.year == this._footPrint.year;\n //\n if (r.disabled) {\n r.cssClass = {\n 'ax-state-disabled': true,\n };\n } else {\n r.cssClass = {\n 'ax-state-today': r.today,\n 'ax-state-selected': r.selected,\n 'ax-state-holiday': r.holiday,\n // 'ax-state-focused': focused,\n };\n }\n // ax-col-start-1 ax-col-start-2 ax-col-start-3 ax-col-start-4 ax-col-start-5 ax-col-start-6 ax-col-start-7\n r.cssClass[`ax-column-start-${view.range.startTime.dayOfWeek}`] = i == 0;\n if (this.cellClass) applyCellClass(r);\n\n return r;\n });\n }\n\n /**\n * @ignore\n */\n private monthView(i: number, applyCellClass: any) {\n const current = this._viewStartDate.add('year', i);\n const view: AXCalendarView = {\n range: this._setDisplayRange(current),\n slots: [],\n };\n this.views.push(view);\n const a = view.range.enumurate('month');\n view.slots = a.map((d, i) => {\n const r: any = {};\n r.date = d;\n r.text = this.formatService.format(d, 'date' as any, 'MMM');\n r.today = d.equal(this._today, 'month');\n //\n r.disabled =\n (this.minValue && d.compare(this.minValue, 'month') == -1) ||\n (this.maxValue && d.compare(this.maxValue, 'month') == 1);\n //\n r.selected = this.value && this.depth == 'month' && d.equal(this.value, 'month');\n //\n const focused = d.monthOfYear == this._footPrint.month && d.year == this._footPrint.year;\n //\n if (r.disabled) {\n r.cssClass = {\n 'ax-state-disabled': r.disabled,\n };\n } else {\n r.cssClass = {\n 'ax-state-today': r.today,\n 'ax-state-selected': r.selected,\n 'ax-state-focused': focused,\n };\n }\n applyCellClass(r);\n return r;\n });\n }\n\n /**\n * @ignore\n */\n private yearView(i: number, applyCellClass: any) {\n const current = this._viewStartDate.add('year', i * 10);\n const view: AXCalendarView = {\n range: this._setDisplayRange(current),\n slots: [],\n };\n this.views.push(view);\n const a = view.range.enumurate('year');\n\n view.slots = a.map((d, i) => {\n const r: any = {};\n r.date = d;\n r.text = this.formatService.format(d, 'date' as any, 'YYYY');\n r.today = d.equal(this._today, 'year');\n r.selected = this.value && this.depth == 'year' && d.equal(this.value, 'year');\n //\n const focused = d.year == this._footPrint.year;\n //\n r.disabled =\n (this.minValue && d.compare(this.minValue, 'year') == -1) ||\n (this.maxValue && d.compare(this.maxValue, 'year') == 1);\n //\n if (r.disabled) {\n r.cssClass = {\n 'ax-state-disabled': r.disabled,\n };\n } else {\n r.cssClass = {\n 'ax-state-today': r.today,\n 'ax-state-selected': r.selected,\n 'ax-state-focused': focused,\n };\n }\n applyCellClass(r);\n return r;\n });\n }\n\n /**\n * @ignore\n */\n protected _handlePrevClick() {\n this._navUserInteraction = true;\n this.prev();\n this._navUserInteraction = false;\n }\n\n /**\n * @ignore\n */\n protected _handleNextClick() {\n this._navUserInteraction = true;\n this.next();\n this._navUserInteraction = false;\n }\n\n /**\n * @ignore\n */\n protected _handleSlotClick(e: MouseEvent, slot: AXCalendarViewSlot) {\n if (slot.disabled || this.disabled) return;\n //\n this.onSlotClick.emit({\n component: this,\n item: slot.date.date,\n isUserInteraction: true,\n nativeEvent: e,\n });\n //\n if (this.activeView == 'day') {\n this._setDate(slot.date.date);\n } else if (this.activeView == 'month' && this.depth == 'day') {\n this.activeView = 'day';\n this._footPrint.month = this.calendarService.create(slot.date.date, this.calendar()).monthOfYear;\n this.navTo(slot.date);\n } else if (this.activeView == 'month' && this.depth == 'month') {\n this._setDate(slot.date.date);\n } else if (this.activeView == 'year' && (this.depth == 'day' || this.depth == 'month')) {\n this.activeView = 'month';\n this._footPrint.year = this.calendarService.create(slot.date.date, this.calendar()).year;\n this.navTo(slot.date);\n } else if (this.activeView == 'year' && this.depth == 'year') {\n this._setDate(slot.date.date);\n }\n }\n\n /**\n * @ignore\n */\n protected _handleNavClick(e: AXClickEvent | any, view: AXCalendarViewType) {\n this._navUserInteraction = true;\n this.activeView = view;\n this._navUserInteraction = false;\n }\n\n public toggleView() {\n if (this.activeView == 'day') this.activeView = 'month';\n else if (this.activeView == 'month') this.activeView = 'year';\n }\n\n /**\n * @ignore\n */\n protected override internalOptionChanged(e: MXComponentOptionChanged) {\n if (e.name == 'depth' || e.name == 'activeView' || e.name == 'disabledDates' || e.name == 'holidayDates') {\n this.render();\n }\n if (e.name == 'type') {\n this._refresh();\n }\n }\n\n /**\n * @ignore\n */\n protected override internalSetValue(value: Date): Date | null {\n if (!value) return null;\n const v = this.calendarService.convert(value);\n const isDisabled = this.isDisabled(v);\n if (isDisabled) return null;\n else return v.date;\n }\n\n /**\n * @ignore\n */\n protected override internalValueChanged(value?: Date) {\n const val = this.calendarService.create(value, this.calendar());\n if (\n !this._viewStartDate ||\n val.compare(this.displayRange.startTime, this.activeView) == -1 ||\n val.compare(this.displayRange.endTime, this.activeView) == 1\n ) {\n this._viewStartDate = this.calendarService.create(value, this.calendar());\n }\n this._footPrint.year = val.year;\n this._footPrint.month = val.monthOfYear;\n this._footPrint.day = val.dayOfMonth;\n\n if (isPlatformBrowser(this.platformID)) {\n const calendarSlots = Array.from(this.getHostElement().querySelectorAll('.ax-calendar-slot'));\n const selectedSlot = this.getHostElement().querySelector('.ax-state-selected');\n if (selectedSlot) {\n selectedSlot.classList.remove('ax-state-selected');\n } else {\n this.render();\n }\n calendarSlots.forEach((element) => {\n element = element as HTMLElement;\n if (element.textContent == this._footPrint.day) {\n element.classList.add('ax-state-selected');\n }\n });\n }\n if (\n !this.oldValue() ||\n this.oldValue().getMonth() !== value.getMonth() ||\n this.oldValue().getFullYear() !== value.getFullYear()\n ) {\n this.render();\n }\n this.oldValue.set(value);\n }\n\n /**\n * @ignore\n */\n protected _handleGoToday() {\n this._navUserInteraction = true;\n this._setDate(this._today.date);\n this.goToday();\n this._navUserInteraction = false;\n }\n\n /**\n * Navigates to the next item.\n * @ignore\n */\n next() {\n this._navNextPrev(false);\n }\n\n /**\n * Navigates to the previous item.\n * @ignore\n */\n prev() {\n this._navNextPrev(true);\n }\n\n /**\n * Sets focus to the currently selected calendar slot or the first available slot.\n * @ignore\n */\n override focus() {\n const func = (s: string) => this.getHostElement().querySelector<HTMLDivElement>(s);\n const div = func('.ax-calendar-slots>div.ax-state-selected') || func('.ax-calendar-slots>div');\n div?.focus();\n }\n\n /**\n * @ignore\n */\n private _navNextPrev(prev: boolean) {\n const sign = prev ? -1 : 1;\n if (this.activeView == 'day') this.navTo(this._viewStartDate.add('month', sign * 1 * this.count));\n else if (this.activeView == 'month') this.navTo(this._viewStartDate.add('year', sign * 1 * this.count));\n else this.navTo(this._viewStartDate.add('year', sign * 10 * this.count));\n }\n\n /**\n * Navigates to the current date.\n * @ignore\n */\n goToday() {\n this.navTo(this._today);\n }\n\n /**\n * Navigates to a specified date and updates the view.\n *\n * @param date - The date to navigate to, which can be a `Date` object or an `AXDateTime` instance.\n * @ignore\n */\n navTo(date: Date | AXDateTime) {\n const val = this.calendarService.convert(date, this.calendar());\n this._viewStartDate = val.startOf();\n this.render();\n //to make sure its rendred and displayRange is not null\n if (this.views.length > 0) {\n const vr = this.displayRange;\n this.onNavigate.emit({\n component: this,\n isUserInteraction: this._navUserInteraction,\n start: vr.startTime?.date,\n end: vr.endTime?.date,\n htmlElement: this.getHostElement(),\n });\n }\n }\n\n /**\n * @ignore\n */\n @HostBinding('class')\n private get __hostClass(): string {\n const _classes = {\n 'ax-state-disabled': this.disabled,\n 'ax-state-readonly': this.readonly,\n };\n return Object.entries(_classes)\n .filter((c) => c[1])\n .map((c) => c[0])\n .join(' ');\n }\n\n /**\n * @ignore\n */\n private _setDate(value: Date) {\n if (this.readonly || this.disabled) return;\n this.commitValue(this.calendarService.convert(value, this.calendar()).startOf().date, true);\n }\n\n /**\n * @ignore\n */\n protected isDisabled(date: AXDateTime): boolean {\n if (Array.isArray(this.disabledDates) && this.disabledDates.length != 0) {\n return this.disabledDates.some((d) => date.equal(d, 'day'));\n } else if (typeof this.disabledDates == 'function') {\n return this.disabledDates(date.date);\n }\n return false;\n }\n\n /**\n * @ignore\n */\n protected isHoliday(date: AXDateTime): boolean {\n const gh = this.calendarService.holidays.some((d) => date.equal(d.date, 'day'));\n let dh = this.calendarService.holidays.some((d) => date.equal(d.date, 'day'));\n if (Array.isArray(this.holidayDates) && this.holidayDates.length != 0) {\n dh = this.holidayDates.some((d) => date.equal(d, 'day'));\n } else if (typeof this.holidayDates == 'function') {\n dh = this.holidayDates(date.date);\n }\n return gh || dh;\n }\n\n /**\n * @ignore\n */\n protected isWeekend(date: AXDateTime): boolean {\n const weekend = this.calendarService.resolveCalendar(this.calendar()).weekend;\n return weekend.includes(date.dayOfWeek - 1);\n }\n\n /**\n * @ignore\n */\n @HostListener('keydown', ['$event'])\n _handleOnKeydownEvent(e: KeyboardEvent) {\n //TODO: complete keyboad navigation\n const ignore = () => {\n e.preventDefault();\n e.stopPropagation();\n };\n if (e.code === 'ArrowRight' || e.code === 'ArrowLeft') {\n if (e.ctrlKey) {\n e.code === 'ArrowRight' ? this.next() : this.prev();\n setTimeout(() => {\n this.focus();\n }, 50);\n }\n ignore();\n } else if (e.code === 'ArrowUp' || e.code === 'ArrowDown') {\n if (e.ctrlKey) {\n e.code === 'ArrowUp' ? this.next() : this.prev();\n setTimeout(() => {\n this.focus();\n }, 50);\n }\n ignore();\n }\n }\n\n /**\n * @ignore\n */\n protected getMonthName(date: AXDateTime, style: 'short' | 'long') {\n return `dateTime.months.${date.calendar.name()}.${style}.${date.monthOfYear - 1}`;\n }\n}\n","<ng-content select=\"ax-header\"></ng-content>\n<div class=\"ax-calendar-body\">\n @for (v of views; let i = $index, first = $first, last = $last; track i) {\n @switch (activeView) {\n @case ('year') {\n @if (showNavigation) {\n <div class=\"ax-calendar-view-header\">\n <div class=\"ax-calendar-header-info\">\n <button\n type=\"button\"\n [attr.disabled]=\"disabled ? '' : null\"\n [attr.readonly]=\"readonly ? '' : null\"\n class=\"ax-general-button ax-button-rounded ax-state-disabled\"\n (click)=\"_handleNavClick($event, 'year')\"\n >\n {{ v.range.startTime | format: 'date' : { calendar: calendar(), format: 'YYYY' } | async }} -\n {{ v.range.endTime | format: 'date' : { calendar: calendar(), format: 'YYYY' } | async }}\n </button>\n </div>\n @if (last) {\n <div class=\"ax-calendar-header-buttons\">\n <button\n type=\"button\"\n [attr.disabled]=\"disabled ? '' : null\"\n [attr.readonly]=\"readonly ? '' : null\"\n class=\"ax-general-button ax-button-rounded ax-button-icon ax-next\"\n (click)=\"_handlePrevClick()\"\n [title]=\"'prev' | translate | async\"\n >\n <i class=\"ax-icon ax-icon-chevron-left\"></i>\n </button>\n <button\n type=\"button\"\n [attr.disabled]=\"disabled ? '' : null\"\n [attr.readonly]=\"readonly ? '' : null\"\n class=\"ax-general-button ax-button-rounded ax-button-icon\"\n (click)=\"_handleNextClick()\"\n [title]=\"'next' | translate | async\"\n >\n <i class=\"ax-icon ax-icon-chevron-right\"></i>\n </button>\n </div>\n }\n </div>\n }\n <div class=\"ax-calendar-slots ax-calendar-slots-year\" [ngClass]=\"{ 'ax-default': !cellTemplate }\">\n @for (slot of v.slots; track slot.text) {\n <button\n tabindex=\"0\"\n class=\"ax-calendar-slot\"\n [class.ax-state-disabled]=\"disabled\"\n [ngClass]=\"slot.cssClass\"\n (click)=\"_handleSlotClick($event, slot)\"\n >\n @if (cellTemplate) {\n <div>\n <ng-container *ngTemplateOutlet=\"cellTemplate; context: { $implicit: { slot: slot } }\">\n </ng-container>\n </div>\n } @else {\n <div>\n {{ slot.text }}\n </div>\n }\n </button>\n }\n </div>\n }\n @case ('month') {\n @if (showNavigation) {\n <div class=\"ax-calendar-view-header\">\n <div class=\"ax-calendar-header-info\">\n <button\n type=\"button\"\n [attr.disabled]=\"disabled ? '' : null\"\n [attr.readonly]=\"readonly ? '' : null\"\n class=\"ax-general-button ax-button-rounded\"\n (click)=\"_handleNavClick($event, 'year')\"\n >\n {{ v.range.startTime | format: 'date' : { calendar: calendar(), format: 'YYYY' } | async }}\n </button>\n </div>\n @if (last) {\n <div class=\"ax-calendar-header-buttons\">\n <button\n type=\"button\"\n [attr.disabled]=\"disabled ? '' : null\"\n [attr.readonly]=\"readonly ? '' : null\"\n class=\"ax-general-button ax-button-rounded ax-button-icon\"\n (click)=\"_handlePrevClick()\"\n [title]=\"'prev' | translate | async\"\n >\n <i class=\"ax-icon ax-icon-chevron-left\"></i>\n </button>\n <button\n type=\"button\"\n [attr.disabled]=\"disabled ? '' : null\"\n [attr.readonly]=\"readonly ? '' : null\"\n class=\"ax-general-button ax-button-rounded ax-button-icon\"\n (click)=\"_handleNextClick()\"\n [title]=\"'next' | translate | async\"\n >\n <i class=\"ax-icon ax-icon-chevron-right\"></i>\n </button>\n </div>\n }\n </div>\n }\n <div class=\"ax-calendar-slots ax-calendar-slots-month\" [ngClass]=\"{ 'ax-default': !cellTemplate }\">\n <button\n tabindex=\"0\"\n *ngFor=\"let slot of v.slots\"\n class=\"ax-calendar-slot\"\n [class.ax-state-disabled]=\"disabled\"\n [ngClass]=\"slot.cssClass\"\n (click)=\"_handleSlotClick($event, slot)\"\n >\n @if (cellTemplate) {\n <div>\n <ng-container *ngTemplateOutlet=\"cellTemplate; context: { $implicit: { slot: slot } }\"> </ng-container>\n </div>\n } @else {\n <div [title]=\"slot.date | format: 'date' : { calendar: calendar(), format: 'MMMM YYYY' } | async\">\n {{ getMonthName(slot.date, 'short') | translate | async }}\n </div>\n }\n </button>\n </div>\n }\n @default {\n @if (showNavigation) {\n <div class=\"ax-calendar-view-header\">\n <div class=\"ax-calendar-header-info\">\n <button\n type=\"button\"\n [attr.disabled]=\"disabled ? '' : null\"\n [attr.readonly]=\"readonly ? '' : null\"\n class=\"ax-general-button ax-button-rounded\"\n (click)=\"_handleNavClick($event, 'year')\"\n >\n {{ v.range.startTime | format: 'date' : { calendar: calendar(), format: 'YYYY' } | async }}\n </button>\n <button\n type=\"button\"\n [attr.disabled]=\"disabled ? '' : null\"\n [attr.readonly]=\"readonly ? '' : null\"\n class=\"ax-general-button ax-button-rounded\"\n (click)=\"_handleNavClick($event, 'month')\"\n >\n <!-- {{ getMonthName(v.range.startTime, 'long') | translate | async }} -->\n {{ v.range.startTime | format: 'date' : { calendar: calendar(), format: 'MMMM' } | async }}\n </button>\n </div>\n @if (last) {\n <div class=\"ax-calendar-header-buttons\">\n <button\n type=\"button\"\n [attr.disabled]=\"disabled ? '' : null\"\n [attr.readonly]=\"readonly ? '' : null\"\n class=\"ax-general-button ax-button-rounded ax-button-icon\"\n (click)=\"_handlePrevClick()\"\n [title]=\"'prev' | translate | async\"\n >\n <i class=\"ax-icon ax-icon-chevron-left\"></i>\n </button>\n <button\n type=\"button\"\n [attr.disabled]=\"disabled ? '' : null\"\n [attr.readonly]=\"readonly ? '' : null\"\n class=\"ax-general-button ax-button-rounded ax-button-icon\"\n (click)=\"_handleNextClick()\"\n [title]=\"'next' | translate | async\"\n >\n <i class=\"ax-icon ax-icon-chevron-right\"></i>\n </button>\n </div>\n }\n </div>\n }\n <div class=\"ax-calendar-week\">\n <div *ngFor=\"let d of _weekdays\">{{ 'dateTime.weekdays.short.' + d | translate | async }}</div>\n </div>\n <div class=\"ax-calendar-slots ax-calendar-slots-day\" [ngClass]=\"{ 'ax-default': !cellTemplate }\">\n <ng-container *ngFor=\"let slot of v.slots\">\n <button\n tabindex=\"0\"\n class=\"ax-calendar-slot\"\n [ngClass]=\"slot.cssClass\"\n [class.ax-state-disabled]=\"disabled\"\n (click)=\"_handleSlotClick($event, slot)\"\n [disabled]=\"disabled\"\n [axRipple]\n >\n @if (cellTemplate) {\n <div>\n <ng-container *ngTemplateOutlet=\"cellTemplate; context: { $implicit: { slot: slot } }\">\n </ng-container>\n </div>\n } @else {\n <div [title]=\"slot.date | format: 'date' : { calendar: calendar(), format: 'long' } | async\">\n {{ slot.text }}\n </div>\n }\n </button>\n </ng-container>\n </div>\n }\n }\n }\n</div>\n<ng-content select=\"ax-footer\"></ng-content>\n","import {\n AXComponent,\n AXRange,\n AXValuableComponent,\n MXInteractiveComponent,\n MXValueComponent,\n} from '@acorex/cdk/common';\nimport { AXCalendarService, AXDateTime } from '@acorex/core/date-time';\nimport { AXFormatService } from '@acorex/core/format';\nimport { AXUnsubscriber } from '@acorex/core/utils';\nimport {\n AfterViewInit,\n Component,\n ViewChild,\n ViewEncapsulation,\n forwardRef,\n inject,\n linkedSignal,\n} from '@angular/core';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { classes } from 'polytype';\nimport { AXCalendarSlotClick, MXCalendarBaseComponent } from './calendar.class';\nimport { AXCalendarComponent } from './calendar.component';\n\n@Component({\n selector: 'ax-calendar-range',\n templateUrl: 'calendar-range.component.html',\n styleUrls: ['calendar-range.component.scss'],\n encapsulation: ViewEncapsulation.None,\n inputs: [\n 'rtl',\n 'readonly',\n 'value',\n 'name',\n 'disabled',\n 'depth',\n 'activeView',\n 'minValue',\n 'maxValue',\n 'disabledDates',\n 'holidayDates',\n 'type',\n 'cellTemplate',\n 'cellClass',\n 'showNavigation',\n ],\n outputs: [\n 'onOptionChanged',\n 'valueChange',\n 'onValueChanged',\n 'onBlur',\n 'onFocus',\n 'depthChange',\n 'typeChange',\n 'activeViewChange',\n 'disabledDatesChange',\n 'holidayDatesChange',\n 'onNavigate',\n 'onSlotClick',\n ],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => AXCalendarRangeComponent),\n multi: true,\n },\n {\n provide: AXValuableComponent,\n useExisting: AXCalendarRangeComponent,\n },\n AXUnsubscriber,\n { provide: AXComponent, useExisting: AXCalendarRangeComponent },\n ],\n imports: [AXCalendarComponent],\n})\nexport class AXCalendarRangeComponent\n extends classes(MXValueComponent<AXRange<Date>>, MXInteractiveComponent, MXCalendarBaseComponent)\n implements AfterViewInit\n{\n private formatService = inject(AXFormatService);\n private unsubscriber = inject(AXUnsubscriber);\n\n protected calendar = linkedSignal(() => this.type ?? this.localeService.activeProfile().calendar.system);\n\n /**\n * @ignore\n */\n private _calendarService: AXCalendarService = inject(AXCalendarService);\n\n @ViewChild('c1', { static: true })\n private _c1: AXCalendarComponent;\n\n @ViewChild('c2', { static: true })\n private _c2: AXCalendarComponent;\n\n _navText = '';\n\n /**\n * @ignore\n */\n constructor() {\n super();\n this.defaultValue = { from: null, end: null };\n\n this.calendarService.calendarChanges$.pipe(this.unsubscriber.takeUntilDestroy).subscribe((value) => {\n if (!this.type) this.calendar.set(value.name());\n this.render();\n });\n }\n\n /**\n * @ignore\n */\n protected override ngOnInit(): void {\n super.ngOnInit();\n }\n\n /**\n * @ignore\n */\n ngAfterViewInit(): void {\n this._syncNav1();\n }\n\n override internalValueChanged(value: any) {\n this._c1.render();\n this._c2.render();\n }\n\n /** w\n * @ignore\n */\n getCellClass = (date: AXDateTime) => {\n //const d = this._calendarService.create(date, this.type);\n\n // check from value\n if (!this._calendarService.isValidDate(this.value.from)) {\n return null;\n }\n const from = this._calendarService.create(this.value.from, this.type);\n if (this.value.from && date.equal(from, 'day')) {\n return 'ax-range-start';\n }\n\n // check end value\n if (!this._calendarService.isValidDate(this.value.end)) {\n return null;\n }\n const end = this._calendarService.create(this.value.end, this.type);\n if (this.value.end && date.equal(end, 'day')) return 'ax-range-end';\n if (this.value.from && this.value.end && date.compare(from, 'day') > 0 && date.compare(end, 'day') < 0)\n return 'ax-range-between';\n return null;\n };\n\n /**\n * @ignore\n */\n protected handleSlotClick(e: AXCalendarSlotClick) {\n if (this._c1.activeView == this.depth) {\n if (!this.value.from || (this.value.from && this.value.end)) {\n this.commitValue({ from: e.item, end: null }, true);\n }\n if (this.value.from && e.item <= this.value.from) {\n this.commitValue({ from: e.item, end: this.value.end }, true);\n } else if (this.value.from && !this.value.end) {\n this.commitValue({ from: this.value.from, end: e.item }, true);\n }\n } else {\n if (e.component == this._c1) {\n this._syncNav1();\n }\n if (e.component == this._c2) {\n this._syncNav2(this._calendarService.create(e.item, this.type));\n }\n }\n this._c1.render();\n this._c2.render();\n }\n\n /**\n * @ignore\n */\n protected handlePrevClick() {\n const view = this._c1.activeView;\n const d1 = this._c1.displayRange.startTime;\n if (view == 'day' || view == 'month') {\n this._c1.prev();\n } else if (view == 'year') {\n this._c1.navTo(d1.add('year', -20));\n }\n }\n\n /**\n * @ignore\n */\n protected handleNextClick() {\n const view = this._c1.activeView;\n const d1 = this._c1.displayRange.startTime;\n if (view == 'day' || view == 'month') {\n this._c1.next();\n } else if (view == 'year') {\n this._c1.navTo(d1.add('year', 20));\n }\n }\n\n /**\n * @ignore\n */\n protected handleNavClick() {\n this._c1.toggleView();\n }\n\n /**\n * @ignore\n */\n private _syncNavText() {\n const view = this._c1.activeView;\n const d1 = this._c1.displayRange.startTime;\n if (view == 'day') {\n const d2 = this._c2.displayRange.endTime;\n this._navText = `${this.formatService.format(d1, 'datetime', { format: 'MMM yyyy' })} - ${this.formatService.format(d2, 'datetime', { format: 'MMM yyyy' })}`;\n } else if (view == 'month' || view == 'year') {\n const d2 = this._c2.displayRange.endTime;\n this._navText = `${this.formatService.format(d1, 'datetime', { format: 'yyyy' })} - ${this.formatService.format(d2, 'datetime', { format: 'yyyy' })}`;\n }\n }\n\n /**\n * @ignore\n */\n protected handleNavigate() {\n this._syncNav1();\n }\n\n /**\n * @ignore\n */\n protected handleActiveViewChange1() {\n this._c2.activeView = this._c1.activeView;\n this._syncNav1();\n }\n\n /**\n * @ignore\n */\n protected handleActiveViewChange2() {\n if (this._c2.activeView != this._c1.activeView) {\n this._c1.activeView = this._c2.activeView;\n }\n }\n\n /**\n * @ignore\n */\n private _syncNav1() {\n const view = (this._c2.activeView = this._c1.activeView);\n const range = this._c1.displayRange;\n if (view == 'day') {\n this._c2.navTo(range.startTime.add('month', 1));\n } else if (view == 'month') {\n this._c2.navTo(range.startTime.add('year', 1));\n } else if (view == 'year') {\n this._c2.navTo(range.endTime.add('year', 4));\n }\n this._syncNavText();\n }\n\n /**\n * @ignore\n */\n private _syncNav2(e: AXDateTime) {\n const view = this._c2.activeView;\n if (view == 'month') {\n this._c1.navTo(e.add('month', -1));\n } else if (view == 'year') {\n this._c1.navTo(e.startOf('year'));\n }\n }\n}\n","<div class=\"ax-calendar-range-header\">\n <ng-content></ng-content>\n <div class=\"ax-calendar-header-range-info\">\n <button type=\"button\" [attr.disabled]=\"disabled ? '' : null\" class=\"ax-general-button\" (click)=\"handleNavClick()\">\n {{ _navText }}\n </button>\n </div>\n <div class=\"ax-calendar-header-range-buttons\">\n <button\n type=\"button\"\n [attr.disabled]=\"disabled ? '' : null\"\n class=\"ax-general-button ax-button-icon\"\n (click)=\"handlePrevClick()\"\n >\n <i class=\"ax-icon ax-icon-chevron-left\"></i>\n </button>\n <button\n type=\"button\"\n [attr.disabled]=\"disabled ? '' : null\"\n class=\"ax-general-button ax-button-icon\"\n (click)=\"handleNextClick()\"\n >\n <i class=\"ax-icon ax-icon-chevron-right\"></i>\n </button>\n </div>\n</div>\n<div class=\"ax-calendar-range-body\">\n <ax-calendar\n #c1\n [showNavigation]=\"false\"\n [readonly]=\"true\"\n [cellClass]=\"getCellClass\"\n [type]=\"type\"\n [cellTemplate]=\"cellTemplate\"\n [minValue]=\"minValue\"\n [maxValue]=\"maxValue\"\n [depth]=\"depth\"\n (onSlotClick)=\"handleSlotClick($event)\"\n (onNavigate)=\"handleNavigate()\"\n (activeViewChange)=\"handleActiveViewChange1()\"\n >\n </ax-calendar>\n <ax-calendar\n #c2\n [showNavigation]=\"false\"\n [readonly]=\"true\"\n [cellClass]=\"getCellClass\"\n [type]=\"type\"\n [cellTemplate]=\"cellTemplate\"\n [minValue]=\"minValue\"\n [maxValue]=\"maxValue\"\n [depth]=\"depth\"\n (onSlotClick)=\"handleSlotClick($event)\"\n (activeViewChange)=\"handleActiveViewChange2()\"\n >\n </ax-calendar>\n</div>\n","import { AXRippleDirective } from '@acorex/cdk/common';\nimport { AXTooltipModule } from '@acorex/components/tooltip';\nimport { AXDateTimeModule } from '@acorex/core/date-time';\nimport { AXTranslationModule } from '@acorex/core/translation';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { AXCalendarRangeComponent } from './calendar-range.component';\nimport { AXCalendarComponent } from './calendar.component';\n\nconst COMPONENT = [AXCalendarComponent, AXCalendarRangeComponent];\nconst MODULES = [CommonModule, AXDateTimeModule, AXTranslationModule, AXTooltipModule, AXRippleDirective];\n\n@NgModule({\n imports: [...MODULES, ...COMPONENT],\n exports: [...COMPONENT],\n providers: [],\n})\nexport class AXCalendarModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
1
|
+
{"version":3,"file":"acorex-components-calendar.mjs","sources":["../tmp-esm2022/calendar/lib/calendar.class.js","../tmp-esm2022/calendar/lib/calendar.component.js","../tmp-esm2022/calendar/lib/calendar-range.component.js","../tmp-esm2022/calendar/lib/calendar.module.js","../tmp-esm2022/calendar/acorex-components-calendar.js"],"sourcesContent":["import { AXItemClickEvent, AXRangeChangedEvent, MXBaseComponent } from '@acorex/cdk/common';\nimport { AXCalendarService } from '@acorex/core/date-time';\nimport { AXLocaleService } from '@acorex/core/locale';\nimport { AXTranslationService } from '@acorex/core/translation';\nimport { EventEmitter, Injectable, Input, Output, TemplateRef, inject } from '@angular/core';\nimport * as i0 from \"@angular/core\";\n/**\n * Contains native event\n * @category Events\n */\nexport class AXCalendarNavigateEvent extends AXRangeChangedEvent {\n}\n/**\n * Contains native event\n * @category Events\n */\nexport class AXCalendarSlotClick extends AXItemClickEvent {\n}\nexport class MXCalendarBaseComponent extends MXBaseComponent {\n constructor() {\n super(...arguments);\n this.localeService = inject(AXLocaleService);\n this.calendarService = inject(AXCalendarService);\n this.translateService = inject(AXTranslationService);\n this.interface = 'calendar';\n this.showNavigation = true;\n this.count = 1;\n this.onSlotClick = new EventEmitter();\n this.onNavigate = new EventEmitter();\n this.activeViewChange = new EventEmitter();\n this._activeView = 'day';\n this.typeChange = new EventEmitter();\n this.depthChange = new EventEmitter();\n this._depth = 'day';\n this.minValueChange = new EventEmitter();\n this.maxValueChange = new EventEmitter();\n this.disabledDatesChange = new EventEmitter();\n this.holidayDatesChange = new EventEmitter();\n }\n get activeView() {\n return this._activeView;\n }\n set activeView(v) {\n this.setOption({\n name: 'activeView',\n value: v,\n afterCallback: () => {\n this.cdr.markForCheck();\n },\n });\n }\n /**\n * @deprecated use calendar input instead\n */\n get type() {\n return this._type;\n }\n set type(v) {\n this.setOption({\n name: 'type',\n value: v,\n afterCallback: () => {\n this.cdr.markForCheck();\n },\n });\n }\n get depth() {\n return this._depth;\n }\n set depth(v) {\n this.setOption({\n name: 'depth',\n value: v,\n beforeCallback: (o, n) => {\n this.activeView = v;\n return n;\n },\n afterCallback: () => {\n this.render();\n },\n });\n }\n get minValue() {\n return this._minValue;\n }\n set minValue(v) {\n this.setOption({\n name: 'minValue',\n value: v,\n afterCallback: () => {\n this.render();\n },\n });\n }\n get maxValue() {\n return this._maxValue;\n }\n set maxValue(v) {\n this.setOption({\n name: 'maxValue',\n value: v,\n afterCallback: () => {\n this.render();\n },\n });\n }\n get disabledDates() {\n return this._disabledDates;\n }\n set disabledDates(v) {\n this.setOption({ name: 'disabledDates', value: v });\n }\n get holidayDates() {\n return this._holidayDates;\n }\n set holidayDates(v) {\n this.setOption({ name: 'holidayDates', value: v });\n }\n render() { }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.3\", ngImport: i0, type: MXCalendarBaseComponent, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.0.3\", ngImport: i0, type: MXCalendarBaseComponent }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.3\", ngImport: i0, type: MXCalendarBaseComponent, decorators: [{\n type: Injectable\n }], propDecorators: { interface: [{\n type: Input\n }], cellTemplate: [{\n type: Input\n }], dayCellTemplate: [{\n type: Input\n }], monthCellTemplate: [{\n type: Input\n }], yearCellTemplate: [{\n type: Input\n }], cellClass: [{\n type: Input\n }], showNavigation: [{\n type: Input\n }], count: [{\n type: Input\n }], onSlotClick: [{\n type: Output\n }], onNavigate: [{\n type: Output\n }], activeViewChange: [{\n type: Output\n }], activeView: [{\n type: Input\n }], typeChange: [{\n type: Output\n }], type: [{\n type: Input\n }], depthChange: [{\n type: Output\n }], depth: [{\n type: Input\n }], minValueChange: [{\n type: Output\n }], minValue: [{\n type: Input\n }], maxValueChange: [{\n type: Output\n }], maxValue: [{\n type: Input\n }], disabledDatesChange: [{\n type: Output\n }], disabledDates: [{\n type: Input\n }], holidayDatesChange: [{\n type: Output\n }], holidayDates: [{\n type: Input\n }] } });\nexport const CALENDAR_INPUTS = ['depth', 'activeView', 'min', 'max', 'disabledDates', 'type', 'holidayDates'];\nexport const CALENDAR_OUTPUTS = [\n 'depthChange',\n 'typeChange',\n 'disabledDatesChange',\n 'holidayDatesChange',\n 'onNavigate',\n];\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsZW5kYXIuY2xhc3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21wb25lbnRzL2NhbGVuZGFyL3NyYy9saWIvY2FsZW5kYXIuY2xhc3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGdCQUFnQixFQUFFLG1CQUFtQixFQUFFLGVBQWUsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQzVGLE9BQU8sRUFBRSxpQkFBaUIsRUFBK0IsTUFBTSx3QkFBd0IsQ0FBQztBQUN4RixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdEQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDaEUsT0FBTyxFQUFFLFlBQVksRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxXQUFXLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQVU3Rjs7O0dBR0c7QUFDSCxNQUFNLE9BQU8sdUJBQXdCLFNBQVEsbUJBQXlCO0NBQUc7QUFFekU7OztHQUdHO0FBQ0gsTUFBTSxPQUFPLG1CQUFvQixTQUFRLGdCQUFzQjtDQUFHO0FBaUJsRSxNQUFNLE9BQU8sdUJBQXdCLFNBQVEsZUFBZTtJQUQ1RDs7UUFFWSxrQkFBYSxHQUFHLE1BQU0sQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUN4QyxvQkFBZSxHQUFHLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1FBQzVDLHFCQUFnQixHQUFHLE1BQU0sQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO1FBRzFELGNBQVMsR0FBMEIsVUFBVSxDQUFDO1FBb0I5QyxtQkFBYyxHQUFHLElBQUksQ0FBQztRQUd0QixVQUFLLEdBQUcsQ0FBQyxDQUFDO1FBR1YsZ0JBQVcsR0FBc0MsSUFBSSxZQUFZLEVBQXVCLENBQUM7UUFHekYsZUFBVSxHQUEwQyxJQUFJLFlBQVksRUFBMkIsQ0FBQztRQUdoRyxxQkFB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LFlBQVksRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLGVBQWUsRUFBRSxNQUFNLEVBQUUsY0FBYyxDQUFDLENBQUM7QUFDOUcsTUFBTSxDQUFDLE1BQU0sZ0JBQWdCLEdBQUc7SUFDOUIsYUFBYTtJQUNiLFlBQVk7SUFDWixxQkFBcUI7SUFDckIsb0JBQW9CO0lBQ3BCLFlBQVk7Q0FDYixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVhJdGVtQ2xpY2tFdmVudCwgQVhSYW5nZUNoYW5nZWRFdmVudCwgTVhCYXNlQ29tcG9uZW50IH0gZnJvbSAnQGFjb3JleC9jZGsvY29tbW9uJztcbmltcG9ydCB7IEFYQ2FsZW5kYXJTZXJ2aWNlLCBBWERhdGVUaW1lLCBBWERhdGVUaW1lUmFuZ2UgfSBmcm9tICdAYWNvcmV4L2NvcmUvZGF0ZS10aW1lJztcbmltcG9ydCB7IEFYTG9jYWxlU2VydmljZSB9IGZyb20gJ0BhY29yZXgvY29yZS9sb2NhbGUnO1xuaW1wb3J0IHsgQVhUcmFuc2xhdGlvblNlcnZpY2UgfSBmcm9tICdAYWNvcmV4L2NvcmUvdHJhbnNsYXRpb24nO1xuaW1wb3J0IHsgRXZlbnRFbWl0dGVyLCBJbmplY3RhYmxlLCBJbnB1dCwgT3V0cHV0LCBUZW1wbGF0ZVJlZiwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmV4cG9ydCB0eXBlIEFYQ2FsZW5kYXJWaWV3VHlwZSA9ICd5ZWFyJyB8ICdtb250aCcgfCAnZGF5JztcbmV4cG9ydCB0eXBlIEFYQ2FsZW5kYXJWaWV3RGVwdGggPSBBWENhbGVuZGFyVmlld1R5cGU7XG5leHBvcnQgdHlwZSBBWENhbGVuZGFyRGlzYWJsZWREYXRlcyA9IERhdGVbXSB8ICgoZGF0ZTogRGF0ZSkgPT4gYm9vbGVhbik7XG5leHBvcnQgdHlwZSBBWENhbGVuZGFySG9saWRheURhdGVzID0gRGF0ZVtdIHwgKChkYXRlOiBEYXRlKSA9PiBib29sZWFuKTtcbmV4cG9ydCB0eXBlIEFYQ2FsZW5kYXJDZWxsQ3NzQ2xhc3MgPSBzdHJpbmcgfCB7IFtrZXk6IHN0cmluZ106IGJvb2xlYW4gfSB8ICgoZGF0ZTogRGF0ZSkgPT4gc3RyaW5nKTtcblxuZXhwb3J0IHR5cGUgQVhEYXRlVGltZVBpY2tlclR5cGUgPSAnZGF0ZScgfCAndGltZScgfCAnZGF0ZXRpbWUnO1xuXG4vKipcbiAqICBDb250YWlucyBuYXRpdmUgZXZlbnRcbiAqIEBjYXRlZ29yeSBFdmVudHNcbiAqL1xuZXhwb3J0IGNsYXNzIEFYQ2FsZW5kYXJOYXZpZ2F0ZUV2ZW50IGV4dGVuZHMgQVhSYW5nZUNoYW5nZWRFdmVudDxEYXRlPiB7fVxuXG4vKipcbiAqICBDb250YWlucyBuYXRpdmUgZXZlbnRcbiAqIEBjYXRlZ29yeSBFdmVudHNcbiAqL1xuZXhwb3J0IGNsYXNzIEFYQ2FsZW5kYXJTbG90Q2xpY2sgZXh0ZW5kcyBBWEl0ZW1DbGlja0V2ZW50PERhdGU+IHt9XG5cbmV4cG9ydCBpbnRlcmZhY2UgQVhDYWxlbmRhclZpZXdTbG90IHtcbiAgZGF0ZTogQVhEYXRlVGltZTtcbiAgdGV4dDogc3RyaW5nO1xuICB0b29sdGlwOiBzdHJpbmc7XG4gIHRvZGF5OiBib29sZWFuO1xuICBzZWxlY3RlZDogYm9vbGVhbjtcbiAgZGlzYWJsZWQ6IGJvb2xlYW47XG4gIGNzc0NsYXNzOiB7IFtrZXk6IHN0cmluZ106IGJvb2xlYW4gfTtcbn1cbmV4cG9ydCBpbnRlcmZhY2UgQVhDYWxlbmRhclZpZXcge1xuICByYW5nZTogQVhEYXRlVGltZVJhbmdlO1xuICBzbG90czogQVhDYWxlbmRhclZpZXdTbG90W107XG59XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBNWENhbGVuZGFyQmFzZUNvbXBvbmVudCBleHRlbmRzIE1YQmFzZUNvbXBvbmVudCB7XG4gIHByb3RlY3RlZCBsb2NhbGVTZXJ2aWNlID0gaW5qZWN0KEFYTG9jYWxlU2VydmljZSk7XG4gIHByb3RlY3RlZCBjYWxlbmRhclNlcnZpY2UgPSBpbmplY3QoQVhDYWxlbmRhclNlcnZpY2UpO1xuICBwcm90ZWN0ZWQgdHJhbnNsYXRlU2VydmljZSA9IGluamVjdChBWFRyYW5zbGF0aW9uU2VydmljZSk7XG5cbiAgQElucHV0KClcbiAgaW50ZXJmYWNlOiAnY2FsZW5kYXInIHwgJ3BpY2tlcicgPSAnY2FsZW5kYXInO1xuXG4gIC8qKlxuICAgKiBAZGVwcmVjYXRlZFxuICAgKiB1c2UgZGF5Q2VsbFRlbXBsYXRlLCBtb250aENlbGxUZW1wbGF0ZSwgeWVhckNlbGxUZW1wbGF0ZSBpbnN0ZWFkXG4gICAqL1xuICBASW5wdXQoKVxuICBjZWxsVGVtcGxhdGU/OiBUZW1wbGF0ZVJlZjx1bmtub3duPjtcblxuICBASW5wdXQoKVxuICBkYXlDZWxsVGVtcGxhdGU/OiBUZW1wbGF0ZVJlZjx1bmtub3duPjtcbiAgQElucHV0KClcbiAgbW9udGhDZWxsVGVtcGxhdGU/OiBUZW1wbGF0ZVJlZjx1bmtub3duPjtcbiAgQElucHV0KClcbiAgeWVhckNlbGxUZW1wbGF0ZT86IFRlbXBsYXRlUmVmPHVua25vd24+O1xuXG4gIEBJbnB1dCgpXG4gIGNlbGxDbGFzcz86IEFYQ2FsZW5kYXJDZWxsQ3NzQ2xhc3M7XG5cbiAgQElucHV0KClcbiAgc2hvd05hdmlnYXRpb24gPSB0cnVlO1xuXG4gIEBJbnB1dCgpXG4gIGNvdW50ID0gMTtcblxuICBAT3V0cHV0KClcbiAgb25TbG90Q2xpY2s6IEV2ZW50RW1pdHRlcjxBWENhbGVuZGFyU2xvdENsaWNrPiA9IG5ldyBFdmVudEVtaXR0ZXI8QVhDYWxlbmRhclNsb3RDbGljaz4oKTtcblxuICBAT3V0cHV0KClcbiAgb25OYXZpZ2F0ZTogRXZlbnRFbWl0dGVyPEFYQ2FsZW5kYXJOYXZpZ2F0ZUV2ZW50PiA9IG5ldyBFdmVudEVtaXR0ZXI8QVhDYWxlbmRhck5hdmlnYXRlRXZlbnQ+KCk7XG5cbiAgQE91dHB1dCgpXG4gIGFjdGl2ZVZpZXdDaGFuZ2U6IEV2ZW50RW1pdHRlcjxBWENhbGVuZGFyVmlld1R5cGU+ID0gbmV3IEV2ZW50RW1pdHRlcjxBWENhbGVuZGFyVmlld1R5cGU+KCk7XG5cbiAgcHJpdmF0ZSBfYWN0aXZlVmlldzogQVhDYWxlbmRhclZpZXdUeXBlID0gJ2RheSc7XG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBnZXQgYWN0aXZlVmlldygpOiBBWENhbGVuZGFyVmlld1R5cGUge1xuICAgIHJldHVybiB0aGlzLl9hY3RpdmVWaWV3O1xuICB9XG4gIHB1YmxpYyBzZXQgYWN0aXZlVmlldyh2OiBBWENhbGVuZGFyVmlld1R5cGUpIHtcbiAgICB0aGlzLnNldE9wdGlvbih7XG4gICAgICBuYW1lOiAnYWN0aXZlVmlldycsXG4gICAgICB2YWx1ZTogdixcbiAgICAgIGFmdGVyQ2FsbGJhY2s6ICgpID0+IHtcbiAgICAgICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG4gICAgICB9LFxuICAgIH0pO1xuICB9XG5cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyB0eXBlQ2hhbmdlOiBFdmVudEVtaXR0ZXI8c3RyaW5nPiA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xuXG4gIHByaXZhdGUgX3R5cGU6IHN0cmluZztcblxuICAvKipcbiAgICogQGRlcHJlY2F0ZWQgdXNlIGNhbGVuZGFyIGlucHV0IGluc3RlYWRcbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBnZXQgdHlwZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLl90eXBlO1xuICB9XG4gIHB1YmxpYyBzZXQgdHlwZSh2OiBzdHJpbmcpIHtcbiAgICB0aGlzLnNldE9wdGlvbih7XG4gICAgICBuYW1lOiAndHlwZScsXG4gICAgICB2YWx1ZTogdixcbiAgICAgIGFmdGVyQ2FsbGJhY2s6ICgpID0+IHtcbiAgICAgICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG4gICAgICB9LFxuICAgIH0pO1xuICB9XG5cbiAgQE91dHB1dCgpXG4gIGRlcHRoQ2hhbmdlOiBFdmVudEVtaXR0ZXI8QVhDYWxlbmRhclZpZXdEZXB0aD4gPSBuZXcgRXZlbnRFbWl0dGVyPEFYQ2FsZW5kYXJWaWV3RGVwdGg+KCk7XG5cbiAgcHJpdmF0ZSBfZGVwdGg6IEFYQ2FsZW5kYXJWaWV3RGVwdGggPSAnZGF5JztcbiAgQElucHV0KClcbiAgcHVibGljIGdldCBkZXB0aCgpOiBBWENhbGVuZGFyVmlld0RlcHRoIHtcbiAgICByZXR1cm4gdGhpcy5fZGVwdGg7XG4gIH1cbiAgcHVibGljIHNldCBkZXB0aCh2OiBBWENhbGVuZGFyVmlld0RlcHRoKSB7XG4gICAgdGhpcy5zZXRPcHRpb24oe1xuICAgICAgbmFtZTogJ2RlcHRoJyxcbiAgICAgIHZhbHVlOiB2LFxuICAgICAgYmVmb3JlQ2FsbGJhY2s6IChvLCBuKSA9PiB7XG4gICAgICAgIHRoaXMuYWN0aXZlVmlldyA9IHY7XG4gICAgICAgIHJldHVybiBuO1xuICAgICAgfSxcbiAgICAgIGFmdGVyQ2FsbGJhY2s6ICgpID0+IHtcbiAgICAgICAgdGhpcy5yZW5kZXIoKTtcbiAgICAgIH0sXG4gICAgfSk7XG4gIH1cblxuICBAT3V0cHV0KClcbiAgbWluVmFsdWVDaGFuZ2U6IEV2ZW50RW1pdHRlcjxEYXRlPiA9IG5ldyBFdmVudEVtaXR0ZXI8RGF0ZT4oKTtcblxuICBwcml2YXRlIF9taW5WYWx1ZTogRGF0ZTtcbiAgQElucHV0KClcbiAgcHVibGljIGdldCBtaW5WYWx1ZSgpOiBEYXRlIHtcbiAgICByZXR1cm4gdGhpcy5fbWluVmFsdWU7XG4gIH1cbiAgcHVibGljIHNldCBtaW5WYWx1ZSh2OiBEYXRlKSB7XG4gICAgdGhpcy5zZXRPcHRpb24oe1xuICAgICAgbmFtZTogJ21pblZhbHVlJyxcbiAgICAgIHZhbHVlOiB2LFxuICAgICAgYWZ0ZXJDYWxsYmFjazogKCkgPT4ge1xuICAgICAgICB0aGlzLnJlbmRlcigpO1xuICAgICAgfSxcbiAgICB9KTtcbiAgfVxuXG4gIEBPdXRwdXQoKVxuICBtYXhWYWx1ZUNoYW5nZTogRXZlbnRFbWl0dGVyPERhdGU+ID0gbmV3IEV2ZW50RW1pdHRlcjxEYXRlPigpO1xuXG4gIHByaXZhdGUgX21heFZhbHVlOiBEYXRlO1xuICBASW5wdXQoKVxuICBwdWJsaWMgZ2V0IG1heFZhbHVlKCk6IERhdGUge1xuICAgIHJldHVybiB0aGlzLl9tYXhWYWx1ZTtcbiAgfVxuICBwdWJsaWMgc2V0IG1heFZhbHVlKHY6IERhdGUpIHtcbiAgICB0aGlzLnNldE9wdGlvbih7XG4gICAgICBuYW1lOiAnbWF4VmFsdWUnLFxuICAgICAgdmFsdWU6IHYsXG4gICAgICBhZnRlckNhbGxiYWNrOiAoKSA9PiB7XG4gICAgICAgIHRoaXMucmVuZGVyKCk7XG4gICAgICB9LFxuICAgIH0pO1xuICB9XG5cbiAgQE91dHB1dCgpXG4gIGRpc2FibGVkRGF0ZXNDaGFuZ2U6IEV2ZW50RW1pdHRlcjxBWENhbGVuZGFyRGlzYWJsZWREYXRlcz4gPSBuZXcgRXZlbnRFbWl0dGVyPEFYQ2FsZW5kYXJEaXNhYmxlZERhdGVzPigpO1xuXG4gIHByaXZhdGUgX2Rpc2FibGVkRGF0ZXM6IEFYQ2FsZW5kYXJEaXNhYmxlZERhdGVzO1xuICBASW5wdXQoKVxuICBwdWJsaWMgZ2V0IGRpc2FibGVkRGF0ZXMoKTogQVhDYWxlbmRhckRpc2FibGVkRGF0ZXMge1xuICAgIHJldHVybiB0aGlzLl9kaXNhYmxlZERhdGVzO1xuICB9XG4gIHB1YmxpYyBzZXQgZGlzYWJsZWREYXRlcyh2OiBBWENhbGVuZGFyRGlzYWJsZWREYXRlcykge1xuICAgIHRoaXMuc2V0T3B0aW9uKHsgbmFtZTogJ2Rpc2FibGVkRGF0ZXMnLCB2YWx1ZTogdiB9KTtcbiAgfVxuXG4gIEBPdXRwdXQoKVxuICBob2xpZGF5RGF0ZXNDaGFuZ2U6IEV2ZW50RW1pdHRlcjxBWENhbGVuZGFySG9saWRheURhdGVzPiA9IG5ldyBFdmVudEVtaXR0ZXI8QVhDYWxlbmRhckhvbGlkYXlEYXRlcz4oKTtcblxuICBwcml2YXRlIF9ob2xpZGF5RGF0ZXM6IEFYQ2FsZW5kYXJIb2xpZGF5RGF0ZXM7XG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBnZXQgaG9saWRheURhdGVzKCk6IEFYQ2FsZW5kYXJIb2xpZGF5RGF0ZXMge1xuICAgIHJldHVybiB0aGlzLl9ob2xpZGF5RGF0ZXM7XG4gIH1cbiAgcHVibGljIHNldCBob2xpZGF5RGF0ZXModjogQVhDYWxlbmRhckhvbGlkYXlEYXRlcykge1xuICAgIHRoaXMuc2V0T3B0aW9uKHsgbmFtZTogJ2hvbGlkYXlEYXRlcycsIHZhbHVlOiB2IH0pO1xuICB9XG5cbiAgcmVuZGVyKCk6IHZvaWQge31cbn1cblxuZXhwb3J0IGNvbnN0IENBTEVOREFSX0lOUFVUUyA9IFsnZGVwdGgnLCAnYWN0aXZlVmlldycsICdtaW4nLCAnbWF4JywgJ2Rpc2FibGVkRGF0ZXMnLCAndHlwZScsICdob2xpZGF5RGF0ZXMnXTtcbmV4cG9ydCBjb25zdCBDQUxFTkRBUl9PVVRQVVRTID0gW1xuICAnZGVwdGhDaGFuZ2UnLFxuICAndHlwZUNoYW5nZScsXG4gICdkaXNhYmxlZERhdGVzQ2hhbmdlJyxcbiAgJ2hvbGlkYXlEYXRlc0NoYW5nZScsXG4gICdvbk5hdmlnYXRlJyxcbl07XG4iXX0=","import { AXComponent, AXRippleDirective, AXValuableComponent, MXInteractiveComponent, MXValueComponent, } from '@acorex/cdk/common';\nimport { AXDateTimeRange } from '@acorex/core/date-time';\nimport { ChangeDetectionStrategy, Component, forwardRef, HostBinding, HostListener, inject, linkedSignal, signal, ViewEncapsulation, } from '@angular/core';\nimport { AXFormatModule, AXFormatService } from '@acorex/core/format';\nimport { AXTranslatorPipe } from '@acorex/core/translation';\nimport { AXUnsubscriber } from '@acorex/core/utils';\nimport { AsyncPipe, isPlatformBrowser, NgClass, NgTemplateOutlet } from '@angular/common';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { classes } from 'polytype';\nimport { MXCalendarBaseComponent } from './calendar.class';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@acorex/core/format\";\n/**\n * A calendar component that provides a customizable calendar view with various options for selection, navigation, and styling.\n *\n * @category Components\n */\nexport class AXCalendarComponent extends classes((MXValueComponent), MXInteractiveComponent, MXCalendarBaseComponent) {\n get displayRange() {\n return new AXDateTimeRange(this.views[0].range.startTime, this.views[this.views.length - 1].range.endTime);\n }\n /**\n * @ignore\n */\n _initValues() {\n this._today = this.calendarService.create(new Date(), this.calendar());\n this._weekdays = this._today.calendar.weekdays;\n }\n /**\n * @ignore\n */\n _refresh() {\n this._initValues();\n this.navTo(this.value || this._today);\n }\n /**\n * @ignore\n */\n constructor() {\n const unsubscriber = inject(AXUnsubscriber);\n super();\n this.formatService = inject(AXFormatService);\n this.calendar = linkedSignal(() => this.type ?? this.localeService.activeProfile().calendar.system);\n /**\n * @ignore\n */\n this._today = this.calendarService.create(new Date(), this.calendar());\n /**\n * @ignore\n */\n this._navUserInteraction = false;\n /**\n * @ignore\n */\n this._footPrint = {\n year: null,\n month: null,\n day: null,\n };\n /**\n * @ignore\n */\n this.views = [];\n /**\n * @ignore\n */\n this._weekdays = [];\n /**\n * @ignore\n */\n this.oldValue = signal(null);\n this.calendarService.onHolidaysChanged.pipe(unsubscriber.takeUntilDestroy).subscribe(() => {\n this.render();\n });\n this.calendarService.calendarChanges$.pipe(unsubscriber.takeUntilDestroy).subscribe((value) => {\n if (!this.type)\n this.calendar.set(value.name());\n this._refresh();\n });\n this.typeChange.pipe(unsubscriber.takeUntilDestroy).subscribe((value) => {\n this.calendar.set(value);\n });\n }\n /**\n * @ignore\n */\n ngOnInit() {\n super.ngOnInit();\n this._initValues();\n }\n /**\n * @ignore\n */\n ngAfterViewInit() {\n if (!this.value) {\n this.goToday();\n }\n }\n /**\n * @ignore\n */\n render() {\n if (!this._viewStartDate)\n return;\n const applyCellClass = (slot, cellClass = this.cellClass) => {\n switch (typeof cellClass) {\n case 'string':\n cellClass.split(' ').forEach((c) => (slot.cssClass[c] = true));\n break;\n case 'object':\n Object.assign(slot.cssClass, cellClass);\n break;\n case 'function':\n applyCellClass(slot, cellClass(slot.date));\n break;\n }\n };\n this.views = [];\n for (let i = 0; i < this.count; i++) {\n switch (this.activeView) {\n case 'day':\n this.dayView(i, applyCellClass);\n break;\n case 'month':\n this.monthView(i, applyCellClass);\n break;\n case 'year':\n this.yearView(i, applyCellClass);\n break;\n }\n }\n this.cdr.markForCheck();\n }\n /**\n * @ignore\n */\n _setDisplayRange(current) {\n switch (this.activeView) {\n case 'year': {\n const y = current.startOf('year').year;\n const min = y - (y % 10);\n const max = min + 9;\n return new AXDateTimeRange(this.calendarService.create({\n year: min,\n month: 1,\n day: 1,\n }, this.calendar()), this.calendarService.create({\n year: max,\n month: 12,\n day: 28,\n }, this.calendar()));\n }\n case 'month':\n return new AXDateTimeRange(current.startOf('year'), current.endOf('year').add('day', -1));\n default:\n return new AXDateTimeRange(current.startOf('month'), current.endOf('month'));\n }\n }\n /**\n * @ignore\n */\n dayView(i, applyCellClass) {\n const current = this._viewStartDate.add('month', i);\n const view = {\n range: this._setDisplayRange(current),\n slots: [],\n };\n this.views.push(view);\n const a = view.range.enumurate('day');\n view.slots = a.map((d, i) => {\n const r = {};\n r.date = d;\n r.text = d.dayOfMonth;\n r.today = d.equal(this._today, 'day');\n r.selected = this.value && d.equal(this.value, 'day');\n r.holiday = this.isHoliday(d) || this.isWeekend(d);\n r.disabled =\n (this.minValue && d.compare(this.minValue, 'day') == -1) ||\n (this.maxValue && d.compare(this.maxValue, 'day') == 1) ||\n this.isDisabled(d);\n //\n const focused = d.dayOfMonth == this._footPrint.day && d.monthOfYear == this._footPrint.month && d.year == this._footPrint.year;\n //\n if (r.disabled) {\n r.cssClass = {\n 'ax-state-disabled': true,\n };\n }\n else {\n r.cssClass = {\n 'ax-state-today': r.today,\n 'ax-state-selected': r.selected,\n 'ax-state-holiday': r.holiday,\n // 'ax-state-focused': focused,\n };\n }\n // ax-col-start-1 ax-col-start-2 ax-col-start-3 ax-col-start-4 ax-col-start-5 ax-col-start-6 ax-col-start-7\n r.cssClass[`ax-column-start-${view.range.startTime.dayOfWeek}`] = i == 0;\n if (this.cellClass)\n applyCellClass(r);\n return r;\n });\n }\n /**\n * @ignore\n */\n monthView(i, applyCellClass) {\n const current = this._viewStartDate.add('year', i);\n const view = {\n range: this._setDisplayRange(current),\n slots: [],\n };\n this.views.push(view);\n const a = view.range.enumurate('month');\n view.slots = a.map((d, i) => {\n const r = {};\n r.date = d;\n r.text = this.formatService.format(d, 'date', 'MMM');\n r.today = d.equal(this._today, 'month');\n //\n r.disabled =\n (this.minValue && d.compare(this.minValue, 'month') == -1) ||\n (this.maxValue && d.compare(this.maxValue, 'month') == 1);\n //\n r.selected = this.value && this.depth == 'month' && d.equal(this.value, 'month');\n //\n const focused = d.monthOfYear == this._footPrint.month && d.year == this._footPrint.year;\n //\n if (r.disabled) {\n r.cssClass = {\n 'ax-state-disabled': r.disabled,\n };\n }\n else {\n r.cssClass = {\n 'ax-state-today': r.today,\n 'ax-state-selected': r.selected,\n 'ax-state-focused': focused,\n };\n }\n applyCellClass(r);\n return r;\n });\n }\n /**\n * @ignore\n */\n yearView(i, applyCellClass) {\n const current = this._viewStartDate.add('year', i * 10);\n const view = {\n range: this._setDisplayRange(current),\n slots: [],\n };\n this.views.push(view);\n const a = view.range.enumurate('year');\n view.slots = a.map((d, i) => {\n const r = {};\n r.date = d;\n r.text = this.formatService.format(d, 'date', 'YYYY');\n r.today = d.equal(this._today, 'year');\n r.selected = this.value && this.depth == 'year' && d.equal(this.value, 'year');\n //\n const focused = d.year == this._footPrint.year;\n //\n r.disabled =\n (this.minValue && d.compare(this.minValue, 'year') == -1) ||\n (this.maxValue && d.compare(this.maxValue, 'year') == 1);\n //\n if (r.disabled) {\n r.cssClass = {\n 'ax-state-disabled': r.disabled,\n };\n }\n else {\n r.cssClass = {\n 'ax-state-today': r.today,\n 'ax-state-selected': r.selected,\n 'ax-state-focused': focused,\n };\n }\n applyCellClass(r);\n return r;\n });\n }\n /**\n * @ignore\n */\n _handlePrevClick() {\n this._navUserInteraction = true;\n this.prev();\n this._navUserInteraction = false;\n }\n /**\n * @ignore\n */\n _handleNextClick() {\n this._navUserInteraction = true;\n this.next();\n this._navUserInteraction = false;\n }\n /**\n * @ignore\n */\n _handleSlotClick(e, slot) {\n if (slot.disabled || this.disabled)\n return;\n //\n this.onSlotClick.emit({\n component: this,\n item: slot.date.date,\n isUserInteraction: true,\n nativeEvent: e,\n });\n //\n if (this.activeView == 'day') {\n this._setDate(slot.date.date);\n }\n else if (this.activeView == 'month' && this.depth == 'day') {\n this.activeView = 'day';\n this._footPrint.month = this.calendarService.create(slot.date.date, this.calendar()).monthOfYear;\n this.navTo(slot.date);\n }\n else if (this.activeView == 'month' && this.depth == 'month') {\n this._setDate(slot.date.date);\n }\n else if (this.activeView == 'year' && (this.depth == 'day' || this.depth == 'month')) {\n this.activeView = 'month';\n this._footPrint.year = this.calendarService.create(slot.date.date, this.calendar()).year;\n this.navTo(slot.date);\n }\n else if (this.activeView == 'year' && this.depth == 'year') {\n this._setDate(slot.date.date);\n }\n }\n /**\n * @ignore\n */\n _handleNavClick(e, view) {\n this._navUserInteraction = true;\n this.activeView = view;\n this._navUserInteraction = false;\n }\n toggleView() {\n if (this.activeView == 'day')\n this.activeView = 'month';\n else if (this.activeView == 'month')\n this.activeView = 'year';\n }\n /**\n * @ignore\n */\n internalOptionChanged(e) {\n if (e.name == 'depth' || e.name == 'activeView' || e.name == 'disabledDates' || e.name == 'holidayDates') {\n this.render();\n }\n if (e.name == 'type') {\n this._refresh();\n }\n }\n /**\n * @ignore\n */\n internalSetValue(value) {\n if (!value)\n return null;\n const v = this.calendarService.convert(value);\n const isDisabled = this.isDisabled(v);\n if (isDisabled)\n return null;\n else\n return v.date;\n }\n /**\n * @ignore\n */\n internalValueChanged(value) {\n const val = this.calendarService.create(value, this.calendar());\n if (!this._viewStartDate ||\n val.compare(this.displayRange.startTime, this.activeView) == -1 ||\n val.compare(this.displayRange.endTime, this.activeView) == 1) {\n this._viewStartDate = this.calendarService.create(value, this.calendar());\n }\n this._footPrint.year = val.year;\n this._footPrint.month = val.monthOfYear;\n this._footPrint.day = val.dayOfMonth;\n if (isPlatformBrowser(this.platformID)) {\n const calendarSlots = Array.from(this.getHostElement().querySelectorAll('.ax-calendar-slot'));\n const selectedSlot = this.getHostElement().querySelector('.ax-state-selected');\n if (selectedSlot) {\n selectedSlot.classList.remove('ax-state-selected');\n }\n else {\n this.render();\n }\n calendarSlots.forEach((element) => {\n element = element;\n if (element.textContent == this._footPrint.day) {\n element.classList.add('ax-state-selected');\n }\n });\n }\n if (!this.oldValue() ||\n this.oldValue().getMonth() !== value.getMonth() ||\n this.oldValue().getFullYear() !== value.getFullYear()) {\n this.render();\n }\n this.oldValue.set(value);\n }\n /**\n * @ignore\n */\n _handleGoToday() {\n this._navUserInteraction = true;\n this._setDate(this._today.date);\n this.goToday();\n this._navUserInteraction = false;\n }\n /**\n * Navigates to the next item.\n * @ignore\n */\n next() {\n this._navNextPrev(false);\n }\n /**\n * Navigates to the previous item.\n * @ignore\n */\n prev() {\n this._navNextPrev(true);\n }\n /**\n * Sets focus to the currently selected calendar slot or the first available slot.\n * @ignore\n */\n focus() {\n const func = (s) => this.getHostElement().querySelector(s);\n const div = func('.ax-calendar-slots>div.ax-state-selected') || func('.ax-calendar-slots>div');\n div?.focus();\n }\n /**\n * @ignore\n */\n _navNextPrev(prev) {\n const sign = prev ? -1 : 1;\n if (this.activeView == 'day')\n this.navTo(this._viewStartDate.add('month', sign * 1 * this.count));\n else if (this.activeView == 'month')\n this.navTo(this._viewStartDate.add('year', sign * 1 * this.count));\n else\n this.navTo(this._viewStartDate.add('year', sign * 10 * this.count));\n }\n /**\n * Navigates to the current date.\n * @ignore\n */\n goToday() {\n this.navTo(this._today);\n }\n /**\n * Navigates to a specified date and updates the view.\n *\n * @param date - The date to navigate to, which can be a `Date` object or an `AXDateTime` instance.\n * @ignore\n */\n navTo(date) {\n const val = this.calendarService.convert(date, this.calendar());\n this._viewStartDate = val.startOf();\n this.render();\n //to make sure its rendred and displayRange is not null\n if (this.views.length > 0) {\n const vr = this.displayRange;\n this.onNavigate.emit({\n component: this,\n isUserInteraction: this._navUserInteraction,\n start: vr.startTime?.date,\n end: vr.endTime?.date,\n htmlElement: this.getHostElement(),\n });\n }\n }\n /**\n * @ignore\n */\n get __hostClass() {\n const _classes = {\n 'ax-state-disabled': this.disabled,\n 'ax-state-readonly': this.readonly,\n };\n return Object.entries(_classes)\n .filter((c) => c[1])\n .map((c) => c[0])\n .join(' ');\n }\n /**\n * @ignore\n */\n _setDate(value) {\n if (this.readonly || this.disabled)\n return;\n this.commitValue(this.calendarService.convert(value, this.calendar()).startOf().date, true);\n }\n /**\n * @ignore\n */\n isDisabled(date) {\n if (Array.isArray(this.disabledDates) && this.disabledDates.length != 0) {\n return this.disabledDates.some((d) => date.equal(d, 'day'));\n }\n else if (typeof this.disabledDates == 'function') {\n return this.disabledDates(date.date);\n }\n return false;\n }\n /**\n * @ignore\n */\n isHoliday(date) {\n const gh = this.calendarService.holidays.some((d) => date.equal(d.date, 'day'));\n let dh = this.calendarService.holidays.some((d) => date.equal(d.date, 'day'));\n if (Array.isArray(this.holidayDates) && this.holidayDates.length != 0) {\n dh = this.holidayDates.some((d) => date.equal(d, 'day'));\n }\n else if (typeof this.holidayDates == 'function') {\n dh = this.holidayDates(date.date);\n }\n return gh || dh;\n }\n /**\n * @ignore\n */\n isWeekend(date) {\n const weekend = this.calendarService.resolveCalendar(this.calendar()).weekend;\n return weekend.includes(date.dayOfWeek - 1);\n }\n /**\n * @ignore\n */\n _handleOnKeydownEvent(e) {\n //TODO: complete keyboad navigation\n const ignore = () => {\n e.preventDefault();\n e.stopPropagation();\n };\n if (e.code === 'ArrowRight' || e.code === 'ArrowLeft') {\n if (e.ctrlKey) {\n e.code === 'ArrowRight' ? this.next() : this.prev();\n setTimeout(() => {\n this.focus();\n }, 50);\n }\n ignore();\n }\n else if (e.code === 'ArrowUp' || e.code === 'ArrowDown') {\n if (e.ctrlKey) {\n e.code === 'ArrowUp' ? this.next() : this.prev();\n setTimeout(() => {\n this.focus();\n }, 50);\n }\n ignore();\n }\n }\n /**\n * @ignore\n */\n getMonthName(date, style) {\n return `dateTime.months.${date.calendar.name()}.${style}.${date.monthOfYear - 1}`;\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.3\", ngImport: i0, type: AXCalendarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.0.3\", type: AXCalendarComponent, isStandalone: true, selector: \"ax-calendar\", inputs: { rtl: \"rtl\", readonly: \"readonly\", value: \"value\", name: \"name\", disabled: \"disabled\", depth: \"depth\", activeView: \"activeView\", minValue: \"minValue\", maxValue: \"maxValue\", disabledDates: \"disabledDates\", holidayDates: \"holidayDates\", type: \"type\", cellTemplate: \"cellTemplate\", cellClass: \"cellClass\", showNavigation: \"showNavigation\", count: \"count\", id: \"id\" }, outputs: { onOptionChanged: \"onOptionChanged\", valueChange: \"valueChange\", onValueChanged: \"onValueChanged\", minValueChange: \"minValueChange\", maxValueChange: \"maxValueChange\", onBlur: \"onBlur\", onFocus: \"onFocus\", depthChange: \"depthChange\", typeChange: \"typeChange\", activeViewChange: \"activeViewChange\", disabledDatesChange: \"disabledDatesChange\", holidayDatesChange: \"holidayDatesChange\", onNavigate: \"onNavigate\", onSlotClick: \"onSlotClick\", countChange: \"countChange\" }, host: { listeners: { \"keydown\": \"_handleOnKeydownEvent($event)\" }, properties: { \"class\": \"this.__hostClass\" } }, providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => AXCalendarComponent),\n multi: true,\n },\n {\n provide: AXValuableComponent,\n useExisting: AXCalendarComponent,\n },\n AXUnsubscriber,\n { provide: AXComponent, useExisting: AXCalendarComponent },\n ], usesInheritance: true, ngImport: i0, template: \"<ng-content select=\\\"ax-header\\\"></ng-content>\\n<div class=\\\"ax-calendar-body\\\">\\n @for (v of views; let i = $index, first = $first, last = $last; track i) {\\n @switch (activeView) {\\n @case ('year') {\\n @if (showNavigation) {\\n <div class=\\\"ax-calendar-view-header\\\">\\n <div class=\\\"ax-calendar-header-info\\\">\\n <button\\n type=\\\"button\\\"\\n [attr.disabled]=\\\"disabled ? '' : null\\\"\\n [attr.readonly]=\\\"readonly ? '' : null\\\"\\n class=\\\"ax-general-button ax-button-rounded ax-state-disabled\\\"\\n (click)=\\\"_handleNavClick($event, 'year')\\\"\\n >\\n {{ v.range.startTime | format: 'date' : { calendar: calendar(), format: 'YYYY' } | async }} -\\n {{ v.range.endTime | format: 'date' : { calendar: calendar(), format: 'YYYY' } | async }}\\n </button>\\n </div>\\n @if (last) {\\n <div class=\\\"ax-calendar-header-buttons\\\">\\n <button\\n type=\\\"button\\\"\\n [attr.disabled]=\\\"disabled ? '' : null\\\"\\n [attr.readonly]=\\\"readonly ? '' : null\\\"\\n class=\\\"ax-general-button ax-button-rounded ax-button-icon ax-next\\\"\\n (click)=\\\"_handlePrevClick()\\\"\\n [title]=\\\"'prev' | translate | async\\\"\\n >\\n <i class=\\\"ax-icon ax-icon-chevron-left\\\"></i>\\n </button>\\n <button\\n type=\\\"button\\\"\\n [attr.disabled]=\\\"disabled ? '' : null\\\"\\n [attr.readonly]=\\\"readonly ? '' : null\\\"\\n class=\\\"ax-general-button ax-button-rounded ax-button-icon\\\"\\n (click)=\\\"_handleNextClick()\\\"\\n [title]=\\\"'next' | translate | async\\\"\\n >\\n <i class=\\\"ax-icon ax-icon-chevron-right\\\"></i>\\n </button>\\n </div>\\n }\\n </div>\\n }\\n <div class=\\\"ax-calendar-slots ax-calendar-slots-year\\\" [ngClass]=\\\"{ 'ax-default': !yearCellTemplate }\\\">\\n @for (slot of v.slots; track slot.text) {\\n <button\\n tabindex=\\\"0\\\"\\n class=\\\"ax-calendar-slot\\\"\\n [class.ax-state-disabled]=\\\"disabled\\\"\\n [ngClass]=\\\"slot.cssClass\\\"\\n (click)=\\\"_handleSlotClick($event, slot)\\\"\\n >\\n @if (yearCellTemplate) {\\n <div>\\n <ng-container\\n [ngTemplateOutlet]=\\\"yearCellTemplate\\\"\\n [ngTemplateOutletContext]=\\\"{ $implicit: { slot: slot } }\\\"\\n >\\n </ng-container>\\n </div>\\n } @else {\\n <div>\\n {{ slot.text }}\\n </div>\\n }\\n </button>\\n }\\n </div>\\n }\\n @case ('month') {\\n @if (showNavigation) {\\n <div class=\\\"ax-calendar-view-header\\\">\\n <div class=\\\"ax-calendar-header-info\\\">\\n <button\\n type=\\\"button\\\"\\n [attr.disabled]=\\\"disabled ? '' : null\\\"\\n [attr.readonly]=\\\"readonly ? '' : null\\\"\\n class=\\\"ax-general-button ax-button-rounded\\\"\\n (click)=\\\"_handleNavClick($event, 'year')\\\"\\n >\\n {{ v.range.startTime | format: 'date' : { calendar: calendar(), format: 'YYYY' } | async }}\\n </button>\\n </div>\\n @if (last) {\\n <div class=\\\"ax-calendar-header-buttons\\\">\\n <button\\n type=\\\"button\\\"\\n [attr.disabled]=\\\"disabled ? '' : null\\\"\\n [attr.readonly]=\\\"readonly ? '' : null\\\"\\n class=\\\"ax-general-button ax-button-rounded ax-button-icon\\\"\\n (click)=\\\"_handlePrevClick()\\\"\\n [title]=\\\"'prev' | translate | async\\\"\\n >\\n <i class=\\\"ax-icon ax-icon-chevron-left\\\"></i>\\n </button>\\n <button\\n type=\\\"button\\\"\\n [attr.disabled]=\\\"disabled ? '' : null\\\"\\n [attr.readonly]=\\\"readonly ? '' : null\\\"\\n class=\\\"ax-general-button ax-button-rounded ax-button-icon\\\"\\n (click)=\\\"_handleNextClick()\\\"\\n [title]=\\\"'next' | translate | async\\\"\\n >\\n <i class=\\\"ax-icon ax-icon-chevron-right\\\"></i>\\n </button>\\n </div>\\n }\\n </div>\\n }\\n\\n <div class=\\\"ax-calendar-slots ax-calendar-slots-month\\\" [ngClass]=\\\"{ 'ax-default': !monthCellTemplate }\\\">\\n @for (slot of v.slots; track slot) {\\n <button\\n tabindex=\\\"0\\\"\\n class=\\\"ax-calendar-slot\\\"\\n [class.ax-state-disabled]=\\\"disabled\\\"\\n [ngClass]=\\\"slot.cssClass\\\"\\n (click)=\\\"_handleSlotClick($event, slot)\\\"\\n >\\n @if (monthCellTemplate) {\\n <div>\\n <ng-container\\n [ngTemplateOutlet]=\\\"monthCellTemplate\\\"\\n [ngTemplateOutletContext]=\\\"{ $implicit: { slot: slot } }\\\"\\n >\\n </ng-container>\\n </div>\\n } @else {\\n <div [title]=\\\"slot.date | format: 'date' : { calendar: calendar(), format: 'MMMM YYYY' } | async\\\">\\n {{ getMonthName(slot.date, 'short') | translate | async }}\\n </div>\\n }\\n </button>\\n }\\n </div>\\n }\\n @default {\\n @if (showNavigation) {\\n <div class=\\\"ax-calendar-view-header\\\">\\n <div class=\\\"ax-calendar-header-info\\\">\\n <button\\n type=\\\"button\\\"\\n [attr.disabled]=\\\"disabled ? '' : null\\\"\\n [attr.readonly]=\\\"readonly ? '' : null\\\"\\n class=\\\"ax-general-button ax-button-rounded\\\"\\n (click)=\\\"_handleNavClick($event, 'year')\\\"\\n >\\n {{ v.range.startTime | format: 'date' : { calendar: calendar(), format: 'YYYY' } | async }}\\n </button>\\n <button\\n type=\\\"button\\\"\\n [attr.disabled]=\\\"disabled ? '' : null\\\"\\n [attr.readonly]=\\\"readonly ? '' : null\\\"\\n class=\\\"ax-general-button ax-button-rounded\\\"\\n (click)=\\\"_handleNavClick($event, 'month')\\\"\\n >\\n <!-- {{ getMonthName(v.range.startTime, 'long') | translate | async }} -->\\n {{ v.range.startTime | format: 'date' : { calendar: calendar(), format: 'MMMM' } | async }}\\n </button>\\n </div>\\n @if (last) {\\n <div class=\\\"ax-calendar-header-buttons\\\">\\n <button\\n type=\\\"button\\\"\\n [attr.disabled]=\\\"disabled ? '' : null\\\"\\n [attr.readonly]=\\\"readonly ? '' : null\\\"\\n class=\\\"ax-general-button ax-button-rounded ax-button-icon\\\"\\n (click)=\\\"_handlePrevClick()\\\"\\n [title]=\\\"'prev' | translate | async\\\"\\n >\\n <i class=\\\"ax-icon ax-icon-chevron-left\\\"></i>\\n </button>\\n <button\\n type=\\\"button\\\"\\n [attr.disabled]=\\\"disabled ? '' : null\\\"\\n [attr.readonly]=\\\"readonly ? '' : null\\\"\\n class=\\\"ax-general-button ax-button-rounded ax-button-icon\\\"\\n (click)=\\\"_handleNextClick()\\\"\\n [title]=\\\"'next' | translate | async\\\"\\n >\\n <i class=\\\"ax-icon ax-icon-chevron-right\\\"></i>\\n </button>\\n </div>\\n }\\n </div>\\n }\\n <div class=\\\"ax-calendar-week\\\">\\n @for (d of _weekdays; track d) {\\n <div>{{ 'dateTime.weekdays.short.' + d | translate | async }}</div>\\n }\\n </div>\\n\\n <div class=\\\"ax-calendar-slots ax-calendar-slots-day\\\" [ngClass]=\\\"{ 'ax-default': !dayCellTemplate }\\\">\\n @for (slot of v.slots; track slot) {\\n <button\\n tabindex=\\\"0\\\"\\n class=\\\"ax-calendar-slot\\\"\\n [ngClass]=\\\"slot.cssClass\\\"\\n [class.ax-state-disabled]=\\\"disabled\\\"\\n (click)=\\\"_handleSlotClick($event, slot)\\\"\\n [disabled]=\\\"disabled\\\"\\n [axRipple]\\n >\\n @if (dayCellTemplate) {\\n <div>\\n <ng-container\\n [ngTemplateOutlet]=\\\"dayCellTemplate\\\"\\n [ngTemplateOutletContext]=\\\"{ $implicit: { slot: slot } }\\\"\\n >\\n </ng-container>\\n </div>\\n } @else {\\n <div [title]=\\\"slot.date | format: 'date' : { calendar: calendar(), format: 'long' } | async\\\">\\n {{ slot.text }}\\n </div>\\n }\\n </button>\\n }\\n </div>\\n }\\n }\\n }\\n</div>\\n<ng-content select=\\\"ax-footer\\\"></ng-content>\\n\", styles: [\"ax-calendar{--ax-comp-calendar-view-header-padding: .5rem;--ax-comp-calendar-slot-today-border-width: 1px;--ax-comp-calendar-slot-focused-border-width: 1px;--ax-comp-calendar-slot-focused-outline-width: 2px;--ax-comp-calendar-slot-disabled-opacity: .5;--ax-comp-calendar-slot-readonly-opacity: .75;--ax-comp-calendar-footer-margin-t: 1.25rem;--ax-comp-calendar-footer-today-button-padding-x: 1rem;--ax-comp-calendar-footer-today-button-height: var(--ax-sys-size-base)}ax-calendar{--ax-comp-calendar-text-color: var(--ax-sys-color-on-lightest-surface);--ax-comp-calendar-view-header-border-color: var(--ax-sys-color-border-lightest-surface);--ax-comp-calendar-slot-text-color: var(--ax-sys-color-on-lightest-surface);--ax-comp-calendar-slot-ripple-color: var(--ax-sys-color-primary-light-surface), .3;--ax-comp-calendar-slot-today-text-color: var(--ax-sys-color-primary-surface);--ax-comp-calendar-slot-today-border-color: var(--ax-sys-color-primary-surface);--ax-comp-calendar-slot-hover-bg-color: var(--ax-sys-color-primary-surface);--ax-comp-calendar-slot-hover-text-color: var(--ax-sys-color-on-primary-surface);--ax-comp-calendar-slot-focused-border-color: var(--ax-sys-color-border-lightest-surface);--ax-comp-calendar-slot-focused-outline-color: var(--ax-sys-color-primary-surface);--ax-comp-calendar-slot-selected-bg-color: var(--ax-sys-color-primary-surface);--ax-comp-calendar-slot-selected-text-color: var(--ax-sys-color-on-primary-surface);--ax-comp-calendar-slot-holiday-text-color: var(--ax-sys-color-danger-surface);--ax-comp-calendar-slot-holiday-ripple-color: var(--ax-sys-color-danger-light-surface), .3;--ax-comp-calendar-slot-holiday-today-border-color: var(--ax-sys-color-danger-surface);--ax-comp-calendar-slot-holiday-hover-bg-color: var(--ax-sys-color-danger-surface);--ax-comp-calendar-slot-holiday-hover-border-color: var(--ax-sys-color-danger-surface);--ax-comp-calendar-slot-holiday-selected-bg-color: var(--ax-sys-color-danger-surface);--ax-comp-calendar-slot-holiday-selected-text-color: var(--ax-sys-color-on-danger-surface);--ax-comp-calendar-footer-today-button-bg-color: var(--ax-sys-color-primary-surface);--ax-comp-calendar-footer-today-button-text-color: var(--ax-sys-color-on-primary-surface);--ax-comp-calendar-footer-today-button-hover-bg-color: var(--ax-sys-color-primary-dark-surface);--ax-comp-calendar-footer-today-button-focused-outline-color: var(--ax-sys-color-primary-surface), 1}.ax-dark ax-calendar{--ax-comp-calendar-text-color: var(--ax-sys-color-on-darkest-surface);--ax-comp-calendar-view-header-border-color: var(--ax-sys-color-border-darkest-surface);--ax-comp-calendar-slot-text-color: var(--ax-sys-color-on-darkest-surface);--ax-comp-calendar-slot-focused-border-color: var(--ax-sys-color-border-darkest-surface)}html[dir=rtl] ax-calendar .ax-calendar-header-buttons .ax-icon{-moz-transform:scale(-1,1);-o-transform:scale(-1,1);-webkit-transform:scale(-1,1);transform:scaleX(-1)}ax-calendar{width:100%;display:block;color:rgba(var(--ax-comp-calendar-text-color));background-color:rgba(var(--ax-comp-calendar-bg-color))}ax-calendar.ax-state-disabled .ax-calendar-slots{cursor:not-allowed;opacity:.5}ax-calendar.ax-state-readonly .ax-calendar-slots{cursor:text}ax-calendar .ax-calendar-header{display:flex;justify-content:space-between;padding-left:var(--ax-comp-calendar-header-padding-x, .25rem);padding-right:var(--ax-comp-calendar-header-padding-x, .25rem);padding-top:var(--ax-comp-calendar-header-padding-t, .25rem)}ax-calendar .ax-calendar-header .ax-calendar-header-info{font-weight:500}ax-calendar .ax-calendar-header .ax-calendar-header-buttons{display:flex}ax-calendar .ax-calendar-body{display:flex;flex-direction:column;justify-content:center;align-items:center}@media (min-width: 1024px){ax-calendar .ax-calendar-body{flex-direction:column}}ax-calendar .ax-calendar-body>div{width:100%;flex:1 1 0%}@media (min-width: 768px){ax-calendar .ax-calendar-body>div{width:20rem}}ax-calendar .ax-calendar-body .ax-calendar-view-header{display:flex;justify-content:space-between;border-bottom-width:var(--ax-comp-calendar-view-header-border-width, 1px);border-color:rgba(var(--ax-comp-calendar-view-header-border-color));padding:var(--ax-comp-calendar-view-header-padding)}ax-calendar .ax-calendar-body .ax-calendar-view-header .ax-calendar-header-info{font-weight:500}ax-calendar .ax-calendar-body .ax-calendar-view-header .ax-calendar-header-buttons{display:flex}ax-calendar .ax-calendar-body .ax-calendar-slots{display:grid;gap:.25rem;padding:1rem}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot{position:relative;display:flex;cursor:pointer;align-items:center;justify-content:center;text-align:center;font-size:var(--ax-comp-calendar-font-size, .875rem);color:rgba(var(--ax-comp-calendar-slot-text-color));line-height:var(--ax-comp-calendar-line-height, 1.25rem);border-radius:var(--ax-comp-calendar-slot-border-radius, var(--ax-sys-border-radius));transition-duration:var(--ax-sys-transition-duration);transition-timing-function:var(--ax-sys-transition-timing-function);transition-property:color,background-color,border-color,text-decoration-color,fill,stroke}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot:before{content:\\\"\\\";float:left;padding-top:100%}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot:after{content:\\\"\\\";clear:both;display:block}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot:hover:not(ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot:hover.ax-state-disabled,ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot:hover.ax-state-selected){background-color:rgba(var(--ax-comp-calendar-slot-hover-bg-color));color:rgba(var(--ax-comp-calendar-slot-hover-text-color))}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot:focus-visible:not(ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot:focus-visible.ax-state-disabled){outline-width:var(--ax-comp-calendar-slot-focused-outline-width);outline-color:rgba(var(--ax-comp-calendar-slot-focused-text-color))}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot:focus-visible.ax-state-disabled{outline-style:dashed;outline-width:var(--ax-comp-calendar-slot-focused-outline-width)}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-state-disabled{cursor:not-allowed;opacity:var(--ax-comp-calendar-slot-disabled-opacity)}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-state-readonly{cursor:text;opacity:var(--ax-comp-calendar-slot-readonly-opacity)}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-column-start-1{grid-column-start:1}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-column-start-2{grid-column-start:2}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-column-start-3{grid-column-start:3}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-column-start-4{grid-column-start:4}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-column-start-5{grid-column-start:5}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-column-start-6{grid-column-start:6}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-column-start-7{grid-column-start:7}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-state-other{opacity:.05}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot .ax-ripple{background-color:rgba(var(--ax-comp-calendar-slot-ripple-color))!important}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-state-today{color:rgba(var(--ax-comp-calendar-slot-today-text-color));border-width:var(--ax-comp-calendar-slot-today-border-width);border-color:rgba(var(--ax-ax-comp-calendar-slot-today-border-color))}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-state-today.ax-state-holiday{border-color:rgba(var(--ax-comp-calendar-slot-holiday-today-border-color))!important}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-state-focused{border-width:1px;border-color:rgba(var(--ax-sys-color-border-lightest-surface))}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-state-selected{color:rgba(var(--ax-comp-calendar-slot-selected-text-color));background-color:rgba(var(--ax-comp-calendar-slot-selected-bg-color))}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-state-selected.ax-state-holiday{color:rgba(var(--ax-comp-calendar-slot-holiday-selected-text-color))!important;background-color:rgba(var(--ax-comp-calendar-slot-holiday-selected-bg-color))!important}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-state-holiday{color:rgba(var(--ax-comp-calendar-slot-holiday-text-color))}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-state-holiday:is(ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-state-holiday:hover):not(.ax-state-disabled){background-color:rgba(var(--ax-comp-calendar-slot-holiday-hover-bg-color))!important;border-color:rgba(var(--ax-comp-calendar-slot-holiday-hover-border-color))!important}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-state-holiday .ax-ripple{background-color:rgba(var(--ax-comp-calendar-slot-holiday-ripple-color))!important}ax-calendar .ax-calendar-body .ax-calendar-slots.ax-calendar-slots-day{grid-template-columns:repeat(7,minmax(0,1fr))}ax-calendar .ax-calendar-body .ax-calendar-slots.ax-calendar-slots-year,ax-calendar .ax-calendar-body .ax-calendar-slots.ax-calendar-slots-month{grid-template-columns:repeat(4,minmax(0,1fr))}ax-calendar .ax-calendar-body .ax-calendar-week{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));padding-top:var(--ax-comp-calendar-week-padding-t, .75rem);padding-left:var(--ax-comp-calendar-week-padding-x, .5rem);padding-right:var(--ax-comp-calendar-week-padding-x, .5rem)}ax-calendar .ax-calendar-body .ax-calendar-week>div{display:flex;cursor:pointer;position:relative;text-align:center;align-items:center;justify-content:center;font-size:var(--ax-comp-calendar-font-size, .875rem);line-height:var(--ax-comp-calendar-line-height, 1.25rem)}ax-calendar .ax-calendar-footer{display:flex;align-items:center;justify-content:center;margin-top:var(--ax-comp-calendar-footer-margin-t)}ax-calendar .ax-calendar-footer .ax-today-button{width:100%;display:block;cursor:pointer;text-align:center;padding-left:var(--ax-comp-calendar-footer-today-button-padding-x);padding-right:var(--ax-comp-calendar-footer-today-button-padding-x);font-size:var(--ax-comp-calendar-font-size, .875rem);line-height:var(--ax-comp-calendar-line-height, 1.25rem);height:var(--ax-comp-calendar-footer-today-button-height);border-radius:var(--ax-comp-calendar-footer-today-button-border-radius, var(--ax-sys-border-radius));color:rgba(var(--ax-comp-calendar-footer-today-button-text-color));background-color:rgba(var(--ax-comp-calendar-footer-today-button-bg-color))}ax-calendar .ax-calendar-footer .ax-today-button.ax-state-disabled{cursor:not-allowed;opacity:var(--ax-comp-calendar-slot-disabled-opacity)}ax-calendar .ax-calendar-footer .ax-today-button.ax-state-readonly{cursor:text;opacity:var(--ax-comp-calendar-slot-readonly-opacity)}ax-calendar .ax-calendar-footer .ax-today-button:is(ax-calendar .ax-calendar-footer .ax-today-button:hover):not(.ax-state-disabled){background-color:rgba(var(--ax-comp-calendar-footer-today-button-hover-bg-color))}ax-calendar .ax-calendar-footer .ax-today-button:is(ax-calendar .ax-calendar-footer .ax-today-button:focus,ax-calendar .ax-calendar-footer .ax-today-button:focus-visible):not(.ax-state-disabled){outline-color:rgba(var(--ax-comp-calendar-footer-today-button-focused-outline-color))}.ax-calendar-picker{display:flex;width:100%}.ax-calendar-picker ax-picker{flex:1 1 0%}.ax-overlay-pane ax-calendar{border-style:none}\\n\"], dependencies: [{ kind: \"directive\", type: NgClass, selector: \"[ngClass]\", inputs: [\"class\", \"ngClass\"] }, { kind: \"directive\", type: NgTemplateOutlet, selector: \"[ngTemplateOutlet]\", inputs: [\"ngTemplateOutletContext\", \"ngTemplateOutlet\", \"ngTemplateOutletInjector\"] }, { kind: \"directive\", type: AXRippleDirective, selector: \"[axRipple]\", inputs: [\"axRipple\", \"axRippleColor\"] }, { kind: \"pipe\", type: AsyncPipe, name: \"async\" }, { kind: \"pipe\", type: AXTranslatorPipe, name: \"translate\" }, { kind: \"ngmodule\", type: AXFormatModule }, { kind: \"pipe\", type: i1.AXFormatPipe, name: \"format\" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.3\", ngImport: i0, type: AXCalendarComponent, decorators: [{\n type: Component,\n args: [{ selector: 'ax-calendar', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, inputs: [\n 'rtl',\n 'readonly',\n 'value',\n 'name',\n 'disabled',\n 'depth',\n 'activeView',\n 'minValue',\n 'maxValue',\n 'disabledDates',\n 'holidayDates',\n 'type',\n 'cellTemplate',\n 'cellClass',\n 'showNavigation',\n 'count',\n 'name',\n 'id',\n ], outputs: [\n 'onOptionChanged',\n 'valueChange',\n 'onValueChanged',\n 'minValueChange',\n 'maxValueChange',\n 'onBlur',\n 'onFocus',\n 'depthChange',\n 'typeChange',\n 'activeViewChange',\n 'disabledDatesChange',\n 'holidayDatesChange',\n 'onNavigate',\n 'onSlotClick',\n 'countChange',\n ], providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => AXCalendarComponent),\n multi: true,\n },\n {\n provide: AXValuableComponent,\n useExisting: AXCalendarComponent,\n },\n AXUnsubscriber,\n { provide: AXComponent, useExisting: AXCalendarComponent },\n ], imports: [NgClass, NgTemplateOutlet, AXRippleDirective, AsyncPipe, AXTranslatorPipe, AXFormatModule], template: \"<ng-content select=\\\"ax-header\\\"></ng-content>\\n<div class=\\\"ax-calendar-body\\\">\\n @for (v of views; let i = $index, first = $first, last = $last; track i) {\\n @switch (activeView) {\\n @case ('year') {\\n @if (showNavigation) {\\n <div class=\\\"ax-calendar-view-header\\\">\\n <div class=\\\"ax-calendar-header-info\\\">\\n <button\\n type=\\\"button\\\"\\n [attr.disabled]=\\\"disabled ? '' : null\\\"\\n [attr.readonly]=\\\"readonly ? '' : null\\\"\\n class=\\\"ax-general-button ax-button-rounded ax-state-disabled\\\"\\n (click)=\\\"_handleNavClick($event, 'year')\\\"\\n >\\n {{ v.range.startTime | format: 'date' : { calendar: calendar(), format: 'YYYY' } | async }} -\\n {{ v.range.endTime | format: 'date' : { calendar: calendar(), format: 'YYYY' } | async }}\\n </button>\\n </div>\\n @if (last) {\\n <div class=\\\"ax-calendar-header-buttons\\\">\\n <button\\n type=\\\"button\\\"\\n [attr.disabled]=\\\"disabled ? '' : null\\\"\\n [attr.readonly]=\\\"readonly ? '' : null\\\"\\n class=\\\"ax-general-button ax-button-rounded ax-button-icon ax-next\\\"\\n (click)=\\\"_handlePrevClick()\\\"\\n [title]=\\\"'prev' | translate | async\\\"\\n >\\n <i class=\\\"ax-icon ax-icon-chevron-left\\\"></i>\\n </button>\\n <button\\n type=\\\"button\\\"\\n [attr.disabled]=\\\"disabled ? '' : null\\\"\\n [attr.readonly]=\\\"readonly ? '' : null\\\"\\n class=\\\"ax-general-button ax-button-rounded ax-button-icon\\\"\\n (click)=\\\"_handleNextClick()\\\"\\n [title]=\\\"'next' | translate | async\\\"\\n >\\n <i class=\\\"ax-icon ax-icon-chevron-right\\\"></i>\\n </button>\\n </div>\\n }\\n </div>\\n }\\n <div class=\\\"ax-calendar-slots ax-calendar-slots-year\\\" [ngClass]=\\\"{ 'ax-default': !yearCellTemplate }\\\">\\n @for (slot of v.slots; track slot.text) {\\n <button\\n tabindex=\\\"0\\\"\\n class=\\\"ax-calendar-slot\\\"\\n [class.ax-state-disabled]=\\\"disabled\\\"\\n [ngClass]=\\\"slot.cssClass\\\"\\n (click)=\\\"_handleSlotClick($event, slot)\\\"\\n >\\n @if (yearCellTemplate) {\\n <div>\\n <ng-container\\n [ngTemplateOutlet]=\\\"yearCellTemplate\\\"\\n [ngTemplateOutletContext]=\\\"{ $implicit: { slot: slot } }\\\"\\n >\\n </ng-container>\\n </div>\\n } @else {\\n <div>\\n {{ slot.text }}\\n </div>\\n }\\n </button>\\n }\\n </div>\\n }\\n @case ('month') {\\n @if (showNavigation) {\\n <div class=\\\"ax-calendar-view-header\\\">\\n <div class=\\\"ax-calendar-header-info\\\">\\n <button\\n type=\\\"button\\\"\\n [attr.disabled]=\\\"disabled ? '' : null\\\"\\n [attr.readonly]=\\\"readonly ? '' : null\\\"\\n class=\\\"ax-general-button ax-button-rounded\\\"\\n (click)=\\\"_handleNavClick($event, 'year')\\\"\\n >\\n {{ v.range.startTime | format: 'date' : { calendar: calendar(), format: 'YYYY' } | async }}\\n </button>\\n </div>\\n @if (last) {\\n <div class=\\\"ax-calendar-header-buttons\\\">\\n <button\\n type=\\\"button\\\"\\n [attr.disabled]=\\\"disabled ? '' : null\\\"\\n [attr.readonly]=\\\"readonly ? '' : null\\\"\\n class=\\\"ax-general-button ax-button-rounded ax-button-icon\\\"\\n (click)=\\\"_handlePrevClick()\\\"\\n [title]=\\\"'prev' | translate | async\\\"\\n >\\n <i class=\\\"ax-icon ax-icon-chevron-left\\\"></i>\\n </button>\\n <button\\n type=\\\"button\\\"\\n [attr.disabled]=\\\"disabled ? '' : null\\\"\\n [attr.readonly]=\\\"readonly ? '' : null\\\"\\n class=\\\"ax-general-button ax-button-rounded ax-button-icon\\\"\\n (click)=\\\"_handleNextClick()\\\"\\n [title]=\\\"'next' | translate | async\\\"\\n >\\n <i class=\\\"ax-icon ax-icon-chevron-right\\\"></i>\\n </button>\\n </div>\\n }\\n </div>\\n }\\n\\n <div class=\\\"ax-calendar-slots ax-calendar-slots-month\\\" [ngClass]=\\\"{ 'ax-default': !monthCellTemplate }\\\">\\n @for (slot of v.slots; track slot) {\\n <button\\n tabindex=\\\"0\\\"\\n class=\\\"ax-calendar-slot\\\"\\n [class.ax-state-disabled]=\\\"disabled\\\"\\n [ngClass]=\\\"slot.cssClass\\\"\\n (click)=\\\"_handleSlotClick($event, slot)\\\"\\n >\\n @if (monthCellTemplate) {\\n <div>\\n <ng-container\\n [ngTemplateOutlet]=\\\"monthCellTemplate\\\"\\n [ngTemplateOutletContext]=\\\"{ $implicit: { slot: slot } }\\\"\\n >\\n </ng-container>\\n </div>\\n } @else {\\n <div [title]=\\\"slot.date | format: 'date' : { calendar: calendar(), format: 'MMMM YYYY' } | async\\\">\\n {{ getMonthName(slot.date, 'short') | translate | async }}\\n </div>\\n }\\n </button>\\n }\\n </div>\\n }\\n @default {\\n @if (showNavigation) {\\n <div class=\\\"ax-calendar-view-header\\\">\\n <div class=\\\"ax-calendar-header-info\\\">\\n <button\\n type=\\\"button\\\"\\n [attr.disabled]=\\\"disabled ? '' : null\\\"\\n [attr.readonly]=\\\"readonly ? '' : null\\\"\\n class=\\\"ax-general-button ax-button-rounded\\\"\\n (click)=\\\"_handleNavClick($event, 'year')\\\"\\n >\\n {{ v.range.startTime | format: 'date' : { calendar: calendar(), format: 'YYYY' } | async }}\\n </button>\\n <button\\n type=\\\"button\\\"\\n [attr.disabled]=\\\"disabled ? '' : null\\\"\\n [attr.readonly]=\\\"readonly ? '' : null\\\"\\n class=\\\"ax-general-button ax-button-rounded\\\"\\n (click)=\\\"_handleNavClick($event, 'month')\\\"\\n >\\n <!-- {{ getMonthName(v.range.startTime, 'long') | translate | async }} -->\\n {{ v.range.startTime | format: 'date' : { calendar: calendar(), format: 'MMMM' } | async }}\\n </button>\\n </div>\\n @if (last) {\\n <div class=\\\"ax-calendar-header-buttons\\\">\\n <button\\n type=\\\"button\\\"\\n [attr.disabled]=\\\"disabled ? '' : null\\\"\\n [attr.readonly]=\\\"readonly ? '' : null\\\"\\n class=\\\"ax-general-button ax-button-rounded ax-button-icon\\\"\\n (click)=\\\"_handlePrevClick()\\\"\\n [title]=\\\"'prev' | translate | async\\\"\\n >\\n <i class=\\\"ax-icon ax-icon-chevron-left\\\"></i>\\n </button>\\n <button\\n type=\\\"button\\\"\\n [attr.disabled]=\\\"disabled ? '' : null\\\"\\n [attr.readonly]=\\\"readonly ? '' : null\\\"\\n class=\\\"ax-general-button ax-button-rounded ax-button-icon\\\"\\n (click)=\\\"_handleNextClick()\\\"\\n [title]=\\\"'next' | translate | async\\\"\\n >\\n <i class=\\\"ax-icon ax-icon-chevron-right\\\"></i>\\n </button>\\n </div>\\n }\\n </div>\\n }\\n <div class=\\\"ax-calendar-week\\\">\\n @for (d of _weekdays; track d) {\\n <div>{{ 'dateTime.weekdays.short.' + d | translate | async }}</div>\\n }\\n </div>\\n\\n <div class=\\\"ax-calendar-slots ax-calendar-slots-day\\\" [ngClass]=\\\"{ 'ax-default': !dayCellTemplate }\\\">\\n @for (slot of v.slots; track slot) {\\n <button\\n tabindex=\\\"0\\\"\\n class=\\\"ax-calendar-slot\\\"\\n [ngClass]=\\\"slot.cssClass\\\"\\n [class.ax-state-disabled]=\\\"disabled\\\"\\n (click)=\\\"_handleSlotClick($event, slot)\\\"\\n [disabled]=\\\"disabled\\\"\\n [axRipple]\\n >\\n @if (dayCellTemplate) {\\n <div>\\n <ng-container\\n [ngTemplateOutlet]=\\\"dayCellTemplate\\\"\\n [ngTemplateOutletContext]=\\\"{ $implicit: { slot: slot } }\\\"\\n >\\n </ng-container>\\n </div>\\n } @else {\\n <div [title]=\\\"slot.date | format: 'date' : { calendar: calendar(), format: 'long' } | async\\\">\\n {{ slot.text }}\\n </div>\\n }\\n </button>\\n }\\n </div>\\n }\\n }\\n }\\n</div>\\n<ng-content select=\\\"ax-footer\\\"></ng-content>\\n\", styles: [\"ax-calendar{--ax-comp-calendar-view-header-padding: .5rem;--ax-comp-calendar-slot-today-border-width: 1px;--ax-comp-calendar-slot-focused-border-width: 1px;--ax-comp-calendar-slot-focused-outline-width: 2px;--ax-comp-calendar-slot-disabled-opacity: .5;--ax-comp-calendar-slot-readonly-opacity: .75;--ax-comp-calendar-footer-margin-t: 1.25rem;--ax-comp-calendar-footer-today-button-padding-x: 1rem;--ax-comp-calendar-footer-today-button-height: var(--ax-sys-size-base)}ax-calendar{--ax-comp-calendar-text-color: var(--ax-sys-color-on-lightest-surface);--ax-comp-calendar-view-header-border-color: var(--ax-sys-color-border-lightest-surface);--ax-comp-calendar-slot-text-color: var(--ax-sys-color-on-lightest-surface);--ax-comp-calendar-slot-ripple-color: var(--ax-sys-color-primary-light-surface), .3;--ax-comp-calendar-slot-today-text-color: var(--ax-sys-color-primary-surface);--ax-comp-calendar-slot-today-border-color: var(--ax-sys-color-primary-surface);--ax-comp-calendar-slot-hover-bg-color: var(--ax-sys-color-primary-surface);--ax-comp-calendar-slot-hover-text-color: var(--ax-sys-color-on-primary-surface);--ax-comp-calendar-slot-focused-border-color: var(--ax-sys-color-border-lightest-surface);--ax-comp-calendar-slot-focused-outline-color: var(--ax-sys-color-primary-surface);--ax-comp-calendar-slot-selected-bg-color: var(--ax-sys-color-primary-surface);--ax-comp-calendar-slot-selected-text-color: var(--ax-sys-color-on-primary-surface);--ax-comp-calendar-slot-holiday-text-color: var(--ax-sys-color-danger-surface);--ax-comp-calendar-slot-holiday-ripple-color: var(--ax-sys-color-danger-light-surface), .3;--ax-comp-calendar-slot-holiday-today-border-color: var(--ax-sys-color-danger-surface);--ax-comp-calendar-slot-holiday-hover-bg-color: var(--ax-sys-color-danger-surface);--ax-comp-calendar-slot-holiday-hover-border-color: var(--ax-sys-color-danger-surface);--ax-comp-calendar-slot-holiday-selected-bg-color: var(--ax-sys-color-danger-surface);--ax-comp-calendar-slot-holiday-selected-text-color: var(--ax-sys-color-on-danger-surface);--ax-comp-calendar-footer-today-button-bg-color: var(--ax-sys-color-primary-surface);--ax-comp-calendar-footer-today-button-text-color: var(--ax-sys-color-on-primary-surface);--ax-comp-calendar-footer-today-button-hover-bg-color: var(--ax-sys-color-primary-dark-surface);--ax-comp-calendar-footer-today-button-focused-outline-color: var(--ax-sys-color-primary-surface), 1}.ax-dark ax-calendar{--ax-comp-calendar-text-color: var(--ax-sys-color-on-darkest-surface);--ax-comp-calendar-view-header-border-color: var(--ax-sys-color-border-darkest-surface);--ax-comp-calendar-slot-text-color: var(--ax-sys-color-on-darkest-surface);--ax-comp-calendar-slot-focused-border-color: var(--ax-sys-color-border-darkest-surface)}html[dir=rtl] ax-calendar .ax-calendar-header-buttons .ax-icon{-moz-transform:scale(-1,1);-o-transform:scale(-1,1);-webkit-transform:scale(-1,1);transform:scaleX(-1)}ax-calendar{width:100%;display:block;color:rgba(var(--ax-comp-calendar-text-color));background-color:rgba(var(--ax-comp-calendar-bg-color))}ax-calendar.ax-state-disabled .ax-calendar-slots{cursor:not-allowed;opacity:.5}ax-calendar.ax-state-readonly .ax-calendar-slots{cursor:text}ax-calendar .ax-calendar-header{display:flex;justify-content:space-between;padding-left:var(--ax-comp-calendar-header-padding-x, .25rem);padding-right:var(--ax-comp-calendar-header-padding-x, .25rem);padding-top:var(--ax-comp-calendar-header-padding-t, .25rem)}ax-calendar .ax-calendar-header .ax-calendar-header-info{font-weight:500}ax-calendar .ax-calendar-header .ax-calendar-header-buttons{display:flex}ax-calendar .ax-calendar-body{display:flex;flex-direction:column;justify-content:center;align-items:center}@media (min-width: 1024px){ax-calendar .ax-calendar-body{flex-direction:column}}ax-calendar .ax-calendar-body>div{width:100%;flex:1 1 0%}@media (min-width: 768px){ax-calendar .ax-calendar-body>div{width:20rem}}ax-calendar .ax-calendar-body .ax-calendar-view-header{display:flex;justify-content:space-between;border-bottom-width:var(--ax-comp-calendar-view-header-border-width, 1px);border-color:rgba(var(--ax-comp-calendar-view-header-border-color));padding:var(--ax-comp-calendar-view-header-padding)}ax-calendar .ax-calendar-body .ax-calendar-view-header .ax-calendar-header-info{font-weight:500}ax-calendar .ax-calendar-body .ax-calendar-view-header .ax-calendar-header-buttons{display:flex}ax-calendar .ax-calendar-body .ax-calendar-slots{display:grid;gap:.25rem;padding:1rem}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot{position:relative;display:flex;cursor:pointer;align-items:center;justify-content:center;text-align:center;font-size:var(--ax-comp-calendar-font-size, .875rem);color:rgba(var(--ax-comp-calendar-slot-text-color));line-height:var(--ax-comp-calendar-line-height, 1.25rem);border-radius:var(--ax-comp-calendar-slot-border-radius, var(--ax-sys-border-radius));transition-duration:var(--ax-sys-transition-duration);transition-timing-function:var(--ax-sys-transition-timing-function);transition-property:color,background-color,border-color,text-decoration-color,fill,stroke}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot:before{content:\\\"\\\";float:left;padding-top:100%}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot:after{content:\\\"\\\";clear:both;display:block}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot:hover:not(ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot:hover.ax-state-disabled,ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot:hover.ax-state-selected){background-color:rgba(var(--ax-comp-calendar-slot-hover-bg-color));color:rgba(var(--ax-comp-calendar-slot-hover-text-color))}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot:focus-visible:not(ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot:focus-visible.ax-state-disabled){outline-width:var(--ax-comp-calendar-slot-focused-outline-width);outline-color:rgba(var(--ax-comp-calendar-slot-focused-text-color))}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot:focus-visible.ax-state-disabled{outline-style:dashed;outline-width:var(--ax-comp-calendar-slot-focused-outline-width)}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-state-disabled{cursor:not-allowed;opacity:var(--ax-comp-calendar-slot-disabled-opacity)}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-state-readonly{cursor:text;opacity:var(--ax-comp-calendar-slot-readonly-opacity)}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-column-start-1{grid-column-start:1}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-column-start-2{grid-column-start:2}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-column-start-3{grid-column-start:3}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-column-start-4{grid-column-start:4}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-column-start-5{grid-column-start:5}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-column-start-6{grid-column-start:6}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-column-start-7{grid-column-start:7}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-state-other{opacity:.05}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot .ax-ripple{background-color:rgba(var(--ax-comp-calendar-slot-ripple-color))!important}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-state-today{color:rgba(var(--ax-comp-calendar-slot-today-text-color));border-width:var(--ax-comp-calendar-slot-today-border-width);border-color:rgba(var(--ax-ax-comp-calendar-slot-today-border-color))}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-state-today.ax-state-holiday{border-color:rgba(var(--ax-comp-calendar-slot-holiday-today-border-color))!important}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-state-focused{border-width:1px;border-color:rgba(var(--ax-sys-color-border-lightest-surface))}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-state-selected{color:rgba(var(--ax-comp-calendar-slot-selected-text-color));background-color:rgba(var(--ax-comp-calendar-slot-selected-bg-color))}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-state-selected.ax-state-holiday{color:rgba(var(--ax-comp-calendar-slot-holiday-selected-text-color))!important;background-color:rgba(var(--ax-comp-calendar-slot-holiday-selected-bg-color))!important}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-state-holiday{color:rgba(var(--ax-comp-calendar-slot-holiday-text-color))}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-state-holiday:is(ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-state-holiday:hover):not(.ax-state-disabled){background-color:rgba(var(--ax-comp-calendar-slot-holiday-hover-bg-color))!important;border-color:rgba(var(--ax-comp-calendar-slot-holiday-hover-border-color))!important}ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-state-holiday .ax-ripple{background-color:rgba(var(--ax-comp-calendar-slot-holiday-ripple-color))!important}ax-calendar .ax-calendar-body .ax-calendar-slots.ax-calendar-slots-day{grid-template-columns:repeat(7,minmax(0,1fr))}ax-calendar .ax-calendar-body .ax-calendar-slots.ax-calendar-slots-year,ax-calendar .ax-calendar-body .ax-calendar-slots.ax-calendar-slots-month{grid-template-columns:repeat(4,minmax(0,1fr))}ax-calendar .ax-calendar-body .ax-calendar-week{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));padding-top:var(--ax-comp-calendar-week-padding-t, .75rem);padding-left:var(--ax-comp-calendar-week-padding-x, .5rem);padding-right:var(--ax-comp-calendar-week-padding-x, .5rem)}ax-calendar .ax-calendar-body .ax-calendar-week>div{display:flex;cursor:pointer;position:relative;text-align:center;align-items:center;justify-content:center;font-size:var(--ax-comp-calendar-font-size, .875rem);line-height:var(--ax-comp-calendar-line-height, 1.25rem)}ax-calendar .ax-calendar-footer{display:flex;align-items:center;justify-content:center;margin-top:var(--ax-comp-calendar-footer-margin-t)}ax-calendar .ax-calendar-footer .ax-today-button{width:100%;display:block;cursor:pointer;text-align:center;padding-left:var(--ax-comp-calendar-footer-today-button-padding-x);padding-right:var(--ax-comp-calendar-footer-today-button-padding-x);font-size:var(--ax-comp-calendar-font-size, .875rem);line-height:var(--ax-comp-calendar-line-height, 1.25rem);height:var(--ax-comp-calendar-footer-today-button-height);border-radius:var(--ax-comp-calendar-footer-today-button-border-radius, var(--ax-sys-border-radius));color:rgba(var(--ax-comp-calendar-footer-today-button-text-color));background-color:rgba(var(--ax-comp-calendar-footer-today-button-bg-color))}ax-calendar .ax-calendar-footer .ax-today-button.ax-state-disabled{cursor:not-allowed;opacity:var(--ax-comp-calendar-slot-disabled-opacity)}ax-calendar .ax-calendar-footer .ax-today-button.ax-state-readonly{cursor:text;opacity:var(--ax-comp-calendar-slot-readonly-opacity)}ax-calendar .ax-calendar-footer .ax-today-button:is(ax-calendar .ax-calendar-footer .ax-today-button:hover):not(.ax-state-disabled){background-color:rgba(var(--ax-comp-calendar-footer-today-button-hover-bg-color))}ax-calendar .ax-calendar-footer .ax-today-button:is(ax-calendar .ax-calendar-footer .ax-today-button:focus,ax-calendar .ax-calendar-footer .ax-today-button:focus-visible):not(.ax-state-disabled){outline-color:rgba(var(--ax-comp-calendar-footer-today-button-focused-outline-color))}.ax-calendar-picker{display:flex;width:100%}.ax-calendar-picker ax-picker{flex:1 1 0%}.ax-overlay-pane ax-calendar{border-style:none}\\n\"] }]\n }], ctorParameters: () => [], propDecorators: { __hostClass: [{\n type: HostBinding,\n args: ['class']\n }], _handleOnKeydownEvent: [{\n type: HostListener,\n args: ['keydown', ['$event']]\n }] } });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsZW5kYXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29tcG9uZW50cy9jYWxlbmRhci9zcmMvbGliL2NhbGVuZGFyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbXBvbmVudHMvY2FsZW5kYXIvc3JjL2xpYi9jYWxlbmRhci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsV0FBVyxFQUNYLGlCQUFpQixFQUNqQixtQkFBbUIsRUFFbkIsc0JBQXNCLEVBQ3RCLGdCQUFnQixHQUNqQixNQUFNLG9CQUFvQixDQUFDO0FBQzVCLE9BQU8sRUFBYyxlQUFlLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNyRSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxVQUFVLEVBQ1YsV0FBVyxFQUNYLFlBQVksRUFDWixNQUFNLEVBQ04sWUFBWSxFQUNaLE1BQU0sRUFDTixpQkFBaUIsR0FDbEIsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLGNBQWMsRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN0RSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDcEQsT0FBTyxFQUFFLFNBQVMsRUFBRSxpQkFBaUIsRUFBRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMxRixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNuRCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ25DLE9BQU8sRUFBMEQsdUJBQXVCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQzs7O0FBRW5IOzs7O0dBSUc7QUEyREgsTUFBTSxPQUFP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QkFDUCxpQkFBaUI7d0JBQ2pCLGFBQWE7d0JBQ2IsZ0JBQWdCO3dCQUNoQixnQkFBZ0I7d0JBQ2hCLGdCQUFnQjt3QkFDaEIsUUFBUTt3QkFDUixTQUFTO3dCQUNULGFBQWE7d0JBQ2IsWUFBWTt3QkFDWixrQkFBa0I7d0JBQ2xCLHFCQUFxQjt3QkFDckIsb0JBQW9CO3dCQUNwQixZQUFZO3dCQUNaLGFBQWE7d0JBQ2IsYUFBYTtxQkFDZCxhQUNVO3dCQUNUOzRCQUNFLE9BQU8sRUFBRSxpQkFBaUI7NEJBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLG9CQUFvQixDQUFDOzRCQUNsRCxLQUFLLEVBQUUsSUFBSTt5QkFDWjt3QkFDRDs0QkFDRSxPQUFPLEVBQUUsbUJBQW1COzRCQUM1QixXQUFXLHFCQUFxQjt5QkFDakM7d0JBQ0QsY0FBYzt3QkFDZCxFQUFFLE9BQU8sRUFBRSxXQUFXLEVBQUUsV0FBVyxxQkFBcUIsRUFBRTtxQkFDM0QsV0FDUSxDQUFDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxpQkFBaUIsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUUsY0FBYyxDQUFDO3dEQWdnQnhGLFdBQVc7c0JBRHRCLFdBQVc7dUJBQUMsT0FBTztnQkEwRHBCLHFCQUFxQjtzQkFEcEIsWUFBWTt1QkFBQyxTQUFTLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBWENsaWNrRXZlbnQsXG4gIEFYQ29tcG9uZW50LFxuICBBWFJpcHBsZURpcmVjdGl2ZSxcbiAgQVhWYWx1YWJsZUNvbXBvbmVudCxcbiAgTVhDb21wb25lbnRPcHRpb25DaGFuZ2VkLFxuICBNWEludGVyYWN0aXZlQ29tcG9uZW50LFxuICBNWFZhbHVlQ29tcG9uZW50LFxufSBmcm9tICdAYWNvcmV4L2Nkay9jb21tb24nO1xuaW1wb3J0IHsgQVhEYXRlVGltZSwgQVhEYXRlVGltZVJhbmdlIH0gZnJvbSAnQGFjb3JleC9jb3JlL2RhdGUtdGltZSc7XG5pbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBmb3J3YXJkUmVmLFxuICBIb3N0QmluZGluZyxcbiAgSG9zdExpc3RlbmVyLFxuICBpbmplY3QsXG4gIGxpbmtlZFNpZ25hbCxcbiAgc2lnbmFsLFxuICBWaWV3RW5jYXBzdWxhdGlvbixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IEFYRm9ybWF0TW9kdWxlLCBBWEZvcm1hdFNlcnZpY2UgfSBmcm9tICdAYWNvcmV4L2NvcmUvZm9ybWF0JztcbmltcG9ydCB7IEFYVHJhbnNsYXRvclBpcGUgfSBmcm9tICdAYWNvcmV4L2NvcmUvdHJhbnNsYXRpb24nO1xuaW1wb3J0IHsgQVhVbnN1YnNjcmliZXIgfSBmcm9tICdAYWNvcmV4L2NvcmUvdXRpbHMnO1xuaW1wb3J0IHsgQXN5bmNQaXBlLCBpc1BsYXRmb3JtQnJvd3NlciwgTmdDbGFzcywgTmdUZW1wbGF0ZU91dGxldCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IGNsYXNzZXMgfSBmcm9tICdwb2x5dHlwZSc7XG5pbXBvcnQgeyBBWENhbGVuZGFyVmlldywgQVhDYWxlbmRhclZpZXdTbG90LCBBWENhbGVuZGFyVmlld1R5cGUsIE1YQ2FsZW5kYXJCYXNlQ29tcG9uZW50IH0gZnJvbSAnLi9jYWxlbmRhci5jbGFzcyc7XG5cbi8qKlxuICogQSBjYWxlbmRhciBjb21wb25lbnQgdGhhdCBwcm92aWRlcyBhIGN1c3RvbWl6YWJsZSBjYWxlbmRhciB2aWV3IHdpdGggdmFyaW91cyBvcHRpb25zIGZvciBzZWxlY3Rpb24sIG5hdmlnYXRpb24sIGFuZCBzdHlsaW5nLlxuICpcbiAqIEBjYXRlZ29yeSBDb21wb25lbnRzXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2F4LWNhbGVuZGFyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2NhbGVuZGFyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vY2FsZW5kYXIuY29tcG9uZW50LnNjc3MnXSxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGlucHV0czogW1xuICAgICdydGwnLFxuICAgICdyZWFkb25seScsXG4gICAgJ3ZhbHVlJyxcbiAgICAnbmFtZScsXG4gICAgJ2Rpc2FibGVkJyxcbiAgICAnZGVwdGgnLFxuICAgICdhY3RpdmVWaWV3JyxcbiAgICAnbWluVmFsdWUnLFxuICAgICdtYXhWYWx1ZScsXG4gICAgJ2Rpc2FibGVkRGF0ZXMnLFxuICAgICdob2xpZGF5RGF0ZXMnLFxuICAgICd0eXBlJyxcbiAgICAnY2VsbFRlbXBsYXRlJyxcbiAgICAnY2VsbENsYXNzJyxcbiAgICAnc2hvd05hdmlnYXRpb24nLFxuICAgICdjb3VudCcsXG4gICAgJ25hbWUnLFxuICAgICdpZCcsXG4gIF0sXG4gIG91dHB1dHM6IFtcbiAgICAnb25PcHRpb25DaGFuZ2VkJyxcbiAgICAndmFsdWVDaGFuZ2UnLFxuICAgICdvblZhbHVlQ2hhbmdlZCcsXG4gICAgJ21pblZhbHVlQ2hhbmdlJyxcbiAgICAnbWF4VmFsdWVDaGFuZ2UnLFxuICAgICdvbkJsdXInLFxuICAgICdvbkZvY3VzJyxcbiAgICAnZGVwdGhDaGFuZ2UnLFxuICAgICd0eXBlQ2hhbmdlJyxcbiAgICAnYWN0aXZlVmlld0NoYW5nZScsXG4gICAgJ2Rpc2FibGVkRGF0ZXNDaGFuZ2UnLFxuICAgICdob2xpZGF5RGF0ZXNDaGFuZ2UnLFxuICAgICdvbk5hdmlnYXRlJyxcbiAgICAnb25TbG90Q2xpY2snLFxuICAgICdjb3VudENoYW5nZScsXG4gIF0sXG4gIHByb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gQVhDYWxlbmRhckNvbXBvbmVudCksXG4gICAgICBtdWx0aTogdHJ1ZSxcbiAgICB9LFxuICAgIHtcbiAgICAgIHByb3ZpZGU6IEFYVmFsdWFibGVDb21wb25lbnQsXG4gICAgICB1c2VFeGlzdGluZzogQVhDYWxlbmRhckNvbXBvbmVudCxcbiAgICB9LFxuICAgIEFYVW5zdWJzY3JpYmVyLFxuICAgIHsgcHJvdmlkZTogQVhDb21wb25lbnQsIHVzZUV4aXN0aW5nOiBBWENhbGVuZGFyQ29tcG9uZW50IH0sXG4gIF0sXG4gIGltcG9ydHM6IFtOZ0NsYXNzLCBOZ1RlbXBsYXRlT3V0bGV0LCBBWFJpcHBsZURpcmVjdGl2ZSwgQXN5bmNQaXBlLCBBWFRyYW5zbGF0b3JQaXBlLCBBWEZvcm1hdE1vZHVsZV0sXG59KVxuZXhwb3J0IGNsYXNzIEFYQ2FsZW5kYXJDb21wb25lbnQgZXh0ZW5kcyBjbGFzc2VzKFxuICBNWFZhbHVlQ29tcG9uZW50PERhdGUgfCBudWxsPixcbiAgTVhJbnRlcmFjdGl2ZUNvbXBvbmVudCxcbiAgTVhDYWxlbmRhckJhc2VDb21wb25lbnQsXG4pIHtcbiAgcHJpdmF0ZSBmb3JtYXRTZXJ2aWNlID0gaW5qZWN0KEFYRm9ybWF0U2VydmljZSk7XG5cbiAgcHJvdGVjdGVkIGNhbGVuZGFyID0gbGlua2VkU2lnbmFsKCgpID0+IHRoaXMudHlwZSA/PyB0aGlzLmxvY2FsZVNlcnZpY2UuYWN0aXZlUHJvZmlsZSgpLmNhbGVuZGFyLnN5c3RlbSk7XG5cbiAgcHVibGljIGdldCBkaXNwbGF5UmFuZ2UoKTogQVhEYXRlVGltZVJhbmdlIHtcbiAgICByZXR1cm4gbmV3IEFYRGF0ZVRpbWVSYW5nZSh0aGlzLnZpZXdzWzBdLnJhbmdlLnN0YXJ0VGltZSwgdGhpcy52aWV3c1t0aGlzLnZpZXdzLmxlbmd0aCAtIDFdLnJhbmdlLmVuZFRpbWUpO1xuICB9XG5cbiAgLyoqXG4gICAqICBAaWdub3JlXG4gICAqL1xuICBwcm90ZWN0ZWQgX3RvZGF5ID0gdGhpcy5jYWxlbmRhclNlcnZpY2UuY3JlYXRlKG5ldyBEYXRlKCksIHRoaXMuY2FsZW5kYXIoKSk7XG5cbiAgLyoqXG4gICAqICBAaWdub3JlXG4gICAqL1xuICBwcml2YXRlIF92aWV3U3RhcnREYXRlITogQVhEYXRlVGltZTtcblxuICAvKipcbiAgICogIEBpZ25vcmVcbiAgICovXG4gIHByaXZhdGUgX25hdlVzZXJJbnRlcmFjdGlvbiA9IGZhbHNlO1xuXG4gIC8qKlxuICAgKiAgQGlnbm9yZVxuICAgKi9cbiAgcHJpdmF0ZSBfZm9vdFByaW50ID0ge1xuICAgIHllYXI6IG51bGwsXG4gICAgbW9udGg6IG51bGwsXG4gICAgZGF5OiBudWxsLFxuICB9O1xuXG4gIC8qKlxuICAgKiAgQGlnbm9yZVxuICAgKi9cbiAgcHJvdGVjdGVkIHZpZXdzOiBBWENhbGVuZGFyVmlld1tdID0gW107XG5cbiAgLyoqXG4gICAqICBAaWdub3JlXG4gICAqL1xuICBwcm90ZWN0ZWQgX3dlZWtkYXlzOiBudW1iZXJbXSA9IFtdO1xuXG4gIC8qKlxuICAgKiAgQGlnbm9yZVxuICAgKi9cbiAgcHJpdmF0ZSBvbGRWYWx1ZSA9IHNpZ25hbDxEYXRlIHwgbnVsbD4obnVsbCk7XG5cbiAgLyoqXG4gICAqICBAaWdub3JlXG4gICAqL1xuICBwcml2YXRlIF9pbml0VmFsdWVzKCkge1xuICAgIHRoaXMuX3RvZGF5ID0gdGhpcy5jYWxlbmRhclNlcnZpY2UuY3JlYXRlKG5ldyBEYXRlKCksIHRoaXMuY2FsZW5kYXIoKSk7XG4gICAgdGhpcy5fd2Vla2RheXMgPSB0aGlzLl90b2RheS5jYWxlbmRhci53ZWVrZGF5cztcbiAgfVxuXG4gIC8qKlxuICAgKiAgQGlnbm9yZVxuICAgKi9cbiAgcHJpdmF0ZSBfcmVmcmVzaCgpIHtcbiAgICB0aGlzLl9pbml0VmFsdWVzKCk7XG4gICAgdGhpcy5uYXZUbyh0aGlzLnZhbHVlIHx8IHRoaXMuX3RvZGF5KTtcbiAgfVxuXG4gIC8qKlxuICAgKiAgQGlnbm9yZVxuICAgKi9cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgY29uc3QgdW5zdWJzY3JpYmVyID0gaW5qZWN0KEFYVW5zdWJzY3JpYmVyKTtcblxuICAgIHN1cGVyKCk7XG4gICAgdGhpcy5jYWxlbmRhclNlcnZpY2Uub25Ib2xpZGF5c0NoYW5nZWQucGlwZSh1bnN1YnNjcmliZXIudGFrZVVudGlsRGVzdHJveSkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgIHRoaXMucmVuZGVyKCk7XG4gICAgfSk7XG4gICAgdGhpcy5jYWxlbmRhclNlcnZpY2UuY2FsZW5kYXJDaGFuZ2VzJC5waXBlKHVuc3Vic2NyaWJlci50YWtlVW50aWxEZXN0cm95KS5zdWJzY3JpYmUoKHZhbHVlKSA9PiB7XG4gICAgICBpZiAoIXRoaXMudHlwZSkgdGhpcy5jYWxlbmRhci5zZXQodmFsdWUubmFtZSgpKTtcbiAgICAgIHRoaXMuX3JlZnJlc2goKTtcbiAgICB9KTtcblxuICAgIHRoaXMudHlwZUNoYW5nZS5waXBlKHVuc3Vic2NyaWJlci50YWtlVW50aWxEZXN0cm95KS5zdWJzY3JpYmUoKHZhbHVlKSA9PiB7XG4gICAgICB0aGlzLmNhbGVuZGFyLnNldCh2YWx1ZSk7XG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogIEBpZ25vcmVcbiAgICovXG4gIHByb3RlY3RlZCBvdmVycmlkZSBuZ09uSW5pdCgpIHtcbiAgICBzdXBlci5uZ09uSW5pdCgpO1xuICAgIHRoaXMuX2luaXRWYWx1ZXMoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiAgQGlnbm9yZVxuICAgKi9cbiAgcHJvdGVjdGVkIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMudmFsdWUpIHtcbiAgICAgIHRoaXMuZ29Ub2RheSgpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiAgQGlnbm9yZVxuICAgKi9cbiAgb3ZlcnJpZGUgcmVuZGVyKCkge1xuICAgIGlmICghdGhpcy5fdmlld1N0YXJ0RGF0ZSkgcmV0dXJuO1xuICAgIGNvbnN0IGFwcGx5Q2VsbENsYXNzID0gKHNsb3Q6IEFYQ2FsZW5kYXJWaWV3U2xvdCwgY2VsbENsYXNzOiBhbnkgPSB0aGlzLmNlbGxDbGFzcykgPT4ge1xuICAgICAgc3dpdGNoICh0eXBlb2YgY2VsbENsYXNzKSB7XG4gICAgICAgIGNhc2UgJ3N0cmluZyc6XG4gICAgICAgICAgY2VsbENsYXNzLnNwbGl0KCcgJykuZm9yRWFjaCgoYykgPT4gKHNsb3QuY3NzQ2xhc3NbY10gPSB0cnVlKSk7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgJ29iamVjdCc6XG4gICAgICAgICAgT2JqZWN0LmFzc2lnbihzbG90LmNzc0NsYXNzLCBjZWxsQ2xhc3MpO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlICdmdW5jdGlvbic6XG4gICAgICAgICAgYXBwbHlDZWxsQ2xhc3Moc2xvdCwgY2VsbENsYXNzKHNsb3QuZGF0ZSkpO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgIH07XG4gICAgdGhpcy52aWV3cyA9IFtdO1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgdGhpcy5jb3VudDsgaSsrKSB7XG4gICAgICBzd2l0Y2ggKHRoaXMuYWN0aXZlVmlldykge1xuICAgICAgICBjYXNlICdkYXknOlxuICAgICAgICAgIHRoaXMuZGF5VmlldyhpLCBhcHBseUNlbGxDbGFzcyk7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgJ21vbnRoJzpcbiAgICAgICAgICB0aGlzLm1vbnRoVmlldyhpLCBhcHBseUNlbGxDbGFzcyk7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgJ3llYXInOlxuICAgICAgICAgIHRoaXMueWVhclZpZXcoaSwgYXBwbHlDZWxsQ2xhc3MpO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgIH1cbiAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuXG4gIC8qKlxuICAgKiAgQGlnbm9yZVxuICAgKi9cbiAgcHJpdmF0ZSBfc2V0RGlzcGxheVJhbmdlKGN1cnJlbnQ6IEFYRGF0ZVRpbWUpOiBBWERhdGVUaW1lUmFuZ2Uge1xuICAgIHN3aXRjaCAodGhpcy5hY3RpdmVWaWV3KSB7XG4gICAgICBjYXNlICd5ZWFyJzoge1xuICAgICAgICBjb25zdCB5ID0gY3VycmVudC5zdGFydE9mKCd5ZWFyJykueWVhcjtcbiAgICAgICAgY29uc3QgbWluID0geSAtICh5ICUgMTApO1xuICAgICAgICBjb25zdCBtYXggPSBtaW4gKyA5O1xuICAgICAgICByZXR1cm4gbmV3IEFYRGF0ZVRpbWVSYW5nZShcbiAgICAgICAgICB0aGlzLmNhbGVuZGFyU2VydmljZS5jcmVhdGUoXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIHllYXI6IG1pbixcbiAgICAgICAgICAgICAgbW9udGg6IDEsXG4gICAgICAgICAgICAgIGRheTogMSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB0aGlzLmNhbGVuZGFyKCksXG4gICAgICAgICAgKSxcbiAgICAgICAgICB0aGlzLmNhbGVuZGFyU2VydmljZS5jcmVhdGUoXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIHllYXI6IG1heCxcbiAgICAgICAgICAgICAgbW9udGg6IDEyLFxuICAgICAgICAgICAgICBkYXk6IDI4LFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHRoaXMuY2FsZW5kYXIoKSxcbiAgICAgICAgICApLFxuICAgICAgICApO1xuICAgICAgfVxuICAgICAgY2FzZSAnbW9udGgnOlxuICAgICAgICByZXR1cm4gbmV3IEFYRGF0ZVRpbWVSYW5nZShjdXJyZW50LnN0YXJ0T2YoJ3llYXInKSwgY3VycmVudC5lbmRPZigneWVhcicpLmFkZCgnZGF5JywgLTEpKTtcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHJldHVybiBuZXcgQVhEYXRlVGltZVJhbmdlKGN1cnJlbnQuc3RhcnRPZignbW9udGgnKSwgY3VycmVudC5lbmRPZignbW9udGgnKSk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqICBAaWdub3JlXG4gICAqL1xuICBwcml2YXRlIGRheVZpZXcoaTogbnVtYmVyLCBhcHBseUNlbGxDbGFzczogYW55KSB7XG4gICAgY29uc3QgY3VycmVudCA9IHRoaXMuX3ZpZXdTdGFydERhdGUuYWRkKCdtb250aCcsIGkpO1xuICAgIGNvbnN0IHZpZXc6IEFYQ2FsZW5kYXJWaWV3ID0ge1xuICAgICAgcmFuZ2U6IHRoaXMuX3NldERpc3BsYXlSYW5nZShjdXJyZW50KSxcbiAgICAgIHNsb3RzOiBbXSxcbiAgICB9O1xuICAgIHRoaXMudmlld3MucHVzaCh2aWV3KTtcbiAgICBjb25zdCBhID0gdmlldy5yYW5nZS5lbnVtdXJhdGUoJ2RheScpO1xuICAgIHZpZXcuc2xvdHMgPSBhLm1hcCgoZCwgaSkgPT4ge1xuICAgICAgY29uc3QgcjogYW55ID0ge307XG4gICAgICByLmRhdGUgPSBkO1xuICAgICAgci50ZXh0ID0gZC5kYXlPZk1vbnRoO1xuICAgICAgci50b2RheSA9IGQuZXF1YWwodGhpcy5fdG9kYXksICdkYXknKTtcbiAgICAgIHIuc2VsZWN0ZWQgPSB0aGlzLnZhbHVlICYmIGQuZXF1YWwodGhpcy52YWx1ZSwgJ2RheScpO1xuICAgICAgci5ob2xpZGF5ID0gdGhpcy5pc0hvbGlkYXkoZCkgfHwgdGhpcy5pc1dlZWtlbmQoZCk7XG4gICAgICByLmRpc2FibGVkID1cbiAgICAgICAgKHRoaXMubWluVmFsdWUgJiYgZC5jb21wYXJlKHRoaXMubWluVmFsdWUsICdkYXknKSA9PSAtMSkgfHxcbiAgICAgICAgKHRoaXMubWF4VmFsdWUgJiYgZC5jb21wYXJlKHRoaXMubWF4VmFsdWUsICdkYXknKSA9PSAxKSB8fFxuICAgICAgICB0aGlzLmlzRGlzYWJsZWQoZCk7XG4gICAgICAvL1xuICAgICAgY29uc3QgZm9jdXNlZCA9XG4gICAgICAgIGQuZGF5T2ZNb250aCA9PSB0aGlzLl9mb290UHJpbnQuZGF5ICYmIGQubW9udGhPZlllYXIgPT0gdGhpcy5fZm9vdFByaW50Lm1vbnRoICYmIGQueWVhciA9PSB0aGlzLl9mb290UHJpbnQueWVhcjtcbiAgICAgIC8vXG4gICAgICBpZiAoci5kaXNhYmxlZCkge1xuICAgICAgICByLmNzc0NsYXNzID0ge1xuICAgICAgICAgICdheC1zdGF0ZS1kaXNhYmxlZCc6IHRydWUsXG4gICAgICAgIH07XG4gICAgICB9IGVsc2Uge1xuICAgICAgICByLmNzc0NsYXNzID0ge1xuICAgICAgICAgICdheC1zdGF0ZS10b2RheSc6IHIudG9kYXksXG4gICAgICAgICAgJ2F4LXN0YXRlLXNlbGVjdGVkJzogci5zZWxlY3RlZCxcbiAgICAgICAgICAnYXgtc3RhdGUtaG9saWRheSc6IHIuaG9saWRheSxcbiAgICAgICAgICAvLyAnYXgtc3RhdGUtZm9jdXNlZCc6IGZvY3VzZWQsXG4gICAgICAgIH07XG4gICAgICB9XG4gICAgICAvLyBheC1jb2wtc3RhcnQtMSBheC1jb2wtc3RhcnQtMiBheC1jb2wtc3RhcnQtMyBheC1jb2wtc3RhcnQtNCBheC1jb2wtc3RhcnQtNSBheC1jb2wtc3RhcnQtNiBheC1jb2wtc3RhcnQtN1xuICAgICAgci5jc3NDbGFzc1tgYXgtY29sdW1uLXN0YXJ0LSR7dmlldy5yYW5nZS5zdGFydFRpbWUuZGF5T2ZXZWVrfWBdID0gaSA9PSAwO1xuICAgICAgaWYgKHRoaXMuY2VsbENsYXNzKSBhcHBseUNlbGxDbGFzcyhyKTtcblxuICAgICAgcmV0dXJuIHI7XG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogIEBpZ25vcmVcbiAgICovXG4gIHByaXZhdGUgbW9udGhWaWV3KGk6IG51bWJlciwgYXBwbHlDZWxsQ2xhc3M6IGFueSkge1xuICAgIGNvbnN0IGN1cnJlbnQgPSB0aGlzLl92aWV3U3RhcnREYXRlLmFkZCgneWVhcicsIGkpO1xuICAgIGNvbnN0IHZpZXc6IEFYQ2FsZW5kYXJWaWV3ID0ge1xuICAgICAgcmFuZ2U6IHRoaXMuX3NldERpc3BsYXlSYW5nZShjdXJyZW50KSxcbiAgICAgIHNsb3RzOiBbXSxcbiAgICB9O1xuICAgIHRoaXMudmlld3MucHVzaCh2aWV3KTtcbiAgICBjb25zdCBhID0gdmlldy5yYW5nZS5lbnVtdXJhdGUoJ21vbnRoJyk7XG4gICAgdmlldy5zbG90cyA9IGEubWFwKChkLCBpKSA9PiB7XG4gICAgICBjb25zdCByOiBhbnkgPSB7fTtcbiAgICAgIHIuZGF0ZSA9IGQ7XG4gICAgICByLnRleHQgPSB0aGlzLmZvcm1hdFNlcnZpY2UuZm9ybWF0KGQsICdkYXRlJyBhcyBhbnksICdNTU0nKTtcbiAgICAgIHIudG9kYXkgPSBkLmVxdWFsKHRoaXMuX3RvZGF5LCAnbW9udGgnKTtcbiAgICAgIC8vXG4gICAgICByLmRpc2FibGVkID1cbiAgICAgICAgKHRoaXMubWluVmFsdWUgJiYgZC5jb21wYXJlKHRoaXMubWluVmFsdWUsICdtb250aCcpID09IC0xKSB8fFxuICAgICAgICAodGhpcy5tYXhWYWx1ZSAmJiBkLmNvbXBhcmUodGhpcy5tYXhWYWx1ZSwgJ21vbnRoJykgPT0gMSk7XG4gICAgICAvL1xuICAgICAgci5zZWxlY3RlZCA9IHRoaXMudmFsdWUgJiYgdGhpcy5kZXB0aCA9PSAnbW9udGgnICYmIGQuZXF1YWwodGhpcy52YWx1ZSwgJ21vbnRoJyk7XG4gICAgICAvL1xuICAgICAgY29uc3QgZm9jdXNlZCA9IGQubW9udGhPZlllYXIgPT0gdGhpcy5fZm9vdFByaW50Lm1vbnRoICYmIGQueWVhciA9PSB0aGlzLl9mb290UHJpbnQueWVhcjtcbiAgICAgIC8vXG4gICAgICBpZiAoci5kaXNhYmxlZCkge1xuICAgICAgICByLmNzc0NsYXNzID0ge1xuICAgICAgICAgICdheC1zdGF0ZS1kaXNhYmxlZCc6IHIuZGlzYWJsZWQsXG4gICAgICAgIH07XG4gICAgICB9IGVsc2Uge1xuICAgICAgICByLmNzc0NsYXNzID0ge1xuICAgICAgICAgICdheC1zdGF0ZS10b2RheSc6IHIudG9kYXksXG4gICAgICAgICAgJ2F4LXN0YXRlLXNlbGVjdGVkJzogci5zZWxlY3RlZCxcbiAgICAgICAgICAnYXgtc3RhdGUtZm9jdXNlZCc6IGZvY3VzZWQsXG4gICAgICAgIH07XG4gICAgICB9XG4gICAgICBhcHBseUNlbGxDbGFzcyhyKTtcbiAgICAgIHJldHVybiByO1xuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqICBAaWdub3JlXG4gICAqL1xuICBwcml2YXRlIHllYXJWaWV3KGk6IG51bWJlciwgYXBwbHlDZWxsQ2xhc3M6IGFueSkge1xuICAgIGNvbnN0IGN1cnJlbnQgPSB0aGlzLl92aWV3U3RhcnREYXRlLmFkZCgneWVhcicsIGkgKiAxMCk7XG4gICAgY29uc3QgdmlldzogQVhDYWxlbmRhclZpZXcgPSB7XG4gICAgICByYW5nZTogdGhpcy5fc2V0RGlzcGxheVJhbmdlKGN1cnJlbnQpLFxuICAgICAgc2xvdHM6IFtdLFxuICAgIH07XG4gICAgdGhpcy52aWV3cy5wdXNoKHZpZXcpO1xuICAgIGNvbnN0IGEgPSB2aWV3LnJhbmdlLmVudW11cmF0ZSgneWVhcicpO1xuXG4gICAgdmlldy5zbG90cyA9IGEubWFwKChkLCBpKSA9PiB7XG4gICAgICBjb25zdCByOiBhbnkgPSB7fTtcbiAgICAgIHIuZGF0ZSA9IGQ7XG4gICAgICByLnRleHQgPSB0aGlzLmZvcm1hdFNlcnZpY2UuZm9ybWF0KGQsICdkYXRlJyBhcyBhbnksICdZWVlZJyk7XG4gICAgICByLnRvZGF5ID0gZC5lcXVhbCh0aGlzLl90b2RheSwgJ3llYXInKTtcbiAgICAgIHIuc2VsZWN0ZWQgPSB0aGlzLnZhbHVlICYmIHRoaXMuZGVwdGggPT0gJ3llYXInICYmIGQuZXF1YWwodGhpcy52YWx1ZSwgJ3llYXInKTtcbiAgICAgIC8vXG4gICAgICBjb25zdCBmb2N1c2VkID0gZC55ZWFyID09IHRoaXMuX2Zvb3RQcmludC55ZWFyO1xuICAgICAgLy9cbiAgICAgIHIuZGlzYWJsZWQgPVxuICAgICAgICAodGhpcy5taW5WYWx1ZSAmJiBkLmNvbXBhcmUodGhpcy5taW5WYWx1ZSwgJ3llYXInKSA9PSAtMSkgfHxcbiAgICAgICAgKHRoaXMubWF4VmFsdWUgJiYgZC5jb21wYXJlKHRoaXMubWF4VmFsdWUsICd5ZWFyJykgPT0gMSk7XG4gICAgICAvL1xuICAgICAgaWYgKHIuZGlzYWJsZWQpIHtcbiAgICAgICAgci5jc3NDbGFzcyA9IHtcbiAgICAgICAgICAnYXgtc3RhdGUtZGlzYWJsZWQnOiByLmRpc2FibGVkLFxuICAgICAgICB9O1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgci5jc3NDbGFzcyA9IHtcbiAgICAgICAgICAnYXgtc3RhdGUtdG9kYXknOiByLnRvZGF5LFxuICAgICAgICAgICdheC1zdGF0ZS1zZWxlY3RlZCc6IHIuc2VsZWN0ZWQsXG4gICAgICAgICAgJ2F4LXN0YXRlLWZvY3VzZWQnOiBmb2N1c2VkLFxuICAgICAgICB9O1xuICAgICAgfVxuICAgICAgYXBwbHlDZWxsQ2xhc3Mocik7XG4gICAgICByZXR1cm4gcjtcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiAgQGlnbm9yZVxuICAgKi9cbiAgcHJvdGVjdGVkIF9oYW5kbGVQcmV2Q2xpY2soKSB7XG4gICAgdGhpcy5fbmF2VXNlckludGVyYWN0aW9uID0gdHJ1ZTtcbiAgICB0aGlzLnByZXYoKTtcbiAgICB0aGlzLl9uYXZVc2VySW50ZXJhY3Rpb24gPSBmYWxzZTtcbiAgfVxuXG4gIC8qKlxuICAgKiAgQGlnbm9yZVxuICAgKi9cbiAgcHJvdGVjdGVkIF9oYW5kbGVOZXh0Q2xpY2soKSB7XG4gICAgdGhpcy5fbmF2VXNlckludGVyYWN0aW9uID0gdHJ1ZTtcbiAgICB0aGlzLm5leHQoKTtcbiAgICB0aGlzLl9uYXZVc2VySW50ZXJhY3Rpb24gPSBmYWxzZTtcbiAgfVxuXG4gIC8qKlxuICAgKiAgQGlnbm9yZVxuICAgKi9cbiAgcHJvdGVjdGVkIF9oYW5kbGVTbG90Q2xpY2soZTogTW91c2VFdmVudCwgc2xvdDogQVhDYWxlbmRhclZpZXdTbG90KSB7XG4gICAgaWYgKHNsb3QuZGlzYWJsZWQgfHwgdGhpcy5kaXNhYmxlZCkgcmV0dXJuO1xuICAgIC8vXG4gICAgdGhpcy5vblNsb3RDbGljay5lbWl0KHtcbiAgICAgIGNvbXBvbmVudDogdGhpcyxcbiAgICAgIGl0ZW06IHNsb3QuZGF0ZS5kYXRlLFxuICAgICAgaXNVc2VySW50ZXJhY3Rpb246IHRydWUsXG4gICAgICBuYXRpdmVFdmVudDogZSxcbiAgICB9KTtcbiAgICAvL1xuICAgIGlmICh0aGlzLmFjdGl2ZVZpZXcgPT0gJ2RheScpIHtcbiAgICAgIHRoaXMuX3NldERhdGUoc2xvdC5kYXRlLmRhdGUpO1xuICAgIH0gZWxzZSBpZiAodGhpcy5hY3RpdmVWaWV3ID09ICdtb250aCcgJiYgdGhpcy5kZXB0aCA9PSAnZGF5Jykge1xuICAgICAgdGhpcy5hY3RpdmVWaWV3ID0gJ2RheSc7XG4gICAgICB0aGlzLl9mb290UHJpbnQubW9udGggPSB0aGlzLmNhbGVuZGFyU2VydmljZS5jcmVhdGUoc2xvdC5kYXRlLmRhdGUsIHRoaXMuY2FsZW5kYXIoKSkubW9udGhPZlllYXI7XG4gICAgICB0aGlzLm5hdlRvKHNsb3QuZGF0ZSk7XG4gICAgfSBlbHNlIGlmICh0aGlzLmFjdGl2ZVZpZXcgPT0gJ21vbnRoJyAmJiB0aGlzLmRlcHRoID09ICdtb250aCcpIHtcbiAgICAgIHRoaXMuX3NldERhdGUoc2xvdC5kYXRlLmRhdGUpO1xuICAgIH0gZWxzZSBpZiAodGhpcy5hY3RpdmVWaWV3ID09ICd5ZWFyJyAmJiAodGhpcy5kZXB0aCA9PSAnZGF5JyB8fCB0aGlzLmRlcHRoID09ICdtb250aCcpKSB7XG4gICAgICB0aGlzLmFjdGl2ZVZpZXcgPSAnbW9udGgnO1xuICAgICAgdGhpcy5fZm9vdFByaW50LnllYXIgPSB0aGlzLmNhbGVuZGFyU2VydmljZS5jcmVhdGUoc2xvdC5kYXRlLmRhdGUsIHRoaXMuY2FsZW5kYXIoKSkueWVhcjtcbiAgICAgIHRoaXMubmF2VG8oc2xvdC5kYXRlKTtcbiAgICB9IGVsc2UgaWYgKHRoaXMuYWN0aXZlVmlldyA9PSAneWVhcicgJiYgdGhpcy5kZXB0aCA9PSAneWVhcicpIHtcbiAgICAgIHRoaXMuX3NldERhdGUoc2xvdC5kYXRlLmRhdGUpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiAgQGlnbm9yZVxuICAgKi9cbiAgcHJvdGVjdGVkIF9oYW5kbGVOYXZDbGljayhlOiBBWENsaWNrRXZlbnQgfCBhbnksIHZpZXc6IEFYQ2FsZW5kYXJWaWV3VHlwZSkge1xuICAgIHRoaXMuX25hdlVzZXJJbnRlcmFjdGlvbiA9IHRydWU7XG4gICAgdGhpcy5hY3RpdmVWaWV3ID0gdmlldztcbiAgICB0aGlzLl9uYXZVc2VySW50ZXJhY3Rpb24gPSBmYWxzZTtcbiAgfVxuXG4gIHB1YmxpYyB0b2dnbGVWaWV3KCkge1xuICAgIGlmICh0aGlzLmFjdGl2ZVZpZXcgPT0gJ2RheScpIHRoaXMuYWN0aXZlVmlldyA9ICdtb250aCc7XG4gICAgZWxzZSBpZiAodGhpcy5hY3RpdmVWaWV3ID09ICdtb250aCcpIHRoaXMuYWN0aXZlVmlldyA9ICd5ZWFyJztcbiAgfVxuXG4gIC8qKlxuICAgKiAgQGlnbm9yZVxuICAgKi9cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIGludGVybmFsT3B0aW9uQ2hhbmdlZChlOiBNWENvbXBvbmVudE9wdGlvbkNoYW5nZWQpIHtcbiAgICBpZiAoZS5uYW1lID09ICdkZXB0aCcgfHwgZS5uYW1lID09ICdhY3RpdmVWaWV3JyB8fCBlLm5hbWUgPT0gJ2Rpc2FibGVkRGF0ZXMnIHx8IGUubmFtZSA9PSAnaG9saWRheURhdGVzJykge1xuICAgICAgdGhpcy5yZW5kZXIoKTtcbiAgICB9XG4gICAgaWYgKGUubmFtZSA9PSAndHlwZScpIHtcbiAgICAgIHRoaXMuX3JlZnJlc2goKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogIEBpZ25vcmVcbiAgICovXG4gIHByb3RlY3RlZCBvdmVycmlkZSBpbnRlcm5hbFNldFZhbHVlKHZhbHVlOiBEYXRlKTogRGF0ZSB8IG51bGwge1xuICAgIGlmICghdmFsdWUpIHJldHVybiBudWxsO1xuICAgIGNvbnN0IHYgPSB0aGlzLmNhbGVuZGFyU2VydmljZS5jb252ZXJ0KHZhbHVlKTtcbiAgICBjb25zdCBpc0Rpc2FibGVkID0gdGhpcy5pc0Rpc2FibGVkKHYpO1xuICAgIGlmIChpc0Rpc2FibGVkKSByZXR1cm4gbnVsbDtcbiAgICBlbHNlIHJldHVybiB2LmRhdGU7XG4gIH1cblxuICAvKipcbiAgICogIEBpZ25vcmVcbiAgICovXG4gIHByb3RlY3RlZCBvdmVycmlkZSBpbnRlcm5hbFZhbHVlQ2hhbmdlZCh2YWx1ZT86IERhdGUpIHtcbiAgICBjb25zdCB2YWwgPSB0aGlzLmNhbGVuZGFyU2VydmljZS5jcmVhdGUodmFsdWUsIHRoaXMuY2FsZW5kYXIoKSk7XG4gICAgaWYgKFxuICAgICAgIXRoaXMuX3ZpZXdTdGFydERhdGUgfHxcbiAgICAgIHZhbC5jb21wYXJlKHRoaXMuZGlzcGxheVJhbmdlLnN0YXJ0VGltZSwgdGhpcy5hY3RpdmVWaWV3KSA9PSAtMSB8fFxuICAgICAgdmFsLmNvbXBhcmUodGhpcy5kaXNwbGF5UmFuZ2UuZW5kVGltZSwgdGhpcy5hY3RpdmVWaWV3KSA9PSAxXG4gICAgKSB7XG4gICAgICB0aGlzLl92aWV3U3RhcnREYXRlID0gdGhpcy5jYWxlbmRhclNlcnZpY2UuY3JlYXRlKHZhbHVlLCB0aGlzLmNhbGVuZGFyKCkpO1xuICAgIH1cbiAgICB0aGlzLl9mb290UHJpbnQueWVhciA9IHZhbC55ZWFyO1xuICAgIHRoaXMuX2Zvb3RQcmludC5tb250aCA9IHZhbC5tb250aE9mWWVhcjtcbiAgICB0aGlzLl9mb290UHJpbnQuZGF5ID0gdmFsLmRheU9mTW9udGg7XG5cbiAgICBpZiAoaXNQbGF0Zm9ybUJyb3dzZXIodGhpcy5wbGF0Zm9ybUlEKSkge1xuICAgICAgY29uc3QgY2FsZW5kYXJTbG90cyA9IEFycmF5LmZyb20odGhpcy5nZXRIb3N0RWxlbWVudCgpLnF1ZXJ5U2VsZWN0b3JBbGwoJy5heC1jYWxlbmRhci1zbG90JykpO1xuICAgICAgY29uc3Qgc2VsZWN0ZWRTbG90ID0gdGhpcy5nZXRIb3N0RWxlbWVudCgpLnF1ZXJ5U2VsZWN0b3IoJy5heC1zdGF0ZS1zZWxlY3RlZCcpO1xuICAgICAgaWYgKHNlbGVjdGVkU2xvdCkge1xuICAgICAgICBzZWxlY3RlZFNsb3QuY2xhc3NMaXN0LnJlbW92ZSgnYXgtc3RhdGUtc2VsZWN0ZWQnKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMucmVuZGVyKCk7XG4gICAgICB9XG4gICAgICBjYWxlbmRhclNsb3RzLmZvckVhY2goKGVsZW1lbnQpID0+IHtcbiAgICAgICAgZWxlbWVudCA9IGVsZW1lbnQgYXMgSFRNTEVsZW1lbnQ7XG4gICAgICAgIGlmIChlbGVtZW50LnRleHRDb250ZW50ID09IHRoaXMuX2Zvb3RQcmludC5kYXkpIHtcbiAgICAgICAgICBlbGVtZW50LmNsYXNzTGlzdC5hZGQoJ2F4LXN0YXRlLXNlbGVjdGVkJyk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH1cbiAgICBpZiAoXG4gICAgICAhdGhpcy5vbGRWYWx1ZSgpIHx8XG4gICAgICB0aGlzLm9sZFZhbHVlKCkuZ2V0TW9udGgoKSAhPT0gdmFsdWUuZ2V0TW9udGgoKSB8fFxuICAgICAgdGhpcy5vbGRWYWx1ZSgpLmdldEZ1bGxZZWFyKCkgIT09IHZhbHVlLmdldEZ1bGxZZWFyKClcbiAgICApIHtcbiAgICAgIHRoaXMucmVuZGVyKCk7XG4gICAgfVxuICAgIHRoaXMub2xkVmFsdWUuc2V0KHZhbHVlKTtcbiAgfVxuXG4gIC8qKlxuICAgKiAgQGlnbm9yZVxuICAgKi9cbiAgcHJvdGVjdGVkIF9oYW5kbGVHb1RvZGF5KCkge1xuICAgIHRoaXMuX25hdlVzZXJJbnRlcmFjdGlvbiA9IHRydWU7XG4gICAgdGhpcy5fc2V0RGF0ZSh0aGlzLl90b2RheS5kYXRlKTtcbiAgICB0aGlzLmdvVG9kYXkoKTtcbiAgICB0aGlzLl9uYXZVc2VySW50ZXJhY3Rpb24gPSBmYWxzZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBOYXZpZ2F0ZXMgdG8gdGhlIG5leHQgaXRlbS5cbiAgICogQGlnbm9yZVxuICAgKi9cbiAgbmV4dCgpIHtcbiAgICB0aGlzLl9uYXZOZXh0UHJldihmYWxzZSk7XG4gIH1cblxuICAvKipcbiAgICogTmF2aWdhdGVzIHRvIHRoZSBwcmV2aW91cyBpdGVtLlxuICAgKiBAaWdub3JlXG4gICAqL1xuICBwcmV2KCkge1xuICAgIHRoaXMuX25hdk5leHRQcmV2KHRydWUpO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldHMgZm9jdXMgdG8gdGhlIGN1cnJlbnRseSBzZWxlY3RlZCBjYWxlbmRhciBzbG90IG9yIHRoZSBmaXJzdCBhdmFpbGFibGUgc2xvdC5cbiAgICogQGlnbm9yZVxuICAgKi9cbiAgb3ZlcnJpZGUgZm9jdXMoKSB7XG4gICAgY29uc3QgZnVuYyA9IChzOiBzdHJpbmcpID0+IHRoaXMuZ2V0SG9zdEVsZW1lbnQoKS5xdWVyeVNlbGVjdG9yPEhUTUxEaXZFbGVtZW50PihzKTtcbiAgICBjb25zdCBkaXYgPSBmdW5jKCcuYXgtY2FsZW5kYXItc2xvdHM+ZGl2LmF4LXN0YXRlLXNlbGVjdGVkJykgfHwgZnVuYygnLmF4LWNhbGVuZGFyLXNsb3RzPmRpdicpO1xuICAgIGRpdj8uZm9jdXMoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiAgQGlnbm9yZVxuICAgKi9cbiAgcHJpdmF0ZSBfbmF2TmV4dFByZXYocHJldjogYm9vbGVhbikge1xuICAgIGNvbnN0IHNpZ24gPSBwcmV2ID8gLTEgOiAxO1xuICAgIGlmICh0aGlzLmFjdGl2ZVZpZXcgPT0gJ2RheScpIHRoaXMubmF2VG8odGhpcy5fdmlld1N0YXJ0RGF0ZS5hZGQoJ21vbnRoJywgc2lnbiAqIDEgKiB0aGlzLmNvdW50KSk7XG4gICAgZWxzZSBpZiAodGhpcy5hY3RpdmVWaWV3ID09ICdtb250aCcpIHRoaXMubmF2VG8odGhpcy5fdmlld1N0YXJ0RGF0ZS5hZGQoJ3llYXInLCBzaWduICogMSAqIHRoaXMuY291bnQpKTtcbiAgICBlbHNlIHRoaXMubmF2VG8odGhpcy5fdmlld1N0YXJ0RGF0ZS5hZGQoJ3llYXInLCBzaWduICogMTAgKiB0aGlzLmNvdW50KSk7XG4gIH1cblxuICAvKipcbiAgICogTmF2aWdhdGVzIHRvIHRoZSBjdXJyZW50IGRhdGUuXG4gICAqIEBpZ25vcmVcbiAgICovXG4gIGdvVG9kYXkoKSB7XG4gICAgdGhpcy5uYXZUbyh0aGlzLl90b2RheSk7XG4gIH1cblxuICAvKipcbiAgICogTmF2aWdhdGVzIHRvIGEgc3BlY2lmaWVkIGRhdGUgYW5kIHVwZGF0ZXMgdGhlIHZpZXcuXG4gICAqXG4gICAqIEBwYXJhbSBkYXRlIC0gVGhlIGRhdGUgdG8gbmF2aWdhdGUgdG8sIHdoaWNoIGNhbiBiZSBhIGBEYXRlYCBvYmplY3Qgb3IgYW4gYEFYRGF0ZVRpbWVgIGluc3RhbmNlLlxuICAgKiBAaWdub3JlXG4gICAqL1xuICBuYXZUbyhkYXRlOiBEYXRlIHwgQVhEYXRlVGltZSkge1xuICAgIGNvbnN0IHZhbCA9IHRoaXMuY2FsZW5kYXJTZXJ2aWNlLmNvbnZlcnQoZGF0ZSwgdGhpcy5jYWxlbmRhcigpKTtcbiAgICB0aGlzLl92aWV3U3RhcnREYXRlID0gdmFsLnN0YXJ0T2YoKTtcbiAgICB0aGlzLnJlbmRlcigpO1xuICAgIC8vdG8gbWFrZSBzdXJlIGl0cyByZW5kcmVkIGFuZCBkaXNwbGF5UmFuZ2UgaXMgbm90IG51bGxcbiAgICBpZiAodGhpcy52aWV3cy5sZW5ndGggPiAwKSB7XG4gICAgICBjb25zdCB2ciA9IHRoaXMuZGlzcGxheVJhbmdlO1xuICAgICAgdGhpcy5vbk5hdmlnYXRlLmVtaXQoe1xuICAgICAgICBjb21wb25lbnQ6IHRoaXMsXG4gICAgICAgIGlzVXNlckludGVyYWN0aW9uOiB0aGlzLl9uYXZVc2VySW50ZXJhY3Rpb24sXG4gICAgICAgIHN0YXJ0OiB2ci5zdGFydFRpbWU/LmRhdGUsXG4gICAgICAgIGVuZDogdnIuZW5kVGltZT8uZGF0ZSxcbiAgICAgICAgaHRtbEVsZW1lbnQ6IHRoaXMuZ2V0SG9zdEVsZW1lbnQoKSxcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiAgQGlnbm9yZVxuICAgKi9cbiAgQEhvc3RCaW5kaW5nKCdjbGFzcycpXG4gIHByaXZhdGUgZ2V0IF9faG9zdENsYXNzKCk6IHN0cmluZyB7XG4gICAgY29uc3QgX2NsYXNzZXMgPSB7XG4gICAgICAnYXgtc3RhdGUtZGlzYWJsZWQnOiB0aGlzLmRpc2FibGVkLFxuICAgICAgJ2F4LXN0YXRlLXJlYWRvbmx5JzogdGhpcy5yZWFkb25seSxcbiAgICB9O1xuICAgIHJldHVybiBPYmplY3QuZW50cmllcyhfY2xhc3NlcylcbiAgICAgIC5maWx0ZXIoKGMpID0+IGNbMV0pXG4gICAgICAubWFwKChjKSA9PiBjWzBdKVxuICAgICAgLmpvaW4oJyAnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiAgQGlnbm9yZVxuICAgKi9cbiAgcHJpdmF0ZSBfc2V0RGF0ZSh2YWx1ZTogRGF0ZSkge1xuICAgIGlmICh0aGlzLnJlYWRvbmx5IHx8IHRoaXMuZGlzYWJsZWQpIHJldHVybjtcbiAgICB0aGlzLmNvbW1pdFZhbHVlKHRoaXMuY2FsZW5kYXJTZXJ2aWNlLmNvbnZlcnQodmFsdWUsIHRoaXMuY2FsZW5kYXIoKSkuc3RhcnRPZigpLmRhdGUsIHRydWUpO1xuICB9XG5cbiAgLyoqXG4gICAqICBAaWdub3JlXG4gICAqL1xuICBwcm90ZWN0ZWQgaXNEaXNhYmxlZChkYXRlOiBBWERhdGVUaW1lKTogYm9vbGVhbiB7XG4gICAgaWYgKEFycmF5LmlzQXJyYXkodGhpcy5kaXNhYmxlZERhdGVzKSAmJiB0aGlzLmRpc2FibGVkRGF0ZXMubGVuZ3RoICE9IDApIHtcbiAgICAgIHJldHVybiB0aGlzLmRpc2FibGVkRGF0ZXMuc29tZSgoZCkgPT4gZGF0ZS5lcXVhbChkLCAnZGF5JykpO1xuICAgIH0gZWxzZSBpZiAodHlwZW9mIHRoaXMuZGlzYWJsZWREYXRlcyA9PSAnZnVuY3Rpb24nKSB7XG4gICAgICByZXR1cm4gdGhpcy5kaXNhYmxlZERhdGVzKGRhdGUuZGF0ZSk7XG4gICAgfVxuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIC8qKlxuICAgKiAgQGlnbm9yZVxuICAgKi9cbiAgcHJvdGVjdGVkIGlzSG9saWRheShkYXRlOiBBWERhdGVUaW1lKTogYm9vbGVhbiB7XG4gICAgY29uc3QgZ2ggPSB0aGlzLmNhbGVuZGFyU2VydmljZS5ob2xpZGF5cy5zb21lKChkKSA9PiBkYXRlLmVxdWFsKGQuZGF0ZSwgJ2RheScpKTtcbiAgICBsZXQgZGggPSB0aGlzLmNhbGVuZGFyU2VydmljZS5ob2xpZGF5cy5zb21lKChkKSA9PiBkYXRlLmVxdWFsKGQuZGF0ZSwgJ2RheScpKTtcbiAgICBpZiAoQXJyYXkuaXNBcnJheSh0aGlzLmhvbGlkYXlEYXRlcykgJiYgdGhpcy5ob2xpZGF5RGF0ZXMubGVuZ3RoICE9IDApIHtcbiAgICAgIGRoID0gdGhpcy5ob2xpZGF5RGF0ZXMuc29tZSgoZCkgPT4gZGF0ZS5lcXVhbChkLCAnZGF5JykpO1xuICAgIH0gZWxzZSBpZiAodHlwZW9mIHRoaXMuaG9saWRheURhdGVzID09ICdmdW5jdGlvbicpIHtcbiAgICAgIGRoID0gdGhpcy5ob2xpZGF5RGF0ZXMoZGF0ZS5kYXRlKTtcbiAgICB9XG4gICAgcmV0dXJuIGdoIHx8IGRoO1xuICB9XG5cbiAgLyoqXG4gICAqICBAaWdub3JlXG4gICAqL1xuICBwcm90ZWN0ZWQgaXNXZWVrZW5kKGRhdGU6IEFYRGF0ZVRpbWUpOiBib29sZWFuIHtcbiAgICBjb25zdCB3ZWVrZW5kID0gdGhpcy5jYWxlbmRhclNlcnZpY2UucmVzb2x2ZUNhbGVuZGFyKHRoaXMuY2FsZW5kYXIoKSkud2Vla2VuZDtcbiAgICByZXR1cm4gd2Vla2VuZC5pbmNsdWRlcyhkYXRlLmRheU9mV2VlayAtIDEpO1xuICB9XG5cbiAgLyoqXG4gICAqICBAaWdub3JlXG4gICAqL1xuICBASG9zdExpc3RlbmVyKCdrZXlkb3duJywgWyckZXZlbnQnXSlcbiAgX2hhbmRsZU9uS2V5ZG93bkV2ZW50KGU6IEtleWJvYXJkRXZlbnQpIHtcbiAgICAvL1RPRE86IGNvbXBsZXRlIGtleWJvYWQgbmF2aWdhdGlvblxuICAgIGNvbnN0IGlnbm9yZSA9ICgpID0+IHtcbiAgICAgIGUucHJldmVudERlZmF1bHQoKTtcbiAgICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgfTtcbiAgICBpZiAoZS5jb2RlID09PSAnQXJyb3dSaWdodCcgfHwgZS5jb2RlID09PSAnQXJyb3dMZWZ0Jykge1xuICAgICAgaWYgKGUuY3RybEtleSkge1xuICAgICAgICBlLmNvZGUgPT09ICdBcnJvd1JpZ2h0JyA/IHRoaXMubmV4dCgpIDogdGhpcy5wcmV2KCk7XG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgIHRoaXMuZm9jdXMoKTtcbiAgICAgICAgfSwgNTApO1xuICAgICAgfVxuICAgICAgaWdub3JlKCk7XG4gICAgfSBlbHNlIGlmIChlLmNvZGUgPT09ICdBcnJvd1VwJyB8fCBlLmNvZGUgPT09ICdBcnJvd0Rvd24nKSB7XG4gICAgICBpZiAoZS5jdHJsS2V5KSB7XG4gICAgICAgIGUuY29kZSA9PT0gJ0Fycm93VXAnID8gdGhpcy5uZXh0KCkgOiB0aGlzLnByZXYoKTtcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgdGhpcy5mb2N1cygpO1xuICAgICAgICB9LCA1MCk7XG4gICAgICB9XG4gICAgICBpZ25vcmUoKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogIEBpZ25vcmVcbiAgICovXG4gIHByb3RlY3RlZCBnZXRNb250aE5hbWUoZGF0ZTogQVhEYXRlVGltZSwgc3R5bGU6ICdzaG9ydCcgfCAnbG9uZycpIHtcbiAgICByZXR1cm4gYGRhdGVUaW1lLm1vbnRocy4ke2RhdGUuY2FsZW5kYXIubmFtZSgpfS4ke3N0eWxlfS4ke2RhdGUubW9udGhPZlllYXIgLSAxfWA7XG4gIH1cbn1cbiIsIjxuZy1jb250ZW50IHNlbGVjdD1cImF4LWhlYWRlclwiPjwvbmctY29udGVudD5cbjxkaXYgY2xhc3M9XCJheC1jYWxlbmRhci1ib2R5XCI+XG4gIEBmb3IgKHYgb2Ygdmlld3M7IGxldCBpID0gJGluZGV4LCBmaXJzdCA9ICRmaXJzdCwgbGFzdCA9ICRsYXN0OyB0cmFjayBpKSB7XG4gICAgQHN3aXRjaCAoYWN0aXZlVmlldykge1xuICAgICAgQGNhc2UgKCd5ZWFyJykge1xuICAgICAgICBAaWYgKHNob3dOYXZpZ2F0aW9uKSB7XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImF4LWNhbGVuZGFyLXZpZXctaGVhZGVyXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYXgtY2FsZW5kYXItaGVhZGVyLWluZm9cIj5cbiAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgIFthdHRyLmRpc2FibGVkXT1cImRpc2FibGVkID8gJycgOiBudWxsXCJcbiAgICAgICAgICAgICAgICBbYXR0ci5yZWFkb25seV09XCJyZWFkb25seSA/ICcnIDogbnVsbFwiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJheC1nZW5lcmFsLWJ1dHRvbiBheC1idXR0b24tcm91bmRlZCBheC1zdGF0ZS1kaXNhYmxlZFwiXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cIl9oYW5kbGVOYXZDbGljaygkZXZlbnQsICd5ZWFyJylcIlxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAge3sgdi5yYW5nZS5zdGFydFRpbWUgfCBmb3JtYXQ6ICdkYXRlJyA6IHsgY2FsZW5kYXI6IGNhbGVuZGFyKCksIGZvcm1hdDogJ1lZWVknIH0gfCBhc3luYyB9fSAtXG4gICAgICAgICAgICAgICAge3sgdi5yYW5nZS5lbmRUaW1lIHwgZm9ybWF0OiAnZGF0ZScgOiB7IGNhbGVuZGFyOiBjYWxlbmRhcigpLCBmb3JtYXQ6ICdZWVlZJyB9IHwgYXN5bmMgfX1cbiAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIEBpZiAobGFzdCkge1xuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYXgtY2FsZW5kYXItaGVhZGVyLWJ1dHRvbnNcIj5cbiAgICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICAgIFthdHRyLmRpc2FibGVkXT1cImRpc2FibGVkID8gJycgOiBudWxsXCJcbiAgICAgICAgICAgICAgICAgIFthdHRyLnJlYWRvbmx5XT1cInJlYWRvbmx5ID8gJycgOiBudWxsXCJcbiAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYXgtZ2VuZXJhbC1idXR0b24gYXgtYnV0dG9uLXJvdW5kZWQgYXgtYnV0dG9uLWljb24gYXgtbmV4dFwiXG4gICAgICAgICAgICAgICAgICAoY2xpY2spPVwiX2hhbmRsZVByZXZDbGljaygpXCJcbiAgICAgICAgICAgICAgICAgIFt0aXRsZV09XCIncHJldicgfCB0cmFuc2xhdGUgfCBhc3luY1wiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJheC1pY29uIGF4LWljb24tY2hldnJvbi1sZWZ0XCI+PC9pPlxuICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgICAgW2F0dHIuZGlzYWJsZWRdPVwiZGlzYWJsZWQgPyAnJyA6IG51bGxcIlxuICAgICAgICAgICAgICAgICAgW2F0dHIucmVhZG9ubHldPVwicmVhZG9ubHkgPyAnJyA6IG51bGxcIlxuICAgICAgICAgICAgICAgICAgY2xhc3M9XCJheC1nZW5lcmFsLWJ1dHRvbiBheC1idXR0b24tcm91bmRlZCBheC1idXR0b24taWNvblwiXG4gICAgICAgICAgICAgICAgICAoY2xpY2spPVwiX2hhbmRsZU5leHRDbGljaygpXCJcbiAgICAgICAgICAgICAgICAgIFt0aXRsZV09XCInbmV4dCcgfCB0cmFuc2xhdGUgfCBhc3luY1wiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJheC1pY29uIGF4LWljb24tY2hldnJvbi1yaWdodFwiPjwvaT5cbiAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICB9XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIH1cbiAgICAgICAgPGRpdiBjbGFzcz1cImF4LWNhbGVuZGFyLXNsb3RzIGF4LWNhbGVuZGFyLXNsb3RzLXllYXJcIiBbbmdDbGFzc109XCJ7ICdheC1kZWZhdWx0JzogIXllYXJDZWxsVGVtcGxhdGUgfVwiPlxuICAgICAgICAgIEBmb3IgKHNsb3Qgb2Ygdi5zbG90czsgdHJhY2sgc2xvdC50ZXh0KSB7XG4gICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgIHRhYmluZGV4PVwiMFwiXG4gICAgICAgICAgICAgIGNsYXNzPVwiYXgtY2FsZW5kYXItc2xvdFwiXG4gICAgICAgICAgICAgIFtjbGFzcy5heC1zdGF0ZS1kaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgICAgICAgICAgIFtuZ0NsYXNzXT1cInNsb3QuY3NzQ2xhc3NcIlxuICAgICAgICAgICAgICAoY2xpY2spPVwiX2hhbmRsZVNsb3RDbGljaygkZXZlbnQsIHNsb3QpXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgQGlmICh5ZWFyQ2VsbFRlbXBsYXRlKSB7XG4gICAgICAgICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwieWVhckNlbGxUZW1wbGF0ZVwiXG4gICAgICAgICAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7ICRpbXBsaWNpdDogeyBzbG90OiBzbG90IH0gfVwiXG4gICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgICAgICAgIHt7IHNsb3QudGV4dCB9fVxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICB9XG4gICAgICAgIDwvZGl2PlxuICAgICAgfVxuICAgICAgQGNhc2UgKCdtb250aCcpIHtcbiAgICAgICAgQGlmIChzaG93TmF2aWdhdGlvbikge1xuICAgICAgICAgIDxkaXYgY2xhc3M9XCJheC1jYWxlbmRhci12aWV3LWhlYWRlclwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImF4LWNhbGVuZGFyLWhlYWRlci1pbmZvXCI+XG4gICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICBbYXR0ci5kaXNhYmxlZF09XCJkaXNhYmxlZCA/ICcnIDogbnVsbFwiXG4gICAgICAgICAgICAgICAgW2F0dHIucmVhZG9ubHldPVwicmVhZG9ubHkgPyAnJyA6IG51bGxcIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwiYXgtZ2VuZXJhbC1idXR0b24gYXgtYnV0dG9uLXJvdW5kZWRcIlxuICAgICAgICAgICAgICAgIChjbGljayk9XCJfaGFuZGxlTmF2Q2xpY2soJGV2ZW50LCAneWVhcicpXCJcbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIHt7IHYucmFuZ2Uuc3RhcnRUaW1lIHwgZm9ybWF0OiAnZGF0ZScgOiB7IGNhbGVuZGFyOiBjYWxlbmRhcigpLCBmb3JtYXQ6ICdZWVlZJyB9IHwgYXN5bmMgfX1cbiAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIEBpZiAobGFzdCkge1xuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYXgtY2FsZW5kYXItaGVhZGVyLWJ1dHRvbnNcIj5cbiAgICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICAgIFthdHRyLmRpc2FibGVkXT1cImRpc2FibGVkID8gJycgOiBudWxsXCJcbiAgICAgICAgICAgICAgICAgIFthdHRyLnJlYWRvbmx5XT1cInJlYWRvbmx5ID8gJycgOiBudWxsXCJcbiAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYXgtZ2VuZXJhbC1idXR0b24gYXgtYnV0dG9uLXJvdW5kZWQgYXgtYnV0dG9uLWljb25cIlxuICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIl9oYW5kbGVQcmV2Q2xpY2soKVwiXG4gICAgICAgICAgICAgICAgICBbdGl0bGVdPVwiJ3ByZXYnIHwgdHJhbnNsYXRlIHwgYXN5bmNcIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwiYXgtaWNvbiBheC1pY29uLWNoZXZyb24tbGVmdFwiPjwvaT5cbiAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICAgIFthdHRyLmRpc2FibGVkXT1cImRpc2FibGVkID8gJycgOiBudWxsXCJcbiAgICAgICAgICAgICAgICAgIFthdHRyLnJlYWRvbmx5XT1cInJlYWRvbmx5ID8gJycgOiBudWxsXCJcbiAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYXgtZ2VuZXJhbC1idXR0b24gYXgtYnV0dG9uLXJvdW5kZWQgYXgtYnV0dG9uLWljb25cIlxuICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIl9oYW5kbGVOZXh0Q2xpY2soKVwiXG4gICAgICAgICAgICAgICAgICBbdGl0bGVdPVwiJ25leHQnIHwgdHJhbnNsYXRlIHwgYXN5bmNcIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwiYXgtaWNvbiBheC1pY29uLWNoZXZyb24tcmlnaHRcIj48L2k+XG4gICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgfVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICB9XG5cbiAgICAgICAgPGRpdiBjbGFzcz1cImF4LWNhbGVuZGFyLXNsb3RzIGF4LWNhbGVuZGFyLXNsb3RzLW1vbnRoXCIgW25nQ2xhc3NdPVwieyAnYXgtZGVmYXVsdCc6ICFtb250aENlbGxUZW1wbGF0ZSB9XCI+XG4gICAgICAgICAgQGZvciAoc2xvdCBvZiB2LnNsb3RzOyB0cmFjayBzbG90KSB7XG4gICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgIHRhYmluZGV4PVwiMFwiXG4gICAgICAgICAgICAgIGNsYXNzPVwiYXgtY2FsZW5kYXItc2xvdFwiXG4gICAgICAgICAgICAgIFtjbGFzcy5heC1zdGF0ZS1kaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgICAgICAgICAgIFtuZ0NsYXNzXT1cInNsb3QuY3NzQ2xhc3NcIlxuICAgICAgICAgICAgICAoY2xpY2spPVwiX2hhbmRsZVNsb3RDbGljaygkZXZlbnQsIHNsb3QpXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgQGlmIChtb250aENlbGxUZW1wbGF0ZSkge1xuICAgICAgICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cIm1vbnRoQ2VsbFRlbXBsYXRlXCJcbiAgICAgICAgICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInsgJGltcGxpY2l0OiB7IHNsb3Q6IHNsb3QgfSB9XCJcbiAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgICAgICA8ZGl2IFt0aXRsZV09XCJzbG90LmRhdGUgfCBmb3JtYXQ6ICdkYXRlJyA6IHsgY2FsZW5kYXI6IGNhbGVuZGFyKCksIGZvcm1hdDogJ01NTU0gWVlZWScgfSB8IGFzeW5jXCI+XG4gICAgICAgICAgICAgICAgICB7eyBnZXRNb250aE5hbWUoc2xvdC5kYXRlLCAnc2hvcnQnKSB8IHRyYW5zbGF0ZSB8IGFzeW5jIH19XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgIH1cbiAgICAgICAgPC9kaXY+XG4gICAgICB9XG4gICAgICBAZGVmYXVsdCB7XG4gICAgICAgIEBpZiAoc2hvd05hdmlnYXRpb24pIHtcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiYXgtY2FsZW5kYXItdmlldy1oZWFkZXJcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJheC1jYWxlbmRhci1oZWFkZXItaW5mb1wiPlxuICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgW2F0dHIuZGlzYWJsZWRdPVwiZGlzYWJsZWQgPyAnJyA6IG51bGxcIlxuICAgICAgICAgICAgICAgIFthdHRyLnJlYWRvbmx5XT1cInJlYWRvbmx5ID8gJycgOiBudWxsXCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImF4LWdlbmVyYWwtYnV0dG9uIGF4LWJ1dHRvbi1yb3VuZGVkXCJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwiX2hhbmRsZU5hdkNsaWNrKCRldmVudCwgJ3llYXInKVwiXG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICB7eyB2LnJhbmdlLnN0YXJ0VGltZSB8IGZvcm1hdDogJ2RhdGUnIDogeyBjYWxlbmRhcjogY2FsZW5kYXIoKSwgZm9ybWF0OiAnWVlZWScgfSB8IGFzeW5jIH19XG4gICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgW2F0dHIuZGlzYWJsZWRdPVwiZGlzYWJsZWQgPyAnJyA6IG51bGxcIlxuICAgICAgICAgICAgICAgIFthdHRyLnJlYWRvbmx5XT1cInJlYWRvbmx5ID8gJycgOiBudWxsXCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImF4LWdlbmVyYWwtYnV0dG9uIGF4LWJ1dHRvbi1yb3VuZGVkXCJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwiX2hhbmRsZU5hdkNsaWNrKCRldmVudCwgJ21vbnRoJylcIlxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPCEtLSB7eyBnZXRNb250aE5hbWUodi5yYW5nZS5zdGFydFRpbWUsICdsb25nJykgfCB0cmFuc2xhdGUgfCBhc3luYyB9fSAtLT5cbiAgICAgICAgICAgICAgICB7eyB2LnJhbmdlLnN0YXJ0VGltZSB8IGZvcm1hdDogJ2RhdGUnIDogeyBjYWxlbmRhcjogY2FsZW5kYXIoKSwgZm9ybWF0OiAnTU1NTScgfSB8IGFzeW5jIH19XG4gICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICBAaWYgKGxhc3QpIHtcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImF4LWNhbGVuZGFyLWhlYWRlci1idXR0b25zXCI+XG4gICAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgICBbYXR0ci5kaXNhYmxlZF09XCJkaXNhYmxlZCA/ICcnIDogbnVsbFwiXG4gICAgICAgICAgICAgICAgICBbYXR0ci5yZWFkb25seV09XCJyZWFkb25seSA/ICcnIDogbnVsbFwiXG4gICAgICAgICAgICAgICAgICBjbGFzcz1cImF4LWdlbmVyYWwtYnV0dG9uIGF4LWJ1dHRvbi1yb3VuZGVkIGF4LWJ1dHRvbi1pY29uXCJcbiAgICAgICAgICAgICAgICAgIChjbGljayk9XCJfaGFuZGxlUHJldkNsaWNrKClcIlxuICAgICAgICAgICAgICAgICAgW3RpdGxlXT1cIidwcmV2JyB8IHRyYW5zbGF0ZSB8IGFzeW5jXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICA8aSBjbGFzcz1cImF4LWljb24gYXgtaWNvbi1jaGV2cm9uLWxlZnRcIj48L2k+XG4gICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgICBbYXR0ci5kaXNhYmxlZF09XCJkaXNhYmxlZCA/ICcnIDogbnVsbFwiXG4gICAgICAgICAgICAgICAgICBbYXR0ci5yZWFkb25seV09XCJyZWFkb25seSA/ICcnIDogbnVsbFwiXG4gICAgICAgICAgICAgICAgICBjbGFzcz1cImF4LWdlbmVyYWwtYnV0dG9uIGF4LWJ1dHRvbi1yb3VuZGVkIGF4LWJ1dHRvbi1pY29uXCJcbiAgICAgICAgICAgICAgICAgIChjbGljayk9XCJfaGFuZGxlTmV4dENsaWNrKClcIlxuICAgICAgICAgICAgICAgICAgW3RpdGxlXT1cIiduZXh0JyB8IHRyYW5zbGF0ZSB8IGFzeW5jXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICA8aSBjbGFzcz1cImF4LWljb24gYXgtaWNvbi1jaGV2cm9uLXJpZ2h0XCI+PC9pPlxuICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgfVxuICAgICAgICA8ZGl2IGNsYXNzPVwiYXgtY2FsZW5kYXItd2Vla1wiPlxuICAgICAgICAgIEBmb3IgKGQgb2YgX3dlZWtkYXlzOyB0cmFjayBkKSB7XG4gICAgICAgICAgICA8ZGl2Pnt7ICdkYXRlVGltZS53ZWVrZGF5cy5zaG9ydC4nICsgZCB8IHRyYW5zbGF0ZSB8IGFzeW5jIH19PC9kaXY+XG4gICAgICAgICAgfVxuICAgICAgICA8L2Rpdj5cblxuICAgICAgICA8ZGl2IGNsYXNzPVwiYXgtY2FsZW5kYXItc2xvdHMgYXgtY2FsZW5kYXItc2xvdHMtZGF5XCIgW25nQ2xhc3NdPVwieyAnYXgtZGVmYXVsdCc6ICFkYXlDZWxsVGVtcGxhdGUgfVwiPlxuICAgICAgICAgIEBmb3IgKHNsb3Qgb2Ygdi5zbG90czsgdHJhY2sgc2xvdCkge1xuICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICB0YWJpbmRleD1cIjBcIlxuICAgICAgICAgICAgICBjbGFzcz1cImF4LWNhbGVuZGFyLXNsb3RcIlxuICAgICAgICAgICAgICBbbmdDbGFzc109XCJzbG90LmNzc0NsYXNzXCJcbiAgICAgICAgICAgICAgW2NsYXNzLmF4LXN0YXRlLWRpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAgICAgICAgICAgKGNsaWNrKT1cIl9oYW5kbGVTbG90Q2xpY2soJGV2ZW50LCBzbG90KVwiXG4gICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgICAgICAgICAgIFtheFJpcHBsZV1cbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgQGlmIChkYXlDZWxsVGVtcGxhdGUpIHtcbiAgICAgICAgICAgICAgICA8ZGl2PlxuICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJkYXlDZWxsVGVtcGxhdGVcIlxuICAgICAgICAgICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyAkaW1wbGljaXQ6IHsgc2xvdDogc2xvdCB9IH1cIlxuICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgICAgIDxkaXYgW3RpdGxlXT1cInNsb3QuZGF0ZSB8IGZvcm1hdDogJ2RhdGUnIDogeyBjYWxlbmRhcjogY2FsZW5kYXIoKSwgZm9ybWF0OiAnbG9uZycgfSB8IGFzeW5jXCI+XG4gICAgICAgICAgICAgICAgICB7eyBzbG90LnRleHQgfX1cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgfVxuICAgICAgICA8L2Rpdj5cbiAgICAgIH1cbiAgICB9XG4gIH1cbjwvZGl2PlxuPG5nLWNvbnRlbnQgc2VsZWN0PVwiYXgtZm9vdGVyXCI+PC9uZy1jb250ZW50PlxuIl19","import { AXComponent, AXValuableComponent, MXInteractiveComponent, MXValueComponent, } from '@acorex/cdk/common';\nimport { AXCalendarService } from '@acorex/core/date-time';\nimport { AXFormatService } from '@acorex/core/format';\nimport { AXUnsubscriber } from '@acorex/core/utils';\nimport { Component, ViewChild, ViewEncapsulation, forwardRef, inject, linkedSignal, } from '@angular/core';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { classes } from 'polytype';\nimport { MXCalendarBaseComponent } from './calendar.class';\nimport { AXCalendarComponent } from './calendar.component';\nimport * as i0 from \"@angular/core\";\nexport class AXCalendarRangeComponent extends classes((MXValueComponent), MXInteractiveComponent, MXCalendarBaseComponent) {\n /**\n * @ignore\n */\n constructor() {\n super();\n this.formatService = inject(AXFormatService);\n this.unsubscriber = inject(AXUnsubscriber);\n this.calendar = linkedSignal(() => this.type ?? this.localeService.activeProfile().calendar.system);\n /**\n * @ignore\n */\n this._calendarService = inject(AXCalendarService);\n this._navText = '';\n /** w\n * @ignore\n */\n this.getCellClass = (date) => {\n //const d = this._calendarService.create(date, this.type);\n // check from value\n if (!this._calendarService.isValidDate(this.value.from)) {\n return null;\n }\n const from = this._calendarService.create(this.value.from, this.type);\n if (this.value.from && date.equal(from, 'day')) {\n return 'ax-range-start';\n }\n // check end value\n if (!this._calendarService.isValidDate(this.value.end)) {\n return null;\n }\n const end = this._calendarService.create(this.value.end, this.type);\n if (this.value.end && date.equal(end, 'day'))\n return 'ax-range-end';\n if (this.value.from && this.value.end && date.compare(from, 'day') > 0 && date.compare(end, 'day') < 0)\n return 'ax-range-between';\n return null;\n };\n this.defaultValue = { from: null, end: null };\n this.calendarService.calendarChanges$.pipe(this.unsubscriber.takeUntilDestroy).subscribe((value) => {\n if (!this.type)\n this.calendar.set(value.name());\n this.render();\n });\n }\n /**\n * @ignore\n */\n ngOnInit() {\n super.ngOnInit();\n }\n /**\n * @ignore\n */\n ngAfterViewInit() {\n this._syncNav1();\n }\n internalValueChanged(value) {\n this._c1.render();\n this._c2.render();\n }\n /**\n * @ignore\n */\n handleSlotClick(e) {\n if (this._c1.activeView == this.depth) {\n if (!this.value.from || (this.value.from && this.value.end)) {\n this.commitValue({ from: e.item, end: null }, true);\n }\n if (this.value.from && e.item <= this.value.from) {\n this.commitValue({ from: e.item, end: this.value.end }, true);\n }\n else if (this.value.from && !this.value.end) {\n this.commitValue({ from: this.value.from, end: e.item }, true);\n }\n }\n else {\n if (e.component == this._c1) {\n this._syncNav1();\n }\n if (e.component == this._c2) {\n this._syncNav2(this._calendarService.create(e.item, this.type));\n }\n }\n this._c1.render();\n this._c2.render();\n }\n /**\n * @ignore\n */\n handlePrevClick() {\n const view = this._c1.activeView;\n const d1 = this._c1.displayRange.startTime;\n if (view == 'day' || view == 'month') {\n this._c1.prev();\n }\n else if (view == 'year') {\n this._c1.navTo(d1.add('year', -20));\n }\n }\n /**\n * @ignore\n */\n handleNextClick() {\n const view = this._c1.activeView;\n const d1 = this._c1.displayRange.startTime;\n if (view == 'day' || view == 'month') {\n this._c1.next();\n }\n else if (view == 'year') {\n this._c1.navTo(d1.add('year', 20));\n }\n }\n /**\n * @ignore\n */\n handleNavClick() {\n this._c1.toggleView();\n }\n /**\n * @ignore\n */\n _syncNavText() {\n const view = this._c1.activeView;\n const d1 = this._c1.displayRange.startTime;\n if (view == 'day') {\n const d2 = this._c2.displayRange.endTime;\n this._navText = `${this.formatService.format(d1, 'datetime', { format: 'MMM yyyy' })} - ${this.formatService.format(d2, 'datetime', { format: 'MMM yyyy' })}`;\n }\n else if (view == 'month' || view == 'year') {\n const d2 = this._c2.displayRange.endTime;\n this._navText = `${this.formatService.format(d1, 'datetime', { format: 'yyyy' })} - ${this.formatService.format(d2, 'datetime', { format: 'yyyy' })}`;\n }\n }\n /**\n * @ignore\n */\n handleNavigate() {\n this._syncNav1();\n }\n /**\n * @ignore\n */\n handleActiveViewChange1() {\n this._c2.activeView = this._c1.activeView;\n this._syncNav1();\n }\n /**\n * @ignore\n */\n handleActiveViewChange2() {\n if (this._c2.activeView != this._c1.activeView) {\n this._c1.activeView = this._c2.activeView;\n }\n }\n /**\n * @ignore\n */\n _syncNav1() {\n const view = (this._c2.activeView = this._c1.activeView);\n const range = this._c1.displayRange;\n if (view == 'day') {\n this._c2.navTo(range.startTime.add('month', 1));\n }\n else if (view == 'month') {\n this._c2.navTo(range.startTime.add('year', 1));\n }\n else if (view == 'year') {\n this._c2.navTo(range.endTime.add('year', 4));\n }\n this._syncNavText();\n }\n /**\n * @ignore\n */\n _syncNav2(e) {\n const view = this._c2.activeView;\n if (view == 'month') {\n this._c1.navTo(e.add('month', -1));\n }\n else if (view == 'year') {\n this._c1.navTo(e.startOf('year'));\n }\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.3\", ngImport: i0, type: AXCalendarRangeComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"14.0.0\", version: \"20.0.3\", type: AXCalendarRangeComponent, isStandalone: true, selector: \"ax-calendar-range\", inputs: { rtl: \"rtl\", readonly: \"readonly\", value: \"value\", name: \"name\", disabled: \"disabled\", depth: \"depth\", activeView: \"activeView\", minValue: \"minValue\", maxValue: \"maxValue\", disabledDates: \"disabledDates\", holidayDates: \"holidayDates\", type: \"type\", cellTemplate: \"cellTemplate\", cellClass: \"cellClass\", showNavigation: \"showNavigation\" }, outputs: { onOptionChanged: \"onOptionChanged\", valueChange: \"valueChange\", onValueChanged: \"onValueChanged\", onBlur: \"onBlur\", onFocus: \"onFocus\", depthChange: \"depthChange\", typeChange: \"typeChange\", activeViewChange: \"activeViewChange\", disabledDatesChange: \"disabledDatesChange\", holidayDatesChange: \"holidayDatesChange\", onNavigate: \"onNavigate\", onSlotClick: \"onSlotClick\" }, providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => AXCalendarRangeComponent),\n multi: true,\n },\n {\n provide: AXValuableComponent,\n useExisting: AXCalendarRangeComponent,\n },\n AXUnsubscriber,\n { provide: AXComponent, useExisting: AXCalendarRangeComponent },\n ], viewQueries: [{ propertyName: \"_c1\", first: true, predicate: [\"c1\"], descendants: true, static: true }, { propertyName: \"_c2\", first: true, predicate: [\"c2\"], descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: \"<div class=\\\"ax-calendar-range-header\\\">\\n <ng-content></ng-content>\\n <div class=\\\"ax-calendar-header-range-info\\\">\\n <button type=\\\"button\\\" [attr.disabled]=\\\"disabled ? '' : null\\\" class=\\\"ax-general-button\\\" (click)=\\\"handleNavClick()\\\">\\n {{ _navText }}\\n </button>\\n </div>\\n <div class=\\\"ax-calendar-header-range-buttons\\\">\\n <button\\n type=\\\"button\\\"\\n [attr.disabled]=\\\"disabled ? '' : null\\\"\\n class=\\\"ax-general-button ax-button-icon\\\"\\n (click)=\\\"handlePrevClick()\\\"\\n >\\n <i class=\\\"ax-icon ax-icon-chevron-left\\\"></i>\\n </button>\\n <button\\n type=\\\"button\\\"\\n [attr.disabled]=\\\"disabled ? '' : null\\\"\\n class=\\\"ax-general-button ax-button-icon\\\"\\n (click)=\\\"handleNextClick()\\\"\\n >\\n <i class=\\\"ax-icon ax-icon-chevron-right\\\"></i>\\n </button>\\n </div>\\n</div>\\n<div class=\\\"ax-calendar-range-body\\\">\\n <ax-calendar\\n #c1\\n [showNavigation]=\\\"false\\\"\\n [readonly]=\\\"true\\\"\\n [cellClass]=\\\"getCellClass\\\"\\n [type]=\\\"type\\\"\\n [cellTemplate]=\\\"cellTemplate\\\"\\n [minValue]=\\\"minValue\\\"\\n [maxValue]=\\\"maxValue\\\"\\n [depth]=\\\"depth\\\"\\n (onSlotClick)=\\\"handleSlotClick($event)\\\"\\n (onNavigate)=\\\"handleNavigate()\\\"\\n (activeViewChange)=\\\"handleActiveViewChange1()\\\"\\n >\\n </ax-calendar>\\n <ax-calendar\\n #c2\\n [showNavigation]=\\\"false\\\"\\n [readonly]=\\\"true\\\"\\n [cellClass]=\\\"getCellClass\\\"\\n [type]=\\\"type\\\"\\n [cellTemplate]=\\\"cellTemplate\\\"\\n [minValue]=\\\"minValue\\\"\\n [maxValue]=\\\"maxValue\\\"\\n [depth]=\\\"depth\\\"\\n (onSlotClick)=\\\"handleSlotClick($event)\\\"\\n (activeViewChange)=\\\"handleActiveViewChange2()\\\"\\n >\\n </ax-calendar>\\n</div>\\n\", styles: [\"ax-calendar-range{--ax-comp-calendar-range-text-color: var(--ax-sys-color-on-lightest-surface);--ax-comp-calendar-slot-range-text-color: var(--ax-sys-color-on-primary-surface);--ax-comp-calendar-slot-range-between-bg-color: var(--ax-sys-color-primary-surface), .5;--ax-comp-calendar-slot-range-start-end-bg-color: var(--ax-sys-color-primary-surface)}.ax-dark ax-calendar-range{--ax-comp-calendar-range-text-color: var(--ax-sys-color-on-darkest-surface)}html[dir=rtl] ax-calendar-range .ax-calendar-header-range-buttons .ax-icon{-moz-transform:scale(-1,1);-o-transform:scale(-1,1);-webkit-transform:scale(-1,1);transform:scaleX(-1)}ax-calendar-range{display:block;padding:.5rem;color:rgb(var(--ax-comp-calendar-range-text-color));background-color:rgba(var(--ax-comp-calendar-range-bg-color))}ax-calendar-range .ax-calendar-range-header{display:flex;justify-content:space-between;padding-top:var(--ax-comp-calendar-range-header-padding-t, .25rem);padding-left:var(--ax-comp-calendar-range-header-padding-x, .25rem);padding-right:var(--ax-comp-calendar-range-header-padding-x, .25rem)}ax-calendar-range .ax-calendar-range-header .ax-calendar-header-range-info{font-weight:500}ax-calendar-range .ax-calendar-range-header .ax-calendar-header-range-buttons{display:flex}ax-calendar-range .ax-calendar-range-body{display:flex;flex-direction:row}@media (min-width: 320px) and (max-width: 640px){ax-calendar-range .ax-calendar-range-body{flex-direction:column}}ax-calendar-range ax-calendar{margin:0;padding:0}ax-calendar-range ax-calendar .ax-calendar-body{margin-top:0;padding-top:0}ax-calendar-range ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-range-between{color:rgba(var(--ax-comp-calendar-slot-range-text-color));background-color:rgba(var(--ax-comp-calendar-slot-range-between-bg-color))}ax-calendar-range ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-range-start,ax-calendar-range ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-range-end{color:rgba(var(--ax-comp-calendar-slot-range-text-color));background-color:rgba(var(--ax-comp-calendar-slot-range-start-end-bg-color))}@media (min-width: 768px){ax-calendar-range ax-calendar .ax-calendar-body>div{width:100%!important}}\\n\"], dependencies: [{ kind: \"component\", type: AXCalendarComponent, selector: \"ax-calendar\", inputs: [\"rtl\", \"readonly\", \"value\", \"name\", \"disabled\", \"depth\", \"activeView\", \"minValue\", \"maxValue\", \"disabledDates\", \"holidayDates\", \"type\", \"cellTemplate\", \"cellClass\", \"showNavigation\", \"count\", \"id\"], outputs: [\"onOptionChanged\", \"valueChange\", \"onValueChanged\", \"minValueChange\", \"maxValueChange\", \"onBlur\", \"onFocus\", \"depthChange\", \"typeChange\", \"activeViewChange\", \"disabledDatesChange\", \"holidayDatesChange\", \"onNavigate\", \"onSlotClick\", \"countChange\"] }], encapsulation: i0.ViewEncapsulation.None }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.3\", ngImport: i0, type: AXCalendarRangeComponent, decorators: [{\n type: Component,\n args: [{ selector: 'ax-calendar-range', encapsulation: ViewEncapsulation.None, inputs: [\n 'rtl',\n 'readonly',\n 'value',\n 'name',\n 'disabled',\n 'depth',\n 'activeView',\n 'minValue',\n 'maxValue',\n 'disabledDates',\n 'holidayDates',\n 'type',\n 'cellTemplate',\n 'cellClass',\n 'showNavigation',\n ], outputs: [\n 'onOptionChanged',\n 'valueChange',\n 'onValueChanged',\n 'onBlur',\n 'onFocus',\n 'depthChange',\n 'typeChange',\n 'activeViewChange',\n 'disabledDatesChange',\n 'holidayDatesChange',\n 'onNavigate',\n 'onSlotClick',\n ], providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => AXCalendarRangeComponent),\n multi: true,\n },\n {\n provide: AXValuableComponent,\n useExisting: AXCalendarRangeComponent,\n },\n AXUnsubscriber,\n { provide: AXComponent, useExisting: AXCalendarRangeComponent },\n ], imports: [AXCalendarComponent], template: \"<div class=\\\"ax-calendar-range-header\\\">\\n <ng-content></ng-content>\\n <div class=\\\"ax-calendar-header-range-info\\\">\\n <button type=\\\"button\\\" [attr.disabled]=\\\"disabled ? '' : null\\\" class=\\\"ax-general-button\\\" (click)=\\\"handleNavClick()\\\">\\n {{ _navText }}\\n </button>\\n </div>\\n <div class=\\\"ax-calendar-header-range-buttons\\\">\\n <button\\n type=\\\"button\\\"\\n [attr.disabled]=\\\"disabled ? '' : null\\\"\\n class=\\\"ax-general-button ax-button-icon\\\"\\n (click)=\\\"handlePrevClick()\\\"\\n >\\n <i class=\\\"ax-icon ax-icon-chevron-left\\\"></i>\\n </button>\\n <button\\n type=\\\"button\\\"\\n [attr.disabled]=\\\"disabled ? '' : null\\\"\\n class=\\\"ax-general-button ax-button-icon\\\"\\n (click)=\\\"handleNextClick()\\\"\\n >\\n <i class=\\\"ax-icon ax-icon-chevron-right\\\"></i>\\n </button>\\n </div>\\n</div>\\n<div class=\\\"ax-calendar-range-body\\\">\\n <ax-calendar\\n #c1\\n [showNavigation]=\\\"false\\\"\\n [readonly]=\\\"true\\\"\\n [cellClass]=\\\"getCellClass\\\"\\n [type]=\\\"type\\\"\\n [cellTemplate]=\\\"cellTemplate\\\"\\n [minValue]=\\\"minValue\\\"\\n [maxValue]=\\\"maxValue\\\"\\n [depth]=\\\"depth\\\"\\n (onSlotClick)=\\\"handleSlotClick($event)\\\"\\n (onNavigate)=\\\"handleNavigate()\\\"\\n (activeViewChange)=\\\"handleActiveViewChange1()\\\"\\n >\\n </ax-calendar>\\n <ax-calendar\\n #c2\\n [showNavigation]=\\\"false\\\"\\n [readonly]=\\\"true\\\"\\n [cellClass]=\\\"getCellClass\\\"\\n [type]=\\\"type\\\"\\n [cellTemplate]=\\\"cellTemplate\\\"\\n [minValue]=\\\"minValue\\\"\\n [maxValue]=\\\"maxValue\\\"\\n [depth]=\\\"depth\\\"\\n (onSlotClick)=\\\"handleSlotClick($event)\\\"\\n (activeViewChange)=\\\"handleActiveViewChange2()\\\"\\n >\\n </ax-calendar>\\n</div>\\n\", styles: [\"ax-calendar-range{--ax-comp-calendar-range-text-color: var(--ax-sys-color-on-lightest-surface);--ax-comp-calendar-slot-range-text-color: var(--ax-sys-color-on-primary-surface);--ax-comp-calendar-slot-range-between-bg-color: var(--ax-sys-color-primary-surface), .5;--ax-comp-calendar-slot-range-start-end-bg-color: var(--ax-sys-color-primary-surface)}.ax-dark ax-calendar-range{--ax-comp-calendar-range-text-color: var(--ax-sys-color-on-darkest-surface)}html[dir=rtl] ax-calendar-range .ax-calendar-header-range-buttons .ax-icon{-moz-transform:scale(-1,1);-o-transform:scale(-1,1);-webkit-transform:scale(-1,1);transform:scaleX(-1)}ax-calendar-range{display:block;padding:.5rem;color:rgb(var(--ax-comp-calendar-range-text-color));background-color:rgba(var(--ax-comp-calendar-range-bg-color))}ax-calendar-range .ax-calendar-range-header{display:flex;justify-content:space-between;padding-top:var(--ax-comp-calendar-range-header-padding-t, .25rem);padding-left:var(--ax-comp-calendar-range-header-padding-x, .25rem);padding-right:var(--ax-comp-calendar-range-header-padding-x, .25rem)}ax-calendar-range .ax-calendar-range-header .ax-calendar-header-range-info{font-weight:500}ax-calendar-range .ax-calendar-range-header .ax-calendar-header-range-buttons{display:flex}ax-calendar-range .ax-calendar-range-body{display:flex;flex-direction:row}@media (min-width: 320px) and (max-width: 640px){ax-calendar-range .ax-calendar-range-body{flex-direction:column}}ax-calendar-range ax-calendar{margin:0;padding:0}ax-calendar-range ax-calendar .ax-calendar-body{margin-top:0;padding-top:0}ax-calendar-range ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-range-between{color:rgba(var(--ax-comp-calendar-slot-range-text-color));background-color:rgba(var(--ax-comp-calendar-slot-range-between-bg-color))}ax-calendar-range ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-range-start,ax-calendar-range ax-calendar .ax-calendar-body .ax-calendar-slots .ax-calendar-slot.ax-range-end{color:rgba(var(--ax-comp-calendar-slot-range-text-color));background-color:rgba(var(--ax-comp-calendar-slot-range-start-end-bg-color))}@media (min-width: 768px){ax-calendar-range ax-calendar .ax-calendar-body>div{width:100%!important}}\\n\"] }]\n }], ctorParameters: () => [], propDecorators: { _c1: [{\n type: ViewChild,\n args: ['c1', { static: true }]\n }], _c2: [{\n type: ViewChild,\n args: ['c2', { static: true }]\n }] } });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsZW5kYXItcmFuZ2UuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29tcG9uZW50cy9jYWxlbmRhci9zcmMvbGliL2NhbGVuZGFyLXJhbmdlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbXBvbmVudHMvY2FsZW5kYXIvc3JjL2xpYi9jYWxlbmRhci1yYW5nZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsV0FBVyxFQUVYLG1CQUFtQixFQUNuQixzQkFBc0IsRUFDdEIsZ0JBQWdCLEdBQ2pCLE1BQU0sb0JBQW9CLENBQUM7QUFDNUIsT0FBTyxFQUFFLGlCQUFpQixFQUFjLE1BQU0sd0JBQXdCLENBQUM7QUFDdkUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNwRCxPQUFPLEVBRUwsU0FBUyxFQUNULFNBQVMsRUFDVCxpQkFBaUIsRUFDakIsVUFBVSxFQUNWLE1BQU0sRUFDTixZQUFZLEdBQ2IsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbkQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUNuQyxPQUFPLEVBQXVCLHVCQUF1QixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDaEYsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7O0FBcUQzRCxNQUFNLE9BQU8sd0JBQ1gsU0FBUSxPQUFPLENBQUMsQ0FBQSxnQkFBK0IsQ0FBQSxFQUFFLHNCQUFzQixFQUFFLHVCQUF1QixDQUFDO0lBcUJqRzs7T0FFRztJQUNIO1FBQ0UsS0FBSyxFQUFFLENBQUM7UUF0QkYsa0JBQWEsR0FBRyxNQUFN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b1BDeEVILDJxREF5REEsZ3dFRGdCWSxtQkFBbUI7OzJGQUVsQix3QkFBd0I7a0JBbkRwQyxTQUFTOytCQUNFLG1CQUFtQixpQkFHZCxpQkFBaUIsQ0FBQyxJQUFJLFVBQzdCO3dCQUNOLEtBQUs7d0JBQ0wsVUFBVTt3QkFDVixPQUFPO3dCQUNQLE1BQU07d0JBQ04sVUFBVTt3QkFDVixPQUFPO3dCQUNQLFlBQVk7d0JBQ1osVUFBVTt3QkFDVixVQUFVO3dCQUNWLGVBQWU7d0JBQ2YsY0FBYzt3QkFDZCxNQUFNO3dCQUNOLGNBQWM7d0JBQ2QsV0FBVzt3QkFDWCxnQkFBZ0I7cUJBQ2pCLFdBQ1E7d0JBQ1AsaUJBQWlCO3dCQUNqQixhQUFhO3dCQUNiLGdCQUFnQjt3QkFDaEIsUUFBUTt3QkFDUixTQUFTO3dCQUNULGFBQWE7d0JBQ2IsWUFBWTt3QkFDWixrQkFBa0I7d0JBQ2xCLHFCQUFxQjt3QkFDckIsb0JBQW9CO3dCQUNwQixZQUFZO3dCQUNaLGFBQWE7cUJBQ2QsYUFDVTt3QkFDVDs0QkFDRSxPQUFPLEVBQUUsaUJBQWlCOzRCQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSx5QkFBeUIsQ0FBQzs0QkFDdkQsS0FBSyxFQUFFLElBQUk7eUJBQ1o7d0JBQ0Q7NEJBQ0UsT0FBTyxFQUFFLG1CQUFtQjs0QkFDNUIsV0FBVywwQkFBMEI7eUJBQ3RDO3dCQUNELGNBQWM7d0JBQ2QsRUFBRSxPQUFPLEVBQUUsV0FBVyxFQUFFLFdBQVcsMEJBQTBCLEVBQUU7cUJBQ2hFLFdBQ1EsQ0FBQyxtQkFBbUIsQ0FBQzt3REFpQnRCLEdBQUc7c0JBRFYsU0FBUzt1QkFBQyxJQUFJLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO2dCQUl6QixHQUFHO3NCQURWLFNBQVM7dUJBQUMsSUFBSSxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFYQ29tcG9uZW50LFxuICBBWFJhbmdlLFxuICBBWFZhbHVhYmxlQ29tcG9uZW50LFxuICBNWEludGVyYWN0aXZlQ29tcG9uZW50LFxuICBNWFZhbHVlQ29tcG9uZW50LFxufSBmcm9tICdAYWNvcmV4L2Nkay9jb21tb24nO1xuaW1wb3J0IHsgQVhDYWxlbmRhclNlcnZpY2UsIEFYRGF0ZVRpbWUgfSBmcm9tICdAYWNvcmV4L2NvcmUvZGF0ZS10aW1lJztcbmltcG9ydCB7IEFYRm9ybWF0U2VydmljZSB9IGZyb20gJ0BhY29yZXgvY29yZS9mb3JtYXQnO1xuaW1wb3J0IHsgQVhVbnN1YnNjcmliZXIgfSBmcm9tICdAYWNvcmV4L2NvcmUvdXRpbHMnO1xuaW1wb3J0IHtcbiAgQWZ0ZXJWaWV3SW5pdCxcbiAgQ29tcG9uZW50LFxuICBWaWV3Q2hpbGQsXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxuICBmb3J3YXJkUmVmLFxuICBpbmplY3QsXG4gIGxpbmtlZFNpZ25hbCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IGNsYXNzZXMgfSBmcm9tICdwb2x5dHlwZSc7XG5pbXBvcnQgeyBBWENhbGVuZGFyU2xvdENsaWNrLCBNWENhbGVuZGFyQmFzZUNvbXBvbmVudCB9IGZyb20gJy4vY2FsZW5kYXIuY2xhc3MnO1xuaW1wb3J0IHsgQVhDYWxlbmRhckNvbXBvbmVudCB9IGZyb20gJy4vY2FsZW5kYXIuY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXgtY2FsZW5kYXItcmFuZ2UnLFxuICB0ZW1wbGF0ZVVybDogJ2NhbGVuZGFyLXJhbmdlLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJ2NhbGVuZGFyLXJhbmdlLmNvbXBvbmVudC5zY3NzJ10sXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIGlucHV0czogW1xuICAgICdydGwnLFxuICAgICdyZWFkb25seScsXG4gICAgJ3ZhbHVlJyxcbiAgICAnbmFtZScsXG4gICAgJ2Rpc2FibGVkJyxcbiAgICAnZGVwdGgnLFxuICAgICdhY3RpdmVWaWV3JyxcbiAgICAnbWluVmFsdWUnLFxuICAgICdtYXhWYWx1ZScsXG4gICAgJ2Rpc2FibGVkRGF0ZXMnLFxuICAgICdob2xpZGF5RGF0ZXMnLFxuICAgICd0eXBlJyxcbiAgICAnY2VsbFRlbXBsYXRlJyxcbiAgICAnY2VsbENsYXNzJyxcbiAgICAnc2hvd05hdmlnYXRpb24nLFxuICBdLFxuICBvdXRwdXRzOiBbXG4gICAgJ29uT3B0aW9uQ2hhbmdlZCcsXG4gICAgJ3ZhbHVlQ2hhbmdlJyxcbiAgICAnb25WYWx1ZUNoYW5nZWQnLFxuICAgICdvbkJsdXInLFxuICAgICdvbkZvY3VzJyxcbiAgICAnZGVwdGhDaGFuZ2UnLFxuICAgICd0eXBlQ2hhbmdlJyxcbiAgICAnYWN0aXZlVmlld0NoYW5nZScsXG4gICAgJ2Rpc2FibGVkRGF0ZXNDaGFuZ2UnLFxuICAgICdob2xpZGF5RGF0ZXNDaGFuZ2UnLFxuICAgICdvbk5hdmlnYXRlJyxcbiAgICAnb25TbG90Q2xpY2snLFxuICBdLFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IEFYQ2FsZW5kYXJSYW5nZUNvbXBvbmVudCksXG4gICAgICBtdWx0aTogdHJ1ZSxcbiAgICB9LFxuICAgIHtcbiAgICAgIHByb3ZpZGU6IEFYVmFsdWFibGVDb21wb25lbnQsXG4gICAgICB1c2VFeGlzdGluZzogQVhDYWxlbmRhclJhbmdlQ29tcG9uZW50LFxuICAgIH0sXG4gICAgQVhVbnN1YnNjcmliZXIsXG4gICAgeyBwcm92aWRlOiBBWENvbXBvbmVudCwgdXNlRXhpc3Rpbmc6IEFYQ2FsZW5kYXJSYW5nZUNvbXBvbmVudCB9LFxuICBdLFxuICBpbXBvcnRzOiBbQVhDYWxlbmRhckNvbXBvbmVudF0sXG59KVxuZXhwb3J0IGNsYXNzIEFYQ2FsZW5kYXJSYW5nZUNvbXBvbmVudFxuICBleHRlbmRzIGNsYXNzZXMoTVhWYWx1ZUNvbXBvbmVudDxBWFJhbmdlPERhdGU+PiwgTVhJbnRlcmFjdGl2ZUNvbXBvbmVudCwgTVhDYWxlbmRhckJhc2VDb21wb25lbnQpXG4gIGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdFxue1xuICBwcml2YXRlIGZvcm1hdFNlcnZpY2UgPSBpbmplY3QoQVhGb3JtYXRTZXJ2aWNlKTtcbiAgcHJpdmF0ZSB1bnN1YnNjcmliZXIgPSBpbmplY3QoQVhVbnN1YnNjcmliZXIpO1xuXG4gIHByb3RlY3RlZCBjYWxlbmRhciA9IGxpbmtlZFNpZ25hbCgoKSA9PiB0aGlzLnR5cGUgPz8gdGhpcy5sb2NhbGVTZXJ2aWNlLmFjdGl2ZVByb2ZpbGUoKS5jYWxlbmRhci5zeXN0ZW0pO1xuXG4gIC8qKlxuICAgKiAgQGlnbm9yZVxuICAgKi9cbiAgcHJpdmF0ZSBfY2FsZW5kYXJTZXJ2aWNlOiBBWENhbGVuZGFyU2VydmljZSA9IGluamVjdChBWENhbGVuZGFyU2VydmljZSk7XG5cbiAgQFZpZXdDaGlsZCgnYzEnLCB7IHN0YXRpYzogdHJ1ZSB9KVxuICBwcml2YXRlIF9jMTogQVhDYWxlbmRhckNvbXBvbmVudDtcblxuICBAVmlld0NoaWxkKCdjMicsIHsgc3RhdGljOiB0cnVlIH0pXG4gIHByaXZhdGUgX2MyOiBBWENhbGVuZGFyQ29tcG9uZW50O1xuXG4gIF9uYXZUZXh0ID0gJyc7XG5cbiAgLyoqXG4gICAqICBAaWdub3JlXG4gICAqL1xuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcigpO1xuICAgIHRoaXMuZGVmYXVsdFZhbHVlID0geyBmcm9tOiBudWxsLCBlbmQ6IG51bGwgfTtcblxuICAgIHRoaXMuY2FsZW5kYXJTZXJ2aWNlLmNhbGVuZGFyQ2hhbmdlcyQucGlwZSh0aGlzLnVuc3Vic2NyaWJlci50YWtlVW50aWxEZXN0cm95KS5zdWJzY3JpYmUoKHZhbHVlKSA9PiB7XG4gICAgICBpZiAoIXRoaXMudHlwZSkgdGhpcy5jYWxlbmRhci5zZXQodmFsdWUubmFtZSgpKTtcbiAgICAgIHRoaXMucmVuZGVyKCk7XG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogIEBpZ25vcmVcbiAgICovXG4gIHByb3RlY3RlZCBvdmVycmlkZSBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICBzdXBlci5uZ09uSW5pdCgpO1xuICB9XG5cbiAgLyoqXG4gICAqICBAaWdub3JlXG4gICAqL1xuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgdGhpcy5fc3luY05hdjEoKTtcbiAgfVxuXG4gIG92ZXJyaWRlIGludGVybmFsVmFsdWVDaGFuZ2VkKHZhbHVlOiBhbnkpIHtcbiAgICB0aGlzLl9jMS5yZW5kZXIoKTtcbiAgICB0aGlzLl9jMi5yZW5kZXIoKTtcbiAgfVxuXG4gIC8qKiB3XG4gICAqICBAaWdub3JlXG4gICAqL1xuICBnZXRDZWxsQ2xhc3MgPSAoZGF0ZTogQVhEYXRlVGltZSkgPT4ge1xuICAgIC8vY29uc3QgZCA9IHRoaXMuX2NhbGVuZGFyU2VydmljZS5jcmVhdGUoZGF0ZSwgdGhpcy50eXBlKTtcblxuICAgIC8vIGNoZWNrIGZyb20gdmFsdWVcbiAgICBpZiAoIXRoaXMuX2NhbGVuZGFyU2VydmljZS5pc1ZhbGlkRGF0ZSh0aGlzLnZhbHVlLmZyb20pKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG4gICAgY29uc3QgZnJvbSA9IHRoaXMuX2NhbGVuZGFyU2VydmljZS5jcmVhdGUodGhpcy52YWx1ZS5mcm9tLCB0aGlzLnR5cGUpO1xuICAgIGlmICh0aGlzLnZhbHVlLmZyb20gJiYgZGF0ZS5lcXVhbChmcm9tLCAnZGF5JykpIHtcbiAgICAgIHJldHVybiAnYXgtcmFuZ2Utc3RhcnQnO1xuICAgIH1cblxuICAgIC8vIGNoZWNrIGVuZCB2YWx1ZVxuICAgIGlmICghdGhpcy5fY2FsZW5kYXJTZXJ2aWNlLmlzVmFsaWREYXRlKHRoaXMudmFsdWUuZW5kKSkge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICAgIGNvbnN0IGVuZCA9IHRoaXMuX2NhbGVuZGFyU2VydmljZS5jcmVhdGUodGhpcy52YWx1ZS5lbmQsIHRoaXMudHlwZSk7XG4gICAgaWYgKHRoaXMudmFsdWUuZW5kICYmIGRhdGUuZXF1YWwoZW5kLCAnZGF5JykpIHJldHVybiAnYXgtcmFuZ2UtZW5kJztcbiAgICBpZiAodGhpcy52YWx1ZS5mcm9tICYmIHRoaXMudmFsdWUuZW5kICYmIGRhdGUuY29tcGFyZShmcm9tLCAnZGF5JykgPiAwICYmIGRhdGUuY29tcGFyZShlbmQsICdkYXknKSA8IDApXG4gICAgICByZXR1cm4gJ2F4LXJhbmdlLWJldHdlZW4nO1xuICAgIHJldHVybiBudWxsO1xuICB9O1xuXG4gIC8qKlxuICAgKiAgQGlnbm9yZVxuICAgKi9cbiAgcHJvdGVjdGVkIGhhbmRsZVNsb3RDbGljayhlOiBBWENhbGVuZGFyU2xvdENsaWNrKSB7XG4gICAgaWYgKHRoaXMuX2MxLmFjdGl2ZVZpZXcgPT0gdGhpcy5kZXB0aCkge1xuICAgICAgaWYgKCF0aGlzLnZhbHVlLmZyb20gfHwgKHRoaXMudmFsdWUuZnJvbSAmJiB0aGlzLnZhbHVlLmVuZCkpIHtcbiAgICAgICAgdGhpcy5jb21taXRWYWx1ZSh7IGZyb206IGUuaXRlbSwgZW5kOiBudWxsIH0sIHRydWUpO1xuICAgICAgfVxuICAgICAgaWYgKHRoaXMudmFsdWUuZnJvbSAmJiBlLml0ZW0gPD0gdGhpcy52YWx1ZS5mcm9tKSB7XG4gICAgICAgIHRoaXMuY29tbWl0VmFsdWUoeyBmcm9tOiBlLml0ZW0sIGVuZDogdGhpcy52YWx1ZS5lbmQgfSwgdHJ1ZSk7XG4gICAgICB9IGVsc2UgaWYgKHRoaXMudmFsdWUuZnJvbSAmJiAhdGhpcy52YWx1ZS5lbmQpIHtcbiAgICAgICAgdGhpcy5jb21taXRWYWx1ZSh7IGZyb206IHRoaXMudmFsdWUuZnJvbSwgZW5kOiBlLml0ZW0gfSwgdHJ1ZSk7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIGlmIChlLmNvbXBvbmVudCA9PSB0aGlzLl9jMSkge1xuICAgICAgICB0aGlzLl9zeW5jTmF2MSgpO1xuICAgICAgfVxuICAgICAgaWYgKGUuY29tcG9uZW50ID09IHRoaXMuX2MyKSB7XG4gICAgICAgIHRoaXMuX3N5bmNOYXYyKHRoaXMuX2NhbGVuZGFyU2VydmljZS5jcmVhdGUoZS5pdGVtLCB0aGlzLnR5cGUpKTtcbiAgICAgIH1cbiAgICB9XG4gICAgdGhpcy5fYzEucmVuZGVyKCk7XG4gICAgdGhpcy5fYzIucmVuZGVyKCk7XG4gIH1cblxuICAvKipcbiAgICogIEBpZ25vcmVcbiAgICovXG4gIHByb3RlY3RlZCBoYW5kbGVQcmV2Q2xpY2soKSB7XG4gICAgY29uc3QgdmlldyA9IHRoaXMuX2MxLmFjdGl2ZVZpZXc7XG4gICAgY29uc3QgZDEgPSB0aGlzLl9jMS5kaXNwbGF5UmFuZ2Uuc3RhcnRUaW1lO1xuICAgIGlmICh2aWV3ID09ICdkYXknIHx8IHZpZXcgPT0gJ21vbnRoJykge1xuICAgICAgdGhpcy5fYzEucHJldigpO1xuICAgIH0gZWxzZSBpZiAodmlldyA9PSAneWVhcicpIHtcbiAgICAgIHRoaXMuX2MxLm5hdlRvKGQxLmFkZCgneWVhcicsIC0yMCkpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiAgQGlnbm9yZVxuICAgKi9cbiAgcHJvdGVjdGVkIGhhbmRsZU5leHRDbGljaygpIHtcbiAgICBjb25zdCB2aWV3ID0gdGhpcy5fYzEuYWN0aXZlVmlldztcbiAgICBjb25zdCBkMSA9IHRoaXMuX2MxLmRpc3BsYXlSYW5nZS5zdGFydFRpbWU7XG4gICAgaWYgKHZpZXcgPT0gJ2RheScgfHwgdmlldyA9PSAnbW9udGgnKSB7XG4gICAgICB0aGlzLl9jMS5uZXh0KCk7XG4gICAgfSBlbHNlIGlmICh2aWV3ID09ICd5ZWFyJykge1xuICAgICAgdGhpcy5fYzEubmF2VG8oZDEuYWRkKCd5ZWFyJywgMjApKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogIEBpZ25vcmVcbiAgICovXG4gIHByb3RlY3RlZCBoYW5kbGVOYXZDbGljaygpIHtcbiAgICB0aGlzLl9jMS50b2dnbGVWaWV3KCk7XG4gIH1cblxuICAvKipcbiAgICogIEBpZ25vcmVcbiAgICovXG4gIHByaXZhdGUgX3N5bmNOYXZUZXh0KCkge1xuICAgIGNvbnN0IHZpZXcgPSB0aGlzLl9jMS5hY3RpdmVWaWV3O1xuICAgIGNvbnN0IGQxID0gdGhpcy5fYzEuZGlzcGxheVJhbmdlLnN0YXJ0VGltZTtcbiAgICBpZiAodmlldyA9PSAnZGF5Jykge1xuICAgICAgY29uc3QgZDIgPSB0aGlzLl9jMi5kaXNwbGF5UmFuZ2UuZW5kVGltZTtcbiAgICAgIHRoaXMuX25hdlRleHQgPSBgJHt0aGlzLmZvcm1hdFNlcnZpY2UuZm9ybWF0KGQxLCAnZGF0ZXRpbWUnLCB7IGZvcm1hdDogJ01NTSB5eXl5JyB9KX0gLSAke3RoaXMuZm9ybWF0U2VydmljZS5mb3JtYXQoZDIsICdkYXRldGltZScsIHsgZm9ybWF0OiAnTU1NIHl5eXknIH0pfWA7XG4gICAgfSBlbHNlIGlmICh2aWV3ID09ICdtb250aCcgfHwgdmlldyA9PSAneWVhcicpIHtcbiAgICAgIGNvbnN0IGQyID0gdGhpcy5fYzIuZGlzcGxheVJhbmdlLmVuZFRpbWU7XG4gICAgICB0aGlzLl9uYXZUZXh0ID0gYCR7dGhpcy5mb3JtYXRTZXJ2aWNlLmZvcm1hdChkMSwgJ2RhdGV0aW1lJywgeyBmb3JtYXQ6ICd5eXl5JyB9KX0gLSAke3RoaXMuZm9ybWF0U2VydmljZS5mb3JtYXQoZDIsICdkYXRldGltZScsIHsgZm9ybWF0OiAneXl5eScgfSl9YDtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogIEBpZ25vcmVcbiAgICovXG4gIHByb3RlY3RlZCBoYW5kbGVOYXZpZ2F0ZSgpIHtcbiAgICB0aGlzLl9zeW5jTmF2MSgpO1xuICB9XG5cbiAgLyoqXG4gICAqICBAaWdub3JlXG4gICAqL1xuICBwcm90ZWN0ZWQgaGFuZGxlQWN0aXZlVmlld0NoYW5nZTEoKSB7XG4gICAgdGhpcy5fYzIuYWN0aXZlVmlldyA9IHRoaXMuX2MxLmFjdGl2ZVZpZXc7XG4gICAgdGhpcy5fc3luY05hdjEoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiAgQGlnbm9yZVxuICAgKi9cbiAgcHJvdGVjdGVkIGhhbmRsZUFjdGl2ZVZpZXdDaGFuZ2UyKCkge1xuICAgIGlmICh0aGlzLl9jMi5hY3RpdmVWaWV3ICE9IHRoaXMuX2MxLmFjdGl2ZVZpZXcpIHtcbiAgICAgIHRoaXMuX2MxLmFjdGl2ZVZpZXcgPSB0aGlzLl9jMi5hY3RpdmVWaWV3O1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiAgQGlnbm9yZVxuICAgKi9cbiAgcHJpdmF0ZSBfc3luY05hdjEoKSB7XG4gICAgY29uc3QgdmlldyA9ICh0aGlzLl9jMi5hY3RpdmVWaWV3ID0gdGhpcy5fYzEuYWN0aXZlVmlldyk7XG4gICAgY29uc3QgcmFuZ2UgPSB0aGlzLl9jMS5kaXNwbGF5UmFuZ2U7XG4gICAgaWYgKHZpZXcgPT0gJ2RheScpIHtcbiAgICAgIHRoaXMuX2MyLm5hdlRvKHJhbmdlLnN0YXJ0VGltZS5hZGQoJ21vbnRoJywgMSkpO1xuICAgIH0gZWxzZSBpZiAodmlldyA9PSAnbW9udGgnKSB7XG4gICAgICB0aGlzLl9jMi5uYXZUbyhyYW5nZS5zdGFydFRpbWUuYWRkKCd5ZWFyJywgMSkpO1xuICAgIH0gZWxzZSBpZiAodmlldyA9PSAneWVhcicpIHtcbiAgICAgIHRoaXMuX2MyLm5hdlRvKHJhbmdlLmVuZFRpbWUuYWRkKCd5ZWFyJywgNCkpO1xuICAgIH1cbiAgICB0aGlzLl9zeW5jTmF2VGV4dCgpO1xuICB9XG5cbiAgLyoqXG4gICAqICBAaWdub3JlXG4gICAqL1xuICBwcml2YXRlIF9zeW5jTmF2MihlOiBBWERhdGVUaW1lKSB7XG4gICAgY29uc3QgdmlldyA9IHRoaXMuX2MyLmFjdGl2ZVZpZXc7XG4gICAgaWYgKHZpZXcgPT0gJ21vbnRoJykge1xuICAgICAgdGhpcy5fYzEubmF2VG8oZS5hZGQoJ21vbnRoJywgLTEpKTtcbiAgICB9IGVsc2UgaWYgKHZpZXcgPT0gJ3llYXInKSB7XG4gICAgICB0aGlzLl9jMS5uYXZUbyhlLnN0YXJ0T2YoJ3llYXInKSk7XG4gICAgfVxuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiYXgtY2FsZW5kYXItcmFuZ2UtaGVhZGVyXCI+XG4gIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgPGRpdiBjbGFzcz1cImF4LWNhbGVuZGFyLWhlYWRlci1yYW5nZS1pbmZvXCI+XG4gICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgW2F0dHIuZGlzYWJsZWRdPVwiZGlzYWJsZWQgPyAnJyA6IG51bGxcIiBjbGFzcz1cImF4LWdlbmVyYWwtYnV0dG9uXCIgKGNsaWNrKT1cImhhbmRsZU5hdkNsaWNrKClcIj5cbiAgICAgIHt7IF9uYXZUZXh0IH19XG4gICAgPC9idXR0b24+XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPVwiYXgtY2FsZW5kYXItaGVhZGVyLXJhbmdlLWJ1dHRvbnNcIj5cbiAgICA8YnV0dG9uXG4gICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgIFthdHRyLmRpc2FibGVkXT1cImRpc2FibGVkID8gJycgOiBudWxsXCJcbiAgICAgIGNsYXNzPVwiYXgtZ2VuZXJhbC1idXR0b24gYXgtYnV0dG9uLWljb25cIlxuICAgICAgKGNsaWNrKT1cImhhbmRsZVByZXZDbGljaygpXCJcbiAgICA+XG4gICAgICA8aSBjbGFzcz1cImF4LWljb24gYXgtaWNvbi1jaGV2cm9uLWxlZnRcIj48L2k+XG4gICAgPC9idXR0b24+XG4gICAgPGJ1dHRvblxuICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICBbYXR0ci5kaXNhYmxlZF09XCJkaXNhYmxlZCA/ICcnIDogbnVsbFwiXG4gICAgICBjbGFzcz1cImF4LWdlbmVyYWwtYnV0dG9uIGF4LWJ1dHRvbi1pY29uXCJcbiAgICAgIChjbGljayk9XCJoYW5kbGVOZXh0Q2xpY2soKVwiXG4gICAgPlxuICAgICAgPGkgY2xhc3M9XCJheC1pY29uIGF4LWljb24tY2hldnJvbi1yaWdodFwiPjwvaT5cbiAgICA8L2J1dHRvbj5cbiAgPC9kaXY+XG48L2Rpdj5cbjxkaXYgY2xhc3M9XCJheC1jYWxlbmRhci1yYW5nZS1ib2R5XCI+XG4gIDxheC1jYWxlbmRhclxuICAgICNjMVxuICAgIFtzaG93TmF2aWdhdGlvbl09XCJmYWxzZVwiXG4gICAgW3JlYWRvbmx5XT1cInRydWVcIlxuICAgIFtjZWxsQ2xhc3NdPVwiZ2V0Q2VsbENsYXNzXCJcbiAgICBbdHlwZV09XCJ0eXBlXCJcbiAgICBbY2VsbFRlbXBsYXRlXT1cImNlbGxUZW1wbGF0ZVwiXG4gICAgW21pblZhbHVlXT1cIm1pblZhbHVlXCJcbiAgICBbbWF4VmFsdWVdPVwibWF4VmFsdWVcIlxuICAgIFtkZXB0aF09XCJkZXB0aFwiXG4gICAgKG9uU2xvdENsaWNrKT1cImhhbmRsZVNsb3RDbGljaygkZXZlbnQpXCJcbiAgICAob25OYXZpZ2F0ZSk9XCJoYW5kbGVOYXZpZ2F0ZSgpXCJcbiAgICAoYWN0aXZlVmlld0NoYW5nZSk9XCJoYW5kbGVBY3RpdmVWaWV3Q2hhbmdlMSgpXCJcbiAgPlxuICA8L2F4LWNhbGVuZGFyPlxuICA8YXgtY2FsZW5kYXJcbiAgICAjYzJcbiAgICBbc2hvd05hdmlnYXRpb25dPVwiZmFsc2VcIlxuICAgIFtyZWFkb25seV09XCJ0cnVlXCJcbiAgICBbY2VsbENsYXNzXT1cImdldENlbGxDbGFzc1wiXG4gICAgW3R5cGVdPVwidHlwZVwiXG4gICAgW2NlbGxUZW1wbGF0ZV09XCJjZWxsVGVtcGxhdGVcIlxuICAgIFttaW5WYWx1ZV09XCJtaW5WYWx1ZVwiXG4gICAgW21heFZhbHVlXT1cIm1heFZhbHVlXCJcbiAgICBbZGVwdGhdPVwiZGVwdGhcIlxuICAgIChvblNsb3RDbGljayk9XCJoYW5kbGVTbG90Q2xpY2soJGV2ZW50KVwiXG4gICAgKGFjdGl2ZVZpZXdDaGFuZ2UpPVwiaGFuZGxlQWN0aXZlVmlld0NoYW5nZTIoKVwiXG4gID5cbiAgPC9heC1jYWxlbmRhcj5cbjwvZGl2PlxuIl19","import { AXRippleDirective } from '@acorex/cdk/common';\nimport { AXTooltipModule } from '@acorex/components/tooltip';\nimport { AXDateTimeModule } from '@acorex/core/date-time';\nimport { AXTranslationModule } from '@acorex/core/translation';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { AXCalendarRangeComponent } from './calendar-range.component';\nimport { AXCalendarComponent } from './calendar.component';\nimport * as i0 from \"@angular/core\";\nconst COMPONENT = [AXCalendarComponent, AXCalendarRangeComponent];\nconst MODULES = [CommonModule, AXDateTimeModule, AXTranslationModule, AXTooltipModule, AXRippleDirective];\nexport class AXCalendarModule {\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.3\", ngImport: i0, type: AXCalendarModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }\n static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"20.0.3\", ngImport: i0, type: AXCalendarModule, imports: [CommonModule, AXDateTimeModule, AXTranslationModule, AXTooltipModule, AXRippleDirective, AXCalendarComponent, AXCalendarRangeComponent], exports: [AXCalendarComponent, AXCalendarRangeComponent] }); }\n static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"20.0.3\", ngImport: i0, type: AXCalendarModule, imports: [CommonModule, AXDateTimeModule, AXTranslationModule, AXTooltipModule, COMPONENT] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.3\", ngImport: i0, type: AXCalendarModule, decorators: [{\n type: NgModule,\n args: [{\n imports: [...MODULES, ...COMPONENT],\n exports: [...COMPONENT],\n providers: [],\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsZW5kYXIubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29tcG9uZW50cy9jYWxlbmRhci9zcmMvbGliL2NhbGVuZGFyLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDN0QsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDMUQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDL0QsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDdEUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7O0FBRTNELE1BQU0sU0FBUyxHQUFHLENBQUMsbUJBQW1CLEVBQUUsd0JBQXdCLENBQUMsQ0FBQztBQUNsRSxNQUFNLE9BQU8sR0FBRyxDQUFDLFlBQVksRUFBRSxnQkFBZ0IsRUFBRSxtQkFBbUIsRUFBRSxlQUFlLEVBQUUsaUJBQWlCLENBQUMsQ0FBQztBQU8xRyxNQUFNLE9BQU8sZ0JBQWdCOzhHQUFoQixnQkFBZ0I7K0dBQWhCLGdCQUFnQixZQVBaLFlBQVksRUFBRSxnQkFBZ0IsRUFBRSxtQkFBbUIsRUFBRSxlQUFlLEVBQUUsaUJBQWlCLEVBRHJGLG1CQUFtQixFQUFFLHdCQUF3QixhQUE3QyxtQkFBbUIsRUFBRSx3QkFBd0I7K0dBUW5ELGdCQUFnQixZQVBaLFlBQVksRUFBRSxnQkFBZ0IsRUFBRSxtQkFBbUIsRUFBRSxlQUFlLEVBRzFELFNBQVM7OzJGQUl2QixnQkFBZ0I7a0JBTDVCLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFLENBQUMsR0FBRyxPQUFPLEVBQUUsR0FBRyxTQUFTLENBQUM7b0JBQ25DLE9BQU8sRUFBRSxDQUFDLEdBQUcsU0FBUyxDQUFDO29CQUN2QixTQUFTLEVBQUUsRUFBRTtpQkFDZCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFYUmlwcGxlRGlyZWN0aXZlIH0gZnJvbSAnQGFjb3JleC9jZGsvY29tbW9uJztcbmltcG9ydCB7IEFYVG9vbHRpcE1vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy90b29sdGlwJztcbmltcG9ydCB7IEFYRGF0ZVRpbWVNb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvcmUvZGF0ZS10aW1lJztcbmltcG9ydCB7IEFYVHJhbnNsYXRpb25Nb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvcmUvdHJhbnNsYXRpb24nO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBWENhbGVuZGFyUmFuZ2VDb21wb25lbnQgfSBmcm9tICcuL2NhbGVuZGFyLXJhbmdlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBBWENhbGVuZGFyQ29tcG9uZW50IH0gZnJvbSAnLi9jYWxlbmRhci5jb21wb25lbnQnO1xuXG5jb25zdCBDT01QT05FTlQgPSBbQVhDYWxlbmRhckNvbXBvbmVudCwgQVhDYWxlbmRhclJhbmdlQ29tcG9uZW50XTtcbmNvbnN0IE1PRFVMRVMgPSBbQ29tbW9uTW9kdWxlLCBBWERhdGVUaW1lTW9kdWxlLCBBWFRyYW5zbGF0aW9uTW9kdWxlLCBBWFRvb2x0aXBNb2R1bGUsIEFYUmlwcGxlRGlyZWN0aXZlXTtcblxuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogWy4uLk1PRFVMRVMsIC4uLkNPTVBPTkVOVF0sXG4gIGV4cG9ydHM6IFsuLi5DT01QT05FTlRdLFxuICBwcm92aWRlcnM6IFtdLFxufSlcbmV4cG9ydCBjbGFzcyBBWENhbGVuZGFyTW9kdWxlIHt9XG4iXX0=","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNvcmV4LWNvbXBvbmVudHMtY2FsZW5kYXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21wb25lbnRzL2NhbGVuZGFyL3NyYy9hY29yZXgtY29tcG9uZW50cy1jYWxlbmRhci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ=="],"names":[],"mappings":"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"}
|