@tetacom/ng-components 1.0.150 → 1.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (208) hide show
  1. package/assets/color-icons.svg +521 -49
  2. package/assets/file-icons.svg +1 -0
  3. package/assets/icons.svg +138 -205
  4. package/component/accordion/accordion-item/accordion-item.component.d.ts +1 -4
  5. package/component/button/button/button.component.d.ts +1 -4
  6. package/component/checkbox/checkbox/checkbox.component.d.ts +1 -2
  7. package/component/date-picker/date-picker/date-picker.component.d.ts +68 -38
  8. package/component/date-picker/date-picker.module.d.ts +16 -19
  9. package/component/date-picker/day-select/day-select.component.d.ts +51 -0
  10. package/component/date-picker/model/date-picker-mode.enum.d.ts +5 -0
  11. package/component/date-picker/month-picker/month-picker.component.d.ts +50 -16
  12. package/component/date-picker/month-select/month-select.component.d.ts +40 -0
  13. package/component/date-picker/public-api.d.ts +4 -5
  14. package/component/date-picker/service/picker-touch.service.d.ts +12 -0
  15. package/component/date-picker/time-part-control/time-part-control.component.d.ts +26 -0
  16. package/component/date-picker/util/date-picker-util.d.ts +15 -0
  17. package/component/date-picker/year-select/year-select.component.d.ts +45 -0
  18. package/component/dropdown/dropdown-base.d.ts +1 -3
  19. package/component/filter/filter.module.d.ts +2 -1
  20. package/component/icon/icon-file/icon-file.component.d.ts +3 -9
  21. package/component/icon/icon.module.d.ts +5 -4
  22. package/component/icon/public-api.d.ts +0 -1
  23. package/component/input/input/input.component.d.ts +1 -3
  24. package/component/message/model/message.d.ts +0 -3
  25. package/component/public-api.d.ts +0 -2
  26. package/component/select/select/select.component.d.ts +1 -4
  27. package/component/select/select.module.d.ts +2 -1
  28. package/component/switch/switch/switch.component.d.ts +1 -4
  29. package/component/table/table-body/table-body.component.d.ts +1 -0
  30. package/component/table/table.module.d.ts +2 -1
  31. package/component/tree/tree.module.d.ts +2 -1
  32. package/directive/hint/hint.directive.d.ts +1 -3
  33. package/directive/only-number/only-number.directive.d.ts +2 -1
  34. package/directive/public-api.d.ts +1 -0
  35. package/directive/scrollable/public-api.d.ts +3 -0
  36. package/directive/scrollable/scrollable/scrollable.component.d.ts +32 -0
  37. package/directive/scrollable/scrollable.directive.d.ts +6 -0
  38. package/directive/scrollable/scrollable.module.d.ts +10 -0
  39. package/esm2020/component/accordion/accordion/accordion.component.mjs +2 -3
  40. package/esm2020/component/accordion/accordion-head/accordion-head.component.mjs +2 -3
  41. package/esm2020/component/accordion/accordion-item/accordion-item.component.mjs +3 -13
  42. package/esm2020/component/button/button/button.component.mjs +3 -18
  43. package/esm2020/component/checkbox/checkbox/checkbox.component.mjs +3 -6
  44. package/esm2020/component/date-picker/date-picker/date-picker.component.mjs +235 -141
  45. package/esm2020/component/date-picker/date-picker.module.mjs +45 -41
  46. package/esm2020/component/date-picker/day-select/day-select.component.mjs +184 -0
  47. package/esm2020/component/date-picker/model/date-picker-mode.enum.mjs +7 -0
  48. package/esm2020/component/date-picker/month-picker/month-picker.component.mjs +237 -33
  49. package/esm2020/component/date-picker/month-select/month-select.component.mjs +148 -0
  50. package/esm2020/component/date-picker/public-api.mjs +5 -6
  51. package/esm2020/component/date-picker/service/picker-touch.service.mjs +34 -0
  52. package/esm2020/component/date-picker/time-part-control/time-part-control.component.mjs +73 -0
  53. package/esm2020/component/date-picker/util/date-picker-util.mjs +142 -0
  54. package/esm2020/component/date-picker/year-select/year-select.component.mjs +189 -0
  55. package/esm2020/component/dropdown/dropdown/dropdown.component.mjs +2 -3
  56. package/esm2020/component/dropdown/dropdown-base.mjs +2 -6
  57. package/esm2020/component/dropdown/dropdown.directive.mjs +1 -1
  58. package/esm2020/component/expand-card/expand-card/expand-card.component.mjs +1 -1
  59. package/esm2020/component/expand-card/expand-item/expand-item.component.mjs +1 -1
  60. package/esm2020/component/expand-panel/expand-panel/expand-panel.component.mjs +1 -1
  61. package/esm2020/component/file-upload/file-upload-area/file-upload-area.component.mjs +1 -1
  62. package/esm2020/component/filter/date-filter/date-filter.component.mjs +1 -1
  63. package/esm2020/component/filter/filter.module.mjs +7 -3
  64. package/esm2020/component/filter/list-filter/list-filter.component.mjs +4 -3
  65. package/esm2020/component/filter/numeric-filter/numeric-filter.component.mjs +1 -1
  66. package/esm2020/component/filter/string-filter/string-filter.component.mjs +1 -1
  67. package/esm2020/component/icon/icon-file/icon-file.component.mjs +6 -20
  68. package/esm2020/component/icon/icon.module.mjs +6 -1
  69. package/esm2020/component/icon/public-api.mjs +1 -2
  70. package/esm2020/component/input/input/input.component.mjs +3 -6
  71. package/esm2020/component/input/input.module.mjs +1 -1
  72. package/esm2020/component/input/text-field/text-field.component.mjs +3 -3
  73. package/esm2020/component/message/message/message.component.mjs +3 -4
  74. package/esm2020/component/message/message-host/message-host.component.mjs +1 -1
  75. package/esm2020/component/message/model/message.mjs +1 -2
  76. package/esm2020/component/modal/dialog/dialog.component.mjs +1 -1
  77. package/esm2020/component/property-grid/property-grid/property-grid-item/property-grid-item.component.mjs +2 -2
  78. package/esm2020/component/public-api.mjs +1 -4
  79. package/esm2020/component/select/select/select.component.mjs +6 -9
  80. package/esm2020/component/select/select.module.mjs +7 -3
  81. package/esm2020/component/switch/switch/switch.component.mjs +7 -19
  82. package/esm2020/component/table/default/boolean-cell/boolean-cell.component.mjs +1 -1
  83. package/esm2020/component/table/default/date-cell/date-cell.component.mjs +1 -1
  84. package/esm2020/component/table/default/date-time-cell/date-time-cell.component.mjs +1 -1
  85. package/esm2020/component/table/default/default-head-cell/default-head-cell.component.mjs +1 -1
  86. package/esm2020/component/table/default/list-cell/list-cell.component.mjs +1 -1
  87. package/esm2020/component/table/default/string-cell/string-cell.component.mjs +1 -1
  88. package/esm2020/component/table/selection-cell/selection-cell.component.mjs +1 -1
  89. package/esm2020/component/table/selection-head-cell/selection-head-cell.component.mjs +1 -1
  90. package/esm2020/component/table/table-body/table-body.component.mjs +11 -6
  91. package/esm2020/component/table/table-head/filter-dropdown-tab/filter-dropdown-tab.component.mjs +1 -1
  92. package/esm2020/component/table/table-head/visibility-dropdown-tab/visibility-dropdown-tab.component.mjs +4 -3
  93. package/esm2020/component/table/table.module.mjs +7 -3
  94. package/esm2020/component/theme-switch/theme-switch/theme-switch.component.mjs +1 -1
  95. package/esm2020/component/tree/tree/tree.component.mjs +6 -4
  96. package/esm2020/component/tree/tree.module.mjs +5 -4
  97. package/esm2020/directive/hint/hint.directive.mjs +3 -6
  98. package/esm2020/directive/only-number/only-number.directive.mjs +12 -2
  99. package/esm2020/directive/public-api.mjs +2 -1
  100. package/esm2020/directive/scrollable/public-api.mjs +4 -0
  101. package/esm2020/directive/scrollable/scrollable/scrollable.component.mjs +96 -0
  102. package/esm2020/directive/scrollable/scrollable.directive.mjs +19 -0
  103. package/esm2020/directive/scrollable/scrollable.module.mjs +33 -0
  104. package/esm2020/locale/en.mjs +1 -3
  105. package/esm2020/locale/ru.mjs +1 -3
  106. package/esm2020/locale/teta-localisation.mjs +1 -1
  107. package/esm2020/observable/animation-frame.mjs +30 -0
  108. package/esm2020/observable/public-api.mjs +2 -1
  109. package/esm2020/pipe/prepend-zero/prepend-zero.module.mjs +18 -0
  110. package/esm2020/pipe/prepend-zero/prepend-zero.pipe.mjs +21 -0
  111. package/fesm2015/tetacom-ng-components.mjs +5483 -5181
  112. package/fesm2015/tetacom-ng-components.mjs.map +1 -1
  113. package/fesm2020/tetacom-ng-components.mjs +3333 -3025
  114. package/fesm2020/tetacom-ng-components.mjs.map +1 -1
  115. package/locale/teta-localisation.d.ts +0 -2
  116. package/observable/animation-frame.d.ts +4 -0
  117. package/observable/public-api.d.ts +1 -0
  118. package/package.json +2 -3
  119. package/pipe/prepend-zero/prepend-zero.module.d.ts +8 -0
  120. package/pipe/prepend-zero/prepend-zero.pipe.d.ts +7 -0
  121. package/style/accordion.scss +6 -28
  122. package/style/assembly-library.scss +1 -4
  123. package/style/assembly-presets.scss +1 -0
  124. package/style/button.scss +13 -16
  125. package/style/checkbox.scss +13 -26
  126. package/style/chips.scss +10 -10
  127. package/style/color.scss +36 -1
  128. package/style/datepicker.scss +24 -139
  129. package/style/drag.scss +1 -1
  130. package/style/dropdown.scss +4 -6
  131. package/style/hint.scss +5 -5
  132. package/style/icon.scss +1 -2
  133. package/style/input.scss +23 -32
  134. package/style/layout.scss +2 -6
  135. package/style/library.scss +17 -0
  136. package/style/list.scss +8 -11
  137. package/style/loader.scss +2 -2
  138. package/style/message.scss +7 -15
  139. package/style/modal.scss +2 -3
  140. package/style/navigation.scss +1 -4
  141. package/style/presets/color-presets.scss +160 -8
  142. package/style/presets/font-presets.scss +25 -26
  143. package/style/presets/shadow-presets.scss +16 -0
  144. package/style/progress.scss +3 -3
  145. package/style/radio.scss +7 -21
  146. package/style/resize-panel.scss +2 -2
  147. package/style/scroll.scss +21 -17
  148. package/style/select.scss +21 -26
  149. package/style/shadow.scss +20 -0
  150. package/style/sidebar.scss +1 -1
  151. package/style/switch.scss +10 -15
  152. package/style/table.scss +15 -17
  153. package/style/tabs.scss +11 -11
  154. package/style/toggle.scss +18 -20
  155. package/style/tokens/basedark.tokens.css +77 -0
  156. package/style/tokens/baselight.tokens.css +61 -0
  157. package/style/tokens/global.tokens.css +235 -0
  158. package/style/tokens/utility.tokens.css +1119 -0
  159. package/style/toolbar.scss +1 -1
  160. package/style/tooltip.scss +6 -8
  161. package/style/tree.scss +4 -4
  162. package/style/util/button-util.scss +58 -0
  163. package/common/model/view-type.model.d.ts +0 -1
  164. package/component/avatar/avatar/avatar.component.d.ts +0 -17
  165. package/component/avatar/avatar.module.d.ts +0 -9
  166. package/component/avatar/model/avatar-color.enum.d.ts +0 -20
  167. package/component/avatar/public-api.d.ts +0 -2
  168. package/component/date-picker/base-calendar.d.ts +0 -49
  169. package/component/date-picker/base-picker.d.ts +0 -60
  170. package/component/date-picker/date-picker/date-calendar/date-calendar.component.d.ts +0 -20
  171. package/component/date-picker/date-range/date-range.component.d.ts +0 -46
  172. package/component/date-picker/date-range/range-calendar/range-calendar.component.d.ts +0 -39
  173. package/component/date-picker/day-picker/day-item/day-item.component.d.ts +0 -9
  174. package/component/date-picker/day-picker/day-picker.component.d.ts +0 -30
  175. package/component/date-picker/model/from-to.model.d.ts +0 -4
  176. package/component/date-picker/model/min-max-date.model.d.ts +0 -4
  177. package/component/date-picker/year-picker/scroll-to-selected-year.directive.d.ts +0 -11
  178. package/component/date-picker/year-picker/year-picker.component.d.ts +0 -24
  179. package/component/divider/divider/divider.component.d.ts +0 -10
  180. package/component/divider/divider.module.d.ts +0 -8
  181. package/component/divider/public-api.d.ts +0 -2
  182. package/component/icon/icon-file/icon-file.module.d.ts +0 -9
  183. package/esm2020/common/model/view-type.model.mjs +0 -2
  184. package/esm2020/component/avatar/avatar/avatar.component.mjs +0 -57
  185. package/esm2020/component/avatar/avatar.module.mjs +0 -28
  186. package/esm2020/component/avatar/model/avatar-color.enum.mjs +0 -22
  187. package/esm2020/component/avatar/public-api.mjs +0 -3
  188. package/esm2020/component/date-picker/base-calendar.mjs +0 -99
  189. package/esm2020/component/date-picker/base-picker.mjs +0 -102
  190. package/esm2020/component/date-picker/date-picker/date-calendar/date-calendar.component.mjs +0 -49
  191. package/esm2020/component/date-picker/date-range/date-range.component.mjs +0 -211
  192. package/esm2020/component/date-picker/date-range/range-calendar/range-calendar.component.mjs +0 -108
  193. package/esm2020/component/date-picker/day-picker/day-item/day-item.component.mjs +0 -15
  194. package/esm2020/component/date-picker/day-picker/day-picker.component.mjs +0 -113
  195. package/esm2020/component/date-picker/model/from-to.model.mjs +0 -2
  196. package/esm2020/component/date-picker/model/min-max-date.model.mjs +0 -2
  197. package/esm2020/component/date-picker/year-picker/scroll-to-selected-year.directive.mjs +0 -26
  198. package/esm2020/component/date-picker/year-picker/year-picker.component.mjs +0 -48
  199. package/esm2020/component/divider/divider/divider.component.mjs +0 -18
  200. package/esm2020/component/divider/divider.module.mjs +0 -20
  201. package/esm2020/component/divider/public-api.mjs +0 -3
  202. package/esm2020/component/icon/icon-file/icon-file.module.mjs +0 -28
  203. package/style/badge.scss +0 -28
  204. package/style/bottombar.scss +0 -5
  205. package/style/divider.scss +0 -15
  206. package/style/presets/view-types.scss +0 -15
  207. package/style/tag.scss +0 -37
  208. package/style/util/scroll-util.scss +0 -4
