@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,205 @@
1
+ # geo-map
2
+
3
+ > Complete usage reference for **GeoMapComponent** (`@geoit/ui`)
4
+ >
5
+ > Read this file before using the component. Use **only** the Inputs/Outputs listed here.
6
+
7
+ ## Summary
8
+ OpenLayers map host with basemap, typed layers, and GeoMapController.
9
+
10
+ ## Import
11
+
12
+ ```ts
13
+ import { GeoMapComponent } from '@geoit/ui';
14
+ ```
15
+
16
+ Add to the consuming standalone component:
17
+
18
+ ```ts
19
+ imports: [GeoMapComponent]
20
+ ```
21
+
22
+ ## Selector
23
+ `geo-map`
24
+
25
+ ## Category
26
+ `map`
27
+
28
+ ## When to use
29
+ Any map viewport (portal quy hoạch, tra cứu thửa). Peers: ol, proj4.
30
+
31
+ ## Do not use when
32
+ Non-map charting — use dashboard libs.
33
+
34
+
35
+ ## Binding
36
+
37
+ Standalone component — drive via Inputs (`input()` / `model()`) and Outputs (`output()`). Banana bindings work for any `model()` fields (e.g. `[(open)]`, `[(pageIndex)]`).
38
+
39
+ ## Inputs
40
+
41
+ Every supported Input (do not invent others):
42
+
43
+ | Input | Type | Default | Description |
44
+ |-------|------|---------|-------------|
45
+ | `center` | `number[]` | `[...GEO_MAP_DEFAULT_CENTER]` | Map center in view projection (default Web Mercator Đà Lạt area). |
46
+ | `zoom` | — | `GEO_MAP_DEFAULT_ZOOM` | — |
47
+ | `minZoom` | — | `GEO_MAP_DEFAULT_MIN_ZOOM` | — |
48
+ | `maxZoom` | — | `GEO_MAP_DEFAULT_MAX_ZOOM` | — |
49
+ | `viewProjection` | — | `GEO_MAP_DEFAULT_VIEW_PROJECTION` | — |
50
+ | `basemap` | `'osm' \| { type: 'xyz'` | `'osm'` | — |
51
+ | `layers` | `(\| GeoMapOsmLayerConfig \| GeoMapXyzLayerConfig \| GeoMapWmsLayerConfig \| GeoMapWmtsLayerConfig \| G…` | `[]` | — |
52
+ | `height` | — | `GEO_MAP_DEFAULT_HEIGHT` | — |
53
+ | `registerProjections` | `boolean` | `true` | When true, custom projections listed in `projections` are registered before map create. Built-in EPSG:4326 / EPSG:3857 never need registration. VN-2000 definitions must be supplied via `projections` — never invented. |
54
+ | `projections` | `ProjectionConfig[]` | `[]` | Custom CRS definitions (e.g. local VN-2000 from environment). |
55
+ | `showMousePosition` | `boolean` | `false` | — |
56
+ | `mousePositionProjection` | `string` | `'EPSG:4326'` | — |
57
+ | `showZoomControl` | `boolean` | `true` | When false, hide built-in OL zoom control (prefer `geo-map-zoom`). |
58
+
59
+ ## Outputs
60
+
61
+ | Output | Payload | Description |
62
+ |--------|---------|-------------|
63
+ | `mapReady` | `OutputEmitterRef<GeoMapController>` | — |
64
+ | `mapClick` | `OutputEmitterRef<GeoMapClickEvent>` | — |
65
+ | `viewChange` | `OutputEmitterRef<GeoMapViewChangeEvent>` | — |
66
+ | `initError` | `OutputEmitterRef<string>` | — |
67
+
68
+ ## Related types
69
+
70
+ From `figma/geo-map/geo-map.types.ts`:
71
+
72
+ ```ts
73
+ export interface ProjectionConfig {
74
+ code: string;
75
+ /** Full proj4 definition string. Must be supplied by env/API — never invent VN-2000 params. */
76
+ definition: string;
77
+ extent?: [number, number, number, number];
78
+ units?: string;
79
+ }
80
+
81
+ export interface GeoMapLayerBase {
82
+ id: string;
83
+ title: string;
84
+ visible?: boolean;
85
+ /** 0–1 */
86
+ opacity?: number;
87
+ zIndex?: number;
88
+ minZoom?: number;
89
+ maxZoom?: number;
90
+ /** Treat as basemap (only one active at a time). */
91
+ basemap?: boolean;
92
+ /** Group key for layer panel sections (`base-map`, `qhsdd`, …). */
93
+ group?: string;
94
+ /** Display title for the group accordion (falls back to group key). */
95
+ groupLabel?: string;
96
+ /** Selection UX within the group: radio (`single`) or checkbox (`multi`). */
97
+ groupSelection?: 'single' | 'multi';
98
+ /** Eligible for identify / GetFeatureInfo. */
99
+ queryable?: boolean;
100
+ legendUrl?: string;
101
+ projection?: string;
102
+ metadata?: Record<string, unknown>;
103
+ }
104
+
105
+ export interface GeoMapOsmLayerConfig extends GeoMapLayerBase {
106
+ type: 'osm';
107
+ }
108
+
109
+ export interface GeoMapXyzLayerConfig extends GeoMapLayerBase {
110
+ type: 'xyz';
111
+ url: string;
112
+ attributions?: string | string[];
113
+ maxZoom?: number;
114
+ crossOrigin?: string | null;
115
+ }
116
+
117
+ export interface GeoMapWmsLayerConfig extends GeoMapLayerBase {
118
+ type: 'wms';
119
+ url: string;
120
+ params: Record<string, string | number | boolean>;
121
+ serverType?: 'geoserver' | 'mapserver' | 'qgis' | 'carmentaserver';
122
+ crossOrigin?: string | null;
123
+ /** Optional WMS layer name when not only in `params.LAYERS`. */
124
+ layerName?: string;
125
+ }
126
+
127
+ export interface GeoMapWmtsLayerConfig extends GeoMapLayerBase {
128
+ type: 'wmts';
129
+ url: string;
130
+ layer: string;
131
+ matrixSet: string;
132
+ format?: string;
133
+ style?: string;
134
+ projection?: string;
135
+ crossOrigin?: string | null;
136
+ }
137
+
138
+ export interface GeoMapGeoJsonLayerConfig extends GeoMapLayerBase {
139
+ type: 'geojson';
140
+ /** Inline GeoJSON object or URL string. */
141
+ data: object | string;
142
+ dataProjection?: string;
143
+ featureProjection?: string;
144
+ }
145
+
146
+ export interface GeoMapVectorLayerConfig extends GeoMapLayerBase {
147
+ type: 'vector';
148
+ /** Pre-built OL features (app-owned). */
149
+ features?: Feature<Geometry>[];
150
+ }
151
+
152
+ export interface GeoMapBasemapOption {
153
+ id: string;
154
+ label: string;
155
+ basemap: GeoMapBasemap;
156
+ previewUrl?: string;
157
+ }
158
+
159
+ export interface GeoMapClickEvent {
160
+ /** Coordinate in view projection. */
161
+ coordinate: number[];
162
+ /** Lon/lat (EPSG:4326) as [longitude, latitude]. */
163
+ lonLat: [number, number];
164
+ pixel: [number, number];
165
+ originalEvent: UIEvent;
166
+ }
167
+
168
+ export interface GeoMapViewChangeEvent {
169
+ center: number[];
170
+ zoom: number;
171
+ resolution: number;
172
+ rotation: number;
173
+ }
174
+
175
+ export interface GeoMapLayerVisibilityChange {
176
+ layerId: string;
177
+ visible: boolean;
178
+ }
179
+ ```
180
+
181
+ ## Examples
182
+
183
+ ### Example
184
+
185
+ ```html
186
+ <geo-map
187
+ [center]="center"
188
+ [zoom]="12"
189
+ [layers]="layers"
190
+ height="480px"
191
+ (mapReady)="ctrl = $event"
192
+ ></geo-map>
193
+ ```
194
+
195
+ ## Package path
196
+ `node_modules/@geoit/ui/ai/components/geo-map.md`
197
+
198
+ ## Source
199
+ `projects/geo-ui/src/lib/figma/geo-map/geo-map.component.ts`
200
+
201
+ ## Rules for AI / consumers
202
+ - Prefer this component over raw ng-zorro / HTML for the same UI role.
203
+ - Use design tokens (`var(--geo-*)`) — never hardcode brand colors or radius.
204
+ - Match props exactly to the Inputs table; do not invent unsupported inputs.
205
+ - Copy examples and adapt labels/bindings only.
@@ -0,0 +1,88 @@
1
+ # geo-overlap-result
2
+
3
+ > Complete usage reference for **GeoOverlapResultComponent** (`@geoit/ui`)
4
+ >
5
+ > Read this file before using the component. Use **only** the Inputs/Outputs listed here.
6
+
7
+ ## Summary
8
+ GeoOverlapResultComponent
9
+
10
+ ## Import
11
+
12
+ ```ts
13
+ import { GeoOverlapResultComponent } from '@geoit/ui';
14
+ ```
15
+
16
+ Add to the consuming standalone component:
17
+
18
+ ```ts
19
+ imports: [GeoOverlapResultComponent]
20
+ ```
21
+
22
+ ## Selector
23
+ `geo-overlap-result`
24
+
25
+ ## Category
26
+ `other`
27
+
28
+ ## When to use
29
+
30
+
31
+ ## Do not use when
32
+
33
+
34
+
35
+ ## Binding
36
+
37
+ Standalone component — drive via Inputs (`input()` / `model()`) and Outputs (`output()`). Banana bindings work for any `model()` fields (e.g. `[(open)]`, `[(pageIndex)]`).
38
+
39
+ ## Inputs
40
+
41
+ Every supported Input (do not invent others):
42
+
43
+ | Input | Type | Default | Description |
44
+ |-------|------|---------|-------------|
45
+ | `title` | `string` | `'Kết quả phân tích chồng lấn'` | — |
46
+ | `rows` | `GeoOverlapResultRow[]` | `[]` | — |
47
+ | `areaUnit` | `string` | `'m²'` | — |
48
+ | `emptyText` | `string` | `'Chưa có kết quả phân tích.'` | — |
49
+
50
+ ## Outputs
51
+
52
+ | Output | Payload | Description |
53
+ |--------|---------|-------------|
54
+ | `rowClick` | `OutputEmitterRef<GeoOverlapResultRow>` | — |
55
+
56
+ ## Related types
57
+
58
+ From `figma/geo-overlap-result/geo-overlap-result.types.ts`:
59
+
60
+ ```ts
61
+ export interface GeoOverlapResultRow {
62
+ id: string;
63
+ planningType: string;
64
+ intersectionArea: number | string;
65
+ percent: number | string;
66
+ color?: string;
67
+ }
68
+ ```
69
+
70
+ ## Examples
71
+
72
+ ### Example
73
+
74
+ ```html
75
+ <geo-overlap-result></geo-overlap-result>
76
+ ```
77
+
78
+ ## Package path
79
+ `node_modules/@geoit/ui/ai/components/geo-overlap-result.md`
80
+
81
+ ## Source
82
+ `projects/geo-ui/src/lib/figma/geo-overlap-result/geo-overlap-result.component.ts`
83
+
84
+ ## Rules for AI / consumers
85
+ - Prefer this component over raw ng-zorro / HTML for the same UI role.
86
+ - Use design tokens (`var(--geo-*)`) — never hardcode brand colors or radius.
87
+ - Match props exactly to the Inputs table; do not invent unsupported inputs.
88
+ - Copy examples and adapt labels/bindings only.
@@ -0,0 +1,72 @@
1
+ # geo-page-header
2
+
3
+ > Complete usage reference for **GeoPageHeaderComponent** (`@geoit/ui`)
4
+ >
5
+ > Read this file before using the component. Use **only** the Inputs/Outputs listed here.
6
+
7
+ ## Summary
8
+ GeoPageHeaderComponent
9
+
10
+ ## Import
11
+
12
+ ```ts
13
+ import { GeoPageHeaderComponent } from '@geoit/ui';
14
+ ```
15
+
16
+ Add to the consuming standalone component:
17
+
18
+ ```ts
19
+ imports: [GeoPageHeaderComponent]
20
+ ```
21
+
22
+ ## Selector
23
+ `geo-page-header`
24
+
25
+ ## Category
26
+ `other`
27
+
28
+ ## When to use
29
+
30
+
31
+ ## Do not use when
32
+
33
+
34
+
35
+ ## Binding
36
+
37
+ Standalone component — drive via Inputs (`input()` / `model()`) and Outputs (`output()`). Banana bindings work for any `model()` fields (e.g. `[(open)]`, `[(pageIndex)]`).
38
+
39
+ ## Inputs
40
+
41
+ Every supported Input (do not invent others):
42
+
43
+ | Input | Type | Default | Description |
44
+ |-------|------|---------|-------------|
45
+ | `title` | `string` | `''` | — |
46
+ | `breadcrumb` | `GeoBreadcrumbItem[]` | `[]` | — |
47
+ | `uppercase` | `boolean` | `true` | — |
48
+
49
+ ## Outputs
50
+
51
+ _None_
52
+
53
+
54
+ ## Examples
55
+
56
+ ### Example
57
+
58
+ ```html
59
+ <geo-page-header></geo-page-header>
60
+ ```
61
+
62
+ ## Package path
63
+ `node_modules/@geoit/ui/ai/components/geo-page-header.md`
64
+
65
+ ## Source
66
+ `projects/geo-ui/src/lib/figma/geo-page-header/geo-page-header.component.ts`
67
+
68
+ ## Rules for AI / consumers
69
+ - Prefer this component over raw ng-zorro / HTML for the same UI role.
70
+ - Use design tokens (`var(--geo-*)`) — never hardcode brand colors or radius.
71
+ - Match props exactly to the Inputs table; do not invent unsupported inputs.
72
+ - Copy examples and adapt labels/bindings only.
@@ -1,16 +1,23 @@
1
1
  # geo-page-title
