@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-radio
2
2
 
3
- > AI quick reference for **GeoRadioComponent**
3
+ > Complete usage reference for **GeoRadioComponent** (`@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
  Radio group (horizontal/vertical or button style).
7
9
 
8
10
  ## Import
11
+
9
12
  ```ts
10
13
  import { GeoRadioComponent } from '@geoit/ui';
14
+ import { FormsModule } from '@angular/forms'; // when using [(ngModel)]
11
15
  ```
12
16
 
13
- Standalone component — add to `imports: [GeoRadioComponent]` of the consuming standalone component/module.
17
+ Add to the consuming standalone component:
18
+
19
+ ```ts
20
+ imports: [GeoRadioComponent, FormsModule]
21
+ ```
14
22
 
15
23
  ## Selector
16
24
  `geo-radio`
@@ -24,44 +32,119 @@ Exclusive choice among few options.
24
32
  ## Do not use when
25
33
  Many options — use geo-select.
26
34
 
35
+ ## How to use
36
+
37
+ Nhóm radio độc quyền (CVA). [options] {label,value}[]; layout horizontal|vertical; buttonStyle cho dạng nút.
38
+
39
+ ## Binding
40
+
41
+ Supports **ControlValueAccessor**.
42
+
43
+ ```html
44
+ <geo-radio [(ngModel)]="value"></geo-radio>
45
+ <!-- or -->
46
+ <geo-radio formControlName="field"></geo-radio>
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
- | `options` | See component TS / Storybook Controls |
31
- | `label` | See component TS / Storybook Controls |
32
- | `size` | See component TS / Storybook Controls |
33
- | `layout` | See component TS / Storybook Controls |
34
- | `buttonStyle` | See component TS / Storybook Controls |
35
- | `buttonAppearance` | See component TS / Storybook Controls |
36
- | `disabled` | See component TS / Storybook Controls |
37
- | `required` | See component TS / Storybook Controls |
38
- | `error` | See component TS / Storybook Controls |
39
- | `errorMessage` | See component TS / Storybook Controls |
40
- | `block` | See component TS / Storybook Controls |
54
+
55
+ Every supported Input (do not invent others):
56
+
57
+ | Input | Type | Default | Description |
58
+ |-------|------|---------|-------------|
59
+ | `options` | `GeoRadioOption[]` | `[]` | |
60
+ | `label` | `string` | `''` | |
61
+ | `size` | `'default' \| 'small' \| 'large'` | `'default'` | — |
62
+ | `layout` | `'horizontal' \| 'vertical'` | `'horizontal'` | |
63
+ | `buttonStyle` | `boolean` | `false` | `true` dùng `nz-radio-button` thay vì `nz-radio` |
64
+ | `buttonAppearance` | `'outline' \| 'solid'` | `'outline'` | Chỉ áp dụng khi `buttonStyle: true` |
65
+ | `disabled` | `boolean` | `false` | |
66
+ | `required` | `boolean` | `false` | |
67
+ | `error` | `boolean` | `false` | — |
68
+ | `errorMessage` | `string` | `''` | — |
69
+ | `block` | `boolean` | `false` | — |
41
70
 
42
71
  ## Outputs
43
- | Output | Notes |
44
- |--------|-------|
45
- | `valueChange` | EventEmitter |
46
72
 
47
- ## Example
73
+ | Output | Payload | Description |
74
+ |--------|---------|-------------|
75
+ | `valueChange` | `OutputEmitterRef<string \| number \| null>` | — |
76
+
77
+ ## Related types
78
+
79
+ From `figma/geo-radio/geo-radio.types.ts`:
80
+
81
+ ```ts
82
+ export interface GeoRadioOption {
83
+ label: string;
84
+ value: string | number;
85
+ disabled?: boolean;
86
+ }
87
+
88
+ export type GeoRadioSize = 'default' | 'small' | 'large';
89
+
90
+ export type GeoRadioLayout = 'horizontal' | 'vertical';
91
+
92
+ export type GeoRadioButtonAppearance = 'outline' | 'solid';
93
+ ```
94
+
95
+ ## Examples
96
+
97
+ ### Basic
98
+
48
99
  ```html
49
100
  <geo-radio
50
101
  label="Loại yêu cầu"
51
102
  layout="vertical"
52
- [options]="[{ label: 'A', value: 'a' }, { label: 'B', value: 'b' }]"
53
- [(ngModel)]="type"
103
+ [options]="[{ label: 'Cấp mới', value: 'new' }, { label: 'Gia hạn', value: 'renew' }]"
104
+ [(ngModel)]="requestType"
105
+ [block]="true"
106
+ ></geo-radio>
107
+ ```
108
+
109
+ ### Full options
110
+
111
+ ```html
112
+ <geo-radio
113
+ label="Trạng thái"
114
+ [options]="[
115
+ { label: 'Hoạt động', value: 1 },
116
+ { label: 'Ngưng', value: 0 }
117
+ ]"
118
+ size="default"
119
+ layout="horizontal"
120
+ [buttonStyle]="true"
121
+ buttonAppearance="outline"
122
+ [required]="true"
54
123
  [block]="true"
124
+ [error]="statusError"
125
+ errorMessage="Vui lòng chọn trạng thái"
126
+ [(ngModel)]="status"
127
+ (valueChange)="onStatus($event)"
55
128
  ></geo-radio>
56
129
  ```
57
130
 
131
+ ## Tips
132
+
133
+ - Nhiều option → geo-select.
134
+ - buttonAppearance outline|solid khi buttonStyle=true.
135
+ - [block] + label cho form field.
136
+ ## Related components
137
+
138
+ - [`geo-checkbox`](./geo-checkbox.md)
139
+ - [`geo-select`](./geo-select.md)
140
+ ## Package path
141
+ `node_modules/@geoit/ui/ai/components/geo-radio.md`
142
+
58
143
  ## Source
59
144
  `projects/geo-ui/src/lib/figma/geo-radio/geo-radio.component.ts`
60
145
 
61
- ## Storybook
62
- GEO / related story for `geo-radio`
63
-
64
- ## Rules for AI
65
- - Prefer this component over raw ng-zorro / HTML equivalents for the same UI role.
146
+ ## Rules for AI / consumers
147
+ - Prefer this component over raw ng-zorro / HTML for the same UI role.
66
148
  - Use design tokens (`var(--geo-*)`) — never hardcode brand colors or radius.
67
- - Match props to Storybook Controls / this doc; do not invent unsupported inputs.
149
+ - Match props exactly to the Inputs table; do not invent unsupported inputs.
150
+ - Copy examples and adapt labels/bindings only.
@@ -1,16 +1,23 @@
1
1
  # geo-row-actions
2
2
 
3
- > AI quick reference for **GeoRowActionsComponent**
3
+ > Complete usage reference for **GeoRowActionsComponent** (`@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
  Row action icons/menu (edit, more, custom).
7
9
 
8
10
  ## Import
11
+
9
12
  ```ts
10
13
  import { GeoRowActionsComponent } from '@geoit/ui';
11
14
  ```
12
15
 
13
- Standalone component — add to `imports: [GeoRowActionsComponent]` of the consuming standalone component/module.
16
+ Add to the consuming standalone component:
17
+
18
+ ```ts
19
+ imports: [GeoRowActionsComponent]
20
+ ```
14
21
 
15
22
  ## Selector
16
23
  `geo-row-actions`
@@ -24,31 +31,92 @@ Actions column inside geo-table.
24
31
  ## Do not use when
25
32
  Page-level CTAs — use geo-button.
26
33
 
34
+ ## How to use
35
+
36
+ Cụm thao tác dòng bảng. [actions] GeoRowAction[]; (actionClick) theo key. Thường qua cột renderAs: 'actions' của geo-table.
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
- | `actions` | See component TS / Storybook Controls |
31
- | `primaryActionKey` | See component TS / Storybook Controls |
43
+
44
+ Every supported Input (do not invent others):
45
+
46
+ | Input | Type | Default | Description |
47
+ |-------|------|---------|-------------|
48
+ | `actions` | `GeoRowAction[] \| null` | `null` | — |
49
+ | `primaryActionKey` | `string` | `'edit'` | Action ưu tiên hiển thị khi có > 2 thao tác (mặc định: edit) |
32
50
 
33
51
  ## Outputs
34
- | Output | Notes |
35
- |--------|-------|
36
- | `actionClick` | EventEmitter |
37
- | `edit` | EventEmitter |
38
- | `more` | EventEmitter |
39
52
 
40
- ## Example
53
+ | Output | Payload | Description |
54
+ |--------|---------|-------------|
55
+ | `edit` | `OutputEmitterRef<void>` | Action ưu tiên hiển thị khi có > 2 thao tác (mặc định: edit) */ readonly primaryActionKey = input('edit'); readonly actionClick = output<string>(); /** @deprecated Dùng `actionClick` với key `edit` |
56
+ | `more` | `OutputEmitterRef<void>` | @deprecated Dùng `actionClick` với key `more` |
57
+
58
+ ## Related types
59
+
60
+ From `figma/geo-table/geo-row-actions/geo-row-actions.types.ts`:
61
+
62
+ ```ts
63
+ export interface GeoRowAction {
64
+ key: string;
65
+ icon: string;
66
+ label?: string;
67
+ title?: string;
68
+ iconTheme?: 'outline' | 'fill' | 'twotone';
69
+ disabled?: boolean;
70
+ danger?: boolean;
71
+ }
72
+ ```
73
+
74
+ ## Examples
75
+
76
+ ### Basic
77
+
41
78
  ```html
42
- <geo-row-actions [actions]="actions" (actionClick)="onAction($event)"></geo-row-actions>
79
+ <geo-row-actions
80
+ [actions]="[
81
+ { key: 'edit', icon: 'edit', title: 'Chỉnh sửa' },
82
+ { key: 'more', icon: 'more', title: 'Thêm thao tác' }
83
+ ]"
84
+ (actionClick)="onAction($event)"
85
+ ></geo-row-actions>
43
86
  ```
44
87
 
88
+ ### Full options
89
+
90
+ ```html
91
+ <geo-row-actions
92
+ primaryActionKey="edit"
93
+ [actions]="[
94
+ { key: 'edit', icon: 'edit', title: 'Chỉnh sửa' },
95
+ { key: 'view', icon: 'eye', title: 'Xem' },
96
+ { key: 'delete', icon: 'delete', title: 'Xóa', danger: true }
97
+ ]"
98
+ (actionClick)="onRowAction($event)"
99
+ ></geo-row-actions>
100
+ ```
101
+
102
+ ## Tips
103
+
104
+ - ≤2 actions hiện hết; >2: primary + danger, còn lại menu.
105
+ - primaryActionKey mặc định 'edit'.
106
+ - CTA trang → geo-button, không row-actions.
107
+ ## Related components
108
+
109
+ - [`geo-table`](./geo-table.md)
110
+ - [`geo-button`](./geo-button.md)
111
+ - [`geo-icon`](./geo-icon.md)
112
+ ## Package path
113
+ `node_modules/@geoit/ui/ai/components/geo-row-actions.md`
114
+
45
115
  ## Source
46
116
  `projects/geo-ui/src/lib/figma/geo-table/geo-row-actions/geo-row-actions.component.ts`
47
117
 
48
- ## Storybook
49
- GEO / related story for `geo-row-actions`
50
-
51
- ## Rules for AI
52
- - Prefer this component over raw ng-zorro / HTML equivalents for the same UI role.
118
+ ## Rules for AI / consumers
119
+ - Prefer this component over raw ng-zorro / HTML for the same UI role.
53
120
  - Use design tokens (`var(--geo-*)`) — never hardcode brand colors or radius.
54
- - Match props to Storybook Controls / this doc; do not invent unsupported inputs.
121
+ - Match props exactly to the Inputs table; do not invent unsupported inputs.
122
+ - Copy examples and adapt labels/bindings only.
@@ -1,16 +1,24 @@
1
1
  # geo-select
2
2
 
3
- > AI quick reference for **GeoSelectComponent**
3
+ > Complete usage reference for **GeoSelectComponent** (`@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
  Select / multi-select dropdown.
