@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
@@ -0,0 +1,47 @@
1
+ /**
2
+ * CDK / ng-zorro overlays (drawer, dropdown, tooltip, modal) mount under
3
+ * `.cdk-overlay-container` on `document.body`. While an ancestor is in
4
+ * Fullscreen API mode, only its descendants are painted — so overlays on
5
+ * `body` become invisible / untouchable.
6
+ *
7
+ * Call on `fullscreenchange` to move the overlay container into the
8
+ * fullscreen element, then restore to `body` when exiting.
9
+ */
10
+ export function syncOverlayContainerToFullscreen(overlayContainer, scopeRoot) {
11
+ if (typeof document === 'undefined') {
12
+ return;
13
+ }
14
+ const container = overlayContainer.getContainerElement();
15
+ const fullscreen = document.fullscreenElement;
16
+ if (!(fullscreen instanceof HTMLElement)) {
17
+ restoreOverlayContainerElementToBody(container);
18
+ return;
19
+ }
20
+ // Only remount when this map shell (or a descendant) owns fullscreen.
21
+ if (scopeRoot &&
22
+ fullscreen !== scopeRoot &&
23
+ !scopeRoot.contains(fullscreen) &&
24
+ !fullscreen.contains(scopeRoot)) {
25
+ restoreOverlayContainerElementToBody(container);
26
+ return;
27
+ }
28
+ if (container.parentElement !== fullscreen) {
29
+ fullscreen.appendChild(container);
30
+ }
31
+ }
32
+ /** Always put the CDK overlay host back on `document.body`. */
33
+ export function restoreOverlayContainerToBody(overlayContainer) {
34
+ if (typeof document === 'undefined') {
35
+ return;
36
+ }
37
+ restoreOverlayContainerElementToBody(overlayContainer.getContainerElement());
38
+ }
39
+ function restoreOverlayContainerElementToBody(container) {
40
+ if (typeof document === 'undefined') {
41
+ return;
42
+ }
43
+ if (container.parentElement !== document.body) {
44
+ document.body.appendChild(container);
45
+ }
46
+ }
47
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VvLW1hcC1mdWxsc2NyZWVuLW92ZXJsYXkudXRpbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2dlby11aS9zcmMvbGliL2ZpZ21hL2dlby1tYXAvdXRpbHMvZ2VvLW1hcC1mdWxsc2NyZWVuLW92ZXJsYXkudXRpbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQTs7Ozs7Ozs7R0FRRztBQUNILE1BQU0sVUFBVSxnQ0FBZ0MsQ0FDOUMsZ0JBQWtDLEVBQ2xDLFNBQThCO0lBRTlCLElBQUksT0FBTyxRQUFRLEtBQUssV0FBVyxFQUFFLENBQUM7UUFDcEMsT0FBTztJQUNULENBQUM7SUFFRCxNQUFNLFNBQVMsR0FBRyxnQkFBZ0IsQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO0lBQ3pELE1BQU0sVUFBVSxHQUFHLFFBQVEsQ0FBQyxpQkFBaUIsQ0FBQztJQUU5QyxJQUFJLENBQUMsQ0FBQyxVQUFVLFlBQVksV0FBVyxDQUFDLEVBQUUsQ0FBQztRQUN6QyxvQ0FBb0MsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUNoRCxPQUFPO0lBQ1QsQ0FBQztJQUVELHNFQUFzRTtJQUN0RSxJQUNFLFNBQVM7UUFDVCxVQUFVLEtBQUssU0FBUztRQUN4QixDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDO1FBQy9CLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsRUFDL0IsQ0FBQztRQUNELG9DQUFvQyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ2hELE9BQU87SUFDVCxDQUFDO0lBRUQsSUFBSSxTQUFTLENBQUMsYUFBYSxLQUFLLFVBQVUsRUFBRSxDQUFDO1FBQzNDLFVBQVUsQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDcEMsQ0FBQztBQUNILENBQUM7QUFFRCwrREFBK0Q7QUFDL0QsTUFBTSxVQUFVLDZCQUE2QixDQUMzQyxnQkFBa0M7SUFFbEMsSUFBSSxPQUFPLFFBQVEsS0FBSyxXQUFXLEVBQUUsQ0FBQztRQUNwQyxPQUFPO0lBQ1QsQ0FBQztJQUNELG9DQUFvQyxDQUNsQyxnQkFBZ0IsQ0FBQyxtQkFBbUIsRUFBRSxDQUN2QyxDQUFDO0FBQ0osQ0FBQztBQUVELFNBQVMsb0NBQW9DLENBQUMsU0FBc0I7SUFDbEUsSUFBSSxPQUFPLFFBQVEsS0FBSyxXQUFXLEVBQUUsQ0FBQztRQUNwQyxPQUFPO0lBQ1QsQ0FBQztJQUNELElBQUksU0FBUyxDQUFDLGFBQWEsS0FBSyxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDOUMsUUFBUSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDdkMsQ0FBQztBQUNILENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IE92ZXJsYXlDb250YWluZXIgfSBmcm9tICdAYW5ndWxhci9jZGsvb3ZlcmxheSc7XG5cbi8qKlxuICogQ0RLIC8gbmctem9ycm8gb3ZlcmxheXMgKGRyYXdlciwgZHJvcGRvd24sIHRvb2x0aXAsIG1vZGFsKSBtb3VudCB1bmRlclxuICogYC5jZGstb3ZlcmxheS1jb250YWluZXJgIG9uIGBkb2N1bWVudC5ib2R5YC4gV2hpbGUgYW4gYW5jZXN0b3IgaXMgaW5cbiAqIEZ1bGxzY3JlZW4gQVBJIG1vZGUsIG9ubHkgaXRzIGRlc2NlbmRhbnRzIGFyZSBwYWludGVkIOKAlCBzbyBvdmVybGF5cyBvblxuICogYGJvZHlgIGJlY29tZSBpbnZpc2libGUgLyB1bnRvdWNoYWJsZS5cbiAqXG4gKiBDYWxsIG9uIGBmdWxsc2NyZWVuY2hhbmdlYCB0byBtb3ZlIHRoZSBvdmVybGF5IGNvbnRhaW5lciBpbnRvIHRoZVxuICogZnVsbHNjcmVlbiBlbGVtZW50LCB0aGVuIHJlc3RvcmUgdG8gYGJvZHlgIHdoZW4gZXhpdGluZy5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHN5bmNPdmVybGF5Q29udGFpbmVyVG9GdWxsc2NyZWVuKFxuICBvdmVybGF5Q29udGFpbmVyOiBPdmVybGF5Q29udGFpbmVyLFxuICBzY29wZVJvb3Q/OiBIVE1MRWxlbWVudCB8IG51bGwsXG4pOiB2b2lkIHtcbiAgaWYgKHR5cGVvZiBkb2N1bWVudCA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgICByZXR1cm47XG4gIH1cblxuICBjb25zdCBjb250YWluZXIgPSBvdmVybGF5Q29udGFpbmVyLmdldENvbnRhaW5lckVsZW1lbnQoKTtcbiAgY29uc3QgZnVsbHNjcmVlbiA9IGRvY3VtZW50LmZ1bGxzY3JlZW5FbGVtZW50O1xuXG4gIGlmICghKGZ1bGxzY3JlZW4gaW5zdGFuY2VvZiBIVE1MRWxlbWVudCkpIHtcbiAgICByZXN0b3JlT3ZlcmxheUNvbnRhaW5lckVsZW1lbnRUb0JvZHkoY29udGFpbmVyKTtcbiAgICByZXR1cm47XG4gIH1cblxuICAvLyBPbmx5IHJlbW91bnQgd2hlbiB0aGlzIG1hcCBzaGVsbCAob3IgYSBkZXNjZW5kYW50KSBvd25zIGZ1bGxzY3JlZW4uXG4gIGlmIChcbiAgICBzY29wZVJvb3QgJiZcbiAgICBmdWxsc2NyZWVuICE9PSBzY29wZVJvb3QgJiZcbiAgICAhc2NvcGVSb290LmNvbnRhaW5zKGZ1bGxzY3JlZW4pICYmXG4gICAgIWZ1bGxzY3JlZW4uY29udGFpbnMoc2NvcGVSb290KVxuICApIHtcbiAgICByZXN0b3JlT3ZlcmxheUNvbnRhaW5lckVsZW1lbnRUb0JvZHkoY29udGFpbmVyKTtcbiAgICByZXR1cm47XG4gIH1cblxuICBpZiAoY29udGFpbmVyLnBhcmVudEVsZW1lbnQgIT09IGZ1bGxzY3JlZW4pIHtcbiAgICBmdWxsc2NyZWVuLmFwcGVuZENoaWxkKGNvbnRhaW5lcik7XG4gIH1cbn1cblxuLyoqIEFsd2F5cyBwdXQgdGhlIENESyBvdmVybGF5IGhvc3QgYmFjayBvbiBgZG9jdW1lbnQuYm9keWAuICovXG5leHBvcnQgZnVuY3Rpb24gcmVzdG9yZU92ZXJsYXlDb250YWluZXJUb0JvZHkoXG4gIG92ZXJsYXlDb250YWluZXI6IE92ZXJsYXlDb250YWluZXIsXG4pOiB2b2lkIHtcbiAgaWYgKHR5cGVvZiBkb2N1bWVudCA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgICByZXR1cm47XG4gIH1cbiAgcmVzdG9yZU92ZXJsYXlDb250YWluZXJFbGVtZW50VG9Cb2R5KFxuICAgIG92ZXJsYXlDb250YWluZXIuZ2V0Q29udGFpbmVyRWxlbWVudCgpLFxuICApO1xufVxuXG5mdW5jdGlvbiByZXN0b3JlT3ZlcmxheUNvbnRhaW5lckVsZW1lbnRUb0JvZHkoY29udGFpbmVyOiBIVE1MRWxlbWVudCk6IHZvaWQge1xuICBpZiAodHlwZW9mIGRvY3VtZW50ID09PSAndW5kZWZpbmVkJykge1xuICAgIHJldHVybjtcbiAgfVxuICBpZiAoY29udGFpbmVyLnBhcmVudEVsZW1lbnQgIT09IGRvY3VtZW50LmJvZHkpIHtcbiAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGNvbnRhaW5lcik7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,30 @@
1
+ import DoubleClickZoom from 'ol/interaction/DoubleClickZoom';
2
+ import DragPan from 'ol/interaction/DragPan';
3
+ import DragZoom from 'ol/interaction/DragZoom';
4
+ import PinchZoom from 'ol/interaction/PinchZoom';
5
+ /**
6
+ * Temporarily disables map navigation interactions that conflict with
7
+ * Draw / DragBox tools. Call `resume()` when the tool ends.
8
+ */
9
+ export function pauseConflictingInteractions(map, options) {
10
+ const pauseDragPan = options?.dragPan !== false;
11
+ const pauseDblClick = options?.doubleClickZoom !== false;
12
+ const paused = [];
13
+ map.getInteractions().forEach((interaction) => {
14
+ const shouldPause = (pauseDragPan &&
15
+ (interaction instanceof DragPan ||
16
+ interaction instanceof DragZoom ||
17
+ interaction instanceof PinchZoom)) ||
18
+ (pauseDblClick && interaction instanceof DoubleClickZoom);
19
+ if (shouldPause) {
20
+ paused.push({ interaction, active: interaction.getActive() });
21
+ interaction.setActive(false);
22
+ }
23
+ });
24
+ return () => {
25
+ for (const item of paused) {
26
+ item.interaction.setActive(item.active);
27
+ }
28
+ };
29
+ }
30
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VvLW1hcC1pbnRlcmFjdGlvbnMudXRpbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2dlby11aS9zcmMvbGliL2ZpZ21hL2dlby1tYXAvdXRpbHMvZ2VvLW1hcC1pbnRlcmFjdGlvbnMudXRpbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLGVBQWUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUM3RCxPQUFPLE9BQU8sTUFBTSx3QkFBd0IsQ0FBQztBQUM3QyxPQUFPLFFBQVEsTUFBTSx5QkFBeUIsQ0FBQztBQUMvQyxPQUFPLFNBQVMsTUFBTSwwQkFBMEIsQ0FBQztBQUlqRDs7O0dBR0c7QUFDSCxNQUFNLFVBQVUsNEJBQTRCLENBQzFDLEdBQVUsRUFDVixPQUEwRDtJQUUxRCxNQUFNLFlBQVksR0FBRyxPQUFPLEVBQUUsT0FBTyxLQUFLLEtBQUssQ0FBQztJQUNoRCxNQUFNLGFBQWEsR0FBRyxPQUFPLEVBQUUsZUFBZSxLQUFLLEtBQUssQ0FBQztJQUN6RCxNQUFNLE1BQU0sR0FBd0IsRUFBRSxDQUFDO0lBRXZDLEdBQUcsQ0FBQyxlQUFlLEVBQUUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxXQUFXLEVBQUUsRUFBRTtRQUM1QyxNQUFNLFdBQVcsR0FDZixDQUFDLFlBQVk7WUFDWCxDQUFDLFdBQVcsWUFBWSxPQUFPO2dCQUM3QixXQUFXLFlBQVksUUFBUTtnQkFDL0IsV0FBVyxZQUFZLFNBQVMsQ0FBQyxDQUFDO1lBQ3RDLENBQUMsYUFBYSxJQUFJLFdBQVcsWUFBWSxlQUFlLENBQUMsQ0FBQztRQUU1RCxJQUFJLFdBQVcsRUFBRSxDQUFDO1lBQ2hCLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxXQUFXLEVBQUUsTUFBTSxFQUFFLFdBQVcsQ0FBQyxTQUFTLEVBQUUsRUFBRSxDQUFDLENBQUM7WUFDOUQsV0FBVyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUMvQixDQUFDO0lBQ0gsQ0FBQyxDQUFDLENBQUM7SUFFSCxPQUFPLEdBQUcsRUFBRTtRQUNWLEtBQUssTUFBTSxJQUFJLElBQUksTUFBTSxFQUFFLENBQUM7WUFDMUIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQzFDLENBQUM7SUFDSCxDQUFDLENBQUM7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgT2xNYXAgZnJvbSAnb2wvTWFwJztcbmltcG9ydCB0eXBlIEludGVyYWN0aW9uIGZyb20gJ29sL2ludGVyYWN0aW9uL0ludGVyYWN0aW9uJztcbmltcG9ydCBEb3VibGVDbGlja1pvb20gZnJvbSAnb2wvaW50ZXJhY3Rpb24vRG91YmxlQ2xpY2tab29tJztcbmltcG9ydCBEcmFnUGFuIGZyb20gJ29sL2ludGVyYWN0aW9uL0RyYWdQYW4nO1xuaW1wb3J0IERyYWdab29tIGZyb20gJ29sL2ludGVyYWN0aW9uL0RyYWdab29tJztcbmltcG9ydCBQaW5jaFpvb20gZnJvbSAnb2wvaW50ZXJhY3Rpb24vUGluY2hab29tJztcblxudHlwZSBQYXVzZWRJbnRlcmFjdGlvbiA9IHsgaW50ZXJhY3Rpb246IEludGVyYWN0aW9uOyBhY3RpdmU6IGJvb2xlYW4gfTtcblxuLyoqXG4gKiBUZW1wb3JhcmlseSBkaXNhYmxlcyBtYXAgbmF2aWdhdGlvbiBpbnRlcmFjdGlvbnMgdGhhdCBjb25mbGljdCB3aXRoXG4gKiBEcmF3IC8gRHJhZ0JveCB0b29scy4gQ2FsbCBgcmVzdW1lKClgIHdoZW4gdGhlIHRvb2wgZW5kcy5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHBhdXNlQ29uZmxpY3RpbmdJbnRlcmFjdGlvbnMoXG4gIG1hcDogT2xNYXAsXG4gIG9wdGlvbnM/OiB7IGRyYWdQYW4/OiBib29sZWFuOyBkb3VibGVDbGlja1pvb20/OiBib29sZWFuIH0sXG4pOiAoKSA9PiB2b2lkIHtcbiAgY29uc3QgcGF1c2VEcmFnUGFuID0gb3B0aW9ucz8uZHJhZ1BhbiAhPT0gZmFsc2U7XG4gIGNvbnN0IHBhdXNlRGJsQ2xpY2sgPSBvcHRpb25zPy5kb3VibGVDbGlja1pvb20gIT09IGZhbHNlO1xuICBjb25zdCBwYXVzZWQ6IFBhdXNlZEludGVyYWN0aW9uW10gPSBbXTtcblxuICBtYXAuZ2V0SW50ZXJhY3Rpb25zKCkuZm9yRWFjaCgoaW50ZXJhY3Rpb24pID0+IHtcbiAgICBjb25zdCBzaG91bGRQYXVzZSA9XG4gICAgICAocGF1c2VEcmFnUGFuICYmXG4gICAgICAgIChpbnRlcmFjdGlvbiBpbnN0YW5jZW9mIERyYWdQYW4gfHxcbiAgICAgICAgICBpbnRlcmFjdGlvbiBpbnN0YW5jZW9mIERyYWdab29tIHx8XG4gICAgICAgICAgaW50ZXJhY3Rpb24gaW5zdGFuY2VvZiBQaW5jaFpvb20pKSB8fFxuICAgICAgKHBhdXNlRGJsQ2xpY2sgJiYgaW50ZXJhY3Rpb24gaW5zdGFuY2VvZiBEb3VibGVDbGlja1pvb20pO1xuXG4gICAgaWYgKHNob3VsZFBhdXNlKSB7XG4gICAgICBwYXVzZWQucHVzaCh7IGludGVyYWN0aW9uLCBhY3RpdmU6IGludGVyYWN0aW9uLmdldEFjdGl2ZSgpIH0pO1xuICAgICAgaW50ZXJhY3Rpb24uc2V0QWN0aXZlKGZhbHNlKTtcbiAgICB9XG4gIH0pO1xuXG4gIHJldHVybiAoKSA9PiB7XG4gICAgZm9yIChjb25zdCBpdGVtIG9mIHBhdXNlZCkge1xuICAgICAgaXRlbS5pbnRlcmFjdGlvbi5zZXRBY3RpdmUoaXRlbS5hY3RpdmUpO1xuICAgIH1cbiAgfTtcbn1cbiJdfQ==
@@ -0,0 +1,25 @@
1
+ import { ChangeDetectionStrategy, Component, input, output, ViewEncapsulation, } from '@angular/core';
2
+ import { GeoEmptyStateComponent } from '../geo-empty-state/geo-empty-state.component';
3
+ import { GeoTypographyComponent } from '../geo-typography/geo-typography.component';
4
+ import * as i0 from "@angular/core";
5
+ /**
6
+ * Planning overlap analysis result table (TCQH.27).
7
+ *
8
+ * @summary Bảng kết quả phân tích chồng lấn quy hoạch (diện tích giao / %).
9
+ * @whenToUse Màn Phân tích chồng lấn — kết quả sau khi chạy phân tích.
10
+ * @doNotUseWhen Generic CRUD lists — use geo-table.
11
+ */
12
+ export class GeoOverlapResultComponent {
13
+ title = input('Kết quả phân tích chồng lấn');
14
+ rows = input([]);
15
+ areaUnit = input('m²');
16
+ emptyText = input('Chưa có kết quả phân tích.');
17
+ rowClick = output();
18
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: GeoOverlapResultComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
19
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: GeoOverlapResultComponent, isStandalone: true, selector: "geo-overlap-result", inputs: { title: { classPropertyName: "title", publicName: "title", isSignal: true, isRequired: false, transformFunction: null }, rows: { classPropertyName: "rows", publicName: "rows", isSignal: true, isRequired: false, transformFunction: null }, areaUnit: { classPropertyName: "areaUnit", publicName: "areaUnit", isSignal: true, isRequired: false, transformFunction: null }, emptyText: { classPropertyName: "emptyText", publicName: "emptyText", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { rowClick: "rowClick" }, host: { classAttribute: "geo-overlap-result-host" }, ngImport: i0, template: "<section class=\"geo-overlap-result\" aria-label=\"K\u1EBFt qu\u1EA3 ch\u1ED3ng l\u1EA5n\">\n <geo-typography variant=\"h4\">{{ title() }}</geo-typography>\n\n @if (!rows().length) {\n <geo-empty-state [title]=\"emptyText()\" icon=\"pie-chart\" />\n } @else {\n <div class=\"geo-overlap-result__table-wrap\">\n <table class=\"geo-overlap-result__table\">\n <thead>\n <tr>\n <th>Lo\u1EA1i quy ho\u1EA1ch</th>\n <th>Di\u1EC7n t\u00EDch giao</th>\n <th>T\u1EF7 l\u1EC7</th>\n </tr>\n </thead>\n <tbody>\n @for (row of rows(); track row.id) {\n <tr (click)=\"rowClick.emit(row)\">\n <td>\n <span class=\"geo-overlap-result__type\">\n @if (row.color) {\n <span\n class=\"geo-overlap-result__swatch\"\n [style.background]=\"row.color\"\n ></span>\n }\n {{ row.planningType }}\n </span>\n </td>\n <td>{{ row.intersectionArea }} {{ areaUnit() }}</td>\n <td>{{ row.percent }}%</td>\n </tr>\n }\n </tbody>\n </table>\n </div>\n }\n</section>\n", styles: [".geo-overlap-result-host{display:block}.geo-overlap-result{display:flex;flex-direction:column;gap:12px;padding:16px;border:1px solid var(--geo-color-border-default);border-radius:var(--geo-radius-lg);background:var(--geo-color-surface-elevated)}.geo-overlap-result__table-wrap{overflow:auto}.geo-overlap-result__table{width:100%;border-collapse:collapse;font-size:var(--geo-font-size-body-small)}.geo-overlap-result__table th,.geo-overlap-result__table td{padding:10px 12px;border-bottom:1px solid var(--geo-color-neutral-100);text-align:left}.geo-overlap-result__table th{font-weight:var(--geo-font-weight-semibold);color:var(--geo-color-neutral-600);background:var(--geo-color-neutral-50)}.geo-overlap-result__table tbody tr{cursor:pointer}.geo-overlap-result__table tbody tr:hover td{background:var(--geo-color-primary-soft)}.geo-overlap-result__type{display:inline-flex;align-items:center;gap:8px}.geo-overlap-result__swatch{width:12px;height:12px;border-radius:2px;flex-shrink:0}\n"], dependencies: [{ kind: "component", type: GeoEmptyStateComponent, selector: "geo-empty-state", inputs: ["title", "description", "icon", "actionLabel"], outputs: ["actionClick"] }, { kind: "component", type: GeoTypographyComponent, selector: "geo-typography", inputs: ["variant", "color", "strong", "underline", "delete", "mark", "code", "disabled"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
20
+ }
21
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: GeoOverlapResultComponent, decorators: [{
22
+ type: Component,
23
+ args: [{ selector: 'geo-overlap-result', standalone: true, imports: [GeoEmptyStateComponent, GeoTypographyComponent], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: { class: 'geo-overlap-result-host' }, template: "<section class=\"geo-overlap-result\" aria-label=\"K\u1EBFt qu\u1EA3 ch\u1ED3ng l\u1EA5n\">\n <geo-typography variant=\"h4\">{{ title() }}</geo-typography>\n\n @if (!rows().length) {\n <geo-empty-state [title]=\"emptyText()\" icon=\"pie-chart\" />\n } @else {\n <div class=\"geo-overlap-result__table-wrap\">\n <table class=\"geo-overlap-result__table\">\n <thead>\n <tr>\n <th>Lo\u1EA1i quy ho\u1EA1ch</th>\n <th>Di\u1EC7n t\u00EDch giao</th>\n <th>T\u1EF7 l\u1EC7</th>\n </tr>\n </thead>\n <tbody>\n @for (row of rows(); track row.id) {\n <tr (click)=\"rowClick.emit(row)\">\n <td>\n <span class=\"geo-overlap-result__type\">\n @if (row.color) {\n <span\n class=\"geo-overlap-result__swatch\"\n [style.background]=\"row.color\"\n ></span>\n }\n {{ row.planningType }}\n </span>\n </td>\n <td>{{ row.intersectionArea }} {{ areaUnit() }}</td>\n <td>{{ row.percent }}%</td>\n </tr>\n }\n </tbody>\n </table>\n </div>\n }\n</section>\n", styles: [".geo-overlap-result-host{display:block}.geo-overlap-result{display:flex;flex-direction:column;gap:12px;padding:16px;border:1px solid var(--geo-color-border-default);border-radius:var(--geo-radius-lg);background:var(--geo-color-surface-elevated)}.geo-overlap-result__table-wrap{overflow:auto}.geo-overlap-result__table{width:100%;border-collapse:collapse;font-size:var(--geo-font-size-body-small)}.geo-overlap-result__table th,.geo-overlap-result__table td{padding:10px 12px;border-bottom:1px solid var(--geo-color-neutral-100);text-align:left}.geo-overlap-result__table th{font-weight:var(--geo-font-weight-semibold);color:var(--geo-color-neutral-600);background:var(--geo-color-neutral-50)}.geo-overlap-result__table tbody tr{cursor:pointer}.geo-overlap-result__table tbody tr:hover td{background:var(--geo-color-primary-soft)}.geo-overlap-result__type{display:inline-flex;align-items:center;gap:8px}.geo-overlap-result__swatch{width:12px;height:12px;border-radius:2px;flex-shrink:0}\n"] }]
24
+ }] });
25
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VvLW92ZXJsYXAtcmVzdWx0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2dlby11aS9zcmMvbGliL2ZpZ21hL2dlby1vdmVybGFwLXJlc3VsdC9nZW8tb3ZlcmxhcC1yZXN1bHQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZ2VvLXVpL3NyYy9saWIvZmlnbWEvZ2VvLW92ZXJsYXAtcmVzdWx0L2dlby1vdmVybGFwLXJlc3VsdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxLQUFLLEVBQ0wsTUFBTSxFQUNOLGlCQUFpQixHQUNsQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQztBQUN0RixPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQzs7QUFHcEY7Ozs7OztHQU1HO0FBV0gsTUFBTSxPQUFPLHlCQUF5QjtJQUMzQixLQUFLLEdBQUcsS0FBSyxDQUFDLDZCQUE2QixDQUFDLENBQUM7SUFDN0MsSUFBSSxHQUFHLEtBQUssQ0FBd0IsRUFBRSxDQUFDLENBQUM7SUFDeEMsUUFBUSxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN2QixTQUFTLEdBQUcsS0FBSyxDQUFDLDRCQUE0QixDQUFDLENBQUM7SUFFaEQsUUFBUSxHQUFHLE1BQU0sRUFBdUIsQ0FBQzt3R0FOdkMseUJBQXlCOzRGQUF6Qix5QkFBeUIsb3FCQzVCdEMsMHdDQXNDQSxvaENEakJZLHNCQUFzQiwrSUFBRSxzQkFBc0I7OzRGQU83Qyx5QkFBeUI7a0JBVnJDLFNBQVM7K0JBQ0Usb0JBQW9CLGNBQ2xCLElBQUksV0FDUCxDQUFDLHNCQUFzQixFQUFFLHNCQUFzQixDQUFDLG1CQUd4Qyx1QkFBdUIsQ0FBQyxNQUFNLGlCQUNoQyxpQkFBaUIsQ0FBQyxJQUFJLFFBQy9CLEVBQUUsS0FBSyxFQUFFLHlCQUF5QixFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgaW5wdXQsXG4gIG91dHB1dCxcbiAgVmlld0VuY2Fwc3VsYXRpb24sXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgR2VvRW1wdHlTdGF0ZUNvbXBvbmVudCB9IGZyb20gJy4uL2dlby1lbXB0eS1zdGF0ZS9nZW8tZW1wdHktc3RhdGUuY29tcG9uZW50JztcbmltcG9ydCB7IEdlb1R5cG9ncmFwaHlDb21wb25lbnQgfSBmcm9tICcuLi9nZW8tdHlwb2dyYXBoeS9nZW8tdHlwb2dyYXBoeS5jb21wb25lbnQnO1xuaW1wb3J0IHR5cGUgeyBHZW9PdmVybGFwUmVzdWx0Um93IH0gZnJvbSAnLi9nZW8tb3ZlcmxhcC1yZXN1bHQudHlwZXMnO1xuXG4vKipcbiAqIFBsYW5uaW5nIG92ZXJsYXAgYW5hbHlzaXMgcmVzdWx0IHRhYmxlIChUQ1FILjI3KS5cbiAqXG4gKiBAc3VtbWFyeSBC4bqjbmcga+G6v3QgcXXhuqMgcGjDom4gdMOtY2ggY2jhu5NuZyBs4bqlbiBxdXkgaG/huqFjaCAoZGnhu4duIHTDrWNoIGdpYW8gLyAlKS5cbiAqIEB3aGVuVG9Vc2UgTcOgbiBQaMOibiB0w61jaCBjaOG7k25nIGzhuqVuIOKAlCBr4bq/dCBxdeG6oyBzYXUga2hpIGNo4bqheSBwaMOibiB0w61jaC5cbiAqIEBkb05vdFVzZVdoZW4gR2VuZXJpYyBDUlVEIGxpc3RzIOKAlCB1c2UgZ2VvLXRhYmxlLlxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdnZW8tb3ZlcmxhcC1yZXN1bHQnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbR2VvRW1wdHlTdGF0ZUNvbXBvbmVudCwgR2VvVHlwb2dyYXBoeUNvbXBvbmVudF0sXG4gIHRlbXBsYXRlVXJsOiAnLi9nZW8tb3ZlcmxhcC1yZXN1bHQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybDogJy4vZ2VvLW92ZXJsYXAtcmVzdWx0LmNvbXBvbmVudC5zY3NzJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIGhvc3Q6IHsgY2xhc3M6ICdnZW8tb3ZlcmxhcC1yZXN1bHQtaG9zdCcgfSxcbn0pXG5leHBvcnQgY2xhc3MgR2VvT3ZlcmxhcFJlc3VsdENvbXBvbmVudCB7XG4gIHJlYWRvbmx5IHRpdGxlID0gaW5wdXQoJ0vhur90IHF14bqjIHBow6JuIHTDrWNoIGNo4buTbmcgbOG6pW4nKTtcbiAgcmVhZG9ubHkgcm93cyA9IGlucHV0PEdlb092ZXJsYXBSZXN1bHRSb3dbXT4oW10pO1xuICByZWFkb25seSBhcmVhVW5pdCA9IGlucHV0KCdtwrInKTtcbiAgcmVhZG9ubHkgZW1wdHlUZXh0ID0gaW5wdXQoJ0NoxrBhIGPDsyBr4bq/dCBxdeG6oyBwaMOibiB0w61jaC4nKTtcblxuICByZWFkb25seSByb3dDbGljayA9IG91dHB1dDxHZW9PdmVybGFwUmVzdWx0Um93PigpO1xufVxuIiwiPHNlY3Rpb24gY2xhc3M9XCJnZW8tb3ZlcmxhcC1yZXN1bHRcIiBhcmlhLWxhYmVsPVwiS+G6v3QgcXXhuqMgY2jhu5NuZyBs4bqlblwiPlxuICA8Z2VvLXR5cG9ncmFwaHkgdmFyaWFudD1cImg0XCI+e3sgdGl0bGUoKSB9fTwvZ2VvLXR5cG9ncmFwaHk+XG5cbiAgQGlmICghcm93cygpLmxlbmd0aCkge1xuICAgIDxnZW8tZW1wdHktc3RhdGUgW3RpdGxlXT1cImVtcHR5VGV4dCgpXCIgaWNvbj1cInBpZS1jaGFydFwiIC8+XG4gIH0gQGVsc2Uge1xuICAgIDxkaXYgY2xhc3M9XCJnZW8tb3ZlcmxhcC1yZXN1bHRfX3RhYmxlLXdyYXBcIj5cbiAgICAgIDx0YWJsZSBjbGFzcz1cImdlby1vdmVybGFwLXJlc3VsdF9fdGFibGVcIj5cbiAgICAgICAgPHRoZWFkPlxuICAgICAgICAgIDx0cj5cbiAgICAgICAgICAgIDx0aD5Mb+G6oWkgcXV5IGhv4bqhY2g8L3RoPlxuICAgICAgICAgICAgPHRoPkRp4buHbiB0w61jaCBnaWFvPC90aD5cbiAgICAgICAgICAgIDx0aD5U4bu3IGzhu4c8L3RoPlxuICAgICAgICAgIDwvdHI+XG4gICAgICAgIDwvdGhlYWQ+XG4gICAgICAgIDx0Ym9keT5cbiAgICAgICAgICBAZm9yIChyb3cgb2Ygcm93cygpOyB0cmFjayByb3cuaWQpIHtcbiAgICAgICAgICAgIDx0ciAoY2xpY2spPVwicm93Q2xpY2suZW1pdChyb3cpXCI+XG4gICAgICAgICAgICAgIDx0ZD5cbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImdlby1vdmVybGFwLXJlc3VsdF9fdHlwZVwiPlxuICAgICAgICAgICAgICAgICAgQGlmIChyb3cuY29sb3IpIHtcbiAgICAgICAgICAgICAgICAgICAgPHNwYW5cbiAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImdlby1vdmVybGFwLXJlc3VsdF9fc3dhdGNoXCJcbiAgICAgICAgICAgICAgICAgICAgICBbc3R5bGUuYmFja2dyb3VuZF09XCJyb3cuY29sb3JcIlxuICAgICAgICAgICAgICAgICAgICA+PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAge3sgcm93LnBsYW5uaW5nVHlwZSB9fVxuICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgPC90ZD5cbiAgICAgICAgICAgICAgPHRkPnt7IHJvdy5pbnRlcnNlY3Rpb25BcmVhIH19IHt7IGFyZWFVbml0KCkgfX08L3RkPlxuICAgICAgICAgICAgICA8dGQ+e3sgcm93LnBlcmNlbnQgfX0lPC90ZD5cbiAgICAgICAgICAgIDwvdHI+XG4gICAgICAgICAgfVxuICAgICAgICA8L3Rib2R5PlxuICAgICAgPC90YWJsZT5cbiAgICA8L2Rpdj5cbiAgfVxuPC9zZWN0aW9uPlxuIl19
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VvLW92ZXJsYXAtcmVzdWx0LnR5cGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZ2VvLXVpL3NyYy9saWIvZmlnbWEvZ2VvLW92ZXJsYXAtcmVzdWx0L2dlby1vdmVybGFwLXJlc3VsdC50eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBHZW9PdmVybGFwUmVzdWx0Um93IHtcbiAgaWQ6IHN0cmluZztcbiAgcGxhbm5pbmdUeXBlOiBzdHJpbmc7XG4gIGludGVyc2VjdGlvbkFyZWE6IG51bWJlciB8IHN0cmluZztcbiAgcGVyY2VudDogbnVtYmVyIHwgc3RyaW5nO1xuICBjb2xvcj86IHN0cmluZztcbn1cbiJdfQ==
@@ -0,0 +1,23 @@
1
+ import { ChangeDetectionStrategy, Component, input, ViewEncapsulation, } from '@angular/core';
2
+ import { GeoBreadcrumbComponent } from '../geo-breadcrumb/geo-breadcrumb.component';
3
+ import { GeoPageTitleComponent } from '../geo-page-title/geo-page-title.component';
4
+ import * as i0 from "@angular/core";
5
+ /**
6
+ * List / admin page chrome: breadcrumb + title + action / filter slots.
7
+ *
8
+ * @summary Header trang danh sách / quản trị / thống kê.
9
+ * @whenToUse Đầu trang ngoài màn bản đồ (dashboard, QL người dùng, thống kê).
10
+ * @doNotUseWhen Map chrome — use geo-map-shell tools.
11
+ */
12
+ export class GeoPageHeaderComponent {
13
+ title = input('');
14
+ breadcrumb = input([]);
15
+ uppercase = input(true);
16
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: GeoPageHeaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
17
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: GeoPageHeaderComponent, isStandalone: true, selector: "geo-page-header", inputs: { title: { classPropertyName: "title", publicName: "title", isSignal: true, isRequired: false, transformFunction: null }, breadcrumb: { classPropertyName: "breadcrumb", publicName: "breadcrumb", isSignal: true, isRequired: false, transformFunction: null }, uppercase: { classPropertyName: "uppercase", publicName: "uppercase", isSignal: true, isRequired: false, transformFunction: null } }, host: { classAttribute: "geo-page-header-host" }, ngImport: i0, template: "<div class=\"geo-page-header\">\n @if (breadcrumb().length) {\n <geo-breadcrumb [items]=\"breadcrumb()\" />\n }\n <div class=\"geo-page-header__row\">\n <geo-page-title [title]=\"title()\" [uppercase]=\"uppercase()\" />\n <div class=\"geo-page-header__actions\">\n <ng-content select=\"[geoPageActions]\" />\n </div>\n </div>\n <div class=\"geo-page-header__filters\">\n <ng-content select=\"[geoPageFilters]\" />\n </div>\n</div>\n", styles: [".geo-page-header-host{display:block}.geo-page-header{display:flex;flex-direction:column;gap:12px}.geo-page-header__row{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap}.geo-page-header__actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-left:auto}.geo-page-header__filters:empty{display:none}.geo-page-header__filters:not(:empty){display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px;padding-top:4px}\n"], dependencies: [{ kind: "component", type: GeoBreadcrumbComponent, selector: "geo-breadcrumb", inputs: ["items"] }, { kind: "component", type: GeoPageTitleComponent, selector: "geo-page-title", inputs: ["title", "uppercase", "accentWidth", "accentHeight", "level"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
18
+ }
19
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: GeoPageHeaderComponent, decorators: [{
20
+ type: Component,
21
+ args: [{ selector: 'geo-page-header', standalone: true, imports: [GeoBreadcrumbComponent, GeoPageTitleComponent], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: { class: 'geo-page-header-host' }, template: "<div class=\"geo-page-header\">\n @if (breadcrumb().length) {\n <geo-breadcrumb [items]=\"breadcrumb()\" />\n }\n <div class=\"geo-page-header__row\">\n <geo-page-title [title]=\"title()\" [uppercase]=\"uppercase()\" />\n <div class=\"geo-page-header__actions\">\n <ng-content select=\"[geoPageActions]\" />\n </div>\n </div>\n <div class=\"geo-page-header__filters\">\n <ng-content select=\"[geoPageFilters]\" />\n </div>\n</div>\n", styles: [".geo-page-header-host{display:block}.geo-page-header{display:flex;flex-direction:column;gap:12px}.geo-page-header__row{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap}.geo-page-header__actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-left:auto}.geo-page-header__filters:empty{display:none}.geo-page-header__filters:not(:empty){display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px;padding-top:4px}\n"] }]
22
+ }] });
23
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VvLXBhZ2UtaGVhZGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2dlby11aS9zcmMvbGliL2ZpZ21hL2dlby1wYWdlLWhlYWRlci9nZW8tcGFnZS1oZWFkZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZ2VvLXVpL3NyYy9saWIvZmlnbWEvZ2VvLXBhZ2UtaGVhZGVyL2dlby1wYWdlLWhlYWRlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxLQUFLLEVBQ0wsaUJBQWlCLEdBQ2xCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDRDQUE0QyxDQUFDO0FBRXBGLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDRDQUE0QyxDQUFDOztBQUVuRjs7Ozs7O0dBTUc7QUFXSCxNQUFNLE9BQU8sc0JBQXNCO0lBQ3hCLEtBQUssR0FBRyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDbEIsVUFBVSxHQUFHLEtBQUssQ0FBc0IsRUFBRSxDQUFDLENBQUM7SUFDNUMsU0FBUyxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQzt3R0FIdEIsc0JBQXNCOzRGQUF0QixzQkFBc0IsNGdCQzNCbkMsNGNBY0EsMGdCRE1ZLHNCQUFzQiw4RUFBRSxxQkFBcUI7OzRGQU81QyxzQkFBc0I7a0JBVmxDLFNBQVM7K0JBQ0UsaUJBQWlCLGNBQ2YsSUFBSSxXQUNQLENBQUMsc0JBQXNCLEVBQUUscUJBQXFCLENBQUMsbUJBR3ZDLHVCQUF1QixDQUFDLE1BQU0saUJBQ2hDLGlCQUFpQixDQUFDLElBQUksUUFDL0IsRUFBRSxLQUFLLEVBQUUsc0JBQXNCLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBpbnB1dCxcbiAgVmlld0VuY2Fwc3VsYXRpb24sXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgR2VvQnJlYWRjcnVtYkNvbXBvbmVudCB9IGZyb20gJy4uL2dlby1icmVhZGNydW1iL2dlby1icmVhZGNydW1iLmNvbXBvbmVudCc7XG5pbXBvcnQgdHlwZSB7IEdlb0JyZWFkY3J1bWJJdGVtIH0gZnJvbSAnLi4vZ2VvLWJyZWFkY3J1bWIvZ2VvLWJyZWFkY3J1bWIudHlwZXMnO1xuaW1wb3J0IHsgR2VvUGFnZVRpdGxlQ29tcG9uZW50IH0gZnJvbSAnLi4vZ2VvLXBhZ2UtdGl0bGUvZ2VvLXBhZ2UtdGl0bGUuY29tcG9uZW50JztcblxuLyoqXG4gKiBMaXN0IC8gYWRtaW4gcGFnZSBjaHJvbWU6IGJyZWFkY3J1bWIgKyB0aXRsZSArIGFjdGlvbiAvIGZpbHRlciBzbG90cy5cbiAqXG4gKiBAc3VtbWFyeSBIZWFkZXIgdHJhbmcgZGFuaCBzw6FjaCAvIHF14bqjbiB0cuG7iyAvIHRo4buRbmcga8OqLlxuICogQHdoZW5Ub1VzZSDEkOG6p3UgdHJhbmcgbmdvw6BpIG3DoG4gYuG6o24gxJHhu5MgKGRhc2hib2FyZCwgUUwgbmfGsOG7nWkgZMO5bmcsIHRo4buRbmcga8OqKS5cbiAqIEBkb05vdFVzZVdoZW4gTWFwIGNocm9tZSDigJQgdXNlIGdlby1tYXAtc2hlbGwgdG9vbHMuXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2dlby1wYWdlLWhlYWRlcicsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtHZW9CcmVhZGNydW1iQ29tcG9uZW50LCBHZW9QYWdlVGl0bGVDb21wb25lbnRdLFxuICB0ZW1wbGF0ZVVybDogJy4vZ2VvLXBhZ2UtaGVhZGVyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmw6ICcuL2dlby1wYWdlLWhlYWRlci5jb21wb25lbnQuc2NzcycsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBob3N0OiB7IGNsYXNzOiAnZ2VvLXBhZ2UtaGVhZGVyLWhvc3QnIH0sXG59KVxuZXhwb3J0IGNsYXNzIEdlb1BhZ2VIZWFkZXJDb21wb25lbnQge1xuICByZWFkb25seSB0aXRsZSA9IGlucHV0KCcnKTtcbiAgcmVhZG9ubHkgYnJlYWRjcnVtYiA9IGlucHV0PEdlb0JyZWFkY3J1bWJJdGVtW10+KFtdKTtcbiAgcmVhZG9ubHkgdXBwZXJjYXNlID0gaW5wdXQodHJ1ZSk7XG59XG4iLCI8ZGl2IGNsYXNzPVwiZ2VvLXBhZ2UtaGVhZGVyXCI+XG4gIEBpZiAoYnJlYWRjcnVtYigpLmxlbmd0aCkge1xuICAgIDxnZW8tYnJlYWRjcnVtYiBbaXRlbXNdPVwiYnJlYWRjcnVtYigpXCIgLz5cbiAgfVxuICA8ZGl2IGNsYXNzPVwiZ2VvLXBhZ2UtaGVhZGVyX19yb3dcIj5cbiAgICA8Z2VvLXBhZ2UtdGl0bGUgW3RpdGxlXT1cInRpdGxlKClcIiBbdXBwZXJjYXNlXT1cInVwcGVyY2FzZSgpXCIgLz5cbiAgICA8ZGl2IGNsYXNzPVwiZ2VvLXBhZ2UtaGVhZGVyX19hY3Rpb25zXCI+XG4gICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJbZ2VvUGFnZUFjdGlvbnNdXCIgLz5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG4gIDxkaXYgY2xhc3M9XCJnZW8tcGFnZS1oZWFkZXJfX2ZpbHRlcnNcIj5cbiAgICA8bmctY29udGVudCBzZWxlY3Q9XCJbZ2VvUGFnZUZpbHRlcnNdXCIgLz5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
@@ -1,5 +1,4 @@
1
- import { Component, Input, ViewEncapsulation } from '@angular/core';
2
- import { CommonModule } from '@angular/common';
1
+ import { ChangeDetectionStrategy, Component, computed, input, ViewEncapsulation, } from '@angular/core';
3
2
  import { GeoTypographyComponent } from '../geo-typography/geo-typography.component';
4
3
  import * as i0 from "@angular/core";
5
4
  /**
@@ -7,45 +6,31 @@ import * as i0 from "@angular/core";
7
6
  */
8
7
  export class GeoPageTitleComponent {
9
8
  /** Nội dung tiêu đề. */
10
- title = '';
9
+ title = input('');
11
10
  /** Tự chuyển uppercase. Default `true`. */
12
- uppercase = true;
11
+ uppercase = input(true);
13
12
  /** Chiều rộng gạch chân (px hoặc CSS size). Default `56px`. */
14
- accentWidth = 56;
13
+ accentWidth = input(56);
15
14
  /** Độ dày gạch chân. Default `4px`. */
16
- accentHeight = 4;
15
+ accentHeight = input(4);
17
16
  /** Heading level → geo-typography variant. */
18
- level = 3;
19
- get typographyVariant() {
20
- return `h${this.level}`;
21
- }
22
- get accentWidthCss() {
23
- return typeof this.accentWidth === 'number'
24
- ? `${this.accentWidth}px`
25
- : this.accentWidth;
26
- }
27
- get accentHeightCss() {
28
- return typeof this.accentHeight === 'number'
29
- ? `${this.accentHeight}px`
30
- : this.accentHeight;
31
- }
17
+ level = input(3);
18
+ typographyVariant = computed(() => `h${this.level()}`);
19
+ accentWidthCss = computed(() => {
20
+ const width = this.accentWidth();
21
+ return typeof width === 'number' ? `${width}px` : width;
22
+ });
23
+ accentHeightCss = computed(() => {
24
+ const height = this.accentHeight();
25
+ return typeof height === 'number' ? `${height}px` : height;
26
+ });
32
27
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: GeoPageTitleComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
33
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: GeoPageTitleComponent, isStandalone: true, selector: "geo-page-title", inputs: { title: "title", uppercase: "uppercase", accentWidth: "accentWidth", accentHeight: "accentHeight", level: "level" }, host: { classAttribute: "geo-page-title-host" }, ngImport: i0, template: "<div\n class=\"geo-page-title\"\n [class.geo-page-title--uppercase]=\"uppercase\"\n>\n <geo-typography [variant]=\"typographyVariant\">\n @if (title) {\n {{ title }}\n } @else {\n <ng-content></ng-content>\n }\n </geo-typography>\n <span\n class=\"geo-page-title__accent\"\n aria-hidden=\"true\"\n [style.width]=\"accentWidthCss\"\n [style.height]=\"accentHeightCss\"\n ></span>\n</div>\n", styles: ["geo-page-title.geo-page-title-host,.geo-page-title-host{display:block;background:transparent;font-family:var(--geo-font-family)}.geo-page-title{display:flex;flex-direction:column;align-items:flex-start;gap:8px;background:transparent}.geo-page-title--uppercase{text-transform:uppercase;letter-spacing:.02em}.geo-page-title__accent{display:block;flex-shrink:0;width:56px;height:4px;border-radius:2px;background:var(--geo-color-primary-default)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "component", type: GeoTypographyComponent, selector: "geo-typography", inputs: ["variant", "color", "strong", "underline", "delete", "mark", "code", "disabled"] }], encapsulation: i0.ViewEncapsulation.None });
28
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: GeoPageTitleComponent, isStandalone: true, selector: "geo-page-title", inputs: { title: { classPropertyName: "title", publicName: "title", isSignal: true, isRequired: false, transformFunction: null }, uppercase: { classPropertyName: "uppercase", publicName: "uppercase", isSignal: true, isRequired: false, transformFunction: null }, accentWidth: { classPropertyName: "accentWidth", publicName: "accentWidth", isSignal: true, isRequired: false, transformFunction: null }, accentHeight: { classPropertyName: "accentHeight", publicName: "accentHeight", isSignal: true, isRequired: false, transformFunction: null }, level: { classPropertyName: "level", publicName: "level", isSignal: true, isRequired: false, transformFunction: null } }, host: { classAttribute: "geo-page-title-host" }, ngImport: i0, template: "<div\n class=\"geo-page-title\"\n [class.geo-page-title--uppercase]=\"uppercase()\"\n>\n <geo-typography [variant]=\"typographyVariant()\">\n @if (title()) {\n {{ title() }}\n } @else {\n <ng-content></ng-content>\n }\n </geo-typography>\n <span\n class=\"geo-page-title__accent\"\n aria-hidden=\"true\"\n [style.width]=\"accentWidthCss()\"\n [style.height]=\"accentHeightCss()\"\n ></span>\n</div>\n", styles: ["geo-page-title.geo-page-title-host,.geo-page-title-host{display:block;background:transparent;font-family:var(--geo-font-family)}.geo-page-title{display:flex;flex-direction:column;align-items:flex-start;gap:8px;background:transparent}.geo-page-title--uppercase{text-transform:uppercase;letter-spacing:.02em}.geo-page-title__accent{display:block;flex-shrink:0;width:56px;height:4px;border-radius:2px;background:var(--geo-color-primary-default)}\n"], dependencies: [{ kind: "component", type: GeoTypographyComponent, selector: "geo-typography", inputs: ["variant", "color", "strong", "underline", "delete", "mark", "code", "disabled"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
34
29
  }
35
30
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: GeoPageTitleComponent, decorators: [{
36
31
  type: Component,
37
- args: [{ selector: 'geo-page-title', standalone: true, imports: [CommonModule, GeoTypographyComponent], encapsulation: ViewEncapsulation.None, host: {
32
+ args: [{ selector: 'geo-page-title', standalone: true, imports: [GeoTypographyComponent], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, host: {
38
33
  class: 'geo-page-title-host',
39
- }, template: "<div\n class=\"geo-page-title\"\n [class.geo-page-title--uppercase]=\"uppercase\"\n>\n <geo-typography [variant]=\"typographyVariant\">\n @if (title) {\n {{ title }}\n } @else {\n <ng-content></ng-content>\n }\n </geo-typography>\n <span\n class=\"geo-page-title__accent\"\n aria-hidden=\"true\"\n [style.width]=\"accentWidthCss\"\n [style.height]=\"accentHeightCss\"\n ></span>\n</div>\n", styles: ["geo-page-title.geo-page-title-host,.geo-page-title-host{display:block;background:transparent;font-family:var(--geo-font-family)}.geo-page-title{display:flex;flex-direction:column;align-items:flex-start;gap:8px;background:transparent}.geo-page-title--uppercase{text-transform:uppercase;letter-spacing:.02em}.geo-page-title__accent{display:block;flex-shrink:0;width:56px;height:4px;border-radius:2px;background:var(--geo-color-primary-default)}\n"] }]
40
- }], propDecorators: { title: [{
41
- type: Input
42
- }], uppercase: [{
43
- type: Input
44
- }], accentWidth: [{
45
- type: Input
46
- }], accentHeight: [{
47
- type: Input
48
- }], level: [{
49
- type: Input
50
- }] } });
51
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VvLXBhZ2UtdGl0bGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZ2VvLXVpL3NyYy9saWIvZmlnbWEvZ2VvLXBhZ2UtdGl0bGUvZ2VvLXBhZ2UtdGl0bGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZ2VvLXVpL3NyYy9saWIvZmlnbWEvZ2VvLXBhZ2UtdGl0bGUvZ2VvLXBhZ2UtdGl0bGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDcEUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDRDQUE0QyxDQUFDOztBQUdwRjs7R0FFRztBQVlILE1BQU0sT0FBTyxxQkFBcUI7SUFDaEMsd0JBQXdCO0lBQ2YsS0FBSyxHQUFHLEVBQUUsQ0FBQztJQUNwQiwyQ0FBMkM7SUFDbEMsU0FBUyxHQUFHLElBQUksQ0FBQztJQUMxQiwrREFBK0Q7SUFDdEQsV0FBVyxHQUFvQixFQUFFLENBQUM7SUFDM0MsdUNBQXVDO0lBQzlCLFlBQVksR0FBb0IsQ0FBQyxDQUFDO0lBQzNDLDhDQUE4QztJQUNyQyxLQUFLLEdBQWtCLENBQUMsQ0FBQztJQUVsQyxJQUFJLGlCQUFpQjtRQUNuQixPQUFPLElBQUksSUFBSSxDQUFDLEtBQUssRUFBMEIsQ0FBQztJQUNsRCxDQUFDO0lBRUQsSUFBSSxjQUFjO1FBQ2hCLE9BQU8sT0FBTyxJQUFJLENBQUMsV0FBVyxLQUFLLFFBQVE7WUFDekMsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLFdBQVcsSUFBSTtZQUN6QixDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQztJQUN2QixDQUFDO0lBRUQsSUFBSSxlQUFlO1FBQ2pCLE9BQU8sT0FBTyxJQUFJLENBQUMsWUFBWSxLQUFLLFFBQVE7WUFDMUMsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLFlBQVksSUFBSTtZQUMxQixDQUFDLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQztJQUN4QixDQUFDO3dHQTFCVSxxQkFBcUI7NEZBQXJCLHFCQUFxQix5UENuQmxDLDJhQWtCQSxxZkRQWSxZQUFZLCtCQUFFLHNCQUFzQjs7NEZBUW5DLHFCQUFxQjtrQkFYakMsU0FBUzsrQkFDRSxnQkFBZ0IsY0FDZCxJQUFJLFdBQ1AsQ0FBQyxZQUFZLEVBQUUsc0JBQXNCLENBQUMsaUJBR2hDLGlCQUFpQixDQUFDLElBQUksUUFDL0I7d0JBQ0osS0FBSyxFQUFFLHFCQUFxQjtxQkFDN0I7OEJBSVEsS0FBSztzQkFBYixLQUFLO2dCQUVHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBRUcsV0FBVztzQkFBbkIsS0FBSztnQkFFRyxZQUFZO3NCQUFwQixLQUFLO2dCQUVHLEtBQUs7c0JBQWIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgR2VvVHlwb2dyYXBoeUNvbXBvbmVudCB9IGZyb20gJy4uL2dlby10eXBvZ3JhcGh5L2dlby10eXBvZ3JhcGh5LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBHZW9UeXBvZ3JhcGh5VmFyaWFudCB9IGZyb20gJy4uL2dlby10eXBvZ3JhcGh5L2dlby10eXBvZ3JhcGh5LnR5cGVzJztcblxuLyoqXG4gKiBQYWdlIHRpdGxlIEdFTyDigJQgY2jhu68gaW4gaG9hIMSR4bqtbSArIGfhuqFjaCBjaMOibiBuZ+G6r24gbcOgdSBwcmltYXJ5ICh0aGVvIGRlc2lnbikuXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2dlby1wYWdlLXRpdGxlJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgR2VvVHlwb2dyYXBoeUNvbXBvbmVudF0sXG4gIHRlbXBsYXRlVXJsOiAnLi9nZW8tcGFnZS10aXRsZS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsOiAnLi9nZW8tcGFnZS10aXRsZS5jb21wb25lbnQuc2NzcycsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIGhvc3Q6IHtcbiAgICBjbGFzczogJ2dlby1wYWdlLXRpdGxlLWhvc3QnLFxuICB9LFxufSlcbmV4cG9ydCBjbGFzcyBHZW9QYWdlVGl0bGVDb21wb25lbnQge1xuICAvKiogTuG7mWkgZHVuZyB0acOqdSDEkeG7gS4gKi9cbiAgQElucHV0KCkgdGl0bGUgPSAnJztcbiAgLyoqIFThu7EgY2h1eeG7g24gdXBwZXJjYXNlLiBEZWZhdWx0IGB0cnVlYC4gKi9cbiAgQElucHV0KCkgdXBwZXJjYXNlID0gdHJ1ZTtcbiAgLyoqIENoaeG7gXUgcuG7mW5nIGfhuqFjaCBjaMOibiAocHggaG/hurdjIENTUyBzaXplKS4gRGVmYXVsdCBgNTZweGAuICovXG4gIEBJbnB1dCgpIGFjY2VudFdpZHRoOiBudW1iZXIgfCBzdHJpbmcgPSA1NjtcbiAgLyoqIMSQ4buZIGTDoHkgZ+G6oWNoIGNow6JuLiBEZWZhdWx0IGA0cHhgLiAqL1xuICBASW5wdXQoKSBhY2NlbnRIZWlnaHQ6IG51bWJlciB8IHN0cmluZyA9IDQ7XG4gIC8qKiBIZWFkaW5nIGxldmVsIOKGkiBnZW8tdHlwb2dyYXBoeSB2YXJpYW50LiAqL1xuICBASW5wdXQoKSBsZXZlbDogMSB8IDIgfCAzIHwgNCA9IDM7XG5cbiAgZ2V0IHR5cG9ncmFwaHlWYXJpYW50KCk6IEdlb1R5cG9ncmFwaHlWYXJpYW50IHtcbiAgICByZXR1cm4gYGgke3RoaXMubGV2ZWx9YCBhcyBHZW9UeXBvZ3JhcGh5VmFyaWFudDtcbiAgfVxuXG4gIGdldCBhY2NlbnRXaWR0aENzcygpOiBzdHJpbmcge1xuICAgIHJldHVybiB0eXBlb2YgdGhpcy5hY2NlbnRXaWR0aCA9PT0gJ251bWJlcidcbiAgICAgID8gYCR7dGhpcy5hY2NlbnRXaWR0aH1weGBcbiAgICAgIDogdGhpcy5hY2NlbnRXaWR0aDtcbiAgfVxuXG4gIGdldCBhY2NlbnRIZWlnaHRDc3MoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdHlwZW9mIHRoaXMuYWNjZW50SGVpZ2h0ID09PSAnbnVtYmVyJ1xuICAgICAgPyBgJHt0aGlzLmFjY2VudEhlaWdodH1weGBcbiAgICAgIDogdGhpcy5hY2NlbnRIZWlnaHQ7XG4gIH1cbn1cbiIsIjxkaXZcbiAgY2xhc3M9XCJnZW8tcGFnZS10aXRsZVwiXG4gIFtjbGFzcy5nZW8tcGFnZS10aXRsZS0tdXBwZXJjYXNlXT1cInVwcGVyY2FzZVwiXG4+XG4gIDxnZW8tdHlwb2dyYXBoeSBbdmFyaWFudF09XCJ0eXBvZ3JhcGh5VmFyaWFudFwiPlxuICAgIEBpZiAodGl0bGUpIHtcbiAgICAgIHt7IHRpdGxlIH19XG4gICAgfSBAZWxzZSB7XG4gICAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gICAgfVxuICA8L2dlby10eXBvZ3JhcGh5PlxuICA8c3BhblxuICAgIGNsYXNzPVwiZ2VvLXBhZ2UtdGl0bGVfX2FjY2VudFwiXG4gICAgYXJpYS1oaWRkZW49XCJ0cnVlXCJcbiAgICBbc3R5bGUud2lkdGhdPVwiYWNjZW50V2lkdGhDc3NcIlxuICAgIFtzdHlsZS5oZWlnaHRdPVwiYWNjZW50SGVpZ2h0Q3NzXCJcbiAgPjwvc3Bhbj5cbjwvZGl2PlxuIl19
34
+ }, template: "<div\n class=\"geo-page-title\"\n [class.geo-page-title--uppercase]=\"uppercase()\"\n>\n <geo-typography [variant]=\"typographyVariant()\">\n @if (title()) {\n {{ title() }}\n } @else {\n <ng-content></ng-content>\n }\n </geo-typography>\n <span\n class=\"geo-page-title__accent\"\n aria-hidden=\"true\"\n [style.width]=\"accentWidthCss()\"\n [style.height]=\"accentHeightCss()\"\n ></span>\n</div>\n", styles: ["geo-page-title.geo-page-title-host,.geo-page-title-host{display:block;background:transparent;font-family:var(--geo-font-family)}.geo-page-title{display:flex;flex-direction:column;align-items:flex-start;gap:8px;background:transparent}.geo-page-title--uppercase{text-transform:uppercase;letter-spacing:.02em}.geo-page-title__accent{display:block;flex-shrink:0;width:56px;height:4px;border-radius:2px;background:var(--geo-color-primary-default)}\n"] }]
35
+ }] });
36
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VvLXBhZ2UtdGl0bGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZ2VvLXVpL3NyYy9saWIvZmlnbWEvZ2VvLXBhZ2UtdGl0bGUvZ2VvLXBhZ2UtdGl0bGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZ2VvLXVpL3NyYy9saWIvZmlnbWEvZ2VvLXBhZ2UtdGl0bGUvZ2VvLXBhZ2UtdGl0bGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsUUFBUSxFQUNSLEtBQUssRUFDTCxpQkFBaUIsR0FDbEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sNENBQTRDLENBQUM7O0FBR3BGOztHQUVHO0FBYUgsTUFBTSxPQUFPLHFCQUFxQjtJQUNoQyx3QkFBd0I7SUFDZixLQUFLLEdBQUcsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQzNCLDJDQUEyQztJQUNsQyxTQUFTLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2pDLCtEQUErRDtJQUN0RCxXQUFXLEdBQUcsS0FBSyxDQUFrQixFQUFFLENBQUMsQ0FBQztJQUNsRCx1Q0FBdUM7SUFDOUIsWUFBWSxHQUFHLEtBQUssQ0FBa0IsQ0FBQyxDQUFDLENBQUM7SUFDbEQsOENBQThDO0lBQ3JDLEtBQUssR0FBRyxLQUFLLENBQWdCLENBQUMsQ0FBQyxDQUFDO0lBRWhDLGlCQUFpQixHQUFHLFFBQVEsQ0FDbkMsR0FBRyxFQUFFLENBQUMsSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFLEVBQTBCLENBQ2pELENBQUM7SUFFTyxjQUFjLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRTtRQUN0QyxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDakMsT0FBTyxPQUFPLEtBQUssS0FBSyxRQUFRLENBQUMsQ0FBQyxDQUFDLEdBQUcsS0FBSyxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQztJQUMxRCxDQUFDLENBQUMsQ0FBQztJQUVNLGVBQWUsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFO1FBQ3ZDLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUNuQyxPQUFPLE9BQU8sTUFBTSxLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUMsR0FBRyxNQUFNLElBQUksQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDO0lBQzdELENBQUMsQ0FBQyxDQUFDO3dHQXhCUSxxQkFBcUI7NEZBQXJCLHFCQUFxQixreEJDekJsQyx1YkFrQkEsc2ZERlksc0JBQXNCOzs0RkFTckIscUJBQXFCO2tCQVpqQyxTQUFTOytCQUNFLGdCQUFnQixjQUNkLElBQUksV0FDUCxDQUFDLHNCQUFzQixDQUFDLGlCQUdsQixpQkFBaUIsQ0FBQyxJQUFJLG1CQUNwQix1QkFBdUIsQ0FBQyxNQUFNLFFBQ3pDO3dCQUNKLEtBQUssRUFBRSxxQkFBcUI7cUJBQzdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgY29tcHV0ZWQsXG4gIGlucHV0LFxuICBWaWV3RW5jYXBzdWxhdGlvbixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBHZW9UeXBvZ3JhcGh5Q29tcG9uZW50IH0gZnJvbSAnLi4vZ2VvLXR5cG9ncmFwaHkvZ2VvLXR5cG9ncmFwaHkuY29tcG9uZW50JztcbmltcG9ydCB7IEdlb1R5cG9ncmFwaHlWYXJpYW50IH0gZnJvbSAnLi4vZ2VvLXR5cG9ncmFwaHkvZ2VvLXR5cG9ncmFwaHkudHlwZXMnO1xuXG4vKipcbiAqIFBhZ2UgdGl0bGUgR0VPIOKAlCBjaOG7ryBpbiBob2EgxJHhuq1tICsgZ+G6oWNoIGNow6JuIG5n4bqvbiBtw6B1IHByaW1hcnkgKHRoZW8gZGVzaWduKS5cbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZ2VvLXBhZ2UtdGl0bGUnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbR2VvVHlwb2dyYXBoeUNvbXBvbmVudF0sXG4gIHRlbXBsYXRlVXJsOiAnLi9nZW8tcGFnZS10aXRsZS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsOiAnLi9nZW8tcGFnZS10aXRsZS5jb21wb25lbnQuc2NzcycsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBob3N0OiB7XG4gICAgY2xhc3M6ICdnZW8tcGFnZS10aXRsZS1ob3N0JyxcbiAgfSxcbn0pXG5leHBvcnQgY2xhc3MgR2VvUGFnZVRpdGxlQ29tcG9uZW50IHtcbiAgLyoqIE7hu5lpIGR1bmcgdGnDqnUgxJHhu4EuICovXG4gIHJlYWRvbmx5IHRpdGxlID0gaW5wdXQoJycpO1xuICAvKiogVOG7sSBjaHV54buDbiB1cHBlcmNhc2UuIERlZmF1bHQgYHRydWVgLiAqL1xuICByZWFkb25seSB1cHBlcmNhc2UgPSBpbnB1dCh0cnVlKTtcbiAgLyoqIENoaeG7gXUgcuG7mW5nIGfhuqFjaCBjaMOibiAocHggaG/hurdjIENTUyBzaXplKS4gRGVmYXVsdCBgNTZweGAuICovXG4gIHJlYWRvbmx5IGFjY2VudFdpZHRoID0gaW5wdXQ8bnVtYmVyIHwgc3RyaW5nPig1Nik7XG4gIC8qKiDEkOG7mSBkw6B5IGfhuqFjaCBjaMOibi4gRGVmYXVsdCBgNHB4YC4gKi9cbiAgcmVhZG9ubHkgYWNjZW50SGVpZ2h0ID0gaW5wdXQ8bnVtYmVyIHwgc3RyaW5nPig0KTtcbiAgLyoqIEhlYWRpbmcgbGV2ZWwg4oaSIGdlby10eXBvZ3JhcGh5IHZhcmlhbnQuICovXG4gIHJlYWRvbmx5IGxldmVsID0gaW5wdXQ8MSB8IDIgfCAzIHwgND4oMyk7XG5cbiAgcmVhZG9ubHkgdHlwb2dyYXBoeVZhcmlhbnQgPSBjb21wdXRlZChcbiAgICAoKSA9PiBgaCR7dGhpcy5sZXZlbCgpfWAgYXMgR2VvVHlwb2dyYXBoeVZhcmlhbnRcbiAgKTtcblxuICByZWFkb25seSBhY2NlbnRXaWR0aENzcyA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICBjb25zdCB3aWR0aCA9IHRoaXMuYWNjZW50V2lkdGgoKTtcbiAgICByZXR1cm4gdHlwZW9mIHdpZHRoID09PSAnbnVtYmVyJyA/IGAke3dpZHRofXB4YCA6IHdpZHRoO1xuICB9KTtcblxuICByZWFkb25seSBhY2NlbnRIZWlnaHRDc3MgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgY29uc3QgaGVpZ2h0ID0gdGhpcy5hY2NlbnRIZWlnaHQoKTtcbiAgICByZXR1cm4gdHlwZW9mIGhlaWdodCA9PT0gJ251bWJlcicgPyBgJHtoZWlnaHR9cHhgIDogaGVpZ2h0O1xuICB9KTtcbn1cbiIsIjxkaXZcbiAgY2xhc3M9XCJnZW8tcGFnZS10aXRsZVwiXG4gIFtjbGFzcy5nZW8tcGFnZS10aXRsZS0tdXBwZXJjYXNlXT1cInVwcGVyY2FzZSgpXCJcbj5cbiAgPGdlby10eXBvZ3JhcGh5IFt2YXJpYW50XT1cInR5cG9ncmFwaHlWYXJpYW50KClcIj5cbiAgICBAaWYgKHRpdGxlKCkpIHtcbiAgICAgIHt7IHRpdGxlKCkgfX1cbiAgICB9IEBlbHNlIHtcbiAgICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgICB9XG4gIDwvZ2VvLXR5cG9ncmFwaHk+XG4gIDxzcGFuXG4gICAgY2xhc3M9XCJnZW8tcGFnZS10aXRsZV9fYWNjZW50XCJcbiAgICBhcmlhLWhpZGRlbj1cInRydWVcIlxuICAgIFtzdHlsZS53aWR0aF09XCJhY2NlbnRXaWR0aENzcygpXCJcbiAgICBbc3R5bGUuaGVpZ2h0XT1cImFjY2VudEhlaWdodENzcygpXCJcbiAgPjwvc3Bhbj5cbjwvZGl2PlxuIl19
@@ -1,4 +1,4 @@
1
- import { Component, EventEmitter, Input, Output, ViewEncapsulation } from '@angular/core';
1
+ import { ChangeDetectionStrategy, Component, input, model, ViewEncapsulation, } from '@angular/core';
2
2
  import { NzPaginationModule } from 'ng-zorro-antd/pagination';
3
3
  import * as i0 from "@angular/core";
4
4
  import * as i1 from "ng-zorro-antd/pagination";
@@ -6,49 +6,19 @@ import * as i1 from "ng-zorro-antd/pagination";
6
6
  * Pagination gọn — wrap `nz-pagination`. Dùng cho panel/map (không kèm size changer như `geo-table-pagination`).
7
7
  */
8
8
  export class GeoPaginationComponent {
9
- pageIndex = 1;
10
- pageSize = 10;
11
- total = 0;
12
- size = 'default';
13
- simple = false;
14
- hideOnSinglePage = false;
15
- showSizeChanger = false;
16
- pageSizeOptions = [5, 10, 20, 50];
17
- pageIndexChange = new EventEmitter();
18
- pageSizeChange = new EventEmitter();
19
- onPageIndexChange(page) {
20
- this.pageIndex = page;
21
- this.pageIndexChange.emit(page);
22
- }
23
- onPageSizeChange(size) {
24
- this.pageSize = size;
25
- this.pageSizeChange.emit(size);
26
- }
9
+ pageIndex = model(1);
10
+ pageSize = model(10);
11
+ total = input(0);
12
+ size = input('default');
13
+ simple = input(false);
14
+ hideOnSinglePage = input(false);
15
+ showSizeChanger = input(false);
16
+ pageSizeOptions = input([5, 10, 20, 50]);
27
17
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: GeoPaginationComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
28
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: GeoPaginationComponent, isStandalone: true, selector: "geo-pagination", inputs: { pageIndex: "pageIndex", pageSize: "pageSize", total: "total", size: "size", simple: "simple", hideOnSinglePage: "hideOnSinglePage", showSizeChanger: "showSizeChanger", pageSizeOptions: "pageSizeOptions" }, outputs: { pageIndexChange: "pageIndexChange", pageSizeChange: "pageSizeChange" }, host: { classAttribute: "geo-pagination-host" }, ngImport: i0, template: "<div class=\"geo-pagination\">\n <nz-pagination\n [nzSize]=\"size\"\n [nzSimple]=\"simple\"\n [nzPageIndex]=\"pageIndex\"\n [nzPageSize]=\"pageSize\"\n [nzTotal]=\"total\"\n [nzHideOnSinglePage]=\"hideOnSinglePage\"\n [nzShowSizeChanger]=\"showSizeChanger\"\n [nzPageSizeOptions]=\"pageSizeOptions\"\n (nzPageIndexChange)=\"onPageIndexChange($event)\"\n (nzPageSizeChange)=\"onPageSizeChange($event)\"\n ></nz-pagination>\n</div>\n", styles: [".geo-pagination-host{display:inline-flex;align-items:center}.geo-pagination{display:inline-flex}\n"], dependencies: [{ kind: "ngmodule", type: NzPaginationModule }, { kind: "component", type: i1.NzPaginationComponent, selector: "nz-pagination", inputs: ["nzShowTotal", "nzItemRender", "nzSize", "nzPageSizeOptions", "nzShowSizeChanger", "nzShowQuickJumper", "nzSimple", "nzDisabled", "nzResponsive", "nzHideOnSinglePage", "nzTotal", "nzPageIndex", "nzPageSize"], outputs: ["nzPageSizeChange", "nzPageIndexChange"], exportAs: ["nzPagination"] }], encapsulation: i0.ViewEncapsulation.None });
18
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.14", type: GeoPaginationComponent, isStandalone: true, selector: "geo-pagination", inputs: { pageIndex: { classPropertyName: "pageIndex", publicName: "pageIndex", isSignal: true, isRequired: false, transformFunction: null }, pageSize: { classPropertyName: "pageSize", publicName: "pageSize", isSignal: true, isRequired: false, transformFunction: null }, total: { classPropertyName: "total", publicName: "total", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, simple: { classPropertyName: "simple", publicName: "simple", isSignal: true, isRequired: false, transformFunction: null }, hideOnSinglePage: { classPropertyName: "hideOnSinglePage", publicName: "hideOnSinglePage", isSignal: true, isRequired: false, transformFunction: null }, showSizeChanger: { classPropertyName: "showSizeChanger", publicName: "showSizeChanger", isSignal: true, isRequired: false, transformFunction: null }, pageSizeOptions: { classPropertyName: "pageSizeOptions", publicName: "pageSizeOptions", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { pageIndex: "pageIndexChange", pageSize: "pageSizeChange" }, host: { classAttribute: "geo-pagination-host" }, ngImport: i0, template: "<div class=\"geo-pagination\">\n <nz-pagination\n [nzSize]=\"size()\"\n [nzSimple]=\"simple()\"\n [nzPageIndex]=\"pageIndex()\"\n [nzPageSize]=\"pageSize()\"\n [nzTotal]=\"total()\"\n [nzHideOnSinglePage]=\"hideOnSinglePage()\"\n [nzShowSizeChanger]=\"showSizeChanger()\"\n [nzPageSizeOptions]=\"pageSizeOptions()\"\n (nzPageIndexChange)=\"pageIndex.set($event)\"\n (nzPageSizeChange)=\"pageSize.set($event)\"\n ></nz-pagination>\n</div>\n", styles: [".geo-pagination-host{display:inline-flex;align-items:center}.geo-pagination{display:inline-flex}\n"], dependencies: [{ kind: "ngmodule", type: NzPaginationModule }, { kind: "component", type: i1.NzPaginationComponent, selector: "nz-pagination", inputs: ["nzShowTotal", "nzItemRender", "nzSize", "nzPageSizeOptions", "nzShowSizeChanger", "nzShowQuickJumper", "nzSimple", "nzDisabled", "nzResponsive", "nzHideOnSinglePage", "nzTotal", "nzPageIndex", "nzPageSize"], outputs: ["nzPageSizeChange", "nzPageIndexChange"], exportAs: ["nzPagination"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
29
19
  }
30
20
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: GeoPaginationComponent, decorators: [{
31
21
  type: Component,
32
- args: [{ selector: 'geo-pagination', standalone: true, imports: [NzPaginationModule], encapsulation: ViewEncapsulation.None, host: { class: 'geo-pagination-host' }, template: "<div class=\"geo-pagination\">\n <nz-pagination\n [nzSize]=\"size\"\n [nzSimple]=\"simple\"\n [nzPageIndex]=\"pageIndex\"\n [nzPageSize]=\"pageSize\"\n [nzTotal]=\"total\"\n [nzHideOnSinglePage]=\"hideOnSinglePage\"\n [nzShowSizeChanger]=\"showSizeChanger\"\n [nzPageSizeOptions]=\"pageSizeOptions\"\n (nzPageIndexChange)=\"onPageIndexChange($event)\"\n (nzPageSizeChange)=\"onPageSizeChange($event)\"\n ></nz-pagination>\n</div>\n", styles: [".geo-pagination-host{display:inline-flex;align-items:center}.geo-pagination{display:inline-flex}\n"] }]
33
- }], propDecorators: { pageIndex: [{
34
- type: Input
35
- }], pageSize: [{
36
- type: Input
37
- }], total: [{
38
- type: Input
39
- }], size: [{
40
- type: Input
41
- }], simple: [{
42
- type: Input
43
- }], hideOnSinglePage: [{
44
- type: Input
45
- }], showSizeChanger: [{
46
- type: Input
47
- }], pageSizeOptions: [{
48
- type: Input
49
- }], pageIndexChange: [{
50
- type: Output
51
- }], pageSizeChange: [{
52
- type: Output
53
- }] } });
54
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VvLXBhZ2luYXRpb24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZ2VvLXVpL3NyYy9saWIvZmlnbWEvZ2VvLXBhZ2luYXRpb24vZ2VvLXBhZ2luYXRpb24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZ2VvLXVpL3NyYy9saWIvZmlnbWEvZ2VvLXBhZ2luYXRpb24vZ2VvLXBhZ2luYXRpb24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxRixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQzs7O0FBRTlEOztHQUVHO0FBVUgsTUFBTSxPQUFPLHNCQUFzQjtJQUN4QixTQUFTLEdBQUcsQ0FBQyxDQUFDO0lBQ2QsUUFBUSxHQUFHLEVBQUUsQ0FBQztJQUNkLEtBQUssR0FBRyxDQUFDLENBQUM7SUFDVixJQUFJLEdBQXdCLFNBQVMsQ0FBQztJQUN0QyxNQUFNLEdBQUcsS0FBSyxDQUFDO0lBQ2YsZ0JBQWdCLEdBQUcsS0FBSyxDQUFDO0lBQ3pCLGVBQWUsR0FBRyxLQUFLLENBQUM7SUFDeEIsZUFBZSxHQUFhLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFFM0MsZUFBZSxHQUFHLElBQUksWUFBWSxFQUFVLENBQUM7SUFDN0MsY0FBYyxHQUFHLElBQUksWUFBWSxFQUFVLENBQUM7SUFFdEQsaUJBQWlCLENBQUMsSUFBWTtRQUM1QixJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQztRQUN0QixJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNsQyxDQUFDO0lBRUQsZ0JBQWdCLENBQUMsSUFBWTtRQUMzQixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQztRQUNyQixJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNqQyxDQUFDO3dHQXJCVSxzQkFBc0I7NEZBQXRCLHNCQUFzQixzYUNmbkMsaWRBY0EsMkpETFksa0JBQWtCOzs0RkFNakIsc0JBQXNCO2tCQVRsQyxTQUFTOytCQUNFLGdCQUFnQixjQUNkLElBQUksV0FDUCxDQUFDLGtCQUFrQixDQUFDLGlCQUdkLGlCQUFpQixDQUFDLElBQUksUUFDL0IsRUFBRSxLQUFLLEVBQUUscUJBQXFCLEVBQUU7OEJBRzdCLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSztnQkFDRyxnQkFBZ0I7c0JBQXhCLEtBQUs7Z0JBQ0csZUFBZTtzQkFBdkIsS0FBSztnQkFDRyxlQUFlO3NCQUF2QixLQUFLO2dCQUVJLGVBQWU7c0JBQXhCLE1BQU07Z0JBQ0csY0FBYztzQkFBdkIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0LCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTnpQYWdpbmF0aW9uTW9kdWxlIH0gZnJvbSAnbmctem9ycm8tYW50ZC9wYWdpbmF0aW9uJztcblxuLyoqXG4gKiBQYWdpbmF0aW9uIGfhu41uIOKAlCB3cmFwIGBuei1wYWdpbmF0aW9uYC4gRMO5bmcgY2hvIHBhbmVsL21hcCAoa2jDtG5nIGvDqG0gc2l6ZSBjaGFuZ2VyIG5oxrAgYGdlby10YWJsZS1wYWdpbmF0aW9uYCkuXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2dlby1wYWdpbmF0aW9uJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW056UGFnaW5hdGlvbk1vZHVsZV0sXG4gIHRlbXBsYXRlVXJsOiAnLi9nZW8tcGFnaW5hdGlvbi5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsOiAnLi9nZW8tcGFnaW5hdGlvbi5jb21wb25lbnQuc2NzcycsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIGhvc3Q6IHsgY2xhc3M6ICdnZW8tcGFnaW5hdGlvbi1ob3N0JyB9LFxufSlcbmV4cG9ydCBjbGFzcyBHZW9QYWdpbmF0aW9uQ29tcG9uZW50IHtcbiAgQElucHV0KCkgcGFnZUluZGV4ID0gMTtcbiAgQElucHV0KCkgcGFnZVNpemUgPSAxMDtcbiAgQElucHV0KCkgdG90YWwgPSAwO1xuICBASW5wdXQoKSBzaXplOiAnZGVmYXVsdCcgfCAnc21hbGwnID0gJ2RlZmF1bHQnO1xuICBASW5wdXQoKSBzaW1wbGUgPSBmYWxzZTtcbiAgQElucHV0KCkgaGlkZU9uU2luZ2xlUGFnZSA9IGZhbHNlO1xuICBASW5wdXQoKSBzaG93U2l6ZUNoYW5nZXIgPSBmYWxzZTtcbiAgQElucHV0KCkgcGFnZVNpemVPcHRpb25zOiBudW1iZXJbXSA9IFs1LCAxMCwgMjAsIDUwXTtcblxuICBAT3V0cHV0KCkgcGFnZUluZGV4Q2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxudW1iZXI+KCk7XG4gIEBPdXRwdXQoKSBwYWdlU2l6ZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8bnVtYmVyPigpO1xuXG4gIG9uUGFnZUluZGV4Q2hhbmdlKHBhZ2U6IG51bWJlcik6IHZvaWQge1xuICAgIHRoaXMucGFnZUluZGV4ID0gcGFnZTtcbiAgICB0aGlzLnBhZ2VJbmRleENoYW5nZS5lbWl0KHBhZ2UpO1xuICB9XG5cbiAgb25QYWdlU2l6ZUNoYW5nZShzaXplOiBudW1iZXIpOiB2b2lkIHtcbiAgICB0aGlzLnBhZ2VTaXplID0gc2l6ZTtcbiAgICB0aGlzLnBhZ2VTaXplQ2hhbmdlLmVtaXQoc2l6ZSk7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJnZW8tcGFnaW5hdGlvblwiPlxuICA8bnotcGFnaW5hdGlvblxuICAgIFtuelNpemVdPVwic2l6ZVwiXG4gICAgW256U2ltcGxlXT1cInNpbXBsZVwiXG4gICAgW256UGFnZUluZGV4XT1cInBhZ2VJbmRleFwiXG4gICAgW256UGFnZVNpemVdPVwicGFnZVNpemVcIlxuICAgIFtuelRvdGFsXT1cInRvdGFsXCJcbiAgICBbbnpIaWRlT25TaW5nbGVQYWdlXT1cImhpZGVPblNpbmdsZVBhZ2VcIlxuICAgIFtuelNob3dTaXplQ2hhbmdlcl09XCJzaG93U2l6ZUNoYW5nZXJcIlxuICAgIFtuelBhZ2VTaXplT3B0aW9uc109XCJwYWdlU2l6ZU9wdGlvbnNcIlxuICAgIChuelBhZ2VJbmRleENoYW5nZSk9XCJvblBhZ2VJbmRleENoYW5nZSgkZXZlbnQpXCJcbiAgICAobnpQYWdlU2l6ZUNoYW5nZSk9XCJvblBhZ2VTaXplQ2hhbmdlKCRldmVudClcIlxuICA+PC9uei1wYWdpbmF0aW9uPlxuPC9kaXY+XG4iXX0=
22
+ args: [{ selector: 'geo-pagination', standalone: true, imports: [NzPaginationModule], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, host: { class: 'geo-pagination-host' }, template: "<div class=\"geo-pagination\">\n <nz-pagination\n [nzSize]=\"size()\"\n [nzSimple]=\"simple()\"\n [nzPageIndex]=\"pageIndex()\"\n [nzPageSize]=\"pageSize()\"\n [nzTotal]=\"total()\"\n [nzHideOnSinglePage]=\"hideOnSinglePage()\"\n [nzShowSizeChanger]=\"showSizeChanger()\"\n [nzPageSizeOptions]=\"pageSizeOptions()\"\n (nzPageIndexChange)=\"pageIndex.set($event)\"\n (nzPageSizeChange)=\"pageSize.set($event)\"\n ></nz-pagination>\n</div>\n", styles: [".geo-pagination-host{display:inline-flex;align-items:center}.geo-pagination{display:inline-flex}\n"] }]
23
+ }] });
24
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VvLXBhZ2luYXRpb24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZ2VvLXVpL3NyYy9saWIvZmlnbWEvZ2VvLXBhZ2luYXRpb24vZ2VvLXBhZ2luYXRpb24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZ2VvLXVpL3NyYy9saWIvZmlnbWEvZ2VvLXBhZ2luYXRpb24vZ2VvLXBhZ2luYXRpb24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsS0FBSyxFQUNMLEtBQUssRUFDTCxpQkFBaUIsR0FDbEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7OztBQUU5RDs7R0FFRztBQVdILE1BQU0sT0FBTyxzQkFBc0I7SUFDeEIsU0FBUyxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNyQixRQUFRLEdBQUcsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ3JCLEtBQUssR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDakIsSUFBSSxHQUFHLEtBQUssQ0FBc0IsU0FBUyxDQUFDLENBQUM7SUFDN0MsTUFBTSxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN0QixnQkFBZ0IsR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDaEMsZUFBZSxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMvQixlQUFlLEdBQUcsS0FBSyxDQUFXLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQzt3R0FSakQsc0JBQXNCOzRGQUF0QixzQkFBc0IsZ3dDQ3RCbkMseWRBY0EsMkpEQ1ksa0JBQWtCOzs0RkFPakIsc0JBQXNCO2tCQVZsQyxTQUFTOytCQUNFLGdCQUFnQixjQUNkLElBQUksV0FDUCxDQUFDLGtCQUFrQixDQUFDLGlCQUdkLGlCQUFpQixDQUFDLElBQUksbUJBQ3BCLHVCQUF1QixDQUFDLE1BQU0sUUFDekMsRUFBRSxLQUFLLEVBQUUscUJBQXFCLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBpbnB1dCxcbiAgbW9kZWwsXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE56UGFnaW5hdGlvbk1vZHVsZSB9IGZyb20gJ25nLXpvcnJvLWFudGQvcGFnaW5hdGlvbic7XG5cbi8qKlxuICogUGFnaW5hdGlvbiBn4buNbiDigJQgd3JhcCBgbnotcGFnaW5hdGlvbmAuIETDuW5nIGNobyBwYW5lbC9tYXAgKGtow7RuZyBrw6htIHNpemUgY2hhbmdlciBuaMawIGBnZW8tdGFibGUtcGFnaW5hdGlvbmApLlxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdnZW8tcGFnaW5hdGlvbicsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtOelBhZ2luYXRpb25Nb2R1bGVdLFxuICB0ZW1wbGF0ZVVybDogJy4vZ2VvLXBhZ2luYXRpb24uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybDogJy4vZ2VvLXBhZ2luYXRpb24uY29tcG9uZW50LnNjc3MnLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgaG9zdDogeyBjbGFzczogJ2dlby1wYWdpbmF0aW9uLWhvc3QnIH0sXG59KVxuZXhwb3J0IGNsYXNzIEdlb1BhZ2luYXRpb25Db21wb25lbnQge1xuICByZWFkb25seSBwYWdlSW5kZXggPSBtb2RlbCgxKTtcbiAgcmVhZG9ubHkgcGFnZVNpemUgPSBtb2RlbCgxMCk7XG4gIHJlYWRvbmx5IHRvdGFsID0gaW5wdXQoMCk7XG4gIHJlYWRvbmx5IHNpemUgPSBpbnB1dDwnZGVmYXVsdCcgfCAnc21hbGwnPignZGVmYXVsdCcpO1xuICByZWFkb25seSBzaW1wbGUgPSBpbnB1dChmYWxzZSk7XG4gIHJlYWRvbmx5IGhpZGVPblNpbmdsZVBhZ2UgPSBpbnB1dChmYWxzZSk7XG4gIHJlYWRvbmx5IHNob3dTaXplQ2hhbmdlciA9IGlucHV0KGZhbHNlKTtcbiAgcmVhZG9ubHkgcGFnZVNpemVPcHRpb25zID0gaW5wdXQ8bnVtYmVyW10+KFs1LCAxMCwgMjAsIDUwXSk7XG59XG4iLCI8ZGl2IGNsYXNzPVwiZ2VvLXBhZ2luYXRpb25cIj5cbiAgPG56LXBhZ2luYXRpb25cbiAgICBbbnpTaXplXT1cInNpemUoKVwiXG4gICAgW256U2ltcGxlXT1cInNpbXBsZSgpXCJcbiAgICBbbnpQYWdlSW5kZXhdPVwicGFnZUluZGV4KClcIlxuICAgIFtuelBhZ2VTaXplXT1cInBhZ2VTaXplKClcIlxuICAgIFtuelRvdGFsXT1cInRvdGFsKClcIlxuICAgIFtuekhpZGVPblNpbmdsZVBhZ2VdPVwiaGlkZU9uU2luZ2xlUGFnZSgpXCJcbiAgICBbbnpTaG93U2l6ZUNoYW5nZXJdPVwic2hvd1NpemVDaGFuZ2VyKClcIlxuICAgIFtuelBhZ2VTaXplT3B0aW9uc109XCJwYWdlU2l6ZU9wdGlvbnMoKVwiXG4gICAgKG56UGFnZUluZGV4Q2hhbmdlKT1cInBhZ2VJbmRleC5zZXQoJGV2ZW50KVwiXG4gICAgKG56UGFnZVNpemVDaGFuZ2UpPVwicGFnZVNpemUuc2V0KCRldmVudClcIlxuICA+PC9uei1wYWdpbmF0aW9uPlxuPC9kaXY+XG4iXX0=