cmat 0.0.87 → 0.0.88

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 (228) hide show
  1. package/fesm2022/cmat-components-adapter.mjs +9 -9
  2. package/fesm2022/cmat-components-adapter.mjs.map +1 -1
  3. package/fesm2022/cmat-components-breadcrumb.mjs +98 -80
  4. package/fesm2022/cmat-components-breadcrumb.mjs.map +1 -1
  5. package/fesm2022/cmat-components-card.mjs +26 -34
  6. package/fesm2022/cmat-components-card.mjs.map +1 -1
  7. package/fesm2022/cmat-components-carousel.mjs +467 -556
  8. package/fesm2022/cmat-components-carousel.mjs.map +1 -1
  9. package/fesm2022/cmat-components-cascade.mjs +270 -259
  10. package/fesm2022/cmat-components-cascade.mjs.map +1 -1
  11. package/fesm2022/cmat-components-chip-input.mjs +200 -116
  12. package/fesm2022/cmat-components-chip-input.mjs.map +1 -1
  13. package/fesm2022/cmat-components-code-editor.mjs +85 -38
  14. package/fesm2022/cmat-components-code-editor.mjs.map +1 -1
  15. package/fesm2022/cmat-components-color-picker.mjs +841 -0
  16. package/fesm2022/cmat-components-color-picker.mjs.map +1 -0
  17. package/fesm2022/cmat-components-custom-formly.mjs +1395 -838
  18. package/fesm2022/cmat-components-custom-formly.mjs.map +1 -1
  19. package/fesm2022/cmat-components-data-picker.mjs +996 -0
  20. package/fesm2022/cmat-components-data-picker.mjs.map +1 -0
  21. package/fesm2022/cmat-components-date-range.mjs +310 -264
  22. package/fesm2022/cmat-components-date-range.mjs.map +1 -1
  23. package/fesm2022/cmat-components-date-time-display.mjs +16 -20
  24. package/fesm2022/cmat-components-date-time-display.mjs.map +1 -1
  25. package/fesm2022/cmat-components-drawer.mjs +120 -137
  26. package/fesm2022/cmat-components-drawer.mjs.map +1 -1
  27. package/fesm2022/cmat-components-empty-state.mjs +17 -24
  28. package/fesm2022/cmat-components-empty-state.mjs.map +1 -1
  29. package/fesm2022/cmat-components-file-preview.mjs +18 -24
  30. package/fesm2022/cmat-components-file-preview.mjs.map +1 -1
  31. package/fesm2022/cmat-components-filter-toolbar.mjs +30 -39
  32. package/fesm2022/cmat-components-filter-toolbar.mjs.map +1 -1
  33. package/fesm2022/cmat-components-form-actions.mjs +12 -12
  34. package/fesm2022/cmat-components-form-actions.mjs.map +1 -1
  35. package/fesm2022/cmat-components-fullscreen.mjs +10 -10
  36. package/fesm2022/cmat-components-fullscreen.mjs.map +1 -1
  37. package/fesm2022/cmat-components-highlight.mjs +48 -41
  38. package/fesm2022/cmat-components-highlight.mjs.map +1 -1
  39. package/fesm2022/cmat-components-image-viewer.mjs +104 -107
  40. package/fesm2022/cmat-components-image-viewer.mjs.map +1 -1
  41. package/fesm2022/cmat-components-inline-loading.mjs +12 -15
  42. package/fesm2022/cmat-components-inline-loading.mjs.map +1 -1
  43. package/fesm2022/cmat-components-json-editor.mjs +118 -75
  44. package/fesm2022/cmat-components-json-editor.mjs.map +1 -1
  45. package/fesm2022/cmat-components-knob-input.mjs +196 -178
  46. package/fesm2022/cmat-components-knob-input.mjs.map +1 -1
  47. package/fesm2022/cmat-components-masonry.mjs +26 -41
  48. package/fesm2022/cmat-components-masonry.mjs.map +1 -1
  49. package/fesm2022/cmat-components-material-color-picker.mjs +81 -80
  50. package/fesm2022/cmat-components-material-color-picker.mjs.map +1 -1
  51. package/fesm2022/cmat-components-material-datetimepicker.mjs +1212 -1287
  52. package/fesm2022/cmat-components-material-datetimepicker.mjs.map +1 -1
  53. package/fesm2022/cmat-components-navigation.mjs +467 -450
  54. package/fesm2022/cmat-components-navigation.mjs.map +1 -1
  55. package/fesm2022/cmat-components-opt-input.mjs +143 -132
  56. package/fesm2022/cmat-components-opt-input.mjs.map +1 -1
  57. package/fesm2022/cmat-components-org-chart.mjs +68 -83
  58. package/fesm2022/cmat-components-org-chart.mjs.map +1 -1
  59. package/fesm2022/cmat-components-page-header.mjs +18 -24
  60. package/fesm2022/cmat-components-page-header.mjs.map +1 -1
  61. package/fesm2022/cmat-components-pagination.mjs +220 -136
  62. package/fesm2022/cmat-components-pagination.mjs.map +1 -1
  63. package/fesm2022/cmat-components-password-strength.mjs +262 -215
  64. package/fesm2022/cmat-components-password-strength.mjs.map +1 -1
  65. package/fesm2022/cmat-components-popover.mjs +227 -195
  66. package/fesm2022/cmat-components-popover.mjs.map +1 -1
  67. package/fesm2022/cmat-components-progress-bar.mjs +15 -34
  68. package/fesm2022/cmat-components-progress-bar.mjs.map +1 -1
  69. package/fesm2022/cmat-components-qrcode.mjs +95 -88
  70. package/fesm2022/cmat-components-qrcode.mjs.map +1 -1
  71. package/fesm2022/cmat-components-rating.mjs +70 -67
  72. package/fesm2022/cmat-components-rating.mjs.map +1 -1
  73. package/fesm2022/cmat-components-rich-text-editor.mjs +23 -26
  74. package/fesm2022/cmat-components-rich-text-editor.mjs.map +1 -1
  75. package/fesm2022/cmat-components-select-search.mjs +190 -159
  76. package/fesm2022/cmat-components-select-search.mjs.map +1 -1
  77. package/fesm2022/cmat-components-select-table.mjs +276 -213
  78. package/fesm2022/cmat-components-select-table.mjs.map +1 -1
  79. package/fesm2022/cmat-components-select-tree.mjs +178 -128
  80. package/fesm2022/cmat-components-select-tree.mjs.map +1 -1
  81. package/fesm2022/cmat-components-skeleton.mjs +44 -28
  82. package/fesm2022/cmat-components-skeleton.mjs.map +1 -1
  83. package/fesm2022/cmat-components-speed-dial.mjs +107 -163
  84. package/fesm2022/cmat-components-speed-dial.mjs.map +1 -1
  85. package/fesm2022/cmat-components-status-tag.mjs +29 -36
  86. package/fesm2022/cmat-components-status-tag.mjs.map +1 -1
  87. package/fesm2022/cmat-components-table-toolbar.mjs +14 -18
  88. package/fesm2022/cmat-components-table-toolbar.mjs.map +1 -1
  89. package/fesm2022/cmat-components-timeline.mjs +111 -118
  90. package/fesm2022/cmat-components-timeline.mjs.map +1 -1
  91. package/fesm2022/cmat-components-toast.mjs +65 -66
  92. package/fesm2022/cmat-components-toast.mjs.map +1 -1
  93. package/fesm2022/cmat-components-transfer-picker.mjs +130 -160
  94. package/fesm2022/cmat-components-transfer-picker.mjs.map +1 -1
  95. package/fesm2022/cmat-components-treetable.mjs +32 -39
  96. package/fesm2022/cmat-components-treetable.mjs.map +1 -1
  97. package/fesm2022/cmat-components-upload.mjs +186 -176
  98. package/fesm2022/cmat-components-upload.mjs.map +1 -1
  99. package/fesm2022/cmat-directives-animate-on-scroll.mjs +25 -28
  100. package/fesm2022/cmat-directives-animate-on-scroll.mjs.map +1 -1
  101. package/fesm2022/cmat-directives-arrow-cursor.mjs +85 -92
  102. package/fesm2022/cmat-directives-arrow-cursor.mjs.map +1 -1
  103. package/fesm2022/cmat-directives-autofocus.mjs +3 -3
  104. package/fesm2022/cmat-directives-autofocus.mjs.map +1 -1
  105. package/fesm2022/cmat-directives-data-exporter.mjs +49 -50
  106. package/fesm2022/cmat-directives-data-exporter.mjs.map +1 -1
  107. package/fesm2022/cmat-directives-debounce.mjs +16 -19
  108. package/fesm2022/cmat-directives-debounce.mjs.map +1 -1
  109. package/fesm2022/cmat-directives-digit-only.mjs +60 -69
  110. package/fesm2022/cmat-directives-digit-only.mjs.map +1 -1
  111. package/fesm2022/cmat-directives-equal-validator.mjs +3 -3
  112. package/fesm2022/cmat-directives-equal-validator.mjs.map +1 -1
  113. package/fesm2022/cmat-directives-seamless-auto-scroll.mjs +31 -30
  114. package/fesm2022/cmat-directives-seamless-auto-scroll.mjs.map +1 -1
  115. package/fesm2022/cmat-lib-mock-api.mjs +6 -6
  116. package/fesm2022/cmat-lib-mock-api.mjs.map +1 -1
  117. package/fesm2022/cmat-pipes-bytes.mjs +3 -3
  118. package/fesm2022/cmat-pipes-bytes.mjs.map +1 -1
  119. package/fesm2022/cmat-pipes-date-format.mjs +3 -3
  120. package/fesm2022/cmat-pipes-date-format.mjs.map +1 -1
  121. package/fesm2022/cmat-pipes-find-by-key.mjs +3 -3
  122. package/fesm2022/cmat-pipes-find-by-key.mjs.map +1 -1
  123. package/fesm2022/cmat-pipes-group-by.mjs +3 -3
  124. package/fesm2022/cmat-pipes-group-by.mjs.map +1 -1
  125. package/fesm2022/cmat-pipes-keys.mjs +3 -3
  126. package/fesm2022/cmat-pipes-keys.mjs.map +1 -1
  127. package/fesm2022/cmat-pipes-secure.mjs +7 -13
  128. package/fesm2022/cmat-pipes-secure.mjs.map +1 -1
  129. package/fesm2022/cmat-pipes-uppercase.mjs +3 -3
  130. package/fesm2022/cmat-pipes-uppercase.mjs.map +1 -1
  131. package/fesm2022/cmat-services-alert.mjs +26 -27
  132. package/fesm2022/cmat-services-alert.mjs.map +1 -1
  133. package/fesm2022/cmat-services-config.mjs +14 -23
  134. package/fesm2022/cmat-services-config.mjs.map +1 -1
  135. package/fesm2022/cmat-services-confirmation.mjs +8 -8
  136. package/fesm2022/cmat-services-confirmation.mjs.map +1 -1
  137. package/fesm2022/cmat-services-data.mjs +6 -10
  138. package/fesm2022/cmat-services-data.mjs.map +1 -1
  139. package/fesm2022/cmat-services-export-as.mjs +3 -3
  140. package/fesm2022/cmat-services-export-as.mjs.map +1 -1
  141. package/fesm2022/cmat-services-loading.mjs +30 -47
  142. package/fesm2022/cmat-services-loading.mjs.map +1 -1
  143. package/fesm2022/cmat-services-local-storage.mjs +3 -3
  144. package/fesm2022/cmat-services-local-storage.mjs.map +1 -1
  145. package/fesm2022/cmat-services-media-watcher.mjs +43 -34
  146. package/fesm2022/cmat-services-media-watcher.mjs.map +1 -1
  147. package/fesm2022/cmat-services-platform.mjs +3 -3
  148. package/fesm2022/cmat-services-platform.mjs.map +1 -1
  149. package/fesm2022/cmat-services-splash-screen.mjs +3 -3
  150. package/fesm2022/cmat-services-splash-screen.mjs.map +1 -1
  151. package/fesm2022/cmat-services-title.mjs +3 -3
  152. package/fesm2022/cmat-services-title.mjs.map +1 -1
  153. package/fesm2022/cmat-services-translation.mjs +11 -11
  154. package/fesm2022/cmat-services-translation.mjs.map +1 -1
  155. package/fesm2022/cmat-services-utils.mjs +3 -3
  156. package/fesm2022/cmat-services-utils.mjs.map +1 -1
  157. package/fesm2022/cmat.mjs +9228 -7507
  158. package/fesm2022/cmat.mjs.map +1 -1
  159. package/icons/material-icons/heroicons-outline.svg +3 -0
  160. package/icons/material-icons/heroicons-solid.svg +3 -0
  161. package/package.json +10 -1
  162. package/styles/components/bundle.scss +21 -0
  163. package/styles/overrides/angular-material.scss +22 -1
  164. package/tailwind/plugins/theming.js +183 -183
  165. package/types/cmat-components-breadcrumb.d.ts +40 -37
  166. package/types/cmat-components-card.d.ts +11 -13
  167. package/types/cmat-components-carousel.d.ts +87 -113
  168. package/types/cmat-components-cascade.d.ts +84 -65
  169. package/types/cmat-components-chip-input.d.ts +29 -24
  170. package/types/cmat-components-code-editor.d.ts +28 -12
  171. package/types/cmat-components-color-picker.d.ts +236 -0
  172. package/types/cmat-components-custom-formly.d.ts +316 -184
  173. package/types/cmat-components-data-picker.d.ts +372 -0
  174. package/types/cmat-components-date-range.d.ts +31 -36
  175. package/types/cmat-components-date-time-display.d.ts +8 -8
  176. package/types/cmat-components-drawer.d.ts +30 -32
  177. package/types/cmat-components-empty-state.d.ts +9 -10
  178. package/types/cmat-components-file-preview.d.ts +9 -9
  179. package/types/cmat-components-filter-toolbar.d.ts +15 -15
  180. package/types/cmat-components-form-actions.d.ts +5 -5
  181. package/types/cmat-components-fullscreen.d.ts +5 -5
  182. package/types/cmat-components-highlight.d.ts +13 -14
  183. package/types/cmat-components-image-viewer.d.ts +29 -33
  184. package/types/cmat-components-inline-loading.d.ts +6 -6
  185. package/types/cmat-components-json-editor.d.ts +15 -17
  186. package/types/cmat-components-knob-input.d.ts +58 -55
  187. package/types/cmat-components-masonry.d.ts +9 -12
  188. package/types/cmat-components-material-color-picker.d.ts +16 -21
  189. package/types/cmat-components-material-datetimepicker.d.ts +174 -216
  190. package/types/cmat-components-navigation.d.ts +34 -39
  191. package/types/cmat-components-opt-input.d.ts +35 -33
  192. package/types/cmat-components-org-chart.d.ts +8 -9
  193. package/types/cmat-components-page-header.d.ts +9 -9
  194. package/types/cmat-components-pagination.d.ts +36 -40
  195. package/types/cmat-components-password-strength.d.ts +58 -64
  196. package/types/cmat-components-popover.d.ts +22 -32
  197. package/types/cmat-components-progress-bar.d.ts +7 -10
  198. package/types/cmat-components-qrcode.d.ts +22 -22
  199. package/types/cmat-components-rating.d.ts +17 -19
  200. package/types/cmat-components-rich-text-editor.d.ts +11 -12
  201. package/types/cmat-components-select-search.d.ts +48 -36
  202. package/types/cmat-components-select-table.d.ts +38 -34
  203. package/types/cmat-components-select-tree.d.ts +17 -15
  204. package/types/cmat-components-skeleton.d.ts +27 -10
  205. package/types/cmat-components-speed-dial.d.ts +24 -33
  206. package/types/cmat-components-status-tag.d.ts +19 -9
  207. package/types/cmat-components-table-toolbar.d.ts +7 -7
  208. package/types/cmat-components-timeline.d.ts +33 -34
  209. package/types/cmat-components-toast.d.ts +26 -30
  210. package/types/cmat-components-transfer-picker.d.ts +51 -56
  211. package/types/cmat-components-treetable.d.ts +12 -13
  212. package/types/cmat-components-upload.d.ts +33 -38
  213. package/types/cmat-components-x6-angular-shape.d.ts +1 -1
  214. package/types/cmat-directives-animate-on-scroll.d.ts +7 -7
  215. package/types/cmat-directives-arrow-cursor.d.ts +18 -20
  216. package/types/cmat-directives-data-exporter.d.ts +10 -10
  217. package/types/cmat-directives-debounce.d.ts +5 -5
  218. package/types/cmat-directives-digit-only.d.ts +13 -13
  219. package/types/cmat-directives-seamless-auto-scroll.d.ts +7 -7
  220. package/types/cmat-pipes-secure.d.ts +1 -3
  221. package/types/cmat-services-alert.d.ts +11 -12
  222. package/types/cmat-services-config.d.ts +2 -7
  223. package/types/cmat-services-confirmation.d.ts +2 -2
  224. package/types/cmat-services-data.d.ts +0 -1
  225. package/types/cmat-services-loading.d.ts +14 -22
  226. package/types/cmat-services-media-watcher.d.ts +5 -5
  227. package/types/cmat-services-translation.d.ts +4 -5
  228. package/types/cmat.d.ts +2167 -1746