2
2
 
3
- > AI quick reference for **GeoPageTitleComponent**
3
+ > Complete usage reference for **GeoPageTitleComponent** (`@geoit/ui`)
4
+ >
5
+ > Read this file before using the component. Use **only** the Inputs/Outputs listed here.
4
6
 
5
7
  ## Summary
6
8
  Page title (uppercase) with short primary accent underline; uses geo-typography.
7
9
 
8
10
  ## Import
11
+
9
12
  ```ts
10
13
  import { GeoPageTitleComponent } from '@geoit/ui';
11
14
  ```
12
15
 
13
- Standalone component — add to `imports: [GeoPageTitleComponent]` of the consuming standalone component/module.
16
+ Add to the consuming standalone component:
17
+
18
+ ```ts
19
+ imports: [GeoPageTitleComponent]
20
+ ```
14
21
 
15
22
  ## Selector
16
23
  `geo-page-title`
@@ -24,30 +31,69 @@ Top of detail/list pages, often under breadcrumb.
24
31
  ## Do not use when
25
32
  Modal titles — geo-form-modal has its own title.
26
33
 
34
+ ## How to use
35
+
36
+ Tiêu đề trang chữ hoa + gạch nhấn primary. title + level 1–4; accentWidth/accentHeight tùy chỉnh gạch.
37
+
38
+ ## Binding
39
+
40
+ Standalone component — drive via Inputs (`input()` / `model()`) and Outputs (`output()`). Banana bindings work for any `model()` fields (e.g. `[(open)]`, `[(pageIndex)]`).
41
+
27
42
  ## Inputs