7
9
 
8
10
  ## Import
11
+
9
12
  ```ts
10
13
  import { GeoSelectComponent } from '@geoit/ui';
14
+ import { FormsModule } from '@angular/forms'; // when using [(ngModel)]
11
15
  ```
12
16
 
13
- Standalone component — add to `imports: [GeoSelectComponent]` of the consuming standalone component/module.
17
+ Add to the consuming standalone component:
18
+
19
+ ```ts
20
+ imports: [GeoSelectComponent, FormsModule]
21
+ ```
14
22
 
15
23
  ## Selector
16
24
  `geo-select`
@@ -24,45 +32,117 @@ Choosing from a list of options.
24
32
  ## Do not use when
25
33
  2–3 exclusive options may use geo-radio instead.
26
34
 
35
+ ## How to use
36
+
37
+ Select danh sách (CVA). [options] {label,value}[]; mode default|multiple|tags; showSearch khi danh sách dài.
38
+
39
+ ## Binding
40
+
41
+ Supports **ControlValueAccessor**.
42
+
43
+ ```html
44
+ <geo-select [(ngModel)]="value"></geo-select>
45
+ <!-- or -->
46
+ <geo-select formControlName="field"></geo-select>
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
- | `options` | See component TS / Storybook Controls |
31
- | `label` | See component TS / Storybook Controls |
32
- | `placeholder` | See component TS / Storybook Controls |
33
- | `size` | See component TS / Storybook Controls |
34
- | `mode` | See component TS / Storybook Controls |
35
- | `disabled` | See component TS / Storybook Controls |
36
- | `required` | See component TS / Storybook Controls |
37
- | `error` | See component TS / Storybook Controls |
38
- | `errorMessage` | See component TS / Storybook Controls |
39
- | `allowClear` | See component TS / Storybook Controls |
40
- | `showSearch` | See component TS / Storybook Controls |
41
- | `block` | See component TS / Storybook Controls |
42
- | `width` | See component TS / Storybook Controls |
54
+
55
+ Every supported Input (do not invent others):
56
+
57
+ | Input | Type | Default | Description |
58
+ |-------|------|---------|-------------|
59
+ | `options` | `GeoSelectOption[]` | `[]` | |
60
+ | `label` | `string` | `''` | |
61
+ | `placeholder` | `string` | `'Chọn giá trị'` | |
62
+ | `size` | `'default' \| 'small'` | `'default'` | |
63
+ | `mode` | `'default' \| 'multiple' \| 'tags'` | `'default'` | — |
64
+ | `disabled` | `boolean` | `false` | |
65
+ | `required` | `boolean` | `false` | |
66
+ | `error` | `boolean` | `false` | |
67
+ | `errorMessage` | `string` | `''` | |
68
+ | `allowClear` | `boolean` | `true` | |
69
+ | `showSearch` | `boolean` | `false` | — |
70
+ | `block` | `boolean` | `false` | — |
71
+ | `width` | `number \| string \| undefined` | `undefined` | — |
43
72
 
44
73
  ## Outputs
45
- | Output | Notes |
46
- |--------|-------|
47
- | `valueChange` | EventEmitter |
48
74
 
49
- ## Example
75
+ | Output | Payload | Description |
76
+ |--------|---------|-------------|
77
+ | `valueChange` | `OutputEmitterRef<string \| number \| Array<string \| number> \| null>` | — |
78
+
79
+ ## Related types
80
+
81
+ From `figma/geo-select/geo-select.types.ts`:
82
+
83
+ ```ts
84
+ export interface GeoSelectOption<T = string | number> {
85
+ label: string;
86
+ value: T;
87
+ disabled?: boolean;
88
+ }
89
+
90
+ export type GeoSelectSize = 'default' | 'small';
91
+
92
+ export type GeoSelectMode = 'default' | 'multiple' | 'tags';
93
+ ```
94
+
95
+ ## Examples
96
+
97
+ ### Basic
98
+
50
99
  ```html