@@ -1,28 +0,0 @@
1
- import { NgModule } from '@angular/core';
2
- import { CommonModule } from '@angular/common';
3
- import { AvatarComponent } from './avatar/avatar.component';
4
- import { IconModule } from "../icon/icon.module";
5
- import * as i0 from "@angular/core";
6
- export class AvatarModule {
7
- }
8
- AvatarModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: AvatarModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
9
- AvatarModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.0.2", ngImport: i0, type: AvatarModule, declarations: [AvatarComponent], imports: [CommonModule,
10
- IconModule], exports: [AvatarComponent] });
11
- AvatarModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: AvatarModule, imports: [CommonModule,
12
- IconModule] });
13
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: AvatarModule, decorators: [{
14
- type: NgModule,
15
- args: [{
16
- declarations: [
17
- AvatarComponent
18
- ],
19
- imports: [
20
- CommonModule,
21
- IconModule
22
- ],
23
- exports: [
24
- AvatarComponent
25
- ]
26
- }]
27
- }] });
28
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXZhdGFyLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnQvYXZhdGFyL2F2YXRhci5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzVELE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQzs7QUFnQi9DLE1BQU0sT0FBTyxZQUFZOzt5R0FBWixZQUFZOzBHQUFaLFlBQVksaUJBVnJCLGVBQWUsYUFHZixZQUFZO1FBQ1osVUFBVSxhQUdWLGVBQWU7MEdBR04sWUFBWSxZQVByQixZQUFZO1FBQ1osVUFBVTsyRkFNRCxZQUFZO2tCQVp4QixRQUFRO21CQUFDO29CQUNSLFlBQVksRUFBRTt3QkFDWixlQUFlO3FCQUNoQjtvQkFDRCxPQUFPLEVBQUU7d0JBQ1AsWUFBWTt3QkFDWixVQUFVO3FCQUNYO29CQUNELE9BQU8sRUFBQzt3QkFDTixlQUFlO3FCQUNoQjtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQXZhdGFyQ29tcG9uZW50IH0gZnJvbSAnLi9hdmF0YXIvYXZhdGFyLmNvbXBvbmVudCc7XG5pbXBvcnQge0ljb25Nb2R1bGV9IGZyb20gXCIuLi9pY29uL2ljb24ubW9kdWxlXCI7XG5cblxuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtcbiAgICBBdmF0YXJDb21wb25lbnRcbiAgXSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBJY29uTW9kdWxlXG4gIF0sXG4gIGV4cG9ydHM6W1xuICAgIEF2YXRhckNvbXBvbmVudFxuICBdXG59KVxuZXhwb3J0IGNsYXNzIEF2YXRhck1vZHVsZSB7IH1cbiJdfQ==
@@ -1,22 +0,0 @@
1
- export var AvatarColorEnum;
2
- (function (AvatarColorEnum) {
3
- AvatarColorEnum[AvatarColorEnum["vibrant"] = 0] = "vibrant";
4
- AvatarColorEnum[AvatarColorEnum["nebula"] = 1] = "nebula";
5
- AvatarColorEnum[AvatarColorEnum["gorgonzola"] = 2] = "gorgonzola";
6
- AvatarColorEnum[AvatarColorEnum["lagoon"] = 3] = "lagoon";
7
- AvatarColorEnum[AvatarColorEnum["lime"] = 4] = "lime";
8
- AvatarColorEnum[AvatarColorEnum["pumpkin"] = 5] = "pumpkin";
9
- AvatarColorEnum[AvatarColorEnum["vanity"] = 6] = "vanity";
10
- AvatarColorEnum[AvatarColorEnum["navy"] = 7] = "navy";
11
- AvatarColorEnum[AvatarColorEnum["turquoise"] = 8] = "turquoise";
12
- AvatarColorEnum[AvatarColorEnum["greyish"] = 9] = "greyish";
13
- AvatarColorEnum[AvatarColorEnum["heart"] = 10] = "heart";
14
- AvatarColorEnum[AvatarColorEnum["gloomy"] = 11] = "gloomy";
15
- AvatarColorEnum[AvatarColorEnum["rockman"] = 12] = "rockman";
16
- AvatarColorEnum[AvatarColorEnum["hair"] = 13] = "hair";
17
- AvatarColorEnum[AvatarColorEnum["cerise"] = 14] = "cerise";
18
- AvatarColorEnum[AvatarColorEnum["iris"] = 15] = "iris";
19
- AvatarColorEnum[AvatarColorEnum["caribbean"] = 16] = "caribbean";
20
- AvatarColorEnum[AvatarColorEnum["poisonous"] = 17] = "poisonous";
21
- })(AvatarColorEnum || (AvatarColorEnum = {}));
22
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXZhdGFyLWNvbG9yLmVudW0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50L2F2YXRhci9tb2RlbC9hdmF0YXItY29sb3IuZW51bS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQU4sSUFBWSxlQW1CWDtBQW5CRCxXQUFZLGVBQWU7SUFDekIsMkRBQU8sQ0FBQTtJQUNQLHlEQUFNLENBQUE7SUFDTixpRUFBVSxDQUFBO0lBQ1YseURBQU0sQ0FBQTtJQUNOLHFEQUFJLENBQUE7SUFDSiwyREFBTyxDQUFBO0lBQ1AseURBQU0sQ0FBQTtJQUNOLHFEQUFJLENBQUE7SUFDSiwrREFBUyxDQUFBO0lBQ1QsMkRBQU8sQ0FBQTtJQUNQLHdEQUFLLENBQUE7SUFDTCwwREFBTSxDQUFBO0lBQ04sNERBQU8sQ0FBQTtJQUNQLHNEQUFJLENBQUE7SUFDSiwwREFBTSxDQUFBO0lBQ04sc0RBQUksQ0FBQTtJQUNKLGdFQUFTLENBQUE7SUFDVCxnRUFBUyxDQUFBO0FBQ1gsQ0FBQyxFQW5CVyxlQUFlLEtBQWYsZUFBZSxRQW1CMUIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZW51bSBBdmF0YXJDb2xvckVudW0ge1xuICB2aWJyYW50LFxuICBuZWJ1bGEsXG4gIGdvcmdvbnpvbGEsXG4gIGxhZ29vbixcbiAgbGltZSxcbiAgcHVtcGtpbixcbiAgdmFuaXR5LFxuICBuYXZ5LFxuICB0dXJxdW9pc2UsXG4gIGdyZXlpc2gsXG4gIGhlYXJ0LFxuICBnbG9vbXksXG4gIHJvY2ttYW4sXG4gIGhhaXIsXG4gIGNlcmlzZSxcbiAgaXJpcyxcbiAgY2FyaWJiZWFuLFxuICBwb2lzb25vdXNcbn1cbiJdfQ==
@@ -1,3 +0,0 @@
1
- export * from './avatar.module';
2
- export * from './avatar/avatar.component';
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnQvYXZhdGFyL3B1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxpQkFBaUIsQ0FBQztBQUNoQyxjQUFjLDJCQUEyQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9hdmF0YXIubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vYXZhdGFyL2F2YXRhci5jb21wb25lbnQnO1xuIl19
@@ -1,99 +0,0 @@
1
- import { ChangeDetectionStrategy, Component } from "@angular/core";
2
- import { BehaviorSubject, ReplaySubject } from "rxjs";
3
- import dayjs from "dayjs";
4
- import { DayModel } from "./model/day-model";
5
- import * as i0 from "@angular/core";
6
- export class BaseCalendar {
7
- constructor(_cdr) {
8
- this._cdr = _cdr;
9
- this.currentMonth = new ReplaySubject(1);
10
- this.minMax = new ReplaySubject(1);
11
- this.currentYear = new ReplaySubject(1);
12
- this.selectedPicker = new BehaviorSubject('day');
13
- this.localeMonths = new Map().set('ru', ['Январь', 'Февраль', 'Март', 'Апрель', 'Май', 'Июнь', 'Июль', 'Август', 'Сентябрь', 'Октябрь', 'Ноябрь', 'Декабрь'])
14
- .set('en', ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December']);
15
- this.alive = true;
16
- }
17
- generateCalendar(selectedDate, year, month, minMax) {
18
- const calendarStartDay = selectedDate.set("year", year).set("month", month).set("date", 1).startOf('week');
19
- const calendar = new Array(42).fill(1).map((v, i) => {
20
- return calendarStartDay.add(i, 'day');
21
- });
22
- return calendar.map((d) => {
23
- return new DayModel({
24
- date: new Date(d.toDate()),
25
- isCurrentMonth: month === d.month(),
26
- disabled: !this.isSuitableMinDate(d.toDate(), minMax.min) || !this.isSuitableMaxDate(d.toDate(), minMax.max),
27
- selected: this.isSelected(d.toDate(), selectedDate.toDate())
28
- });
29
- });
30
- }
31
- isSuitableMinDate(d, minDate) {
32
- return dayjs(new Date(minDate)).startOf('date').toDate() <= new Date(d) || minDate === null;
33
- }
34
- isSuitableMaxDate(d, maxDate) {
35
- return new Date(d) < dayjs(new Date(maxDate)).endOf('date').toDate() || maxDate === null;
36
- }
37
- isSelected(date, selectedDate) {
38
- const isSelectedDate = date.getDate() === selectedDate?.getDate();
39
- const isSelectedYear = date.getFullYear() === selectedDate?.getFullYear();
40
- const isSelectedMonth = date.getMonth() === selectedDate?.getMonth();
41
- return isSelectedDate && isSelectedMonth && isSelectedYear && !this.isDateNull;
42
- }
43
- ngOnDestroy() {
44
- this.alive = false;
45
- }
46
- selectPicker(entity) {
47
- this.selectedPicker.next(entity);
48
- }
49
- selectMonth(month) {
50
- this.currentMonth.next(month);
51
- this.selectPicker("day");
52
- }
53
- selectYear(year) {
54
- this.setYear(year);
55
- this.selectPicker("day");
56
- }
57
- ngOnChanges(changes) {
58
- this.changeCalendarData(this.selectedDate);
59
- }
60
- changeCalendarData(selectedDate) {
61
- let date = new Date(selectedDate || new Date());
62
- this.currentMonth.next(new Date(date).getMonth());
63
- this.currentYear.next(new Date(date).getFullYear());
64
- this.minMax.next({ min: this.min, max: this.max });
65
- }
66
- setYear(year) {
67
- this.currentYear.next(year);
68
- }
69
- changeMonth(month, year) {
70
- const { availableYear, availableMonth } = this.getAvailableMonthYear(month, year);
71
- this.currentMonth.next(availableMonth);
72
- this.currentYear.next(availableYear);
73
- }
74
- getAvailableMonthYear(month, year) {
75
- if (month > 11) {
76
- return { availableMonth: month - 12, availableYear: year + 1 };
77
- }
78
- if (month < 0) {
79
- return { availableMonth: 12 + month, availableYear: year - 1 };
80
- }
81
- return { availableMonth: month, availableYear: year };
82
- }
83
- getMothName(month) {
84
- return this.localeMonths.get(this.locale)[month];
85
- }
86
- selectDate(date) {
87
- this.setDate.emit(date);
88
- }
89
- }
90
- BaseCalendar.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: BaseCalendar, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
91
- BaseCalendar.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.2", type: BaseCalendar, selector: "ng-component", usesOnChanges: true, ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
92
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: BaseCalendar, decorators: [{
93
- type: Component,
94
- args: [{
95
- template: '',
96
- changeDetection: ChangeDetectionStrategy.OnPush
97
- }]
98
- }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; } });
99
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1jYWxlbmRhci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnQvZGF0ZS1waWNrZXIvYmFzZS1jYWxlbmRhci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBRXZCLFNBQVMsRUFLVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUMsZUFBZSxFQUFFLGFBQWEsRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUNwRCxPQUFPLEtBQWMsTUFBTSxPQUFPLENBQUM7QUFHbkMsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLG1CQUFtQixDQUFDOztBQU0zQyxNQUFNLE9BQWdCLFlBQVk7SUFtQmhDLFlBQWdDLElBQXVCO1FBQXZCLFNBQUksR0FBSixJQUFJLENBQW1CO1FBVmhELGlCQUFZLEdBQTBCLElBQUksYUFBYSxDQUFTLENBQUMsQ0FBQyxDQUFBO1FBQ2xFLFdBQU0sR0FBbUMsSUFBSSxhQUFhLENBQWtCLENBQUMsQ0FBQyxDQUFBO1FBQzlFLGdCQUFXLEdBQTBCLElBQUksYUFBYSxDQUFTLENBQUMsQ0FBQyxDQUFBO1FBQ2pFLG1CQUFjLEdBQThDLElBQUksZUFBZSxDQUEyQixLQUFLLENBQUMsQ0FBQTtRQUVoSCxpQkFBWSxHQUFHLElBQUksR0FBRyxFQUFFLENBQUMsR0FBRyxDQUFDLElBQUksRUFBRSxDQUFDLFFBQVEsRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsVUFBVSxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsU0FBUyxDQUFDLENBQUM7YUFDNUosR0FBRyxDQUFDLElBQUksRUFBRSxDQUFDLFNBQVMsRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsV0FBVyxFQUFFLFNBQVMs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SSxDQUFDLENBQUE7UUFDL0UsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUE7UUFDdEMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUE7SUFDdEMsQ0FBQztJQUVELHFCQUFxQixDQUFDLEtBQWEsRUFBRSxJQUFZO1FBQy9DLElBQUksS0FBSyxHQUFHLEVBQUUsRUFBRTtZQUNkLE9BQU8sRUFBQyxjQUFjLEVBQUUsS0FBSyxHQUFHLEVBQUUsRUFBRSxhQUFhLEVBQUUsSUFBSSxHQUFHLENBQUMsRUFBQyxDQUFBO1NBQzdEO1FBQ0QsSUFBSSxLQUFLLEdBQUcsQ0FBQyxFQUFFO1lBQ2IsT0FBTyxFQUFDLGNBQWMsRUFBRSxFQUFFLEdBQUcsS0FBSyxFQUFFLGFBQWEsRUFBRSxJQUFJLEdBQUcsQ0FBQyxFQUFDLENBQUE7U0FDN0Q7UUFDRCxPQUFPLEVBQUMsY0FBYyxFQUFFLEtBQUssRUFBRSxhQUFhLEVBQUUsSUFBSSxFQUFDLENBQUE7SUFDckQsQ0FBQztJQUVELFdBQVcsQ0FBQyxLQUFhO1FBQ3ZCLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFBO0lBQ2xELENBQUM7SUFFRCxVQUFVLENBQUMsSUFBVTtRQUNuQixJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUMxQixDQUFDOzt5R0E3R21CLFlBQVk7NkZBQVosWUFBWSx5RUFIdEIsRUFBRTsyRkFHUSxZQUFZO2tCQUpqQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxFQUFFO29CQUNaLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO2lCQUNoRCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBFdmVudEVtaXR0ZXIsXG4gIE9uQ2hhbmdlcyxcbiAgT25EZXN0cm95LFxuICBTaW1wbGVDaGFuZ2VzXG59IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQge0JlaGF2aW9yU3ViamVjdCwgUmVwbGF5U3ViamVjdH0gZnJvbSBcInJ4anNcIjtcbmltcG9ydCBkYXlqcywge0RheWpzfSBmcm9tIFwiZGF5anNcIjtcbmltcG9ydCB7dmlld1R5cGV9IGZyb20gXCIuLi8uLi9jb21tb24vbW9kZWwvdmlldy10eXBlLm1vZGVsXCI7XG5pbXBvcnQge01pbk1heERhdGVNb2RlbH0gZnJvbSBcIi4vbW9kZWwvbWluLW1heC1kYXRlLm1vZGVsXCI7XG5pbXBvcnQge0RheU1vZGVsfSBmcm9tIFwiLi9tb2RlbC9kYXktbW9kZWxcIjtcblxuQENvbXBvbmVudCh7XG4gIHRlbXBsYXRlOiAnJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQmFzZUNhbGVuZGFyIGltcGxlbWVudHMgT25DaGFuZ2VzLCBPbkRlc3Ryb3kge1xuICBhYnN0cmFjdCBzZWxlY3RlZERhdGU7XG4gIGFic3RyYWN0IGxvY2FsZTogc3RyaW5nO1xuICBhYnN0cmFjdCBvcGVuOiBib29sZWFuO1xuICBhYnN0cmFjdCB2aWV3VHlwZTogdmlld1R5cGU7XG4gIGFic3RyYWN0IG1pbjogRGF0ZSB8IHN0cmluZyB8IG51bWJlcjtcbiAgYWJzdHJhY3QgaXNEYXRlTnVsbDogYm9vbGVhbjtcbiAgYWJzdHJhY3QgbWF4OiBEYXRlIHwgc3RyaW5nIHwgbnVtYmVyO1xuICBhYnN0cmFjdCBzZXREYXRlOiBFdmVudEVtaXR0ZXI8RGF0ZT47XG4gIHB1YmxpYyBjdXJyZW50TW9udGg6IFJlcGxheVN1YmplY3Q8bnVtYmVyPiA9IG5ldyBSZXBsYXlTdWJqZWN0PG51bWJlcj4oMSlcbiAgcHVibGljIG1pbk1heDogUmVwbGF5U3ViamVjdDxNaW5NYXhEYXRlTW9kZWw+ID0gbmV3IFJlcGxheVN1YmplY3Q8TWluTWF4RGF0ZU1vZGVsPigxKVxuICBwdWJsaWMgY3VycmVudFllYXI6IFJlcGxheVN1YmplY3Q8bnVtYmVyPiA9IG5ldyBSZXBsYXlTdWJqZWN0PG51bWJlcj4oMSlcbiAgcHVibGljIHNlbGVjdGVkUGlja2VyOiBCZWhhdmlvclN1YmplY3Q8J2RheScgfCAnbW9udGgnIHwgJ3llYXInPiA9IG5ldyBCZWhhdmlvclN1YmplY3Q8XCJkYXlcIiB8IFwibW9udGhcIiB8IFwieWVhclwiPignZGF5JylcbiAgYWJzdHJhY3QgY2FsZW5kYXI6IERheU1vZGVsW10gfCB7IGN1cnJlbnRNb250aDogRGF5TW9kZWxbXSwgbmV4dE1vbnRoOiBEYXlNb2RlbFtdIH07XG4gIHB1YmxpYyBsb2NhbGVNb250aHMgPSBuZXcgTWFwKCkuc2V0KCdydScsIFsn0K/QvdCy0LDRgNGMJywgJ9Ck0LXQstGA0LDQu9GMJywgJ9Cc0LDRgNGCJywgJ9CQ0L/RgNC10LvRjCcsICfQnNCw0LknLCAn0JjRjtC90YwnLCAn0JjRjtC70YwnLCAn0JDQstCz0YPRgdGCJywgJ9Ch0LXQvdGC0Y/QsdGA0YwnLCAn0J7QutGC0Y/QsdGA0YwnLCAn0J3QvtGP0LHRgNGMJywgJ9CU0LXQutCw0LHRgNGMJ10pXG4gICAgLnNldCgnZW4nLCBbJ0phbnVhcnknLCAnRmVicnVhcnknLCAnTWFyY2gnLCAnQXByaWwnLCAnTWF5JywgJ0p1bmUnLCAnSnVseScsICdBdWd1c3QnLCAnU2VwdGVtYmVyJywgJ09jdG9iZXInLCAnTm92ZW1iZXInLCAnRGVjZW1iZXInXSlcblxuICBwdWJsaWMgYWxpdmUgPSB0cnVlO1xuXG4gIHByb3RlY3RlZCBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgX2NkcjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHtcbiAgfVxuXG4gIGdlbmVyYXRlQ2FsZW5kYXIoc2VsZWN0ZWREYXRlOiBEYXlqcywgeWVhcjogbnVtYmVyLCBtb250aDogbnVtYmVyLCBtaW5NYXg6IE1pbk1heERhdGVNb2RlbCk6IERheU1vZGVsW10ge1xuICAgIGNvbnN0IGNhbGVuZGFyU3RhcnREYXkgPSBzZWxlY3RlZERhdGUuc2V0KFwieWVhclwiLCB5ZWFyKS5zZXQoXCJtb250aFwiLCBtb250aCkuc2V0KFwiZGF0ZVwiLCAxKS5zdGFydE9mKCd3ZWVrJyk7XG4gICAgY29uc3QgY2FsZW5kYXIgPSBuZXcgQXJyYXkoNDIpLmZpbGwoMSkubWFwKCh2LCBpKSA9PiB7XG4gICAgICByZXR1cm4gY2FsZW5kYXJTdGFydERheS5hZGQoaSwgJ2RheScpXG4gICAgfSk7XG4gICAgcmV0dXJuIGNhbGVuZGFyLm1hcCgoZCkgPT4ge1xuXG4gICAgICByZXR1cm4gbmV3IERheU1vZGVsKHtcbiAgICAgICAgZGF0ZTogbmV3IERhdGUoZC50b0RhdGUoKSksXG4gICAgICAgIGlzQ3VycmVudE1vbnRoOiBtb250aCA9PT0gZC5tb250aCgpLFxuICAgICAgICBkaXNhYmxlZDogIXRoaXMuaXNTdWl0YWJsZU1pbkRhdGUoZC50b0RhdGUoKSwgbWluTWF4Lm1pbikgfHwgIXRoaXMuaXNTdWl0YWJsZU1heERhdGUoZC50b0RhdGUoKSwgbWluTWF4Lm1heCksXG4gICAgICAgIHNlbGVjdGVkOiB0aGlzLmlzU2VsZWN0ZWQoZC50b0RhdGUoKSwgc2VsZWN0ZWREYXRlLnRvRGF0ZSgpKVxuICAgICAgfSlcbiAgICB9KVxuXG4gIH1cblxuICBpc1N1aXRhYmxlTWluRGF0ZShkOiBEYXRlLCBtaW5EYXRlOiBEYXRlIHwgc3RyaW5nIHwgbnVtYmVyKSB7XG4gICAgcmV0dXJuIGRheWpzKG5ldyBEYXRlKG1pbkRhdGUpKS5zdGFydE9mKCdkYXRlJykudG9EYXRlKCkgPD0gbmV3IERhdGUoZCkgfHwgbWluRGF0ZSA9PT0gbnVsbFxuICB9XG5cbiAgaXNTdWl0YWJsZU1heERhdGUoZDogRGF0ZSwgbWF4RGF0ZTogRGF0ZSB8IHN0cmluZyB8IG51bWJlcikge1xuICAgIHJldHVybiBuZXcgRGF0ZShkKSA8IGRheWpzKG5ldyBEYXRlKG1heERhdGUpKS5lbmRPZignZGF0ZScpLnRvRGF0ZSgpIHx8IG1heERhdGUgPT09IG51bGw7XG4gIH1cblxuICBpc1NlbGVjdGVkKGRhdGU6IERhdGUsIHNlbGVjdGVkRGF0ZTogRGF0ZSkge1xuICAgIGNvbnN0IGlzU2VsZWN0ZWREYXRlID0gZGF0ZS5nZXREYXRlKCkgPT09IHNlbGVjdGVkRGF0ZT8uZ2V0RGF0ZSgpXG4gICAgY29uc3QgaXNTZWxlY3RlZFllYXIgPSBkYXRlLmdldEZ1bGxZZWFyKCkgPT09IHNlbGVjdGVkRGF0ZT8uZ2V0RnVsbFllYXIoKVxuICAgIGNvbnN0IGlzU2VsZWN0ZWRNb250aCA9IGRhdGUuZ2V0TW9udGgoKSA9PT0gc2VsZWN0ZWREYXRlPy5nZXRNb250aCgpXG4gICAgcmV0dXJuIGlzU2VsZWN0ZWREYXRlICYmIGlzU2VsZWN0ZWRNb250aCAmJiBpc1NlbGVjdGVkWWVhciAmJiAhdGhpcy5pc0RhdGVOdWxsXG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLmFsaXZlID0gZmFsc2U7XG4gIH1cblxuICBzZWxlY3RQaWNrZXIoZW50aXR5OiBcImRheVwiIHwgXCJtb250aFwiIHwgXCJ5ZWFyXCIpIHtcbiAgICB0aGlzLnNlbGVjdGVkUGlja2VyLm5leHQoZW50aXR5KVxuICB9XG5cbiAgc2VsZWN0TW9udGgobW9udGg6IG51bWJlcikge1xuICAgIHRoaXMuY3VycmVudE1vbnRoLm5leHQobW9udGgpXG4gICAgdGhpcy5zZWxlY3RQaWNrZXIoXCJkYXlcIilcbiAgfVxuXG4gIHNlbGVjdFllYXIoeWVhcjogbnVtYmVyKSB7XG4gICAgdGhpcy5zZXRZZWFyKHllYXIpXG4gICAgdGhpcy5zZWxlY3RQaWNrZXIoXCJkYXlcIilcbiAgfVxuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICB0aGlzLmNoYW5nZUNhbGVuZGFyRGF0YSh0aGlzLnNlbGVjdGVkRGF0ZSlcbiAgfVxuXG4gIGNoYW5nZUNhbGVuZGFyRGF0YShzZWxlY3RlZERhdGU6IERhdGUgfCBudW1iZXIgfCBzdHJpbmcpIHtcbiAgICBsZXQgZGF0ZSA9IG5ldyBEYXRlKHNlbGVjdGVkRGF0ZSB8fCBuZXcgRGF0ZSgpKTtcbiAgICB0aGlzLmN1cnJlbnRNb250aC5uZXh0KG5ldyBEYXRlKGRhdGUpLmdldE1vbnRoKCkpXG4gICAgdGhpcy5jdXJyZW50WWVhci5uZXh0KG5ldyBEYXRlKGRhdGUpLmdldEZ1bGxZZWFyKCkpXG4gICAgdGhpcy5taW5NYXgubmV4dCh7bWluOiB0aGlzLm1pbiwgbWF4OiB0aGlzLm1heH0pXG4gIH1cblxuICBzZXRZZWFyKHllYXI6IG51bWJlcikge1xuICAgIHRoaXMuY3VycmVudFllYXIubmV4dCh5ZWFyKVxuICB9XG5cbiAgY2hhbmdlTW9udGgobW9udGg6IG51bWJlciwgeWVhcjogbnVtYmVyKSB7XG4gICAgY29uc3Qge2F2YWlsYWJsZVllYXIsIGF2YWlsYWJsZU1vbnRofSA9IHRoaXMuZ2V0QXZhaWxhYmxlTW9udGhZZWFyKG1vbnRoLCB5ZWFyKVxuICAgIHRoaXMuY3VycmVudE1vbnRoLm5leHQoYXZhaWxhYmxlTW9udGgpXG4gICAgdGhpcy5jdXJyZW50WWVhci5uZXh0KGF2YWlsYWJsZVllYXIpXG4gIH1cblxuICBnZXRBdmFpbGFibGVNb250aFllYXIobW9udGg6IG51bWJlciwgeWVhcjogbnVtYmVyKSB7XG4gICAgaWYgKG1vbnRoID4gMTEpIHtcbiAgICAgIHJldHVybiB7YXZhaWxhYmxlTW9udGg6IG1vbnRoIC0gMTIsIGF2YWlsYWJsZVllYXI6IHllYXIgKyAxfVxuICAgIH1cbiAgICBpZiAobW9udGggPCAwKSB7XG4gICAgICByZXR1cm4ge2F2YWlsYWJsZU1vbnRoOiAxMiArIG1vbnRoLCBhdmFpbGFibGVZZWFyOiB5ZWFyIC0gMX1cbiAgICB9XG4gICAgcmV0dXJuIHthdmFpbGFibGVNb250aDogbW9udGgsIGF2YWlsYWJsZVllYXI6IHllYXJ9XG4gIH1cblxuICBnZXRNb3RoTmFtZShtb250aDogbnVtYmVyKSB7XG4gICAgcmV0dXJuIHRoaXMubG9jYWxlTW9udGhzLmdldCh0aGlzLmxvY2FsZSlbbW9udGhdXG4gIH1cblxuICBzZWxlY3REYXRlKGRhdGU6IERhdGUpIHtcbiAgICB0aGlzLnNldERhdGUuZW1pdChkYXRlKTtcbiAgfVxuXG59XG4iXX0=
@@ -1,102 +0,0 @@
1
- import dayjs from "dayjs";
2
- export class BasePicker {
3
- constructor(_elementRef, _cdr, datePipe) {
4
- this._elementRef = _elementRef;
5
- this._cdr = _cdr;
6
- this.datePipe = datePipe;
7
- this.open = false;
8
- this.placeholder = '';
9
- this.inputText = this.checkNull();
10
- this.openPicker = (show) => {
11
- if (this.disabled) {
12
- return;
13
- }
14
- this.open = show;
15
- this._cdr.markForCheck();
16
- };
17
- }
18
- changeInput(v) {
19
- this.changePlaceholder(v);
20
- }
21
- changePlaceholder(value) {
22
- let val = this.mask.split('');
23
- for (let i = 0; value.length > i; i++) {
24
- val.splice(i, 1, value[i]);
25
- }
26
- this.placeholder = val.join('');
27
- this._cdr.detectChanges();
28
- }
29
- openChange(e) {
30
- this.onBlur();
31
- this.open = e;
32
- }
33
- checkNull() {
34
- if (!this.date && this.allowNull) {
35
- return null;
36
- }
37
- return this.datePipe.transform(new Date(), 'dd.MM.yyyy, HH:mm');
38
- }
39
- changeSelectedDate(date, selectedDate) {
40
- this.setDate(date);
41
- this.emitValue(date);
42
- this.open = false;
43
- }
44
- emitValue(value) {
45
- this.date = value;
46
- this.selectDate.emit(value);
47
- this.onChange(value);
48
- }
49
- checkEnter(e) {
50
- if (e.key === "Enter") {
51
- this.inputText = e.target.value;
52
- this.onBlur();
53
- }
54
- if (e.key === '-') {
55
- e.preventDefault();
56
- }
57
- this.open = true;
58
- }
59
- isAvailableLength(val, length) {
60
- if (val?.length) {
61
- return val.length === length;
62
- }
63
- return false;
64
- }
65
- getDateFromStr(str, separator = '.') {
66
- const date = str?.split(separator);
67
- const day = this.isAvailableLength((date?.[0]), 2) ? Number(date[0]) : null;
68
- const month = this.isAvailableLength((date?.[1]), 2) ? Number(date[1]) : null;
69
- const year = this.isAvailableLength((date?.[2]), 4) ? Number(date[2]) : null;
70
- return { day, month, year };
71
- }
72
- getTimeFromStr(str, separator = ':') {
73
- const time = str?.trim().split(separator);
74
- const hours = this.isAvailableLength((time?.[0]), 2) ? Number(time[0]) : null;
75
- const mins = this.isAvailableLength((time?.[1]), 2) ? Number(time[1]) : null;
76
- return { hours, mins };
77
- }
78
- focus() {
79
- this._elementRef.nativeElement.focus();
80
- }
81
- getLocaleString(date) {
82
- return new Date(date).toLocaleString([], {
83
- year: 'numeric',
84
- month: '2-digit',
85
- day: '2-digit',
86
- hour: this.showTime ? '2-digit' : undefined,
87
- minute: this.showTime ? '2-digit' : undefined,
88
- });
89
- }
90
- getAvailableDate(min, max, date) {
91
- let minDate = dayjs(new Date(min)).startOf("day").toDate();
92
- let maxDate = dayjs(new Date(max)).endOf("day").toDate();
93
- if (min && minDate.getTime() >= new Date(date).getTime()) {
94
- return new Date();
95
- }
96
- if (max && maxDate.getTime() <= new Date(date).getTime()) {
97
- return maxDate;
98
- }
99
- return new Date(date);
100
- }
101
- }
102
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1waWNrZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50L2RhdGUtcGlja2VyL2Jhc2UtcGlja2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxNQUFNLE9BQU8sQ0FBQztBQVUxQixNQUFNLE9BQWdCLFVBQVU7SUF1QjlCLFlBQWdDLFdBQXVCLEVBQVcsSUFBc0IsRUFBVyxRQUFrQjtRQUFyRixnQkFBVyxHQUFYLFdBQVcsQ0FBWTtRQUFXLFNBQUksR0FBSixJQUFJLENBQWtCO1FBQVcsYUFBUSxHQUFSLFFBQVEsQ0FBVTtRQU45RyxTQUFJLEdBQUcsS0FBSyxDQUFDO1FBRWIsZ0JBQVcsR0FBRyxFQUFFLENBQUE7UUFDaEIsY0FBUyxHQUFHLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQXVDcEMsZUFBVSxHQUFHLENBQUMsSUFBYSxFQUFFLEVBQUU7WUFDN0IsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFO2dCQUNqQixPQUFPO2FBQ1I7WUFDRCxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztZQUNqQixJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQzNCLENBQUMsQ0FBQztJQXpDRixDQUFDO0lBVUQsV0FBVyxDQUFDLENBQUM7UUFDWCxJQUFJLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxDQUFDLENBQUE7SUFDM0IsQ0FBQztJQUNELGlCQUFpQixDQUFDLEtBQWE7UUFDN0IsSUFBSSxHQUFHLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDOUIsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsS0FBSyxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUU7WUFDckMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFDLENB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LEdBQTJCLEVBQUUsSUFBNEI7UUFDckcsSUFBSSxPQUFPLEdBQUcsS0FBSyxDQUFDLElBQUksSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFBO1FBQzFELElBQUksT0FBTyxHQUFHLEtBQUssQ0FBQyxJQUFJLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQTtRQUN4RCxJQUFJLEdBQUcsSUFBSSxPQUFPLENBQUMsT0FBTyxFQUFFLElBQUksSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUU7WUFDeEQsT0FBTyxJQUFJLElBQUksRUFBRSxDQUFBO1NBQ2xCO1FBQ0QsSUFBSSxHQUFHLElBQUksT0FBTyxDQUFDLE9BQU8sRUFBRSxJQUFJLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFO1lBQ3hELE9BQU8sT0FBTyxDQUFBO1NBQ2Y7UUFDRCxPQUFPLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFBO0lBQ3ZCLENBQUM7Q0FFRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBkYXlqcyBmcm9tIFwiZGF5anNcIjtcbmltcG9ydCB7Q2hhbmdlRGV0ZWN0b3JSZWYsIEVsZW1lbnRSZWYsIEV2ZW50RW1pdHRlcn0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7QWxpZ259IGZyb20gXCIuLi8uLi9jb21tb24vZW51bS9hbGlnbi5lbnVtXCI7XG5pbXBvcnQge1ZlcnRpY2FsQWxpZ259IGZyb20gXCIuLi8uLi9jb21tb24vZW51bS92ZXJ0aWNhbC1hbGlnbi5lbnVtXCI7XG5pbXBvcnQge1JlcGxheVN1YmplY3R9IGZyb20gXCJyeGpzXCI7XG5pbXBvcnQge01hc2tpdG9PcHRpb25zfSBmcm9tIFwiQG1hc2tpdG8vY29yZVwiO1xuaW1wb3J0IHsgdmlld1R5cGUgfSBmcm9tIFwiLi4vLi4vY29tbW9uL21vZGVsL3ZpZXctdHlwZS5tb2RlbFwiO1xuaW1wb3J0IHtEYXRlUGlwZX0gZnJvbSBcIkBhbmd1bGFyL2NvbW1vblwiO1xuaW1wb3J0IHtEYXRlRnJvbVRvTW9kZWx9IGZyb20gXCIuL21vZGVsL2Zyb20tdG8ubW9kZWxcIjtcblxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEJhc2VQaWNrZXIge1xuICBhYnN0cmFjdCBtYXNrOnN0cmluZztcbiAgYWJzdHJhY3QgZGF0ZTtcbiAgYWJzdHJhY3QgbG9jYWxlOiBzdHJpbmdcbiAgYWJzdHJhY3Qgc2hvd1RpbWU6IGJvb2xlYW5cbiAgYWJzdHJhY3QgbWluRGF0ZTogRGF0ZSB8IHN0cmluZyB8IG51bWJlclxuICBhYnN0cmFjdCBtYXhEYXRlOiBEYXRlIHwgc3RyaW5nIHwgbnVtYmVyXG4gIGFic3RyYWN0IGludmFsaWQ6IGJvb2xlYW5cbiAgYWJzdHJhY3QgZGlzYWJsZWQ6IGJvb2xlYW5cbiAgYWJzdHJhY3QgYWxpZ246IEFsaWduXG4gIGFic3RyYWN0IHZlcnRpY2FsQWxpZ246IFZlcnRpY2FsQWxpZ25cbiAgYWJzdHJhY3Qgdmlld1R5cGU6IHZpZXdUeXBlXG4gIGFic3RyYWN0IGFwcGVuZFRvQm9keTogYm9vbGVhbjtcbiAgYWJzdHJhY3QgYmFja2Ryb3A6IGJvb2xlYW47XG4gIGFic3RyYWN0IGFsbG93TnVsbDogYm9vbGVhblxuICBhYnN0cmFjdCBpbnB1dDogRWxlbWVudFJlZjtcbiAgYWJzdHJhY3Qgc2VsZWN0RGF0ZTogRXZlbnRFbWl0dGVyPERhdGV8RGF0ZUZyb21Ub01vZGVsPlxuICBwdWJsaWMgb3BlbiA9IGZhbHNlO1xuICBhYnN0cmFjdCBzZWxlY3RlZERhdGU6UmVwbGF5U3ViamVjdDxhbnk+O1xuICBwdWJsaWMgcGxhY2Vob2xkZXIgPSAnJ1xuICBwdWJsaWMgaW5wdXRUZXh0ID0gdGhpcy5jaGVja051bGwoKTtcbiAgcHVibGljIG1hc2tpdG9PcHRpb25zOiBNYXNraXRvT3B0aW9ucztcblxuICBwcm90ZWN0ZWQgY29uc3RydWN0b3IocHJvdGVjdGVkIF9lbGVtZW50UmVmOiBFbGVtZW50UmVmLHByb3RlY3RlZCBfY2RyOkNoYW5nZURldGVjdG9yUmVmLHByb3RlY3RlZCBkYXRlUGlwZTogRGF0ZVBpcGUpIHtcbiAgfVxuXG4gIGFic3RyYWN0IG9uQ2hhbmdlKGRhdGU6IERhdGUpO1xuXG4gIGFic3RyYWN0IHByZXBhcmVJbnB1dCgpO1xuXG4gIGFic3RyYWN0IG9uQmx1cigpO1xuXG4gIGFic3RyYWN0IHNldERhdGUoZGF0ZSk7XG5cbiAgY2hhbmdlSW5wdXQodikge1xuICAgIHRoaXMuY2hhbmdlUGxhY2Vob2xkZXIodilcbiAgfVxuICBjaGFuZ2VQbGFjZWhvbGRlcih2YWx1ZTogc3RyaW5nKSB7XG4gICAgbGV0IHZhbCA9IHRoaXMubWFzay5zcGxpdCgnJyk7XG4gICAgZm9yIChsZXQgaSA9IDA7IHZhbHVlLmxlbmd0aCA+IGk7IGkrKykge1xuICAgICAgdmFsLnNwbGljZShpLCAxLCB2YWx1ZVtpXSk7XG4gICAgfVxuXG4gICAgdGhpcy5wbGFjZWhvbGRlciA9IHZhbC5qb2luKCcnKTtcbiAgICB0aGlzLl9jZHIuZGV0ZWN0Q2hhbmdlcygpXG4gIH1cblxuICBvcGVuQ2hhbmdlKGU6Ym9vbGVhbikge1xuICAgIHRoaXMub25CbHVyKCk7XG4gICAgdGhpcy5vcGVuPWVcbiAgfVxuXG4gIGNoZWNrTnVsbCgpIHtcbiAgICBpZiAoIXRoaXMuZGF0ZSAmJiB0aGlzLmFsbG93TnVsbCkge1xuICAgICAgcmV0dXJuIG51bGxcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuZGF0ZVBpcGUudHJhbnNmb3JtKG5ldyBEYXRlKCksICdkZC5NTS55eXl5LCBISDptbScpXG4gIH1cblxuICBvcGVuUGlja2VyID0gKHNob3c6IGJvb2xlYW4pID0+IHtcbiAgICBpZiAodGhpcy5kaXNhYmxlZCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLm9wZW4gPSBzaG93O1xuICAgIHRoaXMuX2Nkci5tYXJrRm9yQ2hlY2soKTtcbiAgfTtcblxuICBjaGFuZ2VTZWxlY3RlZERhdGUoZGF0ZSxzZWxlY3RlZERhdGU/KSB7XG4gICAgdGhpcy5zZXREYXRlKGRhdGUpXG4gICAgdGhpcy5lbWl0VmFsdWUoZGF0ZSlcbiAgICB0aGlzLm9wZW4gPSBmYWxzZTtcbiAgfVxuXG4gIGVtaXRWYWx1ZSh2YWx1ZSkge1xuICAgIHRoaXMuZGF0ZSA9IHZhbHVlXG4gICAgdGhpcy5zZWxlY3REYXRlLmVtaXQodmFsdWUpXG4gICAgdGhpcy5vbkNoYW5nZSh2YWx1ZSlcbiAgfVxuXG5cblxuICBjaGVja0VudGVyKGUpIHtcbiAgICBpZiAoZS5rZXkgPT09IFwiRW50ZXJcIikge1xuICAgICAgdGhpcy5pbnB1dFRleHQ9ZS50YXJnZXQudmFsdWU7XG4gICAgICB0aGlzLm9uQmx1cigpXG4gICAgfVxuICAgIGlmKGUua2V5PT09Jy0nKXtcbiAgICAgIGUucHJldmVudERlZmF1bHQoKVxuICAgIH1cbiAgICB0aGlzLm9wZW4gPSB0cnVlO1xuICB9XG5cbiAgaXNBdmFpbGFibGVMZW5ndGgodmFsOiBzdHJpbmcsIGxlbmd0aDogbnVtYmVyKSB7XG4gICAgaWYgKHZhbD8ubGVuZ3RoKSB7XG4gICAgICByZXR1cm4gdmFsLmxlbmd0aCA9PT0gbGVuZ3RoXG4gICAgfVxuICAgIHJldHVybiBmYWxzZVxuICB9XG5cbiAgZ2V0RGF0ZUZyb21TdHIoc3RyOiBzdHJpbmcsIHNlcGFyYXRvcjogc3RyaW5nID0gJy4nKSB7XG4gICAgY29uc3QgZGF0ZSA9IHN0cj8uc3BsaXQoc2VwYXJhdG9yKVxuICAgIGNvbnN0IGRheSA9IHRoaXMuaXNBdmFpbGFibGVMZW5ndGgoKGRhdGU/LlswXSksIDIpID8gTnVtYmVyKGRhdGVbMF0pIDogbnVsbFxuICAgIGNvbnN0IG1vbnRoID0gdGhpcy5pc0F2YWlsYWJsZUxlbmd0aCgoZGF0ZT8uWzFdKSwgMikgPyBOdW1iZXIoZGF0ZVsxXSkgOiBudWxsXG4gICAgY29uc3QgeWVhciA9IHRoaXMuaXNBdmFpbGFibGVMZW5ndGgoKGRhdGU/LlsyXSksIDQpID8gTnVtYmVyKGRhdGVbMl0pIDogbnVsbFxuICAgIHJldHVybiB7ZGF5LCBtb250aCwgeWVhcn1cbiAgfVxuXG4gIGdldFRpbWVGcm9tU3RyKHN0cjogc3RyaW5nLCBzZXBhcmF0b3I6IHN0cmluZyA9ICc6Jykge1xuICAgIGNvbnN0IHRpbWUgPSBzdHI/LnRyaW0oKS5zcGxpdChzZXBhcmF0b3IpXG4gICAgY29uc3QgaG91cnMgPSB0aGlzLmlzQXZhaWxhYmxlTGVuZ3RoKCh0aW1lPy5bMF0pLCAyKSA/IE51bWJlcih0aW1lWzBdKSA6IG51bGxcbiAgICBjb25zdCBtaW5zID0gdGhpcy5pc0F2YWlsYWJsZUxlbmd0aCgodGltZT8uWzFdKSwgMikgPyBOdW1iZXIodGltZVsxXSkgOiBudWxsXG4gICAgcmV0dXJuIHtob3VycywgbWluc31cbiAgfVxuXG4gIGZvY3VzKCkge1xuICAgIHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5mb2N1cygpO1xuICB9XG5cbiAgZ2V0TG9jYWxlU3RyaW5nKGRhdGU6IERhdGUgfCBudW1iZXIgfCBzdHJpbmcpIHtcbiAgICByZXR1cm4gbmV3IERhdGUoZGF0ZSkudG9Mb2NhbGVTdHJpbmcoW10sIHtcbiAgICAgIHllYXI6ICdudW1lcmljJyxcbiAgICAgIG1vbnRoOiAnMi1kaWdpdCcsXG4gICAgICBkYXk6ICcyLWRpZ2l0JyxcbiAgICAgIGhvdXI6IHRoaXMuc2hvd1RpbWUgPyAnMi1kaWdpdCcgOiB1bmRlZmluZWQsXG4gICAgICBtaW51dGU6IHRoaXMuc2hvd1RpbWUgPyAnMi1kaWdpdCcgOiB1bmRlZmluZWQsXG4gICAgfSlcbiAgfVxuXG4gIGdldEF2YWlsYWJsZURhdGUobWluOiBEYXRlIHwgbnVtYmVyIHwgc3RyaW5nLCBtYXg6IERhdGUgfCBudW1iZXIgfCBzdHJpbmcsIGRhdGU6IERhdGUgfCBudW1iZXIgfCBzdHJpbmcpIHtcbiAgICBsZXQgbWluRGF0ZSA9IGRheWpzKG5ldyBEYXRlKG1pbikpLnN0YXJ0T2YoXCJkYXlcIikudG9EYXRlKClcbiAgICBsZXQgbWF4RGF0ZSA9IGRheWpzKG5ldyBEYXRlKG1heCkpLmVuZE9mKFwiZGF5XCIpLnRvRGF0ZSgpXG4gICAgaWYgKG1pbiAmJiBtaW5EYXRlLmdldFRpbWUoKSA+PSBuZXcgRGF0ZShkYXRlKS5nZXRUaW1lKCkpIHtcbiAgICAgIHJldHVybiBuZXcgRGF0ZSgpXG4gICAgfVxuICAgIGlmIChtYXggJiYgbWF4RGF0ZS5nZXRUaW1lKCkgPD0gbmV3IERhdGUoZGF0ZSkuZ2V0VGltZSgpKSB7XG4gICAgICByZXR1cm4gbWF4RGF0ZVxuICAgIH1cbiAgICByZXR1cm4gbmV3IERhdGUoZGF0ZSlcbiAgfVxuXG59XG4iXX0=
@@ -1,49 +0,0 @@
1
- import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output, } from '@angular/core';
2
- import { BaseCalendar } from "../../base-calendar";
3
- import dayjs from "dayjs";
4
- import { combineLatest, filter, map, takeWhile } from "rxjs";
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 DateCalendarComponent extends BaseCalendar {
13
- constructor(_cdr) {
14
- super(_cdr);
15
- this._cdr = _cdr;
16
- this.selectedDate = new Date();
17
- this.setDate = new EventEmitter();
18
- this.calendar = [];
19
- dayjs().locale('ru', { weekStart: 1 });
20
- combineLatest([this.currentYear, this.currentMonth, this.minMax]).pipe(takeWhile(() => this.alive), filter(([currentYear, currentMonth]) => currentMonth !== null && currentYear !== null), map(([year, month, minMax]) => {
21
- return this.generateCalendar(dayjs(new Date(this.selectedDate)).locale(this.locale), year, month, minMax);
22
- })).subscribe((_) => {
23
- this.calendar = _;
24
- });
25
- }
26
- }
27
- DateCalendarComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: DateCalendarComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
28
- DateCalendarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.2", type: DateCalendarComponent, selector: "teta-date-calendar", inputs: { selectedDate: "selectedDate", locale: "locale", open: "open", viewType: "viewType", min: "min", isDateNull: "isDateNull", max: "max" }, outputs: { setDate: "setDate" }, usesInheritance: true, ngImport: i0, template: "<div *ngIf=\"{currentMonth:currentMonth|async,currentYear:currentYear|async,selectedPicker:selectedPicker|async} as data\"\n class=\"datepicker-content overflow-y-auto\"\n>\n <ng-container *ngIf=\"data.selectedPicker==='day'\">\n <div class=\"padding-h-3 padding-v-2\">\n <div class=\"row align-center justify-content-between\">\n <teta-button [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 \">\n <button [class]=\"'datepicker_'+viewType \" teta-button view=\"ghost\" palette=\"text\"\n (click)=\"selectPicker('month')\"> {{getMothName(data.currentMonth)}}</button>\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_'+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 [viewType]=\"viewType\" (selectDate)=\"selectDate($event)\" [locale]=\"locale\"\n [calendar]=\"calendar\"></teta-day-picker>\n </div>\n </div>\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 [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.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 });
29
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: DateCalendarComponent, decorators: [{
30
- type: Component,
31
- args: [{ selector: 'teta-date-calendar', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div *ngIf=\"{currentMonth:currentMonth|async,currentYear:currentYear|async,selectedPicker:selectedPicker|async} as data\"\n class=\"datepicker-content overflow-y-auto\"\n>\n <ng-container *ngIf=\"data.selectedPicker==='day'\">\n <div class=\"padding-h-3 padding-v-2\">\n <div class=\"row align-center justify-content-between\">\n <teta-button [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 \">\n <button [class]=\"'datepicker_'+viewType \" teta-button view=\"ghost\" palette=\"text\"\n (click)=\"selectPicker('month')\"> {{getMothName(data.currentMonth)}}</button>\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_'+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 [viewType]=\"viewType\" (selectDate)=\"selectDate($event)\" [locale]=\"locale\"\n [calendar]=\"calendar\"></teta-day-picker>\n </div>\n </div>\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 [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"] }]
32
- }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { selectedDate: [{
33
- type: Input
34
- }], locale: [{
35
- type: Input
36
- }], open: [{
37
- type: Input
38
- }], viewType: [{
39
- type: Input
40
- }], min: [{
41
- type: Input
42
- }], isDateNull: [{
43
- type: Input
44
- }], max: [{
45
- type: Input
46
- }], setDate: [{
47
- type: Output
48
- }] } });
49
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1jYWxlbmRhci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50L2RhdGUtcGlja2VyL2RhdGUtcGlja2VyL2RhdGUtY2FsZW5kYXIvZGF0ZS1jYWxlbmRhci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50L2RhdGUtcGlja2VyL2RhdGUtcGlja2VyL2RhdGUtY2FsZW5kYXIvZGF0ZS1jYWxlbmRhci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBRXZCLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUdMLE1BQU0sR0FDUCxNQUFNLGVBQWUsQ0FBQztBQUd2QixPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFFakQsT0FBTyxLQUFLLE1BQU0sT0FBTyxDQUFDO0FBQzFCLE9BQU8sRUFBQyxhQUFhLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUMsTUFBTSxNQUFNLENBQUM7Ozs7Ozs7O0FBUzNELE1BQU0sT0FBTyxxQkFBc0IsU0FBUSxZQUFZO0lBVXJELFlBQXFCLElBQXVCO1FBQzFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQTtRQURRLFNBQUksR0FBSixJQUFJLENBQW1CO1FBVG5DLGlCQUFZLEdBQTJCLElBQUksSUFBSSxFQUFFLENBQUM7UUFPakQsWUFBTyxHQUF1QixJQUFJLFlBQVksRUFBUSxDQUFDO1FBQzFELGFBQVEsR0FBZSxFQUFFLENBQUE7UUFHOUIsS0FBSyxFQUFFLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxFQUFDLFNBQVMsRUFBRSxDQUFDLEVBQUMsQ0FBQyxDQUFDO1FBQ3JDLGFBQWEsQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsSUFBSSxDQUFDLFlBQVksRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQ3BFLFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQzNCLE1BQU0sQ0FBQyxDQUFDLENBQUMsV0FBVyxFQUFFLFlBQVksQ0FBQyxFQUFFLEVBQUUsQ0FBQyxZQUFZLEtBQUssSUFBSSxJQUFJLFdBQVcsS0FBSyxJQUFJLENBQUMsRUFDdEYsR0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsS0FBSyxFQUFFLE1BQU0sQ0FBQyxFQUFFLEVBQUU7WUFDNUIsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxDQUFDLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxNQUFNLENBQUMsQ0FBQTtRQUMzRyxDQUFDLENBQUMsQ0FDSCxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO1lBQ2hCLElBQUksQ0FBQyxRQUFRLEdBQUcsQ0FBQyxDQUFDO1FBQ3BCLENBQUMsQ0FBQyxDQUFBO0lBQ0osQ0FBQzs7a0hBdEJVLHFCQUFxQjtzR0FBckIscUJBQXFCLG9RQ3hCbEMsK3pFQTBDQTsyRkRsQmEscUJBQXFCO2tCQU5qQyxTQUFTOytCQUNFLG9CQUFvQixtQkFHYix1QkFBdUIsQ0FBQyxNQUFNO3dHQUd0QyxZQUFZO3NCQUFwQixLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxHQUFHO3NCQUFYLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxHQUFHO3NCQUFYLEtBQUs7Z0JBQ0ksT0FBTztzQkFBaEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPbkNoYW5nZXMsXG4gIE9uRGVzdHJveSxcbiAgT3V0cHV0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7dmlld1R5cGV9IGZyb20gXCIuLi8uLi8uLi8uLi9jb21tb24vbW9kZWwvdmlldy10eXBlLm1vZGVsXCI7XG5cbmltcG9ydCB7QmFzZUNhbGVuZGFyfSBmcm9tIFwiLi4vLi4vYmFzZS1jYWxlbmRhclwiO1xuaW1wb3J0IHtEYXlNb2RlbH0gZnJvbSBcIi4uLy4uL21vZGVsL2RheS1tb2RlbFwiO1xuaW1wb3J0IGRheWpzIGZyb20gXCJkYXlqc1wiO1xuaW1wb3J0IHtjb21iaW5lTGF0ZXN0LCBmaWx0ZXIsIG1hcCwgdGFrZVdoaWxlfSBmcm9tIFwicnhqc1wiO1xuXG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3RldGEtZGF0ZS1jYWxlbmRhcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9kYXRlLWNhbGVuZGFyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZGF0ZS1jYWxlbmRhci5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBEYXRlQ2FsZW5kYXJDb21wb25lbnQgZXh0ZW5kcyBCYXNlQ2FsZW5kYXIgaW1wbGVtZW50cyBPbkNoYW5nZXMsIE9uRGVzdHJveXtcbiAgQElucHV0KCkgc2VsZWN0ZWREYXRlOiBEYXRlIHwgc3RyaW5nIHwgbnVtYmVyID0gbmV3IERhdGUoKTtcbiAgQElucHV0KCkgbG9jYWxlOiBzdHJpbmc7XG4gIEBJbnB1dCgpIG9wZW46IGJvb2xlYW47XG4gIEBJbnB1dCgpIHZpZXdUeXBlOiB2aWV3VHlwZTtcbiAgQElucHV0KCkgbWluOiBEYXRlIHwgc3RyaW5nIHwgbnVtYmVyO1xuICBASW5wdXQoKSBpc0RhdGVOdWxsOiBib29sZWFuO1xuICBASW5wdXQoKSBtYXg6IERhdGUgfCBzdHJpbmcgfCBudW1iZXI7XG4gIEBPdXRwdXQoKSBzZXREYXRlOiBFdmVudEVtaXR0ZXI8RGF0ZT4gPSBuZXcgRXZlbnRFbWl0dGVyPERhdGU+KCk7XG4gIHB1YmxpYyBjYWxlbmRhcjogRGF5TW9kZWxbXSA9IFtdXG4gIGNvbnN0cnVjdG9yKG92ZXJyaWRlIF9jZHI6IENoYW5nZURldGVjdG9yUmVmKSB7XG4gICAgc3VwZXIoX2NkcilcbiAgICBkYXlqcygpLmxvY2FsZSgncnUnLCB7d2Vla1N0YXJ0OiAxfSk7XG4gICAgY29tYmluZUxhdGVzdChbdGhpcy5jdXJyZW50WWVhciwgdGhpcy5jdXJyZW50TW9udGgsIHRoaXMubWluTWF4XSkucGlwZShcbiAgICAgIHRha2VXaGlsZSgoKSA9PiB0aGlzLmFsaXZlKSxcbiAgICAgIGZpbHRlcigoW2N1cnJlbnRZZWFyLCBjdXJyZW50TW9udGhdKSA9PiBjdXJyZW50TW9udGggIT09IG51bGwgJiYgY3VycmVudFllYXIgIT09IG51bGwpLFxuICAgICAgbWFwKChbeWVhciwgbW9udGgsIG1pbk1heF0pID0+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2VuZXJhdGVDYWxlbmRhcihkYXlqcyhuZXcgRGF0ZSh0aGlzLnNlbGVjdGVkRGF0ZSkpLmxvY2FsZSh0aGlzLmxvY2FsZSksIHllYXIsIG1vbnRoLCBtaW5NYXgpXG4gICAgICB9KVxuICAgICkuc3Vic2NyaWJlKChfKSA9PiB7XG4gICAgICB0aGlzLmNhbGVuZGFyID0gXztcbiAgICB9KVxuICB9XG59XG4iLCI8ZGl2ICpuZ0lmPVwie2N1cnJlbnRNb250aDpjdXJyZW50TW9udGh8YXN5bmMsY3VycmVudFllYXI6Y3VycmVudFllYXJ8YXN5bmMsc2VsZWN0ZWRQaWNrZXI6c2VsZWN0ZWRQaWNrZXJ8YXN5bmN9IGFzIGRhdGFcIlxuICAgICBjbGFzcz1cImRhdGVwaWNrZXItY29udGVudCBvdmVyZmxvdy15LWF1dG9cIlxuPlxuICA8bmctY29udGFpbmVyICpuZ0lmPVwiZGF0YS5zZWxlY3RlZFBpY2tlcj09PSdkYXknXCI+XG4gICAgPGRpdiBjbGFzcz1cInBhZGRpbmctaC0zIHBhZGRpbmctdi0yXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwicm93IGFsaWduLWNlbnRlciBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlblwiPlxuICAgICAgICA8dGV0YS1idXR0b24gW2NsYXNzXT1cIidjaGFuZ2UtbW9udGgtYnV0dG9uIGRhdGVwaWNrZXJfJyt2aWV3VHlwZVwiIFtzcXVhcmVdPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiY2hhbmdlTW9udGgoZGF0YS5jdXJyZW50TW9udGgtMSxkYXRhLmN1cnJlbnRZZWFyKVwiXG4gICAgICAgICAgICAgICAgICAgICBwYWxldHRlPVwidGV4dFwiXG4gICAgICAgICAgICAgICAgICAgICB2aWV3PVwiZ2hvc3RcIj5cbiAgICAgICAgICA8dGV0YS1pY29uIG5hbWU9XCJhcnJvd0xlZnRLZXlcIj48L3RldGEtaWNvbj5cbiAgICAgICAgPC90ZXRhLWJ1dHRvbj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInJvdyBnYXAtNCBmb250LWJ1dHRvbi0yIFwiPlxuICAgICAgICAgIDxidXR0b24gW2NsYXNzXT1cIidkYXRlcGlja2VyXycrdmlld1R5cGUgXCIgdGV0YS1idXR0b24gdmlldz1cImdob3N0XCIgcGFsZXR0ZT1cInRleHRcIlxuICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cInNlbGVjdFBpY2tlcignbW9udGgnKVwiPiB7e2dldE1vdGhOYW1lKGRhdGEuY3VycmVudE1vbnRoKX19PC9idXR0b24+XG4gICAgICAgICAgPGJ1dHRvbiBbY2xhc3NdPVwiJ2RhdGVwaWNrZXJfJyt2aWV3VHlwZVwiIHRldGEtYnV0dG9uIHZpZXc9XCJnaG9zdFwiIHBhbGV0dGU9XCJ0ZXh0XCJcbiAgICAgICAgICAgICAgICAgIChjbGljayk9XCJzZWxlY3RQaWNrZXIoJ3llYXInKVwiPnt7ZGF0YS5jdXJyZW50WWVhcn19PC9idXR0b24+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8dGV0YS1idXR0b24gW3NxdWFyZV09XCJ0cnVlXCIgW2NsYXNzXT1cIidjaGFuZ2UtbW9udGgtYnV0dG9uIGRhdGVwaWNrZXJfJyt2aWV3VHlwZVwiXG4gICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiY2hhbmdlTW9udGgoZGF0YS5jdXJyZW50TW9udGgrMSxkYXRhLmN1cnJlbnRZZWFyKVwiXG4gICAgICAgICAgICAgICAgICAgICBwYWxldHRlPVwidGV4dFwiXG4gICAgICAgICAgICAgICAgICAgICB2aWV3PVwiZ2hvc3RcIj5cbiAgICAgICAgICA8dGV0YS1pY29uIG5hbWU9XCJhcnJvd1JpZ2h0S2V5XCI+PC90ZXRhLWljb24+XG4gICAgICAgIDwvdGV0YS1idXR0b24+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXY+XG4gICAgICAgIDx0ZXRhLWRheS1waWNrZXIgW3ZpZXdUeXBlXT1cInZpZXdUeXBlXCIgKHNlbGVjdERhdGUpPVwic2VsZWN0RGF0ZSgkZXZlbnQpXCIgW2xvY2FsZV09XCJsb2NhbGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgIFtjYWxlbmRhcl09XCJjYWxlbmRhclwiPjwvdGV0YS1kYXktcGlja2VyPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvbmctY29udGFpbmVyPlxuICA8bmctY29udGFpbmVyICpuZ0lmPVwiZGF0YS5zZWxlY3RlZFBpY2tlcj09PSdtb250aCdcIj5cbiAgICA8dGV0YS1tb250aC1waWNrZXIgW2xvY2FsZU1vdGhzXT1cImxvY2FsZU1vbnRoc1wiIFtjdXJyZW50WWVhcl09XCJkYXRhLmN1cnJlbnRZZWFyXCIgKGNoYW5nZVllYXIpPVwic2V0WWVhcigkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgW3NlbGVjdGVkTW9udGhdPVwiZGF0YS5jdXJyZW50TW9udGhcIiBbdmlld1R5cGVdPVwidmlld1R5cGVcIiBbbG9jYWxlXT1cImxvY2FsZVwiXG4gICAgICAgICAgICAgICAgICAgICAgIChzZWxlY3RNb250aCk9XCJzZWxlY3RNb250aCgkZXZlbnQpXCI+PC90ZXRhLW1vbnRoLXBpY2tlcj5cbiAgPC9uZy1jb250YWluZXI+XG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCJkYXRhLnNlbGVjdGVkUGlja2VyPT09J3llYXInXCI+XG4gICAgPHRldGEteWVhci1waWNrZXIgW2xvY2FsZV09XCJsb2NhbGVcIiBbdmlld1R5cGVdPVwidmlld1R5cGVcIiAoc2VsZWN0WWVhcik9XCJzZWxlY3RZZWFyKCRldmVudClcIlxuICAgICAgICAgICAgICAgICAgICAgIFtzZWxlY3RlZFllYXJdPVwiZGF0YS5jdXJyZW50WWVhclwiPjwvdGV0YS15ZWFyLXBpY2tlcj5cbiAgPC9uZy1jb250YWluZXI+XG48L2Rpdj5cblxuIl19