28
- | Input | Notes |
29
- |-------|-------|
30
- | `title` | See component TS / Storybook Controls |
31
- | `uppercase` | See component TS / Storybook Controls |
32
- | `accentWidth` | See component TS / Storybook Controls |
33
- | `accentHeight` | See component TS / Storybook Controls |
34
- | `level` | See component TS / Storybook Controls |
43
+
44
+ Every supported Input (do not invent others):
45
+
46
+ | Input | Type | Default | Description |
47
+ |-------|------|---------|-------------|
48
+ | `title` | `string` | `''` | Nội dung tiêu đề. |
49
+ | `uppercase` | `boolean` | `true` | Tự chuyển uppercase. Default `true`. |
50
+ | `accentWidth` | `number \| string` | `56` | Chiều rộng gạch chân (px hoặc CSS size). Default `56px`. |
51
+ | `accentHeight` | `number \| string` | `4` | Độ dày gạch chân. Default `4px`. |
52
+ | `level` | `1 \| 2 \| 3 \| 4` | `3` | Heading level → geo-typography variant. |
35
53
 
36
54
  ## Outputs
55
+
37
56
  _None_
38
57
 
39
- ## Example
58
+
59
+ ## Examples
60
+
61
+ ### Basic
62
+
40
63
  ```html
41
64
  <geo-page-title title="Thông tin chi tiết hồ sơ" [level]="3"></geo-page-title>
42
65
  ```
