@geoit/ui 0.0.2 → 0.0.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (258) hide show
  1. package/AGENTS.md +12 -8
  2. package/README.md +140 -17
  3. package/ai/AGENTS.md +43 -32
  4. package/ai/README.md +36 -2
  5. package/ai/catalog.json +5585 -437
  6. package/ai/components/geo-alert.md +75 -21
  7. package/ai/components/geo-back-button.md +64 -18
  8. package/ai/components/geo-breadcrumb.md +71 -12
  9. package/ai/components/geo-button.md +90 -27
  10. package/ai/components/geo-chart.md +103 -0
  11. package/ai/components/geo-checkbox.md +67 -20
  12. package/ai/components/geo-column-picker.md +91 -18
  13. package/ai/components/geo-confirm-modal.md +92 -27
  14. package/ai/components/geo-dashboard.md +91 -0
  15. package/ai/components/geo-date-picker.md +105 -29
  16. package/ai/components/geo-date-range-picker.md +101 -28
  17. package/ai/components/geo-empty-state.md +75 -0
  18. package/ai/components/geo-feedback-form.md +97 -0
  19. package/ai/components/geo-file-picker.md +99 -26
  20. package/ai/components/geo-forgot-password.md +78 -0
  21. package/ai/components/geo-form-modal.md +111 -44
  22. package/ai/components/geo-icon.md +70 -16
  23. package/ai/components/geo-input.md +94 -29
  24. package/ai/components/geo-layout-footer.md +70 -0
  25. package/ai/components/geo-layout-header-actions.md +82 -0
  26. package/ai/components/geo-layout-header.md +89 -0
  27. package/ai/components/geo-layout-sidebar.md +86 -0
  28. package/ai/components/geo-layout.md +155 -0
  29. package/ai/components/geo-list-page.md +72 -0
  30. package/ai/components/geo-login.md +94 -0
  31. package/ai/components/geo-map-admin-filter.md +80 -0
  32. package/ai/components/geo-map-basemap-switcher.md +75 -0
  33. package/ai/components/geo-map-help.md +72 -0
  34. package/ai/components/geo-map-layer-card.md +73 -0
  35. package/ai/components/geo-map-layer-panel.md +75 -0
  36. package/ai/components/geo-map-layers-drawer.md +78 -0
  37. package/ai/components/geo-map-legend.md +74 -0
  38. package/ai/components/geo-map-locate.md +75 -0
  39. package/ai/components/geo-map-location-chip.md +71 -0
  40. package/ai/components/geo-map-measure.md +74 -0
  41. package/ai/components/geo-map-opacity.md +75 -0
  42. package/ai/components/geo-map-parcel-popup.md +79 -0
  43. package/ai/components/geo-map-search.md +83 -0
  44. package/ai/components/geo-map-shell.md +110 -0
  45. package/ai/components/geo-map-snapshot.md +75 -0
  46. package/ai/components/geo-map-swipe.md +73 -0
  47. package/ai/components/geo-map-toolbar.md +76 -0
  48. package/ai/components/geo-map-zoom.md +74 -0
  49. package/ai/components/geo-map.md +205 -0
  50. package/ai/components/geo-overlap-result.md +88 -0
  51. package/ai/components/geo-page-header.md +72 -0
  52. package/ai/components/geo-page-title.md +62 -16
  53. package/ai/components/geo-pagination.md +76 -24
  54. package/ai/components/geo-radio.md +110 -27
  55. package/ai/components/geo-row-actions.md +87 -19
  56. package/ai/components/geo-select.md +108 -28
  57. package/ai/components/geo-slider.md +70 -21
  58. package/ai/components/geo-stat-card.md +98 -0
  59. package/ai/components/geo-status-tag.md +67 -15
  60. package/ai/components/geo-step-form-layout.md +121 -38
  61. package/ai/components/geo-stepper.md +81 -19
  62. package/ai/components/geo-table-filter.md +90 -29
  63. package/ai/components/geo-table-pagination.md +70 -23
  64. package/ai/components/geo-table-toolbar.md +84 -29
  65. package/ai/components/geo-table.md +191 -59
  66. package/ai/components/geo-tabs.md +99 -27
  67. package/ai/components/geo-textarea.md +84 -23
  68. package/ai/components/geo-toast.md +138 -27
  69. package/ai/components/geo-tree.md +94 -22
  70. package/ai/components/geo-typography.md +70 -19
  71. package/ai/components/geo-upload.md +109 -39
  72. package/ai/mockup.html +1194 -0
  73. package/ai/recipes.md +132 -47
  74. package/esm2022/lib/figma/geo-alert/geo-alert.component.mjs +19 -36
  75. package/esm2022/lib/figma/geo-back-button/geo-back-button.component.mjs +14 -24
  76. package/esm2022/lib/figma/geo-breadcrumb/geo-breadcrumb.component.mjs +8 -11
  77. package/esm2022/lib/figma/geo-button/geo-button.component.mjs +30 -59
  78. package/esm2022/lib/figma/geo-chart/geo-chart.component.mjs +88 -0
  79. package/esm2022/lib/figma/geo-chart/geo-chart.types.mjs +2 -0
  80. package/esm2022/lib/figma/geo-checkbox/geo-checkbox.component.mjs +11 -22
  81. package/esm2022/lib/figma/geo-confirm-modal/geo-confirm-modal.component.mjs +22 -54
  82. package/esm2022/lib/figma/geo-dashboard/geo-dashboard.component.mjs +49 -0
  83. package/esm2022/lib/figma/geo-dashboard/geo-dashboard.types.mjs +2 -0
  84. package/esm2022/lib/figma/geo-date-picker/geo-date-picker.component.mjs +48 -78
  85. package/esm2022/lib/figma/geo-date-range-picker/geo-date-range-picker.component.mjs +47 -75
  86. package/esm2022/lib/figma/geo-empty-state/geo-empty-state.component.mjs +25 -0
  87. package/esm2022/lib/figma/geo-feedback-form/geo-feedback-form.component.mjs +75 -0
  88. package/esm2022/lib/figma/geo-feedback-form/geo-feedback-form.types.mjs +2 -0
  89. package/esm2022/lib/figma/geo-file-picker/geo-file-picker.component.mjs +59 -81
  90. package/esm2022/lib/figma/geo-forgot-password/geo-forgot-password.component.mjs +51 -0
  91. package/esm2022/lib/figma/geo-form-modal/geo-form-modal.component.mjs +45 -112
  92. package/esm2022/lib/figma/geo-icon/geo-icon.component.mjs +22 -32
  93. package/esm2022/lib/figma/geo-input/geo-input.component.mjs +41 -70
  94. package/esm2022/lib/figma/geo-layout/footer/geo-layout-footer.component.mjs +18 -0
  95. package/esm2022/lib/figma/geo-layout/geo-layout-actions.directive.mjs +15 -0
  96. package/esm2022/lib/figma/geo-layout/geo-layout.component.mjs +79 -0
  97. package/esm2022/lib/figma/geo-layout/geo-layout.types.mjs +42 -0
  98. package/esm2022/lib/figma/geo-layout/header/geo-layout-header.component.mjs +60 -0
  99. package/esm2022/lib/figma/geo-layout/header-actions/geo-layout-header-actions.component.mjs +70 -0
  100. package/esm2022/lib/figma/geo-layout/sidebar/geo-layout-sidebar.component.mjs +90 -0
  101. package/esm2022/lib/figma/geo-list-page/geo-list-page.component.mjs +22 -0
  102. package/esm2022/lib/figma/geo-login/geo-login.component.mjs +58 -0
  103. package/esm2022/lib/figma/geo-login/geo-login.types.mjs +2 -0
  104. package/esm2022/lib/figma/geo-map/chrome/geo-map-admin-filter/geo-map-admin-filter.component.mjs +52 -0
  105. package/esm2022/lib/figma/geo-map/chrome/geo-map-basemap-switcher/geo-map-basemap-switcher.component.mjs +61 -0
  106. package/esm2022/lib/figma/geo-map/chrome/geo-map-help/geo-map-help.component.mjs +26 -0
  107. package/esm2022/lib/figma/geo-map/chrome/geo-map-layer-card/geo-map-layer-card.component.mjs +24 -0
  108. package/esm2022/lib/figma/geo-map/chrome/geo-map-layer-panel/geo-map-layer-panel.component.mjs +146 -0
  109. package/esm2022/lib/figma/geo-map/chrome/geo-map-layers-drawer/geo-map-layers-drawer.component.mjs +37 -0
  110. package/esm2022/lib/figma/geo-map/chrome/geo-map-legend/geo-map-legend.component.mjs +30 -0
  111. package/esm2022/lib/figma/geo-map/chrome/geo-map-locate/geo-map-locate.component.mjs +72 -0
  112. package/esm2022/lib/figma/geo-map/chrome/geo-map-location-chip/geo-map-location-chip.component.mjs +21 -0
  113. package/esm2022/lib/figma/geo-map/chrome/geo-map-measure/geo-map-measure.component.mjs +375 -0
  114. package/esm2022/lib/figma/geo-map/chrome/geo-map-opacity/geo-map-opacity.component.mjs +94 -0
  115. package/esm2022/lib/figma/geo-map/chrome/geo-map-parcel-popup/geo-map-parcel-popup.component.mjs +136 -0
  116. package/esm2022/lib/figma/geo-map/chrome/geo-map-search/geo-map-search.component.mjs +182 -0
  117. package/esm2022/lib/figma/geo-map/chrome/geo-map-shell/geo-map-shell.component.mjs +577 -0
  118. package/esm2022/lib/figma/geo-map/chrome/geo-map-snapshot/geo-map-snapshot.component.mjs +93 -0
  119. package/esm2022/lib/figma/geo-map/chrome/geo-map-swipe/geo-map-swipe.component.mjs +129 -0
  120. package/esm2022/lib/figma/geo-map/chrome/geo-map-toolbar/geo-map-toolbar.component.mjs +64 -0
  121. package/esm2022/lib/figma/geo-map/chrome/geo-map-zoom/geo-map-zoom.component.mjs +295 -0
  122. package/esm2022/lib/figma/geo-map/geo-map-toolbar.icons.mjs +18 -0
  123. package/esm2022/lib/figma/geo-map/geo-map.component.mjs +144 -0
  124. package/esm2022/lib/figma/geo-map/geo-map.constants.mjs +497 -0
  125. package/esm2022/lib/figma/geo-map/geo-map.controller.mjs +71 -0
  126. package/esm2022/lib/figma/geo-map/geo-map.types.mjs +2 -0
  127. package/esm2022/lib/figma/geo-map/services/geo-map-layer.service.mjs +368 -0
  128. package/esm2022/lib/figma/geo-map/services/geo-map-projection.service.mjs +110 -0
  129. package/esm2022/lib/figma/geo-map/services/geo-map.service.mjs +540 -0
  130. package/esm2022/lib/figma/geo-map/utils/geo-map-fullscreen-overlay.util.mjs +47 -0
  131. package/esm2022/lib/figma/geo-map/utils/geo-map-interactions.util.mjs +30 -0
  132. package/esm2022/lib/figma/geo-overlap-result/geo-overlap-result.component.mjs +25 -0
  133. package/esm2022/lib/figma/geo-overlap-result/geo-overlap-result.types.mjs +2 -0
  134. package/esm2022/lib/figma/geo-page-header/geo-page-header.component.mjs +23 -0
  135. package/esm2022/lib/figma/geo-page-title/geo-page-title.component.mjs +20 -35
  136. package/esm2022/lib/figma/geo-pagination/geo-pagination.component.mjs +13 -43
  137. package/esm2022/lib/figma/geo-radio/geo-radio.component.mjs +32 -52
  138. package/esm2022/lib/figma/geo-select/geo-select.component.mjs +46 -72
  139. package/esm2022/lib/figma/geo-slider/geo-slider.component.mjs +12 -28
  140. package/esm2022/lib/figma/geo-stat-card/geo-stat-card.component.mjs +163 -0
  141. package/esm2022/lib/figma/geo-stat-card/geo-stat-card.types.mjs +2 -0
  142. package/esm2022/lib/figma/geo-status-tag/geo-status-tag.component.mjs +23 -27
  143. package/esm2022/lib/figma/geo-step-form-layout/geo-step-form-layout.component.mjs +39 -96
  144. package/esm2022/lib/figma/geo-stepper/geo-stepper.component.mjs +18 -33
  145. package/esm2022/lib/figma/geo-table/geo-column-picker/geo-column-picker.component.mjs +14 -24
  146. package/esm2022/lib/figma/geo-table/geo-row-actions/geo-row-actions.component.mjs +18 -36
  147. package/esm2022/lib/figma/geo-table/geo-table-filter/geo-table-filter.component.mjs +41 -98
  148. package/esm2022/lib/figma/geo-table/geo-table-pagination/geo-table-pagination.component.mjs +40 -73
  149. package/esm2022/lib/figma/geo-table/geo-table-toolbar/geo-table-toolbar.component.mjs +26 -56
  150. package/esm2022/lib/figma/geo-table/geo-table.component.mjs +110 -210
  151. package/esm2022/lib/figma/geo-tabs/geo-tabs.component.mjs +33 -63
  152. package/esm2022/lib/figma/geo-textarea/geo-textarea.component.mjs +28 -44
  153. package/esm2022/lib/figma/geo-toast/geo-toast.component.mjs +18 -39
  154. package/esm2022/lib/figma/geo-tree/geo-tree.component.mjs +12 -40
  155. package/esm2022/lib/figma/geo-typography/geo-typography.component.mjs +49 -64
  156. package/esm2022/lib/figma/geo-upload/geo-upload.component.mjs +50 -101
  157. package/esm2022/lib/figma/index.mjs +50 -1
  158. package/esm2022/lib/styles/tokens.mjs +56 -24
  159. package/fesm2022/geoit-ui.mjs +5981 -1825
  160. package/fesm2022/geoit-ui.mjs.map +1 -1
  161. package/lib/figma/geo-alert/geo-alert.component.d.ts +10 -11
  162. package/lib/figma/geo-back-button/geo-back-button.component.d.ts +6 -7
  163. package/lib/figma/geo-breadcrumb/geo-breadcrumb.component.d.ts +2 -2
  164. package/lib/figma/geo-button/geo-button.component.d.ts +21 -17
  165. package/lib/figma/geo-chart/geo-chart.component.d.ts +40 -0
  166. package/lib/figma/geo-chart/geo-chart.types.d.ts +13 -0
  167. package/lib/figma/geo-checkbox/geo-checkbox.component.d.ts +6 -7
  168. package/lib/figma/geo-confirm-modal/geo-confirm-modal.component.d.ts +15 -17
  169. package/lib/figma/geo-dashboard/geo-dashboard.component.d.ts +29 -0
  170. package/lib/figma/geo-dashboard/geo-dashboard.types.d.ts +7 -0
  171. package/lib/figma/geo-date-picker/geo-date-picker.component.d.ts +26 -21
  172. package/lib/figma/geo-date-range-picker/geo-date-range-picker.component.d.ts +25 -20
  173. package/lib/figma/geo-empty-state/geo-empty-state.component.d.ts +17 -0
  174. package/lib/figma/geo-feedback-form/geo-feedback-form.component.d.ts +36 -0
  175. package/lib/figma/geo-feedback-form/geo-feedback-form.types.d.ts +8 -0
  176. package/lib/figma/geo-file-picker/geo-file-picker.component.d.ts +23 -20
  177. package/lib/figma/geo-forgot-password/geo-forgot-password.component.d.ts +24 -0
  178. package/lib/figma/geo-form-modal/geo-form-modal.component.d.ts +33 -35
  179. package/lib/figma/geo-icon/geo-icon.component.d.ts +7 -7
  180. package/lib/figma/geo-input/geo-input.component.d.ts +23 -21
  181. package/lib/figma/geo-layout/footer/geo-layout-footer.component.d.ts +10 -0
  182. package/lib/figma/geo-layout/geo-layout-actions.directive.d.ts +6 -0
  183. package/lib/figma/geo-layout/geo-layout.component.d.ts +48 -0
  184. package/lib/figma/geo-layout/geo-layout.types.d.ts +44 -0
  185. package/lib/figma/geo-layout/header/geo-layout-header.component.d.ts +31 -0
  186. package/lib/figma/geo-layout/header-actions/geo-layout-header-actions.component.d.ts +32 -0
  187. package/lib/figma/geo-layout/sidebar/geo-layout-sidebar.component.d.ts +34 -0
  188. package/lib/figma/geo-list-page/geo-list-page.component.d.ts +16 -0
  189. package/lib/figma/geo-login/geo-login.component.d.ts +27 -0
  190. package/lib/figma/geo-login/geo-login.types.d.ts +6 -0
  191. package/lib/figma/geo-map/chrome/geo-map-admin-filter/geo-map-admin-filter.component.d.ts +28 -0
  192. package/lib/figma/geo-map/chrome/geo-map-basemap-switcher/geo-map-basemap-switcher.component.d.ts +26 -0
  193. package/lib/figma/geo-map/chrome/geo-map-help/geo-map-help.component.d.ts +20 -0
  194. package/lib/figma/geo-map/chrome/geo-map-layer-card/geo-map-layer-card.component.d.ts +15 -0
  195. package/lib/figma/geo-map/chrome/geo-map-layer-panel/geo-map-layer-panel.component.d.ts +40 -0
  196. package/lib/figma/geo-map/chrome/geo-map-layers-drawer/geo-map-layers-drawer.component.d.ts +25 -0
  197. package/lib/figma/geo-map/chrome/geo-map-legend/geo-map-legend.component.d.ts +18 -0
  198. package/lib/figma/geo-map/chrome/geo-map-locate/geo-map-locate.component.d.ts +24 -0
  199. package/lib/figma/geo-map/chrome/geo-map-location-chip/geo-map-location-chip.component.d.ts +14 -0
  200. package/lib/figma/geo-map/chrome/geo-map-measure/geo-map-measure.component.d.ts +49 -0
  201. package/lib/figma/geo-map/chrome/geo-map-opacity/geo-map-opacity.component.d.ts +30 -0
  202. package/lib/figma/geo-map/chrome/geo-map-parcel-popup/geo-map-parcel-popup.component.d.ts +44 -0
  203. package/lib/figma/geo-map/chrome/geo-map-search/geo-map-search.component.d.ts +56 -0
  204. package/lib/figma/geo-map/chrome/geo-map-shell/geo-map-shell.component.d.ts +103 -0
  205. package/lib/figma/geo-map/chrome/geo-map-snapshot/geo-map-snapshot.component.d.ts +21 -0
  206. package/lib/figma/geo-map/chrome/geo-map-swipe/geo-map-swipe.component.d.ts +33 -0
  207. package/lib/figma/geo-map/chrome/geo-map-toolbar/geo-map-toolbar.component.d.ts +30 -0
  208. package/lib/figma/geo-map/chrome/geo-map-zoom/geo-map-zoom.component.d.ts +67 -0
  209. package/lib/figma/geo-map/geo-map-toolbar.icons.d.ts +17 -0
  210. package/lib/figma/geo-map/geo-map.component.d.ts +53 -0
  211. package/lib/figma/geo-map/geo-map.constants.d.ts +73 -0
  212. package/lib/figma/geo-map/geo-map.controller.d.ts +49 -0
  213. package/lib/figma/geo-map/geo-map.types.d.ts +224 -0
  214. package/lib/figma/geo-map/services/geo-map-layer.service.d.ts +42 -0
  215. package/lib/figma/geo-map/services/geo-map-projection.service.d.ts +32 -0
  216. package/lib/figma/geo-map/services/geo-map.service.d.ts +99 -0
  217. package/lib/figma/geo-map/utils/geo-map-fullscreen-overlay.util.d.ts +13 -0
  218. package/lib/figma/geo-map/utils/geo-map-interactions.util.d.ts +9 -0
  219. package/lib/figma/geo-overlap-result/geo-overlap-result.component.d.ts +18 -0
  220. package/lib/figma/geo-overlap-result/geo-overlap-result.types.d.ts +7 -0
  221. package/lib/figma/geo-page-header/geo-page-header.component.d.ts +16 -0
  222. package/lib/figma/geo-page-title/geo-page-title.component.d.ts +9 -9
  223. package/lib/figma/geo-pagination/geo-pagination.component.d.ts +9 -14
  224. package/lib/figma/geo-radio/geo-radio.component.d.ts +17 -15
  225. package/lib/figma/geo-select/geo-select.component.d.ts +24 -19
  226. package/lib/figma/geo-slider/geo-slider.component.d.ts +7 -9
  227. package/lib/figma/geo-stat-card/geo-stat-card.component.d.ts +50 -0
  228. package/lib/figma/geo-stat-card/geo-stat-card.types.d.ts +11 -0
  229. package/lib/figma/geo-status-tag/geo-status-tag.component.d.ts +7 -7
  230. package/lib/figma/geo-step-form-layout/geo-step-form-layout.component.d.ts +27 -29
  231. package/lib/figma/geo-stepper/geo-stepper.component.d.ts +6 -8
  232. package/lib/figma/geo-table/geo-column-picker/geo-column-picker.component.d.ts +6 -7
  233. package/lib/figma/geo-table/geo-row-actions/geo-row-actions.component.d.ts +11 -12
  234. package/lib/figma/geo-table/geo-table-filter/geo-table-filter.component.d.ts +21 -28
  235. package/lib/figma/geo-table/geo-table-pagination/geo-table-pagination.component.d.ts +17 -20
  236. package/lib/figma/geo-table/geo-table-toolbar/geo-table-toolbar.component.d.ts +17 -18
  237. package/lib/figma/geo-table/geo-table.component.d.ts +58 -62
  238. package/lib/figma/geo-tabs/geo-tabs.component.d.ts +14 -17
  239. package/lib/figma/geo-textarea/geo-textarea.component.d.ts +15 -13
  240. package/lib/figma/geo-toast/geo-toast.component.d.ts +11 -12
  241. package/lib/figma/geo-tree/geo-tree.component.d.ts +8 -13
  242. package/lib/figma/geo-typography/geo-typography.component.d.ts +13 -13
  243. package/lib/figma/geo-upload/geo-upload.component.d.ts +26 -28
  244. package/lib/figma/index.d.ts +49 -0
  245. package/lib/styles/tokens.d.ts +56 -23
  246. package/package.json +4 -2
  247. package/src/lib/figma/geo-map/assets/toolbar/fullscreen.svg +8 -0
  248. package/src/lib/figma/geo-map/assets/toolbar/home.svg +3 -0
  249. package/src/lib/figma/geo-map/assets/toolbar/layers.svg +3 -0
  250. package/src/lib/figma/geo-map/assets/toolbar/measure-area.svg +12 -0
  251. package/src/lib/figma/geo-map/assets/toolbar/measure-distance.svg +5 -0
  252. package/src/lib/figma/geo-map/assets/toolbar/pan.svg +13 -0
  253. package/src/lib/figma/geo-map/assets/toolbar/search.svg +3 -0
  254. package/src/lib/figma/geo-map/assets/toolbar/zoom-in.svg +3 -0
  255. package/src/lib/figma/geo-map/assets/toolbar/zoom-out.svg +5 -0
  256. package/src/lib/styles/design-tokens.scss +108 -35
  257. package/src/lib/styles/scrollbar.scss +2 -2
  258. package/src/lib/styles/theme.scss +1 -1
