@geoit/ui 0.0.4 → 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 +49 -62
  3. package/ai/AGENTS.md +38 -28
  4. package/ai/README.md +35 -1
  5. package/ai/catalog.json +2796 -288
  6. package/ai/components/geo-alert.md +3 -3
  7. package/ai/components/geo-back-button.md +2 -2
  8. package/ai/components/geo-breadcrumb.md +1 -1
  9. package/ai/components/geo-button.md +3 -3
  10. package/ai/components/geo-chart.md +103 -0
  11. package/ai/components/geo-checkbox.md +4 -6
  12. package/ai/components/geo-column-picker.md +3 -3
  13. package/ai/components/geo-confirm-modal.md +4 -5
  14. package/ai/components/geo-dashboard.md +91 -0
  15. package/ai/components/geo-date-picker.md +5 -3
  16. package/ai/components/geo-date-range-picker.md +5 -3
  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 +4 -2
  20. package/ai/components/geo-forgot-password.md +78 -0
  21. package/ai/components/geo-form-modal.md +9 -10
  22. package/ai/components/geo-icon.md +3 -3
  23. package/ai/components/geo-input.md +8 -6
  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 +1 -1
  53. package/ai/components/geo-pagination.md +4 -7
  54. package/ai/components/geo-radio.md +3 -1
  55. package/ai/components/geo-row-actions.md +3 -3
  56. package/ai/components/geo-select.md +4 -2
  57. package/ai/components/geo-slider.md +5 -7
  58. package/ai/components/geo-stat-card.md +98 -0
  59. package/ai/components/geo-status-tag.md +2 -2
  60. package/ai/components/geo-step-form-layout.md +7 -8
  61. package/ai/components/geo-stepper.md +3 -4
  62. package/ai/components/geo-table-filter.md +4 -5
  63. package/ai/components/geo-table-pagination.md +4 -7
  64. package/ai/components/geo-table-toolbar.md +7 -7
  65. package/ai/components/geo-table.md +17 -20
  66. package/ai/components/geo-tabs.md +4 -6
  67. package/ai/components/geo-textarea.md +4 -2
  68. package/ai/components/geo-toast.md +4 -4
  69. package/ai/components/geo-tree.md +4 -6
  70. package/ai/components/geo-typography.md +1 -1
  71. package/ai/components/geo-upload.md +9 -10
  72. package/ai/mockup.html +1194 -0
  73. package/ai/recipes.md +98 -85
  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
@@ -37,7 +37,7 @@ Hiển thị banner trạng thái cố định trong layout (form/page). Dùng t
37
37
 
38
38
  ## Binding
39
39
 
40
- Standalone presentational / container component — drive via Inputs and Outputs (no `ngModel` unless documented).
40
+ Standalone component — drive via Inputs (`input()` / `model()`) and Outputs (`output()`). Banana bindings work for any `model()` fields (e.g. `[(open)]`, `[(pageIndex)]`).
41
41
 
42
42
  ## Inputs
43
43
 
@@ -49,14 +49,14 @@ Every supported Input (do not invent others):
49
49
  | `title` | `string` | `''` | — |
50
50
  | `message` | `string` | `''` | — |
51
51
  | `closable` | `boolean` | `true` | — |
52
- | `visible` | `boolean` | `true` | |
52
+ | `visible` | `boolean` | `true` | Two-way `model()` (supports banana binding). |
53
53
  | `showIcon` | `boolean` | `true` | — |
54
54
 
55
55
  ## Outputs
56
56
 
57
57
  | Output | Payload | Description |
58
58
  |--------|---------|-------------|
59
- | `closed` | `EventEmitter<void>` | — |
59
+ | `closed` | `OutputEmitterRef<void>` | — |
60
60
 
61
61
  ## Related types
62
62
 
@@ -37,7 +37,7 @@ Nút quay lại trên trang chi tiết/sửa. Mặc định historyBack=true; ho
37
37
 
38
38
  ## Binding
39
39
 
40
- Standalone presentational / container component — drive via Inputs and Outputs (no `ngModel` unless documented).
40
+ Standalone component — drive via Inputs (`input()` / `model()`) and Outputs (`output()`). Banana bindings work for any `model()` fields (e.g. `[(open)]`, `[(pageIndex)]`).
41
41
 
42
42
  ## Inputs
43
43
 
@@ -54,7 +54,7 @@ Every supported Input (do not invent others):
54
54
 