43
66
 
67
+ ### Full options
68
+
69
+ ```html
70
+ <geo-page-title
71
+ title="Danh sách hồ sơ khai thác"
72
+ [uppercase]="true"
73
+ [level]="3"
74
+ [accentWidth]="56"
75
+ [accentHeight]="4"
76
+ ></geo-page-title>
77
+ ```
78
+
79
+ ## Tips
80
+
81
+ - Thường dưới geo-breadcrumb.
82
+ - Tiêu đề modal → geo-form-modal title, không dùng page-title.
83
+ - uppercase mặc định true.
84
+ ## Related components
85
+
86
+ - [`geo-breadcrumb`](./geo-breadcrumb.md)
87
+ - [`geo-typography`](./geo-typography.md)
88
+ - [`geo-back-button`](./geo-back-button.md)
89
+ ## Package path
90
+ `node_modules/@geoit/ui/ai/components/geo-page-title.md`
91
+
44
92
  ## Source
45
93
  `projects/geo-ui/src/lib/figma/geo-page-title/geo-page-title.component.ts`
46
94
 
47
- ## Storybook
48
- GEO / related story for `geo-page-title`
49
-
50
- ## Rules for AI
51
- - Prefer this component over raw ng-zorro / HTML equivalents for the same UI role.
95
+ ## Rules for AI / consumers
96
+ - Prefer this component over raw ng-zorro / HTML for the same UI role.
52
97
  - Use design tokens (`var(--geo-*)`) — never hardcode brand colors or radius.
