@testgorilla/tgo-ui 2.24.9999 → 2.99.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/components/accordion/accordion.component.d.ts +100 -0
- package/components/accordion/accordion.component.module.d.ts +12 -0
- package/components/accordion/accordion.model.d.ts +2 -0
- package/components/autocomplete/autocomplete.component.d.ts +289 -0
- package/components/autocomplete/autocomplete.component.module.d.ts +23 -0
- package/components/autocomplete/autocomplete.model.d.ts +22 -0
- package/components/autocomplete/includes.pipe.d.ts +12 -0
- package/components/autocomplete/prevent-input.directive.d.ts +7 -0
- package/components/autocomplete/transform-Item.pipe.d.ts +11 -0
- package/components/checklist/checklist.component.d.ts +78 -0
- package/components/checklist/checklist.model.d.ts +7 -0
- package/components/confirm-dialog/confirm-dialog.component.d.ts +29 -0
- package/components/confirm-dialog/confirm-dialog.component.module.d.ts +12 -0
- package/components/confirm-dialog/confirm-dialog.model.d.ts +11 -0
- package/components/datepicker/DateAdapter.d.ts +30 -0
- package/components/datepicker/datepicker.component.d.ts +214 -0
- package/components/datepicker/datepicker.component.module.d.ts +18 -0
- package/components/datepicker/datepicker.service.d.ts +8 -0
- package/components/datepicker/no-date-format.directive.d.ts +11 -0
- package/components/deprecated-paginator/deprecated-paginator.component.d.ts +38 -0
- package/components/deprecated-paginator/deprecated-paginator.component.module.d.ts +9 -0
- package/components/deprecated-table/deprecated-table.component.d.ts +91 -0
- package/components/deprecated-table/deprecated-table.component.module.d.ts +14 -0
- package/components/deprecated-table/deprecated-table.model.d.ts +45 -0
- package/components/deprecated-table/directives/dynamic-component.directive.d.ts +13 -0
- package/components/dialog/dialog.component.d.ts +147 -0
- package/components/dialog/dialog.component.module.d.ts +11 -0
- package/components/dialog/dialog.service.d.ts +13 -0
- package/components/divider/divider.component.d.ts +39 -0
- package/components/divider/divider.component.module.d.ts +9 -0
- package/components/divider/divider.model.d.ts +1 -0
- package/components/dropdown/dropdown.component.d.ts +189 -0
- package/components/dropdown/dropdown.component.module.d.ts +17 -0
- package/components/dropdown/dropdown.model.d.ts +5 -0
- package/components/elevation-shadow/elevation-shadow.component.d.ts +26 -0
- package/components/elevation-shadow/elevation-shadow.component.module.d.ts +8 -0
- package/components/elevation-shadow/elevation-shadow.constant.d.ts +8 -0
- package/components/empty-state/empty-state.component.d.ts +118 -0
- package/components/empty-state/empty-state.component.module.d.ts +11 -0
- package/components/empty-state/empty-state.model.d.ts +3 -0
- package/components/file-upload/file-upload.component.d.ts +120 -0
- package/components/file-upload/file-upload.component.module.d.ts +14 -0
- package/components/icon-label/icon-label.component.d.ts +39 -0
- package/components/icon-label/icon-label.component.module.d.ts +9 -0
- package/components/media-card/media-card.component.d.ts +32 -0
- package/components/multi-input/multi-input.component.d.ts +164 -0
- package/components/multi-input/multi-input.component.module.d.ts +18 -0
- package/components/multi-input/multi-input.model.d.ts +1 -0
- package/components/navbar/mobile-navbar-side-sheet/mobile-navbar-side-sheet.component.d.ts +25 -0
- package/components/navbar/navbar.component.d.ts +119 -0
- package/components/navbar/navbar.component.module.d.ts +21 -0
- package/components/navbar/navbar.model.d.ts +21 -0
- package/components/overflow-menu/overflow-menu.component.d.ts +86 -0
- package/components/overflow-menu/overflow-menu.component.module.d.ts +15 -0
- package/components/overflow-menu/overflow-menu.model.d.ts +20 -0
- package/components/page-header/page-header.component.d.ts +38 -0
- package/components/page-header/page-header.component.module.d.ts +10 -0
- package/components/paginator/paginator.component.d.ts +58 -0
- package/components/paginator/paginator.component.module.d.ts +9 -0
- package/components/password-criteria/password.component.d.ts +42 -0
- package/components/password-criteria/password.component.module.d.ts +13 -0
- package/components/password-strength/password-strength.component.d.ts +45 -0
- package/components/password-strength/password-strength.component.module.d.ts +11 -0
- package/components/phone-input/join-strings.pipe.d.ts +7 -0
- package/components/phone-input/phone-input.component.d.ts +147 -0
- package/components/phone-input/phone-input.component.module.d.ts +20 -0
- package/components/phone-input/phone-input.model.d.ts +8 -0
- package/components/progress-bar/progress-bar.component.d.ts +73 -0
- package/components/progress-bar/progress-bar.component.module.d.ts +10 -0
- package/components/radial-progress/radial-progress.component.d.ts +68 -0
- package/components/radial-progress/radial-progress.component.module.d.ts +10 -0
- package/components/radial-progress/radial-progress.model.d.ts +10 -0
- package/components/rating/half-star.pipe.d.ts +14 -0
- package/components/rating/rating.component.d.ts +64 -0
- package/components/rating/rating.component.module.d.ts +10 -0
- package/components/scale/scale.component.d.ts +53 -0
- package/components/scale/scale.component.module.d.ts +8 -0
- package/components/segmented-bar/segmented-bar.component.d.ts +63 -0
- package/components/segmented-bar/segmented-bar.component.module.d.ts +13 -0
- package/components/segmented-bar/segmented-bar.model.d.ts +12 -0
- package/components/segmented-button/segmented-button.component.d.ts +55 -0
- package/components/segmented-button/segmented-button.component.module.d.ts +11 -0
- package/components/segmented-button/segmented-button.model.d.ts +8 -0
- package/components/side-panel/side-panel.component.d.ts +1 -1
- package/components/side-sheet/side-sheet.component.d.ts +43 -0
- package/components/side-sheet/side-sheet.component.module.d.ts +14 -0
- package/components/side-sheet/side-sheet.model.d.ts +10 -0
- package/components/side-sheet/side-sheet.service.d.ts +14 -0
- package/components/skeleton/skeleton.component.d.ts +26 -0
- package/components/skeleton/skeleton.model.d.ts +2 -0
- package/components/slider/slider.component.d.ts +105 -0
- package/components/slider/slider.component.module.d.ts +14 -0
- package/components/slider/slider.model.d.ts +5 -0
- package/components/spider-chart/spider-chart.component.d.ts +88 -0
- package/components/spider-chart/spider-chart.model.d.ts +12 -0
- package/components/spider-chart/spider-chart.module.d.ts +12 -0
- package/components/step/step.component.d.ts +161 -0
- package/components/step/step.component.module.d.ts +10 -0
- package/components/stepper/stepper.component.d.ts +86 -0
- package/components/stepper/stepper.component.module.d.ts +15 -0
- package/components/stepper/stepper.model.d.ts +22 -0
- package/components/table/sentence-case.pipe.d.ts +7 -0
- package/components/table/table.component.d.ts +94 -0
- package/components/table/table.component.module.d.ts +20 -0
- package/components/table/table.model.d.ts +95 -0
- package/components/tabs/tab.directive.d.ts +24 -0
- package/components/tabs/tabs.component.d.ts +73 -0
- package/components/tabs/tabs.component.module.d.ts +11 -0
- package/components/tabs/tabs.model.d.ts +15 -0
- package/components/tag/tag.component.d.ts +131 -0
- package/components/tag/tag.component.module.d.ts +13 -0
- package/components/tag/tag.model.d.ts +1 -0
- package/components/toggle/toggle.component.d.ts +113 -0
- package/components/toggle/toggle.component.module.d.ts +14 -0
- package/components/toggle/toggle.model.d.ts +1 -0
- package/components/universal-skills-report/universal-skills-report.component.d.ts +33 -0
- package/components/universal-skills-report/universal-skills-report.component.module.d.ts +14 -0
- package/components/universal-skills-report/universal-skills-report.model.d.ts +33 -0
- package/directives/drag-drop.directive.d.ts +12 -0
- package/directives/select-text.directive.d.ts +19 -0
- package/directives/step-line-element.directive.d.ts +17 -0
- package/esm2022/assets/i18n/en.json +7 -24
- package/esm2022/components/accordion/accordion.component.mjs +135 -0
- package/esm2022/components/accordion/accordion.component.module.mjs +40 -0
- package/esm2022/components/accordion/accordion.model.mjs +2 -0
- package/esm2022/components/autocomplete/autocomplete.component.mjs +716 -0
- package/esm2022/components/autocomplete/autocomplete.component.module.mjs +73 -0
- package/esm2022/components/autocomplete/autocomplete.model.mjs +25 -0
- package/esm2022/components/autocomplete/includes.pipe.mjs +25 -0
- package/esm2022/components/autocomplete/prevent-input.directive.mjs +27 -0
- package/esm2022/components/autocomplete/transform-Item.pipe.mjs +32 -0
- package/esm2022/components/checklist/checklist.component.mjs +147 -0
- package/esm2022/components/checklist/checklist.model.mjs +2 -0
- package/esm2022/components/confirm-dialog/confirm-dialog.component.mjs +54 -0
- package/esm2022/components/confirm-dialog/confirm-dialog.component.module.mjs +29 -0
- package/esm2022/components/confirm-dialog/confirm-dialog.model.mjs +2 -0
- package/esm2022/components/datepicker/DateAdapter.mjs +30 -0
- package/esm2022/components/datepicker/datepicker.component.mjs +335 -0
- package/esm2022/components/datepicker/datepicker.component.module.mjs +60 -0
- package/esm2022/components/datepicker/datepicker.service.mjs +20 -0
- package/esm2022/components/datepicker/no-date-format.directive.mjs +56 -0
- package/esm2022/components/deprecated-paginator/deprecated-paginator.component.mjs +55 -0
- package/esm2022/components/deprecated-paginator/deprecated-paginator.component.module.mjs +20 -0
- package/esm2022/components/deprecated-table/deprecated-table.component.mjs +158 -0
- package/esm2022/components/deprecated-table/deprecated-table.component.module.mjs +43 -0
- package/esm2022/components/deprecated-table/deprecated-table.model.mjs +13 -0
- package/esm2022/components/deprecated-table/directives/dynamic-component.directive.mjs +40 -0
- package/esm2022/components/dialog/dialog.component.mjs +253 -0
- package/esm2022/components/dialog/dialog.component.module.mjs +23 -0
- package/esm2022/components/dialog/dialog.service.mjs +35 -0
- package/esm2022/components/divider/divider.component.mjs +65 -0
- package/esm2022/components/divider/divider.component.module.mjs +19 -0
- package/esm2022/components/divider/divider.model.mjs +2 -0
- package/esm2022/components/dropdown/dropdown.component.mjs +349 -0
- package/esm2022/components/dropdown/dropdown.component.module.mjs +57 -0
- package/esm2022/components/dropdown/dropdown.model.mjs +2 -0
- package/esm2022/components/elevation-shadow/elevation-shadow.component.mjs +45 -0
- package/esm2022/components/elevation-shadow/elevation-shadow.component.module.mjs +18 -0
- package/esm2022/components/elevation-shadow/elevation-shadow.constant.mjs +9 -0
- package/esm2022/components/empty-state/empty-state.component.mjs +186 -0
- package/esm2022/components/empty-state/empty-state.component.module.mjs +21 -0
- package/esm2022/components/empty-state/empty-state.model.mjs +2 -0
- package/esm2022/components/file-upload/file-upload.component.mjs +282 -0
- package/esm2022/components/file-upload/file-upload.component.module.mjs +40 -0
- package/esm2022/components/icon/icon.component.mjs +2 -2
- package/esm2022/components/icon-label/icon-label.component.mjs +53 -0
- package/esm2022/components/icon-label/icon-label.component.module.mjs +20 -0
- package/esm2022/components/media-card/media-card.component.mjs +47 -0
- package/esm2022/components/multi-input/multi-input.component.mjs +318 -0
- package/esm2022/components/multi-input/multi-input.component.module.mjs +58 -0
- package/esm2022/components/multi-input/multi-input.model.mjs +2 -0
- package/esm2022/components/navbar/mobile-navbar-side-sheet/mobile-navbar-side-sheet.component.mjs +82 -0
- package/esm2022/components/navbar/navbar.component.mjs +209 -0
- package/esm2022/components/navbar/navbar.component.module.mjs +71 -0
- package/esm2022/components/navbar/navbar.model.mjs +2 -0
- package/esm2022/components/overflow-menu/overflow-menu.component.mjs +195 -0
- package/esm2022/components/overflow-menu/overflow-menu.component.module.mjs +25 -0
- package/esm2022/components/overflow-menu/overflow-menu.model.mjs +2 -0
- package/esm2022/components/page-header/page-header.component.mjs +71 -0
- package/esm2022/components/page-header/page-header.component.module.mjs +20 -0
- package/esm2022/components/paginator/paginator.component.mjs +87 -0
- package/esm2022/components/paginator/paginator.component.module.mjs +19 -0
- package/esm2022/components/password-criteria/password.component.mjs +105 -0
- package/esm2022/components/password-criteria/password.component.module.mjs +39 -0
- package/esm2022/components/password-strength/password-strength.component.mjs +93 -0
- package/esm2022/components/password-strength/password-strength.component.module.mjs +21 -0
- package/esm2022/components/phone-input/join-strings.pipe.mjs +14 -0
- package/esm2022/components/phone-input/phone-input.component.mjs +353 -0
- package/esm2022/components/phone-input/phone-input.component.module.mjs +63 -0
- package/esm2022/components/phone-input/phone-input.model.mjs +2 -0
- package/esm2022/components/progress-bar/progress-bar.component.mjs +103 -0
- package/esm2022/components/progress-bar/progress-bar.component.module.mjs +21 -0
- package/esm2022/components/radial-progress/radial-progress.component.mjs +106 -0
- package/esm2022/components/radial-progress/radial-progress.component.module.mjs +20 -0
- package/esm2022/components/radial-progress/radial-progress.model.mjs +11 -0
- package/esm2022/components/rating/half-star.pipe.mjs +23 -0
- package/esm2022/components/rating/rating.component.mjs +92 -0
- package/esm2022/components/rating/rating.component.module.mjs +20 -0
- package/esm2022/components/scale/scale.component.mjs +124 -0
- package/esm2022/components/scale/scale.component.module.mjs +18 -0
- package/esm2022/components/segmented-bar/segmented-bar.component.mjs +106 -0
- package/esm2022/components/segmented-bar/segmented-bar.component.module.mjs +23 -0
- package/esm2022/components/segmented-bar/segmented-bar.model.mjs +2 -0
- package/esm2022/components/segmented-button/segmented-button.component.mjs +104 -0
- package/esm2022/components/segmented-button/segmented-button.component.module.mjs +21 -0
- package/esm2022/components/segmented-button/segmented-button.model.mjs +2 -0
- package/esm2022/components/side-sheet/side-sheet.component.mjs +105 -0
- package/esm2022/components/side-sheet/side-sheet.component.module.mjs +43 -0
- package/esm2022/components/side-sheet/side-sheet.model.mjs +2 -0
- package/esm2022/components/side-sheet/side-sheet.service.mjs +31 -0
- package/esm2022/components/skeleton/skeleton.component.mjs +71 -0
- package/esm2022/components/skeleton/skeleton.model.mjs +2 -0
- package/esm2022/components/slider/slider.component.mjs +198 -0
- package/esm2022/components/slider/slider.component.module.mjs +43 -0
- package/esm2022/components/slider/slider.model.mjs +2 -0
- package/esm2022/components/spider-chart/spider-chart.component.mjs +425 -0
- package/esm2022/components/spider-chart/spider-chart.model.mjs +4 -0
- package/esm2022/components/spider-chart/spider-chart.module.mjs +41 -0
- package/esm2022/components/step/step.component.mjs +149 -0
- package/esm2022/components/step/step.component.module.mjs +20 -0
- package/esm2022/components/stepper/stepper.component.mjs +150 -0
- package/esm2022/components/stepper/stepper.component.module.mjs +44 -0
- package/esm2022/components/stepper/stepper.model.mjs +2 -0
- package/esm2022/components/table/sentence-case.pipe.mjs +19 -0
- package/esm2022/components/table/table.component.mjs +226 -0
- package/esm2022/components/table/table.component.module.mjs +61 -0
- package/esm2022/components/table/table.model.mjs +13 -0
- package/esm2022/components/tabs/tab.directive.mjs +54 -0
- package/esm2022/components/tabs/tabs.component.mjs +188 -0
- package/esm2022/components/tabs/tabs.component.module.mjs +21 -0
- package/esm2022/components/tabs/tabs.model.mjs +2 -0
- package/esm2022/components/tag/tag.component.mjs +212 -0
- package/esm2022/components/tag/tag.component.module.mjs +24 -0
- package/esm2022/components/tag/tag.model.mjs +2 -0
- package/esm2022/components/toggle/toggle.component.mjs +190 -0
- package/esm2022/components/toggle/toggle.component.module.mjs +24 -0
- package/esm2022/components/toggle/toggle.model.mjs +2 -0
- package/esm2022/components/tooltip/tooltip-template.directive.mjs +9 -11
- package/esm2022/components/universal-skills-report/universal-skills-report.component.mjs +115 -0
- package/esm2022/components/universal-skills-report/universal-skills-report.component.module.mjs +43 -0
- package/esm2022/components/universal-skills-report/universal-skills-report.model.mjs +19 -0
- package/esm2022/directives/drag-drop.directive.mjs +55 -0
- package/esm2022/directives/select-text.directive.mjs +40 -0
- package/esm2022/directives/step-line-element.directive.mjs +51 -0
- package/esm2022/models/keyboard-events.model.mjs +13 -0
- package/esm2022/models/screen-breakpoints.model.mjs +6 -0
- package/esm2022/pipes/data-property-getter.mjs +33 -0
- package/esm2022/pipes/ui-ordinal-suffix.pipe.mjs +31 -0
- package/esm2022/providers/is-mobile.mjs +11 -0
- package/esm2022/public-api.mjs +214 -189
- package/esm2022/utils/autocomplete-utils.mjs +66 -0
- package/esm2022/utils/hex-to-rgb.mjs +9 -0
- package/esm2022/utils/table.utils.mjs +19 -0
- package/fesm2022/testgorilla-tgo-ui.mjs +11137 -3138
- package/fesm2022/testgorilla-tgo-ui.mjs.map +1 -1
- package/models/keyboard-events.model.d.ts +11 -0
- package/models/screen-breakpoints.model.d.ts +4 -0
- package/package.json +2 -4
- package/pipes/data-property-getter.d.ts +8 -0
- package/pipes/ui-ordinal-suffix.pipe.d.ts +7 -0
- package/projects/tgo-canopy-ui/assets/i18n/en.json +7 -24
- package/providers/is-mobile.d.ts +2 -0
- package/public-api.d.ts +151 -17
- package/utils/autocomplete-utils.d.ts +12 -0
- package/utils/hex-to-rgb.d.ts +1 -0
- package/utils/table.utils.d.ts +6 -0
- package/components/alert-banner/index.d.ts +0 -1
- package/components/alert-banner/public-api.d.ts +0 -2
- package/components/avatar/index.d.ts +0 -1
- package/components/avatar/public-api.d.ts +0 -3
- package/components/badge/index.d.ts +0 -1
- package/components/badge/public-api.d.ts +0 -3
- package/components/button/index.d.ts +0 -1
- package/components/button/public-api.d.ts +0 -3
- package/components/card/index.d.ts +0 -1
- package/components/card/public-api.d.ts +0 -3
- package/components/checkbox/index.d.ts +0 -1
- package/components/checkbox/public-api.d.ts +0 -2
- package/components/field/index.d.ts +0 -1
- package/components/field/public-api.d.ts +0 -3
- package/components/gaussian-chart/gaussian-chart.component.d.ts +0 -75
- package/components/gaussian-chart/gaussian-chart.module.d.ts +0 -13
- package/components/icon/index.d.ts +0 -1
- package/components/icon/public-api.d.ts +0 -3
- package/components/logo/index.d.ts +0 -1
- package/components/logo/public-api.d.ts +0 -3
- package/components/radio-button/index.d.ts +0 -1
- package/components/radio-button/public-api.d.ts +0 -2
- package/components/side-panel/index.d.ts +0 -1
- package/components/side-panel/public-api.d.ts +0 -3
- package/components/snackbar/index.d.ts +0 -1
- package/components/snackbar/public-api.d.ts +0 -4
- package/components/spinner/index.d.ts +0 -1
- package/components/spinner/public-api.d.ts +0 -3
- package/components/tooltip/index.d.ts +0 -1
- package/components/tooltip/public-api.d.ts +0 -3
- package/esm2022/components/alert-banner/index.mjs +0 -2
- package/esm2022/components/alert-banner/public-api.mjs +0 -3
- package/esm2022/components/avatar/index.mjs +0 -2
- package/esm2022/components/avatar/public-api.mjs +0 -4
- package/esm2022/components/badge/index.mjs +0 -2
- package/esm2022/components/badge/public-api.mjs +0 -4
- package/esm2022/components/button/index.mjs +0 -2
- package/esm2022/components/button/public-api.mjs +0 -4
- package/esm2022/components/card/index.mjs +0 -2
- package/esm2022/components/card/public-api.mjs +0 -4
- package/esm2022/components/checkbox/index.mjs +0 -2
- package/esm2022/components/checkbox/public-api.mjs +0 -3
- package/esm2022/components/field/index.mjs +0 -2
- package/esm2022/components/field/public-api.mjs +0 -4
- package/esm2022/components/gaussian-chart/gaussian-chart.component.mjs +0 -246
- package/esm2022/components/gaussian-chart/gaussian-chart.module.mjs +0 -42
- package/esm2022/components/icon/index.mjs +0 -2
- package/esm2022/components/icon/public-api.mjs +0 -4
- package/esm2022/components/logo/index.mjs +0 -2
- package/esm2022/components/logo/public-api.mjs +0 -4
- package/esm2022/components/radio-button/index.mjs +0 -2
- package/esm2022/components/radio-button/public-api.mjs +0 -3
- package/esm2022/components/side-panel/index.mjs +0 -2
- package/esm2022/components/side-panel/public-api.mjs +0 -4
- package/esm2022/components/snackbar/index.mjs +0 -2
- package/esm2022/components/snackbar/public-api.mjs +0 -5
- package/esm2022/components/spinner/index.mjs +0 -2
- package/esm2022/components/spinner/public-api.mjs +0 -4
- package/esm2022/components/tooltip/index.mjs +0 -2
- package/esm2022/components/tooltip/public-api.mjs +0 -4
|
@@ -0,0 +1,335 @@
|
|
|
1
|
+
/* eslint-disable no-underscore-dangle */
|
|
2
|
+
import { ChangeDetectionStrategy, Component, EventEmitter, HostBinding, Inject, Input, Optional, Output, Self, ViewEncapsulation, } from '@angular/core';
|
|
3
|
+
import { FormControl, FormGroup } from '@angular/forms';
|
|
4
|
+
import { adjustLightness } from "../../utils/color-contrast";
|
|
5
|
+
import { DateAdapter, MAT_DATE_FORMATS } from "@angular/material/core";
|
|
6
|
+
import { UI_DATE_FORMATS, UiDateAdapter } from "./DateAdapter";
|
|
7
|
+
import * as i0 from "@angular/core";
|
|
8
|
+
import * as i1 from "@angular/platform-browser";
|
|
9
|
+
import * as i2 from "@angular/forms";
|
|
10
|
+
import * as i3 from "./datepicker.service";
|
|
11
|
+
import * as i4 from "@angular/common";
|
|
12
|
+
import * as i5 from "@angular/material/form-field";
|
|
13
|
+
import * as i6 from "@angular/material/input";
|
|
14
|
+
import * as i7 from "../icon/icon.component";
|
|
15
|
+
import * as i8 from "@angular/material/datepicker";
|
|
16
|
+
import * as i9 from "./no-date-format.directive";
|
|
17
|
+
import * as i10 from "../validation-error/validation-error.component";
|
|
18
|
+
import * as i11 from "../../pipes/ui-translate.pipe";
|
|
19
|
+
import * as i12 from "../../pipes/has-validation-error.pipe";
|
|
20
|
+
// eslint-disable-next-line @angular-eslint/no-conflicting-lifecycle
|
|
21
|
+
export class DatepickerComponent {
|
|
22
|
+
/**
|
|
23
|
+
* Input field errors
|
|
24
|
+
*
|
|
25
|
+
* @type {string}
|
|
26
|
+
* @memberof DatepickerComponent
|
|
27
|
+
*/
|
|
28
|
+
set errors(errors) {
|
|
29
|
+
this._errors = errors?.filter(Boolean).map(error => this.sanitizer.bypassSecurityTrustHtml(error));
|
|
30
|
+
this.errorsLength = this.setErrorsLength();
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Use browser timezone
|
|
34
|
+
* @type boolean
|
|
35
|
+
* @memberof DatepickerComponent
|
|
36
|
+
*/
|
|
37
|
+
set browserTimezone(value) {
|
|
38
|
+
this.datepickerService.useBrowserTimezone = value;
|
|
39
|
+
}
|
|
40
|
+
constructor(defaultAppTheme, cdr, sanitizer, ngControl, datepickerService) {
|
|
41
|
+
this.defaultAppTheme = defaultAppTheme;
|
|
42
|
+
this.cdr = cdr;
|
|
43
|
+
this.sanitizer = sanitizer;
|
|
44
|
+
this.ngControl = ngControl;
|
|
45
|
+
this.datepickerService = datepickerService;
|
|
46
|
+
this.class = 'ui-datepicker';
|
|
47
|
+
/**
|
|
48
|
+
* Form field label
|
|
49
|
+
*
|
|
50
|
+
* @type {string}
|
|
51
|
+
* @memberof DatepickerComponent
|
|
52
|
+
*/
|
|
53
|
+
this.label = '';
|
|
54
|
+
/**
|
|
55
|
+
* Input placeholder
|
|
56
|
+
*
|
|
57
|
+
* @type {string}
|
|
58
|
+
* @memberof DatepickerComponent
|
|
59
|
+
*/
|
|
60
|
+
this.placeholder = '';
|
|
61
|
+
/**
|
|
62
|
+
* Input id
|
|
63
|
+
*
|
|
64
|
+
* @type {string}
|
|
65
|
+
* @memberof DatepickerComponent
|
|
66
|
+
*/
|
|
67
|
+
this.id = '';
|
|
68
|
+
/**
|
|
69
|
+
* Input is update only on blur
|
|
70
|
+
*
|
|
71
|
+
* @type {Boolean}
|
|
72
|
+
* @memberof DatepickerComponent
|
|
73
|
+
*/
|
|
74
|
+
this.updateOnBlur = false;
|
|
75
|
+
/**
|
|
76
|
+
* Show reserved content below form field
|
|
77
|
+
*
|
|
78
|
+
* @type {boolean}
|
|
79
|
+
* @memberof DatepickerComponent
|
|
80
|
+
*/
|
|
81
|
+
this.showBottomContent = true;
|
|
82
|
+
/**
|
|
83
|
+
* Set full width DatepickerComponent
|
|
84
|
+
*
|
|
85
|
+
* @type {boolean}
|
|
86
|
+
* @memberof DatepickerComponent
|
|
87
|
+
*/
|
|
88
|
+
this.fullWidth = false;
|
|
89
|
+
/**
|
|
90
|
+
* Show and pick date without day
|
|
91
|
+
* @default false
|
|
92
|
+
* @type {boolean}
|
|
93
|
+
* @memberof DatepickerComponent
|
|
94
|
+
*/
|
|
95
|
+
this.monthPicker = false;
|
|
96
|
+
/**
|
|
97
|
+
*
|
|
98
|
+
* Defines the application theme
|
|
99
|
+
*
|
|
100
|
+
* @type {ApplicationTheme}
|
|
101
|
+
* @memberof DatepickerComponent
|
|
102
|
+
*/
|
|
103
|
+
this.applicationTheme = 'light';
|
|
104
|
+
/**
|
|
105
|
+
* Hide in-build errors for Reactive Forms
|
|
106
|
+
*
|
|
107
|
+
* @type {number}
|
|
108
|
+
* @memberof DatepickerComponent
|
|
109
|
+
*/
|
|
110
|
+
this.hideBuiltInErrors = false;
|
|
111
|
+
/**
|
|
112
|
+
* Hide label in errors
|
|
113
|
+
*
|
|
114
|
+
* @type {number}
|
|
115
|
+
* @memberof DatepickerComponent
|
|
116
|
+
*/
|
|
117
|
+
this.hideLabelInErrors = false;
|
|
118
|
+
/**
|
|
119
|
+
* Prevent user input
|
|
120
|
+
*
|
|
121
|
+
* @type {boolean}
|
|
122
|
+
* @memberof DatepickerComponent
|
|
123
|
+
*/
|
|
124
|
+
this.preventUserInput = false;
|
|
125
|
+
/**
|
|
126
|
+
* Color of the option hover.
|
|
127
|
+
* Defaults to Test Gorilla primary color.
|
|
128
|
+
*
|
|
129
|
+
* @type {string}
|
|
130
|
+
* @memberof DatepickerComponent
|
|
131
|
+
*/
|
|
132
|
+
this.companyColor = '';
|
|
133
|
+
/**
|
|
134
|
+
* @ignore
|
|
135
|
+
*/
|
|
136
|
+
this.onChange = (_) => { };
|
|
137
|
+
/**
|
|
138
|
+
* @ignore
|
|
139
|
+
*/
|
|
140
|
+
this.onTouch = () => { };
|
|
141
|
+
/**
|
|
142
|
+
* Event emitted when the value is change - when used outside of form
|
|
143
|
+
*
|
|
144
|
+
* @type {Date}
|
|
145
|
+
* @memberof DatepickerComponent
|
|
146
|
+
*/
|
|
147
|
+
this.changed = new EventEmitter();
|
|
148
|
+
this.range = new FormGroup({
|
|
149
|
+
start: new FormControl(null),
|
|
150
|
+
end: new FormControl(null),
|
|
151
|
+
});
|
|
152
|
+
this.translationContext = 'DATEPICKER.';
|
|
153
|
+
if (defaultAppTheme) {
|
|
154
|
+
this.applicationTheme = defaultAppTheme;
|
|
155
|
+
}
|
|
156
|
+
if (this.ngControl != null) {
|
|
157
|
+
this.ngControl.valueAccessor = this;
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
get hint() {
|
|
161
|
+
if (this.hintMessage === undefined) {
|
|
162
|
+
return this.isRange ? 'MM/DD/YYYY - MM/DD/YYYY' : this.monthPicker ? 'MM/YYYY' : 'MM/DD/YYYY';
|
|
163
|
+
}
|
|
164
|
+
return this.hintMessage;
|
|
165
|
+
}
|
|
166
|
+
/**
|
|
167
|
+
* Used to mark component view as dirty when touched programmatically with markAsTouched/markAllAsTouched or errors
|
|
168
|
+
* to display validation errors that might happen (e.g. required)
|
|
169
|
+
*/
|
|
170
|
+
// eslint-disable-next-line @angular-eslint/no-conflicting-lifecycle
|
|
171
|
+
ngDoCheck() {
|
|
172
|
+
if (this.ngControl?.touched || this.ngControl?.errors) {
|
|
173
|
+
this.cdr.markForCheck();
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
// eslint-disable-next-line @angular-eslint/no-conflicting-lifecycle
|
|
177
|
+
ngOnInit() {
|
|
178
|
+
document.body.setAttribute('theme', this.applicationTheme);
|
|
179
|
+
this.setStyleVariable();
|
|
180
|
+
}
|
|
181
|
+
// eslint-disable-next-line @angular-eslint/no-conflicting-lifecycle
|
|
182
|
+
ngOnChanges(changes) {
|
|
183
|
+
if (this.isRange) {
|
|
184
|
+
this.setRange();
|
|
185
|
+
}
|
|
186
|
+
if (changes['companyColor']) {
|
|
187
|
+
this.setStyleVariable();
|
|
188
|
+
}
|
|
189
|
+
}
|
|
190
|
+
// Set errors length for validation
|
|
191
|
+
// Consider only those errors which which are not empty
|
|
192
|
+
setErrorsLength() {
|
|
193
|
+
if (!!this._errors) {
|
|
194
|
+
return this._errors.filter(err => !!err).length > 0 ? true : false;
|
|
195
|
+
}
|
|
196
|
+
return false;
|
|
197
|
+
}
|
|
198
|
+
onValueChange(value) {
|
|
199
|
+
this.writeValue(value);
|
|
200
|
+
this.errorsLength = this.setErrorsLength();
|
|
201
|
+
if (!this.updateOnBlur) {
|
|
202
|
+
this.onTouch();
|
|
203
|
+
}
|
|
204
|
+
this.onChange(value);
|
|
205
|
+
this.changed.emit(value);
|
|
206
|
+
}
|
|
207
|
+
writeValue(value) {
|
|
208
|
+
this.value = value;
|
|
209
|
+
if (this.isRange) {
|
|
210
|
+
this.setRange();
|
|
211
|
+
}
|
|
212
|
+
}
|
|
213
|
+
registerOnChange(fn) {
|
|
214
|
+
this.onChange = fn;
|
|
215
|
+
}
|
|
216
|
+
registerOnTouched(fn) {
|
|
217
|
+
this.onTouch = fn;
|
|
218
|
+
}
|
|
219
|
+
setDisabledState(isDisabled) {
|
|
220
|
+
this.disabled = isDisabled;
|
|
221
|
+
this.cdr.markForCheck();
|
|
222
|
+
}
|
|
223
|
+
dateRangeChange() {
|
|
224
|
+
const start = this.range.controls.start.value;
|
|
225
|
+
const end = this.range.controls.end.value;
|
|
226
|
+
this.onValueChange([new Date(start), new Date(end)]);
|
|
227
|
+
}
|
|
228
|
+
setMonthAndYear(normalizedMonthAndYear, datepicker) {
|
|
229
|
+
const ctrlValue = (this.value) || new Date();
|
|
230
|
+
ctrlValue.setMonth(normalizedMonthAndYear.getMonth());
|
|
231
|
+
ctrlValue.setFullYear(normalizedMonthAndYear.getFullYear());
|
|
232
|
+
datepicker.close();
|
|
233
|
+
this.onValueChange(new Date(ctrlValue));
|
|
234
|
+
}
|
|
235
|
+
setRange() {
|
|
236
|
+
if (Array.isArray(this.value)) {
|
|
237
|
+
const [start, end] = this.value;
|
|
238
|
+
const startDate = this.range.controls.start.value;
|
|
239
|
+
const endDate = this.range.controls.end.value;
|
|
240
|
+
if (startDate) {
|
|
241
|
+
this.range.controls.start.setValue(new Date(start));
|
|
242
|
+
}
|
|
243
|
+
if (endDate) {
|
|
244
|
+
this.range.controls.end.setValue(new Date(end));
|
|
245
|
+
}
|
|
246
|
+
}
|
|
247
|
+
if (!this.value) {
|
|
248
|
+
this.range.controls.start.setValue(null);
|
|
249
|
+
this.range.controls.end.setValue(null);
|
|
250
|
+
}
|
|
251
|
+
}
|
|
252
|
+
onInput(event) {
|
|
253
|
+
const target = event.target;
|
|
254
|
+
const [month, year] = target.value.split('/');
|
|
255
|
+
const date = new Date().getDate();
|
|
256
|
+
const fullDateString = `${month}/${date}/${year}`;
|
|
257
|
+
const fullDate = new Date(fullDateString);
|
|
258
|
+
this.onValueChange(fullDate);
|
|
259
|
+
}
|
|
260
|
+
setStyleVariable() {
|
|
261
|
+
const hover = this.companyColor ? adjustLightness(this.companyColor, 'hover') : '#FFF2FC';
|
|
262
|
+
document.body.style.setProperty('--datepicker-hover-color', hover);
|
|
263
|
+
document.body.style.setProperty('--datepicker-selected-color', `${this.companyColor || '#D410AA'}`);
|
|
264
|
+
}
|
|
265
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DatepickerComponent, deps: [{ token: 'CANOPYUI_DEFAULT_APPLICATION_THEME', optional: true }, { token: i0.ChangeDetectorRef }, { token: i1.DomSanitizer }, { token: i2.NgControl, optional: true, self: true }, { token: i3.DatepickerService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
266
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: DatepickerComponent, selector: "ui-datepicker", inputs: { label: "label", fieldName: "fieldName", placeholder: "placeholder", id: "id", value: "value", errors: "errors", isRange: "isRange", disabled: "disabled", required: "required", hintMessage: "hintMessage", updateOnBlur: "updateOnBlur", showBottomContent: "showBottomContent", fullWidth: "fullWidth", minDate: "minDate", maxDate: "maxDate", monthPicker: "monthPicker", applicationTheme: "applicationTheme", hideBuiltInErrors: "hideBuiltInErrors", hideLabelInErrors: "hideLabelInErrors", preventUserInput: "preventUserInput", companyColor: "companyColor", browserTimezone: "browserTimezone" }, outputs: { changed: "changed" }, host: { properties: { "class": "this.class" } }, providers: [
|
|
267
|
+
{ provide: DateAdapter, useClass: UiDateAdapter },
|
|
268
|
+
{ provide: MAT_DATE_FORMATS, useValue: UI_DATE_FORMATS }
|
|
269
|
+
], usesOnChanges: true, ngImport: i0, template: "<ng-container>\n <mat-form-field\n *ngIf=\"!monthPicker; else dateYearPicker\"\n #uiDatepicker\n appearance=\"outline\"\n [color]=\"(errorsLength || (ngControl?.errors && ngControl?.touched )) ? 'warn' : 'accent'\"\n [ngClass]=\"{ 'hide-bottom-content': !showBottomContent, 'full-width': fullWidth }\"\n >\n <mat-label *ngIf=\"label\">{{ label }}<span *ngIf=\"required\"> *</span></mat-label>\n <ng-container *ngIf=\"!isRange\">\n <input *ngIf=\"!isRange\" matInput\n [matDatepicker]=\"picker\"\n (blur)=\"onTouch()\"\n (dateChange)=\"onValueChange($event.value)\"\n [id]=\"id!\"\n [placeholder]=\"placeholder!\"\n [value]=\"value\"\n [disabled]=\"disabled\"\n [name]=\"fieldName!\"\n [readonly]=\"preventUserInput\"\n [min]=\"minDate\"\n [max]=\"maxDate\"\n />\n <mat-datepicker-toggle matIconSuffix [for]=\"picker\">\n <ui-icon matDatepickerToggleIcon [applicationTheme]=\"applicationTheme\" name=\"Calendar\" size=\"24\" color=\"inherit\"></ui-icon>\n </mat-datepicker-toggle>\n <mat-datepicker #picker></mat-datepicker>\n </ng-container>\n\n <ng-container *ngIf=\"isRange\">\n <mat-date-range-input *ngIf=\"isRange\" [formGroup]=\"range\" [rangePicker]=\"rangePicker\" [min]=\"minDate\" [max]=\"maxDate\" >\n <input matStartDate formControlName=\"start\" [placeholder]=\"(translationContext + 'START_DATE') | uiTranslate | async\" (dateChange)=\"dateRangeChange()\">\n <input matEndDate formControlName=\"end\" [placeholder]=\"(translationContext + 'END_DATE') | uiTranslate | async\" (dateChange)=\"dateRangeChange()\">\n </mat-date-range-input>\n <mat-datepicker-toggle matIconSuffix [for]=\"rangePicker\">\n <ui-icon matDatepickerToggleIcon [applicationTheme]=\"applicationTheme\" name=\"Calendar\" size=\"24\" color=\"inherit\"></ui-icon>\n </mat-datepicker-toggle>\n <mat-date-range-picker #rangePicker></mat-date-range-picker>\n </ng-container>\n\n <mat-hint class=\"info\" *ngIf=\"hint && !_errors && !(ngControl?.touched && (ngControl?.errors | hasValidationError))\">{{ hint }}</mat-hint>\n <mat-hint class=\"error\" *ngIf=\"errorsLength || (ngControl?.touched && (ngControl?.errors | hasValidationError))\">\n <ng-container *ngIf=\"errorsLength\">\n <div class=\"errors\" *ngFor=\"let error of _errors\">\n <ui-icon [applicationTheme]=\"applicationTheme\" name=\"Error\"></ui-icon>\n <span [innerHTML]=\"error\"></span>\n </div>\n </ng-container>\n <ui-validation-error *ngIf=\"ngControl && !hideBuiltInErrors\" [ngControl]=\"ngControl\" [label]=\"hideLabelInErrors ? null : label\"></ui-validation-error>\n </mat-hint>\n </mat-form-field>\n\n <ng-template #dateYearPicker>\n <mat-form-field\n appNoDateFormat\n #uiDatepicker\n appearance=\"outline\"\n [color]=\"(errorsLength || (ngControl?.errors && ngControl?.touched )) ? 'warn' : 'accent'\"\n [ngClass]=\"{ 'hide-bottom-content': !showBottomContent, 'full-width': fullWidth }\"\n >\n <mat-label *ngIf=\"label\">{{ label }}<span *ngIf=\"required\"> *</span></mat-label>\n\n <ng-container >\n <input matInput\n [id]=\"id!\"\n (blur)=\"onTouch()\"\n [placeholder]=\"placeholder!\"\n [matDatepicker]=\"dp\"\n [value]=\"value\"\n [disabled]=\"disabled\"\n [name]=\"fieldName!\"\n [min]=\"minDate\"\n [max]=\"maxDate\"\n [readonly]=\"preventUserInput\"\n (change)=\"onInput($event)\"\n (dateChange)=\"onValueChange($event.value)\"\n >\n <mat-datepicker-toggle matIconSuffix [for]=\"dp\">\n <ui-icon *ngIf=\"applicationTheme !== 'classic'\" matDatepickerToggleIcon [applicationTheme]=\"applicationTheme\" name=\"Calendar\" size=\"24\" color=\"inherit\"></ui-icon>\n </mat-datepicker-toggle>\n <mat-datepicker panelClass=\"month-picker\" #dp startView=\"multi-year\" (monthSelected)=\"setMonthAndYear($event, dp)\"></mat-datepicker>\n </ng-container>\n\n <mat-hint class=\"info\" *ngIf=\"hint && !_errors && !(ngControl?.touched && (ngControl?.errors | hasValidationError))\">{{ hint }}</mat-hint>\n <mat-hint class=\"error\" *ngIf=\"errorsLength || (ngControl?.touched && (ngControl?.errors | hasValidationError))\">\n <ng-container *ngIf=\"errorsLength\">\n <div class=\"errors\" *ngFor=\"let error of _errors\">\n <ui-icon [applicationTheme]=\"applicationTheme\" name=\"Error\"></ui-icon>\n <span [innerHTML]=\"error\"></span>\n </div>\n </ng-container>\n <ui-validation-error *ngIf=\"ngControl && !hideBuiltInErrors\" [ngControl]=\"ngControl\" [label]=\"hideLabelInErrors ? null : label\"></ui-validation-error>\n </mat-hint>\n\n </mat-form-field>\n </ng-template>\n\n</ng-container>\n", styles: [".bg-teal-60b{background:#1c443c}.bg-teal-30b{background:#31766a}.bg-teal-default{background:#46a997}.bg-teal-30w{background:#7ec3b6}.bg-teal-60w{background:#b5ddd5}.bg-teal-secondary{background:#cbd6cb}.bg-teal-90w{background:#ecf6f5}.bg-petrol-60b{background:#102930}.bg-petrol-30b{background:#1b4754}.bg-petrol-default{background:#276678}.bg-petrol-30w{background:#6894a0}.bg-petrol-60w{background:#a9c2c9}.bg-petrol-secondary{background:#c8d7de}.bg-petrol-90w{background:#e9f0f1}.bg-error-60b{background:#513131}.bg-error-30b{background:#8e5655}.bg-error-60w{background:#e3c3c6}.bg-error-secondary{background:#f0dad9}.bg-error-default{background:#cb7b7a}.bg-warning-secondary{background:#f0d6bb}.bg-warning-default{background:#cca45f}.bg-black{background:#000}.bg-dark{background:#888}.bg-medium{background:#e0e0e0}.bg-grey{background:#ededed}.bg-light{background:#f6f6f6}.bg-white{background:#fff}.bg-box-shadow{background:#00000014}.bg-navigation-subtitle{background:#528593}.bgc-teal-60b{background-color:#1c443c}.bgc-teal-30b{background-color:#31766a}.bgc-teal-default{background-color:#46a997}.bgc-teal-30w{background-color:#7ec3b6}.bgc-teal-60w{background-color:#b5ddd5}.bgc-teal-secondary{background-color:#cbd6cb}.bgc-teal-90w{background-color:#ecf6f5}.bgc-petrol-60b{background-color:#102930}.bgc-petrol-30b{background-color:#1b4754}.bgc-petrol-default{background-color:#276678}.bgc-petrol-30w{background-color:#6894a0}.bgc-petrol-60w{background-color:#a9c2c9}.bgc-petrol-secondary{background-color:#c8d7de}.bgc-petrol-90w{background-color:#e9f0f1}.bgc-error-60b{background-color:#513131}.bgc-error-30b{background-color:#8e5655}.bgc-error-60w{background-color:#e3c3c6}.bgc-error-secondary{background-color:#f0dad9}.bgc-error-default{background-color:#cb7b7a}.bgc-warning-secondary{background-color:#f0d6bb}.bgc-warning-default{background-color:#cca45f}.bgc-black{background-color:#000}.bgc-dark{background-color:#888}.bgc-medium{background-color:#e0e0e0}.bgc-grey{background-color:#ededed}.bgc-light{background-color:#f6f6f6}.bgc-white{background-color:#fff}.bgc-box-shadow{background-color:#00000014}.bgc-navigation-subtitle{background-color:#528593}.month-picker .mat-calendar-period-button{pointer-events:none}.month-picker .mat-calendar-arrow{display:none}.ui-datepicker{width:100%}.ui-datepicker .mat-mdc-form-field{margin-top:0;min-width:296px}.ui-datepicker .mat-mdc-form-field.full-width{width:100%}.ui-datepicker .mat-mdc-form-field.hide-bottom-content .mat-mdc-form-field-subscript-wrapper{display:none}.ui-datepicker .mat-mdc-form-field.mat-form-field-appearance-outline .mat-mdc-text-field-wrapper{height:48px}.ui-datepicker .mat-mdc-form-field.mat-form-field-appearance-outline .mat-mdc-text-field-wrapper .mat-mdc-form-field-flex .mat-mdc-floating-label{top:22px}.ui-datepicker .mat-mdc-form-field.mat-form-field-appearance-outline .mdc-notched-outline{color:#888}.ui-datepicker .mat-mdc-form-field.mat-form-field-appearance-outline .mdc-notched-outline .mdc-floating-label--float-above{transform:translateY(-30px) scale(.75)}.ui-datepicker .mat-mdc-form-field.mat-form-field-appearance-outline .mat-mdc-form-field-infix{min-height:48px;max-height:48px;padding:4px 0;line-height:22px;display:inline-flex;align-items:center}.ui-datepicker .mat-mdc-form-field.mat-form-field-appearance-outline .mat-mdc-form-field-subscript-wrapper{padding:0 0 12px;margin-top:0;font-size:12px;line-height:16px;position:relative}.ui-datepicker .mat-mdc-form-field.mat-form-field-appearance-outline .mat-mdc-form-field-subscript-wrapper .mat-form-field-hint-spacer{display:none}.ui-datepicker .mat-mdc-form-field.mat-form-field-appearance-outline .mat-mdc-form-field-hint.info{color:#888;width:100%}.ui-datepicker .mat-mdc-form-field.mat-form-field-appearance-outline .mat-mdc-form-field-bottom-align:before{height:0}.ui-datepicker .mat-mdc-form-field.mat-form-field-appearance-outline .mat-mdc-form-field-hint-wrapper{padding:0;position:relative}.ui-datepicker .mat-mdc-form-field.mat-form-field-appearance-outline .mat-mdc-form-field-hint.error,.ui-datepicker .mat-mdc-form-field.mat-form-field-appearance-outline .mat-mdc-form-field-hint.error svg{color:#cb7b7a}.ui-datepicker .mat-mdc-form-field.mat-form-field-appearance-outline .mat-mdc-form-field-hint.error{display:flex}.ui-datepicker .mat-mdc-form-field.mat-form-field-appearance-outline .mat-mdc-form-field-hint.error ui-icon{margin-right:4px}.ui-datepicker .mat-mdc-form-field.mat-warn.mat-form-field-appearance-outline:not(.mdc-text-field--disabled) .mat-mdc-form-field-flex:hover .mdc-notched-outline .mdc-notched-outline__leading,.ui-datepicker .mat-mdc-form-field.mat-warn.mat-form-field-appearance-outline:not(.mdc-text-field--disabled) .mat-mdc-form-field-flex:hover .mdc-notched-outline .mdc-notched-outline__trailing,.ui-datepicker .mat-mdc-form-field.mat-warn.mat-form-field-appearance-outline:not(.mdc-text-field--disabled) .mat-mdc-form-field-flex:hover .mdc-notched-outline .mdc-notched-outline__notch{border-color:#cb7b7a}.ui-datepicker .mat-mdc-form-field.mat-warn.mat-form-field-appearance-outline .mdc-notched-outline .mdc-notched-outline__leading,.ui-datepicker .mat-mdc-form-field.mat-warn.mat-form-field-appearance-outline .mdc-notched-outline .mdc-notched-outline__trailing,.ui-datepicker .mat-mdc-form-field.mat-warn.mat-form-field-appearance-outline .mdc-notched-outline .mdc-notched-outline__notch{border-color:#cb7b7a}.ui-datepicker .mat-mdc-form-field.mat-warn.mat-focused .mat-mdc-text-field-wrapper .mat-mdc-form-field-flex .mat-mdc-form-field-infix .mat-form-field-label mat-label{color:#cb7b7a}.ui-datepicker .mat-mdc-form-field .mat-mdc-form-field-hint.error{display:flex;flex-flow:column;row-gap:4px}.ui-datepicker .mat-mdc-form-field .mat-mdc-form-field-hint.error .errors{display:flex;padding-bottom:10px}.ui-datepicker .mat-mdc-form-field.mat-accent.mat-form-field-appearance-outline:not(.mat-form-field-disabled) .mat-mdc-form-field-flex:hover .mdc-notched-outline{color:#276678}.ui-datepicker .mat-mdc-form-field.mat-accent.mat-focused .mat-mdc-text-field-wrapper .mat-mdc-form-field-flex .mat-mdc-form-field-infix .mat-form-field-label mat-label{color:#276678}.ui-datepicker .mat-mdc-form-field.mat-form-field-disabled.mat-form-field-appearance-outline .mdc-notched-outline{color:#e0e0e0}.ui-datepicker .mat-mdc-form-field .mat-mdc-form-field-hint .hint-message{color:#888!important;margin-top:4px}.mat-datepicker-content .mat-mdc-button.mat-unthemed .mdc-button__label>span{font-weight:600}.mat-datepicker-content.mat-datepicker-content.mat-accent .mat-calendar-body-cell:not(.mat-calendar-body-disabled):hover>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical){background-color:#e9f0f1}.mat-datepicker-content.mat-datepicker-content.mat-accent .mat-calendar-body-in-range:before{background-color:#e9f0f1}[theme=dark] .mat-datepicker-content.mat-datepicker-content.mat-accent .mat-calendar-body-cell:not(.mat-calendar-body-disabled):hover>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical),[theme=light] .mat-datepicker-content.mat-datepicker-content.mat-accent .mat-calendar-body-cell:not(.mat-calendar-body-disabled):hover>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical){background-color:var(--datepicker-hover-color)}[theme=dark] .mat-datepicker-content.mat-datepicker-content.mat-accent .mat-calendar-body-in-range:before,[theme=light] .mat-datepicker-content.mat-datepicker-content.mat-accent .mat-calendar-body-in-range:before{background-color:var(--datepicker-hover-color)}[theme=dark] .mat-datepicker-content .mat-calendar-body-selected,[theme=light] .mat-datepicker-content .mat-calendar-body-selected{background-color:var(--datepicker-selected-color)}[theme=dark] .mat-datepicker-content .mat-calendar-body-today:not(.mat-calendar-body-selected),[theme=light] .mat-datepicker-content .mat-calendar-body-today:not(.mat-calendar-body-selected){background:transparent;--mat-datepicker-calendar-date-focus-state-background-color: $tgo-white }[theme=dark] .mat-datepicker-content .mat-calendar-body-active>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical),[theme=light] .mat-datepicker-content .mat-calendar-body-active>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical){--mat-datepicker-calendar-date-focus-state-background-color: var(--datepicker-hover-color)}.info{margin-top:4px!important;padding-bottom:10px}\n"], dependencies: [{ kind: "directive", type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i5.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i5.MatLabel, selector: "mat-label" }, { kind: "directive", type: i5.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "directive", type: i5.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "directive", type: i6.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: i7.IconComponent, selector: "ui-icon", inputs: ["size", "cssClass", "name", "color", "filled", "applicationTheme", "useFullIconName"] }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i8.MatDatepicker, selector: "mat-datepicker", exportAs: ["matDatepicker"] }, { kind: "directive", type: i8.MatDatepickerInput, selector: "input[matDatepicker]", inputs: ["matDatepicker", "min", "max", "matDatepickerFilter"], exportAs: ["matDatepickerInput"] }, { kind: "component", type: i8.MatDatepickerToggle, selector: "mat-datepicker-toggle", inputs: ["for", "tabIndex", "aria-label", "disabled", "disableRipple"], exportAs: ["matDatepickerToggle"] }, { kind: "directive", type: i8.MatDatepickerToggleIcon, selector: "[matDatepickerToggleIcon]" }, { kind: "component", type: i8.MatDateRangeInput, selector: "mat-date-range-input", inputs: ["rangePicker", "required", "dateFilter", "min", "max", "disabled", "separator", "comparisonStart", "comparisonEnd"], exportAs: ["matDateRangeInput"] }, { kind: "directive", type: i8.MatStartDate, selector: "input[matStartDate]", inputs: ["errorStateMatcher"], outputs: ["dateChange", "dateInput"] }, { kind: "directive", type: i8.MatEndDate, selector: "input[matEndDate]", inputs: ["errorStateMatcher"], outputs: ["dateChange", "dateInput"] }, { kind: "component", type: i8.MatDateRangePicker, selector: "mat-date-range-picker", exportAs: ["matDateRangePicker"] }, { kind: "directive", type: i9.NoDateFormatDirective, selector: "[appNoDateFormat]" }, { kind: "component", type: i10.ValidationErrorComponent, selector: "ui-validation-error", inputs: ["ngControl", "touchedOn", "errorMessage", "label", "applicationTheme"] }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }, { kind: "pipe", type: i11.UiTranslatePipe, name: "uiTranslate" }, { kind: "pipe", type: i12.HasValidationErrorPipe, name: "hasValidationError" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
270
|
+
}
|
|
271
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DatepickerComponent, decorators: [{
|
|
272
|
+
type: Component,
|
|
273
|
+
args: [{ selector: 'ui-datepicker', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [
|
|
274
|
+
{ provide: DateAdapter, useClass: UiDateAdapter },
|
|
275
|
+
{ provide: MAT_DATE_FORMATS, useValue: UI_DATE_FORMATS }
|
|
276
|
+
], template: "<ng-container>\n <mat-form-field\n *ngIf=\"!monthPicker; else dateYearPicker\"\n #uiDatepicker\n appearance=\"outline\"\n [color]=\"(errorsLength || (ngControl?.errors && ngControl?.touched )) ? 'warn' : 'accent'\"\n [ngClass]=\"{ 'hide-bottom-content': !showBottomContent, 'full-width': fullWidth }\"\n >\n <mat-label *ngIf=\"label\">{{ label }}<span *ngIf=\"required\"> *</span></mat-label>\n <ng-container *ngIf=\"!isRange\">\n <input *ngIf=\"!isRange\" matInput\n [matDatepicker]=\"picker\"\n (blur)=\"onTouch()\"\n (dateChange)=\"onValueChange($event.value)\"\n [id]=\"id!\"\n [placeholder]=\"placeholder!\"\n [value]=\"value\"\n [disabled]=\"disabled\"\n [name]=\"fieldName!\"\n [readonly]=\"preventUserInput\"\n [min]=\"minDate\"\n [max]=\"maxDate\"\n />\n <mat-datepicker-toggle matIconSuffix [for]=\"picker\">\n <ui-icon matDatepickerToggleIcon [applicationTheme]=\"applicationTheme\" name=\"Calendar\" size=\"24\" color=\"inherit\"></ui-icon>\n </mat-datepicker-toggle>\n <mat-datepicker #picker></mat-datepicker>\n </ng-container>\n\n <ng-container *ngIf=\"isRange\">\n <mat-date-range-input *ngIf=\"isRange\" [formGroup]=\"range\" [rangePicker]=\"rangePicker\" [min]=\"minDate\" [max]=\"maxDate\" >\n <input matStartDate formControlName=\"start\" [placeholder]=\"(translationContext + 'START_DATE') | uiTranslate | async\" (dateChange)=\"dateRangeChange()\">\n <input matEndDate formControlName=\"end\" [placeholder]=\"(translationContext + 'END_DATE') | uiTranslate | async\" (dateChange)=\"dateRangeChange()\">\n </mat-date-range-input>\n <mat-datepicker-toggle matIconSuffix [for]=\"rangePicker\">\n <ui-icon matDatepickerToggleIcon [applicationTheme]=\"applicationTheme\" name=\"Calendar\" size=\"24\" color=\"inherit\"></ui-icon>\n </mat-datepicker-toggle>\n <mat-date-range-picker #rangePicker></mat-date-range-picker>\n </ng-container>\n\n <mat-hint class=\"info\" *ngIf=\"hint && !_errors && !(ngControl?.touched && (ngControl?.errors | hasValidationError))\">{{ hint }}</mat-hint>\n <mat-hint class=\"error\" *ngIf=\"errorsLength || (ngControl?.touched && (ngControl?.errors | hasValidationError))\">\n <ng-container *ngIf=\"errorsLength\">\n <div class=\"errors\" *ngFor=\"let error of _errors\">\n <ui-icon [applicationTheme]=\"applicationTheme\" name=\"Error\"></ui-icon>\n <span [innerHTML]=\"error\"></span>\n </div>\n </ng-container>\n <ui-validation-error *ngIf=\"ngControl && !hideBuiltInErrors\" [ngControl]=\"ngControl\" [label]=\"hideLabelInErrors ? null : label\"></ui-validation-error>\n </mat-hint>\n </mat-form-field>\n\n <ng-template #dateYearPicker>\n <mat-form-field\n appNoDateFormat\n #uiDatepicker\n appearance=\"outline\"\n [color]=\"(errorsLength || (ngControl?.errors && ngControl?.touched )) ? 'warn' : 'accent'\"\n [ngClass]=\"{ 'hide-bottom-content': !showBottomContent, 'full-width': fullWidth }\"\n >\n <mat-label *ngIf=\"label\">{{ label }}<span *ngIf=\"required\"> *</span></mat-label>\n\n <ng-container >\n <input matInput\n [id]=\"id!\"\n (blur)=\"onTouch()\"\n [placeholder]=\"placeholder!\"\n [matDatepicker]=\"dp\"\n [value]=\"value\"\n [disabled]=\"disabled\"\n [name]=\"fieldName!\"\n [min]=\"minDate\"\n [max]=\"maxDate\"\n [readonly]=\"preventUserInput\"\n (change)=\"onInput($event)\"\n (dateChange)=\"onValueChange($event.value)\"\n >\n <mat-datepicker-toggle matIconSuffix [for]=\"dp\">\n <ui-icon *ngIf=\"applicationTheme !== 'classic'\" matDatepickerToggleIcon [applicationTheme]=\"applicationTheme\" name=\"Calendar\" size=\"24\" color=\"inherit\"></ui-icon>\n </mat-datepicker-toggle>\n <mat-datepicker panelClass=\"month-picker\" #dp startView=\"multi-year\" (monthSelected)=\"setMonthAndYear($event, dp)\"></mat-datepicker>\n </ng-container>\n\n <mat-hint class=\"info\" *ngIf=\"hint && !_errors && !(ngControl?.touched && (ngControl?.errors | hasValidationError))\">{{ hint }}</mat-hint>\n <mat-hint class=\"error\" *ngIf=\"errorsLength || (ngControl?.touched && (ngControl?.errors | hasValidationError))\">\n <ng-container *ngIf=\"errorsLength\">\n <div class=\"errors\" *ngFor=\"let error of _errors\">\n <ui-icon [applicationTheme]=\"applicationTheme\" name=\"Error\"></ui-icon>\n <span [innerHTML]=\"error\"></span>\n </div>\n </ng-container>\n <ui-validation-error *ngIf=\"ngControl && !hideBuiltInErrors\" [ngControl]=\"ngControl\" [label]=\"hideLabelInErrors ? null : label\"></ui-validation-error>\n </mat-hint>\n\n </mat-form-field>\n </ng-template>\n\n</ng-container>\n", styles: [".bg-teal-60b{background:#1c443c}.bg-teal-30b{background:#31766a}.bg-teal-default{background:#46a997}.bg-teal-30w{background:#7ec3b6}.bg-teal-60w{background:#b5ddd5}.bg-teal-secondary{background:#cbd6cb}.bg-teal-90w{background:#ecf6f5}.bg-petrol-60b{background:#102930}.bg-petrol-30b{background:#1b4754}.bg-petrol-default{background:#276678}.bg-petrol-30w{background:#6894a0}.bg-petrol-60w{background:#a9c2c9}.bg-petrol-secondary{background:#c8d7de}.bg-petrol-90w{background:#e9f0f1}.bg-error-60b{background:#513131}.bg-error-30b{background:#8e5655}.bg-error-60w{background:#e3c3c6}.bg-error-secondary{background:#f0dad9}.bg-error-default{background:#cb7b7a}.bg-warning-secondary{background:#f0d6bb}.bg-warning-default{background:#cca45f}.bg-black{background:#000}.bg-dark{background:#888}.bg-medium{background:#e0e0e0}.bg-grey{background:#ededed}.bg-light{background:#f6f6f6}.bg-white{background:#fff}.bg-box-shadow{background:#00000014}.bg-navigation-subtitle{background:#528593}.bgc-teal-60b{background-color:#1c443c}.bgc-teal-30b{background-color:#31766a}.bgc-teal-default{background-color:#46a997}.bgc-teal-30w{background-color:#7ec3b6}.bgc-teal-60w{background-color:#b5ddd5}.bgc-teal-secondary{background-color:#cbd6cb}.bgc-teal-90w{background-color:#ecf6f5}.bgc-petrol-60b{background-color:#102930}.bgc-petrol-30b{background-color:#1b4754}.bgc-petrol-default{background-color:#276678}.bgc-petrol-30w{background-color:#6894a0}.bgc-petrol-60w{background-color:#a9c2c9}.bgc-petrol-secondary{background-color:#c8d7de}.bgc-petrol-90w{background-color:#e9f0f1}.bgc-error-60b{background-color:#513131}.bgc-error-30b{background-color:#8e5655}.bgc-error-60w{background-color:#e3c3c6}.bgc-error-secondary{background-color:#f0dad9}.bgc-error-default{background-color:#cb7b7a}.bgc-warning-secondary{background-color:#f0d6bb}.bgc-warning-default{background-color:#cca45f}.bgc-black{background-color:#000}.bgc-dark{background-color:#888}.bgc-medium{background-color:#e0e0e0}.bgc-grey{background-color:#ededed}.bgc-light{background-color:#f6f6f6}.bgc-white{background-color:#fff}.bgc-box-shadow{background-color:#00000014}.bgc-navigation-subtitle{background-color:#528593}.month-picker .mat-calendar-period-button{pointer-events:none}.month-picker .mat-calendar-arrow{display:none}.ui-datepicker{width:100%}.ui-datepicker .mat-mdc-form-field{margin-top:0;min-width:296px}.ui-datepicker .mat-mdc-form-field.full-width{width:100%}.ui-datepicker .mat-mdc-form-field.hide-bottom-content .mat-mdc-form-field-subscript-wrapper{display:none}.ui-datepicker .mat-mdc-form-field.mat-form-field-appearance-outline .mat-mdc-text-field-wrapper{height:48px}.ui-datepicker .mat-mdc-form-field.mat-form-field-appearance-outline .mat-mdc-text-field-wrapper .mat-mdc-form-field-flex .mat-mdc-floating-label{top:22px}.ui-datepicker .mat-mdc-form-field.mat-form-field-appearance-outline .mdc-notched-outline{color:#888}.ui-datepicker .mat-mdc-form-field.mat-form-field-appearance-outline .mdc-notched-outline .mdc-floating-label--float-above{transform:translateY(-30px) scale(.75)}.ui-datepicker .mat-mdc-form-field.mat-form-field-appearance-outline .mat-mdc-form-field-infix{min-height:48px;max-height:48px;padding:4px 0;line-height:22px;display:inline-flex;align-items:center}.ui-datepicker .mat-mdc-form-field.mat-form-field-appearance-outline .mat-mdc-form-field-subscript-wrapper{padding:0 0 12px;margin-top:0;font-size:12px;line-height:16px;position:relative}.ui-datepicker .mat-mdc-form-field.mat-form-field-appearance-outline .mat-mdc-form-field-subscript-wrapper .mat-form-field-hint-spacer{display:none}.ui-datepicker .mat-mdc-form-field.mat-form-field-appearance-outline .mat-mdc-form-field-hint.info{color:#888;width:100%}.ui-datepicker .mat-mdc-form-field.mat-form-field-appearance-outline .mat-mdc-form-field-bottom-align:before{height:0}.ui-datepicker .mat-mdc-form-field.mat-form-field-appearance-outline .mat-mdc-form-field-hint-wrapper{padding:0;position:relative}.ui-datepicker .mat-mdc-form-field.mat-form-field-appearance-outline .mat-mdc-form-field-hint.error,.ui-datepicker .mat-mdc-form-field.mat-form-field-appearance-outline .mat-mdc-form-field-hint.error svg{color:#cb7b7a}.ui-datepicker .mat-mdc-form-field.mat-form-field-appearance-outline .mat-mdc-form-field-hint.error{display:flex}.ui-datepicker .mat-mdc-form-field.mat-form-field-appearance-outline .mat-mdc-form-field-hint.error ui-icon{margin-right:4px}.ui-datepicker .mat-mdc-form-field.mat-warn.mat-form-field-appearance-outline:not(.mdc-text-field--disabled) .mat-mdc-form-field-flex:hover .mdc-notched-outline .mdc-notched-outline__leading,.ui-datepicker .mat-mdc-form-field.mat-warn.mat-form-field-appearance-outline:not(.mdc-text-field--disabled) .mat-mdc-form-field-flex:hover .mdc-notched-outline .mdc-notched-outline__trailing,.ui-datepicker .mat-mdc-form-field.mat-warn.mat-form-field-appearance-outline:not(.mdc-text-field--disabled) .mat-mdc-form-field-flex:hover .mdc-notched-outline .mdc-notched-outline__notch{border-color:#cb7b7a}.ui-datepicker .mat-mdc-form-field.mat-warn.mat-form-field-appearance-outline .mdc-notched-outline .mdc-notched-outline__leading,.ui-datepicker .mat-mdc-form-field.mat-warn.mat-form-field-appearance-outline .mdc-notched-outline .mdc-notched-outline__trailing,.ui-datepicker .mat-mdc-form-field.mat-warn.mat-form-field-appearance-outline .mdc-notched-outline .mdc-notched-outline__notch{border-color:#cb7b7a}.ui-datepicker .mat-mdc-form-field.mat-warn.mat-focused .mat-mdc-text-field-wrapper .mat-mdc-form-field-flex .mat-mdc-form-field-infix .mat-form-field-label mat-label{color:#cb7b7a}.ui-datepicker .mat-mdc-form-field .mat-mdc-form-field-hint.error{display:flex;flex-flow:column;row-gap:4px}.ui-datepicker .mat-mdc-form-field .mat-mdc-form-field-hint.error .errors{display:flex;padding-bottom:10px}.ui-datepicker .mat-mdc-form-field.mat-accent.mat-form-field-appearance-outline:not(.mat-form-field-disabled) .mat-mdc-form-field-flex:hover .mdc-notched-outline{color:#276678}.ui-datepicker .mat-mdc-form-field.mat-accent.mat-focused .mat-mdc-text-field-wrapper .mat-mdc-form-field-flex .mat-mdc-form-field-infix .mat-form-field-label mat-label{color:#276678}.ui-datepicker .mat-mdc-form-field.mat-form-field-disabled.mat-form-field-appearance-outline .mdc-notched-outline{color:#e0e0e0}.ui-datepicker .mat-mdc-form-field .mat-mdc-form-field-hint .hint-message{color:#888!important;margin-top:4px}.mat-datepicker-content .mat-mdc-button.mat-unthemed .mdc-button__label>span{font-weight:600}.mat-datepicker-content.mat-datepicker-content.mat-accent .mat-calendar-body-cell:not(.mat-calendar-body-disabled):hover>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical){background-color:#e9f0f1}.mat-datepicker-content.mat-datepicker-content.mat-accent .mat-calendar-body-in-range:before{background-color:#e9f0f1}[theme=dark] .mat-datepicker-content.mat-datepicker-content.mat-accent .mat-calendar-body-cell:not(.mat-calendar-body-disabled):hover>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical),[theme=light] .mat-datepicker-content.mat-datepicker-content.mat-accent .mat-calendar-body-cell:not(.mat-calendar-body-disabled):hover>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical){background-color:var(--datepicker-hover-color)}[theme=dark] .mat-datepicker-content.mat-datepicker-content.mat-accent .mat-calendar-body-in-range:before,[theme=light] .mat-datepicker-content.mat-datepicker-content.mat-accent .mat-calendar-body-in-range:before{background-color:var(--datepicker-hover-color)}[theme=dark] .mat-datepicker-content .mat-calendar-body-selected,[theme=light] .mat-datepicker-content .mat-calendar-body-selected{background-color:var(--datepicker-selected-color)}[theme=dark] .mat-datepicker-content .mat-calendar-body-today:not(.mat-calendar-body-selected),[theme=light] .mat-datepicker-content .mat-calendar-body-today:not(.mat-calendar-body-selected){background:transparent;--mat-datepicker-calendar-date-focus-state-background-color: $tgo-white }[theme=dark] .mat-datepicker-content .mat-calendar-body-active>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical),[theme=light] .mat-datepicker-content .mat-calendar-body-active>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical){--mat-datepicker-calendar-date-focus-state-background-color: var(--datepicker-hover-color)}.info{margin-top:4px!important;padding-bottom:10px}\n"] }]
|
|
277
|
+
}], ctorParameters: () => [{ type: undefined, decorators: [{
|
|
278
|
+
type: Optional
|
|
279
|
+
}, {
|
|
280
|
+
type: Inject,
|
|
281
|
+
args: ['CANOPYUI_DEFAULT_APPLICATION_THEME']
|
|
282
|
+
}] }, { type: i0.ChangeDetectorRef }, { type: i1.DomSanitizer }, { type: i2.NgControl, decorators: [{
|
|
283
|
+
type: Optional
|
|
284
|
+
}, {
|
|
285
|
+
type: Self
|
|
286
|
+
}] }, { type: i3.DatepickerService }], propDecorators: { class: [{
|
|
287
|
+
type: HostBinding
|
|
288
|
+
}], label: [{
|
|
289
|
+
type: Input
|
|
290
|
+
}], fieldName: [{
|
|
291
|
+
type: Input
|
|
292
|
+
}], placeholder: [{
|
|
293
|
+
type: Input
|
|
294
|
+
}], id: [{
|
|
295
|
+
type: Input
|
|
296
|
+
}], value: [{
|
|
297
|
+
type: Input
|
|
298
|
+
}], errors: [{
|
|
299
|
+
type: Input
|
|
300
|
+
}], isRange: [{
|
|
301
|
+
type: Input
|
|
302
|
+
}], disabled: [{
|
|
303
|
+
type: Input
|
|
304
|
+
}], required: [{
|
|
305
|
+
type: Input
|
|
306
|
+
}], hintMessage: [{
|
|
307
|
+
type: Input
|
|
308
|
+
}], updateOnBlur: [{
|
|
309
|
+
type: Input
|
|
310
|
+
}], showBottomContent: [{
|
|
311
|
+
type: Input
|
|
312
|
+
}], fullWidth: [{
|
|
313
|
+
type: Input
|
|
314
|
+
}], minDate: [{
|
|
315
|
+
type: Input
|
|
316
|
+
}], maxDate: [{
|
|
317
|
+
type: Input
|
|
318
|
+
}], monthPicker: [{
|
|
319
|
+
type: Input
|
|
320
|
+
}], applicationTheme: [{
|
|
321
|
+
type: Input
|
|
322
|
+
}], hideBuiltInErrors: [{
|
|
323
|
+
type: Input
|
|
324
|
+
}], hideLabelInErrors: [{
|
|
325
|
+
type: Input
|
|
326
|
+
}], preventUserInput: [{
|
|
327
|
+
type: Input
|
|
328
|
+
}], companyColor: [{
|
|
329
|
+
type: Input
|
|
330
|
+
}], browserTimezone: [{
|
|
331
|
+
type: Input
|
|
332
|
+
}], changed: [{
|
|
333
|
+
type: Output
|
|
334
|
+
}] } });
|
|
335
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZXBpY2tlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90Z28tY2Fub3B5LXVpL2NvbXBvbmVudHMvZGF0ZXBpY2tlci9kYXRlcGlja2VyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Rnby1jYW5vcHktdWkvY29tcG9uZW50cy9kYXRlcGlja2VyL2RhdGVwaWNrZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEseUNBQXlDO0FBQ3pDLE9BQU8sRUFDTCx1QkFBdUIsRUFFdkIsU0FBUyxFQUVULFlBQVksRUFDWixXQUFXLEVBQ1gsTUFBTSxFQUNOLEtBQUssRUFFTCxRQUFRLEVBQ1IsTUFBTSxFQUNOLElBQUksRUFFSixpQkFBaUIsR0FDbEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUF3QixXQUFXLEVBQUUsU0FBUyxFQUFhLE1BQU0sZ0JBQWdCLENBQUM7QUFJekYsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzdELE9BQU8sRUFBRSxXQUFXLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RSxPQUFPLEVBQUUsZUFBZSxFQUFFLGFBQWEsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7QUFjL0Qsb0VBQW9FO0FBQ3BFLE1BQU0sT0FBTyxtQkFBbUI7SUE0QzlCOzs7OztPQUtHO0lBQ0gsSUFBYSxNQUFNLENBQUMsTUFBZ0I7UUFDbEMsSUFBSSxDQUFDLE9BQU8sR0FBRyxNQUFNLEVBQUUsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsdUJBQXVCLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztRQUNuRyxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxlQUFlLEVB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akQsRUFBRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsUUFBUSxFQUFFLGVBQWUsRUFBRTtxQkFDekQ7OzBCQXdORSxRQUFROzswQkFBSSxNQUFNOzJCQUFDLG9DQUFvQzs7MEJBR3ZELFFBQVE7OzBCQUFJLElBQUk7eUVBdk5KLEtBQUs7c0JBQW5CLFdBQVc7Z0JBUUgsS0FBSztzQkFBYixLQUFLO2dCQVFHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBUUcsV0FBVztzQkFBbkIsS0FBSztnQkFRRyxFQUFFO3NCQUFWLEtBQUs7Z0JBUUcsS0FBSztzQkFBYixLQUFLO2dCQVNPLE1BQU07c0JBQWxCLEtBQUs7Z0JBV0csT0FBTztzQkFBZixLQUFLO2dCQVFHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBUUcsUUFBUTtzQkFBaEIsS0FBSztnQkFRRyxXQUFXO3NCQUFuQixLQUFLO2dCQVFHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBUUcsaUJBQWlCO3NCQUF6QixLQUFLO2dCQVFHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBUUcsT0FBTztzQkFBZixLQUFLO2dCQVFHLE9BQU87c0JBQWYsS0FBSztnQkFRRyxXQUFXO3NCQUFuQixLQUFLO2dCQVNHLGdCQUFnQjtzQkFBeEIsS0FBSztnQkFRRyxpQkFBaUI7c0JBQXpCLEtBQUs7Z0JBUUcsaUJBQWlCO3NCQUF6QixLQUFLO2dCQVFHLGdCQUFnQjtzQkFBeEIsS0FBSztnQkFTRyxZQUFZO3NCQUFwQixLQUFLO2dCQU9PLGVBQWU7c0JBQTNCLEtBQUs7Z0JBb0JJLE9BQU87c0JBQWhCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBuby11bmRlcnNjb3JlLWRhbmdsZSAqL1xuaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIERvQ2hlY2ssXG4gIEV2ZW50RW1pdHRlcixcbiAgSG9zdEJpbmRpbmcsXG4gIEluamVjdCxcbiAgSW5wdXQsXG4gIE9uQ2hhbmdlcyxcbiAgT3B0aW9uYWwsXG4gIE91dHB1dCxcbiAgU2VsZixcbiAgU2ltcGxlQ2hhbmdlcyxcbiAgVmlld0VuY2Fwc3VsYXRpb24sXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29udHJvbFZhbHVlQWNjZXNzb3IsIEZvcm1Db250cm9sLCBGb3JtR3JvdXAsIE5nQ29udHJvbCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IEFwcGxpY2F0aW9uVGhlbWUgfSBmcm9tICcuLi8uLi9tb2RlbHMvYXBwbGljYXRpb24tdGhlbWUubW9kZWwnO1xuaW1wb3J0IHsgTWF0RGF0ZXBpY2tlciB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RhdGVwaWNrZXInO1xuaW1wb3J0IHsgRG9tU2FuaXRpemVyLCBTYWZlSHRtbCB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xuaW1wb3J0IHsgYWRqdXN0TGlnaHRuZXNzIH0gZnJvbSBcIi4uLy4uL3V0aWxzL2NvbG9yLWNvbnRyYXN0XCI7XG5pbXBvcnQgeyBEYXRlQWRhcHRlciwgTUFUX0RBVEVfRk9STUFUUyB9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9jb3JlXCI7XG5pbXBvcnQgeyBVSV9EQVRFX0ZPUk1BVFMsIFVpRGF0ZUFkYXB0ZXIgfSBmcm9tIFwiLi9EYXRlQWRhcHRlclwiO1xuaW1wb3J0IHsgRGF0ZXBpY2tlclNlcnZpY2UgfSBmcm9tIFwiLi9kYXRlcGlja2VyLnNlcnZpY2VcIjtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndWktZGF0ZXBpY2tlcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9kYXRlcGlja2VyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZGF0ZXBpY2tlci5jb21wb25lbnQuc2NzcyddLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgcHJvdmlkZXJzOiBbXG4gICAgeyBwcm92aWRlOiBEYXRlQWRhcHRlciwgdXNlQ2xhc3M6IFVpRGF0ZUFkYXB0ZXIgfSxcbiAgICB7IHByb3ZpZGU6IE1BVF9EQVRFX0ZPUk1BVFMsIHVzZVZhbHVlOiBVSV9EQVRFX0ZPUk1BVFMgfVxuICBdXG59KVxuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1jb25mbGljdGluZy1saWZlY3ljbGVcbmV4cG9ydCBjbGFzcyBEYXRlcGlja2VyQ29tcG9uZW50IGltcGxlbWVudHMgT25DaGFuZ2VzLCBDb250cm9sVmFsdWVBY2Nlc3NvciwgRG9DaGVjayB7XG4gIEBIb3N0QmluZGluZygpIGNsYXNzID0gJ3VpLWRhdGVwaWNrZXInO1xuXG4gIC8qKlxuICAgKiBGb3JtIGZpZWxkIGxhYmVsXG4gICAqXG4gICAqIEB0eXBlIHtzdHJpbmd9XG4gICAqIEBtZW1iZXJvZiBEYXRlcGlja2VyQ29tcG9uZW50XG4gICAqL1xuICBASW5wdXQoKSBsYWJlbD8gPSAnJztcblxuICAvKipcbiAgICogSW5wdXQgbmFtZSBhdHRyaWJ1dGVcbiAgICpcbiAgICogQHR5cGUge3N0cmluZ31cbiAgICogQG1lbWJlcm9mIERhdGVwaWNrZXJDb21wb25lbnRcbiAgICovXG4gIEBJbnB1dCgpIGZpZWxkTmFtZT86IHN0cmluZztcblxuICAvKipcbiAgICogSW5wdXQgcGxhY2Vob2xkZXJcbiAgICpcbiAgICogQHR5cGUge3N0cmluZ31cbiAgICogQG1lbWJlcm9mIERhdGVwaWNrZXJDb21wb25lbnRcbiAgICovXG4gIEBJbnB1dCgpIHBsYWNlaG9sZGVyPyA9ICcnO1xuXG4gIC8qKlxuICAgKiBJbnB1dCBpZFxuICAgKlxuICAgKiBAdHlwZSB7c3RyaW5nfVxuICAgKiBAbWVtYmVyb2YgRGF0ZXBpY2tlckNvbXBvbmVudFxuICAgKi9cbiAgQElucHV0KCkgaWQ/ID0gJyc7XG5cbiAgLyoqXG4gICAqIElucHV0IHZhbHVlXG4gICAqXG4gICAqIEB0eXBlIHtzdHJpbmd9XG4gICAqIEBtZW1iZXJvZiBEYXRlcGlja2VyQ29tcG9uZW50XG4gICAqL1xuICBASW5wdXQoKSB2YWx1ZT86IERhdGVbXSB8IERhdGU7XG5cbiAgX2Vycm9yczogU2FmZUh0bWxbXTtcbiAgLyoqXG4gICAqIElucHV0IGZpZWxkIGVycm9yc1xuICAgKlxuICAgKiBAdHlwZSB7c3RyaW5nfVxuICAgKiBAbWVtYmVyb2YgRGF0ZXBpY2tlckNvbXBvbmVudFxuICAgKi9cbiAgQElucHV0KCkgc2V0IGVycm9ycyhlcnJvcnM6IHN0cmluZ1tdKSB7XG4gICAgdGhpcy5fZXJyb3JzID0gZXJyb3JzPy5maWx0ZXIoQm9vbGVhbikubWFwKGVycm9yID0+IHRoaXMuc2FuaXRpemVyLmJ5cGFzc1NlY3VyaXR5VHJ1c3RIdG1sKGVycm9yKSk7XG4gICAgdGhpcy5lcnJvcnNMZW5ndGggPSB0aGlzLnNldEVycm9yc0xlbmd0aCgpO1xuICB9XG5cbiAgLyoqXG4gICAqIERldGVybWluZXMgaWYgaW5wdXQgaXMgZGF0ZSByYW5nZVxuICAgKlxuICAgKiBAdHlwZSB7Ym9vbGVhbn1cbiAgICogQG1lbWJlcm9mIERhdGVwaWNrZXJDb21wb25lbnRcbiAgICovXG4gIEBJbnB1dCgpIGlzUmFuZ2U6IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIERldGVybWluZXMgaWYgaW5wdXQgaXMgZGlzYWJsZWRcbiAgICpcbiAgICogQHR5cGUge2Jvb2xlYW59XG4gICAqIEBtZW1iZXJvZiBEYXRlcGlja2VyQ29tcG9uZW50XG4gICAqL1xuICBASW5wdXQoKSBkaXNhYmxlZDogYm9vbGVhbjtcblxuICAvKipcbiAgICogSW5wdXQgaXMgcmVxdWlyZWQgb3Igbm90XG4gICAqXG4gICAqIEB0eXBlIHtib29sZWFufVxuICAgKiBAbWVtYmVyb2YgRGF0ZXBpY2tlckNvbXBvbmVudFxuICAgKi9cbiAgQElucHV0KCkgcmVxdWlyZWQ6IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEhpbnQgdGV4dFxuICAgKlxuICAgKiBAdHlwZSB7c3RyaW5nfVxuICAgKiBAbWVtYmVyb2YgRGF0ZXBpY2tlckNvbXBvbmVudFxuICAgKi9cbiAgQElucHV0KCkgaGludE1lc3NhZ2U6IHN0cmluZztcblxuICAvKipcbiAgICogSW5wdXQgaXMgdXBkYXRlIG9ubHkgb24gYmx1clxuICAgKlxuICAgKiBAdHlwZSB7Qm9vbGVhbn1cbiAgICogQG1lbWJlcm9mIERhdGVwaWNrZXJDb21wb25lbnRcbiAgICovXG4gIEBJbnB1dCgpIHVwZGF0ZU9uQmx1ciA9IGZhbHNlO1xuXG4gIC8qKlxuICAgKiBTaG93IHJlc2VydmVkIGNvbnRlbnQgYmVsb3cgZm9ybSBmaWVsZFxuICAgKlxuICAgKiBAdHlwZSB7Ym9vbGVhbn1cbiAgICogQG1lbWJlcm9mIERhdGVwaWNrZXJDb21wb25lbnRcbiAgICovXG4gIEBJbnB1dCgpIHNob3dCb3R0b21Db250ZW50ID0gdHJ1ZTtcblxuICAvKipcbiAgICogU2V0IGZ1bGwgd2lkdGggRGF0ZXBpY2tlckNvbXBvbmVudFxuICAgKlxuICAgKiBAdHlwZSB7Ym9vbGVhbn1cbiAgICogQG1lbWJlcm9mIERhdGVwaWNrZXJDb21wb25lbnRcbiAgICovXG4gIEBJbnB1dCgpIGZ1bGxXaWR0aCA9IGZhbHNlO1xuXG4gIC8qKlxuICAgKiBTZXQgbWluIGRhdGUgZm9yIERhdGVwaWNrZXJcbiAgICpcbiAgICogQHR5cGUge0RhdGV9XG4gICAqIEBtZW1iZXJvZiBEYXRlcGlja2VyQ29tcG9uZW50XG4gICAqL1xuICBASW5wdXQoKSBtaW5EYXRlOiBEYXRlIHwgdW5kZWZpbmVkO1xuXG4gIC8qKlxuICAgKiBTZXQgbWF4IGRhdGUgZm9yIERhdGVwaWNrZXJcbiAgICpcbiAgICogQHR5cGUge0RhdGV9XG4gICAqIEBtZW1iZXJvZiBEYXRlcGlja2VyQ29tcG9uZW50XG4gICAqL1xuICBASW5wdXQoKSBtYXhEYXRlOiBEYXRlIHwgdW5kZWZpbmVkO1xuXG4gIC8qKlxuICAgKiBTaG93IGFuZCBwaWNrIGRhdGUgd2l0aG91dCBkYXlcbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICogQHR5cGUge2Jvb2xlYW59XG4gICAqIEBtZW1iZXJvZiBEYXRlcGlja2VyQ29tcG9uZW50XG4gICAqL1xuICBASW5wdXQoKSBtb250aFBpY2tlciA9IGZhbHNlO1xuXG4gIC8qKlxuICAgKlxuICAgKiBEZWZpbmVzIHRoZSBhcHBsaWNhdGlvbiB0aGVtZVxuICAgKlxuICAgKiBAdHlwZSB7QXBwbGljYXRpb25UaGVtZX1cbiAgICogQG1lbWJlcm9mIERhdGVwaWNrZXJDb21wb25lbnRcbiAgICovXG4gIEBJbnB1dCgpIGFwcGxpY2F0aW9uVGhlbWU6IEFwcGxpY2F0aW9uVGhlbWUgPSAnbGlnaHQnO1xuXG4gIC8qKlxuICAgKiBIaWRlIGluLWJ1aWxkIGVycm9ycyBmb3IgUmVhY3RpdmUgRm9ybXNcbiAgICpcbiAgICogQHR5cGUge251bWJlcn1cbiAgICogQG1lbWJlcm9mIERhdGVwaWNrZXJDb21wb25lbnRcbiAgICovXG4gIEBJbnB1dCgpIGhpZGVCdWlsdEluRXJyb3JzID0gZmFsc2U7XG5cbiAgLyoqXG4gICAqIEhpZGUgbGFiZWwgaW4gZXJyb3JzXG4gICAqXG4gICAqIEB0eXBlIHtudW1iZXJ9XG4gICAqIEBtZW1iZXJvZiBEYXRlcGlja2VyQ29tcG9uZW50XG4gICAqL1xuICBASW5wdXQoKSBoaWRlTGFiZWxJbkVycm9ycyA9IGZhbHNlO1xuXG4gIC8qKlxuICAgKiBQcmV2ZW50IHVzZXIgaW5wdXRcbiAgICpcbiAgICogQHR5cGUge2Jvb2xlYW59XG4gICAqIEBtZW1iZXJvZiBEYXRlcGlja2VyQ29tcG9uZW50XG4gICAqL1xuICBASW5wdXQoKSBwcmV2ZW50VXNlcklucHV0ID0gZmFsc2U7XG5cbiAgLyoqXG4gICAqIENvbG9yIG9mIHRoZSBvcHRpb24gaG92ZXIuXG4gICAqIERlZmF1bHRzIHRvIFRlc3QgR29yaWxsYSBwcmltYXJ5IGNvbG9yLlxuICAgKlxuICAgKiBAdHlwZSB7c3RyaW5nfVxuICAgKiBAbWVtYmVyb2YgRGF0ZXBpY2tlckNvbXBvbmVudFxuICAgKi9cbiAgQElucHV0KCkgY29tcGFueUNvbG9yOiBzdHJpbmcgPSAnJ1xuXG4gIC8qKlxuICAgKiBVc2UgYnJvd3NlciB0aW1lem9uZVxuICAgKiBAdHlwZSBib29sZWFuXG4gICAqIEBtZW1iZXJvZiBEYXRlcGlja2VyQ29tcG9uZW50XG4gICAqL1xuICBASW5wdXQoKSBzZXQgYnJvd3NlclRpbWV6b25lKHZhbHVlOiBib29sZWFuKSB7XG4gICAgdGhpcy5kYXRlcGlja2VyU2VydmljZS51c2VCcm93c2VyVGltZXpvbmUgPSB2YWx1ZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAaWdub3JlXG4gICAqL1xuICBvbkNoYW5nZSA9IChfOiBhbnkpID0+IHt9O1xuXG4gIC8qKlxuICAgKiBAaWdub3JlXG4gICAqL1xuICBvblRvdWNoID0gKCkgPT4ge307XG5cbiAgLyoqXG4gICAqIEV2ZW50IGVtaXR0ZWQgd2hlbiB0aGUgdmFsdWUgaXMgY2hhbmdlIC0gd2hlbiB1c2VkIG91dHNpZGUgb2YgZm9ybVxuICAgKlxuICAgKiBAdHlwZSB7RGF0ZX1cbiAgICogQG1lbWJlcm9mIERhdGVwaWNrZXJDb21wb25lbnRcbiAgICovXG4gIEBPdXRwdXQoKSBjaGFuZ2VkID0gbmV3IEV2ZW50RW1pdHRlcjxEYXRlIHwgRGF0ZVtdPigpO1xuXG4gIHJhbmdlID0gbmV3IEZvcm1Hcm91cCh7XG4gICAgc3RhcnQ6IG5ldyBGb3JtQ29udHJvbDxEYXRlIHwgbnVsbD4obnVsbCksXG4gICAgZW5kOiBuZXcgRm9ybUNvbnRyb2w8RGF0ZSB8IG51bGw+KG51bGwpLFxuICB9KTtcblxuICBlcnJvcnNMZW5ndGg6IGJvb2xlYW47XG4gIHByb3RlY3RlZCB0cmFuc2xhdGlvbkNvbnRleHQgPSAnREFURVBJQ0tFUi4nO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIEBPcHRpb25hbCgpIEBJbmplY3QoJ0NBTk9QWVVJX0RFRkFVTFRfQVBQTElDQVRJT05fVEhFTUUnKSBwcml2YXRlIHJlYWRvbmx5IGRlZmF1bHRBcHBUaGVtZTogQXBwbGljYXRpb25UaGVtZSxcbiAgICBwcml2YXRlIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgcHJpdmF0ZSBzYW5pdGl6ZXI6IERvbVNhbml0aXplcixcbiAgICBAT3B0aW9uYWwoKSBAU2VsZigpIHB1YmxpYyBuZ0NvbnRyb2w6IE5nQ29udHJvbCxcbiAgICBwcml2YXRlIGRhdGVwaWNrZXJTZXJ2aWNlOiBEYXRlcGlja2VyU2VydmljZVxuICApIHtcbiAgICBpZiAoZGVmYXVsdEFwcFRoZW1lKSB7XG4gICAgICB0aGlzLmFwcGxpY2F0aW9uVGhlbWUgPSBkZWZhdWx0QXBwVGhlbWU7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMubmdDb250cm9sICE9IG51bGwpIHtcbiAgICAgIHRoaXMubmdDb250cm9sLnZhbHVlQWNjZXNzb3IgPSB0aGlzO1xuICAgIH1cbiAgfVxuXG4gIGdldCBoaW50KCk6IHN0cmluZyB7XG4gICAgaWYgKHRoaXMuaGludE1lc3NhZ2UgPT09IHVuZGVmaW5lZCkge1xuICAgICAgcmV0dXJuIHRoaXMuaXNSYW5nZSA/ICAnTU0vREQvWVlZWSAtIE1NL0REL1lZWVknIDogdGhpcy5tb250aFBpY2tlciA/ICdNTS9ZWVlZJyA6ICAnTU0vREQvWVlZWSc7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuaGludE1lc3NhZ2U7XG4gIH1cblxuICAvKipcbiAgICogVXNlZCB0byBtYXJrIGNvbXBvbmVudCB2aWV3IGFzIGRpcnR5IHdoZW4gdG91Y2hlZCBwcm9ncmFtbWF0aWNhbGx5IHdpdGggbWFya0FzVG91Y2hlZC9tYXJrQWxsQXNUb3VjaGVkIG9yIGVycm9yc1xuICAgKiB0byBkaXNwbGF5IHZhbGlkYXRpb24gZXJyb3JzIHRoYXQgbWlnaHQgaGFwcGVuIChlLmcuIHJlcXVpcmVkKVxuICAgKi9cbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1jb25mbGljdGluZy1saWZlY3ljbGVcbiAgbmdEb0NoZWNrKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLm5nQ29udHJvbD8udG91Y2hlZCB8fCB0aGlzLm5nQ29udHJvbD8uZXJyb3JzKSB7XG4gICAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgICB9XG4gIH1cblxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWNvbmZsaWN0aW5nLWxpZmVjeWNsZVxuICBuZ09uSW5pdCgpIHtcbiAgICBkb2N1bWVudC5ib2R5LnNldEF0dHJpYnV0ZSgndGhlbWUnLCB0aGlzLmFwcGxpY2F0aW9uVGhlbWUpO1xuICAgIHRoaXMuc2V0U3R5bGVWYXJpYWJsZSgpO1xuICB9XG5cbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1jb25mbGljdGluZy1saWZlY3ljbGVcbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgIGlmICh0aGlzLmlzUmFuZ2UpIHtcbiAgICAgIHRoaXMuc2V0UmFuZ2UoKTtcbiAgICB9XG4gICAgaWYgKGNoYW5nZXNbJ2NvbXBhbnlDb2xvciddKSB7XG4gICAgICB0aGlzLnNldFN0eWxlVmFyaWFibGUoKTtcbiAgICB9XG4gIH1cblxuICAvLyBTZXQgZXJyb3JzIGxlbmd0aCBmb3IgdmFsaWRhdGlvblxuICAvLyBDb25zaWRlciBvbmx5IHRob3NlIGVycm9ycyB3aGljaCB3aGljaCBhcmUgbm90IGVtcHR5XG4gIHNldEVycm9yc0xlbmd0aCgpOiBib29sZWFuIHtcbiAgICBpZiAoISF0aGlzLl9lcnJvcnMpIHtcbiAgICAgIHJldHVybiB0aGlzLl9lcnJvcnMuZmlsdGVyKGVyciA9PiAhIWVycikubGVuZ3RoID4gMCA/IHRydWUgOiBmYWxzZTtcbiAgICB9XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgb25WYWx1ZUNoYW5nZSh2YWx1ZTogRGF0ZSB8IERhdGVbXSkge1xuICAgIHRoaXMud3JpdGVWYWx1ZSh2YWx1ZSk7XG4gICAgdGhpcy5lcnJvcnNMZW5ndGggPSB0aGlzLnNldEVycm9yc0xlbmd0aCgpO1xuICAgIGlmICghdGhpcy51cGRhdGVPbkJsdXIpIHtcbiAgICAgIHRoaXMub25Ub3VjaCgpO1xuICAgIH1cbiAgICB0aGlzLm9uQ2hhbmdlKHZhbHVlKTtcbiAgICB0aGlzLmNoYW5nZWQuZW1pdCh2YWx1ZSk7XG4gIH1cblxuICB3cml0ZVZhbHVlKHZhbHVlPzogRGF0ZSB8IERhdGVbXSk6IHZvaWQge1xuICAgIHRoaXMudmFsdWUgPSB2YWx1ZTtcbiAgICBpZiAodGhpcy5pc1JhbmdlKSB7XG4gICAgICB0aGlzLnNldFJhbmdlKCk7XG4gICAgfVxuICB9XG5cbiAgcmVnaXN0ZXJPbkNoYW5nZShmbjogYW55KTogdm9pZCB7XG4gICAgdGhpcy5vbkNoYW5nZSA9IGZuO1xuICB9XG5cbiAgcmVnaXN0ZXJPblRvdWNoZWQoZm46IGFueSk6IHZvaWQge1xuICAgIHRoaXMub25Ub3VjaCA9IGZuO1xuICB9XG5cbiAgc2V0RGlzYWJsZWRTdGF0ZShpc0Rpc2FibGVkOiBib29sZWFuKTogdm9pZCB7XG4gICAgdGhpcy5kaXNhYmxlZCA9IGlzRGlzYWJsZWQ7XG4gICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG4gIH1cblxuICBkYXRlUmFuZ2VDaGFuZ2UoKSB7XG4gICAgY29uc3Qgc3RhcnQgPSB0aGlzLnJhbmdlLmNvbnRyb2xzLnN0YXJ0LnZhbHVlITtcbiAgICBjb25zdCBlbmQgPSB0aGlzLnJhbmdlLmNvbnRyb2xzLmVuZC52YWx1ZSE7XG4gICAgdGhpcy5vblZhbHVlQ2hhbmdlKFtuZXcgRGF0ZShzdGFydCksIG5ldyBEYXRlKGVuZCldKTtcbiAgfVxuXG4gIHNldE1vbnRoQW5kWWVhcihub3JtYWxpemVkTW9udGhBbmRZZWFyOiBhbnksIGRhdGVwaWNrZXI6IE1hdERhdGVwaWNrZXI8RGF0ZT4pIHtcbiAgICBjb25zdCBjdHJsVmFsdWUgPSAodGhpcy52YWx1ZSkgYXMgRGF0ZSB8fCBuZXcgRGF0ZSgpO1xuXG4gICAgY3RybFZhbHVlLnNldE1vbnRoKG5vcm1hbGl6ZWRNb250aEFuZFllYXIuZ2V0TW9udGgoKSk7XG4gICAgY3RybFZhbHVlLnNldEZ1bGxZZWFyKG5vcm1hbGl6ZWRNb250aEFuZFllYXIuZ2V0RnVsbFllYXIoKSk7XG5cbiAgICBkYXRlcGlja2VyLmNsb3NlKCk7XG5cbiAgICB0aGlzLm9uVmFsdWVDaGFuZ2UobmV3IERhdGUoY3RybFZhbHVlKSk7XG4gIH1cblxuICBwcml2YXRlIHNldFJhbmdlKCkge1xuICAgIGlmIChBcnJheS5pc0FycmF5KHRoaXMudmFsdWUpKSB7XG4gICAgICBjb25zdCBbc3RhcnQsIGVuZF0gPSB0aGlzLnZhbHVlO1xuICAgICAgY29uc3Qgc3RhcnREYXRlID0gdGhpcy5yYW5nZS5jb250cm9scy5zdGFydC52YWx1ZTtcbiAgICAgIGNvbnN0IGVuZERhdGUgPSB0aGlzLnJhbmdlLmNvbnRyb2xzLmVuZC52YWx1ZTtcblxuICAgICAgaWYgKHN0YXJ0RGF0ZSkge1xuICAgICAgICB0aGlzLnJhbmdlLmNvbnRyb2xzLnN0YXJ0LnNldFZhbHVlKG5ldyBEYXRlKHN0YXJ0KSk7XG4gICAgICB9XG5cbiAgICAgIGlmIChlbmREYXRlKSB7XG4gICAgICAgIHRoaXMucmFuZ2UuY29udHJvbHMuZW5kLnNldFZhbHVlKG5ldyBEYXRlKGVuZCkpO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmICghdGhpcy52YWx1ZSkge1xuICAgICAgdGhpcy5yYW5nZS5jb250cm9scy5zdGFydC5zZXRWYWx1ZShudWxsKTtcbiAgICAgIHRoaXMucmFuZ2UuY29udHJvbHMuZW5kLnNldFZhbHVlKG51bGwpO1xuICAgIH1cbiAgfVxuXG4gIG9uSW5wdXQoZXZlbnQ6IEV2ZW50KSB7XG4gICAgY29uc3QgdGFyZ2V0ID0gZXZlbnQudGFyZ2V0IGFzIEV2ZW50VGFyZ2V0ICYgeyB2YWx1ZTogc3RyaW5nIH07XG4gICAgY29uc3QgW21vbnRoLCB5ZWFyXSA9IHRhcmdldC52YWx1ZS5zcGxpdCgnLycpO1xuICAgIGNvbnN0IGRhdGUgPSBuZXcgRGF0ZSgpLmdldERhdGUoKTtcbiAgICBjb25zdCBmdWxsRGF0ZVN0cmluZyA9IGAke21vbnRofS8ke2RhdGV9LyR7eWVhcn1gO1xuICAgIGNvbnN0IGZ1bGxEYXRlID0gbmV3IERhdGUoZnVsbERhdGVTdHJpbmcpO1xuICAgIHRoaXMub25WYWx1ZUNoYW5nZShmdWxsRGF0ZSk7XG4gIH1cblxuICBwcml2YXRlIHNldFN0eWxlVmFyaWFibGUoKSB7XG4gICAgY29uc3QgaG92ZXIgPSB0aGlzLmNvbXBhbnlDb2xvciA/IGFkanVzdExpZ2h0bmVzcyh0aGlzLmNvbXBhbnlDb2xvciwgJ2hvdmVyJykgOiAnI0ZGRjJGQyc7XG4gICAgZG9jdW1lbnQuYm9keS5zdHlsZS5zZXRQcm9wZXJ0eSgnLS1kYXRlcGlja2VyLWhvdmVyLWNvbG9yJywgaG92ZXIpO1xuICAgIGRvY3VtZW50LmJvZHkuc3R5bGUuc2V0UHJvcGVydHkoJy0tZGF0ZXBpY2tlci1zZWxlY3RlZC1jb2xvcicsIGAke3RoaXMuY29tcGFueUNvbG9yIHx8ICcjRDQxMEFBJ31gKTtcbiAgfVxufVxuIiwiPG5nLWNvbnRhaW5lcj5cbiAgPG1hdC1mb3JtLWZpZWxkXG4gICAgKm5nSWY9XCIhbW9udGhQaWNrZXI7IGVsc2UgZGF0ZVllYXJQaWNrZXJcIlxuICAgICN1aURhdGVwaWNrZXJcbiAgICBhcHBlYXJhbmNlPVwib3V0bGluZVwiXG4gICAgW2NvbG9yXT1cIihlcnJvcnNMZW5ndGggfHwgKG5nQ29udHJvbD8uZXJyb3JzICYmIG5nQ29udHJvbD8udG91Y2hlZCApKSAgPyAnd2FybicgOiAnYWNjZW50J1wiXG4gICAgW25nQ2xhc3NdPVwieyAnaGlkZS1ib3R0b20tY29udGVudCc6ICFzaG93Qm90dG9tQ29udGVudCwgJ2Z1bGwtd2lkdGgnOiBmdWxsV2lkdGggfVwiXG4gID5cbiAgICA8bWF0LWxhYmVsICpuZ0lmPVwibGFiZWxcIj57eyBsYWJlbCB9fTxzcGFuICpuZ0lmPVwicmVxdWlyZWRcIj4gKjwvc3Bhbj48L21hdC1sYWJlbD5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIWlzUmFuZ2VcIj5cbiAgICAgIDxpbnB1dCAqbmdJZj1cIiFpc1JhbmdlXCIgbWF0SW5wdXRcbiAgICAgICAgICAgICBbbWF0RGF0ZXBpY2tlcl09XCJwaWNrZXJcIlxuICAgICAgICAgICAgIChibHVyKT1cIm9uVG91Y2goKVwiXG4gICAgICAgICAgICAgKGRhdGVDaGFuZ2UpPVwib25WYWx1ZUNoYW5nZSgkZXZlbnQudmFsdWUpXCJcbiAgICAgICAgICAgICBbaWRdPVwiaWQhXCJcbiAgICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXIhXCJcbiAgICAgICAgICAgICBbdmFsdWVdPVwidmFsdWVcIlxuICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgICAgICAgICAgW25hbWVdPVwiZmllbGROYW1lIVwiXG4gICAgICAgICAgICAgW3JlYWRvbmx5XT1cInByZXZlbnRVc2VySW5wdXRcIlxuICAgICAgICAgICAgIFttaW5dPVwibWluRGF0ZVwiXG4gICAgICAgICAgICAgW21heF09XCJtYXhEYXRlXCJcbiAgICAgIC8+XG4gICAgICA8bWF0LWRhdGVwaWNrZXItdG9nZ2xlIG1hdEljb25TdWZmaXggW2Zvcl09XCJwaWNrZXJcIj5cbiAgICAgICAgPHVpLWljb24gbWF0RGF0ZXBpY2tlclRvZ2dsZUljb24gW2FwcGxpY2F0aW9uVGhlbWVdPVwiYXBwbGljYXRpb25UaGVtZVwiIG5hbWU9XCJDYWxlbmRhclwiIHNpemU9XCIyNFwiIGNvbG9yPVwiaW5oZXJpdFwiPjwvdWktaWNvbj5cbiAgICAgIDwvbWF0LWRhdGVwaWNrZXItdG9nZ2xlPlxuICAgICAgPG1hdC1kYXRlcGlja2VyICNwaWNrZXI+PC9tYXQtZGF0ZXBpY2tlcj5cbiAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJpc1JhbmdlXCI+XG4gICAgICA8bWF0LWRhdGUtcmFuZ2UtaW5wdXQgKm5nSWY9XCJpc1JhbmdlXCIgW2Zvcm1Hcm91cF09XCJyYW5nZVwiIFtyYW5nZVBpY2tlcl09XCJyYW5nZVBpY2tlclwiIFttaW5dPVwibWluRGF0ZVwiIFttYXhdPVwibWF4RGF0ZVwiID5cbiAgICAgICAgPGlucHV0IG1hdFN0YXJ0RGF0ZSBmb3JtQ29udHJvbE5hbWU9XCJzdGFydFwiIFtwbGFjZWhvbGRlcl09XCIodHJhbnNsYXRpb25Db250ZXh0ICsgJ1NUQVJUX0RBVEUnKSB8IHVpVHJhbnNsYXRlIHwgYXN5bmNcIiAoZGF0ZUNoYW5nZSk9XCJkYXRlUmFuZ2VDaGFuZ2UoKVwiPlxuICAgICAgICA8aW5wdXQgbWF0RW5kRGF0ZSBmb3JtQ29udHJvbE5hbWU9XCJlbmRcIiBbcGxhY2Vob2xkZXJdPVwiKHRyYW5zbGF0aW9uQ29udGV4dCArICdFTkRfREFURScpIHwgdWlUcmFuc2xhdGUgfCBhc3luY1wiIChkYXRlQ2hhbmdlKT1cImRhdGVSYW5nZUNoYW5nZSgpXCI+XG4gICAgICA8L21hdC1kYXRlLXJhbmdlLWlucHV0PlxuICAgICAgPG1hdC1kYXRlcGlja2VyLXRvZ2dsZSBtYXRJY29uU3VmZml4IFtmb3JdPVwicmFuZ2VQaWNrZXJcIj5cbiAgICAgICAgPHVpLWljb24gbWF0RGF0ZXBpY2tlclRvZ2dsZUljb24gW2FwcGxpY2F0aW9uVGhlbWVdPVwiYXBwbGljYXRpb25UaGVtZVwiIG5hbWU9XCJDYWxlbmRhclwiIHNpemU9XCIyNFwiIGNvbG9yPVwiaW5oZXJpdFwiPjwvdWktaWNvbj5cbiAgICAgIDwvbWF0LWRhdGVwaWNrZXItdG9nZ2xlPlxuICAgICAgPG1hdC1kYXRlLXJhbmdlLXBpY2tlciAjcmFuZ2VQaWNrZXI+PC9tYXQtZGF0ZS1yYW5nZS1waWNrZXI+XG4gICAgPC9uZy1jb250YWluZXI+XG5cbiAgICA8bWF0LWhpbnQgY2xhc3M9XCJpbmZvXCIgKm5nSWY9XCJoaW50ICYmICFfZXJyb3JzICYmICEobmdDb250cm9sPy50b3VjaGVkICYmIChuZ0NvbnRyb2w/LmVycm9ycyB8IGhhc1ZhbGlkYXRpb25FcnJvcikpXCI+e3sgaGludCB9fTwvbWF0LWhpbnQ+XG4gICAgPG1hdC1oaW50IGNsYXNzPVwiZXJyb3JcIiAqbmdJZj1cImVycm9yc0xlbmd0aCB8fCAobmdDb250cm9sPy50b3VjaGVkICYmIChuZ0NvbnRyb2w/LmVycm9ycyB8IGhhc1ZhbGlkYXRpb25FcnJvcikpXCI+XG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiZXJyb3JzTGVuZ3RoXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJlcnJvcnNcIiAqbmdGb3I9XCJsZXQgZXJyb3Igb2YgX2Vycm9yc1wiPlxuICAgICAgICAgIDx1aS1pY29uIFthcHBsaWNhdGlvblRoZW1lXT1cImFwcGxpY2F0aW9uVGhlbWVcIiBuYW1lPVwiRXJyb3JcIj48L3VpLWljb24+XG4gICAgICAgICAgPHNwYW4gW2lubmVySFRNTF09XCJlcnJvclwiPjwvc3Bhbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgIDx1aS12YWxpZGF0aW9uLWVycm9yICpuZ0lmPVwibmdDb250cm9sICYmICFoaWRlQnVpbHRJbkVycm9yc1wiIFtuZ0NvbnRyb2xdPVwibmdDb250cm9sXCIgW2xhYmVsXT1cImhpZGVMYWJlbEluRXJyb3JzID8gbnVsbCA6IGxhYmVsXCI+PC91aS12YWxpZGF0aW9uLWVycm9yPlxuICAgIDwvbWF0LWhpbnQ+XG4gIDwvbWF0LWZvcm0tZmllbGQ+XG5cbiAgPG5nLXRlbXBsYXRlICNkYXRlWWVhclBpY2tlcj5cbiAgICA8bWF0LWZvcm0tZmllbGRcbiAgICAgIGFwcE5vRGF0ZUZvcm1hdFxuICAgICAgI3VpRGF0ZXBpY2tlclxuICAgICAgYXBwZWFyYW5jZT1cIm91dGxpbmVcIlxuICAgICAgW2NvbG9yXT1cIihlcnJvcnNMZW5ndGggfHwgKG5nQ29udHJvbD8uZXJyb3JzICYmIG5nQ29udHJvbD8udG91Y2hlZCApKSAgPyAnd2FybicgOiAnYWNjZW50J1wiXG4gICAgICBbbmdDbGFzc109XCJ7ICdoaWRlLWJvdHRvbS1jb250ZW50JzogIXNob3dCb3R0b21Db250ZW50LCAnZnVsbC13aWR0aCc6IGZ1bGxXaWR0aCB9XCJcbiAgICA+XG4gICAgICA8bWF0LWxhYmVsICpuZ0lmPVwibGFiZWxcIj57eyBsYWJlbCB9fTxzcGFuICpuZ0lmPVwicmVxdWlyZWRcIj4gKjwvc3Bhbj48L21hdC1sYWJlbD5cblxuICAgICAgPG5nLWNvbnRhaW5lciA+XG4gICAgICAgIDxpbnB1dCBtYXRJbnB1dFxuICAgICAgICAgICAgICAgW2lkXT1cImlkIVwiXG4gICAgICAgICAgICAgICAoYmx1cik9XCJvblRvdWNoKClcIlxuICAgICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyIVwiXG4gICAgICAgICAgICAgICBbbWF0RGF0ZXBpY2tlcl09XCJkcFwiXG4gICAgICAgICAgICAgICBbdmFsdWVdPVwidmFsdWVcIlxuICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAgICAgICAgICAgIFtuYW1lXT1cImZpZWxkTmFtZSFcIlxuICAgICAgICAgICAgICAgW21pbl09XCJtaW5EYXRlXCJcbiAgICAgICAgICAgICAgIFttYXhdPVwibWF4RGF0ZVwiXG4gICAgICAgICAgICAgICBbcmVhZG9ubHldPVwicHJldmVudFVzZXJJbnB1dFwiXG4gICAgICAgICAgICAgICAoY2hhbmdlKT1cIm9uSW5wdXQoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAoZGF0ZUNoYW5nZSk9XCJvblZhbHVlQ2hhbmdlKCRldmVudC52YWx1ZSlcIlxuICAgICAgICA+XG4gICAgICAgIDxtYXQtZGF0ZXBpY2tlci10b2dnbGUgbWF0SWNvblN1ZmZpeCBbZm9yXT1cImRwXCI+XG4gICAgICAgICAgPHVpLWljb24gKm5nSWY9XCJhcHBsaWNhdGlvblRoZW1lICE9PSAnY2xhc3NpYydcIiBtYXREYXRlcGlja2VyVG9nZ2xlSWNvbiBbYXBwbGljYXRpb25UaGVtZV09XCJhcHBsaWNhdGlvblRoZW1lXCIgbmFtZT1cIkNhbGVuZGFyXCIgc2l6ZT1cIjI0XCIgY29sb3I9XCJpbmhlcml0XCI+PC91aS1pY29uPlxuICAgICAgICA8L21hdC1kYXRlcGlja2VyLXRvZ2dsZT5cbiAgICAgICAgPG1hdC1kYXRlcGlja2VyIHBhbmVsQ2xhc3M9XCJtb250aC1waWNrZXJcIiAjZHAgc3RhcnRWaWV3PVwibXVsdGkteWVhclwiIChtb250aFNlbGVjdGVkKT1cInNldE1vbnRoQW5kWWVhcigkZXZlbnQsIGRwKVwiPjwvbWF0LWRhdGVwaWNrZXI+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgPG1hdC1oaW50IGNsYXNzPVwiaW5mb1wiICpuZ0lmPVwiaGludCAmJiAhX2Vycm9ycyAmJiAhKG5nQ29udHJvbD8udG91Y2hlZCAmJiAobmdDb250cm9sPy5lcnJvcnMgfCBoYXNWYWxpZGF0aW9uRXJyb3IpKVwiPnt7IGhpbnQgfX08L21hdC1oaW50PlxuICAgICAgPG1hdC1oaW50IGNsYXNzPVwiZXJyb3JcIiAqbmdJZj1cImVycm9yc0xlbmd0aCB8fCAobmdDb250cm9sPy50b3VjaGVkICYmIChuZ0NvbnRyb2w/LmVycm9ycyB8IGhhc1ZhbGlkYXRpb25FcnJvcikpXCI+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJlcnJvcnNMZW5ndGhcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiZXJyb3JzXCIgKm5nRm9yPVwibGV0IGVycm9yIG9mIF9lcnJvcnNcIj5cbiAgICAgICAgICAgIDx1aS1pY29uIFthcHBsaWNhdGlvblRoZW1lXT1cImFwcGxpY2F0aW9uVGhlbWVcIiBuYW1lPVwiRXJyb3JcIj48L3VpLWljb24+XG4gICAgICAgICAgICA8c3BhbiBbaW5uZXJIVE1MXT1cImVycm9yXCI+PC9zcGFuPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPHVpLXZhbGlkYXRpb24tZXJyb3IgKm5nSWY9XCJuZ0NvbnRyb2wgJiYgIWhpZGVCdWlsdEluRXJyb3JzXCIgW25nQ29udHJvbF09XCJuZ0NvbnRyb2xcIiBbbGFiZWxdPVwiaGlkZUxhYmVsSW5FcnJvcnMgPyBudWxsIDogbGFiZWxcIj48L3VpLXZhbGlkYXRpb24tZXJyb3I+XG4gICAgICA8L21hdC1oaW50PlxuXG4gICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgPC9uZy10ZW1wbGF0ZT5cblxuPC9uZy1jb250YWluZXI+XG4iXX0=
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import { NgModule } from '@angular/core';
|
|
2
|
+
import { CommonModule } from '@angular/common';
|
|
3
|
+
import { DatepickerComponent } from './datepicker.component';
|
|
4
|
+
import { MatDatepickerModule } from '@angular/material/datepicker';
|
|
5
|
+
import { FormsModule, ReactiveFormsModule } from '@angular/forms';
|
|
6
|
+
import { MatFormFieldModule } from '@angular/material/form-field';
|
|
7
|
+
import { MatInputModule } from '@angular/material/input';
|
|
8
|
+
import { IconComponentModule } from '../icon/icon.component.module';
|
|
9
|
+
import { MatNativeDateModule } from '@angular/material/core';
|
|
10
|
+
import { UiTranslatePipe } from '../../pipes/ui-translate.pipe';
|
|
11
|
+
import { NoDateFormatDirective } from './no-date-format.directive';
|
|
12
|
+
import { HasValidationErrorPipe } from '../../pipes/has-validation-error.pipe';
|
|
13
|
+
import { ValidationErrorModule } from '../validation-error/validation-error.module';
|
|
14
|
+
import * as i0 from "@angular/core";
|
|
15
|
+
export class DatepickerComponentModule {
|
|
16
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DatepickerComponentModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
17
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.12", ngImport: i0, type: DatepickerComponentModule, declarations: [DatepickerComponent], imports: [CommonModule,
|
|
18
|
+
MatFormFieldModule,
|
|
19
|
+
MatInputModule,
|
|
20
|
+
IconComponentModule,
|
|
21
|
+
FormsModule,
|
|
22
|
+
ReactiveFormsModule,
|
|
23
|
+
MatDatepickerModule,
|
|
24
|
+
MatNativeDateModule,
|
|
25
|
+
UiTranslatePipe,
|
|
26
|
+
NoDateFormatDirective,
|
|
27
|
+
HasValidationErrorPipe,
|
|
28
|
+
ValidationErrorModule], exports: [DatepickerComponent] }); }
|
|
29
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DatepickerComponentModule, imports: [CommonModule,
|
|
30
|
+
MatFormFieldModule,
|
|
31
|
+
MatInputModule,
|
|
32
|
+
IconComponentModule,
|
|
33
|
+
FormsModule,
|
|
34
|
+
ReactiveFormsModule,
|
|
35
|
+
MatDatepickerModule,
|
|
36
|
+
MatNativeDateModule,
|
|
37
|
+
ValidationErrorModule] }); }
|
|
38
|
+
}
|
|
39
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DatepickerComponentModule, decorators: [{
|
|
40
|
+
type: NgModule,
|
|
41
|
+
args: [{
|
|
42
|
+
declarations: [DatepickerComponent],
|
|
43
|
+
imports: [
|
|
44
|
+
CommonModule,
|
|
45
|
+
MatFormFieldModule,
|
|
46
|
+
MatInputModule,
|
|
47
|
+
IconComponentModule,
|
|
48
|
+
FormsModule,
|
|
49
|
+
ReactiveFormsModule,
|
|
50
|
+
MatDatepickerModule,
|
|
51
|
+
MatNativeDateModule,
|
|
52
|
+
UiTranslatePipe,
|
|
53
|
+
NoDateFormatDirective,
|
|
54
|
+
HasValidationErrorPipe,
|
|
55
|
+
ValidationErrorModule,
|
|
56
|
+
],
|
|
57
|
+
exports: [DatepickerComponent],
|
|
58
|
+
}]
|
|
59
|
+
}] });
|
|
60
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZXBpY2tlci5jb21wb25lbnQubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGdvLWNhbm9weS11aS9jb21wb25lbnRzL2RhdGVwaWNrZXIvZGF0ZXBpY2tlci5jb21wb25lbnQubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzdELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ25FLE9BQU8sRUFBRSxXQUFXLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNsRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDekQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDcEUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDN0QsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ25FLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQy9FLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDZDQUE2QyxDQUFDOztBQW9CcEYsTUFBTSxPQUFPLHlCQUF5QjsrR0FBekIseUJBQXlCO2dIQUF6Qix5QkFBeUIsaUJBakJyQixtQkFBbUIsYUFFaEMsWUFBWTtZQUNaLGtCQUFrQjtZQUNsQixjQUFjO1lBQ2QsbUJBQW1CO1lBQ25CLFdBQVc7WUFDWCxtQkFBbUI7WUFDbkIsbUJBQW1CO1lBQ25CLG1CQUFtQjtZQUNuQixlQUFlO1lBQ2YscUJBQXFCO1lBQ3JCLHNCQUFzQjtZQUN0QixxQkFBcUIsYUFFYixtQkFBbUI7Z0hBRWxCLHlCQUF5QixZQWZsQyxZQUFZO1lBQ1osa0JBQWtCO1lBQ2xCLGNBQWM7WUFDZCxtQkFBbUI7WUFDbkIsV0FBVztZQUNYLG1CQUFtQjtZQUNuQixtQkFBbUI7WUFDbkIsbUJBQW1CO1lBSW5CLHFCQUFxQjs7NEZBSVoseUJBQXlCO2tCQWxCckMsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUUsQ0FBQyxtQkFBbUIsQ0FBQztvQkFDbkMsT0FBTyxFQUFFO3dCQUNQLFlBQVk7d0JBQ1osa0JBQWtCO3dCQUNsQixjQUFjO3dCQUNkLG1CQUFtQjt3QkFDbkIsV0FBVzt3QkFDWCxtQkFBbUI7d0JBQ25CLG1CQUFtQjt3QkFDbkIsbUJBQW1CO3dCQUNuQixlQUFlO3dCQUNmLHFCQUFxQjt3QkFDckIsc0JBQXNCO3dCQUN0QixxQkFBcUI7cUJBQ3RCO29CQUNELE9BQU8sRUFBRSxDQUFDLG1CQUFtQixDQUFDO2lCQUMvQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgRGF0ZXBpY2tlckNvbXBvbmVudCB9IGZyb20gJy4vZGF0ZXBpY2tlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgTWF0RGF0ZXBpY2tlck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RhdGVwaWNrZXInO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUsIFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBNYXRGb3JtRmllbGRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9mb3JtLWZpZWxkJztcbmltcG9ydCB7IE1hdElucHV0TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaW5wdXQnO1xuaW1wb3J0IHsgSWNvbkNvbXBvbmVudE1vZHVsZSB9IGZyb20gJy4uL2ljb24vaWNvbi5jb21wb25lbnQubW9kdWxlJztcbmltcG9ydCB7IE1hdE5hdGl2ZURhdGVNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jb3JlJztcbmltcG9ydCB7IFVpVHJhbnNsYXRlUGlwZSB9IGZyb20gJy4uLy4uL3BpcGVzL3VpLXRyYW5zbGF0ZS5waXBlJztcbmltcG9ydCB7IE5vRGF0ZUZvcm1hdERpcmVjdGl2ZSB9IGZyb20gJy4vbm8tZGF0ZS1mb3JtYXQuZGlyZWN0aXZlJztcbmltcG9ydCB7IEhhc1ZhbGlkYXRpb25FcnJvclBpcGUgfSBmcm9tICcuLi8uLi9waXBlcy9oYXMtdmFsaWRhdGlvbi1lcnJvci5waXBlJztcbmltcG9ydCB7IFZhbGlkYXRpb25FcnJvck1vZHVsZSB9IGZyb20gJy4uL3ZhbGlkYXRpb24tZXJyb3IvdmFsaWRhdGlvbi1lcnJvci5tb2R1bGUnO1xuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtEYXRlcGlja2VyQ29tcG9uZW50XSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBNYXRGb3JtRmllbGRNb2R1bGUsXG4gICAgTWF0SW5wdXRNb2R1bGUsXG4gICAgSWNvbkNvbXBvbmVudE1vZHVsZSxcbiAgICBGb3Jtc01vZHVsZSxcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICAgIE1hdERhdGVwaWNrZXJNb2R1bGUsXG4gICAgTWF0TmF0aXZlRGF0ZU1vZHVsZSxcbiAgICBVaVRyYW5zbGF0ZVBpcGUsXG4gICAgTm9EYXRlRm9ybWF0RGlyZWN0aXZlLFxuICAgIEhhc1ZhbGlkYXRpb25FcnJvclBpcGUsXG4gICAgVmFsaWRhdGlvbkVycm9yTW9kdWxlLFxuICBdLFxuICBleHBvcnRzOiBbRGF0ZXBpY2tlckNvbXBvbmVudF0sXG59KVxuZXhwb3J0IGNsYXNzIERhdGVwaWNrZXJDb21wb25lbnRNb2R1bGUge31cbiJdfQ==
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export class DatepickerService {
|
|
4
|
+
#useBrowserTimezone = false;
|
|
5
|
+
set useBrowserTimezone(value) {
|
|
6
|
+
this.#useBrowserTimezone = value;
|
|
7
|
+
}
|
|
8
|
+
get useBrowserTimezone() {
|
|
9
|
+
return this.#useBrowserTimezone;
|
|
10
|
+
}
|
|
11
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DatepickerService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
12
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DatepickerService, providedIn: 'root' }); }
|
|
13
|
+
}
|
|
14
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DatepickerService, decorators: [{
|
|
15
|
+
type: Injectable,
|
|
16
|
+
args: [{
|
|
17
|
+
providedIn: 'root'
|
|
18
|
+
}]
|
|
19
|
+
}] });
|
|
20
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZXBpY2tlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGdvLWNhbm9weS11aS9jb21wb25lbnRzL2RhdGVwaWNrZXIvZGF0ZXBpY2tlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBSzNDLE1BQU0sT0FBTyxpQkFBaUI7SUFDNUIsbUJBQW1CLEdBQUcsS0FBSyxDQUFDO0lBRTVCLElBQUksa0JBQWtCLENBQUMsS0FBYztRQUNuQyxJQUFJLENBQUMsbUJBQW1CLEdBQUcsS0FBSyxDQUFDO0lBQ25DLENBQUM7SUFFRCxJQUFJLGtCQUFrQjtRQUNwQixPQUFPLElBQUksQ0FBQyxtQkFBbUIsQ0FBQztJQUNsQyxDQUFDOytHQVRVLGlCQUFpQjttSEFBakIsaUJBQWlCLGNBRmhCLE1BQU07OzRGQUVQLGlCQUFpQjtrQkFIN0IsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIERhdGVwaWNrZXJTZXJ2aWNlIHtcbiAgI3VzZUJyb3dzZXJUaW1lem9uZSA9IGZhbHNlO1xuXG4gIHNldCB1c2VCcm93c2VyVGltZXpvbmUodmFsdWU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLiN1c2VCcm93c2VyVGltZXpvbmUgPSB2YWx1ZTtcbiAgfVxuXG4gIGdldCB1c2VCcm93c2VyVGltZXpvbmUoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuI3VzZUJyb3dzZXJUaW1lem9uZTtcbiAgfVxufVxuIl19
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import { Directive, Injectable } from '@angular/core';
|
|
2
|
+
import { DateAdapter, MAT_DATE_FORMATS, NativeDateAdapter, } from '@angular/material/core';
|
|
3
|
+
import { formatDate } from '@angular/common';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
export class CustomDateAdapter extends NativeDateAdapter {
|
|
6
|
+
format(date) {
|
|
7
|
+
return formatDate(date, 'MM/yyyy', 'en-US');
|
|
8
|
+
}
|
|
9
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: CustomDateAdapter, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
10
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: CustomDateAdapter }); }
|
|
11
|
+
}
|
|
12
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: CustomDateAdapter, decorators: [{
|
|
13
|
+
type: Injectable
|
|
14
|
+
}] });
|
|
15
|
+
const FORMATS = {
|
|
16
|
+
parse: {
|
|
17
|
+
dateInput: 'MM/YYYY',
|
|
18
|
+
},
|
|
19
|
+
display: {
|
|
20
|
+
dateInput: 'MM/YYYY',
|
|
21
|
+
monthYearLabel: 'MMM YYYY',
|
|
22
|
+
dateA11yLabel: 'LL',
|
|
23
|
+
monthYearA11yLabel: 'MMMM YYYY',
|
|
24
|
+
},
|
|
25
|
+
};
|
|
26
|
+
export class NoDateFormatDirective {
|
|
27
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: NoDateFormatDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
28
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.12", type: NoDateFormatDirective, isStandalone: true, selector: "[appNoDateFormat]", providers: [
|
|
29
|
+
{
|
|
30
|
+
provide: DateAdapter,
|
|
31
|
+
useClass: CustomDateAdapter,
|
|
32
|
+
},
|
|
33
|
+
{
|
|
34
|
+
provide: MAT_DATE_FORMATS,
|
|
35
|
+
useValue: FORMATS,
|
|
36
|
+
},
|
|
37
|
+
], ngImport: i0 }); }
|
|
38
|
+
}
|
|
39
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: NoDateFormatDirective, decorators: [{
|
|
40
|
+
type: Directive,
|
|
41
|
+
args: [{
|
|
42
|
+
selector: '[appNoDateFormat]',
|
|
43
|
+
providers: [
|
|
44
|
+
{
|
|
45
|
+
provide: DateAdapter,
|
|
46
|
+
useClass: CustomDateAdapter,
|
|
47
|
+
},
|
|
48
|
+
{
|
|
49
|
+
provide: MAT_DATE_FORMATS,
|
|
50
|
+
useValue: FORMATS,
|
|
51
|
+
},
|
|
52
|
+
],
|
|
53
|
+
standalone: true,
|
|
54
|
+
}]
|
|
55
|
+
}] });
|
|
56
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm8tZGF0ZS1mb3JtYXQuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGdvLWNhbm9weS11aS9jb21wb25lbnRzL2RhdGVwaWNrZXIvbm8tZGF0ZS1mb3JtYXQuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3RELE9BQU8sRUFDTCxXQUFXLEVBQ1gsZ0JBQWdCLEVBRWhCLGlCQUFpQixHQUNsQixNQUFNLHdCQUF3QixDQUFDO0FBQ2hDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7QUFHN0MsTUFBTSxPQUFPLGlCQUFrQixTQUFRLGlCQUFpQjtJQUM3QyxNQUFNLENBQUMsSUFBVTtRQUN4QixPQUFPLFVBQVUsQ0FBQyxJQUFJLEVBQUUsU0FBUyxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQzlDLENBQUM7K0dBSFUsaUJBQWlCO21IQUFqQixpQkFBaUI7OzRGQUFqQixpQkFBaUI7a0JBRDdCLFVBQVU7O0FBT1gsTUFBTSxPQUFPLEdBQW1CO0lBQzlCLEtBQUssRUFBRTtRQUNMLFNBQVMsRUFBRSxTQUFTO0tBQ3JCO0lBQ0QsT0FBTyxFQUFFO1FBQ1AsU0FBUyxFQUFFLFNBQVM7UUFDcEIsY0FBYyxFQUFFLFVBQVU7UUFDMUIsYUFBYSxFQUFFLElBQUk7UUFDbkIsa0JBQWtCLEVBQUUsV0FBVztLQUNoQztDQUNGLENBQUM7QUFnQkYsTUFBTSxPQUFPLHFCQUFxQjsrR0FBckIscUJBQXFCO21HQUFyQixxQkFBcUIsZ0VBWnJCO1lBQ1Q7Z0JBQ0UsT0FBTyxFQUFFLFdBQVc7Z0JBQ3BCLFFBQVEsRUFBRSxpQkFBaUI7YUFDNUI7WUFDRDtnQkFDRSxPQUFPLEVBQUUsZ0JBQWdCO2dCQUN6QixRQUFRLEVBQUUsT0FBTzthQUNsQjtTQUNGOzs0RkFHVSxxQkFBcUI7a0JBZGpDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLG1CQUFtQjtvQkFDN0IsU0FBUyxFQUFFO3dCQUNUOzRCQUNFLE9BQU8sRUFBRSxXQUFXOzRCQUNwQixRQUFRLEVBQUUsaUJBQWlCO3lCQUM1Qjt3QkFDRDs0QkFDRSxPQUFPLEVBQUUsZ0JBQWdCOzRCQUN6QixRQUFRLEVBQUUsT0FBTzt5QkFDbEI7cUJBQ0Y7b0JBQ0QsVUFBVSxFQUFFLElBQUk7aUJBQ2pCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBEYXRlQWRhcHRlcixcbiAgTUFUX0RBVEVfRk9STUFUUyxcbiAgTWF0RGF0ZUZvcm1hdHMsXG4gIE5hdGl2ZURhdGVBZGFwdGVyLFxufSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jb3JlJztcbmltcG9ydCB7IGZvcm1hdERhdGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgQ3VzdG9tRGF0ZUFkYXB0ZXIgZXh0ZW5kcyBOYXRpdmVEYXRlQWRhcHRlciB7XG4gIG92ZXJyaWRlIGZvcm1hdChkYXRlOiBEYXRlKTogc3RyaW5nIHtcbiAgICByZXR1cm4gZm9ybWF0RGF0ZShkYXRlLCAnTU0veXl5eScsICdlbi1VUycpO1xuICB9XG59XG5cbmNvbnN0IEZPUk1BVFM6IE1hdERhdGVGb3JtYXRzID0ge1xuICBwYXJzZToge1xuICAgIGRhdGVJbnB1dDogJ01NL1lZWVknLFxuICB9LFxuICBkaXNwbGF5OiB7XG4gICAgZGF0ZUlucHV0OiAnTU0vWVlZWScsXG4gICAgbW9udGhZZWFyTGFiZWw6ICdNTU0gWVlZWScsXG4gICAgZGF0ZUExMXlMYWJlbDogJ0xMJyxcbiAgICBtb250aFllYXJBMTF5TGFiZWw6ICdNTU1NIFlZWVknLFxuICB9LFxufTtcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW2FwcE5vRGF0ZUZvcm1hdF0nLFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBEYXRlQWRhcHRlcixcbiAgICAgIHVzZUNsYXNzOiBDdXN0b21EYXRlQWRhcHRlcixcbiAgICB9LFxuICAgIHtcbiAgICAgIHByb3ZpZGU6IE1BVF9EQVRFX0ZPUk1BVFMsXG4gICAgICB1c2VWYWx1ZTogRk9STUFUUyxcbiAgICB9LFxuICBdLFxuICBzdGFuZGFsb25lOiB0cnVlLFxufSlcbmV4cG9ydCBjbGFzcyBOb0RhdGVGb3JtYXREaXJlY3RpdmUge31cbiJdfQ==
|