55
55
  | Output | Payload | Description |
56
56
  |--------|---------|-------------|
57
- | `clicked` | `EventEmitter<MouseEvent>` | — |
57
+ | `clicked` | `OutputEmitterRef<MouseEvent>` | — |
58
58
 
59
59
 
60
60
  ## Examples
@@ -37,7 +37,7 @@ Primary navigation / sidebar menus.
37
37
 
38
38
  ## Binding
39
39
 
40
- Standalone presentational / container component — drive via Inputs and Outputs (no `ngModel` unless documented).
40
+ Standalone component — drive via Inputs (`input()` / `model()`) and Outputs (`output()`). Banana bindings work for any `model()` fields (e.g. `[(open)]`, `[(pageIndex)]`).
41
41
 
42
42
  ## Inputs
43
43
 
@@ -37,7 +37,7 @@ CTA chính của GEO UI. appearance primary|secondary|tertiary; color brand|dang
37
37
 
38
38
  ## Binding
39
39
 
40
- Standalone presentational / container component — drive via Inputs and Outputs (no `ngModel` unless documented).
40
+ Standalone component — drive via Inputs (`input()` / `model()`) and Outputs (`output()`). Banana bindings work for any `model()` fields (e.g. `[(open)]`, `[(pageIndex)]`).
41
41
 
42
42
  ## Inputs
43
43
 
@@ -47,7 +47,7 @@ Every supported Input (do not invent others):
47
47
  |-------|------|---------|-------------|
48
48
  | `appearance` | `'primary' \| 'secondary' \| 'tertiary'` | `'primary'` | — |
49
49
  | `color` | `'brand' \| 'danger' \| 'warning' \| 'success'` | `'brand'` | — |
50
- | `icon` | `string` | | — |
50
+ | `icon` | `string \| undefined` | `undefined` | — |
51
51
  | `iconTheme` | `'outline' \| 'fill' \| 'twotone'` | `'outline'` | — |
52
52
  | `iconPlacement` | `'start' \| 'end'` | `'start'` | Vị trí icon: `start` (trái) hoặc `end` (phải). |
53
53
  | `iconOnly` | `boolean` | `false` | — |
@@ -62,7 +62,7 @@ Every supported Input (do not invent others):
62
62
 
63
63
  | Output | Payload | Description |
64
64
  |--------|---------|-------------|
65
- | `clicked` | `EventEmitter<MouseEvent>` | — |
65
+ | `clicked` | `OutputEmitterRef<MouseEvent>` | — |
66
66
 
67
67
  ## Related types
68
68
 
@@ -0,0 +1,103 @@
1
+ # geo-chart
2
+
3
+ > Complete usage reference for **GeoChartComponent** (`@geoit/ui`)
4
+ >
5
+ > Read this file before using the component. Use **only** the Inputs/Outputs listed here.
6
+
7
+ ## Summary
8
+ GeoChartComponent
9
+
10
+ ## Import
11
+
12
+ ```ts
13
+ import { GeoChartComponent } from '@geoit/ui';
14
+ ```
15
+
16
+ Add to the consuming standalone component:
17
+
18
+ ```ts
19
+ imports: [GeoChartComponent]
20
+ ```
21
+
22
+ ## Selector
23
+ `geo-chart`
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
+ | `type` | `'bar' \| 'donut'` | `'bar'` | — |
46
+ | `title` | `string` | `''` | — |
47
+ | `data` | `GeoChartDatum[]` | `[]` | — |
48
+ | `height` | `number` | `260` | — |
49
+ | `showLegend` | `boolean` | `true` | — |
50
+ | `showSort` | `boolean` | `false` | — |
51
+ | `sort` | `'none' \| 'asc' \| 'desc'` | `'desc'` | Two-way `model()` (supports banana binding). |
52
+ | `emptyText` | `string` | `'Chưa có dữ liệu thống kê.'` | — |
53
+ | `unit` | `string` | `''` | — |
54
+
55
+ ## Outputs
56
+
57
+ | Output | Payload | Description |
58
+ |--------|---------|-------------|
59
+ | `segmentClick` | `OutputEmitterRef<GeoChartSegmentClick>` | — |
60
+ | `sortChange` | `OutputEmitterRef<'none' \| 'asc' \| 'desc'>` | — |
61
+
62
+ ## Related types
63
+
64
+ From `figma/geo-chart/geo-chart.types.ts`:
65
+
66
+ ```ts
67
+ export interface GeoChartDatum {
68
+ id?: string;
69
+ label: string;
70
+ value: number;
71
+ /** Optional CSS color; prefer design tokens when possible. */
72
+ color?: string;
73
+ }
74
+
75
+ export interface GeoChartSegmentClick {
76
+ datum: GeoChartDatum;
77
+ index: number;
78
+ }
79
+
80
+ export type GeoChartType = 'bar' | 'donut';
81
+
82
+ export type GeoChartSort = 'none' | 'asc' | 'desc';
83
+ ```
84
+
85
+ ## Examples
86
+
87
+ ### Example
88
+
89
+ ```html
90
+ <geo-chart></geo-chart>
91
+ ```
92
+
93
+ ## Package path
94
+ `node_modules/@geoit/ui/ai/components/geo-chart.md`
95
+
96
+ ## Source
97
+ `projects/geo-ui/src/lib/figma/geo-chart/geo-chart.component.ts`
98
+
99
+ ## Rules for AI / consumers
100
+ - Prefer this component over raw ng-zorro / HTML for the same UI role.
101
+ - Use design tokens (`var(--geo-*)`) — never hardcode brand colors or radius.
102
+ - Match props exactly to the Inputs table; do not invent unsupported inputs.
103
+ - Copy examples and adapt labels/bindings only.
@@ -37,10 +37,10 @@ Checkbox có label. Two-way bằng [(checked)] / (checkedChange) — không ph
37
37
 