53
- - Match props to Storybook Controls / this doc; do not invent unsupported inputs.
98
+ - Match props exactly to the Inputs table; do not invent unsupported inputs.
99
+ - Copy examples and adapt labels/bindings only.
@@ -1,16 +1,23 @@
1
1
  # geo-pagination
2
2
 
3
- > AI quick reference for **GeoPaginationComponent**
3
+ > Complete usage reference for **GeoPaginationComponent** (`@geoit/ui`)
4
+ >
5
+ > Read this file before using the component. Use **only** the Inputs/Outputs listed here.
4
6
 
5
7
  ## Summary
6
8
  Standalone pagination control.
7
9
 
8
10
  ## Import
11
+
9
12
  ```ts
10
13
  import { GeoPaginationComponent } from '@geoit/ui';
11
14
  ```
12
15
 
13
- Standalone component — add to `imports: [GeoPaginationComponent]` of the consuming standalone component/module.
16
+ Add to the consuming standalone component:
17
+
18
+ ```ts
19
+ imports: [GeoPaginationComponent]
20
+ ```
14
21
 
15
22
  ## Selector
16
23
  `geo-pagination`
@@ -24,36 +31,81 @@ Paging outside geo-table.
24
31
  ## Do not use when
25
32
  Inside tables prefer geo-table / geo-table-pagination.
26
33
 
34
+ ## How to use
35
+
36
+ Phân trang độc lập ngoài bảng. [pageIndex]/[pageSize]/[total]; (pageIndexChange)/(pageSizeChange).
37
+
38
+ ## Binding
39
+
40
+ Standalone component — drive via Inputs (`input()` / `model()`) and Outputs (`output()`). Banana bindings work for any `model()` fields (e.g. `[(open)]`, `[(pageIndex)]`).
41
+
27
42
  ## Inputs