@@ -1 +1 @@
1
- {"version":3,"file":"cmat-components-date-range.mjs","sources":["../../../projects/cmat/components/date-range/date-range.component.ts","../../../projects/cmat/components/date-range/date-range.component.html","../../../projects/cmat/components/date-range/cmat-components-date-range.ts"],"sourcesContent":["import { Overlay, OverlayRef } from '@angular/cdk/overlay';\r\nimport { TemplatePortal } from '@angular/cdk/portal';\r\nimport { NgClass } from '@angular/common';\r\nimport { ChangeDetectionStrategy, Component, ElementRef, EventEmitter, forwardRef, Input, OnDestroy, OnInit, Output, TemplateRef, ViewChild, ViewContainerRef, ViewEncapsulation, inject, signal } from '@angular/core';\r\nimport { ControlValueAccessor, FormControl, NG_VALUE_ACCESSOR, Validators, FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { MatButtonModule } from '@angular/material/button';\r\nimport { MatCalendarCellCssClasses, MatMonthView } from '@angular/material/datepicker';\r\nimport { MatFormFieldModule } from '@angular/material/form-field';\r\nimport { MatIconModule } from '@angular/material/icon';\r\nimport { MatInputModule } from '@angular/material/input';\r\nimport dayjs, { Dayjs } from 'dayjs';\r\nimport isBetween from 'dayjs/plugin/isBetween';\r\n\r\nexport interface DateRangeInputValue {\r\n start: string;\r\n end: string;\r\n whichDate?: 'start' | 'end' | '';\r\n}\r\n\r\nexport interface DateRangeOutputValue {\r\n start: string | null;\r\n end: string | null;\r\n}\r\n\r\nexport interface DateRangeDisplayValue {\r\n startDate: string | null;\r\n startTime: string | null;\r\n endDate: string | null;\r\n endTime: string | null;\r\n}\r\n\r\n@Component({\r\n selector: 'cmat-date-range',\r\n templateUrl: './date-range.component.html',\r\n styleUrls: ['./date-range.component.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n exportAs: 'cmatDateRange',\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => CmatDateRangeComponent),\r\n multi: true\r\n }\r\n ],\r\n imports: [FormsModule, ReactiveFormsModule, MatButtonModule, MatIconModule,\r\n MatFormFieldModule, MatMonthView,\r\n MatInputModule, NgClass]\r\n})\r\nexport class CmatDateRangeComponent implements ControlValueAccessor, OnInit, OnDestroy {\r\n @Input() controlClass: string = '';\r\n @Input() initData: boolean = true\r\n\r\n @Output() readonly rangeChanged: EventEmitter<{ start: string; end: string }> = new EventEmitter<{ start: string; end: string }>();\r\n @ViewChild('matMonthView1') private _matMonthView1!: MatMonthView<Dayjs>;\r\n @ViewChild('matMonthView2') private _matMonthView2!: MatMonthView<Dayjs>;\r\n @ViewChild('pickerPanelOrigin', { read: ElementRef }) private _pickerPanelOrigin!: ElementRef<HTMLElement>;\r\n @ViewChild('pickerPanel') private _pickerPanel!: TemplateRef<unknown>;\r\n\r\n activeDates: { month1: Dayjs; month2: Dayjs } = {\r\n month1: dayjs(),\r\n month2: dayjs().add(1, 'month')\r\n };\r\n readonly refreshVersion = signal(0);\r\n setWhichDate: 'start' | 'end' = 'start';\r\n startTimeFormControl!: FormControl;\r\n endTimeFormControl!: FormControl;\r\n\r\n private _overlay = inject(Overlay);\r\n private _viewContainerRef = inject(ViewContainerRef);\r\n private _overlayRef: OverlayRef | null = null;\r\n\r\n private _dateFormat: string;\r\n private _onChange!: (value: DateRangeOutputValue) => void;\r\n private _onTouched!: () => void;\r\n private _programmaticChange!: boolean;\r\n private _range: { start: Dayjs | null; end: Dayjs | null } = {\r\n start: null,\r\n end: null\r\n };\r\n private _timeFormat: string;\r\n private _timeRange: boolean;\r\n private _readonly: boolean;\r\n private readonly _timeRegExp: RegExp = new RegExp('^(0[0-9]|1[0-9]|2[0-4]|[0-9]):([0-5][0-9])(A|(?:AM)|P|(?:PM))?$', 'i');\r\n\r\n\r\n\r\n constructor() {\r\n dayjs.extend(isBetween);\r\n\r\n // eslint-disable-next-line @typescript-eslint/no-empty-function\r\n this._onChange = (): void => { };\r\n // eslint-disable-next-line @typescript-eslint/no-empty-function\r\n this._onTouched = (): void => { };\r\n this.dateFormat = 'YYYY/MM/DD';\r\n this.timeFormat = '12';\r\n }\r\n\r\n get readonly(): boolean {\r\n return this._readonly;\r\n }\r\n\r\n @Input()\r\n set readonly(value: boolean) {\r\n this._readonly = value;\r\n }\r\n\r\n // eslint-disable-next-line @typescript-eslint/member-ordering\r\n get dateFormat(): string {\r\n return this._dateFormat;\r\n }\r\n @Input()\r\n set dateFormat(value: string) {\r\n if (this._dateFormat === value) {\r\n return;\r\n }\r\n this._dateFormat = value;\r\n }\r\n\r\n \r\n // eslint-disable-next-line @typescript-eslint/member-ordering\r\n get timeFormat(): string {\r\n return this._timeFormat;\r\n }\r\n @Input()\r\n set timeFormat(value: string) {\r\n if (this._timeFormat === value) {\r\n return;\r\n }\r\n this._timeFormat = value === '12' ? 'hh:mmA' : 'HH:mm';\r\n }\r\n\r\n\r\n\r\n \r\n // eslint-disable-next-line @typescript-eslint/member-ordering\r\n get timeRange(): boolean {\r\n return this._timeRange;\r\n }\r\n @Input()\r\n set timeRange(value: boolean) {\r\n if (this._timeRange === value) {\r\n return;\r\n }\r\n this._timeRange = value;\r\n if (!value && this._range?.start && this._range?.end) {\r\n this.range = {\r\n start: this._range.start.clone().startOf('day').toISOString(),\r\n end: this._range.end.clone().endOf('day').toISOString()\r\n };\r\n }\r\n }\r\n\r\n \r\n // eslint-disable-next-line @typescript-eslint/member-ordering\r\n get range(): DateRangeDisplayValue | undefined {\r\n if (this._range.start && this._range.end) {\r\n const start = this._range?.start.clone();\r\n const end = this._range?.end.clone();\r\n return {\r\n startDate: start ? start.clone().format(this.dateFormat) : null,\r\n startTime: this.timeRange && start ? start.clone().format(this.timeFormat) : null,\r\n endDate: end ? end.clone().format(this.dateFormat) : null,\r\n endTime: end && this.timeRange ? end.clone().format(this.timeFormat) : null\r\n };\r\n }\r\n\r\n return void 0;\r\n }\r\n\r\n @Input()\r\n set range(value: DateRangeInputValue | null) {\r\n if (!(value?.start && value.end)) {\r\n this.activeDates = {\r\n month1: dayjs(),\r\n month2: dayjs().add(1, 'month')\r\n };\r\n\r\n return;\r\n }\r\n const whichDate = value.whichDate ?? null;\r\n const start = dayjs(value.start);\r\n const end = dayjs(value.end);\r\n if (whichDate === 'start') {\r\n this._range.start = start.clone();\r\n if (this._range.end && this._range.start.isAfter(this._range.end)) {\r\n const endDate = start.clone().hour(this._range.end.hour()).minute(this._range.end.minute()).second(this._range.end.second());\r\n if (this._range.start.isBefore(endDate)) {\r\n this._range.end = endDate;\r\n }\r\n else {\r\n this._range.end = start.clone();\r\n }\r\n }\r\n }\r\n if (whichDate === 'end') {\r\n this._range.end = end.clone();\r\n if (this._range.start?.isAfter(this._range.end)) {\r\n const startDate = end.clone().hour(this._range.start.hour()).minute(this._range.start.minute()).second(this._range.start.second());\r\n if (this._range.end.isAfter(startDate)) {\r\n this._range.start = startDate;\r\n }\r\n else {\r\n this._range.start = end.clone();\r\n }\r\n }\r\n }\r\n if (!whichDate) {\r\n this._range.start = start.clone();\r\n this._range.end = start.isBefore(end) ? end.clone() : start.clone();\r\n }\r\n\r\n if (this._range.start && this._range.end) {\r\n const range = {\r\n start: this._range.start.clone().toISOString(),\r\n end: this._range.end.clone().toISOString()\r\n };\r\n this.rangeChanged.emit(range);\r\n if (!this._programmaticChange) {\r\n this._onTouched();\r\n this._onChange(range);\r\n }\r\n this.activeDates = {\r\n month1: this._range.start.clone(),\r\n month2: this._range.start.clone().add(1, 'month')\r\n };\r\n this.startTimeFormControl.setValue(this._range.start.clone().format(this._timeFormat).toString());\r\n this.endTimeFormControl.setValue(this._range.end.clone().format(this._timeFormat).toString());\r\n }\r\n if (this._matMonthView1 && this._matMonthView2) {\r\n this._matMonthView1.ngAfterContentInit();\r\n this._matMonthView2.ngAfterContentInit();\r\n }\r\n this._programmaticChange = false;\r\n }\r\n\r\n \r\n registerOnChange(fn: (value: DateRangeOutputValue) => void): void {\r\n this._onChange = fn;\r\n }\r\n\r\n \r\n registerOnTouched(fn: () => void): void {\r\n this._onTouched = fn;\r\n }\r\n\r\n \r\n writeValue(range: DateRangeInputValue | null): void {\r\n this._programmaticChange = true;\r\n this.range = range;\r\n\r\n this.refreshVersion.update(value => value + 1);\r\n }\r\n\r\n ngOnInit(): void {\r\n this._init();\r\n }\r\n\r\n ngOnDestroy(): void {\r\n if (this._overlayRef) {\r\n this._overlayRef.dispose();\r\n this._overlayRef = null;\r\n }\r\n // eslint-disable-next-line @typescript-eslint/no-empty-function\r\n this.writeValue = (): void => { };\r\n }\r\n\r\n \r\n openPickerPanel(): void {\r\n if (this.readonly)\r\n return;\r\n const overlayRef = this._overlay.create({\r\n panelClass: 'cmat-date-range-panel',\r\n backdropClass: '',\r\n hasBackdrop: true,\r\n scrollStrategy: this._overlay.scrollStrategies.reposition(),\r\n positionStrategy: this._overlay.position()\r\n .flexibleConnectedTo(this._pickerPanelOrigin)\r\n .withPositions([\r\n {\r\n originX: 'start',\r\n originY: 'bottom',\r\n overlayX: 'start',\r\n overlayY: 'top',\r\n offsetY: 8\r\n },\r\n {\r\n originX: 'start',\r\n originY: 'top',\r\n overlayX: 'start',\r\n overlayY: 'bottom',\r\n offsetY: -8\r\n }\r\n ])\r\n });\r\n this._overlayRef = overlayRef;\r\n const templatePortal = new TemplatePortal(this._pickerPanel, this._viewContainerRef);\r\n overlayRef.backdropClick().subscribe((): void => {\r\n if (templatePortal?.isAttached) {\r\n templatePortal.detach();\r\n }\r\n if (overlayRef?.hasAttached()) {\r\n overlayRef.detach();\r\n overlayRef.dispose();\r\n }\r\n this._overlayRef = null;\r\n });\r\n overlayRef.attach(templatePortal);\r\n }\r\n\r\n \r\n getMonthLabel(month: number): string {\r\n if (month === 1) {\r\n return this.activeDates.month1?.clone().format('YYYY MMMM') ?? '';\r\n }\r\n\r\n return this.activeDates.month2?.clone().format('YYYY MMMM') ?? '';\r\n }\r\n\r\n \r\n dateClass(): (date: Dayjs) => MatCalendarCellCssClasses {\r\n return (date: Dayjs): MatCalendarCellCssClasses => {\r\n const start = this._range.start ?? dayjs();\r\n const end = this._range.end ?? dayjs().add(1, 'day').endOf('day')\r\n if (date.isSame(start, 'day') && date.isSame(end, 'day')) {\r\n return ['cmat-date-range', 'cmat-date-range-start', 'cmat-date-range-end'];\r\n }\r\n if (date.isSame(start, 'day')) {\r\n return ['cmat-date-range', 'cmat-date-range-start'];\r\n }\r\n if (date.isSame(end, 'day')) {\r\n return ['cmat-date-range', 'cmat-date-range-end'];\r\n }\r\n if (date.isBetween(start, end, 'day')) {\r\n return ['cmat-date-range', 'cmat-date-range-mid'];\r\n }\r\n\r\n return [];\r\n };\r\n }\r\n\r\n \r\n dateFilter(): (date: Dayjs) => boolean {\r\n return (date: Dayjs): boolean => !(this.setWhichDate === 'end' && date.isBefore(this._range.start, 'day'));\r\n }\r\n\r\n \r\n onSelectedDateChange(date: Dayjs | null): void {\r\n if (!date) return;\r\n const newRange: DateRangeInputValue = {\r\n start: dayjs().toISOString(),\r\n end: dayjs().toISOString(),\r\n whichDate: ''\r\n };\r\n if (this.setWhichDate === 'start') {\r\n newRange.start = dayjs(newRange.start).year(date.year()).month(date.month()).date(date.date()).toISOString();\r\n }\r\n else {\r\n newRange.end = dayjs(newRange.end).year(date.year()).month(date.month()).date(date.date()).toISOString();\r\n }\r\n newRange.whichDate = this.setWhichDate;\r\n this.setWhichDate = this.setWhichDate === 'start' ? 'end' : 'start';\r\n this.range = newRange;\r\n\r\n this.refreshVersion.update(value => value + 1);\r\n\r\n }\r\n\r\n \r\n prev(): void {\r\n this.activeDates.month1 = dayjs(this.activeDates.month1).subtract(1, 'month');\r\n this.activeDates.month2 = dayjs(this.activeDates.month2).subtract(1, 'month');\r\n }\r\n\r\n \r\n next(): void {\r\n this.activeDates.month1 = dayjs(this.activeDates.month1).add(1, 'month');\r\n this.activeDates.month2 = dayjs(this.activeDates.month2).add(1, 'month');\r\n }\r\n\r\n \r\n updateStartTime(event: Event): void {\r\n const parsedTime = this._parseTime((event.target as HTMLInputElement | null)?.value ?? '');\r\n if (this.startTimeFormControl.invalid) {\r\n if (this._range.start) {\r\n const time = this._range.start.clone().format(this._timeFormat);\r\n this.startTimeFormControl.setValue(time);\r\n }\r\n return;\r\n }\r\n\r\n if (this._range.start && this._range.end) {\r\n const startDate = this._range.start.clone().hour(parsedTime.hour()).minute(parsedTime.minute());\r\n if (startDate.isAfter(this._range.end)) {\r\n const endDateHours = this._range.end.hour();\r\n const endDateMinutes = this._range.end.minute();\r\n startDate.hour(endDateHours).minute(endDateMinutes);\r\n }\r\n this.range = {\r\n start: startDate.toISOString(),\r\n end: this._range.end.clone().toISOString(),\r\n whichDate: 'start'\r\n };\r\n\r\n this.refreshVersion.update(value => value + 1);\r\n }\r\n }\r\n\r\n \r\n updateEndTime(event: Event): void {\r\n const parsedTime = this._parseTime((event.target as HTMLInputElement | null)?.value ?? '');\r\n if (this.endTimeFormControl.invalid) {\r\n if (this._range.end) {\r\n const time = this._range.end.clone().format(this._timeFormat);\r\n this.endTimeFormControl.setValue(time);\r\n }\r\n return;\r\n }\r\n\r\n if (this._range.start && this._range.end) {\r\n const endDate = this._range.end.clone().hour(parsedTime.hour()).minute(parsedTime.minute());\r\n if (endDate.isBefore(this._range.start)) {\r\n const startDateHours = this._range.start.hour();\r\n const startDateMinutes = this._range.start.minute();\r\n endDate.hour(startDateHours).minute(startDateMinutes);\r\n }\r\n this.range = {\r\n start: this._range.start.clone().toISOString(),\r\n end: endDate.toISOString(),\r\n whichDate: 'end'\r\n };\r\n\r\n this.refreshVersion.update(value => value + 1);\r\n }\r\n }\r\n\r\n \r\n private _init(): void {\r\n this.startTimeFormControl = new FormControl('', [Validators.pattern(this._timeRegExp)]);\r\n this.endTimeFormControl = new FormControl('', [Validators.pattern(this._timeRegExp)]);\r\n this._programmaticChange = true;\r\n if (this.initData) {\r\n this.range = {\r\n start: dayjs().startOf('day').toISOString(),\r\n end: dayjs().add(1, 'day').endOf('day').toISOString()\r\n };\r\n } else {\r\n this.range = null;\r\n }\r\n this._programmaticChange = true;\r\n\r\n this.timeRange = this.timeRange ?? true;\r\n\r\n this.refreshVersion.update(value => value + 1);\r\n }\r\n\r\n \r\n private _parseTime(value: string): Dayjs {\r\n const timeArr = value.split(this._timeRegExp).filter(part => part !== '');\r\n const meridiem = timeArr[2] || null;\r\n if (meridiem) {\r\n return dayjs(value, 'hh:mmA').second(0);\r\n }\r\n return dayjs(value, 'HH:mm').second(0);\r\n }\r\n}","<div #pickerPanelOrigin role=\"presentation\" class=\"range\" [attr.data-refresh]=\"refreshVersion()\" (click)=\"openPickerPanel()\">\r\n\r\n <div class=\"start\" [ngClass]=\"controlClass\">\r\n <div class=\"date\">{{range?.startDate}}</div>\r\n @if (range?.startTime) {\r\n <div class=\"time\">{{range?.startTime}}</div>\r\n }\r\n </div>\r\n\r\n <div class=\"separator\">-</div>\r\n\r\n <div class=\"end\" [ngClass]=\"controlClass\">\r\n <div class=\"date\">{{range?.endDate}}</div>\r\n @if (range?.endTime) {\r\n <div class=\"time\">{{range?.endTime}}</div>\r\n }\r\n </div>\r\n\r\n</div>\r\n\r\n<ng-template #pickerPanel>\r\n\r\n \r\n <div class=\"start\">\r\n\r\n <div class=\"month\">\r\n <div class=\"month-header\">\r\n <button type=\"button\" class=\"previous-button\" matIconButton tabindex=\"1\" (click)=\"prev()\">\r\n <mat-icon [svgIcon]=\"'heroicons_outline:chevron-left'\"></mat-icon>\r\n </button>\r\n <div class=\"month-label\">{{getMonthLabel(1)}}</div>\r\n </div>\r\n <mat-month-view #matMonthView1 [dateFilter]=\"dateFilter()\" [dateClass]=\"dateClass()\"\r\n [(activeDate)]=\"activeDates.month1\" (click)=\"$event.stopImmediatePropagation()\"\r\n (selectedChange)=\"onSelectedDateChange($event)\">\r\n </mat-month-view>\r\n </div>\r\n\r\n @if (timeRange) {\r\n <mat-form-field class=\"time start-time\">\r\n <input matInput tabindex=\"3\" [autocomplete]=\"'off'\" [formControl]=\"startTimeFormControl\"\r\n (blur)=\"updateStartTime($event)\">\r\n <mat-label>开始时间</mat-label>\r\n </mat-form-field>\r\n }\r\n\r\n </div>\r\n\r\n \r\n <div class=\"end\">\r\n\r\n <div class=\"month\">\r\n <div class=\"month-header\">\r\n <div class=\"month-label\">{{getMonthLabel(2)}}</div>\r\n <button type=\"button\" class=\"next-button\" matIconButton tabindex=\"2\" (click)=\"next()\">\r\n <mat-icon [svgIcon]=\"'heroicons_outline:chevron-right'\"></mat-icon>\r\n </button>\r\n </div>\r\n <mat-month-view #matMonthView2 [dateFilter]=\"dateFilter()\" [dateClass]=\"dateClass()\"\r\n [(activeDate)]=\"activeDates.month2\" (click)=\"$event.stopImmediatePropagation()\"\r\n (selectedChange)=\"onSelectedDateChange($event)\">\r\n </mat-month-view>\r\n </div>\r\n\r\n @if (timeRange) {\r\n <mat-form-field class=\"time end-time\">\r\n <input matInput tabindex=\"4\" [formControl]=\"endTimeFormControl\" (blur)=\"updateEndTime($event)\">\r\n <mat-label>结束时间</mat-label>\r\n </mat-form-field>\r\n }\r\n\r\n </div>\r\n\r\n </ng-template>\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cmat-components-date-range.mjs","sources":["../../../projects/cmat/components/date-range/date-range.component.ts","../../../projects/cmat/components/date-range/date-range.component.html","../../../projects/cmat/components/date-range/cmat-components-date-range.ts"],"sourcesContent":["import { Overlay, OverlayRef } from '@angular/cdk/overlay';\r\nimport { TemplatePortal } from '@angular/cdk/portal';\r\nimport { NgClass } from '@angular/common';\r\nimport {\r\n ChangeDetectionStrategy,\r\n Component,\r\n computed,\r\n effect,\r\n ElementRef,\r\n forwardRef,\r\n inject,\r\n input,\r\n OnDestroy,\r\n OnInit,\r\n output,\r\n signal,\r\n TemplateRef,\r\n untracked,\r\n viewChild,\r\n ViewContainerRef,\r\n ViewEncapsulation,\r\n} from '@angular/core';\r\nimport {\r\n ControlValueAccessor,\r\n FormControl,\r\n NG_VALUE_ACCESSOR,\r\n Validators,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n} from '@angular/forms';\r\nimport { MatButtonModule } from '@angular/material/button';\r\nimport {\r\n MatCalendarCellCssClasses,\r\n MatMonthView,\r\n} from '@angular/material/datepicker';\r\nimport { MatFormFieldModule } from '@angular/material/form-field';\r\nimport { MatIconModule } from '@angular/material/icon';\r\nimport { MatInputModule } from '@angular/material/input';\r\nimport dayjs, { Dayjs } from 'dayjs';\r\nimport isBetween from 'dayjs/plugin/isBetween';\r\n\r\nexport interface DateRangeInputValue {\r\n start: string;\r\n end: string;\r\n whichDate?: 'start' | 'end' | '';\r\n}\r\n\r\nexport interface DateRangeOutputValue {\r\n start: string | null;\r\n end: string | null;\r\n}\r\n\r\nexport interface DateRangeDisplayValue {\r\n startDate: string | null;\r\n startTime: string | null;\r\n endDate: string | null;\r\n endTime: string | null;\r\n}\r\n\r\n@Component({\r\n selector: 'cmat-date-range',\r\n templateUrl: './date-range.component.html',\r\n styleUrls: ['./date-range.component.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n exportAs: 'cmatDateRange',\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => CmatDateRangeComponent),\r\n multi: true,\r\n },\r\n ],\r\n imports: [\r\n FormsModule,\r\n ReactiveFormsModule,\r\n MatButtonModule,\r\n MatIconModule,\r\n MatFormFieldModule,\r\n MatMonthView,\r\n MatInputModule,\r\n NgClass,\r\n ],\r\n})\r\nexport class CmatDateRangeComponent\r\n implements ControlValueAccessor, OnInit, OnDestroy {\r\n readonly controlClass = input<string>('');\r\n readonly dateFormat = input<string>('YYYY/MM/DD');\r\n readonly timeFormat = input<string, string>('HH:mm', {\r\n transform: (value: string) => value === '12' ? 'hh:mmA' : 'HH:mm',\r\n });\r\n readonly readonly = input<boolean>(false);\r\n readonly timeRange = input<boolean>(true);\r\n readonly range = input<DateRangeInputValue | null>(null);\r\n readonly rangeChanged = output<{ start: string; end: string }>();\r\n\r\n readonly activeDates = signal<{ month1: Dayjs; month2: Dayjs }>({\r\n month1: dayjs(),\r\n month2: dayjs().add(1, 'month'),\r\n });\r\n readonly setWhichDate = signal<'start' | 'end'>('start');\r\n startTimeFormControl: FormControl;\r\n endTimeFormControl: FormControl;\r\n\r\n readonly rangeDisplay = computed<DateRangeDisplayValue | undefined>(() => {\r\n const r = this._range();\r\n if (r.start && r.end) {\r\n const start = r.start.clone();\r\n const end = r.end.clone();\r\n return {\r\n startDate: start.format(this.dateFormat()),\r\n startTime: this.timeRange() ? start.format(this.timeFormat()) : null,\r\n endDate: end.format(this.dateFormat()),\r\n endTime: this.timeRange() ? end.format(this.timeFormat()) : null,\r\n };\r\n }\r\n return undefined;\r\n });\r\n\r\n readonly dateClassFn = computed<(date: Dayjs) => MatCalendarCellCssClasses>(() => {\r\n const r = this._range();\r\n return (date: Dayjs): MatCalendarCellCssClasses => {\r\n if (r.start && r.end) {\r\n if (date.isSame(r.start, 'day') && date.isSame(r.end, 'day')) {\r\n return ['cmat-date-range', 'cmat-date-range-start', 'cmat-date-range-end'];\r\n }\r\n if (date.isSame(r.start, 'day')) {\r\n return ['cmat-date-range', 'cmat-date-range-start'];\r\n }\r\n if (date.isSame(r.end, 'day')) {\r\n return ['cmat-date-range', 'cmat-date-range-end'];\r\n }\r\n if (date.isBetween(r.start, r.end, 'day')) {\r\n return ['cmat-date-range', 'cmat-date-range-mid'];\r\n }\r\n } else if (r.start && date.isSame(r.start, 'day')) {\r\n return ['cmat-date-range', 'cmat-date-range-start'];\r\n }\r\n return [];\r\n };\r\n });\r\n\r\n readonly dateFilterFn = computed<(date: Dayjs) => boolean>(() => {\r\n const which = this.setWhichDate();\r\n const r = this._range();\r\n return (date: Dayjs): boolean => {\r\n return !(which === 'end' && r.start && date.isBefore(r.start, 'day'));\r\n };\r\n });\r\n\r\n private readonly _matMonthView1 = viewChild<MatMonthView<Dayjs>>('matMonthView1');\r\n private readonly _matMonthView2 = viewChild<MatMonthView<Dayjs>>('matMonthView2');\r\n private readonly _pickerPanelOrigin = viewChild<ElementRef<HTMLElement>>('pickerPanelOrigin');\r\n private readonly _pickerPanel = viewChild<TemplateRef<unknown>>('pickerPanel');\r\n\r\n private readonly _overlay = inject(Overlay);\r\n private readonly _viewContainerRef = inject(ViewContainerRef);\r\n private _overlayRef: OverlayRef | null = null;\r\n\r\n private readonly _range = signal<{ start: Dayjs | null; end: Dayjs | null }>({\r\n start: null,\r\n end: null,\r\n });\r\n\r\n private _programmaticChange = false;\r\n private _rangeInputFirstRun = true;\r\n private _timeRangeFirstRun = true;\r\n private _emittingChange = false;\r\n private readonly _timeRegExp: RegExp = new RegExp(\r\n '^(0[0-9]|1[0-9]|2[0-4]|[0-9]):([0-5][0-9])(A|(?:AM)|P|(?:PM))?$',\r\n 'i',\r\n );\r\n\r\n constructor() {\r\n dayjs.extend(isBetween);\r\n\r\n effect(() => {\r\n const rangeValue = this.range();\r\n\r\n if (this._rangeInputFirstRun) {\r\n this._rangeInputFirstRun = false;\r\n return;\r\n }\r\n\r\n untracked(() => {\r\n this._setRangeFromInput(rangeValue);\r\n });\r\n });\r\n\r\n effect(() => {\r\n const tr = this.timeRange();\r\n if (this._timeRangeFirstRun) {\r\n this._timeRangeFirstRun = false;\r\n return;\r\n }\r\n\r\n untracked(() => {\r\n if (!tr && this._range().start && this._range().end) {\r\n this._setRangeFromInput({\r\n start: this._range().start!.clone().startOf('day').toISOString(),\r\n end: this._range().end!.clone().endOf('day').toISOString(),\r\n });\r\n }\r\n });\r\n });\r\n }\r\n\r\n registerOnChange(fn: (value: DateRangeOutputValue) => void): void {\r\n this._onChange = fn;\r\n }\r\n\r\n registerOnTouched(fn: () => void): void {\r\n this._onTouched = fn;\r\n }\r\n\r\n writeValue(range: DateRangeInputValue | null): void {\r\n this._programmaticChange = true;\r\n this._setRangeFromInput(range);\r\n }\r\n\r\n ngOnInit(): void {\r\n this._init();\r\n }\r\n\r\n ngOnDestroy(): void {\r\n if (this._overlayRef) {\r\n this._overlayRef.dispose();\r\n this._overlayRef = null;\r\n }\r\n }\r\n\r\n openPickerPanel(): void {\r\n if (this.readonly()) return;\r\n const origin = this._pickerPanelOrigin();\r\n if (!origin) return;\r\n\r\n const overlayRef = this._overlay.create({\r\n panelClass: 'cmat-date-range-panel',\r\n backdropClass: '',\r\n hasBackdrop: true,\r\n scrollStrategy: this._overlay.scrollStrategies.reposition(),\r\n positionStrategy: this._overlay\r\n .position()\r\n .flexibleConnectedTo(origin)\r\n .withPositions([\r\n {\r\n originX: 'start',\r\n originY: 'bottom',\r\n overlayX: 'start',\r\n overlayY: 'top',\r\n offsetY: 8,\r\n },\r\n {\r\n originX: 'start',\r\n originY: 'top',\r\n overlayX: 'start',\r\n overlayY: 'bottom',\r\n offsetY: -8,\r\n },\r\n ]),\r\n });\r\n\r\n this._overlayRef = overlayRef;\r\n const templatePortal = new TemplatePortal(\r\n this._pickerPanel()!,\r\n this._viewContainerRef,\r\n );\r\n\r\n overlayRef.backdropClick().subscribe((): void => {\r\n if (templatePortal?.isAttached) {\r\n templatePortal.detach();\r\n }\r\n if (overlayRef?.hasAttached()) {\r\n overlayRef.detach();\r\n overlayRef.dispose();\r\n }\r\n this._overlayRef = null;\r\n });\r\n\r\n overlayRef.attach(templatePortal);\r\n }\r\n\r\n getMonthLabel(month: number): string {\r\n const dates = this.activeDates();\r\n if (month === 1) {\r\n return dates.month1?.clone().format('YYYY MMMM') ?? '';\r\n }\r\n return dates.month2?.clone().format('YYYY MMMM') ?? '';\r\n }\r\n\r\n onActiveDateChange(month: number, date: Dayjs): void {\r\n this.activeDates.update((dates) => {\r\n if (month === 1) {\r\n return { month1: date, month2: dates.month2 };\r\n }\r\n return { month1: dates.month1, month2: date };\r\n });\r\n }\r\n\r\n onSelectedDateChange(date: Dayjs | null): void {\r\n if (!date) return;\r\n const whichDate = this.setWhichDate();\r\n const r = this._range();\r\n const newRange: DateRangeInputValue = {\r\n start: (whichDate === 'start'\r\n ? (r.start ?? dayjs()).clone().year(date.year()).month(date.month()).date(date.date())\r\n : r.start ?? date\r\n ).toISOString(),\r\n end: (whichDate === 'end'\r\n ? (r.end ?? dayjs()).clone().year(date.year()).month(date.month()).date(date.date())\r\n : r.end ?? date\r\n ).toISOString(),\r\n whichDate,\r\n };\r\n this.setWhichDate.set(whichDate === 'start' ? 'end' : 'start');\r\n this._setRangeFromInput(newRange);\r\n }\r\n\r\n prev(): void {\r\n this.activeDates.update(dates => ({\r\n month1: dayjs(dates.month1).subtract(1, 'month'),\r\n month2: dayjs(dates.month2).subtract(1, 'month'),\r\n }));\r\n }\r\n\r\n next(): void {\r\n this.activeDates.update(dates => ({\r\n month1: dayjs(dates.month1).add(1, 'month'),\r\n month2: dayjs(dates.month2).add(1, 'month'),\r\n }));\r\n }\r\n\r\n updateStartTime(event: Event): void {\r\n const input = event.target as HTMLInputElement | null;\r\n const value = input?.value ?? '';\r\n const parsedTime = this._parseTime(value);\r\n const formControl = this.startTimeFormControl;\r\n\r\n if (formControl?.invalid) {\r\n const r = this._range();\r\n if (r.start) {\r\n formControl.setValue(r.start.clone().format(this.timeFormat()));\r\n }\r\n return;\r\n }\r\n\r\n const r = this._range();\r\n if (r.start && r.end) {\r\n let startDate = r.start\r\n .clone()\r\n .hour(parsedTime.hour())\r\n .minute(parsedTime.minute());\r\n if (startDate.isAfter(r.end)) {\r\n const endDateHours = r.end.hour();\r\n const endDateMinutes = r.end.minute();\r\n startDate.hour(endDateHours).minute(endDateMinutes);\r\n }\r\n this._setRangeFromInput({\r\n start: startDate.toISOString(),\r\n end: r.end.clone().toISOString(),\r\n whichDate: 'start',\r\n });\r\n }\r\n }\r\n\r\n updateEndTime(event: Event): void {\r\n const input = event.target as HTMLInputElement | null;\r\n const value = input?.value ?? '';\r\n const parsedTime = this._parseTime(value);\r\n const formControl = this.endTimeFormControl;\r\n\r\n if (formControl?.invalid) {\r\n const r = this._range();\r\n if (r.end) {\r\n formControl.setValue(r.end.clone().format(this.timeFormat()));\r\n }\r\n return;\r\n }\r\n\r\n const r = this._range();\r\n if (r.start && r.end) {\r\n let endDate = r.end\r\n .clone()\r\n .hour(parsedTime.hour())\r\n .minute(parsedTime.minute());\r\n if (endDate.isBefore(r.start)) {\r\n const startDateHours = r.start.hour();\r\n const startDateMinutes = r.start.minute();\r\n endDate.hour(startDateHours).minute(startDateMinutes);\r\n }\r\n this._setRangeFromInput({\r\n start: r.start.clone().toISOString(),\r\n end: endDate.toISOString(),\r\n whichDate: 'end',\r\n });\r\n }\r\n }\r\n\r\n private _onChange: (value: DateRangeOutputValue) => void = () => { /* empty */ };\r\n private _onTouched: () => void = () => { /* empty */ };\r\n\r\n private _setRangeFromInput(value: DateRangeInputValue | null): void {\r\n if (!(value?.start && value.end)) {\r\n this._range.set({ start: null, end: null });\r\n this.activeDates.set({\r\n month1: dayjs(),\r\n month2: dayjs().add(1, 'month'),\r\n });\r\n return;\r\n }\r\n const whichDate = value.whichDate ?? null;\r\n const start = dayjs(value.start);\r\n const end = dayjs(value.end);\r\n const currentRange = this._range();\r\n\r\n let newStart = currentRange.start;\r\n let newEnd = currentRange.end;\r\n\r\n if (whichDate === 'start') {\r\n newStart = start.clone();\r\n if (newEnd && newStart.isAfter(newEnd)) {\r\n newEnd = start\r\n .clone()\r\n .hour(newEnd.hour())\r\n .minute(newEnd.minute())\r\n .second(newEnd.second());\r\n if (!newStart.isBefore(newEnd)) {\r\n newEnd = start.clone();\r\n }\r\n }\r\n }\r\n if (whichDate === 'end') {\r\n newEnd = end.clone();\r\n if (newStart?.isAfter(newEnd)) {\r\n newStart = end\r\n .clone()\r\n .hour(newStart.hour())\r\n .minute(newStart.minute())\r\n .second(newStart.second());\r\n if (!newEnd.isAfter(newStart)) {\r\n newStart = end.clone();\r\n }\r\n }\r\n }\r\n if (!whichDate) {\r\n newStart = start.clone();\r\n newEnd = start.isBefore(end) ? end.clone() : start.clone();\r\n }\r\n\r\n this._range.set({ start: newStart, end: newEnd });\r\n\r\n if (newStart && newEnd) {\r\n const rangeOutput = {\r\n start: newStart.toISOString(),\r\n end: newEnd.toISOString(),\r\n };\r\n \r\n if (!this._programmaticChange && !this._emittingChange) {\r\n this._emittingChange = true;\r\n try {\r\n this.rangeChanged.emit(rangeOutput);\r\n this._onTouched();\r\n this._onChange(rangeOutput);\r\n } finally {\r\n setTimeout(() => {\r\n this._emittingChange = false;\r\n }, 0);\r\n }\r\n }\r\n \r\n this.activeDates.set({\r\n month1: newStart.clone(),\r\n month2: newStart.clone().add(1, 'month'),\r\n });\r\n const timeFmt = this.timeFormat();\r\n const startCtrl = this.startTimeFormControl;\r\n const endCtrl = this.endTimeFormControl;\r\n if (startCtrl && startCtrl.value !== newStart.clone().format(timeFmt)) {\r\n startCtrl.setValue(newStart.clone().format(timeFmt));\r\n }\r\n if (endCtrl && endCtrl.value !== newEnd.clone().format(timeFmt)) {\r\n endCtrl.setValue(newEnd.clone().format(timeFmt));\r\n }\r\n }\r\n\r\n const matMonthView1 = this._matMonthView1();\r\n const matMonthView2 = this._matMonthView2();\r\n if (matMonthView1 && matMonthView2) {\r\n const newDateClassFn = this.dateClassFn();\r\n const newDateFilterFn = this.dateFilterFn();\r\n matMonthView1.dateClass = newDateClassFn;\r\n matMonthView2.dateClass = newDateClassFn;\r\n matMonthView1.dateFilter = newDateFilterFn;\r\n matMonthView2.dateFilter = newDateFilterFn;\r\n matMonthView1.ngAfterContentInit();\r\n matMonthView2.ngAfterContentInit();\r\n }\r\n this._programmaticChange = false;\r\n }\r\n\r\n private _init(): void {\r\n this.startTimeFormControl =\r\n new FormControl('', [Validators.pattern(this._timeRegExp)]);\r\n this.endTimeFormControl =\r\n new FormControl('', [Validators.pattern(this._timeRegExp)]);\r\n this._programmaticChange = true;\r\n const rangeValue = this.range();\r\n\r\n if (rangeValue) {\r\n this._setRangeFromInput(rangeValue);\r\n } else {\r\n this._setRangeFromInput({\r\n start: dayjs().startOf('day').toISOString(),\r\n end: dayjs().add(1, 'day').endOf('day').toISOString(),\r\n });\r\n }\r\n }\r\n\r\n private _parseTime(value: string): Dayjs {\r\n const timeArr = value.split(this._timeRegExp).filter(part => part !== '');\r\n const meridiem = timeArr[2] || null;\r\n if (meridiem) {\r\n return dayjs(value, 'hh:mmA').second(0);\r\n }\r\n return dayjs(value, 'HH:mm').second(0);\r\n }\r\n}","<div #pickerPanelOrigin role=\"presentation\" class=\"range\" (click)=\"openPickerPanel()\">\r\n\r\n <div class=\"start\" [ngClass]=\"controlClass()\">\r\n <div class=\"date\">{{rangeDisplay()?.startDate}}</div>\r\n @if (rangeDisplay()?.startTime) {\r\n <div class=\"time\">{{rangeDisplay()?.startTime}}</div>\r\n }\r\n </div>\r\n\r\n <div class=\"separator\">-</div>\r\n\r\n <div class=\"end\" [ngClass]=\"controlClass()\">\r\n <div class=\"date\">{{rangeDisplay()?.endDate}}</div>\r\n @if (rangeDisplay()?.endTime) {\r\n <div class=\"time\">{{rangeDisplay()?.endTime}}</div>\r\n }\r\n </div>\r\n\r\n</div>\r\n\r\n<ng-template #pickerPanel>\r\n\r\n <!-- Start -->\r\n <div class=\"start\">\r\n\r\n <div class=\"month\">\r\n <div class=\"month-header\">\r\n <button type=\"button\" class=\"previous-button\" matIconButton tabindex=\"1\" (click)=\"prev()\">\r\n <mat-icon [svgIcon]=\"'heroicons_outline:chevron-left'\"></mat-icon>\r\n </button>\r\n <div class=\"month-label\">{{getMonthLabel(1)}}</div>\r\n </div>\r\n <mat-month-view #matMonthView1 [dateFilter]=\"dateFilterFn()\" [dateClass]=\"dateClassFn()\"\r\n [activeDate]=\"activeDates().month1\" (activeDateChange)=\"onActiveDateChange(1, $event)\"\r\n (click)=\"$event.stopImmediatePropagation()\"\r\n (selectedChange)=\"onSelectedDateChange($event)\">\r\n </mat-month-view>\r\n </div>\r\n\r\n @if (timeRange()) {\r\n <mat-form-field class=\"time start-time\">\r\n <input matInput tabindex=\"3\" [autocomplete]=\"'off'\" [formControl]=\"startTimeFormControl\"\r\n (blur)=\"updateStartTime($event)\">\r\n <mat-label>开始时间</mat-label>\r\n </mat-form-field>\r\n }\r\n\r\n </div>\r\n\r\n <!-- End -->\r\n <div class=\"end\">\r\n\r\n <div class=\"month\">\r\n <div class=\"month-header\">\r\n <div class=\"month-label\">{{getMonthLabel(2)}}</div>\r\n <button type=\"button\" class=\"next-button\" matIconButton tabindex=\"2\" (click)=\"next()\">\r\n <mat-icon [svgIcon]=\"'heroicons_outline:chevron-right'\"></mat-icon>\r\n </button>\r\n </div>\r\n <mat-month-view #matMonthView2 [dateFilter]=\"dateFilterFn()\" [dateClass]=\"dateClassFn()\"\r\n [activeDate]=\"activeDates().month2\" (activeDateChange)=\"onActiveDateChange(2, $event)\"\r\n (click)=\"$event.stopImmediatePropagation()\"\r\n (selectedChange)=\"onSelectedDateChange($event)\">\r\n </mat-month-view>\r\n </div>\r\n\r\n @if (timeRange()) {\r\n <mat-form-field class=\"time end-time\">\r\n <input matInput tabindex=\"4\" [formControl]=\"endTimeFormControl\" (blur)=\"updateEndTime($event)\">\r\n <mat-label>结束时间</mat-label>\r\n </mat-form-field>\r\n }\r\n\r\n </div>\r\n\r\n </ng-template>","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
@@ -1,31 +1,27 @@
1
1
  import { DatePipe } from '@angular/common';
2
2
  import * as i0 from '@angular/core';
3
- import { Input, ChangeDetectionStrategy, Component } from '@angular/core';
3
+ import { input, ChangeDetectionStrategy, Component } from '@angular/core';
4
4
 
5
5
  class CmatDateTimeDisplayComponent {
6
6
  constructor() {
7
- this.format = 'yyyy-MM-dd HH:mm:ss';
8
- this.timezone = '';
9
- this.prefix = '';
10
- this.emptyText = '-';
7
+ this.value = input(/* @ts-ignore */
8
+ ...(ngDevMode ? [undefined, { debugName: "value" }] : /* istanbul ignore next */ []));
9
+ this.format = input('yyyy-MM-dd HH:mm:ss', /* @ts-ignore */
10
+ ...(ngDevMode ? [{ debugName: "format" }] : /* istanbul ignore next */ []));
11
+ this.timezone = input('', /* @ts-ignore */
12
+ ...(ngDevMode ? [{ debugName: "timezone" }] : /* istanbul ignore next */ []));
13
+ this.prefix = input('', /* @ts-ignore */
14
+ ...(ngDevMode ? [{ debugName: "prefix" }] : /* istanbul ignore next */ []));
15
+ this.emptyText = input('-', /* @ts-ignore */
16
+ ...(ngDevMode ? [{ debugName: "emptyText" }] : /* istanbul ignore next */ []));
11
17
  }
12
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: CmatDateTimeDisplayComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
13
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.11", type: CmatDateTimeDisplayComponent, isStandalone: true, selector: "cmat-date-time-display", inputs: { value: "value", format: "format", timezone: "timezone", prefix: "prefix", emptyText: "emptyText" }, ngImport: i0, template: "<span class=\"inline-flex items-center gap-1 text-sm text-slate-600 dark:text-slate-50\">\r\n @if (prefix) {\r\n <span class=\"text-slate-400 dark:text-slate-300 \">{{ prefix }}</span>\r\n }\r\n\r\n @if (value) {\r\n <span>{{ value | date: format: timezone }}</span>\r\n } @else {\r\n <span>{{ emptyText }}</span>\r\n }\r\n</span>\r\n", styles: [":host{display:inline-flex}\n"], dependencies: [{ kind: "pipe", type: DatePipe, name: "date" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
18
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.2", ngImport: i0, type: CmatDateTimeDisplayComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
19
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.2", type: CmatDateTimeDisplayComponent, isStandalone: true, selector: "cmat-date-time-display", inputs: { value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null }, format: { classPropertyName: "format", publicName: "format", isSignal: true, isRequired: false, transformFunction: null }, timezone: { classPropertyName: "timezone", publicName: "timezone", isSignal: true, isRequired: false, transformFunction: null }, prefix: { classPropertyName: "prefix", publicName: "prefix", isSignal: true, isRequired: false, transformFunction: null }, emptyText: { classPropertyName: "emptyText", publicName: "emptyText", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "<span class=\"inline-flex items-center gap-1 text-sm text-slate-600 dark:text-slate-50\">\r\n @if (prefix() ) {\r\n <span class=\"text-slate-400 dark:text-slate-300 \">{{ prefix() }}</span>\r\n }\r\n\r\n @if (value() ) {\r\n <span>{{ value() | date: format() : timezone() }}</span>\r\n } @else {\r\n <span>{{ emptyText() }}</span>\r\n }\r\n</span>", styles: [":host{display:inline-flex}\n"], dependencies: [{ kind: "pipe", type: DatePipe, name: "date" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
14
20
  }
15
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: CmatDateTimeDisplayComponent, decorators: [{
21
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.2", ngImport: i0, type: CmatDateTimeDisplayComponent, decorators: [{
16
22
  type: Component,
17
- args: [{ selector: 'cmat-date-time-display', changeDetection: ChangeDetectionStrategy.OnPush, imports: [DatePipe], template: "<span class=\"inline-flex items-center gap-1 text-sm text-slate-600 dark:text-slate-50\">\r\n @if (prefix) {\r\n <span class=\"text-slate-400 dark:text-slate-300 \">{{ prefix }}</span>\r\n }\r\n\r\n @if (value) {\r\n <span>{{ value | date: format: timezone }}</span>\r\n } @else {\r\n <span>{{ emptyText }}</span>\r\n }\r\n</span>\r\n", styles: [":host{display:inline-flex}\n"] }]
18
- }], propDecorators: { value: [{
19
- type: Input
20
- }], format: [{
21
- type: Input
22
- }], timezone: [{
23
- type: Input
24
- }], prefix: [{
25
- type: Input
26
- }], emptyText: [{
27
- type: Input
28
- }] } });
23
+ args: [{ selector: 'cmat-date-time-display', changeDetection: ChangeDetectionStrategy.OnPush, imports: [DatePipe], template: "<span class=\"inline-flex items-center gap-1 text-sm text-slate-600 dark:text-slate-50\">\r\n @if (prefix() ) {\r\n <span class=\"text-slate-400 dark:text-slate-300 \">{{ prefix() }}</span>\r\n }\r\n\r\n @if (value() ) {\r\n <span>{{ value() | date: format() : timezone() }}</span>\r\n } @else {\r\n <span>{{ emptyText() }}</span>\r\n }\r\n</span>", styles: [":host{display:inline-flex}\n"] }]
24
+ }], propDecorators: { value: [{ type: i0.Input, args: [{ isSignal: true, alias: "value", required: false }] }], format: [{ type: i0.Input, args: [{ isSignal: true, alias: "format", required: false }] }], timezone: [{ type: i0.Input, args: [{ isSignal: true, alias: "timezone", required: false }] }], prefix: [{ type: i0.Input, args: [{ isSignal: true, alias: "prefix", required: false }] }], emptyText: [{ type: i0.Input, args: [{ isSignal: true, alias: "emptyText", required: false }] }] } });
29
25
 
30
26
  /**
31
27
  * Generated bundle index. Do not edit.
@@ -1 +1 @@
1
- {"version":3,"file":"cmat-components-date-time-display.mjs","sources":["../../../projects/cmat/components/date-time-display/date-time-display.component.ts","../../../projects/cmat/components/date-time-display/date-time-display.component.html","../../../projects/cmat/components/date-time-display/cmat-components-date-time-display.ts"],"sourcesContent":["import { DatePipe } from '@angular/common';\r\nimport { ChangeDetectionStrategy, Component, Input } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'cmat-date-time-display',\r\n templateUrl: './date-time-display.component.html',\r\n styleUrls: ['./date-time-display.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n imports: [DatePipe]\r\n})\r\nexport class CmatDateTimeDisplayComponent {\r\n \r\n @Input() value: string | number | Date | null | undefined;\r\n\r\n \r\n @Input() format:string = 'yyyy-MM-dd HH:mm:ss';\r\n\r\n \r\n @Input() timezone:string = '';\r\n\r\n \r\n @Input() prefix:string = '';\r\n\r\n \r\n @Input() emptyText:string = '-';\r\n}\r\n","<span class=\"inline-flex items-center gap-1 text-sm text-slate-600 dark:text-slate-50\">\r\n @if (prefix) {\r\n <span class=\"text-slate-400 dark:text-slate-300 \">{{ prefix }}</span>\r\n }\r\n\r\n @if (value) {\r\n <span>{{ value | date: format: timezone }}</span>\r\n } @else {\r\n <span>{{ emptyText }}</span>\r\n }\r\n</span>\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;MAUa,4BAA4B,CAAA;AAPzC,IAAA,WAAA,GAAA;QAYa,IAAA,CAAA,MAAM,GAAU,qBAAqB;QAGrC,IAAA,CAAA,QAAQ,GAAU,EAAE;QAGpB,IAAA,CAAA,MAAM,GAAU,EAAE;QAGlB,IAAA,CAAA,SAAS,GAAU,GAAG;AAClC,IAAA;+GAfY,4BAA4B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;mGAA5B,4BAA4B,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,wBAAA,EAAA,MAAA,EAAA,EAAA,KAAA,EAAA,OAAA,EAAA,MAAA,EAAA,QAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,QAAA,EAAA,SAAA,EAAA,WAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECVzC,oXAWA,EAAA,MAAA,EAAA,CAAA,8BAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EDHc,QAAQ,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;4FAET,4BAA4B,EAAA,UAAA,EAAA,CAAA;kBAPxC,SAAS;AACI,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,wBAAwB,mBAGjB,uBAAuB,CAAC,MAAM,EAAA,OAAA,EACtC,CAAC,QAAQ,CAAC,EAAA,QAAA,EAAA,oXAAA,EAAA,MAAA,EAAA,CAAA,8BAAA,CAAA,EAAA;;sBAIlB;;sBAGA;;sBAGA;;sBAGA;;sBAGA;;;AExBL;;AAEG;;;;"}
1
+ {"version":3,"file":"cmat-components-date-time-display.mjs","sources":["../../../projects/cmat/components/date-time-display/date-time-display.component.ts","../../../projects/cmat/components/date-time-display/date-time-display.component.html","../../../projects/cmat/components/date-time-display/cmat-components-date-time-display.ts"],"sourcesContent":["import { DatePipe } from '@angular/common';\r\nimport { ChangeDetectionStrategy, Component, input } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'cmat-date-time-display',\r\n templateUrl: './date-time-display.component.html',\r\n styleUrls: ['./date-time-display.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n imports: [DatePipe]\r\n})\r\nexport class CmatDateTimeDisplayComponent {\r\n readonly value=input<string | number | Date | null | undefined>();\r\n readonly format=input<string>('yyyy-MM-dd HH:mm:ss');\r\n readonly timezone=input<string>(''); \r\n readonly prefix=input<string>(''); \r\n readonly emptyText=input<string>('-');\r\n}\r\n","<span class=\"inline-flex items-center gap-1 text-sm text-slate-600 dark:text-slate-50\">\r\n @if (prefix() ) {\r\n <span class=\"text-slate-400 dark:text-slate-300 \">{{ prefix() }}</span>\r\n }\r\n\r\n @if (value() ) {\r\n <span>{{ value() | date: format() : timezone() }}</span>\r\n } @else {\r\n <span>{{ emptyText() }}</span>\r\n }\r\n</span>","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;MAUa,4BAA4B,CAAA;AAPzC,IAAA,WAAA,GAAA;AAQa,QAAA,IAAA,CAAA,KAAK,GAAC,KAAK;6FAA6C;QACxD,IAAA,CAAA,MAAM,GAAC,KAAK,CAAS,qBAAqB;mFAAC;QAC3C,IAAA,CAAA,QAAQ,GAAC,KAAK,CAAS,EAAE;qFAAC;QAC1B,IAAA,CAAA,MAAM,GAAC,KAAK,CAAS,EAAE;mFAAC;QACxB,IAAA,CAAA,SAAS,GAAC,KAAK,CAAS,GAAG;sFAAC;AACxC,IAAA;8GANY,4BAA4B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAA5B,4BAA4B,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,wBAAA,EAAA,MAAA,EAAA,EAAA,KAAA,EAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,UAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,MAAA,EAAA,EAAA,iBAAA,EAAA,QAAA,EAAA,UAAA,EAAA,QAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,QAAA,EAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,MAAA,EAAA,EAAA,iBAAA,EAAA,QAAA,EAAA,UAAA,EAAA,QAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,iBAAA,EAAA,WAAA,EAAA,UAAA,EAAA,WAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECVzC,qXAUO,EAAA,MAAA,EAAA,CAAA,8BAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EDFO,QAAQ,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;2FAET,4BAA4B,EAAA,UAAA,EAAA,CAAA;kBAPxC,SAAS;AACI,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,wBAAwB,mBAGjB,uBAAuB,CAAC,MAAM,EAAA,OAAA,EACtC,CAAC,QAAQ,CAAC,EAAA,QAAA,EAAA,qXAAA,EAAA,MAAA,EAAA,CAAA,8BAAA,CAAA,EAAA;;;AERvB;;AAEG;;;;"}