38
38
  ## Binding
39
39
 
40
- **Not CVA.** Use two-way `checked`:
40
+ **`model()` two-way** on `checked` (Angular 18):
41
41
 
42
42
  ```html
43
- <geo-checkbox [(checked)]="agreed" (checkedChange)="onChange($event)"></geo-checkbox>
43
+ <geo-checkbox [(checked)]="agreed"></geo-checkbox>
44
44
  ```
45
45
 
46
46
  ## Inputs
@@ -50,15 +50,13 @@ Every supported Input (do not invent others):
50
50
  | Input | Type | Default | Description |
51
51
  |-------|------|---------|-------------|
52
52
  | `label` | `string` | `''` | — |
53
- | `checked` | `boolean` | `false` | — |
53
+ | `checked` | `boolean` | `false` | Two-way: `[(checked)]`. Two-way `model()` (supports banana binding). |
54
54
  | `disabled` | `boolean` | `false` | — |
55
55
  | `indeterminate` | `boolean` | `false` | — |
56
56
 
57
57
  ## Outputs
58
58
 
59
- | Output | Payload | Description |
60
- |--------|---------|-------------|
61
- | `checkedChange` | `EventEmitter<boolean>` | — |
59
+ _None_
62
60
 
63
61
 
64
62
  ## Examples
@@ -37,7 +37,7 @@ Popup ẩn/hiện cột bảng. [items] GeoColumnPickerItem[]; (apply) nhận pa
37
37
 
38
38
  ## Binding
39
39
 
40
- Standalone presentational / container component — drive via Inputs and Outputs (no `ngModel` unless documented).
40
+ Standalone component — drive via Inputs (`input()` / `model()`) and Outputs (`output()`). Banana bindings work for any `model()` fields (e.g. `[(open)]`, `[(pageIndex)]`).
41
41
 
42
42
  ## Inputs
43
43
 
@@ -48,13 +48,13 @@ Every supported Input (do not invent others):
48
48
  | `triggerLabel` | `string` | `'Ẩn hiện cột'` | — |
49
49
  | `hint` | `string` | `'Chọn cột hiển thị trên bảng.'` | — |
50
50
  | `items` | `GeoColumnPickerItem[]` | `[]` | — |
51
- | `storageKey` | `string` | | Lưu trạng thái ẩn/hiện cột theo session khi người dùng áp dụng |
51
+ | `storageKey` | `string \| undefined` | `undefined` | Lưu trạng thái ẩn/hiện cột theo session khi người dùng áp dụng |
52
52
 
53
53
  ## Outputs
54
54
 
55
55
  | Output | Payload | Description |
56
56
  |--------|---------|-------------|
57
- | `apply` | `EventEmitter<GeoColumnPickerApplyPayload>` | — |
57
+ | `apply` | `OutputEmitterRef<GeoColumnPickerApplyPayload>` | — |
58
58
 