51
100
  <geo-select
52
101
  label="Trạng thái"
53
- [options]="[{ label: 'Active', value: 1 }, { label: 'Inactive', value: 0 }]"
102
+ [options]="[{ label: 'Hoạt động', value: 1 }, { label: 'Ngưng', value: 0 }]"
54
103
  [(ngModel)]="status"
55
104
  [block]="true"
56
105
  ></geo-select>
57
106
  ```
58
107
 
108
+ ### Full options
109
+
110
+ ```html
111
+ <geo-select
112
+ label="Đơn vị"
113
+ placeholder="Chọn giá trị"
114
+ mode="default"
115
+ size="default"
116
+ [options]="unitOptions"
117
+ [showSearch]="true"
118
+ [allowClear]="true"
119
+ [required]="true"
120
+ [block]="true"
121
+ [error]="unitError"
122
+ errorMessage="Vui lòng chọn đơn vị"
123
+ [(ngModel)]="unitId"
124
+ (valueChange)="onUnit($event)"
125
+ ></geo-select>
126
+ ```
127
+
128
+ ## Tips
129
+
130
+ - 2–3 lựa chọn độc quyền có thể dùng geo-radio.
131
+ - allowClear mặc định true.
132
+ - [block]="true" trong form.
133
+ ## Related components
134
+
135
+ - [`geo-radio`](./geo-radio.md)
136
+ - [`geo-input`](./geo-input.md)
137
+ - [`geo-form-modal`](./geo-form-modal.md)
138
+ ## Package path
139
+ `node_modules/@geoit/ui/ai/components/geo-select.md`
140
+
59
141
  ## Source
60
142
  `projects/geo-ui/src/lib/figma/geo-select/geo-select.component.ts`
61
143
 
62
- ## Storybook
63
- GEO / related story for `geo-select`
64
-
65
- ## Rules for AI
66
- - Prefer this component over raw ng-zorro / HTML equivalents for the same UI role.
144
+ ## Rules for AI / consumers
145
+ - Prefer this component over raw ng-zorro / HTML for the same UI role.
67
146
  - Use design tokens (`var(--geo-*)`) — never hardcode brand colors or radius.
68
- - Match props to Storybook Controls / this doc; do not invent unsupported inputs.
147
+ - Match props exactly to the Inputs table; do not invent unsupported inputs.
148
+ - Copy examples and adapt labels/bindings only.
@@ -1,16 +1,23 @@
1
1
  # geo-slider
2
2
 
3
- > AI quick reference for **GeoSliderComponent**
3
+ > Complete usage reference for **GeoSliderComponent** (`@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
  Numeric range slider.