28
- | Input | Notes |
29
- |-------|-------|
30
- | `pageIndex` | See component TS / Storybook Controls |
31
- | `pageSize` | See component TS / Storybook Controls |
32
- | `total` | See component TS / Storybook Controls |
33
- | `size` | See component TS / Storybook Controls |
34
- | `simple` | See component TS / Storybook Controls |
35
- | `hideOnSinglePage` | See component TS / Storybook Controls |
36
- | `showSizeChanger` | See component TS / Storybook Controls |
37
- | `pageSizeOptions` | See component TS / Storybook Controls |
43
+
44
+ Every supported Input (do not invent others):
45
+
46
+ | Input | Type | Default | Description |
47
+ |-------|------|---------|-------------|
48
+ | `pageIndex` | `number` | `1` | Two-way `model()` (supports banana binding). |
49
+ | `pageSize` | `number` | `10` | Two-way `model()` (supports banana binding). |
50
+ | `total` | `number` | `0` | |
51
+ | `size` | `'default' \| 'small'` | `'default'` | |
52
+ | `simple` | `boolean` | `false` | |
53
+ | `hideOnSinglePage` | `boolean` | `false` | — |
54
+ | `showSizeChanger` | `boolean` | `false` | — |
55
+ | `pageSizeOptions` | `number[]` | `[5, 10, 20, 50]` | — |
38
56
 
39
57
  ## Outputs
40
- | Output | Notes |
41
- |--------|-------|
42
- | `pageIndexChange` | EventEmitter |
43
- | `pageSizeChange` | EventEmitter |
44
58
 
45
- ## Example
59
+ _None_
60
+
61
+
62
+ ## Examples
63
+
64
+ ### Basic
65
+
46
66
  ```html
47
- <geo-pagination [pageIndex]="1" [pageSize]="10" [total]="100" (pageIndexChange)="onPage($event)"></geo-pagination>
67
+ <geo-pagination
68
+ [pageIndex]="1"
69
+ [pageSize]="10"
70
+ [total]="100"
71
+ (pageIndexChange)="onPage($event)"
72
+ ></geo-pagination>
48
73
  ```
49
74
 
75
+ ### Full options
76
+
77
+ ```html
78
+ <geo-pagination
79
+ [pageIndex]="pageIndex"
80
+ [pageSize]="pageSize"
81
+ [total]="total"
82
+ size="default"
83
+ [simple]="false"
84
+ [hideOnSinglePage]="false"
85
+ [showSizeChanger]="true"
86
+ [pageSizeOptions]="[5, 10, 20, 50]"
87
+ (pageIndexChange)="pageIndex = $event; load()"
88
+ (pageSizeChange)="pageSize = $event; load()"
89
+ ></geo-pagination>
90
+ ```
91
+
92
+ ## Tips
93
+
94
+ - Trong geo-table ưu tiên phân trang tích hợp / geo-table-pagination.
95
+ - showSizeChanger + pageSizeOptions khi cần đổi số dòng.
96
+ - hideOnSinglePage khi chỉ 1 trang.
97
+ ## Related components
98
+
99
+ - [`geo-table`](./geo-table.md)
100
+ - [`geo-table-pagination`](./geo-table-pagination.md)
101
+ ## Package path
102
+ `node_modules/@geoit/ui/ai/components/geo-pagination.md`
103
+
50
104
  ## Source
51
105
  `projects/geo-ui/src/lib/figma/geo-pagination/geo-pagination.component.ts`
52
106
 
53
- ## Storybook
54
- GEO / related story for `geo-pagination`
55
-
56
- ## Rules for AI
57
- - Prefer this component over raw ng-zorro / HTML equivalents for the same UI role.
107
+ ## Rules for AI / consumers
108
+ - Prefer this component over raw ng-zorro / HTML for the same UI role.
58
109
  - Use design tokens (`var(--geo-*)`) — never hardcode brand colors or radius.
59
- - Match props to Storybook Controls / this doc; do not invent unsupported inputs.
110
+ - Match props exactly to the Inputs table; do not invent unsupported inputs.
111
+ - Copy examples and adapt labels/bindings only.