59
59
  ## Related types
60
60
 
@@ -37,7 +37,7 @@ Dialog xác nhận hành động phá hủy (xóa). Điều khiển bằng [visi
37
37
 
38
38
  ## Binding
39
39
 
40
- Standalone presentational / container component — drive via Inputs and Outputs (no `ngModel` unless documented).
40
+ Standalone component — drive via Inputs (`input()` / `model()`) and Outputs (`output()`). Banana bindings work for any `model()` fields (e.g. `[(open)]`, `[(pageIndex)]`).
41
41
 
42
42
  ## Inputs
43
43
 
@@ -45,7 +45,7 @@ Every supported Input (do not invent others):
45
45
 
46
46
  | Input | Type | Default | Description |
47
47
  |-------|------|---------|-------------|
48
- | `visible` | `boolean` | `false` | |
48
+ | `visible` | `boolean` | `false` | Two-way `model()` (supports banana binding). |
49
49
  | `title` | `string` | `'Xác nhận xoá'` | — |
50
50
  | `message` | `string` | `''` | — |
51
51
  | `highlight` | `string` | `''` | — |
@@ -61,9 +61,8 @@ Every supported Input (do not invent others):
61
61
 
62
62
  | Output | Payload | Description |
63
63
  |--------|---------|-------------|
64
- | `visibleChange` | `EventEmitter<boolean>` | — |
65
- | `confirm` | `EventEmitter<void>` | — |
66
- | `cancel` | `EventEmitter<void>` | — |
64
+ | `confirm` | `OutputEmitterRef<void>` | — |
65
+ | `cancel` | `OutputEmitterRef<void>` | — |
67
66
 
68
67
  ## Related types
69
68
 
@@ -0,0 +1,91 @@
1
+ # geo-dashboard
2
+
3
+ > Complete usage reference for **GeoDashboardComponent** (`@geoit/ui`)
4
+ >
5
+ > Read this file before using the component. Use **only** the Inputs/Outputs listed here.
6
+
7
+ ## Summary
8
+ GeoDashboardComponent
9
+
10
+ ## Import
11
+
12
+ ```ts
13
+ import { GeoDashboardComponent } from '@geoit/ui';
14
+ ```
15
+
16
+ Add to the consuming standalone component:
17
+
18
+ ```ts
19
+ imports: [GeoDashboardComponent]
20
+ ```
21
+
22
+ ## Selector
23
+ `geo-dashboard`
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` | `'Dashboard thống kê'` | — |
46
+ | `breadcrumb` | `GeoBreadcrumbItem[]` | `[ { label: 'Trang chủ', link: '/' }, { label: 'Dashboard' }, ]` | — |
47
+ | `stats` | `GeoStatCardItem[]` | `[]` | — |
48
+ | `wardChartTitle` | `string` | `'Diện tích quy hoạch theo phường/xã'` | — |
49
+ | `wardData` | `GeoChartDatum[]` | `[]` | — |
50
+ | `mismatchChartTitle` | `string` | `'Tỷ lệ thửa quy hoạch khác mục đích hiện trạng'` | — |
51
+ | `mismatchData` | `GeoChartDatum[]` | `[]` | — |
52
+ | `wardUnit` | `string` | `'ha'` | — |
53
+ | `period` | `GeoDateRangeValue` | `null` | Two-way `model()` (supports banana binding). |
54
+
55
+ ## Outputs
56
+
57
+ | Output | Payload | Description |
58
+ |--------|---------|-------------|
59
+ | `periodChange` | `OutputEmitterRef<GeoDateRangeValue>` | — |
60
+ | `mismatchSegmentClick` | `OutputEmitterRef<GeoChartSegmentClick>` | — |
61
+ | `wardSegmentClick` | `OutputEmitterRef<GeoChartSegmentClick>` | — |
62
+
63
+ ## Related types
64
+
65
+ From `figma/geo-dashboard/geo-dashboard.types.ts`:
66
+
67
+ ```ts
68
+ export interface GeoDashboardPeriodChange {
69
+ range: GeoDateRangeValue | null;
70
+ }
71
+ ```
72
+
73
+ ## Examples
74
+
75
+ ### Example
76
+
77
+ ```html
78
+ <geo-dashboard></geo-dashboard>
79
+ ```
80
+
81
+ ## Package path
82
+ `node_modules/@geoit/ui/ai/components/geo-dashboard.md`
83
+
84
+ ## Source
85
+ `projects/geo-ui/src/lib/figma/geo-dashboard/geo-dashboard.component.ts`
86
+
87
+ ## Rules for AI / consumers
88
+ - Prefer this component over raw ng-zorro / HTML for the same UI role.
89
+ - Use design tokens (`var(--geo-*)`) — never hardcode brand colors or radius.
90
+ - Match props exactly to the Inputs table; do not invent unsupported inputs.
91
+ - Copy examples and adapt labels/bindings only.
@@ -48,6 +48,8 @@ Supports **ControlValueAccessor**.
48
48
 
49
49
  Also import `FormsModule` (template-driven) or `ReactiveFormsModule`.
50
50
 
51
+ Library API uses Angular 18 `input()` / `output()` signals under the hood.
52
+
51
53
  ## Inputs
52
54
 
53
55
  Every supported Input (do not invent others):
@@ -67,14 +69,14 @@ Every supported Input (do not invent others):
67
69
  | `showToday` | `boolean` | `true` | — |
68
70
  | `showTime` | `boolean` | `false` | — |
69
71
  | `block` | `boolean` | `false` | — |
70
- | `width` | `number \| string` | | — |
71
- | `disabledDate` | `(current: Date)` | `> boolean` | — |
72
+ | `width` | `number \| string \| undefined` | `undefined` | — |
73
+ | `disabledDate` | `((current: Date) => boolean) \| undefined` | `undefined` | — |
72
74
 
73
75
  ## Outputs
74
76
 
75
77
  | Output | Payload | Description |
76
78
  |--------|---------|-------------|
77
- | `valueChange` | `EventEmitter<Date \| null>` | — |
79
+ | `valueChange` | `OutputEmitterRef<Date \| null>` | — |
78
80
 
79
81
  ## Related types
80
82
 
@@ -48,6 +48,8 @@ Supports **ControlValueAccessor**.
48
48
 
49
49
  Also import `FormsModule` (template-driven) or `ReactiveFormsModule`.
50
50
 
51
+ Library API uses Angular 18 `input()` / `output()` signals under the hood.
52
+
51
53
  ## Inputs
52
54
 
53
55
  Every supported Input (do not invent others):
@@ -65,15 +67,15 @@ Every supported Input (do not invent others):
65
67
  | `allowClear` | `boolean` | `true` | — |
66
68
  | `showTime` | `boolean` | `false` | — |
67
69
  | `block` | `boolean` | `false` | — |
68
- | `width` | `number \| string` | | — |
69
- | `disabledDate` | `(current: Date)` | `> boolean` | — |
70
+ | `width` | `number \| string \| undefined` | `undefined` | — |
71
+ | `disabledDate` | `((current: Date) => boolean) \| undefined` | `undefined` | — |
70
72
  | `separator` | `string` | `'→'` | — |
71
73
 
72
74
  ## Outputs
73
75
 
74
76
  | Output | Payload | Description |
75
77
  |--------|---------|-------------|
76
- | `valueChange` | `EventEmitter<[Date, Date] \| null>` | — |
78
+ | `valueChange` | `OutputEmitterRef<[Date, Date] \| null>` | — |
77
79
 
78
80
  ## Related types
79
81
 
@@ -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.
@@ -48,6 +48,8 @@ Supports **ControlValueAccessor**.
48
48
 
49
49
  Also import `FormsModule` (template-driven) or `ReactiveFormsModule`.
50
50
 
51
+ Library API uses Angular 18 `input()` / `output()` signals under the hood.
52
+
51
53
  ## Inputs
52
54
 
53
55
  Every supported Input (do not invent others):
@@ -64,14 +66,14 @@ Every supported Input (do not invent others):
64
66
  | `error` | `boolean` | `false` | — |
65
67
  | `errorMessage` | `string` | `''` | — |
66
68
  | `block` | `boolean` | `false` | — |
67
- | `width` | `number \| string` | | — |
69
+ | `width` | `number \| string \| undefined` | `undefined` | — |
68
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. |
69
71
 
70
72
  ## Outputs
71
73
 
72
74
  | Output | Payload | Description |
73
75
  |--------|---------|-------------|
74
- | `fileChange` | `EventEmitter<File \| File[] \| null>` | — |
76
+ | `fileChange` | `OutputEmitterRef<File \| File[] \| null>` | — |
75
77
 
76
78
  ## Related types
77
79