7
9
 
8
10
  ## Import
11
+
9
12
  ```ts
10
13
  import { GeoSliderComponent } from '@geoit/ui';
11
14
  ```
12
15
 
13
- Standalone component — add to `imports: [GeoSliderComponent]` of the consuming standalone component/module.
16
+ Add to the consuming standalone component:
17
+
18
+ ```ts
19
+ imports: [GeoSliderComponent]
20
+ ```
14
21
 
15
22
  ## Selector
16
23
  `geo-slider`
@@ -24,33 +31,75 @@ Continuous numeric value in a range.
24
31
  ## Do not use when
25
32
  Discrete small sets — use select/radio.
26
33
 
34
+ ## How to use
35
+
36
+ Thanh trượt số liên tục. Two-way [(value)] / (valueChange); min/max/step; tipFormatter tùy chỉnh tooltip.
37
+
38
+ ## Binding
39
+
40
+ **`model()` two-way** on `value`:
41
+
42
+ ```html
43
+ <geo-slider [(value)]="n"></geo-slider>
44
+ ```
45
+
27
46
  ## Inputs
28
- | Input | Notes |
29
- |-------|-------|
30
- | `value` | See component TS / Storybook Controls |
31
- | `min` | See component TS / Storybook Controls |
32
- | `max` | See component TS / Storybook Controls |
33
- | `step` | See component TS / Storybook Controls |
34
- | `disabled` | See component TS / Storybook Controls |
35
- | `tipFormatter` | See component TS / Storybook Controls |
47
+
48
+ Every supported Input (do not invent others):
49
+
50
+ | Input | Type | Default | Description |
51
+ |-------|------|---------|-------------|
52
+ | `value` | `number` | `0` | Two-way `model()` (supports banana binding). |
53
+ | `min` | `number` | `0` | |
54
+ | `max` | `number` | `100` | |
55
+ | `step` | `number` | `1` | — |
56
+ | `disabled` | `boolean` | `false` | — |
57
+ | `tipFormatter` | `((value: number) => string) \| undefined` | `undefined` | — |
36
58
 
