@tetacom/ng-components 1.1.2 → 1.1.4
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/assets/color-icons.svg +374 -697
- package/assets/file-icons.svg +0 -1
- package/assets/icons.svg +205 -138
- package/common/contract/auto-close-ignore-case.d.ts +1 -1
- package/common/contract/constructor-type.d.ts +1 -1
- package/common/model/public-api.d.ts +1 -0
- package/common/model/view-type.model.d.ts +1 -0
- package/common/public-api.d.ts +1 -0
- package/component/accordion/accordion/accordion.component.d.ts +1 -1
- package/component/accordion/accordion-content.directive.d.ts +1 -1
- package/component/accordion/accordion-head/accordion-head.component.d.ts +1 -1
- package/component/accordion/accordion-item/accordion-item.component.d.ts +4 -1
- package/component/autocomplete/autocomplete/autocomplete.component.d.ts +1 -1
- package/component/avatar/avatar/avatar.component.d.ts +17 -0
- package/component/avatar/avatar.module.d.ts +9 -0
- package/component/avatar/model/avatar-color.enum.d.ts +20 -0
- package/component/avatar/public-api.d.ts +2 -0
- package/component/button/button/button.component.d.ts +5 -2
- package/component/chart-3d/chart3d/chart3d.component.d.ts +1 -1
- package/component/checkbox/checkbox/checkbox.component.d.ts +2 -1
- package/component/date-picker/base-calendar.d.ts +49 -0
- package/component/date-picker/base-picker.d.ts +60 -0
- package/component/date-picker/date-picker/date-calendar/date-calendar.component.d.ts +20 -0
- package/component/date-picker/date-picker/date-picker.component.d.ts +38 -66
- package/component/date-picker/date-picker.module.d.ts +19 -16
- package/component/date-picker/date-range/date-range.component.d.ts +46 -0
- package/component/date-picker/date-range/range-calendar/range-calendar.component.d.ts +39 -0
- package/component/date-picker/day-picker/day-item/day-item.component.d.ts +9 -0
- package/component/date-picker/day-picker/day-picker.component.d.ts +30 -0
- package/component/date-picker/model/from-to.model.d.ts +4 -0
- package/component/date-picker/model/min-max-date.model.d.ts +4 -0
- package/component/date-picker/model/public-api.d.ts +5 -0
- package/component/date-picker/month-picker/month-picker.component.d.ts +16 -50
- package/component/date-picker/public-api.d.ts +6 -5
- package/component/date-picker/year-picker/scroll-to-selected-year.directive.d.ts +11 -0
- package/component/date-picker/year-picker/year-picker.component.d.ts +24 -0
- package/component/delimiter/delimiter/delimiter.component.d.ts +1 -1
- package/component/divider/divider/divider.component.d.ts +10 -0
- package/component/divider/divider.module.d.ts +8 -0
- package/component/divider/public-api.d.ts +2 -0
- package/component/dropdown/dropdown/dropdown.component.d.ts +1 -1
- package/component/dropdown/dropdown-base.d.ts +3 -1
- package/component/dropdown/dropdown-content.directive.d.ts +1 -1
- package/component/dropdown/dropdown-head.directive.d.ts +1 -1
- package/component/dropdown/dropdown.directive.d.ts +1 -1
- package/component/dynamic-component/popup-content/popup-content.component.d.ts +1 -1
- package/component/expand-card/expand-card/expand-card.component.d.ts +1 -1
- package/component/expand-card/expand-item/expand-item.component.d.ts +1 -1
- package/component/expand-panel/expand-panel/expand-panel.component.d.ts +1 -1
- package/component/expand-panel/expand-panel-content.directive.d.ts +1 -1
- package/component/expand-panel/expand-panel-head.directive.d.ts +1 -1
- package/component/file-upload/file-item/file-item.component.d.ts +1 -1
- package/component/file-upload/file-upload-area/file-upload-area.component.d.ts +1 -1
- package/component/filter/base/filter-base.d.ts +2 -2
- package/component/filter/base/filter-component-base.d.ts +1 -1
- package/component/filter/boolean-filter/boolean-filter.component.d.ts +2 -2
- package/component/filter/contarct/boolean-filter.d.ts +1 -2
- package/component/filter/contarct/date-filter.d.ts +1 -2
- package/component/filter/contarct/i-filter.d.ts +2 -2
- package/component/filter/contarct/list-filter.d.ts +1 -2
- package/component/filter/contarct/numeric-filter.d.ts +1 -2
- package/component/filter/contarct/string-filter.d.ts +1 -2
- package/component/filter/date-filter/date-filter.component.d.ts +3 -2
- package/component/filter/filter-host/filter-host.component.d.ts +2 -2
- package/component/filter/list-filter/list-filter.component.d.ts +2 -2
- package/component/filter/numeric-filter/numeric-filter.component.d.ts +3 -2
- package/component/filter/string-filter/string-filter.component.d.ts +2 -2
- package/component/icon/icon/icon.component.d.ts +1 -1
- package/component/icon/icon-file/icon-file.component.d.ts +9 -3
- package/component/icon/icon-file/icon-file.module.d.ts +9 -0
- package/component/icon/icon-sprite.directive.d.ts +1 -1
- package/component/icon/icon.module.d.ts +4 -5
- package/component/icon/public-api.d.ts +1 -0
- package/component/input/color-input/color-input.component.d.ts +1 -1
- package/component/input/form-group-title/form-group-title.component.d.ts +1 -1
- package/component/input/input/input.component.d.ts +3 -1
- package/component/input/text-field/text-field.component.d.ts +1 -1
- package/component/message/message/message.component.d.ts +1 -1
- package/component/message/message-host/message-host.component.d.ts +1 -1
- package/component/message/model/message.d.ts +3 -0
- package/component/modal/dialog/dialog.component.d.ts +1 -1
- package/component/modal/modal-container/modal-container.component.d.ts +1 -1
- package/component/pager/pager/pager.component.d.ts +1 -1
- package/component/panel/panel/panel.component.d.ts +1 -1
- package/component/progress-bar/progress-bar/progress-bar.component.d.ts +1 -1
- package/component/property-grid/property-grid/property-grid-group/property-grid-group.component.d.ts +1 -1
- package/component/property-grid/property-grid/property-grid-item/property-grid-item.component.d.ts +1 -1
- package/component/property-grid/property-grid/property-grid-item-description.directive.d.ts +1 -1
- package/component/property-grid/property-grid/property-grid.component.d.ts +1 -1
- package/component/public-api.d.ts +2 -0
- package/component/radio/radio/radio.component.d.ts +1 -1
- package/component/radio/radio-button/radio-button.component.d.ts +1 -1
- package/component/resize-panel/resize-panel/resize-panel.component.d.ts +1 -1
- package/component/select/select/select.component.d.ts +4 -1
- package/component/select/select-option.directive.d.ts +1 -1
- package/component/select/select-value.directive.d.ts +1 -1
- package/component/sidebar/sidebar/sidebar.component.d.ts +1 -1
- package/component/switch/switch/switch.component.d.ts +4 -1
- package/component/switch/switch-button/switch-button.component.d.ts +1 -1
- package/component/table/base/cell-component-base.d.ts +1 -1
- package/component/table/base/head-cell-component-base.d.ts +1 -1
- package/component/table/cell/cell.component.d.ts +1 -1
- package/component/table/cell-host/cell-host.component.d.ts +1 -1
- package/component/table/contract/table-column.d.ts +0 -2
- package/component/table/default/boolean-cell/boolean-cell.component.d.ts +1 -4
- package/component/table/default/date-cell/date-cell.component.d.ts +1 -4
- package/component/table/default/date-time-cell/date-time-cell.component.d.ts +1 -4
- package/component/table/default/default-head-cell/default-head-cell.component.d.ts +1 -1
- package/component/table/default/list-cell/list-cell.component.d.ts +1 -5
- package/component/table/default/numeric-cell/numeric-cell.component.d.ts +1 -4
- package/component/table/default/string-cell/string-cell.component.d.ts +1 -4
- package/component/table/head-cell/head-cell.component.d.ts +1 -1
- package/component/table/head-cell-dropdown/head-cell-dropdown.component.d.ts +1 -1
- package/component/table/head-cell-host/head-cell-host.component.d.ts +1 -1
- package/component/table/selection-cell/selection-cell.component.d.ts +1 -1
- package/component/table/selection-head-cell/selection-head-cell.component.d.ts +1 -1
- package/component/table/table/table.component.d.ts +1 -1
- package/component/table/table-body/table-body.component.d.ts +1 -1
- package/component/table/table-head/filter-dropdown-tab/filter-dropdown-tab.component.d.ts +1 -1
- package/component/table/table-head/main-dropdown-tab/main-dropdown-tab.component.d.ts +1 -1
- package/component/table/table-head/table-head.component.d.ts +1 -1
- package/component/table/table-head/visibility-dropdown-tab/visibility-dropdown-tab.component.d.ts +1 -1
- package/component/table/table-head-group/table-head-group.component.d.ts +1 -1
- package/component/tabs/tab/tab.component.d.ts +1 -1
- package/component/tabs/tab-content.directive.d.ts +1 -1
- package/component/tabs/tab-title.directive.d.ts +1 -1
- package/component/tabs/tabs/tabs.component.d.ts +1 -1
- package/component/theme-switch/theme-switch/theme-switch.component.d.ts +1 -1
- package/component/toggle/toggle/toggle.component.d.ts +1 -1
- package/component/toolbar/toolbar/toolbar.component.d.ts +1 -1
- package/component/tree/tree/tree.component.d.ts +1 -1
- package/component/tree/tree-item/tree-item.component.d.ts +1 -1
- package/component/tree/tree-item-toggle/tree-item-toggle.component.d.ts +1 -1
- package/directive/auto-position/auto-position.directive.d.ts +1 -1
- package/directive/click-outside/click-outside.directive.d.ts +1 -1
- package/directive/context-menu/context-menu.directive.d.ts +1 -1
- package/directive/disable-control/disable-control.directive.d.ts +1 -1
- package/directive/drag-drop/drag-container.directive.d.ts +1 -1
- package/directive/drag-drop/drag-placeholder.directive.d.ts +1 -1
- package/directive/drag-drop/drag-preview.directive.d.ts +1 -1
- package/directive/drag-drop/drag.directive.d.ts +1 -1
- package/directive/drag-drop/model/drop-target.d.ts +1 -1
- package/directive/drag-sort/drag-sort-container.directive.d.ts +1 -1
- package/directive/drag-sort/drag-sort-item.directive.d.ts +1 -1
- package/directive/dynamic-content-base.directive.d.ts +1 -1
- package/directive/highlight/highlight.directive.d.ts +1 -1
- package/directive/hint/hint.directive.d.ts +3 -1
- package/directive/let/let.directive.d.ts +1 -1
- package/directive/loader/loader.directive.d.ts +1 -1
- package/directive/no-autofill/no-autofill.directive.d.ts +1 -1
- package/directive/only-number/only-number.directive.d.ts +1 -1
- package/directive/resize-drag/resize-drag.directive.d.ts +1 -1
- package/directive/scroll-into-view/scroll-into-view.directive.d.ts +1 -1
- package/directive/scrollable/scrollable/scrollable.component.d.ts +1 -1
- package/directive/scrollable/scrollable.directive.d.ts +1 -1
- package/directive/teta-template/teta-template.directive.d.ts +1 -1
- package/directive/tooltip/tooltip.directive.d.ts +1 -1
- package/esm2022/common/contract/teta-content-ref.mjs +11 -0
- package/esm2022/common/model/public-api.mjs +2 -0
- package/esm2022/common/model/view-type.model.mjs +2 -0
- package/esm2022/common/public-api.mjs +6 -0
- package/esm2022/common/service/click.service.mjs +26 -0
- package/esm2022/common/service/dynamic-component.service.mjs +97 -0
- package/esm2022/common/service/overlay-container.service.mjs +43 -0
- package/esm2022/component/accordion/accordion/accordion.component.mjs +19 -0
- package/esm2022/component/accordion/accordion-content.directive.mjs +17 -0
- package/esm2022/component/accordion/accordion-head/accordion-head.component.mjs +54 -0
- package/esm2022/component/accordion/accordion-item/accordion-item.component.mjs +58 -0
- package/{esm2020 → esm2022}/component/accordion/accordion.module.mjs +7 -7
- package/{esm2020 → esm2022}/component/autocomplete/autocomplete/autocomplete.component.mjs +4 -4
- package/{esm2020 → esm2022}/component/autocomplete/autocomplete.module.mjs +5 -5
- package/esm2022/component/avatar/avatar/avatar.component.mjs +60 -0
- package/esm2022/component/avatar/avatar.module.mjs +28 -0
- package/esm2022/component/avatar/model/avatar-color.enum.mjs +22 -0
- package/esm2022/component/avatar/public-api.mjs +3 -0
- package/esm2022/component/button/button/button.component.mjs +57 -0
- package/{esm2020 → esm2022}/component/button/button.module.mjs +5 -5
- package/{esm2020 → esm2022}/component/chart-3d/chart-3d.module.mjs +5 -5
- package/esm2022/component/chart-3d/chart3d/chart3d.component.mjs +255 -0
- package/esm2022/component/chart-3d/model/chart-3d-options.mjs +9 -0
- package/esm2022/component/chart-3d/model/series-3d.mjs +9 -0
- package/esm2022/component/checkbox/checkbox/checkbox.component.mjs +154 -0
- package/{esm2020 → esm2022}/component/checkbox/checkbox.module.mjs +7 -7
- package/esm2022/component/date-picker/base-calendar.mjs +100 -0
- package/esm2022/component/date-picker/base-picker.mjs +107 -0
- package/esm2022/component/date-picker/date-picker/date-calendar/date-calendar.component.mjs +56 -0
- package/esm2022/component/date-picker/date-picker/date-picker.component.mjs +214 -0
- package/esm2022/component/date-picker/date-picker.module.mjs +65 -0
- package/esm2022/component/date-picker/date-range/date-range.component.mjs +218 -0
- package/esm2022/component/date-picker/date-range/range-calendar/range-calendar.component.mjs +119 -0
- package/esm2022/component/date-picker/day-picker/day-item/day-item.component.mjs +16 -0
- package/esm2022/component/date-picker/day-picker/day-picker.component.mjs +120 -0
- package/esm2022/component/date-picker/model/date-period.mjs +9 -0
- package/esm2022/component/date-picker/model/day-model.mjs +19 -0
- package/esm2022/component/date-picker/model/from-to.model.mjs +2 -0
- package/esm2022/component/date-picker/model/min-max-date.model.mjs +2 -0
- package/esm2022/component/date-picker/model/public-api.mjs +6 -0
- package/esm2022/component/date-picker/month-picker/month-picker.component.mjs +53 -0
- package/esm2022/component/date-picker/public-api.mjs +7 -0
- package/esm2022/component/date-picker/year-picker/scroll-to-selected-year.directive.mjs +27 -0
- package/esm2022/component/date-picker/year-picker/year-picker.component.mjs +53 -0
- package/esm2022/component/delimiter/delimiter/delimiter.component.mjs +63 -0
- package/{esm2020 → esm2022}/component/delimiter/delimiter.module.mjs +5 -5
- package/esm2022/component/divider/divider/divider.component.mjs +20 -0
- package/esm2022/component/divider/divider.module.mjs +20 -0
- package/esm2022/component/divider/public-api.mjs +3 -0
- package/esm2022/component/dropdown/dropdown/dropdown.component.mjs +36 -0
- package/esm2022/component/dropdown/dropdown-base.mjs +238 -0
- package/esm2022/component/dropdown/dropdown-content.directive.mjs +19 -0
- package/esm2022/component/dropdown/dropdown-head.directive.mjs +19 -0
- package/esm2022/component/dropdown/dropdown.directive.mjs +43 -0
- package/{esm2020 → esm2022}/component/dropdown/dropdown.module.mjs +11 -11
- package/{esm2020 → esm2022}/component/dynamic-component/dynamic-component.module.mjs +5 -5
- package/esm2022/component/dynamic-component/popup-content/popup-content.component.mjs +59 -0
- package/{esm2020 → esm2022}/component/expand-card/expand-card/expand-card.component.mjs +8 -8
- package/{esm2020 → esm2022}/component/expand-card/expand-card.module.mjs +15 -15
- package/{esm2020 → esm2022}/component/expand-card/expand-item/expand-item.component.mjs +6 -6
- package/esm2022/component/expand-panel/expand-panel/expand-panel.component.mjs +68 -0
- package/esm2022/component/expand-panel/expand-panel-content.directive.mjs +17 -0
- package/esm2022/component/expand-panel/expand-panel-head.directive.mjs +17 -0
- package/{esm2020 → esm2022}/component/expand-panel/expand-panel.module.mjs +17 -17
- package/{esm2020 → esm2022}/component/file-upload/file-item/file-item.component.mjs +4 -4
- package/esm2022/component/file-upload/file-upload-area/file-upload-area.component.mjs +87 -0
- package/{esm2020 → esm2022}/component/file-upload/file-upload.module.mjs +5 -5
- package/esm2022/component/filter/base/filter-base.mjs +13 -0
- package/{esm2020 → esm2022}/component/filter/base/filter-component-base.mjs +1 -1
- package/esm2022/component/filter/boolean-filter/boolean-filter.component.mjs +67 -0
- package/esm2022/component/filter/contarct/boolean-filter.mjs +8 -0
- package/esm2022/component/filter/contarct/date-filter-value.mjs +17 -0
- package/esm2022/component/filter/contarct/date-filter.mjs +11 -0
- package/esm2022/component/filter/contarct/filter-item.mjs +78 -0
- package/esm2022/component/filter/contarct/filter-state.mjs +145 -0
- package/{esm2020 → esm2022}/component/filter/contarct/i-filter.mjs +1 -1
- package/esm2022/component/filter/contarct/list-filter.mjs +13 -0
- package/esm2022/component/filter/contarct/numeric-filter-value.mjs +22 -0
- package/esm2022/component/filter/contarct/numeric-filter.mjs +10 -0
- package/esm2022/component/filter/contarct/sort-param.mjs +26 -0
- package/esm2022/component/filter/contarct/string-filter.mjs +13 -0
- package/esm2022/component/filter/date-filter/date-filter.component.mjs +67 -0
- package/esm2022/component/filter/filter-host/filter-host.component.mjs +85 -0
- package/{esm2020 → esm2022}/component/filter/filter.module.mjs +31 -31
- package/esm2022/component/filter/list-filter/list-filter.component.mjs +103 -0
- package/esm2022/component/filter/numeric-filter/numeric-filter.component.mjs +67 -0
- package/esm2022/component/filter/string-filter/string-filter.component.mjs +68 -0
- package/esm2022/component/icon/icon/icon.component.mjs +39 -0
- package/esm2022/component/icon/icon-file/icon-file.component.mjs +30 -0
- package/esm2022/component/icon/icon-file/icon-file.module.mjs +28 -0
- package/esm2022/component/icon/icon-sprite.directive.mjs +34 -0
- package/esm2022/component/icon/icon.module.mjs +33 -0
- package/esm2022/component/icon/icon.service.mjs +64 -0
- package/{esm2020 → esm2022}/component/icon/public-api.mjs +2 -1
- package/esm2022/component/input/color-input/color-input.component.mjs +75 -0
- package/{esm2020 → esm2022}/component/input/form-group-title/form-group-title.component.mjs +6 -7
- package/esm2022/component/input/input/input.component.mjs +41 -0
- package/esm2022/component/input/input.module.mjs +26 -0
- package/esm2022/component/input/text-field/text-field.component.mjs +102 -0
- package/esm2022/component/message/message/message.component.mjs +79 -0
- package/esm2022/component/message/message-host/message-host.component.mjs +91 -0
- package/{esm2020 → esm2022}/component/message/message.module.mjs +9 -9
- package/esm2022/component/message/message.service.mjs +37 -0
- package/esm2022/component/message/model/message.mjs +29 -0
- package/esm2022/component/modal/dialog/dialog.component.mjs +51 -0
- package/esm2022/component/modal/dialog.service.mjs +40 -0
- package/esm2022/component/modal/modal-container/modal-container.component.mjs +86 -0
- package/esm2022/component/modal/modal.module.mjs +50 -0
- package/esm2022/component/modal/modal.service.mjs +125 -0
- package/{esm2020 → esm2022}/component/modal/model/current-modal.mjs +2 -1
- package/esm2022/component/modal/model/modal-instance.mjs +37 -0
- package/esm2022/component/pager/model/pager-state.mjs +70 -0
- package/{esm2020 → esm2022}/component/pager/pager/pager.component.mjs +4 -4
- package/{esm2020 → esm2022}/component/pager/pager.module.mjs +7 -7
- package/esm2022/component/panel/panel/panel.component.mjs +50 -0
- package/{esm2020 → esm2022}/component/panel/panel.module.mjs +5 -5
- package/esm2022/component/progress-bar/progress-bar/progress-bar.component.mjs +139 -0
- package/{esm2020 → esm2022}/component/progress-bar/progress-bar.module.mjs +5 -5
- package/esm2022/component/property-grid/property-grid/property-grid-group/property-grid-group.component.mjs +45 -0
- package/esm2022/component/property-grid/property-grid/property-grid-item/property-grid-item.component.mjs +141 -0
- package/esm2022/component/property-grid/property-grid/property-grid-item-description.directive.mjs +21 -0
- package/esm2022/component/property-grid/property-grid/property-grid.component.mjs +105 -0
- package/esm2022/component/property-grid/property-grid.module.mjs +87 -0
- package/esm2022/component/public-api.mjs +68 -0
- package/esm2022/component/radio/radio/radio.component.mjs +250 -0
- package/esm2022/component/radio/radio-button/radio-button.component.mjs +69 -0
- package/{esm2020 → esm2022}/component/radio/radio.module.mjs +5 -5
- package/esm2022/component/resize-panel/resize-panel/resize-panel.component.mjs +176 -0
- package/{esm2020 → esm2022}/component/resize-panel/resize-panel.module.mjs +5 -5
- package/esm2022/component/select/select/select.component.mjs +284 -0
- package/esm2022/component/select/select-option.directive.mjs +17 -0
- package/esm2022/component/select/select-value.directive.mjs +17 -0
- package/{esm2020 → esm2022}/component/select/select.module.mjs +21 -21
- package/esm2022/component/sidebar/sidebar/sidebar.component.mjs +56 -0
- package/{esm2020 → esm2022}/component/sidebar/sidebar.module.mjs +9 -9
- package/esm2022/component/switch/switch/switch.component.mjs +67 -0
- package/esm2022/component/switch/switch-button/switch-button.component.mjs +52 -0
- package/{esm2020 → esm2022}/component/switch/switch.module.mjs +5 -5
- package/esm2022/component/switch/switch.service.mjs +22 -0
- package/esm2022/component/table/base/cell-component-base.mjs +108 -0
- package/{esm2020 → esm2022}/component/table/base/head-cell-component-base.mjs +4 -4
- package/esm2022/component/table/cell/cell.component.mjs +38 -0
- package/esm2022/component/table/cell-host/cell-host.component.mjs +56 -0
- package/esm2022/component/table/contract/column-reorder-event.mjs +9 -0
- package/esm2022/component/table/contract/column-resize-event.mjs +9 -0
- package/esm2022/component/table/contract/sort-event.mjs +9 -0
- package/esm2022/component/table/contract/table-column-store.mjs +17 -0
- package/esm2022/component/table/contract/table-column.mjs +112 -0
- package/esm2022/component/table/default/boolean-cell/boolean-cell.component.mjs +44 -0
- package/esm2022/component/table/default/date-cell/date-cell.component.mjs +46 -0
- package/esm2022/component/table/default/date-time-cell/date-time-cell.component.mjs +45 -0
- package/esm2022/component/table/default/default-head-cell/default-head-cell.component.mjs +51 -0
- package/esm2022/component/table/default/list-cell/list-cell.component.mjs +71 -0
- package/esm2022/component/table/default/numeric-cell/numeric-cell.component.mjs +53 -0
- package/esm2022/component/table/default/string-cell/string-cell.component.mjs +53 -0
- package/esm2022/component/table/head-cell/head-cell.component.mjs +207 -0
- package/esm2022/component/table/head-cell-dropdown/head-cell-dropdown.component.mjs +59 -0
- package/esm2022/component/table/head-cell-host/head-cell-host.component.mjs +66 -0
- package/esm2022/component/table/selection-cell/selection-cell.component.mjs +49 -0
- package/esm2022/component/table/selection-head-cell/selection-head-cell.component.mjs +47 -0
- package/esm2022/component/table/service/table.service.mjs +672 -0
- package/esm2022/component/table/table/table.component.mjs +491 -0
- package/esm2022/component/table/table-body/table-body.component.mjs +224 -0
- package/esm2022/component/table/table-head/filter-dropdown-tab/filter-dropdown-tab.component.mjs +66 -0
- package/esm2022/component/table/table-head/main-dropdown-tab/main-dropdown-tab.component.mjs +97 -0
- package/esm2022/component/table/table-head/table-head.component.mjs +85 -0
- package/esm2022/component/table/table-head/visibility-dropdown-tab/visibility-dropdown-tab.component.mjs +153 -0
- package/esm2022/component/table/table-head-group/table-head-group.component.mjs +82 -0
- package/{esm2020 → esm2022}/component/table/table.module.mjs +74 -74
- package/esm2022/component/tabs/tab/tab.component.mjs +46 -0
- package/esm2022/component/tabs/tab-content.directive.mjs +17 -0
- package/esm2022/component/tabs/tab-title.directive.mjs +17 -0
- package/esm2022/component/tabs/tabs/tabs.component.mjs +74 -0
- package/{esm2020 → esm2022}/component/tabs/tabs.module.mjs +11 -11
- package/esm2022/component/theme-switch/theme-switch/theme-switch.component.mjs +30 -0
- package/{esm2020 → esm2022}/component/theme-switch/theme-switch.module.mjs +9 -9
- package/esm2022/component/theme-switch/theme-switch.service.mjs +36 -0
- package/esm2022/component/toggle/toggle/toggle.component.mjs +89 -0
- package/{esm2020 → esm2022}/component/toggle/toggle.module.mjs +5 -5
- package/esm2022/component/toolbar/toolbar/toolbar.component.mjs +28 -0
- package/{esm2020 → esm2022}/component/toolbar/toolbar.module.mjs +5 -5
- package/esm2022/component/tree/tree/tree.component.mjs +150 -0
- package/esm2022/component/tree/tree-item/tree-item.component.mjs +90 -0
- package/esm2022/component/tree/tree-item-toggle/tree-item-toggle.component.mjs +32 -0
- package/{esm2020 → esm2022}/component/tree/tree.module.mjs +5 -5
- package/esm2022/component/tree/tree.service.mjs +42 -0
- package/esm2022/directive/auto-position/auto-position.directive.mjs +72 -0
- package/{esm2020 → esm2022}/directive/auto-position/auto-position.module.mjs +5 -5
- package/esm2022/directive/click-outside/click-outside.directive.mjs +67 -0
- package/{esm2020 → esm2022}/directive/click-outside/click-outside.module.mjs +5 -5
- package/esm2022/directive/context-menu/context-menu.directive.mjs +132 -0
- package/{esm2020 → esm2022}/directive/context-menu/context-menu.module.mjs +7 -7
- package/esm2022/directive/disable-control/disable-control.directive.mjs +30 -0
- package/{esm2020 → esm2022}/directive/disable-control/disable-control.module.mjs +5 -5
- package/esm2022/directive/drag-drop/drag-container.directive.mjs +101 -0
- package/{esm2020 → esm2022}/directive/drag-drop/drag-drop.module.mjs +11 -11
- package/esm2022/directive/drag-drop/drag-drop.service.mjs +152 -0
- package/{esm2020 → esm2022}/directive/drag-drop/drag-placeholder.directive.mjs +4 -4
- package/esm2022/directive/drag-drop/drag-preview.directive.mjs +17 -0
- package/esm2022/directive/drag-drop/drag.directive.mjs +143 -0
- package/esm2022/directive/drag-drop/model/drag-container-instance.mjs +11 -0
- package/esm2022/directive/drag-drop/model/drag-instance.mjs +9 -0
- package/esm2022/directive/drag-sort/drag-sort-container.directive.mjs +68 -0
- package/esm2022/directive/drag-sort/drag-sort-item.directive.mjs +121 -0
- package/{esm2020 → esm2022}/directive/drag-sort/drag-sort.module.mjs +5 -5
- package/esm2022/directive/dynamic-content-base.directive.mjs +91 -0
- package/esm2022/directive/highlight/highlight.directive.mjs +73 -0
- package/{esm2020 → esm2022}/directive/highlight/highlight.module.mjs +5 -5
- package/esm2022/directive/hint/hint.directive.mjs +118 -0
- package/{esm2020 → esm2022}/directive/hint/hint.module.mjs +7 -7
- package/esm2022/directive/let/let.directive.mjs +40 -0
- package/{esm2020 → esm2022}/directive/let/let.module.mjs +5 -5
- package/esm2022/directive/loader/loader.directive.mjs +93 -0
- package/{esm2020 → esm2022}/directive/loader/loader.module.mjs +5 -5
- package/esm2022/directive/no-autofill/no-autofill.directive.mjs +32 -0
- package/{esm2020 → esm2022}/directive/no-autofill/no-autofill.module.mjs +5 -5
- package/esm2022/directive/only-number/only-number.directive.mjs +200 -0
- package/{esm2020 → esm2022}/directive/only-number/only-number.module.mjs +5 -5
- package/esm2022/directive/resize-drag/resize-drag.directive.mjs +73 -0
- package/{esm2020 → esm2022}/directive/resize-drag/resize-drag.module.mjs +5 -5
- package/esm2022/directive/scroll-into-view/scroll-into-view.directive.mjs +43 -0
- package/{esm2020 → esm2022}/directive/scroll-into-view/scroll-into-view.module.mjs +5 -5
- package/esm2022/directive/scrollable/scrollable/scrollable.component.mjs +107 -0
- package/esm2022/directive/scrollable/scrollable.directive.mjs +17 -0
- package/{esm2020 → esm2022}/directive/scrollable/scrollable.module.mjs +9 -9
- package/esm2022/directive/teta-template/teta-template.directive.mjs +24 -0
- package/{esm2020 → esm2022}/directive/teta-template/teta-template.module.mjs +5 -5
- package/esm2022/directive/tooltip/tooltip.directive.mjs +88 -0
- package/{esm2020 → esm2022}/directive/tooltip/tooltip.module.mjs +5 -5
- package/esm2022/locale/en.mjs +62 -0
- package/esm2022/locale/ru.mjs +62 -0
- package/esm2022/locale/teta-config.service.mjs +28 -0
- package/{esm2020 → esm2022}/locale/teta-localisation.mjs +1 -1
- package/{esm2020 → esm2022}/pipe/date-pipe/teta-date-pipe.module.mjs +5 -5
- package/esm2022/pipe/date-pipe/teta-date.pipe.mjs +35 -0
- package/{esm2020 → esm2022}/pipe/number-pipe/number-pipe.module.mjs +5 -5
- package/{esm2020 → esm2022}/pipe/number-pipe/number.pipe.mjs +4 -4
- package/{esm2020 → esm2022}/util/forms-util.mjs +9 -9
- package/{fesm2020 → fesm2022}/tetacom-ng-components.mjs +7290 -6537
- package/fesm2022/tetacom-ng-components.mjs.map +1 -0
- package/locale/teta-localisation.d.ts +2 -0
- package/package.json +13 -14
- package/style/accordion.scss +28 -6
- package/style/assembly-library.scss +4 -1
- package/style/assembly-presets.scss +0 -1
- package/style/badge.scss +28 -0
- package/style/border.scss +2 -1
- package/style/bottombar.scss +5 -0
- package/style/button.scss +16 -13
- package/style/checkbox.scss +26 -13
- package/style/chips.scss +10 -10
- package/style/color.scss +1 -36
- package/style/datepicker.scss +139 -24
- package/style/divider.scss +15 -0
- package/style/drag.scss +1 -1
- package/style/dropdown.scss +6 -4
- package/style/hint.scss +5 -5
- package/style/icon.scss +2 -1
- package/style/input.scss +32 -23
- package/style/layout.scss +6 -2
- package/style/list.scss +11 -8
- package/style/loader.scss +2 -2
- package/style/message.scss +15 -7
- package/style/modal.scss +3 -2
- package/style/navigation.scss +4 -1
- package/style/presets/color-presets.scss +8 -160
- package/style/presets/font-presets.scss +26 -25
- package/style/presets/view-types.scss +17 -0
- package/style/progress.scss +3 -3
- package/style/radio.scss +21 -7
- package/style/reset.scss +1 -0
- package/style/resize-panel.scss +2 -2
- package/style/scroll.scss +3 -3
- package/style/select.scss +26 -21
- package/style/shadow.scss +0 -20
- package/style/sidebar.scss +1 -1
- package/style/skeleton.scss +1 -1
- package/style/switch.scss +15 -10
- package/style/table.scss +15 -15
- package/style/tabs.scss +11 -11
- package/style/tag.scss +37 -0
- package/style/toggle.scss +20 -18
- package/style/toolbar.scss +1 -1
- package/style/tooltip.scss +8 -6
- package/style/tree.scss +4 -4
- package/util/export-dom-image.d.ts +1 -1
- package/component/date-picker/day-select/day-select.component.d.ts +0 -51
- package/component/date-picker/month-select/month-select.component.d.ts +0 -40
- package/component/date-picker/service/picker-touch.service.d.ts +0 -12
- package/component/date-picker/time-part-control/time-part-control.component.d.ts +0 -26
- package/component/date-picker/util/date-picker-util.d.ts +0 -15
- package/component/date-picker/year-select/year-select.component.d.ts +0 -45
- package/esm2020/common/contract/teta-content-ref.mjs +0 -8
- package/esm2020/common/public-api.mjs +0 -5
- package/esm2020/common/service/click.service.mjs +0 -23
- package/esm2020/common/service/dynamic-component.service.mjs +0 -93
- package/esm2020/common/service/overlay-container.service.mjs +0 -41
- package/esm2020/component/accordion/accordion/accordion.component.mjs +0 -18
- package/esm2020/component/accordion/accordion-content.directive.mjs +0 -16
- package/esm2020/component/accordion/accordion-head/accordion-head.component.mjs +0 -52
- package/esm2020/component/accordion/accordion-item/accordion-item.component.mjs +0 -43
- package/esm2020/component/button/button/button.component.mjs +0 -40
- package/esm2020/component/chart-3d/chart3d/chart3d.component.mjs +0 -244
- package/esm2020/component/chart-3d/model/chart-3d-options.mjs +0 -7
- package/esm2020/component/chart-3d/model/series-3d.mjs +0 -7
- package/esm2020/component/checkbox/checkbox/checkbox.component.mjs +0 -134
- package/esm2020/component/date-picker/date-picker/date-picker.component.mjs +0 -289
- package/esm2020/component/date-picker/date-picker.module.mjs +0 -69
- package/esm2020/component/date-picker/day-select/day-select.component.mjs +0 -184
- package/esm2020/component/date-picker/model/date-period.mjs +0 -7
- package/esm2020/component/date-picker/model/day-model.mjs +0 -13
- package/esm2020/component/date-picker/month-picker/month-picker.component.mjs +0 -253
- package/esm2020/component/date-picker/month-select/month-select.component.mjs +0 -148
- package/esm2020/component/date-picker/public-api.mjs +0 -6
- package/esm2020/component/date-picker/service/picker-touch.service.mjs +0 -34
- package/esm2020/component/date-picker/time-part-control/time-part-control.component.mjs +0 -73
- package/esm2020/component/date-picker/util/date-picker-util.mjs +0 -142
- package/esm2020/component/date-picker/year-select/year-select.component.mjs +0 -189
- package/esm2020/component/delimiter/delimiter/delimiter.component.mjs +0 -63
- package/esm2020/component/dropdown/dropdown/dropdown.component.mjs +0 -30
- package/esm2020/component/dropdown/dropdown-base.mjs +0 -225
- package/esm2020/component/dropdown/dropdown-content.directive.mjs +0 -17
- package/esm2020/component/dropdown/dropdown-head.directive.mjs +0 -18
- package/esm2020/component/dropdown/dropdown.directive.mjs +0 -38
- package/esm2020/component/dynamic-component/popup-content/popup-content.component.mjs +0 -59
- package/esm2020/component/expand-panel/expand-panel/expand-panel.component.mjs +0 -65
- package/esm2020/component/expand-panel/expand-panel-content.directive.mjs +0 -16
- package/esm2020/component/expand-panel/expand-panel-head.directive.mjs +0 -16
- package/esm2020/component/file-upload/file-upload-area/file-upload-area.component.mjs +0 -82
- package/esm2020/component/filter/base/filter-base.mjs +0 -10
- package/esm2020/component/filter/boolean-filter/boolean-filter.component.mjs +0 -60
- package/esm2020/component/filter/contarct/boolean-filter.mjs +0 -10
- package/esm2020/component/filter/contarct/date-filter-value.mjs +0 -9
- package/esm2020/component/filter/contarct/date-filter.mjs +0 -11
- package/esm2020/component/filter/contarct/filter-item.mjs +0 -34
- package/esm2020/component/filter/contarct/filter-state.mjs +0 -145
- package/esm2020/component/filter/contarct/list-filter.mjs +0 -12
- package/esm2020/component/filter/contarct/numeric-filter-value.mjs +0 -10
- package/esm2020/component/filter/contarct/numeric-filter.mjs +0 -11
- package/esm2020/component/filter/contarct/sort-param.mjs +0 -14
- package/esm2020/component/filter/contarct/string-filter.mjs +0 -12
- package/esm2020/component/filter/date-filter/date-filter.component.mjs +0 -60
- package/esm2020/component/filter/filter-host/filter-host.component.mjs +0 -78
- package/esm2020/component/filter/list-filter/list-filter.component.mjs +0 -95
- package/esm2020/component/filter/numeric-filter/numeric-filter.component.mjs +0 -60
- package/esm2020/component/filter/string-filter/string-filter.component.mjs +0 -61
- package/esm2020/component/icon/icon/icon.component.mjs +0 -37
- package/esm2020/component/icon/icon-file/icon-file.component.mjs +0 -14
- package/esm2020/component/icon/icon-sprite.directive.mjs +0 -32
- package/esm2020/component/icon/icon.module.mjs +0 -38
- package/esm2020/component/icon/icon.service.mjs +0 -59
- package/esm2020/component/input/color-input/color-input.component.mjs +0 -73
- package/esm2020/component/input/input/input.component.mjs +0 -36
- package/esm2020/component/input/input.module.mjs +0 -26
- package/esm2020/component/input/text-field/text-field.component.mjs +0 -96
- package/esm2020/component/message/message/message.component.mjs +0 -74
- package/esm2020/component/message/message-host/message-host.component.mjs +0 -88
- package/esm2020/component/message/message.service.mjs +0 -35
- package/esm2020/component/message/model/message.mjs +0 -21
- package/esm2020/component/modal/dialog/dialog.component.mjs +0 -44
- package/esm2020/component/modal/dialog.service.mjs +0 -39
- package/esm2020/component/modal/modal-container/modal-container.component.mjs +0 -84
- package/esm2020/component/modal/modal.module.mjs +0 -50
- package/esm2020/component/modal/modal.service.mjs +0 -121
- package/esm2020/component/modal/model/modal-instance.mjs +0 -34
- package/esm2020/component/pager/model/pager-state.mjs +0 -50
- package/esm2020/component/panel/panel/panel.component.mjs +0 -51
- package/esm2020/component/progress-bar/progress-bar/progress-bar.component.mjs +0 -131
- package/esm2020/component/property-grid/property-grid/property-grid-group/property-grid-group.component.mjs +0 -38
- package/esm2020/component/property-grid/property-grid/property-grid-item/property-grid-item.component.mjs +0 -130
- package/esm2020/component/property-grid/property-grid/property-grid-item-description.directive.mjs +0 -19
- package/esm2020/component/property-grid/property-grid/property-grid.component.mjs +0 -97
- package/esm2020/component/property-grid/property-grid.module.mjs +0 -87
- package/esm2020/component/public-api.mjs +0 -65
- package/esm2020/component/radio/radio/radio.component.mjs +0 -245
- package/esm2020/component/radio/radio-button/radio-button.component.mjs +0 -63
- package/esm2020/component/resize-panel/resize-panel/resize-panel.component.mjs +0 -168
- package/esm2020/component/select/select/select.component.mjs +0 -260
- package/esm2020/component/select/select-option.directive.mjs +0 -16
- package/esm2020/component/select/select-value.directive.mjs +0 -16
- package/esm2020/component/sidebar/sidebar/sidebar.component.mjs +0 -54
- package/esm2020/component/switch/switch/switch.component.mjs +0 -52
- package/esm2020/component/switch/switch-button/switch-button.component.mjs +0 -47
- package/esm2020/component/switch/switch.service.mjs +0 -21
- package/esm2020/component/table/base/cell-component-base.mjs +0 -97
- package/esm2020/component/table/cell/cell.component.mjs +0 -33
- package/esm2020/component/table/cell-host/cell-host.component.mjs +0 -50
- package/esm2020/component/table/contract/column-reorder-event.mjs +0 -7
- package/esm2020/component/table/contract/column-resize-event.mjs +0 -7
- package/esm2020/component/table/contract/sort-event.mjs +0 -7
- package/esm2020/component/table/contract/table-column-store.mjs +0 -12
- package/esm2020/component/table/contract/table-column.mjs +0 -38
- package/esm2020/component/table/default/boolean-cell/boolean-cell.component.mjs +0 -45
- package/esm2020/component/table/default/date-cell/date-cell.component.mjs +0 -47
- package/esm2020/component/table/default/date-time-cell/date-time-cell.component.mjs +0 -46
- package/esm2020/component/table/default/default-head-cell/default-head-cell.component.mjs +0 -47
- package/esm2020/component/table/default/list-cell/list-cell.component.mjs +0 -76
- package/esm2020/component/table/default/numeric-cell/numeric-cell.component.mjs +0 -55
- package/esm2020/component/table/default/string-cell/string-cell.component.mjs +0 -54
- package/esm2020/component/table/head-cell/head-cell.component.mjs +0 -189
- package/esm2020/component/table/head-cell-dropdown/head-cell-dropdown.component.mjs +0 -50
- package/esm2020/component/table/head-cell-host/head-cell-host.component.mjs +0 -60
- package/esm2020/component/table/selection-cell/selection-cell.component.mjs +0 -46
- package/esm2020/component/table/selection-head-cell/selection-head-cell.component.mjs +0 -45
- package/esm2020/component/table/service/table.service.mjs +0 -648
- package/esm2020/component/table/table/table.component.mjs +0 -472
- package/esm2020/component/table/table-body/table-body.component.mjs +0 -203
- package/esm2020/component/table/table-head/filter-dropdown-tab/filter-dropdown-tab.component.mjs +0 -55
- package/esm2020/component/table/table-head/main-dropdown-tab/main-dropdown-tab.component.mjs +0 -86
- package/esm2020/component/table/table-head/table-head.component.mjs +0 -77
- package/esm2020/component/table/table-head/visibility-dropdown-tab/visibility-dropdown-tab.component.mjs +0 -141
- package/esm2020/component/table/table-head-group/table-head-group.component.mjs +0 -76
- package/esm2020/component/tabs/tab/tab.component.mjs +0 -42
- package/esm2020/component/tabs/tab-content.directive.mjs +0 -16
- package/esm2020/component/tabs/tab-title.directive.mjs +0 -16
- package/esm2020/component/tabs/tabs/tabs.component.mjs +0 -70
- package/esm2020/component/theme-switch/theme-switch/theme-switch.component.mjs +0 -28
- package/esm2020/component/theme-switch/theme-switch.service.mjs +0 -34
- package/esm2020/component/toggle/toggle/toggle.component.mjs +0 -79
- package/esm2020/component/toolbar/toolbar/toolbar.component.mjs +0 -26
- package/esm2020/component/tree/tree/tree.component.mjs +0 -138
- package/esm2020/component/tree/tree-item/tree-item.component.mjs +0 -85
- package/esm2020/component/tree/tree-item-toggle/tree-item-toggle.component.mjs +0 -28
- package/esm2020/component/tree/tree.service.mjs +0 -40
- package/esm2020/directive/auto-position/auto-position.directive.mjs +0 -69
- package/esm2020/directive/click-outside/click-outside.directive.mjs +0 -65
- package/esm2020/directive/context-menu/context-menu.directive.mjs +0 -120
- package/esm2020/directive/disable-control/disable-control.directive.mjs +0 -29
- package/esm2020/directive/drag-drop/drag-container.directive.mjs +0 -92
- package/esm2020/directive/drag-drop/drag-drop.service.mjs +0 -142
- package/esm2020/directive/drag-drop/drag-preview.directive.mjs +0 -16
- package/esm2020/directive/drag-drop/drag.directive.mjs +0 -135
- package/esm2020/directive/drag-drop/model/drag-container-instance.mjs +0 -8
- package/esm2020/directive/drag-drop/model/drag-instance.mjs +0 -7
- package/esm2020/directive/drag-sort/drag-sort-container.directive.mjs +0 -64
- package/esm2020/directive/drag-sort/drag-sort-item.directive.mjs +0 -115
- package/esm2020/directive/dynamic-content-base.directive.mjs +0 -80
- package/esm2020/directive/highlight/highlight.directive.mjs +0 -72
- package/esm2020/directive/hint/hint.directive.mjs +0 -103
- package/esm2020/directive/let/let.directive.mjs +0 -38
- package/esm2020/directive/loader/loader.directive.mjs +0 -85
- package/esm2020/directive/no-autofill/no-autofill.directive.mjs +0 -30
- package/esm2020/directive/only-number/only-number.directive.mjs +0 -198
- package/esm2020/directive/resize-drag/resize-drag.directive.mjs +0 -71
- package/esm2020/directive/scroll-into-view/scroll-into-view.directive.mjs +0 -40
- package/esm2020/directive/scrollable/scrollable/scrollable.component.mjs +0 -96
- package/esm2020/directive/scrollable/scrollable.directive.mjs +0 -19
- package/esm2020/directive/teta-template/teta-template.directive.mjs +0 -22
- package/esm2020/directive/tooltip/tooltip.directive.mjs +0 -76
- package/esm2020/locale/en.mjs +0 -60
- package/esm2020/locale/ru.mjs +0 -60
- package/esm2020/locale/teta-config.service.mjs +0 -28
- package/esm2020/pipe/date-pipe/teta-date.pipe.mjs +0 -34
- package/esm2020/pipe/prepend-zero/prepend-zero.module.mjs +0 -18
- package/esm2020/pipe/prepend-zero/prepend-zero.pipe.mjs +0 -21
- package/fesm2015/tetacom-ng-components.mjs +0 -13042
- package/fesm2015/tetacom-ng-components.mjs.map +0 -1
- package/fesm2020/tetacom-ng-components.mjs.map +0 -1
- package/pipe/prepend-zero/prepend-zero.module.d.ts +0 -8
- package/pipe/prepend-zero/prepend-zero.pipe.d.ts +0 -7
- package/style/presets/shadow-presets.scss +0 -16
- package/style/tokens/basedark.tokens.css +0 -77
- package/style/tokens/baselight.tokens.css +0 -61
- package/style/tokens/global.tokens.css +0 -235
- package/style/tokens/utility.tokens.css +0 -1119
- package/style/util/button-util.scss +0 -58
- /package/{esm2020 → esm2022}/common/contract/auto-close-ignore-case.mjs +0 -0
- /package/{esm2020 → esm2022}/common/contract/constructor-type.mjs +0 -0
- /package/{esm2020 → esm2022}/common/contract/dynamic-data.mjs +0 -0
- /package/{esm2020 → esm2022}/common/contract/i-dictionary.mjs +0 -0
- /package/{esm2020 → esm2022}/common/contract/i-id-name.mjs +0 -0
- /package/{esm2020 → esm2022}/common/contract/i-id.mjs +0 -0
- /package/{esm2020 → esm2022}/common/contract/i-rect.mjs +0 -0
- /package/{esm2020 → esm2022}/common/contract/i-tree-data.mjs +0 -0
- /package/{esm2020 → esm2022}/common/contract/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/common/enum/align.enum.mjs +0 -0
- /package/{esm2020 → esm2022}/common/enum/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/common/enum/teta-size.enum.mjs +0 -0
- /package/{esm2020 → esm2022}/common/enum/vertical-align.enum.mjs +0 -0
- /package/{esm2020 → esm2022}/common/service/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/common/util/array-util.mjs +0 -0
- /package/{esm2020 → esm2022}/common/util/dom-util.mjs +0 -0
- /package/{esm2020 → esm2022}/common/util/position-util.mjs +0 -0
- /package/{esm2020 → esm2022}/common/util/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/component/accordion/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/component/autocomplete/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/component/button/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/component/chart-3d/model/base-3d-point.mjs +0 -0
- /package/{esm2020 → esm2022}/component/chart-3d/model/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/component/chart-3d/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/component/checkbox/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/component/date-picker/model/date-picker-mode.enum.mjs +0 -0
- /package/{esm2020 → esm2022}/component/delimiter/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/component/dropdown/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/component/dynamic-component/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/component/expand-card/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/component/expand-panel/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/component/file-upload/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/component/filter/contarct/filter-component-map.mjs +0 -0
- /package/{esm2020 → esm2022}/component/filter/enum/filter-type.enum.mjs +0 -0
- /package/{esm2020 → esm2022}/component/filter/enum/list-filter-type.enum.mjs +0 -0
- /package/{esm2020 → esm2022}/component/filter/enum/string-filter-type.enum.mjs +0 -0
- /package/{esm2020 → esm2022}/component/filter/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/component/input/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/component/message/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/component/modal/model/i-modal-config.mjs +0 -0
- /package/{esm2020 → esm2022}/component/modal/model/i-modal-result.mjs +0 -0
- /package/{esm2020 → esm2022}/component/modal/model/modal-close-reason.enum.mjs +0 -0
- /package/{esm2020 → esm2022}/component/modal/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/component/pager/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/component/pager/util/pager-util.mjs +0 -0
- /package/{esm2020 → esm2022}/component/panel/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/component/progress-bar/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/component/property-grid/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/component/radio/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/component/resize-panel/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/component/select/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/component/sidebar/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/component/sidebar/sidebar-position.enum.mjs +0 -0
- /package/{esm2020 → esm2022}/component/switch/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/component/table/base/detail-component-base.mjs +0 -0
- /package/{esm2020 → esm2022}/component/table/contract/cell-components-map.mjs +0 -0
- /package/{esm2020 → esm2022}/component/table/contract/head-dropdown-tab.mjs +0 -0
- /package/{esm2020 → esm2022}/component/table/contract/i-cell-coordinates.mjs +0 -0
- /package/{esm2020 → esm2022}/component/table/contract/i-cell-event.mjs +0 -0
- /package/{esm2020 → esm2022}/component/table/contract/i-cell-instance.mjs +0 -0
- /package/{esm2020 → esm2022}/component/table/contract/i-cell-value.mjs +0 -0
- /package/{esm2020 → esm2022}/component/table/contract/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/component/table/enum/aggregation-type.enum.mjs +0 -0
- /package/{esm2020 → esm2022}/component/table/enum/edit-event.enum.mjs +0 -0
- /package/{esm2020 → esm2022}/component/table/enum/edit-type.enum.mjs +0 -0
- /package/{esm2020 → esm2022}/component/table/enum/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/component/table/enum/select-type.enum.mjs +0 -0
- /package/{esm2020 → esm2022}/component/table/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/component/table/util/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/component/table/util/state-util.mjs +0 -0
- /package/{esm2020 → esm2022}/component/table/util/table-util.mjs +0 -0
- /package/{esm2020 → esm2022}/component/tabs/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/component/theme-switch/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/component/toggle/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/component/toolbar/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/component/tree/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/directive/auto-position/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/directive/click-outside/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/directive/context-menu/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/directive/disable-control/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/directive/drag-drop/model/drag-process.mjs +0 -0
- /package/{esm2020 → esm2022}/directive/drag-drop/model/drag-selection.mjs +0 -0
- /package/{esm2020 → esm2022}/directive/drag-drop/model/drop-event.mjs +0 -0
- /package/{esm2020 → esm2022}/directive/drag-drop/model/drop-target.mjs +0 -0
- /package/{esm2020 → esm2022}/directive/drag-drop/model/point.mjs +0 -0
- /package/{esm2020 → esm2022}/directive/drag-drop/model/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/directive/drag-drop/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/directive/drag-sort/drag-sort-event.mjs +0 -0
- /package/{esm2020 → esm2022}/directive/drag-sort/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/directive/highlight/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/directive/hint/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/directive/let/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/directive/loader/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/directive/no-autofill/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/directive/only-number/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/directive/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/directive/resize-drag/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/directive/scroll-into-view/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/directive/scrollable/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/directive/teta-template/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/directive/tooltip/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/locale/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/observable/animation-frame.mjs +0 -0
- /package/{esm2020 → esm2022}/observable/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/observable/zoneObservable.mjs +0 -0
- /package/{esm2020 → esm2022}/pipe/date-pipe/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/pipe/number-pipe/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/pipe/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/pipe/util/number-helper.mjs +0 -0
- /package/{esm2020 → esm2022}/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/tetacom-ng-components.mjs +0 -0
- /package/{esm2020 → esm2022}/util/date-util.mjs +0 -0
- /package/{esm2020 → esm2022}/util/export-dom-image.mjs +0 -0
- /package/{esm2020 → esm2022}/util/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/util/string-util.mjs +0 -0
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
import { NgModule } from '@angular/core';
|
|
2
|
+
import { CommonModule } from '@angular/common';
|
|
3
|
+
import { DateCalendarComponent } from "./date-picker/date-calendar/date-calendar.component";
|
|
4
|
+
import { DayItemComponent } from './day-picker/day-item/day-item.component';
|
|
5
|
+
import { DayPickerComponent } from './day-picker/day-picker.component';
|
|
6
|
+
import { DatePickerComponent } from "./date-picker/date-picker.component";
|
|
7
|
+
import { DropdownModule } from "../dropdown/dropdown.module";
|
|
8
|
+
import { ButtonModule } from "../button/button.module";
|
|
9
|
+
import { IconModule } from "../icon/icon.module";
|
|
10
|
+
import { FormsModule, ReactiveFormsModule } from "@angular/forms";
|
|
11
|
+
import { InputModule } from "../input/input.module";
|
|
12
|
+
import { MonthPickerComponent } from './month-picker/month-picker.component';
|
|
13
|
+
import { YearPickerComponent } from './year-picker/year-picker.component';
|
|
14
|
+
import { ScrollToSelectedYearDirective } from './year-picker/scroll-to-selected-year.directive';
|
|
15
|
+
import { MaskitoModule } from "@maskito/angular";
|
|
16
|
+
import { ClickOutsideModule } from "../../directive/click-outside/click-outside.module";
|
|
17
|
+
import { DateRangeComponent } from "./date-range/date-range.component";
|
|
18
|
+
import { RangeCalendarComponent } from "./date-range/range-calendar/range-calendar.component";
|
|
19
|
+
import { ScrollIntoViewModule } from "../../directive/scroll-into-view/scroll-into-view.module";
|
|
20
|
+
import * as i0 from "@angular/core";
|
|
21
|
+
export class DatePickerModule {
|
|
22
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.4", ngImport: i0, type: DatePickerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
23
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.1.4", ngImport: i0, type: DatePickerModule, declarations: [DateCalendarComponent,
|
|
24
|
+
DayPickerComponent,
|
|
25
|
+
DatePickerComponent,
|
|
26
|
+
RangeCalendarComponent,
|
|
27
|
+
DayItemComponent,
|
|
28
|
+
MonthPickerComponent,
|
|
29
|
+
ScrollToSelectedYearDirective,
|
|
30
|
+
YearPickerComponent,
|
|
31
|
+
ScrollToSelectedYearDirective,
|
|
32
|
+
DateRangeComponent], imports: [CommonModule,
|
|
33
|
+
DropdownModule,
|
|
34
|
+
ButtonModule, FormsModule, MaskitoModule,
|
|
35
|
+
IconModule, InputModule, ScrollIntoViewModule, ClickOutsideModule, ReactiveFormsModule], exports: [DatePickerComponent, DateCalendarComponent, RangeCalendarComponent, DateRangeComponent] });
|
|
36
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.1.4", ngImport: i0, type: DatePickerModule, imports: [CommonModule,
|
|
37
|
+
DropdownModule,
|
|
38
|
+
ButtonModule, FormsModule, MaskitoModule,
|
|
39
|
+
IconModule, InputModule, ScrollIntoViewModule, ClickOutsideModule, ReactiveFormsModule] });
|
|
40
|
+
}
|
|
41
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.4", ngImport: i0, type: DatePickerModule, decorators: [{
|
|
42
|
+
type: NgModule,
|
|
43
|
+
args: [{
|
|
44
|
+
declarations: [
|
|
45
|
+
DateCalendarComponent,
|
|
46
|
+
DayPickerComponent,
|
|
47
|
+
DatePickerComponent,
|
|
48
|
+
RangeCalendarComponent,
|
|
49
|
+
DayItemComponent,
|
|
50
|
+
MonthPickerComponent,
|
|
51
|
+
ScrollToSelectedYearDirective,
|
|
52
|
+
YearPickerComponent,
|
|
53
|
+
ScrollToSelectedYearDirective,
|
|
54
|
+
DateRangeComponent
|
|
55
|
+
],
|
|
56
|
+
imports: [
|
|
57
|
+
CommonModule,
|
|
58
|
+
DropdownModule,
|
|
59
|
+
ButtonModule, FormsModule, MaskitoModule,
|
|
60
|
+
IconModule, InputModule, ScrollIntoViewModule, ClickOutsideModule, ReactiveFormsModule,
|
|
61
|
+
],
|
|
62
|
+
exports: [DatePickerComponent, DateCalendarComponent, RangeCalendarComponent, DateRangeComponent]
|
|
63
|
+
}]
|
|
64
|
+
}] });
|
|
65
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1waWNrZXIubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudC9kYXRlLXBpY2tlci9kYXRlLXBpY2tlci5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN2QyxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDN0MsT0FBTyxFQUFDLHFCQUFxQixFQUFDLE1BQU0scURBQXFELENBQUM7QUFDMUYsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sMENBQTBDLENBQUM7QUFDMUUsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sbUNBQW1DLENBQUM7QUFDckUsT0FBTyxFQUFDLG1CQUFtQixFQUFDLE1BQU0scUNBQXFDLENBQUM7QUFDeEUsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLDZCQUE2QixDQUFDO0FBQzNELE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztBQUNyRCxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFDL0MsT0FBTyxFQUFDLFdBQVcsRUFBRSxtQkFBbUIsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ2hFLE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSx1QkFBdUIsQ0FBQztBQUNsRCxPQUFPLEVBQUMsb0JBQW9CLEVBQUMsTUFBTSx1Q0FBdUMsQ0FBQztBQUMzRSxPQUFPLEVBQUMsbUJBQW1CLEVBQUMsTUFBTSxxQ0FBcUMsQ0FBQztBQUN4RSxPQUFPLEVBQUMsNkJBQTZCLEVBQUMsTUFBTSxpREFBaUQsQ0FBQztBQUM5RixPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sa0JBQWtCLENBQUM7QUFDL0MsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sb0RBQW9ELENBQUM7QUFDdEYsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sbUNBQW1DLENBQUM7QUFDckUsT0FBTyxFQUFDLHNCQUFzQixFQUFDLE1BQU0sc0RBQXNELENBQUM7QUFDNUYsT0FBTyxFQUFDLG9CQUFvQixFQUFDLE1BQU0sMERBQTBELENBQUM7O0FBd0I5RixNQUFNLE9BQU8sZ0JBQWdCO3VHQUFoQixnQkFBZ0I7d0dBQWhCLGdCQUFnQixpQkFuQnpCLHFCQUFxQjtZQUNyQixrQkFBa0I7WUFDbEIsbUJBQW1CO1lBQ25CLHNCQUFzQjtZQUN0QixnQkFBZ0I7WUFDaEIsb0JBQW9CO1lBQ3BCLDZCQUE2QjtZQUM3QixtQkFBbUI7WUFDbkIsNkJBQTZCO1lBQzdCLGtCQUFrQixhQUdsQixZQUFZO1lBQ1osY0FBYztZQUNkLFlBQVksRUFBRSxXQUFXLEVBQUUsYUFBYTtZQUN4QyxVQUFVLEVBQUUsV0FBVyxFQUFFLG9CQUFvQixFQUFFLGtCQUFrQixFQUFFLG1CQUFtQixhQUU5RSxtQkFBbUIsRUFBRSxxQkFBcUIsRUFBRSxzQkFBc0IsRUFBRSxrQkFBa0I7d0dBRXJGLGdCQUFnQixZQVB6QixZQUFZO1lBQ1osY0FBYztZQUNkLFlBQVksRUFBRSxXQUFXLEVBQUUsYUFBYTtZQUN4QyxVQUFVLEVBQUUsV0FBVyxFQUFFLG9CQUFvQixFQUFFLGtCQUFrQixFQUFFLG1CQUFtQjs7MkZBSTdFLGdCQUFnQjtrQkFyQjVCLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFO3dCQUNaLHFCQUFxQjt3QkFDckIsa0JBQWtCO3dCQUNsQixtQkFBbUI7d0JBQ25CLHNCQUFzQjt3QkFDdEIsZ0JBQWdCO3dCQUNoQixvQkFBb0I7d0JBQ3BCLDZCQUE2Qjt3QkFDN0IsbUJBQW1CO3dCQUNuQiw2QkFBNkI7d0JBQzdCLGtCQUFrQjtxQkFDbkI7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLFlBQVk7d0JBQ1osY0FBYzt3QkFDZCxZQUFZLEVBQUUsV0FBVyxFQUFFLGFBQWE7d0JBQ3hDLFVBQVUsRUFBRSxXQUFXLEVBQUUsb0JBQW9CLEVBQUUsa0JBQWtCLEVBQUUsbUJBQW1CO3FCQUN2RjtvQkFDRCxPQUFPLEVBQUUsQ0FBQyxtQkFBbUIsRUFBRSxxQkFBcUIsRUFBRSxzQkFBc0IsRUFBRSxrQkFBa0IsQ0FBQztpQkFDbEciLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge05nTW9kdWxlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7Q29tbW9uTW9kdWxlfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtEYXRlQ2FsZW5kYXJDb21wb25lbnR9IGZyb20gXCIuL2RhdGUtcGlja2VyL2RhdGUtY2FsZW5kYXIvZGF0ZS1jYWxlbmRhci5jb21wb25lbnRcIjtcbmltcG9ydCB7RGF5SXRlbUNvbXBvbmVudH0gZnJvbSAnLi9kYXktcGlja2VyL2RheS1pdGVtL2RheS1pdGVtLmNvbXBvbmVudCc7XG5pbXBvcnQge0RheVBpY2tlckNvbXBvbmVudH0gZnJvbSAnLi9kYXktcGlja2VyL2RheS1waWNrZXIuY29tcG9uZW50JztcbmltcG9ydCB7RGF0ZVBpY2tlckNvbXBvbmVudH0gZnJvbSBcIi4vZGF0ZS1waWNrZXIvZGF0ZS1waWNrZXIuY29tcG9uZW50XCI7XG5pbXBvcnQge0Ryb3Bkb3duTW9kdWxlfSBmcm9tIFwiLi4vZHJvcGRvd24vZHJvcGRvd24ubW9kdWxlXCI7XG5pbXBvcnQge0J1dHRvbk1vZHVsZX0gZnJvbSBcIi4uL2J1dHRvbi9idXR0b24ubW9kdWxlXCI7XG5pbXBvcnQge0ljb25Nb2R1bGV9IGZyb20gXCIuLi9pY29uL2ljb24ubW9kdWxlXCI7XG5pbXBvcnQge0Zvcm1zTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcbmltcG9ydCB7SW5wdXRNb2R1bGV9IGZyb20gXCIuLi9pbnB1dC9pbnB1dC5tb2R1bGVcIjtcbmltcG9ydCB7TW9udGhQaWNrZXJDb21wb25lbnR9IGZyb20gJy4vbW9udGgtcGlja2VyL21vbnRoLXBpY2tlci5jb21wb25lbnQnO1xuaW1wb3J0IHtZZWFyUGlja2VyQ29tcG9uZW50fSBmcm9tICcuL3llYXItcGlja2VyL3llYXItcGlja2VyLmNvbXBvbmVudCc7XG5pbXBvcnQge1Njcm9sbFRvU2VsZWN0ZWRZZWFyRGlyZWN0aXZlfSBmcm9tICcuL3llYXItcGlja2VyL3Njcm9sbC10by1zZWxlY3RlZC15ZWFyLmRpcmVjdGl2ZSc7XG5pbXBvcnQge01hc2tpdG9Nb2R1bGV9IGZyb20gXCJAbWFza2l0by9hbmd1bGFyXCI7XG5pbXBvcnQge0NsaWNrT3V0c2lkZU1vZHVsZX0gZnJvbSBcIi4uLy4uL2RpcmVjdGl2ZS9jbGljay1vdXRzaWRlL2NsaWNrLW91dHNpZGUubW9kdWxlXCI7XG5pbXBvcnQge0RhdGVSYW5nZUNvbXBvbmVudH0gZnJvbSBcIi4vZGF0ZS1yYW5nZS9kYXRlLXJhbmdlLmNvbXBvbmVudFwiO1xuaW1wb3J0IHtSYW5nZUNhbGVuZGFyQ29tcG9uZW50fSBmcm9tIFwiLi9kYXRlLXJhbmdlL3JhbmdlLWNhbGVuZGFyL3JhbmdlLWNhbGVuZGFyLmNvbXBvbmVudFwiO1xuaW1wb3J0IHtTY3JvbGxJbnRvVmlld01vZHVsZX0gZnJvbSBcIi4uLy4uL2RpcmVjdGl2ZS9zY3JvbGwtaW50by12aWV3L3Njcm9sbC1pbnRvLXZpZXcubW9kdWxlXCI7XG5cblxuQE5nTW9kdWxlKHtcbiAgZGVjbGFyYXRpb25zOiBbXG4gICAgRGF0ZUNhbGVuZGFyQ29tcG9uZW50LFxuICAgIERheVBpY2tlckNvbXBvbmVudCxcbiAgICBEYXRlUGlja2VyQ29tcG9uZW50LFxuICAgIFJhbmdlQ2FsZW5kYXJDb21wb25lbnQsXG4gICAgRGF5SXRlbUNvbXBvbmVudCxcbiAgICBNb250aFBpY2tlckNvbXBvbmVudCxcbiAgICBTY3JvbGxUb1NlbGVjdGVkWWVhckRpcmVjdGl2ZSxcbiAgICBZZWFyUGlja2VyQ29tcG9uZW50LFxuICAgIFNjcm9sbFRvU2VsZWN0ZWRZZWFyRGlyZWN0aXZlLFxuICAgIERhdGVSYW5nZUNvbXBvbmVudFxuICBdLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIERyb3Bkb3duTW9kdWxlLFxuICAgIEJ1dHRvbk1vZHVsZSwgRm9ybXNNb2R1bGUsIE1hc2tpdG9Nb2R1bGUsXG4gICAgSWNvbk1vZHVsZSwgSW5wdXRNb2R1bGUsIFNjcm9sbEludG9WaWV3TW9kdWxlLCBDbGlja091dHNpZGVNb2R1bGUsIFJlYWN0aXZlRm9ybXNNb2R1bGUsXG4gIF0sXG4gIGV4cG9ydHM6IFtEYXRlUGlja2VyQ29tcG9uZW50LCBEYXRlQ2FsZW5kYXJDb21wb25lbnQsIFJhbmdlQ2FsZW5kYXJDb21wb25lbnQsIERhdGVSYW5nZUNvbXBvbmVudF1cbn0pXG5leHBvcnQgY2xhc3MgRGF0ZVBpY2tlck1vZHVsZSB7XG59XG4iXX0=
|
|
@@ -0,0 +1,218 @@
|
|
|
1
|
+
import { ChangeDetectionStrategy, Component, EventEmitter, forwardRef, Input, Output, ViewChild } from '@angular/core';
|
|
2
|
+
import { BasePicker } from "../base-picker";
|
|
3
|
+
import { DatePipe } from "@angular/common";
|
|
4
|
+
import { Align } from "../../../common/enum/align.enum";
|
|
5
|
+
import { VerticalAlign } from "../../../common/enum/vertical-align.enum";
|
|
6
|
+
import { NG_VALUE_ACCESSOR } from "@angular/forms";
|
|
7
|
+
import dayjs from "dayjs";
|
|
8
|
+
import { maskitoDateRangeOptionsGenerator, } from "@maskito/kit";
|
|
9
|
+
import { ReplaySubject } from "rxjs";
|
|
10
|
+
import * as i0 from "@angular/core";
|
|
11
|
+
import * as i1 from "@angular/common";
|
|
12
|
+
import * as i2 from "../../dropdown/dropdown/dropdown.component";
|
|
13
|
+
import * as i3 from "../../dropdown/dropdown-head.directive";
|
|
14
|
+
import * as i4 from "../../dropdown/dropdown-content.directive";
|
|
15
|
+
import * as i5 from "@angular/forms";
|
|
16
|
+
import * as i6 from "@maskito/angular";
|
|
17
|
+
import * as i7 from "../../icon/icon/icon.component";
|
|
18
|
+
import * as i8 from "../../input/input/input.component";
|
|
19
|
+
import * as i9 from "./range-calendar/range-calendar.component";
|
|
20
|
+
export const DATE_Range_CONTROL_VALUE_ACCESSOR = {
|
|
21
|
+
provide: NG_VALUE_ACCESSOR,
|
|
22
|
+
useExisting: forwardRef(() => DateRangeComponent),
|
|
23
|
+
multi: true,
|
|
24
|
+
};
|
|
25
|
+
export class DateRangeComponent extends BasePicker {
|
|
26
|
+
_cdr;
|
|
27
|
+
_elementRef;
|
|
28
|
+
datePipe;
|
|
29
|
+
date = { from: null, to: null };
|
|
30
|
+
locale = 'ru';
|
|
31
|
+
showTime = false;
|
|
32
|
+
minDate = null;
|
|
33
|
+
maxDate = null;
|
|
34
|
+
invalid = false;
|
|
35
|
+
disabled = false;
|
|
36
|
+
align = Align.left;
|
|
37
|
+
verticalAlign = VerticalAlign.auto;
|
|
38
|
+
viewType = 'rounded';
|
|
39
|
+
appendToBody;
|
|
40
|
+
backdrop;
|
|
41
|
+
allowNull = false;
|
|
42
|
+
input;
|
|
43
|
+
selectDate = new EventEmitter();
|
|
44
|
+
mask = '';
|
|
45
|
+
selectedDate = new ReplaySubject(1);
|
|
46
|
+
constructor(_cdr, _elementRef, datePipe) {
|
|
47
|
+
super(_elementRef, _cdr, datePipe);
|
|
48
|
+
this._cdr = _cdr;
|
|
49
|
+
this._elementRef = _elementRef;
|
|
50
|
+
this.datePipe = datePipe;
|
|
51
|
+
console.log('dateRange', datePipe);
|
|
52
|
+
}
|
|
53
|
+
changeSelectedDate(date, selectedDate) {
|
|
54
|
+
if (selectedDate.from) {
|
|
55
|
+
const from = new Date(Math.min(new Date(selectedDate.from).getTime(), date.getTime()));
|
|
56
|
+
const to = new Date(Math.max(new Date(selectedDate.from).getTime(), date.getTime()));
|
|
57
|
+
this.setDate({ from, to });
|
|
58
|
+
this.emitValue({ from, to });
|
|
59
|
+
this.selectedDate.next({ from: null, to: null });
|
|
60
|
+
this.open = false;
|
|
61
|
+
}
|
|
62
|
+
else {
|
|
63
|
+
this.setDate({ from: date, to: null });
|
|
64
|
+
this.selectedDate.next({ from: date, to: null });
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
checkNull() {
|
|
68
|
+
if (this.allowNull) {
|
|
69
|
+
return null;
|
|
70
|
+
}
|
|
71
|
+
return this.datePipe.transform(new Date(), 'dd.MM.yyyy') + ' - ' + this.datePipe.transform(new Date(), 'dd.MM.yyyy');
|
|
72
|
+
}
|
|
73
|
+
prepareInput() {
|
|
74
|
+
let str = this.getLocaleString(this.date.from) + ' - ' + this.getLocaleString(this.date.to);
|
|
75
|
+
if (!this.date?.from) {
|
|
76
|
+
str = this.allowNull ? '' : this.getLocaleString(new Date()) + ' - ' + this.getLocaleString(new Date());
|
|
77
|
+
}
|
|
78
|
+
let option = {
|
|
79
|
+
mode: 'dd/mm/yyyy',
|
|
80
|
+
separator: '.',
|
|
81
|
+
};
|
|
82
|
+
this.mask = 'dd.mm.yyyy - dd.mm.yyyy';
|
|
83
|
+
if (this.minDate) {
|
|
84
|
+
option.min = dayjs(new Date(this.minDate)).startOf('day');
|
|
85
|
+
}
|
|
86
|
+
if (this.maxDate) {
|
|
87
|
+
option.max = dayjs(new Date(this.maxDate)).endOf('day');
|
|
88
|
+
}
|
|
89
|
+
this.maskitoOptions = maskitoDateRangeOptionsGenerator(option);
|
|
90
|
+
this.changePlaceholder(str);
|
|
91
|
+
}
|
|
92
|
+
onBlur() {
|
|
93
|
+
if (this.allowNull && this.inputText.trim() === '') {
|
|
94
|
+
this.setDate({ from: null, to: null });
|
|
95
|
+
this.selectedDate.next({ from: null, to: null });
|
|
96
|
+
this.emitValue({ from: null, to: null });
|
|
97
|
+
}
|
|
98
|
+
else {
|
|
99
|
+
const val = this.inputText.replace('–', '-').split('-');
|
|
100
|
+
const from = this.getDateFromStr(val[0].trim());
|
|
101
|
+
const to = this.getDateFromStr(val[1]?.trim());
|
|
102
|
+
if (to.day && to.year && to.month) {
|
|
103
|
+
let fromDate = this.getAvailableDate(this.minDate, this.maxDate, new Date(from.year, from.month - 1, from.day));
|
|
104
|
+
let toDate = this.getAvailableDate(this.minDate, this.maxDate, new Date(to.year, to.month - 1, to.day));
|
|
105
|
+
if (fromDate.getTime() > toDate.getTime()) {
|
|
106
|
+
[fromDate, toDate] = [toDate, fromDate];
|
|
107
|
+
}
|
|
108
|
+
this.setDate({ from: fromDate, to: toDate });
|
|
109
|
+
this.emitValue({ from: fromDate, to: toDate });
|
|
110
|
+
this.selectedDate.next({ from: null, to: null });
|
|
111
|
+
if (toDate && fromDate) {
|
|
112
|
+
this.open = false;
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
else {
|
|
116
|
+
this.setDate(this.date);
|
|
117
|
+
this.selectedDate.next({ from: null, to: null });
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
setDate(range) {
|
|
122
|
+
if (!range?.from && !range?.to && this.allowNull) {
|
|
123
|
+
this.inputText = '';
|
|
124
|
+
this.changePlaceholder('');
|
|
125
|
+
this.selectedDate.next({
|
|
126
|
+
from: range?.from || null,
|
|
127
|
+
to: range?.to || null
|
|
128
|
+
});
|
|
129
|
+
}
|
|
130
|
+
else {
|
|
131
|
+
this.inputText = this.getLocaleString(range.from) + ' - ' + this.getLocaleString(range.to);
|
|
132
|
+
this.changePlaceholder(this.getLocaleString(range.from) + ' - ' + this.getLocaleString(range.to));
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
writeValue(obj) {
|
|
136
|
+
if (obj?.from) {
|
|
137
|
+
this.date = {
|
|
138
|
+
from: new Date(obj.from),
|
|
139
|
+
to: new Date(obj.to)
|
|
140
|
+
};
|
|
141
|
+
this.setDate({
|
|
142
|
+
from: new Date(obj.from),
|
|
143
|
+
to: new Date(obj.to)
|
|
144
|
+
});
|
|
145
|
+
}
|
|
146
|
+
else {
|
|
147
|
+
this.date = { from: null, to: null };
|
|
148
|
+
}
|
|
149
|
+
this.selectedDate.next({
|
|
150
|
+
from: null,
|
|
151
|
+
to: null
|
|
152
|
+
});
|
|
153
|
+
}
|
|
154
|
+
registerOnChange(fn) {
|
|
155
|
+
this.onChange = fn;
|
|
156
|
+
}
|
|
157
|
+
registerOnTouched(fn) {
|
|
158
|
+
}
|
|
159
|
+
ngOnInit() {
|
|
160
|
+
if (this.date?.from) {
|
|
161
|
+
this.setDate({
|
|
162
|
+
from: this.allowNull ? null : new Date(this.date?.from),
|
|
163
|
+
to: this.allowNull ? null : new Date(this.date?.to)
|
|
164
|
+
});
|
|
165
|
+
}
|
|
166
|
+
else {
|
|
167
|
+
this.setDate({
|
|
168
|
+
from: this.allowNull ? null : new Date(),
|
|
169
|
+
to: this.allowNull ? null : new Date()
|
|
170
|
+
});
|
|
171
|
+
}
|
|
172
|
+
this.selectedDate.next({
|
|
173
|
+
from: null,
|
|
174
|
+
to: null
|
|
175
|
+
});
|
|
176
|
+
this.prepareInput();
|
|
177
|
+
}
|
|
178
|
+
onChange(date) {
|
|
179
|
+
}
|
|
180
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.4", ngImport: i0, type: DateRangeComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i1.DatePipe }], target: i0.ɵɵFactoryTarget.Component });
|
|
181
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.4", type: DateRangeComponent, selector: "teta-date-range", inputs: { date: "date", locale: "locale", showTime: "showTime", minDate: "minDate", maxDate: "maxDate", invalid: "invalid", disabled: "disabled", align: "align", verticalAlign: "verticalAlign", viewType: "viewType", appendToBody: "appendToBody", backdrop: "backdrop", allowNull: "allowNull" }, outputs: { selectDate: "selectDate" }, providers: [DATE_Range_CONTROL_VALUE_ACCESSOR, DatePipe], viewQueries: [{ propertyName: "input", first: true, predicate: ["input"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<teta-dropdown *ngIf=\"{selectedDate:selectedDate|async}as data\" [appendToBody]=\"appendToBody\" [backdrop]=\"backdrop\"\n [(open)]=\"open\" (openChange)=\"openChange($event)\" [viewType]=\"viewType\"\n [disabled]=\"disabled\" [verticalAlign]=\"verticalAlign\" [align]=\"align\"\n [autoCloseIgnore]=\"['esc', 'inside','enter']\">\n <div tetaDropdownHead\n [class]=\"'datepicker-head font-body-3 gap-8 datepicker_'+viewType\"\n [ngClass]=\"{'datepicker-head_invalid':invalid,'datepicker-head_disabled':disabled}\">\n <teta-input class=\"row row_auto flex\">\n <div [class]=\"'row_auto row datepicker_'+viewType\">\n <div class=\"row position-relative font-body-3 align-center\">\n <input [ngClass]=\"{'color-text-90':!disabled}\" [disabled]=\"disabled\" #input style=\"z-index: 1\"\n class=\"border-0 color-text-90\" (keydown)=\"checkEnter($event)\"\n [(ngModel)]=\"inputText\" (ngModelChange)=\"changeInput($event)\"\n [maskito]=\"maskitoOptions\">\n <div (click)=\"input.focus()\" *ngIf=\"data.selectedDate||allowNull\" class=\"position-absolute color-text-10\"\n style=\"top:-0.3px;cursor: text;user-select: none\">{{placeholder}}</div>\n </div>\n <teta-icon [name]=\"'calendar'\"></teta-icon>\n </div>\n </teta-input>\n </div>\n <div tetaDropdownContent class=\"scrollable\" (click)=\"$event.preventDefault()\">\n <ng-container *ngIf=\"open\">\n <div class=\"row\">\n <teta-range-calendar [isDateNull]=\"date===null||(date?.from===null&&date?.to===null)\" [open]=\"open\"\n [max]=\"maxDate\"\n [allowNull]=\"allowNull\"\n [min]=\"minDate\"\n (setDate)=\"changeSelectedDate($event,data.selectedDate)\"\n [selectedDate]=\"data.selectedDate\"\n [date]=\"date\"\n [viewType]=\"viewType\" [locale]=\"locale\"></teta-range-calendar>\n </div>\n </ng-container>\n </div>\n</teta-dropdown>\n", styles: [""], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.DropdownComponent, selector: "teta-dropdown", exportAs: ["dropdown"] }, { kind: "directive", type: i3.DropdownHeadDirective, selector: "[tetaDropdownHead]" }, { kind: "directive", type: i4.DropdownContentDirective, selector: "[tetaDropdownContent]" }, { kind: "directive", type: i5.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: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i6.MaskitoDirective, selector: "[maskito]", inputs: ["maskito", "maskitoElement"] }, { kind: "directive", type: i6.MaskitoCva, selector: "input[maskito], textarea[maskito]", inputs: ["maskito"] }, { kind: "component", type: i7.IconComponent, selector: "teta-icon", inputs: ["name", "size", "palette", "class"] }, { kind: "component", type: i8.InputComponent, selector: "teta-input", inputs: ["label", "hint", "viewType", "horizontal", "required"] }, { kind: "component", type: i9.RangeCalendarComponent, selector: "teta-range-calendar", inputs: ["locale", "open", "date", "viewType", "allowNull", "selectedDate", "min", "isDateNull", "max"], outputs: ["hoveredDateChange", "setDate"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
182
|
+
}
|
|
183
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.4", ngImport: i0, type: DateRangeComponent, decorators: [{
|
|
184
|
+
type: Component,
|
|
185
|
+
args: [{ selector: 'teta-date-range', providers: [DATE_Range_CONTROL_VALUE_ACCESSOR, DatePipe], changeDetection: ChangeDetectionStrategy.OnPush, template: "<teta-dropdown *ngIf=\"{selectedDate:selectedDate|async}as data\" [appendToBody]=\"appendToBody\" [backdrop]=\"backdrop\"\n [(open)]=\"open\" (openChange)=\"openChange($event)\" [viewType]=\"viewType\"\n [disabled]=\"disabled\" [verticalAlign]=\"verticalAlign\" [align]=\"align\"\n [autoCloseIgnore]=\"['esc', 'inside','enter']\">\n <div tetaDropdownHead\n [class]=\"'datepicker-head font-body-3 gap-8 datepicker_'+viewType\"\n [ngClass]=\"{'datepicker-head_invalid':invalid,'datepicker-head_disabled':disabled}\">\n <teta-input class=\"row row_auto flex\">\n <div [class]=\"'row_auto row datepicker_'+viewType\">\n <div class=\"row position-relative font-body-3 align-center\">\n <input [ngClass]=\"{'color-text-90':!disabled}\" [disabled]=\"disabled\" #input style=\"z-index: 1\"\n class=\"border-0 color-text-90\" (keydown)=\"checkEnter($event)\"\n [(ngModel)]=\"inputText\" (ngModelChange)=\"changeInput($event)\"\n [maskito]=\"maskitoOptions\">\n <div (click)=\"input.focus()\" *ngIf=\"data.selectedDate||allowNull\" class=\"position-absolute color-text-10\"\n style=\"top:-0.3px;cursor: text;user-select: none\">{{placeholder}}</div>\n </div>\n <teta-icon [name]=\"'calendar'\"></teta-icon>\n </div>\n </teta-input>\n </div>\n <div tetaDropdownContent class=\"scrollable\" (click)=\"$event.preventDefault()\">\n <ng-container *ngIf=\"open\">\n <div class=\"row\">\n <teta-range-calendar [isDateNull]=\"date===null||(date?.from===null&&date?.to===null)\" [open]=\"open\"\n [max]=\"maxDate\"\n [allowNull]=\"allowNull\"\n [min]=\"minDate\"\n (setDate)=\"changeSelectedDate($event,data.selectedDate)\"\n [selectedDate]=\"data.selectedDate\"\n [date]=\"date\"\n [viewType]=\"viewType\" [locale]=\"locale\"></teta-range-calendar>\n </div>\n </ng-container>\n </div>\n</teta-dropdown>\n" }]
|
|
186
|
+
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i1.DatePipe }]; }, propDecorators: { date: [{
|
|
187
|
+
type: Input
|
|
188
|
+
}], locale: [{
|
|
189
|
+
type: Input
|
|
190
|
+
}], showTime: [{
|
|
191
|
+
type: Input
|
|
192
|
+
}], minDate: [{
|
|
193
|
+
type: Input
|
|
194
|
+
}], maxDate: [{
|
|
195
|
+
type: Input
|
|
196
|
+
}], invalid: [{
|
|
197
|
+
type: Input
|
|
198
|
+
}], disabled: [{
|
|
199
|
+
type: Input
|
|
200
|
+
}], align: [{
|
|
201
|
+
type: Input
|
|
202
|
+
}], verticalAlign: [{
|
|
203
|
+
type: Input
|
|
204
|
+
}], viewType: [{
|
|
205
|
+
type: Input
|
|
206
|
+
}], appendToBody: [{
|
|
207
|
+
type: Input
|
|
208
|
+
}], backdrop: [{
|
|
209
|
+
type: Input
|
|
210
|
+
}], allowNull: [{
|
|
211
|
+
type: Input
|
|
212
|
+
}], input: [{
|
|
213
|
+
type: ViewChild,
|
|
214
|
+
args: ['input']
|
|
215
|
+
}], selectDate: [{
|
|
216
|
+
type: Output
|
|
217
|
+
}] } });
|
|
218
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1yYW5nZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50L2RhdGUtcGlja2VyL2RhdGUtcmFuZ2UvZGF0ZS1yYW5nZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50L2RhdGUtcGlja2VyL2RhdGUtcmFuZ2UvZGF0ZS1yYW5nZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBRXZCLFNBQVMsRUFDRyxZQUFZLEVBQUUsVUFBVSxFQUNwQyxLQUFLLEVBQ0csTUFBTSxFQUNkLFNBQVMsRUFDVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDMUMsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQ3pDLE9BQU8sRUFBQyxLQUFLLEVBQUMsTUFBTSxpQ0FBaUMsQ0FBQztBQUN0RCxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sMENBQTBDLENBQUM7QUFDdkUsT0FBTyxFQUF1QixpQkFBaUIsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ3ZFLE9BQU8sS0FBSyxNQUFNLE9BQU8sQ0FBQztBQUMxQixPQUFPLEVBQ0wsZ0NBQWdDLEdBQ2pDLE1BQU0sY0FBYyxDQUFDO0FBQ3RCLE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSxNQUFNLENBQUM7Ozs7Ozs7Ozs7O0FBSW5DLE1BQU0sQ0FBQyxNQUFNLGlDQUFpQyxHQUFRO0lBQ3BELE9BQU8sRUFBRSxpQkFBaUI7SUFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQztJQUNqRCxLQUFLLEVBQUUsSUFBSTtDQUNaLENBQUM7QUFTRixNQUFNLE9BQU8sa0JBQW1CLFNBQVEsVUFBVTtJQW1CM0I7SUFBa0M7SUFBa0M7SUFsQmhG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QyxFQUFFLFFBQVEsQ0FBQyxpSkNoQzFELHNvRUFvQ0E7OzJGRERhLGtCQUFrQjtrQkFQOUIsU0FBUzsrQkFDRSxpQkFBaUIsYUFHaEIsQ0FBQyxpQ0FBaUMsRUFBRSxRQUFRLENBQUMsbUJBQ3ZDLHVCQUF1QixDQUFDLE1BQU07d0pBR3RDLElBQUk7c0JBQVosS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ2MsS0FBSztzQkFBeEIsU0FBUzt1QkFBQyxPQUFPO2dCQUNSLFVBQVU7c0JBQW5CLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgRWxlbWVudFJlZiwgRXZlbnRFbWl0dGVyLCBmb3J3YXJkUmVmLFxuICBJbnB1dCxcbiAgT25Jbml0LCBPdXRwdXQsXG4gIFZpZXdDaGlsZFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7QmFzZVBpY2tlcn0gZnJvbSBcIi4uL2Jhc2UtcGlja2VyXCI7XG5pbXBvcnQge0RhdGVQaXBlfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uXCI7XG5pbXBvcnQge0FsaWdufSBmcm9tIFwiLi4vLi4vLi4vY29tbW9uL2VudW0vYWxpZ24uZW51bVwiO1xuaW1wb3J0IHtWZXJ0aWNhbEFsaWdufSBmcm9tIFwiLi4vLi4vLi4vY29tbW9uL2VudW0vdmVydGljYWwtYWxpZ24uZW51bVwiO1xuaW1wb3J0IHtDb250cm9sVmFsdWVBY2Nlc3NvciwgTkdfVkFMVUVfQUNDRVNTT1J9IGZyb20gXCJAYW5ndWxhci9mb3Jtc1wiO1xuaW1wb3J0IGRheWpzIGZyb20gXCJkYXlqc1wiO1xuaW1wb3J0IHtcbiAgbWFza2l0b0RhdGVSYW5nZU9wdGlvbnNHZW5lcmF0b3IsXG59IGZyb20gXCJAbWFza2l0by9raXRcIjtcbmltcG9ydCB7UmVwbGF5U3ViamVjdH0gZnJvbSBcInJ4anNcIjtcbmltcG9ydCB7RGF0ZUZyb21Ub01vZGVsfSBmcm9tIFwiLi4vbW9kZWwvZnJvbS10by5tb2RlbFwiO1xuaW1wb3J0IHt2aWV3VHlwZX0gZnJvbSBcIi4uLy4uLy4uL2NvbW1vbi9tb2RlbC92aWV3LXR5cGUubW9kZWxcIjtcblxuZXhwb3J0IGNvbnN0IERBVEVfUmFuZ2VfQ09OVFJPTF9WQUxVRV9BQ0NFU1NPUjogYW55ID0ge1xuICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gRGF0ZVJhbmdlQ29tcG9uZW50KSxcbiAgbXVsdGk6IHRydWUsXG59O1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0ZXRhLWRhdGUtcmFuZ2UnLFxuICB0ZW1wbGF0ZVVybDogJy4vZGF0ZS1yYW5nZS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2RhdGUtcmFuZ2UuY29tcG9uZW50LnNjc3MnXSxcbiAgcHJvdmlkZXJzOiBbREFURV9SYW5nZV9DT05UUk9MX1ZBTFVFX0FDQ0VTU09SLCBEYXRlUGlwZV0sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIERhdGVSYW5nZUNvbXBvbmVudCBleHRlbmRzIEJhc2VQaWNrZXIgaW1wbGVtZW50cyBPbkluaXQsIENvbnRyb2xWYWx1ZUFjY2Vzc29yIHtcbiAgQElucHV0KCkgZGF0ZTogRGF0ZUZyb21Ub01vZGVsID0ge2Zyb206IG51bGwsIHRvOiBudWxsfTtcbiAgQElucHV0KCkgbG9jYWxlOiBzdHJpbmcgPSAncnUnO1xuICBASW5wdXQoKSBzaG93VGltZTogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoKSBtaW5EYXRlOiBEYXRlIHwgc3RyaW5nIHwgbnVtYmVyID0gbnVsbDtcbiAgQElucHV0KCkgbWF4RGF0ZTogRGF0ZSB8IHN0cmluZyB8IG51bWJlciA9IG51bGw7XG4gIEBJbnB1dCgpIGludmFsaWQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KCkgZGlzYWJsZWQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KCkgYWxpZ246IEFsaWduID0gQWxpZ24ubGVmdDtcbiAgQElucHV0KCkgdmVydGljYWxBbGlnbjogVmVydGljYWxBbGlnbiA9IFZlcnRpY2FsQWxpZ24uYXV0bztcbiAgQElucHV0KCkgdmlld1R5cGU6IHZpZXdUeXBlID0gJ3JvdW5kZWQnXG4gIEBJbnB1dCgpIGFwcGVuZFRvQm9keTogYm9vbGVhbjtcbiAgQElucHV0KCkgYmFja2Ryb3A6IGJvb2xlYW47XG4gIEBJbnB1dCgpIGFsbG93TnVsbDogYm9vbGVhbiA9IGZhbHNlO1xuICBAVmlld0NoaWxkKCdpbnB1dCcpIGlucHV0OiBFbGVtZW50UmVmO1xuICBAT3V0cHV0KCkgc2VsZWN0RGF0ZTogRXZlbnRFbWl0dGVyPERhdGVGcm9tVG9Nb2RlbD4gPSBuZXcgRXZlbnRFbWl0dGVyPERhdGVGcm9tVG9Nb2RlbD4oKVxuICBwdWJsaWMgbWFzazogc3RyaW5nID0gJyc7XG4gIHB1YmxpYyBzZWxlY3RlZERhdGU6IFJlcGxheVN1YmplY3Q8RGF0ZUZyb21Ub01vZGVsPiA9IG5ldyBSZXBsYXlTdWJqZWN0PERhdGVGcm9tVG9Nb2RlbD4oMSlcblxuICBjb25zdHJ1Y3RvcihvdmVycmlkZSBfY2RyOiBDaGFuZ2VEZXRlY3RvclJlZiwgb3ZlcnJpZGUgX2VsZW1lbnRSZWY6IEVsZW1lbnRSZWYsIG92ZXJyaWRlIGRhdGVQaXBlOiBEYXRlUGlwZSkge1xuICAgIHN1cGVyKF9lbGVtZW50UmVmLCBfY2RyLCBkYXRlUGlwZSk7XG4gICAgY29uc29sZS5sb2coJ2RhdGVSYW5nZScsIGRhdGVQaXBlKVxuICB9XG5cbiAgb3ZlcnJpZGUgY2hhbmdlU2VsZWN0ZWREYXRlKGRhdGU6IERhdGUsIHNlbGVjdGVkRGF0ZTogRGF0ZUZyb21Ub01vZGVsKSB7XG4gICAgaWYgKHNlbGVjdGVkRGF0ZS5mcm9tKSB7XG4gICAgICBjb25zdCBmcm9tID0gbmV3IERhdGUoTWF0aC5taW4obmV3IERhdGUoc2VsZWN0ZWREYXRlLmZyb20pLmdldFRpbWUoKSwgZGF0ZS5nZXRUaW1lKCkpKTtcbiAgICAgIGNvbnN0IHRvID0gbmV3IERhdGUoTWF0aC5tYXgobmV3IERhdGUoc2VsZWN0ZWREYXRlLmZyb20pLmdldFRpbWUoKSwgZGF0ZS5nZXRUaW1lKCkpKTtcbiAgICAgIHRoaXMuc2V0RGF0ZSh7ZnJvbSwgdG99KVxuICAgICAgdGhpcy5lbWl0VmFsdWUoe2Zyb20sIHRvfSlcbiAgICAgIHRoaXMuc2VsZWN0ZWREYXRlLm5leHQoe2Zyb206IG51bGwsIHRvOiBudWxsfSlcbiAgICAgIHRoaXMub3BlbiA9IGZhbHNlO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnNldERhdGUoe2Zyb206IGRhdGUsIHRvOiBudWxsfSlcbiAgICAgIHRoaXMuc2VsZWN0ZWREYXRlLm5leHQoe2Zyb206IGRhdGUsIHRvOiBudWxsfSlcbiAgICB9XG5cbiAgfVxuXG4gIG92ZXJyaWRlIGNoZWNrTnVsbCgpIHtcbiAgICBpZiAodGhpcy5hbGxvd051bGwpIHtcbiAgICAgIHJldHVybiBudWxsXG4gICAgfVxuICAgIHJldHVybiB0aGlzLmRhdGVQaXBlLnRyYW5zZm9ybShuZXcgRGF0ZSgpLCAnZGQuTU0ueXl5eScpICsgJyAtICcgKyB0aGlzLmRhdGVQaXBlLnRyYW5zZm9ybShuZXcgRGF0ZSgpLCAnZGQuTU0ueXl5eScpXG4gIH1cblxuICBwcmVwYXJlSW5wdXQoKSB7XG4gICAgbGV0IHN0ciA9IHRoaXMuZ2V0TG9jYWxlU3RyaW5nKHRoaXMuZGF0ZS5mcm9tKSArICcgLSAnICsgdGhpcy5nZXRMb2NhbGVTdHJpbmcodGhpcy5kYXRlLnRvKVxuICAgIGlmICghdGhpcy5kYXRlPy5mcm9tKSB7XG4gICAgICBzdHIgPSB0aGlzLmFsbG93TnVsbCA/ICcnIDogdGhpcy5nZXRMb2NhbGVTdHJpbmcobmV3IERhdGUoKSkgKyAnIC0gJyArIHRoaXMuZ2V0TG9jYWxlU3RyaW5nKG5ldyBEYXRlKCkpXG4gICAgfVxuICAgIGxldCBvcHRpb246IHsgbW9kZSwgc2VwYXJhdG9yLCBtaW4/LCBtYXg/LCBtaW5MZW5ndGg/LCBtYXhMZW5ndGg/IH0gPSB7XG4gICAgICBtb2RlOiAnZGQvbW0veXl5eScsXG4gICAgICBzZXBhcmF0b3I6ICcuJyxcbiAgICB9O1xuICAgIHRoaXMubWFzayA9ICdkZC5tbS55eXl5IC0gZGQubW0ueXl5eSc7XG4gICAgaWYgKHRoaXMubWluRGF0ZSkge1xuICAgICAgb3B0aW9uLm1pbiA9IGRheWpzKG5ldyBEYXRlKHRoaXMubWluRGF0ZSkpLnN0YXJ0T2YoJ2RheScpXG4gICAgfVxuICAgIGlmICh0aGlzLm1heERhdGUpIHtcbiAgICAgIG9wdGlvbi5tYXggPSBkYXlqcyhuZXcgRGF0ZSh0aGlzLm1heERhdGUpKS5lbmRPZignZGF5JylcbiAgICB9XG4gICAgdGhpcy5tYXNraXRvT3B0aW9ucyA9IG1hc2tpdG9EYXRlUmFuZ2VPcHRpb25zR2VuZXJhdG9yKG9wdGlvbilcbiAgICB0aGlzLmNoYW5nZVBsYWNlaG9sZGVyKHN0cilcbiAgfVxuXG4gIG9uQmx1cigpIHtcbiAgICBpZiAodGhpcy5hbGxvd051bGwgJiYgdGhpcy5pbnB1dFRleHQudHJpbSgpID09PSAnJykge1xuICAgICAgdGhpcy5zZXREYXRlKHtmcm9tOiBudWxsLCB0bzogbnVsbH0pXG4gICAgICB0aGlzLnNlbGVjdGVkRGF0ZS5uZXh0KHtmcm9tOiBudWxsLCB0bzogbnVsbH0pXG4gICAgICB0aGlzLmVtaXRWYWx1ZSh7ZnJvbTogbnVsbCwgdG86IG51bGx9KVxuICAgIH0gZWxzZSB7XG5cbiAgICAgIGNvbnN0IHZhbCA9IHRoaXMuaW5wdXRUZXh0LnJlcGxhY2UoJ+KAkycsICctJykuc3BsaXQoJy0nKTtcbiAgICAgIGNvbnN0IGZyb20gPSB0aGlzLmdldERhdGVGcm9tU3RyKHZhbFswXS50cmltKCkpO1xuICAgICAgY29uc3QgdG8gPSB0aGlzLmdldERhdGVGcm9tU3RyKHZhbFsxXT8udHJpbSgpKTtcbiAgICAgIGlmICh0by5kYXkgJiYgdG8ueWVhciAmJiB0by5tb250aCkge1xuICAgICAgICBsZXQgZnJvbURhdGUgPSB0aGlzLmdldEF2YWlsYWJsZURhdGUodGhpcy5taW5EYXRlLCB0aGlzLm1heERhdGUsIG5ldyBEYXRlKGZyb20ueWVhciwgZnJvbS5tb250aCAtIDEsIGZyb20uZGF5KSlcbiAgICAgICAgbGV0IHRvRGF0ZSA9IHRoaXMuZ2V0QXZhaWxhYmxlRGF0ZSh0aGlzLm1pbkRhdGUsIHRoaXMubWF4RGF0ZSwgbmV3IERhdGUodG8ueWVhciwgdG8ubW9udGggLSAxLCB0by5kYXkpKVxuICAgICAgICBpZiAoZnJvbURhdGUuZ2V0VGltZSgpID4gdG9EYXRlLmdldFRpbWUoKSkge1xuICAgICAgICAgIFtmcm9tRGF0ZSwgdG9EYXRlXSA9IFt0b0RhdGUsIGZyb21EYXRlXVxuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5zZXREYXRlKHtmcm9tOiBmcm9tRGF0ZSwgdG86IHRvRGF0ZX0pXG4gICAgICAgIHRoaXMuZW1pdFZhbHVlKHtmcm9tOiBmcm9tRGF0ZSwgdG86IHRvRGF0ZX0pXG4gICAgICAgIHRoaXMuc2VsZWN0ZWREYXRlLm5leHQoe2Zyb206IG51bGwsIHRvOiBudWxsfSlcbiAgICAgICAgaWYgKHRvRGF0ZSAmJiBmcm9tRGF0ZSkge1xuICAgICAgICAgIHRoaXMub3BlbiA9IGZhbHNlO1xuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLnNldERhdGUodGhpcy5kYXRlKTtcbiAgICAgICAgdGhpcy5zZWxlY3RlZERhdGUubmV4dCh7ZnJvbTogbnVsbCwgdG86IG51bGx9KVxuICAgICAgfVxuICAgIH1cblxuICB9XG5cbiAgc2V0RGF0ZShyYW5nZTogRGF0ZUZyb21Ub01vZGVsKSB7XG4gICAgaWYgKCFyYW5nZT8uZnJvbSAmJiAhcmFuZ2U/LnRvICYmIHRoaXMuYWxsb3dOdWxsKSB7XG4gICAgICB0aGlzLmlucHV0VGV4dCA9ICcnXG4gICAgICB0aGlzLmNoYW5nZVBsYWNlaG9sZGVyKCcnKVxuICAgICAgdGhpcy5zZWxlY3RlZERhdGUubmV4dCh7XG4gICAgICAgIGZyb206IHJhbmdlPy5mcm9tIHx8IG51bGwsXG4gICAgICAgIHRvOiByYW5nZT8udG8gfHwgbnVsbFxuICAgICAgfSlcblxuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmlucHV0VGV4dCA9IHRoaXMuZ2V0TG9jYWxlU3RyaW5nKHJhbmdlLmZyb20pICsgJyAtICcgKyB0aGlzLmdldExvY2FsZVN0cmluZyhyYW5nZS50bylcbiAgICAgIHRoaXMuY2hhbmdlUGxhY2Vob2xkZXIodGhpcy5nZXRMb2NhbGVTdHJpbmcocmFuZ2UuZnJvbSkgKyAnIC0gJyArIHRoaXMuZ2V0TG9jYWxlU3RyaW5nKHJhbmdlLnRvKSlcbiAgICB9XG4gIH1cblxuICB3cml0ZVZhbHVlKG9iajogRGF0ZUZyb21Ub01vZGVsKTogdm9pZCB7XG4gICAgaWYgKG9iaj8uZnJvbSkge1xuICAgICAgdGhpcy5kYXRlID0ge1xuICAgICAgICBmcm9tOiBuZXcgRGF0ZShvYmouZnJvbSksXG4gICAgICAgIHRvOiBuZXcgRGF0ZShvYmoudG8pXG4gICAgICB9XG4gICAgICB0aGlzLnNldERhdGUoe1xuICAgICAgICBmcm9tOiBuZXcgRGF0ZShvYmouZnJvbSksXG4gICAgICAgIHRvOiBuZXcgRGF0ZShvYmoudG8pXG4gICAgICB9KVxuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmRhdGUgPSB7ZnJvbTogbnVsbCwgdG86IG51bGx9XG4gICAgfVxuICAgIHRoaXMuc2VsZWN0ZWREYXRlLm5leHQoe1xuICAgICAgZnJvbTogbnVsbCxcbiAgICAgIHRvOiBudWxsXG4gICAgfSlcbiAgfVxuXG4gIHJlZ2lzdGVyT25DaGFuZ2UoZm46IGFueSk6IHZvaWQge1xuICAgIHRoaXMub25DaGFuZ2UgPSBmblxuICB9XG5cbiAgcmVnaXN0ZXJPblRvdWNoZWQoZm46IGFueSk6IHZvaWQge1xuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuZGF0ZT8uZnJvbSkge1xuICAgICAgdGhpcy5zZXREYXRlKHtcbiAgICAgICAgZnJvbTogdGhpcy5hbGxvd051bGwgPyBudWxsIDogbmV3IERhdGUodGhpcy5kYXRlPy5mcm9tKSxcbiAgICAgICAgdG86IHRoaXMuYWxsb3dOdWxsID8gbnVsbCA6IG5ldyBEYXRlKHRoaXMuZGF0ZT8udG8pXG4gICAgICB9KVxuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnNldERhdGUoe1xuICAgICAgICBmcm9tOiB0aGlzLmFsbG93TnVsbCA/IG51bGwgOiBuZXcgRGF0ZSgpLFxuICAgICAgICB0bzogdGhpcy5hbGxvd051bGwgPyBudWxsIDogbmV3IERhdGUoKVxuICAgICAgfSlcbiAgICB9XG5cbiAgICB0aGlzLnNlbGVjdGVkRGF0ZS5uZXh0KHtcbiAgICAgIGZyb206IG51bGwsXG4gICAgICB0bzogbnVsbFxuICAgIH0pXG5cbiAgICB0aGlzLnByZXBhcmVJbnB1dCgpXG4gIH1cblxuICBvbkNoYW5nZShkYXRlOiBEYXRlKSB7XG4gIH1cbn1cbiIsIjx0ZXRhLWRyb3Bkb3duICpuZ0lmPVwie3NlbGVjdGVkRGF0ZTpzZWxlY3RlZERhdGV8YXN5bmN9YXMgZGF0YVwiIFthcHBlbmRUb0JvZHldPVwiYXBwZW5kVG9Cb2R5XCIgW2JhY2tkcm9wXT1cImJhY2tkcm9wXCJcbiAgICAgICAgICAgICAgIFsob3BlbildPVwib3BlblwiIChvcGVuQ2hhbmdlKT1cIm9wZW5DaGFuZ2UoJGV2ZW50KVwiIFt2aWV3VHlwZV09XCJ2aWV3VHlwZVwiXG4gICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIiBbdmVydGljYWxBbGlnbl09XCJ2ZXJ0aWNhbEFsaWduXCIgW2FsaWduXT1cImFsaWduXCJcbiAgICAgICAgICAgICAgIFthdXRvQ2xvc2VJZ25vcmVdPVwiWydlc2MnLCAnaW5zaWRlJywnZW50ZXInXVwiPlxuICA8ZGl2IHRldGFEcm9wZG93bkhlYWRcbiAgICAgICBbY2xhc3NdPVwiJ2RhdGVwaWNrZXItaGVhZCBmb250LWJvZHktMyBnYXAtOCBkYXRlcGlja2VyXycrdmlld1R5cGVcIlxuICAgICAgIFtuZ0NsYXNzXT1cInsnZGF0ZXBpY2tlci1oZWFkX2ludmFsaWQnOmludmFsaWQsJ2RhdGVwaWNrZXItaGVhZF9kaXNhYmxlZCc6ZGlzYWJsZWR9XCI+XG4gICAgPHRldGEtaW5wdXQgY2xhc3M9XCJyb3cgcm93X2F1dG8gZmxleFwiPlxuICAgICAgPGRpdiBbY2xhc3NdPVwiJ3Jvd19hdXRvIHJvdyBkYXRlcGlja2VyXycrdmlld1R5cGVcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInJvdyBwb3NpdGlvbi1yZWxhdGl2ZSBmb250LWJvZHktMyBhbGlnbi1jZW50ZXJcIj5cbiAgICAgICAgICA8aW5wdXQgW25nQ2xhc3NdPVwieydjb2xvci10ZXh0LTkwJzohZGlzYWJsZWR9XCIgW2Rpc2FibGVkXT1cImRpc2FibGVkXCIgI2lucHV0IHN0eWxlPVwiei1pbmRleDogMVwiXG4gICAgICAgICAgICAgICAgIGNsYXNzPVwiYm9yZGVyLTAgY29sb3ItdGV4dC05MFwiIChrZXlkb3duKT1cImNoZWNrRW50ZXIoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgIFsobmdNb2RlbCldPVwiaW5wdXRUZXh0XCIgKG5nTW9kZWxDaGFuZ2UpPVwiY2hhbmdlSW5wdXQoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgIFttYXNraXRvXT1cIm1hc2tpdG9PcHRpb25zXCI+XG4gICAgICAgICAgPGRpdiAoY2xpY2spPVwiaW5wdXQuZm9jdXMoKVwiICpuZ0lmPVwiZGF0YS5zZWxlY3RlZERhdGV8fGFsbG93TnVsbFwiIGNsYXNzPVwicG9zaXRpb24tYWJzb2x1dGUgY29sb3ItdGV4dC0xMFwiXG4gICAgICAgICAgICAgICBzdHlsZT1cInRvcDotMC4zcHg7Y3Vyc29yOiB0ZXh0O3VzZXItc2VsZWN0OiBub25lXCI+e3twbGFjZWhvbGRlcn19PC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8dGV0YS1pY29uIFtuYW1lXT1cIidjYWxlbmRhcidcIj48L3RldGEtaWNvbj5cbiAgICAgIDwvZGl2PlxuICAgIDwvdGV0YS1pbnB1dD5cbiAgPC9kaXY+XG4gIDxkaXYgdGV0YURyb3Bkb3duQ29udGVudCBjbGFzcz1cInNjcm9sbGFibGVcIiAoY2xpY2spPVwiJGV2ZW50LnByZXZlbnREZWZhdWx0KClcIj5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwib3BlblwiPlxuICAgICAgPGRpdiBjbGFzcz1cInJvd1wiPlxuICAgICAgICA8dGV0YS1yYW5nZS1jYWxlbmRhciBbaXNEYXRlTnVsbF09XCJkYXRlPT09bnVsbHx8KGRhdGU/LmZyb209PT1udWxsJiZkYXRlPy50bz09PW51bGwpXCIgW29wZW5dPVwib3BlblwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIFttYXhdPVwibWF4RGF0ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthbGxvd051bGxdPVwiYWxsb3dOdWxsXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW21pbl09XCJtaW5EYXRlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHNldERhdGUpPVwiY2hhbmdlU2VsZWN0ZWREYXRlKCRldmVudCxkYXRhLnNlbGVjdGVkRGF0ZSlcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc2VsZWN0ZWREYXRlXT1cImRhdGEuc2VsZWN0ZWREYXRlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2RhdGVdPVwiZGF0ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt2aWV3VHlwZV09XCJ2aWV3VHlwZVwiIFtsb2NhbGVdPVwibG9jYWxlXCI+PC90ZXRhLXJhbmdlLWNhbGVuZGFyPlxuICAgICAgPC9kaXY+XG4gICAgPC9uZy1jb250YWluZXI+XG4gIDwvZGl2PlxuPC90ZXRhLWRyb3Bkb3duPlxuIl19
|
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output } from '@angular/core';
|
|
2
|
+
import { combineLatest, filter, map, shareReplay, takeWhile } from "rxjs";
|
|
3
|
+
import dayjs from "dayjs";
|
|
4
|
+
import { BaseCalendar } from "../../base-calendar";
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
import * as i1 from "@angular/common";
|
|
7
|
+
import * as i2 from "../../../button/button/button.component";
|
|
8
|
+
import * as i3 from "../../../icon/icon/icon.component";
|
|
9
|
+
import * as i4 from "../../day-picker/day-picker.component";
|
|
10
|
+
import * as i5 from "../../month-picker/month-picker.component";
|
|
11
|
+
import * as i6 from "../../year-picker/year-picker.component";
|
|
12
|
+
export class RangeCalendarComponent extends BaseCalendar {
|
|
13
|
+
_cdr;
|
|
14
|
+
locale;
|
|
15
|
+
open;
|
|
16
|
+
date;
|
|
17
|
+
viewType;
|
|
18
|
+
allowNull;
|
|
19
|
+
selectedDate;
|
|
20
|
+
min;
|
|
21
|
+
isDateNull;
|
|
22
|
+
max;
|
|
23
|
+
hoveredDateChange = new EventEmitter();
|
|
24
|
+
setDate = new EventEmitter();
|
|
25
|
+
calendar;
|
|
26
|
+
_hoveredDate = null;
|
|
27
|
+
get hoveredDate() {
|
|
28
|
+
return this._hoveredDate;
|
|
29
|
+
}
|
|
30
|
+
set hoveredDate(e) {
|
|
31
|
+
this._hoveredDate = e;
|
|
32
|
+
this._cdr.detectChanges();
|
|
33
|
+
}
|
|
34
|
+
constructor(_cdr) {
|
|
35
|
+
super(_cdr);
|
|
36
|
+
this._cdr = _cdr;
|
|
37
|
+
dayjs().locale('ru', { weekStart: 1 });
|
|
38
|
+
combineLatest([this.currentYear, this.currentMonth, this.minMax]).pipe(takeWhile(() => this.alive), shareReplay({ bufferSize: 1, refCount: false }), filter(([currentYear, currentMonth]) => currentMonth !== null && currentYear !== null), map(([year, month, minMax]) => {
|
|
39
|
+
const { availableYear, availableMonth } = this.getAvailableMonthYear(month + 1, year);
|
|
40
|
+
return {
|
|
41
|
+
currentMonth: this.generateCalendar(dayjs(new Date(this.selectedDate.from || new Date())).locale(this.locale), year, month, minMax),
|
|
42
|
+
nextMonth: this.generateCalendar(dayjs(new Date(this.selectedDate.from || new Date())).locale(this.locale), availableYear, availableMonth, minMax)
|
|
43
|
+
};
|
|
44
|
+
})).subscribe((_) => {
|
|
45
|
+
this.calendar = _;
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
|
+
getFromTo() {
|
|
49
|
+
let dateFrom;
|
|
50
|
+
let dateTo;
|
|
51
|
+
if (this.selectedDate?.from) {
|
|
52
|
+
dateFrom = new Date(this.selectedDate.from);
|
|
53
|
+
dateTo = null;
|
|
54
|
+
}
|
|
55
|
+
else {
|
|
56
|
+
if (this.allowNull) {
|
|
57
|
+
dateFrom = this.date?.from ? new Date(this.date.from) : null;
|
|
58
|
+
dateTo = this.date?.to ? new Date(this.date.to) : null;
|
|
59
|
+
}
|
|
60
|
+
else {
|
|
61
|
+
dateFrom = this.date?.from ? new Date(this.date.from) : new Date();
|
|
62
|
+
dateTo = this.date?.to ? new Date(this.date.to) : new Date();
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
return { from: dateFrom, to: dateTo };
|
|
66
|
+
}
|
|
67
|
+
isSelected(d, selectedDate) {
|
|
68
|
+
const { from, to } = this.getFromTo();
|
|
69
|
+
return this.checkSelected(d, from) || this.checkSelected(d, to);
|
|
70
|
+
}
|
|
71
|
+
checkSelected(date, selectedDate) {
|
|
72
|
+
const isSelectedDate = date.getDate() === selectedDate?.getDate();
|
|
73
|
+
const isSelectedYear = date.getFullYear() === selectedDate?.getFullYear();
|
|
74
|
+
const isSelectedMonth = date.getMonth() === selectedDate?.getMonth();
|
|
75
|
+
return isSelectedDate && isSelectedMonth && isSelectedYear;
|
|
76
|
+
}
|
|
77
|
+
isFirstDaySuitable(m, y, max) {
|
|
78
|
+
const { availableYear, availableMonth } = this.getAvailableMonthYear(m, y);
|
|
79
|
+
return this.isSuitableMaxDate(dayjs(new Date(availableYear, availableMonth)).startOf('month').toDate(), max);
|
|
80
|
+
}
|
|
81
|
+
isLastDaySuitable(m, y, min) {
|
|
82
|
+
const { availableYear, availableMonth } = this.getAvailableMonthYear(m, y);
|
|
83
|
+
return this.isSuitableMinDate(dayjs(new Date(availableYear, availableMonth)).endOf('month').toDate(), min);
|
|
84
|
+
}
|
|
85
|
+
ngOnChanges(changes) {
|
|
86
|
+
if (!changes?.['hoveredDate']) {
|
|
87
|
+
this.changeCalendarData(this.selectedDate.from || this.date.from);
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.4", ngImport: i0, type: RangeCalendarComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
91
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.4", type: RangeCalendarComponent, selector: "teta-range-calendar", inputs: { locale: "locale", open: "open", date: "date", viewType: "viewType", allowNull: "allowNull", selectedDate: "selectedDate", min: "min", isDateNull: "isDateNull", max: "max" }, outputs: { hoveredDateChange: "hoveredDateChange", setDate: "setDate" }, usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div\n *ngIf=\"{currentMonth:currentMonth|async,currentYear:currentYear|async,selectedPicker:selectedPicker|async,minMax:minMax|async} as data\"\n class=\"datepicker-content overflow-y-auto\"\n>\n <ng-container *ngIf=\"data.selectedPicker==='day'\">\n <div class=\"row \">\n <div class=\"padding-h-3 padding-v-2\">\n <div class=\"row align-center justify-content-between\">\n <teta-button\n [ngClass]=\"{'datepicker-arrow_hidden':!isLastDaySuitable(data.currentMonth-1,data.currentYear,min)}\"\n [class]=\"'change-month-button datepicker_'+viewType\" [square]=\"true\"\n (click)=\"changeMonth(data.currentMonth-1,data.currentYear)\"\n palette=\"text\"\n view=\"ghost\">\n <teta-icon name=\"arrowLeftKey\"></teta-icon>\n </teta-button>\n <div class=\"row gap-4 font-button-2 align-center padding-left-1\">\n <p> {{getMothName(data.currentMonth)}}</p>\n <button [class]=\"'datepicker_'+viewType\" teta-button view=\"ghost\" palette=\"text\"\n (click)=\"selectPicker('year')\">{{data.currentYear}}</button>\n </div>\n <teta-button [square]=\"true\" [class]=\"'change-month-button datepicker-arrow_hidden datepicker_'+viewType\"\n palette=\"text\"\n view=\"ghost\">\n <teta-icon name=\"arrowRightKey\"></teta-icon>\n </teta-button>\n </div>\n <div>\n <teta-day-picker [(hoveredDate)]=\"hoveredDate\" [range]=\"getFromTo()\" [viewType]=\"viewType\"\n (selectDate)=\"selectDate($event)\" [locale]=\"locale\"\n [calendar]=\"calendar.currentMonth\"></teta-day-picker>\n </div>\n </div>\n <div class=\"padding-h-3 padding-v-2\"\n *ngIf=\"getAvailableMonthYear(data.currentMonth+1,data.currentYear) as availableMonthYear\">\n <div class=\"row align-center justify-content-between\">\n <teta-button [square]=\"true\" [class]=\"'change-month-button datepicker-arrow_hidden datepicker_'+viewType\"\n palette=\"text\"\n view=\"ghost\">\n <teta-icon name=\"arrowLeftKey\"></teta-icon>\n </teta-button>\n <div class=\"row gap-4 font-button-2 align-center padding-left-1\">\n <p>{{getMothName(availableMonthYear.availableMonth)}}</p>\n <button [class]=\"'datepicker_'+viewType\" teta-button view=\"ghost\" palette=\"text\"\n (click)=\"selectPicker('year')\">{{availableMonthYear.availableYear}}</button>\n </div>\n <teta-button [square]=\"true\"\n [ngClass]=\"{'datepicker-arrow_hidden': !isFirstDaySuitable(data.currentMonth+2,data.currentYear,max)}\"\n [class]=\"'change-month-button datepicker_'+viewType\"\n (click)=\"changeMonth(data.currentMonth+1,data.currentYear)\"\n palette=\"text\"\n view=\"ghost\">\n <teta-icon name=\"arrowRightKey\"></teta-icon>\n </teta-button>\n </div>\n <div>\n <teta-day-picker [(hoveredDate)]=\"hoveredDate\" [range]=\"getFromTo()\" [viewType]=\"viewType\"\n (selectDate)=\"selectDate($event)\" [locale]=\"locale\"\n [calendar]=\"calendar.nextMonth\"></teta-day-picker>\n </div>\n </div>\n </div>\n\n </ng-container>\n <ng-container *ngIf=\"data.selectedPicker==='month'\">\n <teta-month-picker [localeMoths]=\"localeMonths\" [currentYear]=\"data.currentYear\" (changeYear)=\"setYear($event)\"\n [selectedMonth]=\"data.currentMonth\" [viewType]=\"viewType\" [locale]=\"locale\"\n (selectMonth)=\"selectMonth($event)\"></teta-month-picker>\n </ng-container>\n <ng-container *ngIf=\"data.selectedPicker==='year'\">\n <teta-year-picker [minMax]=\"data.minMax\" [locale]=\"locale\" [viewType]=\"viewType\" (selectYear)=\"selectYear($event)\"\n [selectedYear]=\"data.currentYear\"></teta-year-picker>\n </ng-container>\n</div>\n\n", styles: [".change-month-button{-webkit-user-select:none;user-select:none}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.ButtonComponent, selector: "button[teta-button], teta-button", inputs: ["palette", "class", "view", "square", "viewType", "size"] }, { kind: "component", type: i3.IconComponent, selector: "teta-icon", inputs: ["name", "size", "palette", "class"] }, { kind: "component", type: i4.DayPickerComponent, selector: "teta-day-picker", inputs: ["date", "calendar", "viewType", "range", "min", "max", "locale", "hoveredDate"], outputs: ["hoveredDateChange", "selectDate"] }, { kind: "component", type: i5.MonthPickerComponent, selector: "teta-month-picker", inputs: ["locale", "selectedMonth", "viewType", "currentYear", "localeMoths"], outputs: ["selectMonth", "changeYear"] }, { kind: "component", type: i6.YearPickerComponent, selector: "teta-year-picker", inputs: ["selectedYear", "viewType", "minMax", "locale"], outputs: ["selectYear"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
92
|
+
}
|
|
93
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.4", ngImport: i0, type: RangeCalendarComponent, decorators: [{
|
|
94
|
+
type: Component,
|
|
95
|
+
args: [{ selector: 'teta-range-calendar', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div\n *ngIf=\"{currentMonth:currentMonth|async,currentYear:currentYear|async,selectedPicker:selectedPicker|async,minMax:minMax|async} as data\"\n class=\"datepicker-content overflow-y-auto\"\n>\n <ng-container *ngIf=\"data.selectedPicker==='day'\">\n <div class=\"row \">\n <div class=\"padding-h-3 padding-v-2\">\n <div class=\"row align-center justify-content-between\">\n <teta-button\n [ngClass]=\"{'datepicker-arrow_hidden':!isLastDaySuitable(data.currentMonth-1,data.currentYear,min)}\"\n [class]=\"'change-month-button datepicker_'+viewType\" [square]=\"true\"\n (click)=\"changeMonth(data.currentMonth-1,data.currentYear)\"\n palette=\"text\"\n view=\"ghost\">\n <teta-icon name=\"arrowLeftKey\"></teta-icon>\n </teta-button>\n <div class=\"row gap-4 font-button-2 align-center padding-left-1\">\n <p> {{getMothName(data.currentMonth)}}</p>\n <button [class]=\"'datepicker_'+viewType\" teta-button view=\"ghost\" palette=\"text\"\n (click)=\"selectPicker('year')\">{{data.currentYear}}</button>\n </div>\n <teta-button [square]=\"true\" [class]=\"'change-month-button datepicker-arrow_hidden datepicker_'+viewType\"\n palette=\"text\"\n view=\"ghost\">\n <teta-icon name=\"arrowRightKey\"></teta-icon>\n </teta-button>\n </div>\n <div>\n <teta-day-picker [(hoveredDate)]=\"hoveredDate\" [range]=\"getFromTo()\" [viewType]=\"viewType\"\n (selectDate)=\"selectDate($event)\" [locale]=\"locale\"\n [calendar]=\"calendar.currentMonth\"></teta-day-picker>\n </div>\n </div>\n <div class=\"padding-h-3 padding-v-2\"\n *ngIf=\"getAvailableMonthYear(data.currentMonth+1,data.currentYear) as availableMonthYear\">\n <div class=\"row align-center justify-content-between\">\n <teta-button [square]=\"true\" [class]=\"'change-month-button datepicker-arrow_hidden datepicker_'+viewType\"\n palette=\"text\"\n view=\"ghost\">\n <teta-icon name=\"arrowLeftKey\"></teta-icon>\n </teta-button>\n <div class=\"row gap-4 font-button-2 align-center padding-left-1\">\n <p>{{getMothName(availableMonthYear.availableMonth)}}</p>\n <button [class]=\"'datepicker_'+viewType\" teta-button view=\"ghost\" palette=\"text\"\n (click)=\"selectPicker('year')\">{{availableMonthYear.availableYear}}</button>\n </div>\n <teta-button [square]=\"true\"\n [ngClass]=\"{'datepicker-arrow_hidden': !isFirstDaySuitable(data.currentMonth+2,data.currentYear,max)}\"\n [class]=\"'change-month-button datepicker_'+viewType\"\n (click)=\"changeMonth(data.currentMonth+1,data.currentYear)\"\n palette=\"text\"\n view=\"ghost\">\n <teta-icon name=\"arrowRightKey\"></teta-icon>\n </teta-button>\n </div>\n <div>\n <teta-day-picker [(hoveredDate)]=\"hoveredDate\" [range]=\"getFromTo()\" [viewType]=\"viewType\"\n (selectDate)=\"selectDate($event)\" [locale]=\"locale\"\n [calendar]=\"calendar.nextMonth\"></teta-day-picker>\n </div>\n </div>\n </div>\n\n </ng-container>\n <ng-container *ngIf=\"data.selectedPicker==='month'\">\n <teta-month-picker [localeMoths]=\"localeMonths\" [currentYear]=\"data.currentYear\" (changeYear)=\"setYear($event)\"\n [selectedMonth]=\"data.currentMonth\" [viewType]=\"viewType\" [locale]=\"locale\"\n (selectMonth)=\"selectMonth($event)\"></teta-month-picker>\n </ng-container>\n <ng-container *ngIf=\"data.selectedPicker==='year'\">\n <teta-year-picker [minMax]=\"data.minMax\" [locale]=\"locale\" [viewType]=\"viewType\" (selectYear)=\"selectYear($event)\"\n [selectedYear]=\"data.currentYear\"></teta-year-picker>\n </ng-container>\n</div>\n\n", styles: [".change-month-button{-webkit-user-select:none;user-select:none}\n"] }]
|
|
96
|
+
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { locale: [{
|
|
97
|
+
type: Input
|
|
98
|
+
}], open: [{
|
|
99
|
+
type: Input
|
|
100
|
+
}], date: [{
|
|
101
|
+
type: Input
|
|
102
|
+
}], viewType: [{
|
|
103
|
+
type: Input
|
|
104
|
+
}], allowNull: [{
|
|
105
|
+
type: Input
|
|
106
|
+
}], selectedDate: [{
|
|
107
|
+
type: Input
|
|
108
|
+
}], min: [{
|
|
109
|
+
type: Input
|
|
110
|
+
}], isDateNull: [{
|
|
111
|
+
type: Input
|
|
112
|
+
}], max: [{
|
|
113
|
+
type: Input
|
|
114
|
+
}], hoveredDateChange: [{
|
|
115
|
+
type: Output
|
|
116
|
+
}], setDate: [{
|
|
117
|
+
type: Output
|
|
118
|
+
}] } });
|
|
119
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFuZ2UtY2FsZW5kYXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudC9kYXRlLXBpY2tlci9kYXRlLXJhbmdlL3JhbmdlLWNhbGVuZGFyL3JhbmdlLWNhbGVuZGFyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnQvZGF0ZS1waWNrZXIvZGF0ZS1yYW5nZS9yYW5nZS1jYWxlbmRhci9yYW5nZS1jYWxlbmRhci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBRXZCLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUdMLE1BQU0sRUFFUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUMsYUFBYSxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUd4RSxPQUFPLEtBQUssTUFBTSxPQUFPLENBQUM7QUFFMUIsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLHFCQUFxQixDQUFDOzs7Ozs7OztBQVNqRCxNQUFNLE9BQU8sc0JBQXVCLFNBQVEsWUFBWTtJQXVCakM7SUF0QlosTUFBTSxDQUFTO0lBQ2YsSUFBSSxDQUFVO0lBQ2QsSUFBSSxDQUFpQjtJQUNyQixRQUFRLENBQVc7SUFDbkIsU0FBUyxDQUFVO0lBQ25CLFlBQVksQ0FBa0I7SUFDOUIsR0FBRyxDQUF5QjtJQUM1QixVQUFVLENBQVU7SUFDcEIsR0FBRyxDQUF5QjtJQUMzQixpQkFBaUIsR0FBdUIsSUFBSSxZQUFZLEVBQVEsQ0FBQztJQUNqRSxPQUFPLEdBQXVCLElBQUksWUFBWSxFQUFRLENBQUM7SUFDMUQsUUFBUSxDQUFzRDtJQUM5RCxZQUFZLEdBQVMsSUFBSSxDQUFDO0lBQ2pDLElBQUksV0FBVztRQUNiLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQTtJ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LEtBQUs7Z0JBQ0csR0FBRztzQkFBWCxLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csR0FBRztzQkFBWCxLQUFLO2dCQUNJLGlCQUFpQjtzQkFBMUIsTUFBTTtnQkFDRyxPQUFPO3NCQUFoQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE9uQ2hhbmdlcyxcbiAgT25EZXN0cm95LFxuICBPdXRwdXQsXG4gIFNpbXBsZUNoYW5nZXNcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge2NvbWJpbmVMYXRlc3QsIGZpbHRlciwgbWFwLCBzaGFyZVJlcGxheSwgdGFrZVdoaWxlfSBmcm9tIFwicnhqc1wiO1xuaW1wb3J0IHtEYXlNb2RlbH0gZnJvbSAnLi4vLi4vbW9kZWwvZGF5LW1vZGVsJztcbmltcG9ydCB7dmlld1R5cGV9IGZyb20gXCIuLi8uLi8uLi8uLi9jb21tb24vbW9kZWwvdmlldy10eXBlLm1vZGVsXCI7XG5pbXBvcnQgZGF5anMgZnJvbSBcImRheWpzXCI7XG5pbXBvcnQge0RhdGVGcm9tVG9Nb2RlbH0gZnJvbSBcIi4uLy4uL21vZGVsL2Zyb20tdG8ubW9kZWxcIjtcbmltcG9ydCB7QmFzZUNhbGVuZGFyfSBmcm9tIFwiLi4vLi4vYmFzZS1jYWxlbmRhclwiO1xuXG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3RldGEtcmFuZ2UtY2FsZW5kYXInLFxuICB0ZW1wbGF0ZVVybDogJy4vcmFuZ2UtY2FsZW5kYXIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9yYW5nZS1jYWxlbmRhci5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBSYW5nZUNhbGVuZGFyQ29tcG9uZW50IGV4dGVuZHMgQmFzZUNhbGVuZGFyIGltcGxlbWVudHMgT25DaGFuZ2VzLCBPbkRlc3Ryb3kge1xuICBASW5wdXQoKSBsb2NhbGU6IHN0cmluZztcbiAgQElucHV0KCkgb3BlbjogYm9vbGVhbjtcbiAgQElucHV0KCkgZGF0ZTogRGF0ZUZyb21Ub01vZGVsXG4gIEBJbnB1dCgpIHZpZXdUeXBlOiB2aWV3VHlwZTtcbiAgQElucHV0KCkgYWxsb3dOdWxsOiBib29sZWFuO1xuICBASW5wdXQoKSBzZWxlY3RlZERhdGU6IERhdGVGcm9tVG9Nb2RlbDtcbiAgQElucHV0KCkgbWluOiBEYXRlIHwgc3RyaW5nIHwgbnVtYmVyO1xuICBASW5wdXQoKSBpc0RhdGVOdWxsOiBib29sZWFuO1xuICBASW5wdXQoKSBtYXg6IERhdGUgfCBzdHJpbmcgfCBudW1iZXI7XG4gIEBPdXRwdXQoKSBob3ZlcmVkRGF0ZUNoYW5nZTogRXZlbnRFbWl0dGVyPERhdGU+ID0gbmV3IEV2ZW50RW1pdHRlcjxEYXRlPigpO1xuICBAT3V0cHV0KCkgc2V0RGF0ZTogRXZlbnRFbWl0dGVyPERhdGU+ID0gbmV3IEV2ZW50RW1pdHRlcjxEYXRlPigpO1xuICBwdWJsaWMgY2FsZW5kYXI6IHsgY3VycmVudE1vbnRoOiBEYXlNb2RlbFtdLCBuZXh0TW9udGg6IERheU1vZGVsW10gfTtcbiAgcHVibGljIF9ob3ZlcmVkRGF0ZTogRGF0ZSA9IG51bGw7XG4gIGdldCBob3ZlcmVkRGF0ZSgpIHtcbiAgICByZXR1cm4gdGhpcy5faG92ZXJlZERhdGVcbiAgfVxuXG4gIHNldCBob3ZlcmVkRGF0ZShlKSB7XG4gICAgdGhpcy5faG92ZXJlZERhdGUgPSBlXG4gICAgdGhpcy5fY2RyLmRldGVjdENoYW5nZXMoKVxuICB9XG5cbiAgY29uc3RydWN0b3Iob3ZlcnJpZGUgX2NkcjogQ2hhbmdlRGV0ZWN0b3JSZWZcbiAgKSB7XG4gICAgc3VwZXIoX2Nkcik7XG4gICAgZGF5anMoKS5sb2NhbGUoJ3J1Jywge3dlZWtTdGFydDogMX0pO1xuICAgIGNvbWJpbmVMYXRlc3QoW3RoaXMuY3VycmVudFllYXIsIHRoaXMuY3VycmVudE1vbnRoLCB0aGlzLm1pbk1heF0pLnBpcGUoXG4gICAgICB0YWtlV2hpbGUoKCkgPT4gdGhpcy5hbGl2ZSksXG4gICAgICBzaGFyZVJlcGxheSh7YnVmZmVyU2l6ZTogMSwgcmVmQ291bnQ6IGZhbHNlfSksXG4gICAgICBmaWx0ZXIoKFtjdXJyZW50WWVhciwgY3VycmVudE1vbnRoXSkgPT4gY3VycmVudE1vbnRoICE9PSBudWxsICYmIGN1cnJlbnRZZWFyICE9PSBudWxsKSxcbiAgICAgIG1hcCgoW3llYXIsIG1vbnRoLCBtaW5NYXhdKSA9PiB7XG4gICAgICAgIGNvbnN0IHthdmFpbGFibGVZZWFyLCBhdmFpbGFibGVNb250aH0gPSB0aGlzLmdldEF2YWlsYWJsZU1vbnRoWWVhcihtb250aCArIDEsIHllYXIpXG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgY3VycmVudE1vbnRoOiB0aGlzLmdlbmVyYXRlQ2FsZW5kYXIoZGF5anMobmV3IERhdGUodGhpcy5zZWxlY3RlZERhdGUuZnJvbSB8fCBuZXcgRGF0ZSgpKSkubG9jYWxlKHRoaXMubG9jYWxlKSwgeWVhciwgbW9udGgsIG1pbk1heCksXG4gICAgICAgICAgbmV4dE1vbnRoOiB0aGlzLmdlbmVyYXRlQ2FsZW5kYXIoZGF5anMobmV3IERhdGUodGhpcy5zZWxlY3RlZERhdGUuZnJvbSB8fCBuZXcgRGF0ZSgpKSkubG9jYWxlKHRoaXMubG9jYWxlKSwgYXZhaWxhYmxlWWVhciwgYXZhaWxhYmxlTW9udGgsIG1pbk1heClcbiAgICAgICAgfVxuICAgICAgfSlcbiAgICApLnN1YnNjcmliZSgoXykgPT4ge1xuICAgICAgdGhpcy5jYWxlbmRhciA9IF87XG4gICAgfSlcbiAgfVxuXG5cbiAgZ2V0RnJvbVRvKCkge1xuICAgIGxldCBkYXRlRnJvbTtcbiAgICBsZXQgZGF0ZVRvO1xuICAgIGlmICh0aGlzLnNlbGVjdGVkRGF0ZT8uZnJvbSkge1xuICAgICAgZGF0ZUZyb20gPSBuZXcgRGF0ZSh0aGlzLnNlbGVjdGVkRGF0ZS5mcm9tKVxuICAgICAgZGF0ZVRvID0gbnVsbFxuICAgIH0gZWxzZSB7XG4gICAgICBpZiAodGhpcy5hbGxvd051bGwpIHtcbiAgICAgICAgZGF0ZUZyb20gPSB0aGlzLmRhdGU/LmZyb20gPyBuZXcgRGF0ZSh0aGlzLmRhdGUuZnJvbSkgOiBudWxsXG4gICAgICAgIGRhdGVUbyA9IHRoaXMuZGF0ZT8udG8gPyBuZXcgRGF0ZSh0aGlzLmRhdGUudG8pIDogbnVsbFxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgZGF0ZUZyb20gPSB0aGlzLmRhdGU/LmZyb20gPyBuZXcgRGF0ZSh0aGlzLmRhdGUuZnJvbSkgOiBuZXcgRGF0ZSgpXG4gICAgICAgIGRhdGVUbyA9IHRoaXMuZGF0ZT8udG8gPyBuZXcgRGF0ZSh0aGlzLmRhdGUudG8pIDogbmV3IERhdGUoKVxuICAgICAgfVxuXG4gICAgfVxuXG4gICAgcmV0dXJuIHtmcm9tOiBkYXRlRnJvbSwgdG86IGRhdGVUb31cbiAgfVxuXG5cbiAgb3ZlcnJpZGUgaXNTZWxlY3RlZChkOiBEYXRlLCBzZWxlY3RlZERhdGU6IERhdGUpIHtcbiAgICBjb25zdCB7ZnJvbSwgdG99ID0gdGhpcy5nZXRGcm9tVG8oKVxuICAgIHJldHVybiB0aGlzLmNoZWNrU2VsZWN0ZWQoZCwgZnJvbSkgfHwgdGhpcy5jaGVja1NlbGVjdGVkKGQsIHRvKVxuICB9XG5cbiAgY2hlY2tTZWxlY3RlZChkYXRlOiBEYXRlLCBzZWxlY3RlZERhdGU6IERhdGUpIHtcbiAgICBjb25zdCBpc1NlbGVjdGVkRGF0ZSA9IGRhdGUuZ2V0RGF0ZSgpID09PSBzZWxlY3RlZERhdGU/LmdldERhdGUoKVxuICAgIGNvbnN0IGlzU2VsZWN0ZWRZZWFyID0gZGF0ZS5nZXRGdWxsWWVhcigpID09PSBzZWxlY3RlZERhdGU/LmdldEZ1bGxZZWFyKClcbiAgICBjb25zdCBpc1NlbGVjdGVkTW9udGggPSBkYXRlLmdldE1vbnRoKCkgPT09IHNlbGVjdGVkRGF0ZT8uZ2V0TW9udGgoKVxuICAgIHJldHVybiBpc1NlbGVjdGVkRGF0ZSAmJiBpc1NlbGVjdGVkTW9udGggJiYgaXNTZWxlY3RlZFllYXJcbiAgfVxuXG4gIGlzRmlyc3REYXlTdWl0YWJsZShtOiBudW1iZXIsIHk6IG51bWJlciwgbWF4OiBEYXRlKSB7XG5cbiAgICBjb25zdCB7YXZhaWxhYmxlWWVhciwgYXZhaWxhYmxlTW9udGh9ID0gdGhpcy5nZXRBdmFpbGFibGVNb250aFllYXIobSwgeSlcbiAgICByZXR1cm4gdGhpcy5pc1N1aXRhYmxlTWF4RGF0ZShkYXlqcyhuZXcgRGF0ZShhdmFpbGFibGVZZWFyLCBhdmFpbGFibGVNb250aCkpLnN0YXJ0T2YoJ21vbnRoJykudG9EYXRlKCksIG1heClcbiAgfVxuXG4gIGlzTGFzdERheVN1aXRhYmxlKG06IG51bWJlciwgeTogbnVtYmVyLCBtaW46IERhdGUpIHtcbiAgICBjb25zdCB7YXZhaWxhYmxlWWVhciwgYXZhaWxhYmxlTW9udGh9ID0gdGhpcy5nZXRBdmFpbGFibGVNb250aFllYXIobSwgeSlcbiAgICByZXR1cm4gdGhpcy5pc1N1aXRhYmxlTWluRGF0ZShkYXlqcyhuZXcgRGF0ZShhdmFpbGFibGVZZWFyLCBhdmFpbGFibGVNb250aCkpLmVuZE9mKCdtb250aCcpLnRvRGF0ZSgpLCBtaW4pXG4gIH1cblxuICBvdmVycmlkZSBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgaWYgKCFjaGFuZ2VzPy5bJ2hvdmVyZWREYXRlJ10pIHtcbiAgICAgIHRoaXMuY2hhbmdlQ2FsZW5kYXJEYXRhKHRoaXMuc2VsZWN0ZWREYXRlLmZyb20gfHwgdGhpcy5kYXRlLmZyb20pXG4gICAgfVxuICB9XG59XG4iLCI8ZGl2XG4gICpuZ0lmPVwie2N1cnJlbnRNb250aDpjdXJyZW50TW9udGh8YXN5bmMsY3VycmVudFllYXI6Y3VycmVudFllYXJ8YXN5bmMsc2VsZWN0ZWRQaWNrZXI6c2VsZWN0ZWRQaWNrZXJ8YXN5bmMsbWluTWF4Om1pbk1heHxhc3luY30gYXMgZGF0YVwiXG4gIGNsYXNzPVwiZGF0ZXBpY2tlci1jb250ZW50IG92ZXJmbG93LXktYXV0b1wiXG4+XG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCJkYXRhLnNlbGVjdGVkUGlja2VyPT09J2RheSdcIj5cbiAgICA8ZGl2IGNsYXNzPVwicm93IFwiPlxuICAgICAgPGRpdiBjbGFzcz1cInBhZGRpbmctaC0zIHBhZGRpbmctdi0yXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJyb3cgYWxpZ24tY2VudGVyIGp1c3RpZnktY29udGVudC1iZXR3ZWVuXCI+XG4gICAgICAgICAgPHRldGEtYnV0dG9uXG4gICAgICAgICAgICBbbmdDbGFzc109XCJ7J2RhdGVwaWNrZXItYXJyb3dfaGlkZGVuJzohaXNMYXN0RGF5U3VpdGFibGUoZGF0YS5jdXJyZW50TW9udGgtMSxkYXRhLmN1cnJlbnRZZWFyLG1pbil9XCJcbiAgICAgICAgICAgIFtjbGFzc109XCInY2hhbmdlLW1vbnRoLWJ1dHRvbiBkYXRlcGlja2VyXycrdmlld1R5cGVcIiBbc3F1YXJlXT1cInRydWVcIlxuICAgICAgICAgICAgKGNsaWNrKT1cImNoYW5nZU1vbnRoKGRhdGEuY3VycmVudE1vbnRoLTEsZGF0YS5jdXJyZW50WWVhcilcIlxuICAgICAgICAgICAgcGFsZXR0ZT1cInRleHRcIlxuICAgICAgICAgICAgdmlldz1cImdob3N0XCI+XG4gICAgICAgICAgICA8dGV0YS1pY29uIG5hbWU9XCJhcnJvd0xlZnRLZXlcIj48L3RldGEtaWNvbj5cbiAgICAgICAgICA8L3RldGEtYnV0dG9uPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJyb3cgZ2FwLTQgZm9udC1idXR0b24tMiBhbGlnbi1jZW50ZXIgcGFkZGluZy1sZWZ0LTFcIj5cbiAgICAgICAgICAgIDxwPiB7e2dldE1vdGhOYW1lKGRhdGEuY3VycmVudE1vbnRoKX19PC9wPlxuICAgICAgICAgICAgPGJ1dHRvbiBbY2xhc3NdPVwiJ2RhdGVwaWNrZXJfJyt2aWV3VHlwZVwiIHRldGEtYnV0dG9uIHZpZXc9XCJnaG9zdFwiIHBhbGV0dGU9XCJ0ZXh0XCJcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cInNlbGVjdFBpY2tlcigneWVhcicpXCI+e3tkYXRhLmN1cnJlbnRZZWFyfX08L2J1dHRvbj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8dGV0YS1idXR0b24gW3NxdWFyZV09XCJ0cnVlXCIgW2NsYXNzXT1cIidjaGFuZ2UtbW9udGgtYnV0dG9uIGRhdGVwaWNrZXItYXJyb3dfaGlkZGVuIGRhdGVwaWNrZXJfJyt2aWV3VHlwZVwiXG4gICAgICAgICAgICAgICAgICAgICAgIHBhbGV0dGU9XCJ0ZXh0XCJcbiAgICAgICAgICAgICAgICAgICAgICAgdmlldz1cImdob3N0XCI+XG4gICAgICAgICAgICA8dGV0YS1pY29uIG5hbWU9XCJhcnJvd1JpZ2h0S2V5XCI+PC90ZXRhLWljb24+XG4gICAgICAgICAgPC90ZXRhLWJ1dHRvbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXY+XG4gICAgICAgICAgPHRldGEtZGF5LXBpY2tlciBbKGhvdmVyZWREYXRlKV09XCJob3ZlcmVkRGF0ZVwiIFtyYW5nZV09XCJnZXRGcm9tVG8oKVwiIFt2aWV3VHlwZV09XCJ2aWV3VHlwZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAoc2VsZWN0RGF0ZSk9XCJzZWxlY3REYXRlKCRldmVudClcIiBbbG9jYWxlXT1cImxvY2FsZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICBbY2FsZW5kYXJdPVwiY2FsZW5kYXIuY3VycmVudE1vbnRoXCI+PC90ZXRhLWRheS1waWNrZXI+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwicGFkZGluZy1oLTMgcGFkZGluZy12LTJcIlxuICAgICAgICAgICAqbmdJZj1cImdldEF2YWlsYWJsZU1vbnRoWWVhcihkYXRhLmN1cnJlbnRNb250aCsxLGRhdGEuY3VycmVudFllYXIpIGFzIGF2YWlsYWJsZU1vbnRoWWVhclwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwicm93IGFsaWduLWNlbnRlciBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlblwiPlxuICAgICAgICAgIDx0ZXRhLWJ1dHRvbiBbc3F1YXJlXT1cInRydWVcIiBbY2xhc3NdPVwiJ2NoYW5nZS1tb250aC1idXR0b24gZGF0ZXBpY2tlci1hcnJvd19oaWRkZW4gZGF0ZXBpY2tlcl8nK3ZpZXdUeXBlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgcGFsZXR0ZT1cInRleHRcIlxuICAgICAgICAgICAgICAgICAgICAgICB2aWV3PVwiZ2hvc3RcIj5cbiAgICAgICAgICAgIDx0ZXRhLWljb24gbmFtZT1cImFycm93TGVmdEtleVwiPjwvdGV0YS1pY29uPlxuICAgICAgICAgIDwvdGV0YS1idXR0b24+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cInJvdyBnYXAtNCBmb250LWJ1dHRvbi0yIGFsaWduLWNlbnRlciBwYWRkaW5nLWxlZnQtMVwiPlxuICAgICAgICAgICAgPHA+e3tnZXRNb3RoTmFtZShhdmFpbGFibGVNb250aFllYXIuYXZhaWxhYmxlTW9udGgpfX08L3A+XG4gICAgICAgICAgICA8YnV0dG9uIFtjbGFzc109XCInZGF0ZXBpY2tlcl8nK3ZpZXdUeXBlXCIgdGV0YS1idXR0b24gdmlldz1cImdob3N0XCIgcGFsZXR0ZT1cInRleHRcIlxuICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwic2VsZWN0UGlja2VyKCd5ZWFyJylcIj57e2F2YWlsYWJsZU1vbnRoWWVhci5hdmFpbGFibGVZZWFyfX08L2J1dHRvbj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8dGV0YS1idXR0b24gW3NxdWFyZV09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwieydkYXRlcGlja2VyLWFycm93X2hpZGRlbic6ICFpc0ZpcnN0RGF5U3VpdGFibGUoZGF0YS5jdXJyZW50TW9udGgrMixkYXRhLmN1cnJlbnRZZWFyLG1heCl9XCJcbiAgICAgICAgICAgICAgICAgICAgICAgW2NsYXNzXT1cIidjaGFuZ2UtbW9udGgtYnV0dG9uIGRhdGVwaWNrZXJfJyt2aWV3VHlwZVwiXG4gICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJjaGFuZ2VNb250aChkYXRhLmN1cnJlbnRNb250aCsxLGRhdGEuY3VycmVudFllYXIpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgcGFsZXR0ZT1cInRleHRcIlxuICAgICAgICAgICAgICAgICAgICAgICB2aWV3PVwiZ2hvc3RcIj5cbiAgICAgICAgICAgIDx0ZXRhLWljb24gbmFtZT1cImFycm93UmlnaHRLZXlcIj48L3RldGEtaWNvbj5cbiAgICAgICAgICA8L3RldGEtYnV0dG9uPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdj5cbiAgICAgICAgICA8dGV0YS1kYXktcGlja2VyIFsoaG92ZXJlZERhdGUpXT1cImhvdmVyZWREYXRlXCIgW3JhbmdlXT1cImdldEZyb21UbygpXCIgW3ZpZXdUeXBlXT1cInZpZXdUeXBlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIChzZWxlY3REYXRlKT1cInNlbGVjdERhdGUoJGV2ZW50KVwiIFtsb2NhbGVdPVwibG9jYWxlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjYWxlbmRhcl09XCJjYWxlbmRhci5uZXh0TW9udGhcIj48L3RldGEtZGF5LXBpY2tlcj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cblxuICA8L25nLWNvbnRhaW5lcj5cbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImRhdGEuc2VsZWN0ZWRQaWNrZXI9PT0nbW9udGgnXCI+XG4gICAgPHRldGEtbW9udGgtcGlja2VyIFtsb2NhbGVNb3Roc109XCJsb2NhbGVNb250aHNcIiBbY3VycmVudFllYXJdPVwiZGF0YS5jdXJyZW50WWVhclwiIChjaGFuZ2VZZWFyKT1cInNldFllYXIoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgICAgICAgIFtzZWxlY3RlZE1vbnRoXT1cImRhdGEuY3VycmVudE1vbnRoXCIgW3ZpZXdUeXBlXT1cInZpZXdUeXBlXCIgW2xvY2FsZV09XCJsb2NhbGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAoc2VsZWN0TW9udGgpPVwic2VsZWN0TW9udGgoJGV2ZW50KVwiPjwvdGV0YS1tb250aC1waWNrZXI+XG4gIDwvbmctY29udGFpbmVyPlxuICA8bmctY29udGFpbmVyICpuZ0lmPVwiZGF0YS5zZWxlY3RlZFBpY2tlcj09PSd5ZWFyJ1wiPlxuICAgIDx0ZXRhLXllYXItcGlja2VyIFttaW5NYXhdPVwiZGF0YS5taW5NYXhcIiBbbG9jYWxlXT1cImxvY2FsZVwiIFt2aWV3VHlwZV09XCJ2aWV3VHlwZVwiIChzZWxlY3RZZWFyKT1cInNlbGVjdFllYXIoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgICAgICAgW3NlbGVjdGVkWWVhcl09XCJkYXRhLmN1cnJlbnRZZWFyXCI+PC90ZXRhLXllYXItcGlja2VyPlxuICA8L25nLWNvbnRhaW5lcj5cbjwvZGl2PlxuXG4iXX0=
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { ChangeDetectionStrategy, Component, Input } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export class DayItemComponent {
|
|
4
|
+
day;
|
|
5
|
+
ngOnInit() {
|
|
6
|
+
}
|
|
7
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.4", ngImport: i0, type: DayItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
8
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.4", type: DayItemComponent, selector: "teta-day-item", inputs: { day: "day" }, ngImport: i0, template: "<p>{{day.date.getDate()}}</p>\n\n", styles: [""], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
9
|
+
}
|
|
10
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.4", ngImport: i0, type: DayItemComponent, decorators: [{
|
|
11
|
+
type: Component,
|
|
12
|
+
args: [{ selector: 'teta-day-item', changeDetection: ChangeDetectionStrategy.OnPush, template: "<p>{{day.date.getDate()}}</p>\n\n" }]
|
|
13
|
+
}], propDecorators: { day: [{
|
|
14
|
+
type: Input
|
|
15
|
+
}] } });
|
|
16
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF5LWl0ZW0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudC9kYXRlLXBpY2tlci9kYXktcGlja2VyL2RheS1pdGVtL2RheS1pdGVtLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnQvZGF0ZS1waWNrZXIvZGF5LXBpY2tlci9kYXktaXRlbS9kYXktaXRlbS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsdUJBQXVCLEVBQUUsU0FBUyxFQUFDLEtBQUssRUFBUyxNQUFNLGVBQWUsQ0FBQzs7QUFVL0UsTUFBTSxPQUFPLGdCQUFnQjtJQUNsQixHQUFHLENBQVc7SUFHdkIsUUFBUTtJQUNSLENBQUM7dUdBTFUsZ0JBQWdCOzJGQUFoQixnQkFBZ0IsNkVDVjdCLG1DQUVBOzsyRkRRYSxnQkFBZ0I7a0JBTjVCLFNBQVM7K0JBQ0UsZUFBZSxtQkFHUix1QkFBdUIsQ0FBQyxNQUFNOzhCQUd0QyxHQUFHO3NCQUFYLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsSW5wdXQsIE9uSW5pdH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0RheU1vZGVsfSBmcm9tIFwiLi4vLi4vbW9kZWwvZGF5LW1vZGVsXCI7XG5cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGV0YS1kYXktaXRlbScsXG4gIHRlbXBsYXRlVXJsOiAnLi9kYXktaXRlbS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2RheS1pdGVtLmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIERheUl0ZW1Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBASW5wdXQoKSBkYXk6IERheU1vZGVsO1xuXG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gIH1cblxufVxuIiwiPHA+e3tkYXkuZGF0ZS5nZXREYXRlKCl9fTwvcD5cblxuIl19
|