@geoit/ui 0.0.2 → 0.0.5

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 (258) hide show
  1. package/AGENTS.md +12 -8
  2. package/README.md +140 -17
  3. package/ai/AGENTS.md +43 -32
  4. package/ai/README.md +36 -2
  5. package/ai/catalog.json +5585 -437
  6. package/ai/components/geo-alert.md +75 -21
  7. package/ai/components/geo-back-button.md +64 -18
  8. package/ai/components/geo-breadcrumb.md +71 -12
  9. package/ai/components/geo-button.md +90 -27
  10. package/ai/components/geo-chart.md +103 -0
  11. package/ai/components/geo-checkbox.md +67 -20
  12. package/ai/components/geo-column-picker.md +91 -18
  13. package/ai/components/geo-confirm-modal.md +92 -27
  14. package/ai/components/geo-dashboard.md +91 -0
  15. package/ai/components/geo-date-picker.md +105 -29
  16. package/ai/components/geo-date-range-picker.md +101 -28
  17. package/ai/components/geo-empty-state.md +75 -0
  18. package/ai/components/geo-feedback-form.md +97 -0
  19. package/ai/components/geo-file-picker.md +99 -26
  20. package/ai/components/geo-forgot-password.md +78 -0
  21. package/ai/components/geo-form-modal.md +111 -44
  22. package/ai/components/geo-icon.md +70 -16
  23. package/ai/components/geo-input.md +94 -29
  24. package/ai/components/geo-layout-footer.md +70 -0
  25. package/ai/components/geo-layout-header-actions.md +82 -0
  26. package/ai/components/geo-layout-header.md +89 -0
  27. package/ai/components/geo-layout-sidebar.md +86 -0
  28. package/ai/components/geo-layout.md +155 -0
  29. package/ai/components/geo-list-page.md +72 -0
  30. package/ai/components/geo-login.md +94 -0
  31. package/ai/components/geo-map-admin-filter.md +80 -0
  32. package/ai/components/geo-map-basemap-switcher.md +75 -0
  33. package/ai/components/geo-map-help.md +72 -0
  34. package/ai/components/geo-map-layer-card.md +73 -0
  35. package/ai/components/geo-map-layer-panel.md +75 -0
  36. package/ai/components/geo-map-layers-drawer.md +78 -0
  37. package/ai/components/geo-map-legend.md +74 -0
  38. package/ai/components/geo-map-locate.md +75 -0
  39. package/ai/components/geo-map-location-chip.md +71 -0
  40. package/ai/components/geo-map-measure.md +74 -0
  41. package/ai/components/geo-map-opacity.md +75 -0
  42. package/ai/components/geo-map-parcel-popup.md +79 -0
  43. package/ai/components/geo-map-search.md +83 -0
  44. package/ai/components/geo-map-shell.md +110 -0
  45. package/ai/components/geo-map-snapshot.md +75 -0
  46. package/ai/components/geo-map-swipe.md +73 -0
  47. package/ai/components/geo-map-toolbar.md +76 -0
  48. package/ai/components/geo-map-zoom.md +74 -0
  49. package/ai/components/geo-map.md +205 -0
  50. package/ai/components/geo-overlap-result.md +88 -0
  51. package/ai/components/geo-page-header.md +72 -0
  52. package/ai/components/geo-page-title.md +62 -16
  53. package/ai/components/geo-pagination.md +76 -24
  54. package/ai/components/geo-radio.md +110 -27
  55. package/ai/components/geo-row-actions.md +87 -19
  56. package/ai/components/geo-select.md +108 -28
  57. package/ai/components/geo-slider.md +70 -21
  58. package/ai/components/geo-stat-card.md +98 -0
  59. package/ai/components/geo-status-tag.md +67 -15
  60. package/ai/components/geo-step-form-layout.md +121 -38
  61. package/ai/components/geo-stepper.md +81 -19
  62. package/ai/components/geo-table-filter.md +90 -29
  63. package/ai/components/geo-table-pagination.md +70 -23
  64. package/ai/components/geo-table-toolbar.md +84 -29
  65. package/ai/components/geo-table.md +191 -59
  66. package/ai/components/geo-tabs.md +99 -27
  67. package/ai/components/geo-textarea.md +84 -23
  68. package/ai/components/geo-toast.md +138 -27
  69. package/ai/components/geo-tree.md +94 -22
  70. package/ai/components/geo-typography.md +70 -19
  71. package/ai/components/geo-upload.md +109 -39
  72. package/ai/mockup.html +1194 -0
  73. package/ai/recipes.md +132 -47
  74. package/esm2022/lib/figma/geo-alert/geo-alert.component.mjs +19 -36
  75. package/esm2022/lib/figma/geo-back-button/geo-back-button.component.mjs +14 -24
  76. package/esm2022/lib/figma/geo-breadcrumb/geo-breadcrumb.component.mjs +8 -11
  77. package/esm2022/lib/figma/geo-button/geo-button.component.mjs +30 -59
  78. package/esm2022/lib/figma/geo-chart/geo-chart.component.mjs +88 -0
  79. package/esm2022/lib/figma/geo-chart/geo-chart.types.mjs +2 -0
  80. package/esm2022/lib/figma/geo-checkbox/geo-checkbox.component.mjs +11 -22
  81. package/esm2022/lib/figma/geo-confirm-modal/geo-confirm-modal.component.mjs +22 -54
  82. package/esm2022/lib/figma/geo-dashboard/geo-dashboard.component.mjs +49 -0
  83. package/esm2022/lib/figma/geo-dashboard/geo-dashboard.types.mjs +2 -0
  84. package/esm2022/lib/figma/geo-date-picker/geo-date-picker.component.mjs +48 -78
  85. package/esm2022/lib/figma/geo-date-range-picker/geo-date-range-picker.component.mjs +47 -75
  86. package/esm2022/lib/figma/geo-empty-state/geo-empty-state.component.mjs +25 -0
  87. package/esm2022/lib/figma/geo-feedback-form/geo-feedback-form.component.mjs +75 -0
  88. package/esm2022/lib/figma/geo-feedback-form/geo-feedback-form.types.mjs +2 -0
  89. package/esm2022/lib/figma/geo-file-picker/geo-file-picker.component.mjs +59 -81
  90. package/esm2022/lib/figma/geo-forgot-password/geo-forgot-password.component.mjs +51 -0
  91. package/esm2022/lib/figma/geo-form-modal/geo-form-modal.component.mjs +45 -112
  92. package/esm2022/lib/figma/geo-icon/geo-icon.component.mjs +22 -32
  93. package/esm2022/lib/figma/geo-input/geo-input.component.mjs +41 -70
  94. package/esm2022/lib/figma/geo-layout/footer/geo-layout-footer.component.mjs +18 -0
  95. package/esm2022/lib/figma/geo-layout/geo-layout-actions.directive.mjs +15 -0
  96. package/esm2022/lib/figma/geo-layout/geo-layout.component.mjs +79 -0
  97. package/esm2022/lib/figma/geo-layout/geo-layout.types.mjs +42 -0
  98. package/esm2022/lib/figma/geo-layout/header/geo-layout-header.component.mjs +60 -0
  99. package/esm2022/lib/figma/geo-layout/header-actions/geo-layout-header-actions.component.mjs +70 -0
  100. package/esm2022/lib/figma/geo-layout/sidebar/geo-layout-sidebar.component.mjs +90 -0
  101. package/esm2022/lib/figma/geo-list-page/geo-list-page.component.mjs +22 -0
  102. package/esm2022/lib/figma/geo-login/geo-login.component.mjs +58 -0
  103. package/esm2022/lib/figma/geo-login/geo-login.types.mjs +2 -0
  104. package/esm2022/lib/figma/geo-map/chrome/geo-map-admin-filter/geo-map-admin-filter.component.mjs +52 -0
  105. package/esm2022/lib/figma/geo-map/chrome/geo-map-basemap-switcher/geo-map-basemap-switcher.component.mjs +61 -0
  106. package/esm2022/lib/figma/geo-map/chrome/geo-map-help/geo-map-help.component.mjs +26 -0
  107. package/esm2022/lib/figma/geo-map/chrome/geo-map-layer-card/geo-map-layer-card.component.mjs +24 -0
  108. package/esm2022/lib/figma/geo-map/chrome/geo-map-layer-panel/geo-map-layer-panel.component.mjs +146 -0
  109. package/esm2022/lib/figma/geo-map/chrome/geo-map-layers-drawer/geo-map-layers-drawer.component.mjs +37 -0
  110. package/esm2022/lib/figma/geo-map/chrome/geo-map-legend/geo-map-legend.component.mjs +30 -0
  111. package/esm2022/lib/figma/geo-map/chrome/geo-map-locate/geo-map-locate.component.mjs +72 -0
  112. package/esm2022/lib/figma/geo-map/chrome/geo-map-location-chip/geo-map-location-chip.component.mjs +21 -0
  113. package/esm2022/lib/figma/geo-map/chrome/geo-map-measure/geo-map-measure.component.mjs +375 -0
  114. package/esm2022/lib/figma/geo-map/chrome/geo-map-opacity/geo-map-opacity.component.mjs +94 -0
  115. package/esm2022/lib/figma/geo-map/chrome/geo-map-parcel-popup/geo-map-parcel-popup.component.mjs +136 -0
  116. package/esm2022/lib/figma/geo-map/chrome/geo-map-search/geo-map-search.component.mjs +182 -0
  117. package/esm2022/lib/figma/geo-map/chrome/geo-map-shell/geo-map-shell.component.mjs +577 -0
  118. package/esm2022/lib/figma/geo-map/chrome/geo-map-snapshot/geo-map-snapshot.component.mjs +93 -0
  119. package/esm2022/lib/figma/geo-map/chrome/geo-map-swipe/geo-map-swipe.component.mjs +129 -0
  120. package/esm2022/lib/figma/geo-map/chrome/geo-map-toolbar/geo-map-toolbar.component.mjs +64 -0
  121. package/esm2022/lib/figma/geo-map/chrome/geo-map-zoom/geo-map-zoom.component.mjs +295 -0
  122. package/esm2022/lib/figma/geo-map/geo-map-toolbar.icons.mjs +18 -0
  123. package/esm2022/lib/figma/geo-map/geo-map.component.mjs +144 -0
  124. package/esm2022/lib/figma/geo-map/geo-map.constants.mjs +497 -0
  125. package/esm2022/lib/figma/geo-map/geo-map.controller.mjs +71 -0
  126. package/esm2022/lib/figma/geo-map/geo-map.types.mjs +2 -0
  127. package/esm2022/lib/figma/geo-map/services/geo-map-layer.service.mjs +368 -0
  128. package/esm2022/lib/figma/geo-map/services/geo-map-projection.service.mjs +110 -0
  129. package/esm2022/lib/figma/geo-map/services/geo-map.service.mjs +540 -0
  130. package/esm2022/lib/figma/geo-map/utils/geo-map-fullscreen-overlay.util.mjs +47 -0
  131. package/esm2022/lib/figma/geo-map/utils/geo-map-interactions.util.mjs +30 -0
  132. package/esm2022/lib/figma/geo-overlap-result/geo-overlap-result.component.mjs +25 -0
  133. package/esm2022/lib/figma/geo-overlap-result/geo-overlap-result.types.mjs +2 -0
  134. package/esm2022/lib/figma/geo-page-header/geo-page-header.component.mjs +23 -0
  135. package/esm2022/lib/figma/geo-page-title/geo-page-title.component.mjs +20 -35
  136. package/esm2022/lib/figma/geo-pagination/geo-pagination.component.mjs +13 -43
  137. package/esm2022/lib/figma/geo-radio/geo-radio.component.mjs +32 -52
  138. package/esm2022/lib/figma/geo-select/geo-select.component.mjs +46 -72
  139. package/esm2022/lib/figma/geo-slider/geo-slider.component.mjs +12 -28
  140. package/esm2022/lib/figma/geo-stat-card/geo-stat-card.component.mjs +163 -0
  141. package/esm2022/lib/figma/geo-stat-card/geo-stat-card.types.mjs +2 -0
  142. package/esm2022/lib/figma/geo-status-tag/geo-status-tag.component.mjs +23 -27
  143. package/esm2022/lib/figma/geo-step-form-layout/geo-step-form-layout.component.mjs +39 -96
  144. package/esm2022/lib/figma/geo-stepper/geo-stepper.component.mjs +18 -33
  145. package/esm2022/lib/figma/geo-table/geo-column-picker/geo-column-picker.component.mjs +14 -24
  146. package/esm2022/lib/figma/geo-table/geo-row-actions/geo-row-actions.component.mjs +18 -36
  147. package/esm2022/lib/figma/geo-table/geo-table-filter/geo-table-filter.component.mjs +41 -98
  148. package/esm2022/lib/figma/geo-table/geo-table-pagination/geo-table-pagination.component.mjs +40 -73
  149. package/esm2022/lib/figma/geo-table/geo-table-toolbar/geo-table-toolbar.component.mjs +26 -56
  150. package/esm2022/lib/figma/geo-table/geo-table.component.mjs +110 -210
  151. package/esm2022/lib/figma/geo-tabs/geo-tabs.component.mjs +33 -63
  152. package/esm2022/lib/figma/geo-textarea/geo-textarea.component.mjs +28 -44
  153. package/esm2022/lib/figma/geo-toast/geo-toast.component.mjs +18 -39
  154. package/esm2022/lib/figma/geo-tree/geo-tree.component.mjs +12 -40
  155. package/esm2022/lib/figma/geo-typography/geo-typography.component.mjs +49 -64
  156. package/esm2022/lib/figma/geo-upload/geo-upload.component.mjs +50 -101
  157. package/esm2022/lib/figma/index.mjs +50 -1
  158. package/esm2022/lib/styles/tokens.mjs +56 -24
  159. package/fesm2022/geoit-ui.mjs +5981 -1825
  160. package/fesm2022/geoit-ui.mjs.map +1 -1
  161. package/lib/figma/geo-alert/geo-alert.component.d.ts +10 -11
  162. package/lib/figma/geo-back-button/geo-back-button.component.d.ts +6 -7
  163. package/lib/figma/geo-breadcrumb/geo-breadcrumb.component.d.ts +2 -2
  164. package/lib/figma/geo-button/geo-button.component.d.ts +21 -17
  165. package/lib/figma/geo-chart/geo-chart.component.d.ts +40 -0
  166. package/lib/figma/geo-chart/geo-chart.types.d.ts +13 -0
  167. package/lib/figma/geo-checkbox/geo-checkbox.component.d.ts +6 -7
  168. package/lib/figma/geo-confirm-modal/geo-confirm-modal.component.d.ts +15 -17
  169. package/lib/figma/geo-dashboard/geo-dashboard.component.d.ts +29 -0
  170. package/lib/figma/geo-dashboard/geo-dashboard.types.d.ts +7 -0
  171. package/lib/figma/geo-date-picker/geo-date-picker.component.d.ts +26 -21
  172. package/lib/figma/geo-date-range-picker/geo-date-range-picker.component.d.ts +25 -20
  173. package/lib/figma/geo-empty-state/geo-empty-state.component.d.ts +17 -0
  174. package/lib/figma/geo-feedback-form/geo-feedback-form.component.d.ts +36 -0
  175. package/lib/figma/geo-feedback-form/geo-feedback-form.types.d.ts +8 -0
  176. package/lib/figma/geo-file-picker/geo-file-picker.component.d.ts +23 -20
  177. package/lib/figma/geo-forgot-password/geo-forgot-password.component.d.ts +24 -0
  178. package/lib/figma/geo-form-modal/geo-form-modal.component.d.ts +33 -35
  179. package/lib/figma/geo-icon/geo-icon.component.d.ts +7 -7
  180. package/lib/figma/geo-input/geo-input.component.d.ts +23 -21
  181. package/lib/figma/geo-layout/footer/geo-layout-footer.component.d.ts +10 -0
  182. package/lib/figma/geo-layout/geo-layout-actions.directive.d.ts +6 -0
  183. package/lib/figma/geo-layout/geo-layout.component.d.ts +48 -0
  184. package/lib/figma/geo-layout/geo-layout.types.d.ts +44 -0
  185. package/lib/figma/geo-layout/header/geo-layout-header.component.d.ts +31 -0
  186. package/lib/figma/geo-layout/header-actions/geo-layout-header-actions.component.d.ts +32 -0
  187. package/lib/figma/geo-layout/sidebar/geo-layout-sidebar.component.d.ts +34 -0
  188. package/lib/figma/geo-list-page/geo-list-page.component.d.ts +16 -0
  189. package/lib/figma/geo-login/geo-login.component.d.ts +27 -0
  190. package/lib/figma/geo-login/geo-login.types.d.ts +6 -0
  191. package/lib/figma/geo-map/chrome/geo-map-admin-filter/geo-map-admin-filter.component.d.ts +28 -0
  192. package/lib/figma/geo-map/chrome/geo-map-basemap-switcher/geo-map-basemap-switcher.component.d.ts +26 -0
  193. package/lib/figma/geo-map/chrome/geo-map-help/geo-map-help.component.d.ts +20 -0
  194. package/lib/figma/geo-map/chrome/geo-map-layer-card/geo-map-layer-card.component.d.ts +15 -0
  195. package/lib/figma/geo-map/chrome/geo-map-layer-panel/geo-map-layer-panel.component.d.ts +40 -0
  196. package/lib/figma/geo-map/chrome/geo-map-layers-drawer/geo-map-layers-drawer.component.d.ts +25 -0
  197. package/lib/figma/geo-map/chrome/geo-map-legend/geo-map-legend.component.d.ts +18 -0
  198. package/lib/figma/geo-map/chrome/geo-map-locate/geo-map-locate.component.d.ts +24 -0
  199. package/lib/figma/geo-map/chrome/geo-map-location-chip/geo-map-location-chip.component.d.ts +14 -0
  200. package/lib/figma/geo-map/chrome/geo-map-measure/geo-map-measure.component.d.ts +49 -0
  201. package/lib/figma/geo-map/chrome/geo-map-opacity/geo-map-opacity.component.d.ts +30 -0
  202. package/lib/figma/geo-map/chrome/geo-map-parcel-popup/geo-map-parcel-popup.component.d.ts +44 -0
  203. package/lib/figma/geo-map/chrome/geo-map-search/geo-map-search.component.d.ts +56 -0
  204. package/lib/figma/geo-map/chrome/geo-map-shell/geo-map-shell.component.d.ts +103 -0
  205. package/lib/figma/geo-map/chrome/geo-map-snapshot/geo-map-snapshot.component.d.ts +21 -0
  206. package/lib/figma/geo-map/chrome/geo-map-swipe/geo-map-swipe.component.d.ts +33 -0
  207. package/lib/figma/geo-map/chrome/geo-map-toolbar/geo-map-toolbar.component.d.ts +30 -0
  208. package/lib/figma/geo-map/chrome/geo-map-zoom/geo-map-zoom.component.d.ts +67 -0
  209. package/lib/figma/geo-map/geo-map-toolbar.icons.d.ts +17 -0
  210. package/lib/figma/geo-map/geo-map.component.d.ts +53 -0
  211. package/lib/figma/geo-map/geo-map.constants.d.ts +73 -0
  212. package/lib/figma/geo-map/geo-map.controller.d.ts +49 -0
  213. package/lib/figma/geo-map/geo-map.types.d.ts +224 -0
  214. package/lib/figma/geo-map/services/geo-map-layer.service.d.ts +42 -0
  215. package/lib/figma/geo-map/services/geo-map-projection.service.d.ts +32 -0
  216. package/lib/figma/geo-map/services/geo-map.service.d.ts +99 -0
  217. package/lib/figma/geo-map/utils/geo-map-fullscreen-overlay.util.d.ts +13 -0
  218. package/lib/figma/geo-map/utils/geo-map-interactions.util.d.ts +9 -0
  219. package/lib/figma/geo-overlap-result/geo-overlap-result.component.d.ts +18 -0
  220. package/lib/figma/geo-overlap-result/geo-overlap-result.types.d.ts +7 -0
  221. package/lib/figma/geo-page-header/geo-page-header.component.d.ts +16 -0
  222. package/lib/figma/geo-page-title/geo-page-title.component.d.ts +9 -9
  223. package/lib/figma/geo-pagination/geo-pagination.component.d.ts +9 -14
  224. package/lib/figma/geo-radio/geo-radio.component.d.ts +17 -15
  225. package/lib/figma/geo-select/geo-select.component.d.ts +24 -19
  226. package/lib/figma/geo-slider/geo-slider.component.d.ts +7 -9
  227. package/lib/figma/geo-stat-card/geo-stat-card.component.d.ts +50 -0
  228. package/lib/figma/geo-stat-card/geo-stat-card.types.d.ts +11 -0
  229. package/lib/figma/geo-status-tag/geo-status-tag.component.d.ts +7 -7
  230. package/lib/figma/geo-step-form-layout/geo-step-form-layout.component.d.ts +27 -29
  231. package/lib/figma/geo-stepper/geo-stepper.component.d.ts +6 -8
  232. package/lib/figma/geo-table/geo-column-picker/geo-column-picker.component.d.ts +6 -7
  233. package/lib/figma/geo-table/geo-row-actions/geo-row-actions.component.d.ts +11 -12
  234. package/lib/figma/geo-table/geo-table-filter/geo-table-filter.component.d.ts +21 -28
  235. package/lib/figma/geo-table/geo-table-pagination/geo-table-pagination.component.d.ts +17 -20
  236. package/lib/figma/geo-table/geo-table-toolbar/geo-table-toolbar.component.d.ts +17 -18
  237. package/lib/figma/geo-table/geo-table.component.d.ts +58 -62
  238. package/lib/figma/geo-tabs/geo-tabs.component.d.ts +14 -17
  239. package/lib/figma/geo-textarea/geo-textarea.component.d.ts +15 -13
  240. package/lib/figma/geo-toast/geo-toast.component.d.ts +11 -12
  241. package/lib/figma/geo-tree/geo-tree.component.d.ts +8 -13
  242. package/lib/figma/geo-typography/geo-typography.component.d.ts +13 -13
  243. package/lib/figma/geo-upload/geo-upload.component.d.ts +26 -28
  244. package/lib/figma/index.d.ts +49 -0
  245. package/lib/styles/tokens.d.ts +56 -23
  246. package/package.json +4 -2
  247. package/src/lib/figma/geo-map/assets/toolbar/fullscreen.svg +8 -0
  248. package/src/lib/figma/geo-map/assets/toolbar/home.svg +3 -0
  249. package/src/lib/figma/geo-map/assets/toolbar/layers.svg +3 -0
  250. package/src/lib/figma/geo-map/assets/toolbar/measure-area.svg +12 -0
  251. package/src/lib/figma/geo-map/assets/toolbar/measure-distance.svg +5 -0
  252. package/src/lib/figma/geo-map/assets/toolbar/pan.svg +13 -0
  253. package/src/lib/figma/geo-map/assets/toolbar/search.svg +3 -0
  254. package/src/lib/figma/geo-map/assets/toolbar/zoom-in.svg +3 -0
  255. package/src/lib/figma/geo-map/assets/toolbar/zoom-out.svg +5 -0
  256. package/src/lib/styles/design-tokens.scss +108 -35
  257. package/src/lib/styles/scrollbar.scss +2 -2
  258. package/src/lib/styles/theme.scss +1 -1