37
59
  ## Outputs
38
- | Output | Notes |
39
- |--------|-------|
40
- | `valueChange` | EventEmitter |
41
60
 
42
- ## Example
61
+ _None_
62
+
63
+
64
+ ## Examples
65
+
66
+ ### Basic
67
+
68
+ ```html
69
+ <geo-slider [(value)]="percent" [min]="0" [max]="100"></geo-slider>
70
+ ```
71
+
72
+ ### Full options
73
+
43
74
  ```html
44
- <geo-slider [min]="0" [max]="100" [(ngModel)]="percent"></geo-slider>
75
+ <geo-slider
76
+ [(value)]="zoom"
77
+ [min]="0"
78
+ [max]="100"
79
+ [step]="5"
80
+ [disabled]="false"
81
+ [tipFormatter]="formatZoom"
82
+ (valueChange)="onZoom($event)"
83
+ ></geo-slider>
45
84
  ```
46
85
 
86
+ ## Tips
87
+
88
+ - Tập rời rạc nhỏ → select/radio.
89
+ - Không phải CVA — dùng [(value)].
90
+ - tipFormatter nhận number → string hiển thị.
91
+ ## Related components
92
+
93
+ - [`geo-input`](./geo-input.md)
94
+ - [`geo-select`](./geo-select.md)
95
+ ## Package path
96
+ `node_modules/@geoit/ui/ai/components/geo-slider.md`
97
+
47
98
  ## Source
48
99
  `projects/geo-ui/src/lib/figma/geo-slider/geo-slider.component.ts`
49
100
 
50
- ## Storybook
51
- GEO / related story for `geo-slider`
52
-
53
- ## Rules for AI
54
- - Prefer this component over raw ng-zorro / HTML equivalents for the same UI role.
101
+ ## Rules for AI / consumers
102
+ - Prefer this component over raw ng-zorro / HTML for the same UI role.
55
103
  - Use design tokens (`var(--geo-*)`) — never hardcode brand colors or radius.
56
- - Match props to Storybook Controls / this doc; do not invent unsupported inputs.
104
+ - Match props exactly to the Inputs table; do not invent unsupported inputs.
105
+ - Copy examples and adapt labels/bindings only.