@@ -1,16 +1,24 @@
1
1
  # geo-date-range-picker
2
2
 
3
- > AI quick reference for **GeoDateRangePickerComponent**
3
+ > Complete usage reference for **GeoDateRangePickerComponent** (`@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
  Start–end date range picker.
7
9
 
8
10
  ## Import
11
+
9
12
  ```ts
10
13
  import { GeoDateRangePickerComponent } from '@geoit/ui';
14
+ import { FormsModule } from '@angular/forms'; // when using [(ngModel)]
11
15
  ```
12
16
 
13
- Standalone component — add to `imports: [GeoDateRangePickerComponent]` of the consuming standalone component/module.
17
+ Add to the consuming standalone component:
18
+
19
+ ```ts
20
+ imports: [GeoDateRangePickerComponent, FormsModule]
21
+ ```
14
22
 
15
23
  ## Selector
16
24
  `geo-date-range-picker`
@@ -24,41 +32,106 @@ Filters and period selection.
24
32
  ## Do not use when
25
33
  Single date — use geo-date-picker.
26
34
 
35
+ ## How to use
36
+
37
+ Chọn khoảng từ–đến (CVA). [(ngModel)] nhận [Date, Date] | null; placeholder mặc định ['Từ ngày','Đến ngày'].
38
+
39
+ ## Binding
40
+
41
+ Supports **ControlValueAccessor**.
42
+
43
+ ```html
44
+ <geo-date-range-picker [(ngModel)]="value"></geo-date-range-picker>
45
+ <!-- or -->
46
+ <geo-date-range-picker formControlName="field"></geo-date-range-picker>
47
+ ```
48
+
49
+ Also import `FormsModule` (template-driven) or `ReactiveFormsModule`.
50
+
51
+ Library API uses Angular 18 `input()` / `output()` signals under the hood.
52
+
27
53
  ## Inputs
28
- | Input | Notes |
29
- |-------|-------|
30
- | `label` | See component TS / Storybook Controls |
31
- | `placeholder` | See component TS / Storybook Controls |
32
- | `format` | See component TS / Storybook Controls |
33
- | `size` | See component TS / Storybook Controls |
34
- | `disabled` | See component TS / Storybook Controls |
35
- | `required` | See component TS / Storybook Controls |
36
- | `error` | See component TS / Storybook Controls |
37
- | `errorMessage` | See component TS / Storybook Controls |
38
- | `allowClear` | See component TS / Storybook Controls |
39
- | `showTime` | See component TS / Storybook Controls |
40
- | `block` | See component TS / Storybook Controls |
41
- | `width` | See component TS / Storybook Controls |
42
- | `disabledDate` | See component TS / Storybook Controls |
43
- | `separator` | See component TS / Storybook Controls |
54
+
55
+ Every supported Input (do not invent others):
56
+
57
+ | Input | Type | Default | Description |
58
+ |-------|------|---------|-------------|
59
+ | `label` | `string` | `''` | |
60
+ | `placeholder` | `[string, string]` | `['Từ ngày', 'Đến ngày']` | — |
61
+ | `format` | `string` | `'dd/MM/yyyy'` | |
62
+ | `size` | `'default' \| 'small'` | `'default'` | |
63
+ | `disabled` | `boolean` | `false` | |
64
+ | `required` | `boolean` | `false` | |
65
+ | `error` | `boolean` | `false` | |
66
+ | `errorMessage` | `string` | `''` | |
67
+ | `allowClear` | `boolean` | `true` | |
68
+ | `showTime` | `boolean` | `false` | |
69
+ | `block` | `boolean` | `false` | |
70
+ | `width` | `number \| string \| undefined` | `undefined` | — |
71
+ | `disabledDate` | `((current: Date) => boolean) \| undefined` | `undefined` | — |
72
+ | `separator` | `string` | `'→'` | — |
44
73
 
45
74
  ## Outputs
46
- | Output | Notes |
47
- |--------|-------|
48
- | `valueChange` | EventEmitter |
49
75
 
50
- ## Example
76
+ | Output | Payload | Description |
77
+ |--------|---------|-------------|
78
+ | `valueChange` | `OutputEmitterRef<[Date, Date] \| null>` | — |
79
+
80
+ ## Related types
81
+
82
+ From `figma/geo-date-range-picker/geo-date-range-picker.types.ts`:
83
+
84
+ ```ts
85
+ export type GeoDateRangeValue = [Date, Date] | null;
86
+
87
+ export type GeoDateRangeSize = 'default' | 'small';
88
+ ```
89
+
90
+ ## Examples
91
+
92
+ ### Basic
93
+
51
94
  ```html
52
95
  <geo-date-range-picker label="Khoảng thời gian" [(ngModel)]="range" [block]="true"></geo-date-range-picker>
53
96
  ```
54
97
 
98
+ ### Full options
99
+
100
+ ```html
101
+ <geo-date-range-picker
102
+ label="Thời gian lọc"
103
+ [placeholder]="['Từ ngày', 'Đến ngày']"
104
+ format="dd/MM/yyyy"
105
+ size="default"
106
+ separator="→"
107
+ [allowClear]="true"
108
+ [showTime]="false"
109
+ [block]="true"
110
+ [required]="true"
111
+ [error]="rangeError"
112
+ errorMessage="Vui lòng chọn khoảng thời gian"
113
+ [(ngModel)]="dateRange"
114
+ (valueChange)="onRange($event)"
115
+ ></geo-date-range-picker>
116
+ ```
117
+
118
+ ## Tips
119
+
120
+ - Một ngày đơn → geo-date-picker.
121
+ - Dùng trong bộ lọc bảng / báo cáo.
122
+ - separator mặc định '→'.
123
+ ## Related components
124
+
125
+ - [`geo-date-picker`](./geo-date-picker.md)
126
+ - [`geo-table-filter`](./geo-table-filter.md)
127
+ ## Package path
128
+ `node_modules/@geoit/ui/ai/components/geo-date-range-picker.md`
129
+
55
130
  ## Source
56
131
  `projects/geo-ui/src/lib/figma/geo-date-range-picker/geo-date-range-picker.component.ts`
57
132
 
58
- ## Storybook
59
- GEO / related story for `geo-date-range-picker`
60
-
61
- ## Rules for AI
62
- - Prefer this component over raw ng-zorro / HTML equivalents for the same UI role.
133
+ ## Rules for AI / consumers
134
+ - Prefer this component over raw ng-zorro / HTML for the same UI role.
63
135
  - Use design tokens (`var(--geo-*)`) — never hardcode brand colors or radius.
64
- - Match props to Storybook Controls / this doc; do not invent unsupported inputs.
136
+ - Match props exactly to the Inputs table; do not invent unsupported inputs.
137
+ - Copy examples and adapt labels/bindings only.
@@ -0,0 +1,75 @@
1
+ # geo-empty-state
2
+
3
+ > Complete usage reference for **GeoEmptyStateComponent** (`@geoit/ui`)
4
+ >
5
+ > Read this file before using the component. Use **only** the Inputs/Outputs listed here.
6
+
7
+ ## Summary
8
+ GeoEmptyStateComponent
9
+
10
+ ## Import
11
+
12
+ ```ts
13
+ import { GeoEmptyStateComponent } from '@geoit/ui';
14
+ ```
15
+
16
+ Add to the consuming standalone component:
17
+
18
+ ```ts
19
+ imports: [GeoEmptyStateComponent]
20
+ ```
21
+
22
+ ## Selector
23
+ `geo-empty-state`
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` | `'Không có dữ liệu'` | — |
46
+ | `description` | `string` | `''` | — |
47
+ | `icon` | `string` | `'inbox'` | — |
48
+ | `actionLabel` | `string` | `''` | — |
49
+
50
+ ## Outputs
51
+
52
+ | Output | Payload | Description |
53
+ |--------|---------|-------------|
54
+ | `actionClick` | `OutputEmitterRef<void>` | — |
55
+
56
+
57
+ ## Examples
58
+
59
+ ### Example
60
+
61
+ ```html
62
+ <geo-empty-state></geo-empty-state>
63
+ ```
64
+
65
+ ## Package path
66
+ `node_modules/@geoit/ui/ai/components/geo-empty-state.md`
67
+
68
+ ## Source
69
+ `projects/geo-ui/src/lib/figma/geo-empty-state/geo-empty-state.component.ts`
70
+
71
+ ## Rules for AI / consumers
72
+ - Prefer this component over raw ng-zorro / HTML for the same UI role.
73
+ - Use design tokens (`var(--geo-*)`) — never hardcode brand colors or radius.
74
+ - Match props exactly to the Inputs table; do not invent unsupported inputs.
75
+ - Copy examples and adapt labels/bindings only.
@@ -0,0 +1,97 @@
1
+ # geo-feedback-form
2
+
3
+ > Complete usage reference for **GeoFeedbackFormComponent** (`@geoit/ui`)
4
+ >
5
+ > Read this file before using the component. Use **only** the Inputs/Outputs listed here.
6
+
7
+ ## Summary
8
+ GeoFeedbackFormComponent
9
+
10
+ ## Import
11
+
12
+ ```ts
13
+ import { GeoFeedbackFormComponent } from '@geoit/ui';
14
+ ```
15
+
16
+ Add to the consuming standalone component:
17
+
18
+ ```ts
19
+ imports: [GeoFeedbackFormComponent]
20
+ ```
21
+
22
+ ## Selector
23
+ `geo-feedback-form`
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` | `'Gửi phản ánh, kiến nghị'` | — |
46
+ | `description` | `string` | `'Nội dung sẽ được chuyển tới cán bộ xử lý. Vui lòng mô tả rõ vấn đề và vị trí (nếu có).'` | Mô tả ngắn dưới tiêu đề — giúp người dân hiểu quy trình xử lý. |
47
+ | `maxLength` | `number` | `1000` | — |
48
+ | `loading` | `boolean` | `false` | — |
49
+ | `showCancel` | `boolean` | `true` | Ẩn nút Hủy khi form dùng trên trang riêng (không phải dialog). |
50
+ | `fill` | `boolean` | `false` | Form chiếm hết chiều rộng/cao vùng chứa (trang full content). |
51
+ | `submitLabel` | `string` | `'Gửi phản ánh'` | — |
52
+ | `cancelLabel` | `string` | `'Hủy'` | — |
53
+ | `senderName` | `string` | `''` | Two-way `model()` (supports banana binding). |
54
+ | `content` | `string` | `''` | Two-way `model()` (supports banana binding). |
55
+
56
+ ## Outputs
57
+
58
+ | Output | Payload | Description |
59
+ |--------|---------|-------------|
60
+ | `submittedFeedback` | `OutputEmitterRef<GeoFeedbackPayload>` | — |
61
+ | `cancelled` | `OutputEmitterRef<void>` | — |
62
+
63
+ ## Related types
64
+
65
+ From `figma/geo-feedback-form/geo-feedback-form.types.ts`:
66
+
67
+ ```ts
68
+ export interface GeoFeedbackPayload {
69
+ senderName: string;
70
+ content: string;
71
+ }
72
+
73
+ export interface GeoFeedbackReplyPayload {
74
+ id: string;
75
+ reply: string;
76
+ }
77
+ ```
78
+
79
+ ## Examples
80
+
81
+ ### Example
82
+
83
+ ```html
84
+ <geo-feedback-form></geo-feedback-form>
85
+ ```
86
+
87
+ ## Package path
88
+ `node_modules/@geoit/ui/ai/components/geo-feedback-form.md`
89
+
90
+ ## Source
91
+ `projects/geo-ui/src/lib/figma/geo-feedback-form/geo-feedback-form.component.ts`
92
+
93
+ ## Rules for AI / consumers
94
+ - Prefer this component over raw ng-zorro / HTML for the same UI role.
95
+ - Use design tokens (`var(--geo-*)`) — never hardcode brand colors or radius.
96
+ - Match props exactly to the Inputs table; do not invent unsupported inputs.
97
+ - Copy examples and adapt labels/bindings only.
@@ -1,16 +1,24 @@
1
1
  # geo-file-picker
2
2
 
3
- > AI quick reference for **GeoFilePickerComponent**
3
+ > Complete usage reference for **GeoFilePickerComponent** (`@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
  Compact file input for forms (button + filename).
7
9
 
8
10
  ## Import
11
+
9
12
  ```ts
10
13
  import { GeoFilePickerComponent } from '@geoit/ui';
14
+ import { FormsModule } from '@angular/forms'; // when using [(ngModel)]
11
15
  ```
12
16
 
13
- Standalone component — add to `imports: [GeoFilePickerComponent]` of the consuming standalone component/module.
17
+ Add to the consuming standalone component:
18
+
19
+ ```ts
20
+ imports: [GeoFilePickerComponent, FormsModule]
21
+ ```
14
22
 
15
23
  ## Selector
16
24
  `geo-file-picker`
@@ -24,39 +32,104 @@ Single/small file field inside a form row.
24
32
  ## Do not use when
25
33
  Drag-drop multi upload with progress — use geo-upload.
26
34
 
35
+ ## How to use
36
+
37
+ Ô chọn file gọn trong form (nút + tên file). CVA; (fileChange) nhận File | FileList; accept để giới hạn loại.
38
+
39
+ ## Binding
40
+
41
+ Supports **ControlValueAccessor**.
42
+
43
+ ```html
44
+ <geo-file-picker [(ngModel)]="value"></geo-file-picker>
45
+ <!-- or -->
46
+ <geo-file-picker formControlName="field"></geo-file-picker>
47
+ ```
48
+
49
+ Also import `FormsModule` (template-driven) or `ReactiveFormsModule`.
50
+
51
+ Library API uses Angular 18 `input()` / `output()` signals under the hood.
52
+
27
53
  ## Inputs
28
- | Input | Notes |
29
- |-------|-------|
30
- | `label` | See component TS / Storybook Controls |
31
- | `placeholder` | See component TS / Storybook Controls |
32
- | `buttonText` | See component TS / Storybook Controls |
33
- | `required` | See component TS / Storybook Controls |
34
- | `disabled` | See component TS / Storybook Controls |
35
- | `accept` | See component TS / Storybook Controls |
36
- | `multiple` | See component TS / Storybook Controls |
37
- | `error` | See component TS / Storybook Controls |
38
- | `errorMessage` | See component TS / Storybook Controls |
39
- | `block` | See component TS / Storybook Controls |
40
- | `width` | See component TS / Storybook Controls |
41
- | `selectedName` | See component TS / Storybook Controls |
54
+
55
+ Every supported Input (do not invent others):
56
+
57
+ | Input | Type | Default | Description |
58
+ |-------|------|---------|-------------|
59
+ | `label` | `string` | `'Tải file'` | |
60
+ | `placeholder` | `string` | `'Chọn giá trị'` | |
61
+ | `buttonText` | `string` | `'Chọn file'` | |
62
+ | `required` | `boolean` | `false` | |
63
+ | `disabled` | `boolean` | `false` | |
64
+ | `accept` | `string` | `''` | |
65
+ | `multiple` | `boolean` | `false` | |
66
+ | `error` | `boolean` | `false` | |
67
+ | `errorMessage` | `string` | `''` | |
68
+ | `block` | `boolean` | `false` | — |
69
+ | `width` | `number \| string \| undefined` | `undefined` | — |
70
+ | `selectedName` | `string` | `''` | Tên file đã upload (server) — hiện khi chưa có File local trong CVA. Dùng cho flow: chọn file → upload → giữ tên từ API. |
42
71
 
43
72
  ## Outputs
44
- | Output | Notes |
45
- |--------|-------|
46
- | `fileChange` | EventEmitter |
47
73
 
48
- ## Example
74
+ | Output | Payload | Description |
75
+ |--------|---------|-------------|
76
+ | `fileChange` | `OutputEmitterRef<File \| File[] \| null>` | — |
77
+
78
+ ## Related types
79
+
80
+ From `figma/geo-file-picker/geo-file-picker.types.ts`:
81
+
82
+ ```ts
83
+ export interface GeoFilePickerValue {
84
+ file: File;
85
+ name: string;
86
+ }
87
+ ```
88
+
89
+ ## Examples
90
+
91
+ ### Basic
92
+
49
93
  ```html
50
94
  <geo-file-picker label="Đính kèm" accept=".pdf,.png" (fileChange)="onFile($event)" [block]="true"></geo-file-picker>
51
95
  ```
52
96
 
97
+ ### Full options
98
+
99
+ ```html
100
+ <geo-file-picker
101
+ label="Tải file"
102
+ placeholder="Chọn giá trị"
103
+ buttonText="Chọn file"
104
+ accept=".pdf,.doc,.docx"
105
+ [multiple]="false"
106
+ [required]="true"
107
+ [block]="true"
108
+ [error]="fileError"
109
+ errorMessage="Vui lòng chọn file"
110
+ [(ngModel)]="file"
111
+ (fileChange)="onFile($event)"
112
+ ></geo-file-picker>
113
+ ```
114
+
115
+ ## Tips
116
+
117
+ - Upload kéo-thả nhiều file + progress → geo-upload.
118
+ - selectedName hiển thị tên đã chọn khi không bind CVA file object.
119
+ - [block]="true" trong modal form.
120
+ ## Related components
121
+
122
+ - [`geo-upload`](./geo-upload.md)
123
+ - [`geo-form-modal`](./geo-form-modal.md)
124
+ - [`geo-input`](./geo-input.md)
125
+ ## Package path
126
+ `node_modules/@geoit/ui/ai/components/geo-file-picker.md`
127
+
53
128
  ## Source
54
129
  `projects/geo-ui/src/lib/figma/geo-file-picker/geo-file-picker.component.ts`
55
130
 
56
- ## Storybook
57
- GEO / related story for `geo-file-picker`
58
-
59
- ## Rules for AI
60
- - Prefer this component over raw ng-zorro / HTML equivalents for the same UI role.
131
+ ## Rules for AI / consumers
132
+ - Prefer this component over raw ng-zorro / HTML for the same UI role.
61
133
  - Use design tokens (`var(--geo-*)`) — never hardcode brand colors or radius.
62
- - Match props to Storybook Controls / this doc; do not invent unsupported inputs.
134
+ - Match props exactly to the Inputs table; do not invent unsupported inputs.
135
+ - Copy examples and adapt labels/bindings only.
@@ -0,0 +1,78 @@
1
+ # geo-forgot-password
2
+
3
+ > Complete usage reference for **GeoForgotPasswordComponent** (`@geoit/ui`)
4
+ >
5
+ > Read this file before using the component. Use **only** the Inputs/Outputs listed here.
6
+
7
+ ## Summary
8
+ GeoForgotPasswordComponent
9
+
10
+ ## Import
11
+
12
+ ```ts
13
+ import { GeoForgotPasswordComponent } from '@geoit/ui';
14
+ ```
15
+
16
+ Add to the consuming standalone component:
17
+
18
+ ```ts
19
+ imports: [GeoForgotPasswordComponent]
20
+ ```
21
+
22
+ ## Selector
23
+ `geo-forgot-password`
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` | `'Quên mật khẩu'` | — |
46
+ | `subtitle` | `string` | `'Nhập email đã đăng ký để nhận mật khẩu mới.'` | — |
47
+ | `loading` | `boolean` | `false` | — |
48
+ | `errorMessage` | `string` | `''` | — |
49
+ | `successMessage` | `string` | `''` | — |
50
+ | `email` | `string` | `''` | Two-way `model()` (supports banana binding). |
51
+
52
+ ## Outputs
53
+
54
+ | Output | Payload | Description |
55
+ |--------|---------|-------------|
56
+ | `submitEmail` | `OutputEmitterRef<string>` | — |
57
+ | `backToLogin` | `OutputEmitterRef<void>` | — |
58
+
59
+
60
+ ## Examples
61
+
62
+ ### Example
63
+
64
+ ```html
65
+ <geo-forgot-password></geo-forgot-password>
66
+ ```
67
+
68
+ ## Package path
69
+ `node_modules/@geoit/ui/ai/components/geo-forgot-password.md`
70
+
71
+ ## Source
72
+ `projects/geo-ui/src/lib/figma/geo-forgot-password/geo-forgot-password.component.ts`
73
+
74
+ ## Rules for AI / consumers
75
+ - Prefer this component over raw ng-zorro / HTML for the same UI role.
76
+ - Use design tokens (`var(--geo-*)`) — never hardcode brand colors or radius.
77
+ - Match props exactly to the Inputs table; do not invent unsupported inputs.
78
+ - Copy examples and adapt labels/bindings only.