@@ -1,5 +1,4 @@
1
- import { Component, EventEmitter, Input, Output, ViewEncapsulation, } from '@angular/core';
2
- import { CommonModule } from '@angular/common';
1
+ import { ChangeDetectionStrategy, Component, computed, input, model, output, ViewEncapsulation, } from '@angular/core';
3
2
  import { NgZorroAntdModule } from '../../ng-zorro/ng-zorro-antd.module';
4
3
  import { NzIconModule } from 'ng-zorro-antd/icon';
5
4
  import { GeoButtonComponent } from '../geo-button/geo-button.component';
@@ -8,69 +7,38 @@ import * as i1 from "ng-zorro-antd/core/transition-patch";
8
7
  import * as i2 from "ng-zorro-antd/icon";
9
8
  import * as i3 from "ng-zorro-antd/modal";
10
9
  export class GeoConfirmModalComponent {
11
- visible = false;
12
- title = 'Xác nhận xoá';
13
- message = '';
14
- highlight = '';
15
- description = 'Hành động không thể hoàn tác, bạn chắc chắn muốn thực hiện?';
16
- cancelText = 'Hủy';
17
- confirmText = 'Xác nhận';
18
- confirmLoading = false;
19
- width = 445;
20
- maskClosable = false;
21
- closable = true;
22
- visibleChange = new EventEmitter();
23
- confirm = new EventEmitter();
24
- cancel = new EventEmitter();
25
- get hasDefaultBody() {
26
- return !!(this.message || this.highlight || this.description);
27
- }
10
+ visible = model(false);
11
+ title = input('Xác nhận xoá');
12
+ message = input('');
13
+ highlight = input('');
14
+ description = input('Hành động không thể hoàn tác, bạn chắc chắn muốn thực hiện?');
15
+ cancelText = input('Hủy');
16
+ confirmText = input('Xác nhận');
17
+ confirmLoading = input(false);
18
+ width = input(445);
19
+ maskClosable = input(false);
20
+ closable = input(true);
21
+ confirm = output();
22
+ cancel = output();
23
+ hasDefaultBody = computed(() => !!(this.message() || this.highlight() || this.description()));
28
24
  onVisibleChange(visible) {
29
- if (this.visible === visible) {
25
+ if (this.visible() === visible) {
30
26
  return;
31
27
  }
32
- this.visibleChange.emit(visible);
28
+ this.visible.set(visible);
33
29
  }
34
30
  onCancel() {
35
- this.visibleChange.emit(false);
31
+ this.visible.set(false);
36
32
  this.cancel.emit();
37
33
  }
38
34
  onConfirm() {
39
35
  this.confirm.emit();
40
36
  }
41
37
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: GeoConfirmModalComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
42
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: GeoConfirmModalComponent, isStandalone: true, selector: "geo-confirm-modal", inputs: { visible: "visible", title: "title", message: "message", highlight: "highlight", description: "description", cancelText: "cancelText", confirmText: "confirmText", confirmLoading: "confirmLoading", width: "width", maskClosable: "maskClosable", closable: "closable" }, outputs: { visibleChange: "visibleChange", confirm: "confirm", cancel: "cancel" }, ngImport: i0, template: "<nz-modal\n [nzVisible]=\"visible\"\n [nzTitle]=\"''\"\n [nzFooter]=\"null\"\n [nzClosable]=\"false\"\n [nzMaskClosable]=\"maskClosable\"\n [nzWidth]=\"width\"\n nzWrapClassName=\"geo-confirm-modal-wrap\"\n nzClassName=\"geo-confirm-modal\"\n (nzVisibleChange)=\"onVisibleChange($event)\"\n>\n <ng-container *nzModalContent>\n <div class=\"geo-confirm-modal__content\">\n <div class=\"geo-confirm-modal__header\">\n <h2 class=\"geo-confirm-modal__title\">{{ title }}</h2>\n @if (closable) {\n <button\n type=\"button\"\n class=\"geo-confirm-modal__close\"\n aria-label=\"\u0110\u00F3ng\"\n (click)=\"onCancel()\"\n >\n <span nz-icon nzType=\"close\" nzTheme=\"outline\"></span>\n </button>\n }\n </div>\n\n <div class=\"geo-confirm-modal__body\">\n @if (hasDefaultBody) {\n <div class=\"geo-confirm-modal__message\">\n @if (message || highlight) {\n <p class=\"geo-confirm-modal__paragraph\">\n @if (message) {\n <span>{{ message }}</span>\n }\n @if (highlight) {\n <strong class=\"geo-confirm-modal__highlight\">\u201C{{ highlight }}\u201D</strong>\n }\n </p>\n }\n @if (description) {\n <p class=\"geo-confirm-modal__paragraph\">{{ description }}</p>\n }\n </div>\n } @else {\n <div class=\"geo-confirm-modal__message\">\n <ng-content></ng-content>\n </div>\n }\n </div>\n\n <div class=\"geo-confirm-modal__footer\">\n <geo-button appearance=\"secondary\" color=\"brand\" (clicked)=\"onCancel()\">\n {{ cancelText }}\n </geo-button>\n <geo-button\n appearance=\"primary\"\n color=\"brand\"\n [disabled]=\"confirmLoading\"\n (clicked)=\"onConfirm()\"\n >\n {{ confirmText }}\n </geo-button>\n </div>\n </div>\n </ng-container>\n</nz-modal>\n", styles: [".geo-confirm-modal-wrap .ant-modal-header{display:none}.geo-confirm-modal-wrap .ant-modal-content{border-radius:var(--geo-radius);padding:0;overflow:hidden}.geo-confirm-modal-wrap .ant-modal-body{padding:0}.geo-confirm-modal__content{display:flex;flex-direction:column;gap:17px;padding:24px;background:var(--geo-color-neutral-white)}.geo-confirm-modal__header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-bottom:16px}.geo-confirm-modal__title{margin:0;font-size:18px;font-weight:700;line-height:normal;color:var(--geo-color-neutral-500)}.geo-confirm-modal__close{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;border:none;background:transparent;color:var(--geo-color-neutral-500);cursor:pointer;flex-shrink:0}.geo-confirm-modal__close:hover{color:var(--geo-color-neutral-900)}.geo-confirm-modal__body{display:flex;flex-direction:column}.geo-confirm-modal__message{display:flex;flex-direction:column;gap:8px;max-width:397px;font-size:14px;line-height:1.4;color:var(--geo-color-neutral-900)}.geo-confirm-modal__paragraph{margin:0}.geo-confirm-modal__highlight{font-weight:600}.geo-confirm-modal__footer{display:flex;align-items:center;justify-content:flex-end;gap:12px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: NgZorroAntdModule }, { kind: "directive", type: i1.ɵNzTransitionPatchDirective, selector: "[nz-button], nz-button-group, [nz-icon], [nz-menu-item], [nz-submenu], nz-select-top-control, nz-select-placeholder, nz-input-group", inputs: ["hidden"] }, { kind: "directive", type: i2.NzIconDirective, selector: "[nz-icon]", inputs: ["nzSpin", "nzRotate", "nzType", "nzTheme", "nzTwotoneColor", "nzIconfont"], exportAs: ["nzIcon"] }, { kind: "component", type: i3.NzModalComponent, selector: "nz-modal", inputs: ["nzMask", "nzMaskClosable", "nzCloseOnNavigation", "nzVisible", "nzClosable", "nzOkLoading", "nzOkDisabled", "nzCancelDisabled", "nzCancelLoading", "nzKeyboard", "nzNoAnimation", "nzCentered", "nzDraggable", "nzContent", "nzFooter", "nzZIndex", "nzWidth", "nzWrapClassName", "nzClassName", "nzStyle", "nzTitle", "nzCloseIcon", "nzMaskStyle", "nzBodyStyle", "nzOkText", "nzCancelText", "nzOkType", "nzOkDanger", "nzIconType", "nzModalType", "nzAutofocus", "nzOnOk", "nzOnCancel"], outputs: ["nzOnOk", "nzOnCancel", "nzAfterOpen", "nzAfterClose", "nzVisibleChange"], exportAs: ["nzModal"] }, { kind: "directive", type: i3.NzModalContentDirective, selector: "[nzModalContent]", exportAs: ["nzModalContent"] }, { kind: "ngmodule", type: NzIconModule }, { kind: "component", type: GeoButtonComponent, selector: "geo-button", inputs: ["appearance", "color", "icon", "iconTheme", "iconPlacement", "iconOnly", "type", "disabled", "tooltip", "tooltipPlacement", "active", "title"], outputs: ["clicked"] }], encapsulation: i0.ViewEncapsulation.None });
38
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: GeoConfirmModalComponent, isStandalone: true, selector: "geo-confirm-modal", inputs: { visible: { classPropertyName: "visible", publicName: "visible", isSignal: true, isRequired: false, transformFunction: null }, title: { classPropertyName: "title", publicName: "title", isSignal: true, isRequired: false, transformFunction: null }, message: { classPropertyName: "message", publicName: "message", isSignal: true, isRequired: false, transformFunction: null }, highlight: { classPropertyName: "highlight", publicName: "highlight", isSignal: true, isRequired: false, transformFunction: null }, description: { classPropertyName: "description", publicName: "description", isSignal: true, isRequired: false, transformFunction: null }, cancelText: { classPropertyName: "cancelText", publicName: "cancelText", isSignal: true, isRequired: false, transformFunction: null }, confirmText: { classPropertyName: "confirmText", publicName: "confirmText", isSignal: true, isRequired: false, transformFunction: null }, confirmLoading: { classPropertyName: "confirmLoading", publicName: "confirmLoading", isSignal: true, isRequired: false, transformFunction: null }, width: { classPropertyName: "width", publicName: "width", isSignal: true, isRequired: false, transformFunction: null }, maskClosable: { classPropertyName: "maskClosable", publicName: "maskClosable", isSignal: true, isRequired: false, transformFunction: null }, closable: { classPropertyName: "closable", publicName: "closable", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { visible: "visibleChange", confirm: "confirm", cancel: "cancel" }, ngImport: i0, template: "<nz-modal\n [nzVisible]=\"visible()\"\n [nzTitle]=\"''\"\n [nzFooter]=\"null\"\n [nzClosable]=\"false\"\n [nzMaskClosable]=\"maskClosable()\"\n [nzWidth]=\"width()\"\n nzWrapClassName=\"geo-confirm-modal-wrap\"\n nzClassName=\"geo-confirm-modal\"\n (nzVisibleChange)=\"onVisibleChange($event)\"\n>\n <ng-container *nzModalContent>\n <div class=\"geo-confirm-modal__content\">\n <div class=\"geo-confirm-modal__header\">\n <h2 class=\"geo-confirm-modal__title\">{{ title() }}</h2>\n @if (closable()) {\n <button\n type=\"button\"\n class=\"geo-confirm-modal__close\"\n aria-label=\"\u0110\u00F3ng\"\n (click)=\"onCancel()\"\n >\n <span nz-icon nzType=\"close\" nzTheme=\"outline\"></span>\n </button>\n }\n </div>\n\n <div class=\"geo-confirm-modal__body\">\n @if (hasDefaultBody()) {\n <div class=\"geo-confirm-modal__message\">\n @if (message() || highlight()) {\n <p class=\"geo-confirm-modal__paragraph\">\n @if (message()) {\n <span>{{ message() }}</span>\n }\n @if (highlight()) {\n <strong class=\"geo-confirm-modal__highlight\">\u201C{{ highlight() }}\u201D</strong>\n }\n </p>\n }\n @if (description()) {\n <p class=\"geo-confirm-modal__paragraph\">{{ description() }}</p>\n }\n </div>\n } @else {\n <div class=\"geo-confirm-modal__message\">\n <ng-content></ng-content>\n </div>\n }\n </div>\n\n <div class=\"geo-confirm-modal__footer\">\n <geo-button appearance=\"secondary\" color=\"brand\" (clicked)=\"onCancel()\">\n {{ cancelText() }}\n </geo-button>\n <geo-button\n appearance=\"primary\"\n color=\"brand\"\n [disabled]=\"confirmLoading()\"\n (clicked)=\"onConfirm()\"\n >\n {{ confirmText() }}\n </geo-button>\n </div>\n </div>\n </ng-container>\n</nz-modal>\n", styles: [".geo-confirm-modal-wrap .ant-modal-header{display:none}.geo-confirm-modal-wrap .ant-modal-content{border-radius:var(--geo-radius-lg);padding:0;overflow:hidden;box-shadow:var(--geo-shadow-md)}.geo-confirm-modal-wrap .ant-modal-body{padding:0}.geo-confirm-modal__content{display:flex;flex-direction:column;gap:17px;padding:24px;background:var(--geo-color-surface-elevated)}.geo-confirm-modal__header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-bottom:16px}.geo-confirm-modal__title{margin:0;font-size:18px;font-weight:700;line-height:normal;color:var(--geo-color-neutral-500)}.geo-confirm-modal__close{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;border:none;background:transparent;color:var(--geo-color-neutral-500);cursor:pointer;flex-shrink:0}.geo-confirm-modal__close:hover{color:var(--geo-color-neutral-900)}.geo-confirm-modal__body{display:flex;flex-direction:column}.geo-confirm-modal__message{display:flex;flex-direction:column;gap:8px;max-width:397px;font-size:14px;line-height:1.4;color:var(--geo-color-neutral-900)}.geo-confirm-modal__paragraph{margin:0}.geo-confirm-modal__highlight{font-weight:600}.geo-confirm-modal__footer{display:flex;align-items:center;justify-content:flex-end;gap:12px}\n"], dependencies: [{ kind: "ngmodule", type: NgZorroAntdModule }, { kind: "directive", type: i1.ɵNzTransitionPatchDirective, selector: "[nz-button], nz-button-group, [nz-icon], [nz-menu-item], [nz-submenu], nz-select-top-control, nz-select-placeholder, nz-input-group", inputs: ["hidden"] }, { kind: "directive", type: i2.NzIconDirective, selector: "[nz-icon]", inputs: ["nzSpin", "nzRotate", "nzType", "nzTheme", "nzTwotoneColor", "nzIconfont"], exportAs: ["nzIcon"] }, { kind: "component", type: i3.NzModalComponent, selector: "nz-modal", inputs: ["nzMask", "nzMaskClosable", "nzCloseOnNavigation", "nzVisible", "nzClosable", "nzOkLoading", "nzOkDisabled", "nzCancelDisabled", "nzCancelLoading", "nzKeyboard", "nzNoAnimation", "nzCentered", "nzDraggable", "nzContent", "nzFooter", "nzZIndex", "nzWidth", "nzWrapClassName", "nzClassName", "nzStyle", "nzTitle", "nzCloseIcon", "nzMaskStyle", "nzBodyStyle", "nzOkText", "nzCancelText", "nzOkType", "nzOkDanger", "nzIconType", "nzModalType", "nzAutofocus", "nzOnOk", "nzOnCancel"], outputs: ["nzOnOk", "nzOnCancel", "nzAfterOpen", "nzAfterClose", "nzVisibleChange"], exportAs: ["nzModal"] }, { kind: "directive", type: i3.NzModalContentDirective, selector: "[nzModalContent]", exportAs: ["nzModalContent"] }, { kind: "ngmodule", type: NzIconModule }, { kind: "component", type: GeoButtonComponent, selector: "geo-button", inputs: ["appearance", "color", "icon", "iconTheme", "iconPlacement", "iconOnly", "type", "disabled", "tooltip", "tooltipPlacement", "active", "title"], outputs: ["clicked"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
43
39
  }
44
40
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: GeoConfirmModalComponent, decorators: [{
45
41
  type: Component,
46
- args: [{ selector: 'geo-confirm-modal', standalone: true, imports: [CommonModule, NgZorroAntdModule, NzIconModule, GeoButtonComponent], encapsulation: ViewEncapsulation.None, template: "<nz-modal\n [nzVisible]=\"visible\"\n [nzTitle]=\"''\"\n [nzFooter]=\"null\"\n [nzClosable]=\"false\"\n [nzMaskClosable]=\"maskClosable\"\n [nzWidth]=\"width\"\n nzWrapClassName=\"geo-confirm-modal-wrap\"\n nzClassName=\"geo-confirm-modal\"\n (nzVisibleChange)=\"onVisibleChange($event)\"\n>\n <ng-container *nzModalContent>\n <div class=\"geo-confirm-modal__content\">\n <div class=\"geo-confirm-modal__header\">\n <h2 class=\"geo-confirm-modal__title\">{{ title }}</h2>\n @if (closable) {\n <button\n type=\"button\"\n class=\"geo-confirm-modal__close\"\n aria-label=\"\u0110\u00F3ng\"\n (click)=\"onCancel()\"\n >\n <span nz-icon nzType=\"close\" nzTheme=\"outline\"></span>\n </button>\n }\n </div>\n\n <div class=\"geo-confirm-modal__body\">\n @if (hasDefaultBody) {\n <div class=\"geo-confirm-modal__message\">\n @if (message || highlight) {\n <p class=\"geo-confirm-modal__paragraph\">\n @if (message) {\n <span>{{ message }}</span>\n }\n @if (highlight) {\n <strong class=\"geo-confirm-modal__highlight\">\u201C{{ highlight }}\u201D</strong>\n }\n </p>\n }\n @if (description) {\n <p class=\"geo-confirm-modal__paragraph\">{{ description }}</p>\n }\n </div>\n } @else {\n <div class=\"geo-confirm-modal__message\">\n <ng-content></ng-content>\n </div>\n }\n </div>\n\n <div class=\"geo-confirm-modal__footer\">\n <geo-button appearance=\"secondary\" color=\"brand\" (clicked)=\"onCancel()\">\n {{ cancelText }}\n </geo-button>\n <geo-button\n appearance=\"primary\"\n color=\"brand\"\n [disabled]=\"confirmLoading\"\n (clicked)=\"onConfirm()\"\n >\n {{ confirmText }}\n </geo-button>\n </div>\n </div>\n </ng-container>\n</nz-modal>\n", styles: [".geo-confirm-modal-wrap .ant-modal-header{display:none}.geo-confirm-modal-wrap .ant-modal-content{border-radius:var(--geo-radius);padding:0;overflow:hidden}.geo-confirm-modal-wrap .ant-modal-body{padding:0}.geo-confirm-modal__content{display:flex;flex-direction:column;gap:17px;padding:24px;background:var(--geo-color-neutral-white)}.geo-confirm-modal__header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-bottom:16px}.geo-confirm-modal__title{margin:0;font-size:18px;font-weight:700;line-height:normal;color:var(--geo-color-neutral-500)}.geo-confirm-modal__close{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;border:none;background:transparent;color:var(--geo-color-neutral-500);cursor:pointer;flex-shrink:0}.geo-confirm-modal__close:hover{color:var(--geo-color-neutral-900)}.geo-confirm-modal__body{display:flex;flex-direction:column}.geo-confirm-modal__message{display:flex;flex-direction:column;gap:8px;max-width:397px;font-size:14px;line-height:1.4;color:var(--geo-color-neutral-900)}.geo-confirm-modal__paragraph{margin:0}.geo-confirm-modal__highlight{font-weight:600}.geo-confirm-modal__footer{display:flex;align-items:center;justify-content:flex-end;gap:12px}\n"] }]
47
- }], propDecorators: { visible: [{
48
- type: Input
49
- }], title: [{
50
- type: Input
51
- }], message: [{
52
- type: Input
53
- }], highlight: [{
54
- type: Input
55
- }], description: [{
56
- type: Input
57
- }], cancelText: [{
58
- type: Input
59
- }], confirmText: [{
60
- type: Input
61
- }], confirmLoading: [{
62
- type: Input
63
- }], width: [{
64
- type: Input
65
- }], maskClosable: [{
66
- type: Input
67
- }], closable: [{
68
- type: Input
69
- }], visibleChange: [{
70
- type: Output
71
- }], confirm: [{
72
- type: Output
73
- }], cancel: [{
74
- type: Output
75
- }] } });
76
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VvLWNvbmZpcm0tbW9kYWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZ2VvLXVpL3NyYy9saWIvZmlnbWEvZ2VvLWNvbmZpcm0tbW9kYWwvZ2VvLWNvbmZpcm0tbW9kYWwuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZ2VvLXVpL3NyYy9saWIvZmlnbWEvZ2VvLWNvbmZpcm0tbW9kYWwvZ2VvLWNvbmZpcm0tbW9kYWwuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUNMLE1BQU0sRUFDTixpQkFBaUIsR0FDbEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQ3hFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNsRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQzs7Ozs7QUFVeEUsTUFBTSxPQUFPLHdCQUF3QjtJQUMxQixPQUFPLEdBQUcsS0FBSyxDQUFDO0lBQ2hCLEtBQUssR0FBRyxjQUFjLENBQUM7SUFDdkIsT0FBTyxHQUFHLEVBQUUsQ0FBQztJQUNiLFNBQVMsR0FBRyxFQUFFLENBQUM7SUFDZixXQUFXLEdBQUcsNkRBQTZELENBQUM7SUFDNUUsVUFBVSxHQUFHLEtBQUssQ0FBQztJQUNuQixXQUFXLEdBQUcsVUFBVSxDQUFDO0lBQ3pCLGNBQWMsR0FBRyxLQUFLLENBQUM7SUFDdkIsS0FBSyxHQUFvQixHQUFHLENBQUM7SUFDN0IsWUFBWSxHQUFHLEtBQUssQ0FBQztJQUNyQixRQUFRLEdBQUcsSUFBSSxDQUFDO0lBRWYsYUFBYSxHQUFHLElBQUksWUFBWSxFQUFXLENBQUM7SUFDNUMsT0FBTyxHQUFHLElBQUksWUFBWSxFQUFRLENBQUM7SUFDbkMsTUFBTSxHQUFHLElBQUksWUFBWSxFQUFRLENBQUM7SUFFNUMsSUFBSSxjQUFjO1FBQ2hCLE9BQU8sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sSUFBSSxJQUFJLENBQUMsU0FBUyxJQUFJLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUNoRSxDQUFDO0lBRUQsZUFBZSxDQUFDLE9BQWdCO1FBQzlCLElBQUksSUFBSSxDQUFDLE9BQU8sS0FBSyxPQUFPLEVBQUUsQ0FBQztZQUM3QixPQUFPO1FBQ1QsQ0FBQztRQUVELElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ25DLENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDL0IsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNyQixDQUFDO0lBRUQsU0FBUztRQUNQLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDdEIsQ0FBQzt3R0FwQ1Usd0JBQXdCOzRGQUF4Qix3QkFBd0Isb2JDcEJyQyxnbEVBbUVBLDR4Q0RwRFksWUFBWSw4QkFBRSxpQkFBaUIscXNDQUFFLFlBQVksK0JBQUUsa0JBQWtCOzs0RkFLaEUsd0JBQXdCO2tCQVJwQyxTQUFTOytCQUNFLG1CQUFtQixjQUNqQixJQUFJLFdBQ1AsQ0FBQyxZQUFZLEVBQUUsaUJBQWlCLEVBQUUsWUFBWSxFQUFFLGtCQUFrQixDQUFDLGlCQUc3RCxpQkFBaUIsQ0FBQyxJQUFJOzhCQUc1QixPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFFSSxhQUFhO3NCQUF0QixNQUFNO2dCQUNHLE9BQU87c0JBQWhCLE1BQU07Z0JBQ0csTUFBTTtzQkFBZixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPdXRwdXQsXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBOZ1pvcnJvQW50ZE1vZHVsZSB9IGZyb20gJy4uLy4uL25nLXpvcnJvL25nLXpvcnJvLWFudGQubW9kdWxlJztcbmltcG9ydCB7IE56SWNvbk1vZHVsZSB9IGZyb20gJ25nLXpvcnJvLWFudGQvaWNvbic7XG5pbXBvcnQgeyBHZW9CdXR0b25Db21wb25lbnQgfSBmcm9tICcuLi9nZW8tYnV0dG9uL2dlby1idXR0b24uY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZ2VvLWNvbmZpcm0tbW9kYWwnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBOZ1pvcnJvQW50ZE1vZHVsZSwgTnpJY29uTW9kdWxlLCBHZW9CdXR0b25Db21wb25lbnRdLFxuICB0ZW1wbGF0ZVVybDogJy4vZ2VvLWNvbmZpcm0tbW9kYWwuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybDogJy4vZ2VvLWNvbmZpcm0tbW9kYWwuY29tcG9uZW50LnNjc3MnLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxufSlcbmV4cG9ydCBjbGFzcyBHZW9Db25maXJtTW9kYWxDb21wb25lbnQge1xuICBASW5wdXQoKSB2aXNpYmxlID0gZmFsc2U7XG4gIEBJbnB1dCgpIHRpdGxlID0gJ1jDoWMgbmjhuq1uIHhvw6EnO1xuICBASW5wdXQoKSBtZXNzYWdlID0gJyc7XG4gIEBJbnB1dCgpIGhpZ2hsaWdodCA9ICcnO1xuICBASW5wdXQoKSBkZXNjcmlwdGlvbiA9ICdIw6BuaCDEkeG7mW5nIGtow7RuZyB0aOG7gyBob8OgbiB0w6FjLCBi4bqhbiBjaOG6r2MgY2jhuq9uIG114buRbiB0aOG7sWMgaGnhu4duPyc7XG4gIEBJbnB1dCgpIGNhbmNlbFRleHQgPSAnSOG7p3knO1xuICBASW5wdXQoKSBjb25maXJtVGV4dCA9ICdYw6FjIG5o4bqtbic7XG4gIEBJbnB1dCgpIGNvbmZpcm1Mb2FkaW5nID0gZmFsc2U7XG4gIEBJbnB1dCgpIHdpZHRoOiBudW1iZXIgfCBzdHJpbmcgPSA0NDU7XG4gIEBJbnB1dCgpIG1hc2tDbG9zYWJsZSA9IGZhbHNlO1xuICBASW5wdXQoKSBjbG9zYWJsZSA9IHRydWU7XG5cbiAgQE91dHB1dCgpIHZpc2libGVDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG4gIEBPdXRwdXQoKSBjb25maXJtID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuICBAT3V0cHV0KCkgY2FuY2VsID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG4gIGdldCBoYXNEZWZhdWx0Qm9keSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gISEodGhpcy5tZXNzYWdlIHx8IHRoaXMuaGlnaGxpZ2h0IHx8IHRoaXMuZGVzY3JpcHRpb24pO1xuICB9XG5cbiAgb25WaXNpYmxlQ2hhbmdlKHZpc2libGU6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICBpZiAodGhpcy52aXNpYmxlID09PSB2aXNpYmxlKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy52aXNpYmxlQ2hhbmdlLmVtaXQodmlzaWJsZSk7XG4gIH1cblxuICBvbkNhbmNlbCgpOiB2b2lkIHtcbiAgICB0aGlzLnZpc2libGVDaGFuZ2UuZW1pdChmYWxzZSk7XG4gICAgdGhpcy5jYW5jZWwuZW1pdCgpO1xuICB9XG5cbiAgb25Db25maXJtKCk6IHZvaWQge1xuICAgIHRoaXMuY29uZmlybS5lbWl0KCk7XG4gIH1cbn1cbiIsIjxuei1tb2RhbFxuICBbbnpWaXNpYmxlXT1cInZpc2libGVcIlxuICBbbnpUaXRsZV09XCInJ1wiXG4gIFtuekZvb3Rlcl09XCJudWxsXCJcbiAgW256Q2xvc2FibGVdPVwiZmFsc2VcIlxuICBbbnpNYXNrQ2xvc2FibGVdPVwibWFza0Nsb3NhYmxlXCJcbiAgW256V2lkdGhdPVwid2lkdGhcIlxuICBueldyYXBDbGFzc05hbWU9XCJnZW8tY29uZmlybS1tb2RhbC13cmFwXCJcbiAgbnpDbGFzc05hbWU9XCJnZW8tY29uZmlybS1tb2RhbFwiXG4gIChuelZpc2libGVDaGFuZ2UpPVwib25WaXNpYmxlQ2hhbmdlKCRldmVudClcIlxuPlxuICA8bmctY29udGFpbmVyICpuek1vZGFsQ29udGVudD5cbiAgICA8ZGl2IGNsYXNzPVwiZ2VvLWNvbmZpcm0tbW9kYWxfX2NvbnRlbnRcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJnZW8tY29uZmlybS1tb2RhbF9faGVhZGVyXCI+XG4gICAgICAgIDxoMiBjbGFzcz1cImdlby1jb25maXJtLW1vZGFsX190aXRsZVwiPnt7IHRpdGxlIH19PC9oMj5cbiAgICAgICAgQGlmIChjbG9zYWJsZSkge1xuICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgY2xhc3M9XCJnZW8tY29uZmlybS1tb2RhbF9fY2xvc2VcIlxuICAgICAgICAgICAgYXJpYS1sYWJlbD1cIsSQw7NuZ1wiXG4gICAgICAgICAgICAoY2xpY2spPVwib25DYW5jZWwoKVwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPHNwYW4gbnotaWNvbiBuelR5cGU9XCJjbG9zZVwiIG56VGhlbWU9XCJvdXRsaW5lXCI+PC9zcGFuPlxuICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICB9XG4gICAgICA8L2Rpdj5cblxuICAgICAgPGRpdiBjbGFzcz1cImdlby1jb25maXJtLW1vZGFsX19ib2R5XCI+XG4gICAgICAgIEBpZiAoaGFzRGVmYXVsdEJvZHkpIHtcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiZ2VvLWNvbmZpcm0tbW9kYWxfX21lc3NhZ2VcIj5cbiAgICAgICAgICAgIEBpZiAobWVzc2FnZSB8fCBoaWdobGlnaHQpIHtcbiAgICAgICAgICAgICAgPHAgY2xhc3M9XCJnZW8tY29uZmlybS1tb2RhbF9fcGFyYWdyYXBoXCI+XG4gICAgICAgICAgICAgICAgQGlmIChtZXNzYWdlKSB7XG4gICAgICAgICAgICAgICAgICA8c3Bhbj57eyBtZXNzYWdlIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBAaWYgKGhpZ2hsaWdodCkge1xuICAgICAgICAgICAgICAgICAgPHN0cm9uZyBjbGFzcz1cImdlby1jb25maXJtLW1vZGFsX19oaWdobGlnaHRcIj7igJx7eyBoaWdobGlnaHQgfX3igJ08L3N0cm9uZz5cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIEBpZiAoZGVzY3JpcHRpb24pIHtcbiAgICAgICAgICAgICAgPHAgY2xhc3M9XCJnZW8tY29uZmlybS1tb2RhbF9fcGFyYWdyYXBoXCI+e3sgZGVzY3JpcHRpb24gfX08L3A+XG4gICAgICAgICAgICB9XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgIDxkaXYgY2xhc3M9XCJnZW8tY29uZmlybS1tb2RhbF9fbWVzc2FnZVwiPlxuICAgICAgICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICB9XG4gICAgICA8L2Rpdj5cblxuICAgICAgPGRpdiBjbGFzcz1cImdlby1jb25maXJtLW1vZGFsX19mb290ZXJcIj5cbiAgICAgICAgPGdlby1idXR0b24gYXBwZWFyYW5jZT1cInNlY29uZGFyeVwiIGNvbG9yPVwiYnJhbmRcIiAoY2xpY2tlZCk9XCJvbkNhbmNlbCgpXCI+XG4gICAgICAgICAge3sgY2FuY2VsVGV4dCB9fVxuICAgICAgICA8L2dlby1idXR0b24+XG4gICAgICAgIDxnZW8tYnV0dG9uXG4gICAgICAgICAgYXBwZWFyYW5jZT1cInByaW1hcnlcIlxuICAgICAgICAgIGNvbG9yPVwiYnJhbmRcIlxuICAgICAgICAgIFtkaXNhYmxlZF09XCJjb25maXJtTG9hZGluZ1wiXG4gICAgICAgICAgKGNsaWNrZWQpPVwib25Db25maXJtKClcIlxuICAgICAgICA+XG4gICAgICAgICAge3sgY29uZmlybVRleHQgfX1cbiAgICAgICAgPC9nZW8tYnV0dG9uPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvbmctY29udGFpbmVyPlxuPC9uei1tb2RhbD5cbiJdfQ==
42
+ args: [{ selector: 'geo-confirm-modal', standalone: true, imports: [NgZorroAntdModule, NzIconModule, GeoButtonComponent], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<nz-modal\n [nzVisible]=\"visible()\"\n [nzTitle]=\"''\"\n [nzFooter]=\"null\"\n [nzClosable]=\"false\"\n [nzMaskClosable]=\"maskClosable()\"\n [nzWidth]=\"width()\"\n nzWrapClassName=\"geo-confirm-modal-wrap\"\n nzClassName=\"geo-confirm-modal\"\n (nzVisibleChange)=\"onVisibleChange($event)\"\n>\n <ng-container *nzModalContent>\n <div class=\"geo-confirm-modal__content\">\n <div class=\"geo-confirm-modal__header\">\n <h2 class=\"geo-confirm-modal__title\">{{ title() }}</h2>\n @if (closable()) {\n <button\n type=\"button\"\n class=\"geo-confirm-modal__close\"\n aria-label=\"\u0110\u00F3ng\"\n (click)=\"onCancel()\"\n >\n <span nz-icon nzType=\"close\" nzTheme=\"outline\"></span>\n </button>\n }\n </div>\n\n <div class=\"geo-confirm-modal__body\">\n @if (hasDefaultBody()) {\n <div class=\"geo-confirm-modal__message\">\n @if (message() || highlight()) {\n <p class=\"geo-confirm-modal__paragraph\">\n @if (message()) {\n <span>{{ message() }}</span>\n }\n @if (highlight()) {\n <strong class=\"geo-confirm-modal__highlight\">\u201C{{ highlight() }}\u201D</strong>\n }\n </p>\n }\n @if (description()) {\n <p class=\"geo-confirm-modal__paragraph\">{{ description() }}</p>\n }\n </div>\n } @else {\n <div class=\"geo-confirm-modal__message\">\n <ng-content></ng-content>\n </div>\n }\n </div>\n\n <div class=\"geo-confirm-modal__footer\">\n <geo-button appearance=\"secondary\" color=\"brand\" (clicked)=\"onCancel()\">\n {{ cancelText() }}\n </geo-button>\n <geo-button\n appearance=\"primary\"\n color=\"brand\"\n [disabled]=\"confirmLoading()\"\n (clicked)=\"onConfirm()\"\n >\n {{ confirmText() }}\n </geo-button>\n </div>\n </div>\n </ng-container>\n</nz-modal>\n", styles: [".geo-confirm-modal-wrap .ant-modal-header{display:none}.geo-confirm-modal-wrap .ant-modal-content{border-radius:var(--geo-radius-lg);padding:0;overflow:hidden;box-shadow:var(--geo-shadow-md)}.geo-confirm-modal-wrap .ant-modal-body{padding:0}.geo-confirm-modal__content{display:flex;flex-direction:column;gap:17px;padding:24px;background:var(--geo-color-surface-elevated)}.geo-confirm-modal__header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-bottom:16px}.geo-confirm-modal__title{margin:0;font-size:18px;font-weight:700;line-height:normal;color:var(--geo-color-neutral-500)}.geo-confirm-modal__close{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;border:none;background:transparent;color:var(--geo-color-neutral-500);cursor:pointer;flex-shrink:0}.geo-confirm-modal__close:hover{color:var(--geo-color-neutral-900)}.geo-confirm-modal__body{display:flex;flex-direction:column}.geo-confirm-modal__message{display:flex;flex-direction:column;gap:8px;max-width:397px;font-size:14px;line-height:1.4;color:var(--geo-color-neutral-900)}.geo-confirm-modal__paragraph{margin:0}.geo-confirm-modal__highlight{font-weight:600}.geo-confirm-modal__footer{display:flex;align-items:center;justify-content:flex-end;gap:12px}\n"] }]
43
+ }] });
44
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VvLWNvbmZpcm0tbW9kYWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZ2VvLXVpL3NyYy9saWIvZmlnbWEvZ2VvLWNvbmZpcm0tbW9kYWwvZ2VvLWNvbmZpcm0tbW9kYWwuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZ2VvLXVpL3NyYy9saWIvZmlnbWEvZ2VvLWNvbmZpcm0tbW9kYWwvZ2VvLWNvbmZpcm0tbW9kYWwuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsUUFBUSxFQUNSLEtBQUssRUFDTCxLQUFLLEVBQ0wsTUFBTSxFQUNOLGlCQUFpQixHQUNsQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUN4RSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDbEQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7Ozs7O0FBV3hFLE1BQU0sT0FBTyx3QkFBd0I7SUFDMUIsT0FBTyxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN2QixLQUFLLEdBQUcsS0FBSyxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQzlCLE9BQU8sR0FBRyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDcEIsU0FBUyxHQUFHLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUN0QixXQUFXLEdBQUcsS0FBSyxDQUFDLDZEQUE2RCxDQUFDLENBQUM7SUFDbkYsVUFBVSxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMxQixXQUFXLEdBQUcsS0FBSyxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ2hDLGNBQWMsR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDOUIsS0FBSyxHQUFHLEtBQUssQ0FBa0IsR0FBRyxDQUFDLENBQUM7SUFDcEMsWUFBWSxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM1QixRQUFRLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBRXZCLE9BQU8sR0FBRyxNQUFNLEVBQVEsQ0FBQztJQUN6QixNQUFNLEdBQUcsTUFBTSxFQUFRLENBQUM7SUFFeEIsY0FBYyxHQUFHLFFBQVEsQ0FDaEMsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUUsSUFBSSxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FDbkUsQ0FBQztJQUVGLGVBQWUsQ0FBQyxPQUFnQjtRQUM5QixJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUUsS0FBSyxPQUFPLEVBQUUsQ0FBQztZQUMvQixPQUFPO1FBQ1QsQ0FBQztRQUVELElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQzVCLENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDeEIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNyQixDQUFDO0lBRUQsU0FBUztRQUNQLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDdEIsQ0FBQzt3R0FuQ1Usd0JBQXdCOzRGQUF4Qix3QkFBd0Isa2xEQ3RCckMsa25FQW1FQSxrMENEbkRZLGlCQUFpQixxc0NBQUUsWUFBWSwrQkFBRSxrQkFBa0I7OzRGQU1sRCx3QkFBd0I7a0JBVHBDLFNBQVM7K0JBQ0UsbUJBQW1CLGNBQ2pCLElBQUksV0FDUCxDQUFDLGlCQUFpQixFQUFFLFlBQVksRUFBRSxrQkFBa0IsQ0FBQyxpQkFHL0MsaUJBQWlCLENBQUMsSUFBSSxtQkFDcEIsdUJBQXVCLENBQUMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIGNvbXB1dGVkLFxuICBpbnB1dCxcbiAgbW9kZWwsXG4gIG91dHB1dCxcbiAgVmlld0VuY2Fwc3VsYXRpb24sXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTmdab3Jyb0FudGRNb2R1bGUgfSBmcm9tICcuLi8uLi9uZy16b3Jyby9uZy16b3Jyby1hbnRkLm1vZHVsZSc7XG5pbXBvcnQgeyBOekljb25Nb2R1bGUgfSBmcm9tICduZy16b3Jyby1hbnRkL2ljb24nO1xuaW1wb3J0IHsgR2VvQnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnLi4vZ2VvLWJ1dHRvbi9nZW8tYnV0dG9uLmNvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2dlby1jb25maXJtLW1vZGFsJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW05nWm9ycm9BbnRkTW9kdWxlLCBOekljb25Nb2R1bGUsIEdlb0J1dHRvbkNvbXBvbmVudF0sXG4gIHRlbXBsYXRlVXJsOiAnLi9nZW8tY29uZmlybS1tb2RhbC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsOiAnLi9nZW8tY29uZmlybS1tb2RhbC5jb21wb25lbnQuc2NzcycsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBHZW9Db25maXJtTW9kYWxDb21wb25lbnQge1xuICByZWFkb25seSB2aXNpYmxlID0gbW9kZWwoZmFsc2UpO1xuICByZWFkb25seSB0aXRsZSA9IGlucHV0KCdYw6FjIG5o4bqtbiB4b8OhJyk7XG4gIHJlYWRvbmx5IG1lc3NhZ2UgPSBpbnB1dCgnJyk7XG4gIHJlYWRvbmx5IGhpZ2hsaWdodCA9IGlucHV0KCcnKTtcbiAgcmVhZG9ubHkgZGVzY3JpcHRpb24gPSBpbnB1dCgnSMOgbmggxJHhu5luZyBraMO0bmcgdGjhu4MgaG/DoG4gdMOhYywgYuG6oW4gY2jhuq9jIGNo4bqvbiBtdeG7kW4gdGjhu7FjIGhp4buHbj8nKTtcbiAgcmVhZG9ubHkgY2FuY2VsVGV4dCA9IGlucHV0KCdI4buneScpO1xuICByZWFkb25seSBjb25maXJtVGV4dCA9IGlucHV0KCdYw6FjIG5o4bqtbicpO1xuICByZWFkb25seSBjb25maXJtTG9hZGluZyA9IGlucHV0KGZhbHNlKTtcbiAgcmVhZG9ubHkgd2lkdGggPSBpbnB1dDxudW1iZXIgfCBzdHJpbmc+KDQ0NSk7XG4gIHJlYWRvbmx5IG1hc2tDbG9zYWJsZSA9IGlucHV0KGZhbHNlKTtcbiAgcmVhZG9ubHkgY2xvc2FibGUgPSBpbnB1dCh0cnVlKTtcblxuICByZWFkb25seSBjb25maXJtID0gb3V0cHV0PHZvaWQ+KCk7XG4gIHJlYWRvbmx5IGNhbmNlbCA9IG91dHB1dDx2b2lkPigpO1xuXG4gIHJlYWRvbmx5IGhhc0RlZmF1bHRCb2R5ID0gY29tcHV0ZWQoXG4gICAgKCkgPT4gISEodGhpcy5tZXNzYWdlKCkgfHwgdGhpcy5oaWdobGlnaHQoKSB8fCB0aGlzLmRlc2NyaXB0aW9uKCkpXG4gICk7XG5cbiAgb25WaXNpYmxlQ2hhbmdlKHZpc2libGU6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICBpZiAodGhpcy52aXNpYmxlKCkgPT09IHZpc2libGUpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLnZpc2libGUuc2V0KHZpc2libGUpO1xuICB9XG5cbiAgb25DYW5jZWwoKTogdm9pZCB7XG4gICAgdGhpcy52aXNpYmxlLnNldChmYWxzZSk7XG4gICAgdGhpcy5jYW5jZWwuZW1pdCgpO1xuICB9XG5cbiAgb25Db25maXJtKCk6IHZvaWQge1xuICAgIHRoaXMuY29uZmlybS5lbWl0KCk7XG4gIH1cbn1cbiIsIjxuei1tb2RhbFxuICBbbnpWaXNpYmxlXT1cInZpc2libGUoKVwiXG4gIFtuelRpdGxlXT1cIicnXCJcbiAgW256Rm9vdGVyXT1cIm51bGxcIlxuICBbbnpDbG9zYWJsZV09XCJmYWxzZVwiXG4gIFtuek1hc2tDbG9zYWJsZV09XCJtYXNrQ2xvc2FibGUoKVwiXG4gIFtueldpZHRoXT1cIndpZHRoKClcIlxuICBueldyYXBDbGFzc05hbWU9XCJnZW8tY29uZmlybS1tb2RhbC13cmFwXCJcbiAgbnpDbGFzc05hbWU9XCJnZW8tY29uZmlybS1tb2RhbFwiXG4gIChuelZpc2libGVDaGFuZ2UpPVwib25WaXNpYmxlQ2hhbmdlKCRldmVudClcIlxuPlxuICA8bmctY29udGFpbmVyICpuek1vZGFsQ29udGVudD5cbiAgICA8ZGl2IGNsYXNzPVwiZ2VvLWNvbmZpcm0tbW9kYWxfX2NvbnRlbnRcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJnZW8tY29uZmlybS1tb2RhbF9faGVhZGVyXCI+XG4gICAgICAgIDxoMiBjbGFzcz1cImdlby1jb25maXJtLW1vZGFsX190aXRsZVwiPnt7IHRpdGxlKCkgfX08L2gyPlxuICAgICAgICBAaWYgKGNsb3NhYmxlKCkpIHtcbiAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgIGNsYXNzPVwiZ2VvLWNvbmZpcm0tbW9kYWxfX2Nsb3NlXCJcbiAgICAgICAgICAgIGFyaWEtbGFiZWw9XCLEkMOzbmdcIlxuICAgICAgICAgICAgKGNsaWNrKT1cIm9uQ2FuY2VsKClcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxzcGFuIG56LWljb24gbnpUeXBlPVwiY2xvc2VcIiBuelRoZW1lPVwib3V0bGluZVwiPjwvc3Bhbj5cbiAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgfVxuICAgICAgPC9kaXY+XG5cbiAgICAgIDxkaXYgY2xhc3M9XCJnZW8tY29uZmlybS1tb2RhbF9fYm9keVwiPlxuICAgICAgICBAaWYgKGhhc0RlZmF1bHRCb2R5KCkpIHtcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiZ2VvLWNvbmZpcm0tbW9kYWxfX21lc3NhZ2VcIj5cbiAgICAgICAgICAgIEBpZiAobWVzc2FnZSgpIHx8IGhpZ2hsaWdodCgpKSB7XG4gICAgICAgICAgICAgIDxwIGNsYXNzPVwiZ2VvLWNvbmZpcm0tbW9kYWxfX3BhcmFncmFwaFwiPlxuICAgICAgICAgICAgICAgIEBpZiAobWVzc2FnZSgpKSB7XG4gICAgICAgICAgICAgICAgICA8c3Bhbj57eyBtZXNzYWdlKCkgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIEBpZiAoaGlnaGxpZ2h0KCkpIHtcbiAgICAgICAgICAgICAgICAgIDxzdHJvbmcgY2xhc3M9XCJnZW8tY29uZmlybS1tb2RhbF9faGlnaGxpZ2h0XCI+4oCce3sgaGlnaGxpZ2h0KCkgfX3igJ08L3N0cm9uZz5cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIEBpZiAoZGVzY3JpcHRpb24oKSkge1xuICAgICAgICAgICAgICA8cCBjbGFzcz1cImdlby1jb25maXJtLW1vZGFsX19wYXJhZ3JhcGhcIj57eyBkZXNjcmlwdGlvbigpIH19PC9wPlxuICAgICAgICAgICAgfVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiZ2VvLWNvbmZpcm0tbW9kYWxfX21lc3NhZ2VcIj5cbiAgICAgICAgICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgfVxuICAgICAgPC9kaXY+XG5cbiAgICAgIDxkaXYgY2xhc3M9XCJnZW8tY29uZmlybS1tb2RhbF9fZm9vdGVyXCI+XG4gICAgICAgIDxnZW8tYnV0dG9uIGFwcGVhcmFuY2U9XCJzZWNvbmRhcnlcIiBjb2xvcj1cImJyYW5kXCIgKGNsaWNrZWQpPVwib25DYW5jZWwoKVwiPlxuICAgICAgICAgIHt7IGNhbmNlbFRleHQoKSB9fVxuICAgICAgICA8L2dlby1idXR0b24+XG4gICAgICAgIDxnZW8tYnV0dG9uXG4gICAgICAgICAgYXBwZWFyYW5jZT1cInByaW1hcnlcIlxuICAgICAgICAgIGNvbG9yPVwiYnJhbmRcIlxuICAgICAgICAgIFtkaXNhYmxlZF09XCJjb25maXJtTG9hZGluZygpXCJcbiAgICAgICAgICAoY2xpY2tlZCk9XCJvbkNvbmZpcm0oKVwiXG4gICAgICAgID5cbiAgICAgICAgICB7eyBjb25maXJtVGV4dCgpIH19XG4gICAgICAgIDwvZ2VvLWJ1dHRvbj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L25nLWNvbnRhaW5lcj5cbjwvbnotbW9kYWw+XG4iXX0=
@@ -0,0 +1,49 @@
1
+ import { ChangeDetectionStrategy, Component, input, model, output, ViewEncapsulation, } from '@angular/core';
2
+ import { FormsModule } from '@angular/forms';
3
+ import { GeoChartComponent } from '../geo-chart/geo-chart.component';
4
+ import { GeoDateRangePickerComponent } from '../geo-date-range-picker/geo-date-range-picker.component';
5
+ import { GeoPageHeaderComponent } from '../geo-page-header/geo-page-header.component';
6
+ import { GeoStatCardComponent } from '../geo-stat-card/geo-stat-card.component';
7
+ import * as i0 from "@angular/core";
8
+ import * as i1 from "@angular/forms";
9
+ /**
10
+ * Dashboard page composition (TCQH.1–3).
11
+ *
12
+ * @summary Trang dashboard: bộ lọc thời gian, KPI cards, biểu đồ cột & donut.
13
+ * @whenToUse Màn Dashboard thống kê tổng quan cho chuyên viên.
14
+ * @doNotUseWhen Full custom analytics layouts — compose primitives yourself.
15
+ */
16
+ export class GeoDashboardComponent {
17
+ title = input('Dashboard thống kê');
18
+ breadcrumb = input([
19
+ { label: 'Trang chủ', link: '/' },
20
+ { label: 'Dashboard' },
21
+ ]);
22
+ stats = input([]);
23
+ wardChartTitle = input('Diện tích quy hoạch theo phường/xã');
24
+ wardData = input([]);
25
+ mismatchChartTitle = input('Tỷ lệ thửa quy hoạch khác mục đích hiện trạng');
26
+ mismatchData = input([]);
27
+ wardUnit = input('ha');
28
+ period = model(null);
29
+ periodChange = output();
30
+ mismatchSegmentClick = output();
31
+ wardSegmentClick = output();
32
+ onPeriodChange(value) {
33
+ this.period.set(value);
34
+ this.periodChange.emit(value);
35
+ }
36
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: GeoDashboardComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
37
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: GeoDashboardComponent, isStandalone: true, selector: "geo-dashboard", inputs: { title: { classPropertyName: "title", publicName: "title", isSignal: true, isRequired: false, transformFunction: null }, breadcrumb: { classPropertyName: "breadcrumb", publicName: "breadcrumb", isSignal: true, isRequired: false, transformFunction: null }, stats: { classPropertyName: "stats", publicName: "stats", isSignal: true, isRequired: false, transformFunction: null }, wardChartTitle: { classPropertyName: "wardChartTitle", publicName: "wardChartTitle", isSignal: true, isRequired: false, transformFunction: null }, wardData: { classPropertyName: "wardData", publicName: "wardData", isSignal: true, isRequired: false, transformFunction: null }, mismatchChartTitle: { classPropertyName: "mismatchChartTitle", publicName: "mismatchChartTitle", isSignal: true, isRequired: false, transformFunction: null }, mismatchData: { classPropertyName: "mismatchData", publicName: "mismatchData", isSignal: true, isRequired: false, transformFunction: null }, wardUnit: { classPropertyName: "wardUnit", publicName: "wardUnit", isSignal: true, isRequired: false, transformFunction: null }, period: { classPropertyName: "period", publicName: "period", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { period: "periodChange", periodChange: "periodChange", mismatchSegmentClick: "mismatchSegmentClick", wardSegmentClick: "wardSegmentClick" }, host: { classAttribute: "geo-dashboard-host" }, ngImport: i0, template: "<div class=\"geo-dashboard\">\n <geo-page-header [title]=\"title()\" [breadcrumb]=\"breadcrumb()\">\n <div geoPageFilters class=\"geo-dashboard__filters\">\n <geo-date-range-picker\n label=\"B\u1ED9 l\u1ECDc th\u1EDDi gian\"\n [ngModel]=\"period()\"\n (ngModelChange)=\"onPeriodChange($event)\"\n />\n </div>\n </geo-page-header>\n\n <div class=\"geo-dashboard__stats\">\n @for (item of stats(); track item.id ?? item.label) {\n <geo-stat-card [item]=\"item\" />\n }\n </div>\n\n <div class=\"geo-dashboard__charts\">\n <geo-chart\n type=\"bar\"\n [title]=\"wardChartTitle()\"\n [data]=\"wardData()\"\n [showSort]=\"true\"\n [unit]=\"wardUnit()\"\n [height]=\"320\"\n (segmentClick)=\"wardSegmentClick.emit($event)\"\n />\n <geo-chart\n type=\"donut\"\n [title]=\"mismatchChartTitle()\"\n [data]=\"mismatchData()\"\n [height]=\"320\"\n (segmentClick)=\"mismatchSegmentClick.emit($event)\"\n />\n </div>\n\n <div class=\"geo-dashboard__extra\">\n <ng-content />\n </div>\n</div>\n", styles: [".geo-dashboard-host{display:block}.geo-dashboard{display:flex;flex-direction:column;gap:20px}.geo-dashboard__filters{display:flex;flex-wrap:wrap;gap:12px}.geo-dashboard__stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}.geo-dashboard__charts{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:16px}@media (max-width: 960px){.geo-dashboard__charts{grid-template-columns:1fr}}.geo-dashboard__extra:empty{display:none}\n"], dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: GeoPageHeaderComponent, selector: "geo-page-header", inputs: ["title", "breadcrumb", "uppercase"] }, { kind: "component", type: GeoDateRangePickerComponent, selector: "geo-date-range-picker", inputs: ["label", "placeholder", "format", "size", "disabled", "required", "error", "errorMessage", "allowClear", "showTime", "block", "width", "disabledDate", "separator"], outputs: ["valueChange"] }, { kind: "component", type: GeoStatCardComponent, selector: "geo-stat-card", inputs: ["label", "value", "unit", "icon", "hint", "clickable", "animate", "animationDuration", "animationDelay", "item"], outputs: ["clicked"] }, { kind: "component", type: GeoChartComponent, selector: "geo-chart", inputs: ["type", "title", "data", "height", "showLegend", "showSort", "sort", "emptyText", "unit"], outputs: ["sortChange", "segmentClick"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
38
+ }
39
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: GeoDashboardComponent, decorators: [{
40
+ type: Component,
41
+ args: [{ selector: 'geo-dashboard', standalone: true, imports: [
42
+ FormsModule,
43
+ GeoPageHeaderComponent,
44
+ GeoDateRangePickerComponent,
45
+ GeoStatCardComponent,
46
+ GeoChartComponent,
47
+ ], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: { class: 'geo-dashboard-host' }, template: "<div class=\"geo-dashboard\">\n <geo-page-header [title]=\"title()\" [breadcrumb]=\"breadcrumb()\">\n <div geoPageFilters class=\"geo-dashboard__filters\">\n <geo-date-range-picker\n label=\"B\u1ED9 l\u1ECDc th\u1EDDi gian\"\n [ngModel]=\"period()\"\n (ngModelChange)=\"onPeriodChange($event)\"\n />\n </div>\n </geo-page-header>\n\n <div class=\"geo-dashboard__stats\">\n @for (item of stats(); track item.id ?? item.label) {\n <geo-stat-card [item]=\"item\" />\n }\n </div>\n\n <div class=\"geo-dashboard__charts\">\n <geo-chart\n type=\"bar\"\n [title]=\"wardChartTitle()\"\n [data]=\"wardData()\"\n [showSort]=\"true\"\n [unit]=\"wardUnit()\"\n [height]=\"320\"\n (segmentClick)=\"wardSegmentClick.emit($event)\"\n />\n <geo-chart\n type=\"donut\"\n [title]=\"mismatchChartTitle()\"\n [data]=\"mismatchData()\"\n [height]=\"320\"\n (segmentClick)=\"mismatchSegmentClick.emit($event)\"\n />\n </div>\n\n <div class=\"geo-dashboard__extra\">\n <ng-content />\n </div>\n</div>\n", styles: [".geo-dashboard-host{display:block}.geo-dashboard{display:flex;flex-direction:column;gap:20px}.geo-dashboard__filters{display:flex;flex-wrap:wrap;gap:12px}.geo-dashboard__stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}.geo-dashboard__charts{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:16px}@media (max-width: 960px){.geo-dashboard__charts{grid-template-columns:1fr}}.geo-dashboard__extra:empty{display:none}\n"] }]
48
+ }] });
49
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VvLWRhc2hib2FyZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9nZW8tdWkvc3JjL2xpYi9maWdtYS9nZW8tZGFzaGJvYXJkL2dlby1kYXNoYm9hcmQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZ2VvLXVpL3NyYy9saWIvZmlnbWEvZ2VvLWRhc2hib2FyZC9nZW8tZGFzaGJvYXJkLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULEtBQUssRUFDTCxLQUFLLEVBQ0wsTUFBTSxFQUNOLGlCQUFpQixHQUNsQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFFckUsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sMERBQTBELENBQUM7QUFFdkcsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sOENBQThDLENBQUM7QUFFdEYsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMENBQTBDLENBQUM7OztBQUdoRjs7Ozs7O0dBTUc7QUFpQkgsTUFBTSxPQUFPLHFCQUFxQjtJQUN2QixLQUFLLEdBQUcsS0FBSyxDQUFDLG9CQUFvQixDQUFDLENBQUM7SUFDcEMsVUFBVSxHQUFHLEtBQUssQ0FBc0I7UUFDL0MsRUFBRSxLQUFLLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUU7UUFDakMsRUFBRSxLQUFLLEVBQUUsV0FBVyxFQUFFO0tBQ3ZCLENBQUMsQ0FBQztJQUNNLEtBQUssR0FBRyxLQUFLLENBQW9CLEVBQUUsQ0FBQyxDQUFDO0lBQ3JDLGNBQWMsR0FBRyxLQUFLLENBQUMsb0NBQW9DLENBQUMsQ0FBQztJQUM3RCxRQUFRLEdBQUcsS0FBSyxDQUFrQixFQUFFLENBQUMsQ0FBQztJQUN0QyxrQkFBa0IsR0FBRyxLQUFLLENBQ2pDLCtDQUErQyxDQUNoRCxDQUFDO0lBQ08sWUFBWSxHQUFHLEtBQUssQ0FBa0IsRUFBRSxDQUFDLENBQUM7SUFDMUMsUUFBUSxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUV2QixNQUFNLEdBQUcsS0FBSyxDQUFvQixJQUFJLENBQUMsQ0FBQztJQUV4QyxZQUFZLEdBQUcsTUFBTSxFQUFxQixDQUFDO0lBQzNDLG9CQUFvQixHQUFHLE1BQU0sRUFBd0IsQ0FBQztJQUN0RCxnQkFBZ0IsR0FBRyxNQUFNLEVBQXdCLENBQUM7SUFFM0QsY0FBYyxDQUFDLEtBQXdCO1FBQ3JDLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ2hDLENBQUM7d0dBeEJVLHFCQUFxQjs0RkFBckIscUJBQXFCLCs4Q0N6Q2xDLHdsQ0F3Q0EsZ2hCRFhJLFdBQVcsK1ZBQ1gsc0JBQXNCLDBHQUN0QiwyQkFBMkIsMFFBQzNCLG9CQUFvQiwyTUFDcEIsaUJBQWlCOzs0RkFRUixxQkFBcUI7a0JBaEJqQyxTQUFTOytCQUNFLGVBQWUsY0FDYixJQUFJLFdBQ1A7d0JBQ1AsV0FBVzt3QkFDWCxzQkFBc0I7d0JBQ3RCLDJCQUEyQjt3QkFDM0Isb0JBQW9CO3dCQUNwQixpQkFBaUI7cUJBQ2xCLG1CQUdnQix1QkFBdUIsQ0FBQyxNQUFNLGlCQUNoQyxpQkFBaUIsQ0FBQyxJQUFJLFFBQy9CLEVBQUUsS0FBSyxFQUFFLG9CQUFvQixFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgaW5wdXQsXG4gIG1vZGVsLFxuICBvdXRwdXQsXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgR2VvQ2hhcnRDb21wb25lbnQgfSBmcm9tICcuLi9nZW8tY2hhcnQvZ2VvLWNoYXJ0LmNvbXBvbmVudCc7XG5pbXBvcnQgdHlwZSB7IEdlb0NoYXJ0RGF0dW0sIEdlb0NoYXJ0U2VnbWVudENsaWNrIH0gZnJvbSAnLi4vZ2VvLWNoYXJ0L2dlby1jaGFydC50eXBlcyc7XG5pbXBvcnQgeyBHZW9EYXRlUmFuZ2VQaWNrZXJDb21wb25lbnQgfSBmcm9tICcuLi9nZW8tZGF0ZS1yYW5nZS1waWNrZXIvZ2VvLWRhdGUtcmFuZ2UtcGlja2VyLmNvbXBvbmVudCc7XG5pbXBvcnQgdHlwZSB7IEdlb0RhdGVSYW5nZVZhbHVlIH0gZnJvbSAnLi4vZ2VvLWRhdGUtcmFuZ2UtcGlja2VyL2dlby1kYXRlLXJhbmdlLXBpY2tlci50eXBlcyc7XG5pbXBvcnQgeyBHZW9QYWdlSGVhZGVyQ29tcG9uZW50IH0gZnJvbSAnLi4vZ2VvLXBhZ2UtaGVhZGVyL2dlby1wYWdlLWhlYWRlci5jb21wb25lbnQnO1xuaW1wb3J0IHR5cGUgeyBHZW9CcmVhZGNydW1iSXRlbSB9IGZyb20gJy4uL2dlby1icmVhZGNydW1iL2dlby1icmVhZGNydW1iLnR5cGVzJztcbmltcG9ydCB7IEdlb1N0YXRDYXJkQ29tcG9uZW50IH0gZnJvbSAnLi4vZ2VvLXN0YXQtY2FyZC9nZW8tc3RhdC1jYXJkLmNvbXBvbmVudCc7XG5pbXBvcnQgdHlwZSB7IEdlb1N0YXRDYXJkSXRlbSB9IGZyb20gJy4uL2dlby1zdGF0LWNhcmQvZ2VvLXN0YXQtY2FyZC50eXBlcyc7XG5cbi8qKlxuICogRGFzaGJvYXJkIHBhZ2UgY29tcG9zaXRpb24gKFRDUUguMeKAkzMpLlxuICpcbiAqIEBzdW1tYXJ5IFRyYW5nIGRhc2hib2FyZDogYuG7mSBs4buNYyB0aOG7nWkgZ2lhbiwgS1BJIGNhcmRzLCBiaeG7g3UgxJHhu5MgY+G7mXQgJiBkb251dC5cbiAqIEB3aGVuVG9Vc2UgTcOgbiBEYXNoYm9hcmQgdGjhu5FuZyBrw6ogdOG7lW5nIHF1YW4gY2hvIGNodXnDqm4gdmnDqm4uXG4gKiBAZG9Ob3RVc2VXaGVuIEZ1bGwgY3VzdG9tIGFuYWx5dGljcyBsYXlvdXRzIOKAlCBjb21wb3NlIHByaW1pdGl2ZXMgeW91cnNlbGYuXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2dlby1kYXNoYm9hcmQnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgRm9ybXNNb2R1bGUsXG4gICAgR2VvUGFnZUhlYWRlckNvbXBvbmVudCxcbiAgICBHZW9EYXRlUmFuZ2VQaWNrZXJDb21wb25lbnQsXG4gICAgR2VvU3RhdENhcmRDb21wb25lbnQsXG4gICAgR2VvQ2hhcnRDb21wb25lbnQsXG4gIF0sXG4gIHRlbXBsYXRlVXJsOiAnLi9nZW8tZGFzaGJvYXJkLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmw6ICcuL2dlby1kYXNoYm9hcmQuY29tcG9uZW50LnNjc3MnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgaG9zdDogeyBjbGFzczogJ2dlby1kYXNoYm9hcmQtaG9zdCcgfSxcbn0pXG5leHBvcnQgY2xhc3MgR2VvRGFzaGJvYXJkQ29tcG9uZW50IHtcbiAgcmVhZG9ubHkgdGl0bGUgPSBpbnB1dCgnRGFzaGJvYXJkIHRo4buRbmcga8OqJyk7XG4gIHJlYWRvbmx5IGJyZWFkY3J1bWIgPSBpbnB1dDxHZW9CcmVhZGNydW1iSXRlbVtdPihbXG4gICAgeyBsYWJlbDogJ1RyYW5nIGNo4bunJywgbGluazogJy8nIH0sXG4gICAgeyBsYWJlbDogJ0Rhc2hib2FyZCcgfSxcbiAgXSk7XG4gIHJlYWRvbmx5IHN0YXRzID0gaW5wdXQ8R2VvU3RhdENhcmRJdGVtW10+KFtdKTtcbiAgcmVhZG9ubHkgd2FyZENoYXJ0VGl0bGUgPSBpbnB1dCgnRGnhu4duIHTDrWNoIHF1eSBob+G6oWNoIHRoZW8gcGjGsOG7nW5nL3jDoycpO1xuICByZWFkb25seSB3YXJkRGF0YSA9IGlucHV0PEdlb0NoYXJ0RGF0dW1bXT4oW10pO1xuICByZWFkb25seSBtaXNtYXRjaENoYXJ0VGl0bGUgPSBpbnB1dChcbiAgICAnVOG7tyBs4buHIHRo4butYSBxdXkgaG/huqFjaCBraMOhYyBt4bulYyDEkcOtY2ggaGnhu4duIHRy4bqhbmcnLFxuICApO1xuICByZWFkb25seSBtaXNtYXRjaERhdGEgPSBpbnB1dDxHZW9DaGFydERhdHVtW10+KFtdKTtcbiAgcmVhZG9ubHkgd2FyZFVuaXQgPSBpbnB1dCgnaGEnKTtcblxuICByZWFkb25seSBwZXJpb2QgPSBtb2RlbDxHZW9EYXRlUmFuZ2VWYWx1ZT4obnVsbCk7XG5cbiAgcmVhZG9ubHkgcGVyaW9kQ2hhbmdlID0gb3V0cHV0PEdlb0RhdGVSYW5nZVZhbHVlPigpO1xuICByZWFkb25seSBtaXNtYXRjaFNlZ21lbnRDbGljayA9IG91dHB1dDxHZW9DaGFydFNlZ21lbnRDbGljaz4oKTtcbiAgcmVhZG9ubHkgd2FyZFNlZ21lbnRDbGljayA9IG91dHB1dDxHZW9DaGFydFNlZ21lbnRDbGljaz4oKTtcblxuICBvblBlcmlvZENoYW5nZSh2YWx1ZTogR2VvRGF0ZVJhbmdlVmFsdWUpOiB2b2lkIHtcbiAgICB0aGlzLnBlcmlvZC5zZXQodmFsdWUpO1xuICAgIHRoaXMucGVyaW9kQ2hhbmdlLmVtaXQodmFsdWUpO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiZ2VvLWRhc2hib2FyZFwiPlxuICA8Z2VvLXBhZ2UtaGVhZGVyIFt0aXRsZV09XCJ0aXRsZSgpXCIgW2JyZWFkY3J1bWJdPVwiYnJlYWRjcnVtYigpXCI+XG4gICAgPGRpdiBnZW9QYWdlRmlsdGVycyBjbGFzcz1cImdlby1kYXNoYm9hcmRfX2ZpbHRlcnNcIj5cbiAgICAgIDxnZW8tZGF0ZS1yYW5nZS1waWNrZXJcbiAgICAgICAgbGFiZWw9XCJC4buZIGzhu41jIHRo4budaSBnaWFuXCJcbiAgICAgICAgW25nTW9kZWxdPVwicGVyaW9kKClcIlxuICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJvblBlcmlvZENoYW5nZSgkZXZlbnQpXCJcbiAgICAgIC8+XG4gICAgPC9kaXY+XG4gIDwvZ2VvLXBhZ2UtaGVhZGVyPlxuXG4gIDxkaXYgY2xhc3M9XCJnZW8tZGFzaGJvYXJkX19zdGF0c1wiPlxuICAgIEBmb3IgKGl0ZW0gb2Ygc3RhdHMoKTsgdHJhY2sgaXRlbS5pZCA/PyBpdGVtLmxhYmVsKSB7XG4gICAgICA8Z2VvLXN0YXQtY2FyZCBbaXRlbV09XCJpdGVtXCIgLz5cbiAgICB9XG4gIDwvZGl2PlxuXG4gIDxkaXYgY2xhc3M9XCJnZW8tZGFzaGJvYXJkX19jaGFydHNcIj5cbiAgICA8Z2VvLWNoYXJ0XG4gICAgICB0eXBlPVwiYmFyXCJcbiAgICAgIFt0aXRsZV09XCJ3YXJkQ2hhcnRUaXRsZSgpXCJcbiAgICAgIFtkYXRhXT1cIndhcmREYXRhKClcIlxuICAgICAgW3Nob3dTb3J0XT1cInRydWVcIlxuICAgICAgW3VuaXRdPVwid2FyZFVuaXQoKVwiXG4gICAgICBbaGVpZ2h0XT1cIjMyMFwiXG4gICAgICAoc2VnbWVudENsaWNrKT1cIndhcmRTZWdtZW50Q2xpY2suZW1pdCgkZXZlbnQpXCJcbiAgICAvPlxuICAgIDxnZW8tY2hhcnRcbiAgICAgIHR5cGU9XCJkb251dFwiXG4gICAgICBbdGl0bGVdPVwibWlzbWF0Y2hDaGFydFRpdGxlKClcIlxuICAgICAgW2RhdGFdPVwibWlzbWF0Y2hEYXRhKClcIlxuICAgICAgW2hlaWdodF09XCIzMjBcIlxuICAgICAgKHNlZ21lbnRDbGljayk9XCJtaXNtYXRjaFNlZ21lbnRDbGljay5lbWl0KCRldmVudClcIlxuICAgIC8+XG4gIDwvZGl2PlxuXG4gIDxkaXYgY2xhc3M9XCJnZW8tZGFzaGJvYXJkX19leHRyYVwiPlxuICAgIDxuZy1jb250ZW50IC8+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VvLWRhc2hib2FyZC50eXBlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2dlby11aS9zcmMvbGliL2ZpZ21hL2dlby1kYXNoYm9hcmQvZ2VvLWRhc2hib2FyZC50eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBHZW9TdGF0Q2FyZEl0ZW0gfSBmcm9tICcuLi9nZW8tc3RhdC1jYXJkL2dlby1zdGF0LWNhcmQudHlwZXMnO1xuaW1wb3J0IHR5cGUgeyBHZW9DaGFydERhdHVtIH0gZnJvbSAnLi4vZ2VvLWNoYXJ0L2dlby1jaGFydC50eXBlcyc7XG5pbXBvcnQgdHlwZSB7IEdlb0RhdGVSYW5nZVZhbHVlIH0gZnJvbSAnLi4vZ2VvLWRhdGUtcmFuZ2UtcGlja2VyL2dlby1kYXRlLXJhbmdlLXBpY2tlci50eXBlcyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgR2VvRGFzaGJvYXJkUGVyaW9kQ2hhbmdlIHtcbiAgcmFuZ2U6IEdlb0RhdGVSYW5nZVZhbHVlIHwgbnVsbDtcbn1cblxuZXhwb3J0IHR5cGUgeyBHZW9TdGF0Q2FyZEl0ZW0sIEdlb0NoYXJ0RGF0dW0gfTtcbiJdfQ==
@@ -1,53 +1,54 @@
1
- import { Component, EventEmitter, forwardRef, Input, Output, ViewEncapsulation, } from '@angular/core';
2
- import { CommonModule } from '@angular/common';
1
+ import { ChangeDetectionStrategy, ChangeDetectorRef, Component, computed, forwardRef, inject, input, output, signal, ViewEncapsulation, } from '@angular/core';
3
2
  import { FormsModule, NG_VALUE_ACCESSOR } from '@angular/forms';
4
3
  import { NgZorroAntdModule } from '../../ng-zorro/ng-zorro-antd.module';
5
4
  import * as i0 from "@angular/core";
6
- import * as i1 from "@angular/common";
7
- import * as i2 from "@angular/forms";
8
- import * as i3 from "ng-zorro-antd/date-picker";
5
+ import * as i1 from "@angular/forms";
6
+ import * as i2 from "ng-zorro-antd/date-picker";
9
7
  let uiDatePickerErrorId = 0;
10
8
  export class GeoDatePickerComponent {
11
- label = '';
12
- placeholder = 'Chọn ngày';
13
- format = 'dd/MM/yyyy';
14
- mode = 'date';
15
- size = 'default';
16
- disabled = false;
17
- required = false;
18
- error = false;
19
- errorMessage = '';
20
- allowClear = true;
21
- showToday = true;
22
- showTime = false;
23
- block = false;
24
- width;
25
- disabledDate;
26
- valueChange = new EventEmitter();
9
+ cdr = inject(ChangeDetectorRef);
10
+ label = input('');
11
+ placeholder = input('Chọn ngày');
12
+ format = input('dd/MM/yyyy');
13
+ mode = input('date');
14
+ size = input('default');
15
+ disabled = input(false);
16
+ required = input(false);
17
+ error = input(false);
18
+ errorMessage = input('');
19
+ allowClear = input(true);
20
+ showToday = input(true);
21
+ showTime = input(false);
22
+ block = input(false);
23
+ width = input(undefined);
24
+ disabledDate = input(undefined);
25
+ valueChange = output();
27
26
  errorMessageId = `geo-date-picker-error-${++uiDatePickerErrorId}`;
28
- value = null;
27
+ disabledFromCva = signal(false);
28
+ isDisabled = computed(() => this.disabled() || this.disabledFromCva());
29
+ value = signal(null);
29
30
  onChange = () => undefined;
30
31
  onTouched = () => undefined;
31
- get hostWidth() {
32
- if (this.block || this.width == null) {
32
+ hostWidth = computed(() => {
33
+ const width = this.width();
34
+ if (this.block() || width == null) {
33
35
  return null;
34
36
  }
35
- return typeof this.width === 'number' ? `${this.width}px` : this.width;
36
- }
37
- get controlClassNames() {
38
- return {
39
- 'geo-date-picker': true,
40
- [`geo-date-picker--${this.size}`]: true,
41
- };
42
- }
37
+ return typeof width === 'number' ? `${width}px` : width;
38
+ });
39
+ controlClassNames = computed(() => ({
40
+ 'geo-date-picker': true,
41
+ [`geo-date-picker--${this.size()}`]: true,
42
+ }));
43
43
  onValueChange(value) {
44
- this.value = value;
44
+ this.value.set(value);
45
45
  this.onChange(value);
46
46
  this.onTouched();
47
47
  this.valueChange.emit(value);
48
48
  }
49
49
  writeValue(value) {
50
- this.value = value ?? null;
50
+ this.value.set(value ?? null);
51
+ this.cdr.markForCheck();
51
52
  }
52
53
  registerOnChange(fn) {
53
54
  this.onChange = fn;
@@ -56,64 +57,33 @@ export class GeoDatePickerComponent {
56
57
  this.onTouched = fn;
57
58
  }
58
59
  setDisabledState(isDisabled) {
59
- this.disabled = isDisabled;
60
+ this.disabledFromCva.set(isDisabled);
61
+ this.cdr.markForCheck();
60
62
  }
61
63
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: GeoDatePickerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
62
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: GeoDatePickerComponent, isStandalone: true, selector: "geo-date-picker", inputs: { label: "label", placeholder: "placeholder", format: "format", mode: "mode", size: "size", disabled: "disabled", required: "required", error: "error", errorMessage: "errorMessage", allowClear: "allowClear", showToday: "showToday", showTime: "showTime", block: "block", width: "width", disabledDate: "disabledDate" }, outputs: { valueChange: "valueChange" }, host: { properties: { "class.geo-date-picker-host--default": "size === \"default\"", "class.geo-date-picker-host--small": "size === \"small\"", "class.geo-date-picker-host--block": "block", "class.geo-date-picker-host--error": "error", "style.width": "hostWidth" }, classAttribute: "geo-date-picker-host" }, providers: [
64
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: GeoDatePickerComponent, isStandalone: true, selector: "geo-date-picker", inputs: { label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, placeholder: { classPropertyName: "placeholder", publicName: "placeholder", isSignal: true, isRequired: false, transformFunction: null }, format: { classPropertyName: "format", publicName: "format", isSignal: true, isRequired: false, transformFunction: null }, mode: { classPropertyName: "mode", publicName: "mode", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, required: { classPropertyName: "required", publicName: "required", isSignal: true, isRequired: false, transformFunction: null }, error: { classPropertyName: "error", publicName: "error", isSignal: true, isRequired: false, transformFunction: null }, errorMessage: { classPropertyName: "errorMessage", publicName: "errorMessage", isSignal: true, isRequired: false, transformFunction: null }, allowClear: { classPropertyName: "allowClear", publicName: "allowClear", isSignal: true, isRequired: false, transformFunction: null }, showToday: { classPropertyName: "showToday", publicName: "showToday", isSignal: true, isRequired: false, transformFunction: null }, showTime: { classPropertyName: "showTime", publicName: "showTime", isSignal: true, isRequired: false, transformFunction: null }, block: { classPropertyName: "block", publicName: "block", isSignal: true, isRequired: false, transformFunction: null }, width: { classPropertyName: "width", publicName: "width", isSignal: true, isRequired: false, transformFunction: null }, disabledDate: { classPropertyName: "disabledDate", publicName: "disabledDate", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { valueChange: "valueChange" }, host: { properties: { "class.geo-date-picker-host--default": "size() === \"default\"", "class.geo-date-picker-host--small": "size() === \"small\"", "class.geo-date-picker-host--block": "block()", "class.geo-date-picker-host--error": "error()", "style.width": "hostWidth()" }, classAttribute: "geo-date-picker-host" }, providers: [
63
65
  {
64
66
  provide: NG_VALUE_ACCESSOR,
65
67
  useExisting: forwardRef(() => GeoDatePickerComponent),
66
68
  multi: true,
67
69
  },
68
- ], ngImport: i0, template: "@if (label) {\n <div class=\"geo-date-picker__label\">\n <span>{{ label }}</span>\n @if (required) {\n <span class=\"geo-date-picker__required\" aria-hidden=\"true\">*</span>\n }\n </div>\n}\n\n<nz-date-picker\n [ngClass]=\"controlClassNames\"\n nzDropdownClassName=\"geo-date-picker__dropdown\"\n [nzPlaceHolder]=\"placeholder\"\n [nzFormat]=\"format\"\n [nzMode]=\"mode\"\n [nzDisabled]=\"disabled\"\n [nzAllowClear]=\"allowClear\"\n [nzShowToday]=\"showToday\"\n [nzShowTime]=\"showTime\"\n [nzDisabledDate]=\"disabledDate\"\n [ngModel]=\"value\"\n [attr.aria-invalid]=\"error ? 'true' : null\"\n [attr.aria-describedby]=\"error && errorMessage ? errorMessageId : null\"\n (ngModelChange)=\"onValueChange($event)\"\n></nz-date-picker>\n\n@if (error && errorMessage) {\n <p class=\"geo-date-picker__error\" [id]=\"errorMessageId\" role=\"alert\">{{ errorMessage }}</p>\n}\n", styles: ["geo-date-picker.geo-date-picker-host,.geo-date-picker-host{display:inline-flex;flex-direction:column;gap:8px;width:413px;max-width:100%;vertical-align:top}.geo-date-picker-host--small{width:200px}geo-date-picker.geo-date-picker-host.geo-date-picker-host--block,.geo-date-picker-host.geo-date-picker-host--block{display:flex;width:100%;max-width:none}.geo-date-picker__label{display:inline-flex;align-items:flex-start;gap:4px;font-size:14px;line-height:normal;color:var(--geo-color-neutral-900)}.geo-date-picker__required{color:var(--geo-color-error-default)}.geo-date-picker__error{margin:0;font-size:14px;line-height:normal;color:var(--geo-color-error-default)}.geo-date-picker{display:inline-flex;align-items:center;width:100%;box-sizing:border-box}.geo-date-picker.ant-picker{border-radius:var(--geo-radius);border-color:var(--geo-color-neutral-300);padding:4px 11px;background:transparent;box-shadow:none;transition:border-color .15s ease,box-shadow .15s ease}.geo-date-picker--default.ant-picker{min-height:40px;height:40px}.geo-date-picker--small.ant-picker{min-height:32px;height:32px;padding:2px 8px}.geo-date-picker .ant-picker-input>input{min-width:0;font-size:14px;line-height:22px;color:var(--geo-color-neutral-900)}.geo-date-picker .ant-picker-input>input::placeholder{color:var(--geo-color-neutral-500)}.geo-date-picker .ant-picker-suffix,.geo-date-picker .ant-picker-clear{display:inline-flex;align-items:center;flex:0 0 auto;color:var(--geo-color-neutral-500)}.geo-date-picker:not(.ant-picker-disabled):hover{border-color:var(--geo-color-primary-default)}.geo-date-picker.ant-picker-focused{border-color:var(--geo-color-primary-default);box-shadow:0 0 0 2px color-mix(in srgb,var(--geo-color-primary-default) 12%,transparent)}.geo-date-picker.ant-picker-disabled{background:var(--geo-color-neutral-100);border-color:var(--geo-color-neutral-300)}.geo-date-picker.ant-picker-disabled .ant-picker-input>input{color:var(--geo-color-neutral-disabled-text)}.geo-date-picker-host--error .geo-date-picker.ant-picker{border-color:var(--geo-color-error-default)!important}.geo-date-picker-host--error .geo-date-picker.ant-picker-focused{box-shadow:0 0 0 2px color-mix(in srgb,var(--geo-color-error-default) 12%,transparent)!important}.geo-date-picker__dropdown.ant-picker-dropdown .ant-picker-panel-container{border-radius:var(--geo-radius);overflow:hidden}.geo-date-picker__dropdown.ant-picker-dropdown .ant-picker-cell-in-view.ant-picker-cell-selected .ant-picker-cell-inner,.geo-date-picker__dropdown.ant-picker-dropdown .ant-picker-cell-in-view.ant-picker-cell-range-start .ant-picker-cell-inner,.geo-date-picker__dropdown.ant-picker-dropdown .ant-picker-cell-in-view.ant-picker-cell-range-end .ant-picker-cell-inner{background:var(--geo-color-primary-default)}.geo-date-picker__dropdown.ant-picker-dropdown .ant-picker-cell-in-view.ant-picker-cell-today .ant-picker-cell-inner:before{border-color:var(--geo-color-primary-default)}.geo-date-picker__dropdown.ant-picker-dropdown .ant-picker-cell-in-view.ant-picker-cell-range-hover-start .ant-picker-cell-inner,.geo-date-picker__dropdown.ant-picker-dropdown .ant-picker-cell-in-view.ant-picker-cell-range-hover-end .ant-picker-cell-inner,.geo-date-picker__dropdown.ant-picker-dropdown .ant-picker-cell-in-view.ant-picker-cell-range-hover .ant-picker-cell-inner{background:var(--color-primary-surface-hover, var(--geo-color-primary-background))}.geo-date-picker__dropdown.ant-picker-dropdown .ant-picker-today-btn,.geo-date-picker__dropdown.ant-picker-dropdown .ant-picker-header-view button:hover,.geo-date-picker__dropdown.ant-picker-dropdown .ant-picker-header button:hover{color:var(--geo-color-primary-default)}.geo-date-picker__dropdown.ant-picker-dropdown .ant-picker-ok .ant-btn-primary{background:var(--geo-color-primary-default);border-color:var(--geo-color-primary-default)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: NgZorroAntdModule }, { kind: "component", type: i3.NzDatePickerComponent, selector: "nz-date-picker,nz-week-picker,nz-month-picker,nz-quarter-picker,nz-year-picker,nz-range-picker", inputs: ["nzAllowClear", "nzAutoFocus", "nzDisabled", "nzBorderless", "nzInputReadOnly", "nzInline", "nzOpen", "nzDisabledDate", "nzLocale", "nzPlaceHolder", "nzPopupStyle", "nzDropdownClassName", "nzSize", "nzStatus", "nzFormat", "nzDateRender", "nzDisabledTime", "nzRenderExtraFooter", "nzShowToday", "nzMode", "nzShowNow", "nzRanges", "nzDefaultPickerValue", "nzSeparator", "nzSuffixIcon", "nzBackdrop", "nzId", "nzPlacement", "nzShowWeekNumber", "nzShowTime"], outputs: ["nzOnPanelChange", "nzOnCalendarChange", "nzOnOk", "nzOnOpenChange"], exportAs: ["nzDatePicker"] }], encapsulation: i0.ViewEncapsulation.None });
70
+ ], ngImport: i0, template: "@if (label()) {\n <div class=\"geo-date-picker__label\">\n <span>{{ label() }}</span>\n @if (required()) {\n <span class=\"geo-date-picker__required\" aria-hidden=\"true\">*</span>\n }\n </div>\n}\n\n<nz-date-picker\n [class]=\"controlClassNames()\"\n nzDropdownClassName=\"geo-date-picker__dropdown\"\n [nzPlaceHolder]=\"placeholder()\"\n [nzFormat]=\"format()\"\n [nzMode]=\"mode()\"\n [nzDisabled]=\"isDisabled()\"\n [nzAllowClear]=\"allowClear()\"\n [nzShowToday]=\"showToday()\"\n [nzShowTime]=\"showTime()\"\n [nzDisabledDate]=\"disabledDate()\"\n [ngModel]=\"value()\"\n [attr.aria-invalid]=\"error() ? 'true' : null\"\n [attr.aria-describedby]=\"error() && errorMessage() ? errorMessageId : null\"\n (ngModelChange)=\"onValueChange($event)\"\n></nz-date-picker>\n\n@if (error() && errorMessage()) {\n <p class=\"geo-date-picker__error\" [id]=\"errorMessageId\" role=\"alert\">{{ errorMessage() }}</p>\n}\n", styles: ["geo-date-picker.geo-date-picker-host,.geo-date-picker-host{display:inline-flex;flex-direction:column;gap:8px;width:413px;max-width:100%;vertical-align:top}.geo-date-picker-host--small{width:200px}geo-date-picker.geo-date-picker-host.geo-date-picker-host--block,.geo-date-picker-host.geo-date-picker-host--block{display:flex;width:100%;max-width:none}.geo-date-picker__label{display:inline-flex;align-items:flex-start;gap:4px;font-size:14px;line-height:normal;color:var(--geo-color-neutral-900)}.geo-date-picker__required{color:var(--geo-color-error-default)}.geo-date-picker__error{margin:0;font-size:14px;line-height:normal;color:var(--geo-color-error-default)}.geo-date-picker{display:inline-flex;align-items:center;width:100%;box-sizing:border-box}.geo-date-picker.ant-picker{border-radius:var(--geo-radius);border-color:var(--geo-color-neutral-300);padding:4px 11px;background:transparent;box-shadow:none;transition:border-color .15s ease,box-shadow .15s ease}.geo-date-picker--default.ant-picker{min-height:40px;height:40px}.geo-date-picker--small.ant-picker{min-height:32px;height:32px;padding:2px 8px}.geo-date-picker .ant-picker-input>input{min-width:0;font-size:14px;line-height:22px;color:var(--geo-color-neutral-900)}.geo-date-picker .ant-picker-input>input::placeholder{color:var(--geo-color-neutral-500)}.geo-date-picker .ant-picker-suffix,.geo-date-picker .ant-picker-clear{display:inline-flex;align-items:center;flex:0 0 auto;color:var(--geo-color-neutral-500)}.geo-date-picker:not(.ant-picker-disabled):hover{border-color:var(--geo-color-primary-default)}.geo-date-picker.ant-picker-focused{border-color:var(--geo-color-primary-default);box-shadow:0 0 0 2px color-mix(in srgb,var(--geo-color-primary-default) 12%,transparent)}.geo-date-picker.ant-picker-disabled{background:var(--geo-color-neutral-100);border-color:var(--geo-color-neutral-300)}.geo-date-picker.ant-picker-disabled .ant-picker-input>input{color:var(--geo-color-neutral-disabled-text)}.geo-date-picker-host--error .geo-date-picker.ant-picker{border-color:var(--geo-color-error-default)!important}.geo-date-picker-host--error .geo-date-picker.ant-picker-focused{box-shadow:0 0 0 2px color-mix(in srgb,var(--geo-color-error-default) 12%,transparent)!important}.geo-date-picker__dropdown.ant-picker-dropdown .ant-picker-panel-container{border-radius:var(--geo-radius);overflow:hidden}.geo-date-picker__dropdown.ant-picker-dropdown .ant-picker-cell-in-view.ant-picker-cell-selected .ant-picker-cell-inner,.geo-date-picker__dropdown.ant-picker-dropdown .ant-picker-cell-in-view.ant-picker-cell-range-start .ant-picker-cell-inner,.geo-date-picker__dropdown.ant-picker-dropdown .ant-picker-cell-in-view.ant-picker-cell-range-end .ant-picker-cell-inner{background:var(--geo-color-primary-default)}.geo-date-picker__dropdown.ant-picker-dropdown .ant-picker-cell-in-view.ant-picker-cell-today .ant-picker-cell-inner:before{border-color:var(--geo-color-primary-default)}.geo-date-picker__dropdown.ant-picker-dropdown .ant-picker-cell-in-view.ant-picker-cell-range-hover-start .ant-picker-cell-inner,.geo-date-picker__dropdown.ant-picker-dropdown .ant-picker-cell-in-view.ant-picker-cell-range-hover-end .ant-picker-cell-inner,.geo-date-picker__dropdown.ant-picker-dropdown .ant-picker-cell-in-view.ant-picker-cell-range-hover .ant-picker-cell-inner{background:var(--color-primary-surface-hover, var(--geo-color-primary-background))}.geo-date-picker__dropdown.ant-picker-dropdown .ant-picker-today-btn,.geo-date-picker__dropdown.ant-picker-dropdown .ant-picker-header-view button:hover,.geo-date-picker__dropdown.ant-picker-dropdown .ant-picker-header button:hover{color:var(--geo-color-primary-default)}.geo-date-picker__dropdown.ant-picker-dropdown .ant-picker-ok .ant-btn-primary{background:var(--geo-color-primary-default);border-color:var(--geo-color-primary-default)}\n"], dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: NgZorroAntdModule }, { kind: "component", type: i2.NzDatePickerComponent, selector: "nz-date-picker,nz-week-picker,nz-month-picker,nz-quarter-picker,nz-year-picker,nz-range-picker", inputs: ["nzAllowClear", "nzAutoFocus", "nzDisabled", "nzBorderless", "nzInputReadOnly", "nzInline", "nzOpen", "nzDisabledDate", "nzLocale", "nzPlaceHolder", "nzPopupStyle", "nzDropdownClassName", "nzSize", "nzStatus", "nzFormat", "nzDateRender", "nzDisabledTime", "nzRenderExtraFooter", "nzShowToday", "nzMode", "nzShowNow", "nzRanges", "nzDefaultPickerValue", "nzSeparator", "nzSuffixIcon", "nzBackdrop", "nzId", "nzPlacement", "nzShowWeekNumber", "nzShowTime"], outputs: ["nzOnPanelChange", "nzOnCalendarChange", "nzOnOk", "nzOnOpenChange"], exportAs: ["nzDatePicker"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
69
71
  }
70
72
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: GeoDatePickerComponent, decorators: [{
71
73
  type: Component,
72
- args: [{ selector: 'geo-date-picker', standalone: true, imports: [CommonModule, FormsModule, NgZorroAntdModule], encapsulation: ViewEncapsulation.None, host: {
74
+ args: [{ selector: 'geo-date-picker', standalone: true, imports: [FormsModule, NgZorroAntdModule], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, host: {
73
75
  class: 'geo-date-picker-host',
74
- '[class.geo-date-picker-host--default]': 'size === "default"',
75
- '[class.geo-date-picker-host--small]': 'size === "small"',
76
- '[class.geo-date-picker-host--block]': 'block',
77
- '[class.geo-date-picker-host--error]': 'error',
78
- '[style.width]': 'hostWidth',
76
+ '[class.geo-date-picker-host--default]': 'size() === "default"',
77
+ '[class.geo-date-picker-host--small]': 'size() === "small"',
78
+ '[class.geo-date-picker-host--block]': 'block()',
79
+ '[class.geo-date-picker-host--error]': 'error()',
80
+ '[style.width]': 'hostWidth()',
79
81
  }, providers: [
80
82
  {
81
83
  provide: NG_VALUE_ACCESSOR,
82
84
  useExisting: forwardRef(() => GeoDatePickerComponent),
83
85
  multi: true,
84
86
  },
85
- ], template: "@if (label) {\n <div class=\"geo-date-picker__label\">\n <span>{{ label }}</span>\n @if (required) {\n <span class=\"geo-date-picker__required\" aria-hidden=\"true\">*</span>\n }\n </div>\n}\n\n<nz-date-picker\n [ngClass]=\"controlClassNames\"\n nzDropdownClassName=\"geo-date-picker__dropdown\"\n [nzPlaceHolder]=\"placeholder\"\n [nzFormat]=\"format\"\n [nzMode]=\"mode\"\n [nzDisabled]=\"disabled\"\n [nzAllowClear]=\"allowClear\"\n [nzShowToday]=\"showToday\"\n [nzShowTime]=\"showTime\"\n [nzDisabledDate]=\"disabledDate\"\n [ngModel]=\"value\"\n [attr.aria-invalid]=\"error ? 'true' : null\"\n [attr.aria-describedby]=\"error && errorMessage ? errorMessageId : null\"\n (ngModelChange)=\"onValueChange($event)\"\n></nz-date-picker>\n\n@if (error && errorMessage) {\n <p class=\"geo-date-picker__error\" [id]=\"errorMessageId\" role=\"alert\">{{ errorMessage }}</p>\n}\n", styles: ["geo-date-picker.geo-date-picker-host,.geo-date-picker-host{display:inline-flex;flex-direction:column;gap:8px;width:413px;max-width:100%;vertical-align:top}.geo-date-picker-host--small{width:200px}geo-date-picker.geo-date-picker-host.geo-date-picker-host--block,.geo-date-picker-host.geo-date-picker-host--block{display:flex;width:100%;max-width:none}.geo-date-picker__label{display:inline-flex;align-items:flex-start;gap:4px;font-size:14px;line-height:normal;color:var(--geo-color-neutral-900)}.geo-date-picker__required{color:var(--geo-color-error-default)}.geo-date-picker__error{margin:0;font-size:14px;line-height:normal;color:var(--geo-color-error-default)}.geo-date-picker{display:inline-flex;align-items:center;width:100%;box-sizing:border-box}.geo-date-picker.ant-picker{border-radius:var(--geo-radius);border-color:var(--geo-color-neutral-300);padding:4px 11px;background:transparent;box-shadow:none;transition:border-color .15s ease,box-shadow .15s ease}.geo-date-picker--default.ant-picker{min-height:40px;height:40px}.geo-date-picker--small.ant-picker{min-height:32px;height:32px;padding:2px 8px}.geo-date-picker .ant-picker-input>input{min-width:0;font-size:14px;line-height:22px;color:var(--geo-color-neutral-900)}.geo-date-picker .ant-picker-input>input::placeholder{color:var(--geo-color-neutral-500)}.geo-date-picker .ant-picker-suffix,.geo-date-picker .ant-picker-clear{display:inline-flex;align-items:center;flex:0 0 auto;color:var(--geo-color-neutral-500)}.geo-date-picker:not(.ant-picker-disabled):hover{border-color:var(--geo-color-primary-default)}.geo-date-picker.ant-picker-focused{border-color:var(--geo-color-primary-default);box-shadow:0 0 0 2px color-mix(in srgb,var(--geo-color-primary-default) 12%,transparent)}.geo-date-picker.ant-picker-disabled{background:var(--geo-color-neutral-100);border-color:var(--geo-color-neutral-300)}.geo-date-picker.ant-picker-disabled .ant-picker-input>input{color:var(--geo-color-neutral-disabled-text)}.geo-date-picker-host--error .geo-date-picker.ant-picker{border-color:var(--geo-color-error-default)!important}.geo-date-picker-host--error .geo-date-picker.ant-picker-focused{box-shadow:0 0 0 2px color-mix(in srgb,var(--geo-color-error-default) 12%,transparent)!important}.geo-date-picker__dropdown.ant-picker-dropdown .ant-picker-panel-container{border-radius:var(--geo-radius);overflow:hidden}.geo-date-picker__dropdown.ant-picker-dropdown .ant-picker-cell-in-view.ant-picker-cell-selected .ant-picker-cell-inner,.geo-date-picker__dropdown.ant-picker-dropdown .ant-picker-cell-in-view.ant-picker-cell-range-start .ant-picker-cell-inner,.geo-date-picker__dropdown.ant-picker-dropdown .ant-picker-cell-in-view.ant-picker-cell-range-end .ant-picker-cell-inner{background:var(--geo-color-primary-default)}.geo-date-picker__dropdown.ant-picker-dropdown .ant-picker-cell-in-view.ant-picker-cell-today .ant-picker-cell-inner:before{border-color:var(--geo-color-primary-default)}.geo-date-picker__dropdown.ant-picker-dropdown .ant-picker-cell-in-view.ant-picker-cell-range-hover-start .ant-picker-cell-inner,.geo-date-picker__dropdown.ant-picker-dropdown .ant-picker-cell-in-view.ant-picker-cell-range-hover-end .ant-picker-cell-inner,.geo-date-picker__dropdown.ant-picker-dropdown .ant-picker-cell-in-view.ant-picker-cell-range-hover .ant-picker-cell-inner{background:var(--color-primary-surface-hover, var(--geo-color-primary-background))}.geo-date-picker__dropdown.ant-picker-dropdown .ant-picker-today-btn,.geo-date-picker__dropdown.ant-picker-dropdown .ant-picker-header-view button:hover,.geo-date-picker__dropdown.ant-picker-dropdown .ant-picker-header button:hover{color:var(--geo-color-primary-default)}.geo-date-picker__dropdown.ant-picker-dropdown .ant-picker-ok .ant-btn-primary{background:var(--geo-color-primary-default);border-color:var(--geo-color-primary-default)}\n"] }]
86
- }], propDecorators: { label: [{
87
- type: Input
88
- }], placeholder: [{
89
- type: Input
90
- }], format: [{
91
- type: Input
92
- }], mode: [{
93
- type: Input
94
- }], size: [{
95
- type: Input
96
- }], disabled: [{
97
- type: Input
98
- }], required: [{
99
- type: Input
100
- }], error: [{
101
- type: Input
102
- }], errorMessage: [{
103
- type: Input
104
- }], allowClear: [{
105
- type: Input
106
- }], showToday: [{
107
- type: Input
108
- }], showTime: [{
109
- type: Input
110
- }], block: [{
111
- type: Input
112
- }], width: [{
113
- type: Input
114
- }], disabledDate: [{
115
- type: Input
116
- }], valueChange: [{
117
- type: Output
118
- }] } });
119
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VvLWRhdGUtcGlja2VyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2dlby11aS9zcmMvbGliL2ZpZ21hL2dlby1kYXRlLXBpY2tlci9nZW8tZGF0ZS1waWNrZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZ2VvLXVpL3NyYy9saWIvZmlnbWEvZ2VvLWRhdGUtcGlja2VyL2dlby1kYXRlLXBpY2tlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULFlBQVksRUFDWixVQUFVLEVBQ1YsS0FBSyxFQUNMLE1BQU0sRUFDTixpQkFBaUIsR0FDbEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBd0IsV0FBVyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDdEYsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0scUNBQXFDLENBQUM7Ozs7O0FBR3hFLElBQUksbUJBQW1CLEdBQUcsQ0FBQyxDQUFDO0FBeUI1QixNQUFNLE9BQU8sc0JBQXNCO0lBQ3hCLEtBQUssR0FBRyxFQUFFLENBQUM7SUFDWCxXQUFXLEdBQUcsV0FBVyxDQUFDO0lBQzFCLE1BQU0sR0FBRyxZQUFZLENBQUM7SUFDdEIsSUFBSSxHQUFzQixNQUFNLENBQUM7SUFDakMsSUFBSSxHQUFzQixTQUFTLENBQUM7SUFDcEMsUUFBUSxHQUFHLEtBQUssQ0FBQztJQUNqQixRQUFRLEdBQUcsS0FBSyxDQUFDO0lBQ2pCLEtBQUssR0FBRyxLQUFLLENBQUM7SUFDZCxZQUFZLEdBQUcsRUFBRSxDQUFDO0lBQ2xCLFVBQVUsR0FBRyxJQUFJLENBQUM7SUFDbEIsU0FBUyxHQUFHLElBQUksQ0FBQztJQUNqQixRQUFRLEdBQUcsS0FBSyxDQUFDO0lBQ2pCLEtBQUssR0FBRyxLQUFLLENBQUM7SUFDZCxLQUFLLENBQW1CO0lBQ3hCLFlBQVksQ0FBOEI7SUFFekMsV0FBVyxHQUFHLElBQUksWUFBWSxFQUFlLENBQUM7SUFFL0MsY0FBYyxHQUFHLHlCQUF5QixFQUFFLG1CQUFtQixFQUFFLENBQUM7SUFFM0UsS0FBSyxHQUFnQixJQUFJLENBQUM7SUFFbEIsUUFBUSxHQUFpQyxHQUFHLEVBQUUsQ0FBQyxTQUFTLENBQUM7SUFDekQsU0FBUyxHQUFlLEdBQUcsRUFBRSxDQUFDLFNBQVMsQ0FBQztJQUVoRCxJQUFJLFNBQVM7UUFDWCxJQUFJLElBQUksQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDLEtBQUssSUFBSSxJQUFJLEVBQUUsQ0FBQztZQUNyQyxPQUFPLElBQUksQ0FBQztRQUNkLENBQUM7UUFFRCxPQUFPLE9BQU8sSUFBSSxDQUFDLEtBQUssS0FBSyxRQUFRLENBQUMsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLEtBQUssSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDO0lBQ3pFLENBQUM7SUFFRCxJQUFJLGlCQUFpQjtRQUNuQixPQUFPO1lBQ0wsaUJBQWlCLEVBQUUsSUFBSTtZQUN2QixDQUFDLG9CQUFvQixJQUFJLENBQUMsSUFBSSxFQUFFLENBQUMsRUFBRSxJQUFJO1NBQ3hDLENBQUM7SUFDSixDQUFDO0lBRUQsYUFBYSxDQUFDLEtBQWtCO1FBQzlCLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDckIsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1FBQ2pCLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQy9CLENBQUM7SUFFRCxVQUFVLENBQUMsS0FBa0I7UUFDM0IsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLElBQUksSUFBSSxDQUFDO0lBQzdCLENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxFQUFnQztRQUMvQyxJQUFJLENBQUMsUUFBUSxHQUFHLEVBQUUsQ0FBQztJQUNyQixDQUFDO0lBRUQsaUJBQWlCLENBQUMsRUFBYztRQUM5QixJQUFJLENBQUMsU0FBUyxHQUFHLEVBQUUsQ0FBQztJQUN0QixDQUFDO0lBRUQsZ0JBQWdCLENBQUMsVUFBbUI7UUFDbEMsSUFBSSxDQUFDLFFBQVEsR0FBRyxVQUFVLENBQUM7SUFDN0IsQ0FBQzt3R0E5RFUsc0JBQXNCOzRGQUF0QixzQkFBc0IsaXVCQVJ0QjtZQUNUO2dCQUNFLE9BQU8sRUFBRSxpQkFBaUI7Z0JBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsc0JBQXNCLENBQUM7Z0JBQ3JELEtBQUssRUFBRSxJQUFJO2FBQ1o7U0FDRiwwQkNwQ0gsNDRCQTZCQSw4ekhEWFksWUFBWSw0SEFBRSxXQUFXLDhWQUFFLGlCQUFpQjs7NEZBb0IzQyxzQkFBc0I7a0JBdkJsQyxTQUFTOytCQUNFLGlCQUFpQixjQUNmLElBQUksV0FDUCxDQUFDLFlBQVksRUFBRSxXQUFXLEVBQUUsaUJBQWlCLENBQUMsaUJBR3hDLGlCQUFpQixDQUFDLElBQUksUUFDL0I7d0JBQ0osS0FBSyxFQUFFLHNCQUFzQjt3QkFDN0IsdUNBQXVDLEVBQUUsb0JBQW9CO3dCQUM3RCxxQ0FBcUMsRUFBRSxrQkFBa0I7d0JBQ3pELHFDQUFxQyxFQUFFLE9BQU87d0JBQzlDLHFDQUFxQyxFQUFFLE9BQU87d0JBQzlDLGVBQWUsRUFBRSxXQUFXO3FCQUM3QixhQUNVO3dCQUNUOzRCQUNFLE9BQU8sRUFBRSxpQkFBaUI7NEJBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLHVCQUF1QixDQUFDOzRCQUNyRCxLQUFLLEVBQUUsSUFBSTt5QkFDWjtxQkFDRjs4QkFHUSxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQUVJLFdBQVc7c0JBQXBCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDb21wb25lbnQsXG4gIEV2ZW50RW1pdHRlcixcbiAgZm9yd2FyZFJlZixcbiAgSW5wdXQsXG4gIE91dHB1dCxcbiAgVmlld0VuY2Fwc3VsYXRpb24sXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBGb3Jtc01vZHVsZSwgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBOZ1pvcnJvQW50ZE1vZHVsZSB9IGZyb20gJy4uLy4uL25nLXpvcnJvL25nLXpvcnJvLWFudGQubW9kdWxlJztcbmltcG9ydCB7IEdlb0RhdGVQaWNrZXJNb2RlLCBHZW9EYXRlUGlja2VyU2l6ZSB9IGZyb20gJy4vZ2VvLWRhdGUtcGlja2VyLnR5cGVzJztcblxubGV0IHVpRGF0ZVBpY2tlckVycm9ySWQgPSAwO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdnZW8tZGF0ZS1waWNrZXInLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBGb3Jtc01vZHVsZSwgTmdab3Jyb0FudGRNb2R1bGVdLFxuICB0ZW1wbGF0ZVVybDogJy4vZ2VvLWRhdGUtcGlja2VyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmw6ICcuL2dlby1kYXRlLXBpY2tlci5jb21wb25lbnQuc2NzcycsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIGhvc3Q6IHtcbiAgICBjbGFzczogJ2dlby1kYXRlLXBpY2tlci1ob3N0JyxcbiAgICAnW2NsYXNzLmdlby1kYXRlLXBpY2tlci1ob3N0LS1kZWZhdWx0XSc6ICdzaXplID09PSBcImRlZmF1bHRcIicsXG4gICAgJ1tjbGFzcy5nZW8tZGF0ZS1waWNrZXItaG9zdC0tc21hbGxdJzogJ3NpemUgPT09IFwic21hbGxcIicsXG4gICAgJ1tjbGFzcy5nZW8tZGF0ZS1waWNrZXItaG9zdC0tYmxvY2tdJzogJ2Jsb2NrJyxcbiAgICAnW2NsYXNzLmdlby1kYXRlLXBpY2tlci1ob3N0LS1lcnJvcl0nOiAnZXJyb3InLFxuICAgICdbc3R5bGUud2lkdGhdJzogJ2hvc3RXaWR0aCcsXG4gIH0sXG4gIHByb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gR2VvRGF0ZVBpY2tlckNvbXBvbmVudCksXG4gICAgICBtdWx0aTogdHJ1ZSxcbiAgICB9LFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBHZW9EYXRlUGlja2VyQ29tcG9uZW50IGltcGxlbWVudHMgQ29udHJvbFZhbHVlQWNjZXNzb3Ige1xuICBASW5wdXQoKSBsYWJlbCA9ICcnO1xuICBASW5wdXQoKSBwbGFjZWhvbGRlciA9ICdDaOG7jW4gbmfDoHknO1xuICBASW5wdXQoKSBmb3JtYXQgPSAnZGQvTU0veXl5eSc7XG4gIEBJbnB1dCgpIG1vZGU6IEdlb0RhdGVQaWNrZXJNb2RlID0gJ2RhdGUnO1xuICBASW5wdXQoKSBzaXplOiBHZW9EYXRlUGlja2VyU2l6ZSA9ICdkZWZhdWx0JztcbiAgQElucHV0KCkgZGlzYWJsZWQgPSBmYWxzZTtcbiAgQElucHV0KCkgcmVxdWlyZWQgPSBmYWxzZTtcbiAgQElucHV0KCkgZXJyb3IgPSBmYWxzZTtcbiAgQElucHV0KCkgZXJyb3JNZXNzYWdlID0gJyc7XG4gIEBJbnB1dCgpIGFsbG93Q2xlYXIgPSB0cnVlO1xuICBASW5wdXQoKSBzaG93VG9kYXkgPSB0cnVlO1xuICBASW5wdXQoKSBzaG93VGltZSA9IGZhbHNlO1xuICBASW5wdXQoKSBibG9jayA9IGZhbHNlO1xuICBASW5wdXQoKSB3aWR0aD86IG51bWJlciB8IHN0cmluZztcbiAgQElucHV0KCkgZGlzYWJsZWREYXRlPzogKGN1cnJlbnQ6IERhdGUpID0+IGJvb2xlYW47XG5cbiAgQE91dHB1dCgpIHZhbHVlQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxEYXRlIHwgbnVsbD4oKTtcblxuICByZWFkb25seSBlcnJvck1lc3NhZ2VJZCA9IGBnZW8tZGF0ZS1waWNrZXItZXJyb3ItJHsrK3VpRGF0ZVBpY2tlckVycm9ySWR9YDtcblxuICB2YWx1ZTogRGF0ZSB8IG51bGwgPSBudWxsO1xuXG4gIHByaXZhdGUgb25DaGFuZ2U6ICh2YWx1ZTogRGF0ZSB8IG51bGwpID0+IHZvaWQgPSAoKSA9PiB1bmRlZmluZWQ7XG4gIHByaXZhdGUgb25Ub3VjaGVkOiAoKSA9PiB2b2lkID0gKCkgPT4gdW5kZWZpbmVkO1xuXG4gIGdldCBob3N0V2lkdGgoKTogc3RyaW5nIHwgbnVsbCB7XG4gICAgaWYgKHRoaXMuYmxvY2sgfHwgdGhpcy53aWR0aCA9PSBudWxsKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICByZXR1cm4gdHlwZW9mIHRoaXMud2lkdGggPT09ICdudW1iZXInID8gYCR7dGhpcy53aWR0aH1weGAgOiB0aGlzLndpZHRoO1xuICB9XG5cbiAgZ2V0IGNvbnRyb2xDbGFzc05hbWVzKCk6IFJlY29yZDxzdHJpbmcsIGJvb2xlYW4+IHtcbiAgICByZXR1cm4ge1xuICAgICAgJ2dlby1kYXRlLXBpY2tlcic6IHRydWUsXG4gICAgICBbYGdlby1kYXRlLXBpY2tlci0tJHt0aGlzLnNpemV9YF06IHRydWUsXG4gICAgfTtcbiAgfVxuXG4gIG9uVmFsdWVDaGFuZ2UodmFsdWU6IERhdGUgfCBudWxsKTogdm9pZCB7XG4gICAgdGhpcy52YWx1ZSA9IHZhbHVlO1xuICAgIHRoaXMub25DaGFuZ2UodmFsdWUpO1xuICAgIHRoaXMub25Ub3VjaGVkKCk7XG4gICAgdGhpcy52YWx1ZUNoYW5nZS5lbWl0KHZhbHVlKTtcbiAgfVxuXG4gIHdyaXRlVmFsdWUodmFsdWU6IERhdGUgfCBudWxsKTogdm9pZCB7XG4gICAgdGhpcy52YWx1ZSA9IHZhbHVlID8/IG51bGw7XG4gIH1cblxuICByZWdpc3Rlck9uQ2hhbmdlKGZuOiAodmFsdWU6IERhdGUgfCBudWxsKSA9PiB2b2lkKTogdm9pZCB7XG4gICAgdGhpcy5vbkNoYW5nZSA9IGZuO1xuICB9XG5cbiAgcmVnaXN0ZXJPblRvdWNoZWQoZm46ICgpID0+IHZvaWQpOiB2b2lkIHtcbiAgICB0aGlzLm9uVG91Y2hlZCA9IGZuO1xuICB9XG5cbiAgc2V0RGlzYWJsZWRTdGF0ZShpc0Rpc2FibGVkOiBib29sZWFuKTogdm9pZCB7XG4gICAgdGhpcy5kaXNhYmxlZCA9IGlzRGlzYWJsZWQ7XG4gIH1cbn1cbiIsIkBpZiAobGFiZWwpIHtcbiAgPGRpdiBjbGFzcz1cImdlby1kYXRlLXBpY2tlcl9fbGFiZWxcIj5cbiAgICA8c3Bhbj57eyBsYWJlbCB9fTwvc3Bhbj5cbiAgICBAaWYgKHJlcXVpcmVkKSB7XG4gICAgICA8c3BhbiBjbGFzcz1cImdlby1kYXRlLXBpY2tlcl9fcmVxdWlyZWRcIiBhcmlhLWhpZGRlbj1cInRydWVcIj4qPC9zcGFuPlxuICAgIH1cbiAgPC9kaXY+XG59XG5cbjxuei1kYXRlLXBpY2tlclxuICBbbmdDbGFzc109XCJjb250cm9sQ2xhc3NOYW1lc1wiXG4gIG56RHJvcGRvd25DbGFzc05hbWU9XCJnZW8tZGF0ZS1waWNrZXJfX2Ryb3Bkb3duXCJcbiAgW256UGxhY2VIb2xkZXJdPVwicGxhY2Vob2xkZXJcIlxuICBbbnpGb3JtYXRdPVwiZm9ybWF0XCJcbiAgW256TW9kZV09XCJtb2RlXCJcbiAgW256RGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICBbbnpBbGxvd0NsZWFyXT1cImFsbG93Q2xlYXJcIlxuICBbbnpTaG93VG9kYXldPVwic2hvd1RvZGF5XCJcbiAgW256U2hvd1RpbWVdPVwic2hvd1RpbWVcIlxuICBbbnpEaXNhYmxlZERhdGVdPVwiZGlzYWJsZWREYXRlXCJcbiAgW25nTW9kZWxdPVwidmFsdWVcIlxuICBbYXR0ci5hcmlhLWludmFsaWRdPVwiZXJyb3IgPyAndHJ1ZScgOiBudWxsXCJcbiAgW2F0dHIuYXJpYS1kZXNjcmliZWRieV09XCJlcnJvciAmJiBlcnJvck1lc3NhZ2UgPyBlcnJvck1lc3NhZ2VJZCA6IG51bGxcIlxuICAobmdNb2RlbENoYW5nZSk9XCJvblZhbHVlQ2hhbmdlKCRldmVudClcIlxuPjwvbnotZGF0ZS1waWNrZXI+XG5cbkBpZiAoZXJyb3IgJiYgZXJyb3JNZXNzYWdlKSB7XG4gIDxwIGNsYXNzPVwiZ2VvLWRhdGUtcGlja2VyX19lcnJvclwiIFtpZF09XCJlcnJvck1lc3NhZ2VJZFwiIHJvbGU9XCJhbGVydFwiPnt7IGVycm9yTWVzc2FnZSB9fTwvcD5cbn1cbiJdfQ==
87
+ ], template: "@if (label()) {\n <div class=\"geo-date-picker__label\">\n <span>{{ label() }}</span>\n @if (required()) {\n <span class=\"geo-date-picker__required\" aria-hidden=\"true\">*</span>\n }\n </div>\n}\n\n<nz-date-picker\n [class]=\"controlClassNames()\"\n nzDropdownClassName=\"geo-date-picker__dropdown\"\n [nzPlaceHolder]=\"placeholder()\"\n [nzFormat]=\"format()\"\n [nzMode]=\"mode()\"\n [nzDisabled]=\"isDisabled()\"\n [nzAllowClear]=\"allowClear()\"\n [nzShowToday]=\"showToday()\"\n [nzShowTime]=\"showTime()\"\n [nzDisabledDate]=\"disabledDate()\"\n [ngModel]=\"value()\"\n [attr.aria-invalid]=\"error() ? 'true' : null\"\n [attr.aria-describedby]=\"error() && errorMessage() ? errorMessageId : null\"\n (ngModelChange)=\"onValueChange($event)\"\n></nz-date-picker>\n\n@if (error() && errorMessage()) {\n <p class=\"geo-date-picker__error\" [id]=\"errorMessageId\" role=\"alert\">{{ errorMessage() }}</p>\n}\n", styles: ["geo-date-picker.geo-date-picker-host,.geo-date-picker-host{display:inline-flex;flex-direction:column;gap:8px;width:413px;max-width:100%;vertical-align:top}.geo-date-picker-host--small{width:200px}geo-date-picker.geo-date-picker-host.geo-date-picker-host--block,.geo-date-picker-host.geo-date-picker-host--block{display:flex;width:100%;max-width:none}.geo-date-picker__label{display:inline-flex;align-items:flex-start;gap:4px;font-size:14px;line-height:normal;color:var(--geo-color-neutral-900)}.geo-date-picker__required{color:var(--geo-color-error-default)}.geo-date-picker__error{margin:0;font-size:14px;line-height:normal;color:var(--geo-color-error-default)}.geo-date-picker{display:inline-flex;align-items:center;width:100%;box-sizing:border-box}.geo-date-picker.ant-picker{border-radius:var(--geo-radius);border-color:var(--geo-color-neutral-300);padding:4px 11px;background:transparent;box-shadow:none;transition:border-color .15s ease,box-shadow .15s ease}.geo-date-picker--default.ant-picker{min-height:40px;height:40px}.geo-date-picker--small.ant-picker{min-height:32px;height:32px;padding:2px 8px}.geo-date-picker .ant-picker-input>input{min-width:0;font-size:14px;line-height:22px;color:var(--geo-color-neutral-900)}.geo-date-picker .ant-picker-input>input::placeholder{color:var(--geo-color-neutral-500)}.geo-date-picker .ant-picker-suffix,.geo-date-picker .ant-picker-clear{display:inline-flex;align-items:center;flex:0 0 auto;color:var(--geo-color-neutral-500)}.geo-date-picker:not(.ant-picker-disabled):hover{border-color:var(--geo-color-primary-default)}.geo-date-picker.ant-picker-focused{border-color:var(--geo-color-primary-default);box-shadow:0 0 0 2px color-mix(in srgb,var(--geo-color-primary-default) 12%,transparent)}.geo-date-picker.ant-picker-disabled{background:var(--geo-color-neutral-100);border-color:var(--geo-color-neutral-300)}.geo-date-picker.ant-picker-disabled .ant-picker-input>input{color:var(--geo-color-neutral-disabled-text)}.geo-date-picker-host--error .geo-date-picker.ant-picker{border-color:var(--geo-color-error-default)!important}.geo-date-picker-host--error .geo-date-picker.ant-picker-focused{box-shadow:0 0 0 2px color-mix(in srgb,var(--geo-color-error-default) 12%,transparent)!important}.geo-date-picker__dropdown.ant-picker-dropdown .ant-picker-panel-container{border-radius:var(--geo-radius);overflow:hidden}.geo-date-picker__dropdown.ant-picker-dropdown .ant-picker-cell-in-view.ant-picker-cell-selected .ant-picker-cell-inner,.geo-date-picker__dropdown.ant-picker-dropdown .ant-picker-cell-in-view.ant-picker-cell-range-start .ant-picker-cell-inner,.geo-date-picker__dropdown.ant-picker-dropdown .ant-picker-cell-in-view.ant-picker-cell-range-end .ant-picker-cell-inner{background:var(--geo-color-primary-default)}.geo-date-picker__dropdown.ant-picker-dropdown .ant-picker-cell-in-view.ant-picker-cell-today .ant-picker-cell-inner:before{border-color:var(--geo-color-primary-default)}.geo-date-picker__dropdown.ant-picker-dropdown .ant-picker-cell-in-view.ant-picker-cell-range-hover-start .ant-picker-cell-inner,.geo-date-picker__dropdown.ant-picker-dropdown .ant-picker-cell-in-view.ant-picker-cell-range-hover-end .ant-picker-cell-inner,.geo-date-picker__dropdown.ant-picker-dropdown .ant-picker-cell-in-view.ant-picker-cell-range-hover .ant-picker-cell-inner{background:var(--color-primary-surface-hover, var(--geo-color-primary-background))}.geo-date-picker__dropdown.ant-picker-dropdown .ant-picker-today-btn,.geo-date-picker__dropdown.ant-picker-dropdown .ant-picker-header-view button:hover,.geo-date-picker__dropdown.ant-picker-dropdown .ant-picker-header button:hover{color:var(--geo-color-primary-default)}.geo-date-picker__dropdown.ant-picker-dropdown .ant-picker-ok .ant-btn-primary{background:var(--geo-color-primary-default);border-color:var(--geo-color-primary-default)}\n"] }]
88
+ }] });
89
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VvLWRhdGUtcGlja2VyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2dlby11aS9zcmMvbGliL2ZpZ21hL2dlby1kYXRlLXBpY2tlci9nZW8tZGF0ZS1waWNrZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZ2VvLXVpL3NyYy9saWIvZmlnbWEvZ2VvLWRhdGUtcGlja2VyL2dlby1kYXRlLXBpY2tlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsUUFBUSxFQUNSLFVBQVUsRUFDVixNQUFNLEVBQ04sS0FBSyxFQUNMLE1BQU0sRUFDTixNQUFNLEVBQ04saUJBQWlCLEdBQ2xCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBd0IsV0FBVyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDdEYsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0scUNBQXFDLENBQUM7Ozs7QUFHeEUsSUFBSSxtQkFBbUIsR0FBRyxDQUFDLENBQUM7QUEwQjVCLE1BQU0sT0FBTyxzQkFBc0I7SUFDaEIsR0FBRyxHQUFHLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO0lBRXhDLEtBQUssR0FBRyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDbEIsV0FBVyxHQUFHLEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUNqQyxNQUFNLEdBQUcsS0FBSyxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQzdCLElBQUksR0FBRyxLQUFLLENBQW9CLE1BQU0sQ0FBQyxDQUFDO0lBQ3hDLElBQUksR0FBRyxLQUFLLENBQW9CLFNBQVMsQ0FBQyxDQUFDO0lBQzNDLFFBQVEsR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDeEIsUUFBUSxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN4QixLQUFLLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3JCLFlBQVksR0FBRyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDekIsVUFBVSxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN6QixTQUFTLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3hCLFFBQVEsR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDeEIsS0FBSyxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNyQixLQUFLLEdBQUcsS0FBSyxDQUE4QixTQUFTLENBQUMsQ0FBQztJQUN0RCxZQUFZLEdBQUcsS0FBSyxDQUEyQyxTQUFTLENBQUMsQ0FBQztJQUUxRSxXQUFXLEdBQUcsTUFBTSxFQUFlLENBQUM7SUFFcEMsY0FBYyxHQUFHLHlCQUF5QixFQUFFLG1CQUFtQixFQUFFLENBQUM7SUFFMUQsZUFBZSxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN4QyxVQUFVLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsSUFBSSxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUMsQ0FBQztJQUU3RCxLQUFLLEdBQUcsTUFBTSxDQUFjLElBQUksQ0FBQyxDQUFDO0lBRTdDLFFBQVEsR0FBaUMsR0FBRyxFQUFFLENBQUMsU0FBUyxDQUFDO0lBQ3pELFNBQVMsR0FBZSxHQUFHLEVBQUUsQ0FBQyxTQUFTLENBQUM7SUFFdkMsU0FBUyxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUU7UUFDakMsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQzNCLElBQUksSUFBSSxDQUFDLEtBQUssRUFBRSxJQUFJLEtBQUssSUFBSSxJQUFJLEVBQUUsQ0FBQztZQUNsQyxPQUFPLElBQUksQ0FBQztRQUNkLENBQUM7UUFFRCxPQUFPLE9BQU8sS0FBSyxLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUMsR0FBRyxLQUFLLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO0lBQzFELENBQUMsQ0FBQyxDQUFDO0lBRU0saUJBQWlCLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUM7UUFDM0MsaUJBQWlCLEVBQUUsSUFBSTtRQUN2QixDQUFDLG9CQUFvQixJQUFJLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxFQUFFLElBQUk7S0FDMUMsQ0FBQyxDQUFDLENBQUM7SUFFSixhQUFhLENBQUMsS0FBa0I7UUFDOUIsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDdEIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNyQixJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7UUFDakIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDL0IsQ0FBQztJQUVELFVBQVUsQ0FBQyxLQUFrQjtRQUMzQixJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDLENBQUM7UUFDOUIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUMxQixDQUFDO0lBRUQsZ0JBQWdCLENBQUMsRUFBZ0M7UUFDL0MsSUFBSSxDQUFDLFFBQVEsR0FBRyxFQUFFLENBQUM7SUFDckIsQ0FBQztJQUVELGlCQUFpQixDQUFDLEVBQWM7UUFDOUIsSUFBSSxDQUFDLFNBQVMsR0FBRyxFQUFFLENBQUM7SUFDdEIsQ0FBQztJQUVELGdCQUFnQixDQUFDLFVBQW1CO1FBQ2xDLElBQUksQ0FBQyxlQUFlLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ3JDLElBQUksQ0FBQyxHQUFHLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDMUIsQ0FBQzt3R0FwRVUsc0JBQXNCOzRGQUF0QixzQkFBc0Isd3lFQVJ0QjtZQUNUO2dCQUNFLE9BQU8sRUFBRSxpQkFBaUI7Z0JBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsc0JBQXNCLENBQUM7Z0JBQ3JELEtBQUssRUFBRSxJQUFJO2FBQ1o7U0FDRiwwQkN4Q0gsazdCQTZCQSw4ekhEUlksV0FBVyw4VkFBRSxpQkFBaUI7OzRGQXFCN0Isc0JBQXNCO2tCQXhCbEMsU0FBUzsrQkFDRSxpQkFBaUIsY0FDZixJQUFJLFdBQ1AsQ0FBQyxXQUFXLEVBQUUsaUJBQWlCLENBQUMsaUJBRzFCLGlCQUFpQixDQUFDLElBQUksbUJBQ3BCLHVCQUF1QixDQUFDLE1BQU0sUUFDekM7d0JBQ0osS0FBSyxFQUFFLHNCQUFzQjt3QkFDN0IsdUNBQXVDLEVBQUUsc0JBQXNCO3dCQUMvRCxxQ0FBcUMsRUFBRSxvQkFBb0I7d0JBQzNELHFDQUFxQyxFQUFFLFNBQVM7d0JBQ2hELHFDQUFxQyxFQUFFLFNBQVM7d0JBQ2hELGVBQWUsRUFBRSxhQUFhO3FCQUMvQixhQUNVO3dCQUNUOzRCQUNFLE9BQU8sRUFBRSxpQkFBaUI7NEJBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLHVCQUF1QixDQUFDOzRCQUNyRCxLQUFLLEVBQUUsSUFBSTt5QkFDWjtxQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBjb21wdXRlZCxcbiAgZm9yd2FyZFJlZixcbiAgaW5qZWN0LFxuICBpbnB1dCxcbiAgb3V0cHV0LFxuICBzaWduYWwsXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBGb3Jtc01vZHVsZSwgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBOZ1pvcnJvQW50ZE1vZHVsZSB9IGZyb20gJy4uLy4uL25nLXpvcnJvL25nLXpvcnJvLWFudGQubW9kdWxlJztcbmltcG9ydCB7IEdlb0RhdGVQaWNrZXJNb2RlLCBHZW9EYXRlUGlja2VyU2l6ZSB9IGZyb20gJy4vZ2VvLWRhdGUtcGlja2VyLnR5cGVzJztcblxubGV0IHVpRGF0ZVBpY2tlckVycm9ySWQgPSAwO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdnZW8tZGF0ZS1waWNrZXInLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbRm9ybXNNb2R1bGUsIE5nWm9ycm9BbnRkTW9kdWxlXSxcbiAgdGVtcGxhdGVVcmw6ICcuL2dlby1kYXRlLXBpY2tlci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsOiAnLi9nZW8tZGF0ZS1waWNrZXIuY29tcG9uZW50LnNjc3MnLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgaG9zdDoge1xuICAgIGNsYXNzOiAnZ2VvLWRhdGUtcGlja2VyLWhvc3QnLFxuICAgICdbY2xhc3MuZ2VvLWRhdGUtcGlja2VyLWhvc3QtLWRlZmF1bHRdJzogJ3NpemUoKSA9PT0gXCJkZWZhdWx0XCInLFxuICAgICdbY2xhc3MuZ2VvLWRhdGUtcGlja2VyLWhvc3QtLXNtYWxsXSc6ICdzaXplKCkgPT09IFwic21hbGxcIicsXG4gICAgJ1tjbGFzcy5nZW8tZGF0ZS1waWNrZXItaG9zdC0tYmxvY2tdJzogJ2Jsb2NrKCknLFxuICAgICdbY2xhc3MuZ2VvLWRhdGUtcGlja2VyLWhvc3QtLWVycm9yXSc6ICdlcnJvcigpJyxcbiAgICAnW3N0eWxlLndpZHRoXSc6ICdob3N0V2lkdGgoKScsXG4gIH0sXG4gIHByb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gR2VvRGF0ZVBpY2tlckNvbXBvbmVudCksXG4gICAgICBtdWx0aTogdHJ1ZSxcbiAgICB9LFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBHZW9EYXRlUGlja2VyQ29tcG9uZW50IGltcGxlbWVudHMgQ29udHJvbFZhbHVlQWNjZXNzb3Ige1xuICBwcml2YXRlIHJlYWRvbmx5IGNkciA9IGluamVjdChDaGFuZ2VEZXRlY3RvclJlZik7XG5cbiAgcmVhZG9ubHkgbGFiZWwgPSBpbnB1dCgnJyk7XG4gIHJlYWRvbmx5IHBsYWNlaG9sZGVyID0gaW5wdXQoJ0No4buNbiBuZ8OgeScpO1xuICByZWFkb25seSBmb3JtYXQgPSBpbnB1dCgnZGQvTU0veXl5eScpO1xuICByZWFkb25seSBtb2RlID0gaW5wdXQ8R2VvRGF0ZVBpY2tlck1vZGU+KCdkYXRlJyk7XG4gIHJlYWRvbmx5IHNpemUgPSBpbnB1dDxHZW9EYXRlUGlja2VyU2l6ZT4oJ2RlZmF1bHQnKTtcbiAgcmVhZG9ubHkgZGlzYWJsZWQgPSBpbnB1dChmYWxzZSk7XG4gIHJlYWRvbmx5IHJlcXVpcmVkID0gaW5wdXQoZmFsc2UpO1xuICByZWFkb25seSBlcnJvciA9IGlucHV0KGZhbHNlKTtcbiAgcmVhZG9ubHkgZXJyb3JNZXNzYWdlID0gaW5wdXQoJycpO1xuICByZWFkb25seSBhbGxvd0NsZWFyID0gaW5wdXQodHJ1ZSk7XG4gIHJlYWRvbmx5IHNob3dUb2RheSA9IGlucHV0KHRydWUpO1xuICByZWFkb25seSBzaG93VGltZSA9IGlucHV0KGZhbHNlKTtcbiAgcmVhZG9ubHkgYmxvY2sgPSBpbnB1dChmYWxzZSk7XG4gIHJlYWRvbmx5IHdpZHRoID0gaW5wdXQ8bnVtYmVyIHwgc3RyaW5nIHwgdW5kZWZpbmVkPih1bmRlZmluZWQpO1xuICByZWFkb25seSBkaXNhYmxlZERhdGUgPSBpbnB1dDwoKGN1cnJlbnQ6IERhdGUpID0+IGJvb2xlYW4pIHwgdW5kZWZpbmVkPih1bmRlZmluZWQpO1xuXG4gIHJlYWRvbmx5IHZhbHVlQ2hhbmdlID0gb3V0cHV0PERhdGUgfCBudWxsPigpO1xuXG4gIHJlYWRvbmx5IGVycm9yTWVzc2FnZUlkID0gYGdlby1kYXRlLXBpY2tlci1lcnJvci0keysrdWlEYXRlUGlja2VyRXJyb3JJZH1gO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgZGlzYWJsZWRGcm9tQ3ZhID0gc2lnbmFsKGZhbHNlKTtcbiAgcmVhZG9ubHkgaXNEaXNhYmxlZCA9IGNvbXB1dGVkKCgpID0+IHRoaXMuZGlzYWJsZWQoKSB8fCB0aGlzLmRpc2FibGVkRnJvbUN2YSgpKTtcblxuICBwcm90ZWN0ZWQgcmVhZG9ubHkgdmFsdWUgPSBzaWduYWw8RGF0ZSB8IG51bGw+KG51bGwpO1xuXG4gIHByaXZhdGUgb25DaGFuZ2U6ICh2YWx1ZTogRGF0ZSB8IG51bGwpID0+IHZvaWQgPSAoKSA9PiB1bmRlZmluZWQ7XG4gIHByaXZhdGUgb25Ub3VjaGVkOiAoKSA9PiB2b2lkID0gKCkgPT4gdW5kZWZpbmVkO1xuXG4gIHJlYWRvbmx5IGhvc3RXaWR0aCA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICBjb25zdCB3aWR0aCA9IHRoaXMud2lkdGgoKTtcbiAgICBpZiAodGhpcy5ibG9jaygpIHx8IHdpZHRoID09IG51bGwpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIHJldHVybiB0eXBlb2Ygd2lkdGggPT09ICdudW1iZXInID8gYCR7d2lkdGh9cHhgIDogd2lkdGg7XG4gIH0pO1xuXG4gIHJlYWRvbmx5IGNvbnRyb2xDbGFzc05hbWVzID0gY29tcHV0ZWQoKCkgPT4gKHtcbiAgICAnZ2VvLWRhdGUtcGlja2VyJzogdHJ1ZSxcbiAgICBbYGdlby1kYXRlLXBpY2tlci0tJHt0aGlzLnNpemUoKX1gXTogdHJ1ZSxcbiAgfSkpO1xuXG4gIG9uVmFsdWVDaGFuZ2UodmFsdWU6IERhdGUgfCBudWxsKTogdm9pZCB7XG4gICAgdGhpcy52YWx1ZS5zZXQodmFsdWUpO1xuICAgIHRoaXMub25DaGFuZ2UodmFsdWUpO1xuICAgIHRoaXMub25Ub3VjaGVkKCk7XG4gICAgdGhpcy52YWx1ZUNoYW5nZS5lbWl0KHZhbHVlKTtcbiAgfVxuXG4gIHdyaXRlVmFsdWUodmFsdWU6IERhdGUgfCBudWxsKTogdm9pZCB7XG4gICAgdGhpcy52YWx1ZS5zZXQodmFsdWUgPz8gbnVsbCk7XG4gICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG4gIH1cblxuICByZWdpc3Rlck9uQ2hhbmdlKGZuOiAodmFsdWU6IERhdGUgfCBudWxsKSA9PiB2b2lkKTogdm9pZCB7XG4gICAgdGhpcy5vbkNoYW5nZSA9IGZuO1xuICB9XG5cbiAgcmVnaXN0ZXJPblRvdWNoZWQoZm46ICgpID0+IHZvaWQpOiB2b2lkIHtcbiAgICB0aGlzLm9uVG91Y2hlZCA9IGZuO1xuICB9XG5cbiAgc2V0RGlzYWJsZWRTdGF0ZShpc0Rpc2FibGVkOiBib29sZWFuKTogdm9pZCB7XG4gICAgdGhpcy5kaXNhYmxlZEZyb21DdmEuc2V0KGlzRGlzYWJsZWQpO1xuICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICB9XG59XG4iLCJAaWYgKGxhYmVsKCkpIHtcbiAgPGRpdiBjbGFzcz1cImdlby1kYXRlLXBpY2tlcl9fbGFiZWxcIj5cbiAgICA8c3Bhbj57eyBsYWJlbCgpIH19PC9zcGFuPlxuICAgIEBpZiAocmVxdWlyZWQoKSkge1xuICAgICAgPHNwYW4gY2xhc3M9XCJnZW8tZGF0ZS1waWNrZXJfX3JlcXVpcmVkXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+Kjwvc3Bhbj5cbiAgICB9XG4gIDwvZGl2PlxufVxuXG48bnotZGF0ZS1waWNrZXJcbiAgW2NsYXNzXT1cImNvbnRyb2xDbGFzc05hbWVzKClcIlxuICBuekRyb3Bkb3duQ2xhc3NOYW1lPVwiZ2VvLWRhdGUtcGlja2VyX19kcm9wZG93blwiXG4gIFtuelBsYWNlSG9sZGVyXT1cInBsYWNlaG9sZGVyKClcIlxuICBbbnpGb3JtYXRdPVwiZm9ybWF0KClcIlxuICBbbnpNb2RlXT1cIm1vZGUoKVwiXG4gIFtuekRpc2FibGVkXT1cImlzRGlzYWJsZWQoKVwiXG4gIFtuekFsbG93Q2xlYXJdPVwiYWxsb3dDbGVhcigpXCJcbiAgW256U2hvd1RvZGF5XT1cInNob3dUb2RheSgpXCJcbiAgW256U2hvd1RpbWVdPVwic2hvd1RpbWUoKVwiXG4gIFtuekRpc2FibGVkRGF0ZV09XCJkaXNhYmxlZERhdGUoKVwiXG4gIFtuZ01vZGVsXT1cInZhbHVlKClcIlxuICBbYXR0ci5hcmlhLWludmFsaWRdPVwiZXJyb3IoKSA/ICd0cnVlJyA6IG51bGxcIlxuICBbYXR0ci5hcmlhLWRlc2NyaWJlZGJ5XT1cImVycm9yKCkgJiYgZXJyb3JNZXNzYWdlKCkgPyBlcnJvck1lc3NhZ2VJZCA6IG51bGxcIlxuICAobmdNb2RlbENoYW5nZSk9XCJvblZhbHVlQ2hhbmdlKCRldmVudClcIlxuPjwvbnotZGF0ZS1waWNrZXI+XG5cbkBpZiAoZXJyb3IoKSAmJiBlcnJvck1lc3NhZ2UoKSkge1xuICA8cCBjbGFzcz1cImdlby1kYXRlLXBpY2tlcl9fZXJyb3JcIiBbaWRdPVwiZXJyb3JNZXNzYWdlSWRcIiByb2xlPVwiYWxlcnRcIj57eyBlcnJvck1lc3NhZ2UoKSB9fTwvcD5cbn1cbiJdfQ==