@vef-framework/components 1.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 (499) hide show
  1. package/README.md +27 -0
  2. package/dist/index.d.ts +65 -0
  3. package/dist/index.js +3 -0
  4. package/dist/internal/index.d.ts +1 -0
  5. package/dist/internal/index.js +3 -0
  6. package/dist/internal/utils.d.ts +9 -0
  7. package/dist/internal/utils.js +3 -0
  8. package/dist/vef-access-denied/access-denied-icon.d.ts +4 -0
  9. package/dist/vef-access-denied/access-denied-icon.js +3 -0
  10. package/dist/vef-access-denied/index.d.ts +5 -0
  11. package/dist/vef-access-denied/index.js +29 -0
  12. package/dist/vef-access-denied/props.d.ts +18 -0
  13. package/dist/vef-action-buttons/index.d.ts +6 -0
  14. package/dist/vef-action-buttons/index.js +3 -0
  15. package/dist/vef-action-buttons/props.d.ts +23 -0
  16. package/dist/vef-badge/index.d.ts +5 -0
  17. package/dist/vef-badge/index.js +3 -0
  18. package/dist/vef-badge/props.d.ts +28 -0
  19. package/dist/vef-bool/hooks/use-bool-instance.d.ts +6 -0
  20. package/dist/vef-bool/hooks/use-bool-instance.js +3 -0
  21. package/dist/vef-bool/index.d.ts +4 -0
  22. package/dist/vef-bool/index.js +3 -0
  23. package/dist/vef-bool/props.d.ts +63 -0
  24. package/dist/vef-button/components/base-button.d.ts +9 -0
  25. package/dist/vef-button/components/base-button.js +3 -0
  26. package/dist/vef-button/index.d.ts +4 -0
  27. package/dist/vef-button/index.js +3 -0
  28. package/dist/vef-button/props.d.ts +79 -0
  29. package/dist/vef-card/index.d.ts +5 -0
  30. package/dist/vef-card/index.js +3 -0
  31. package/dist/vef-card/props.d.ts +27 -0
  32. package/dist/vef-card-meta/index.d.ts +5 -0
  33. package/dist/vef-card-meta/index.js +3 -0
  34. package/dist/vef-card-meta/props.d.ts +7 -0
  35. package/dist/vef-checkbox/hooks/use-checkbox-instance.d.ts +11 -0
  36. package/dist/vef-checkbox/hooks/use-checkbox-instance.js +3 -0
  37. package/dist/vef-checkbox/hooks/use-data-options.d.ts +34 -0
  38. package/dist/vef-checkbox/hooks/use-data-options.js +3 -0
  39. package/dist/vef-checkbox/index.d.ts +6 -0
  40. package/dist/vef-checkbox/index.js +5 -0
  41. package/dist/vef-checkbox/props.d.ts +41 -0
  42. package/dist/vef-col/index.d.ts +5 -0
  43. package/dist/vef-col/index.js +3 -0
  44. package/dist/vef-col/props.d.ts +5 -0
  45. package/dist/vef-color-picker/index.d.ts +5 -0
  46. package/dist/vef-color-picker/index.js +3 -0
  47. package/dist/vef-color-picker/props.d.ts +28 -0
  48. package/dist/vef-compact/index.d.ts +5 -0
  49. package/dist/vef-compact/index.js +3 -0
  50. package/dist/vef-compact/props.d.ts +11 -0
  51. package/dist/vef-config-provider/fonts/din/bold.woff2.js +3 -0
  52. package/dist/vef-config-provider/fonts/din/regular.woff2.js +3 -0
  53. package/dist/vef-config-provider/hooks/use-ui-config.d.ts +46 -0
  54. package/dist/vef-config-provider/hooks/use-ui-config.js +3 -0
  55. package/dist/vef-config-provider/index.d.ts +5 -0
  56. package/dist/vef-config-provider/index.js +111 -0
  57. package/dist/vef-config-provider/props.d.ts +24 -0
  58. package/dist/vef-config-provider/reset-style.d.ts +4 -0
  59. package/dist/vef-config-provider/reset-style.js +257 -0
  60. package/dist/vef-config-provider/store.d.ts +12 -0
  61. package/dist/vef-config-provider/store.js +3 -0
  62. package/dist/vef-container/index.d.ts +5 -0
  63. package/dist/vef-container/index.js +3 -0
  64. package/dist/vef-container/props.d.ts +6 -0
  65. package/dist/vef-crud-page/components/crud-actions.d.ts +21 -0
  66. package/dist/vef-crud-page/components/crud-actions.js +3 -0
  67. package/dist/vef-crud-page/components/crud-filter.d.ts +31 -0
  68. package/dist/vef-crud-page/components/crud-filter.js +3 -0
  69. package/dist/vef-crud-page/components/crud-footer.d.ts +31 -0
  70. package/dist/vef-crud-page/components/crud-footer.js +9 -0
  71. package/dist/vef-crud-page/components/crud-form-modal.d.ts +18 -0
  72. package/dist/vef-crud-page/components/crud-form-modal.js +3 -0
  73. package/dist/vef-crud-page/components/crud-header.d.ts +32 -0
  74. package/dist/vef-crud-page/components/crud-header.js +3 -0
  75. package/dist/vef-crud-page/components/crud-table.d.ts +57 -0
  76. package/dist/vef-crud-page/components/crud-table.js +3 -0
  77. package/dist/vef-crud-page/hooks/use-action-buttons.d.ts +16 -0
  78. package/dist/vef-crud-page/hooks/use-action-buttons.js +3 -0
  79. package/dist/vef-crud-page/hooks/use-crud-context.d.ts +8 -0
  80. package/dist/vef-crud-page/hooks/use-crud-context.js +3 -0
  81. package/dist/vef-crud-page/hooks/use-crud-schema.d.ts +17 -0
  82. package/dist/vef-crud-page/hooks/use-crud-schema.js +3 -0
  83. package/dist/vef-crud-page/hooks/use-operation-buttons.d.ts +11 -0
  84. package/dist/vef-crud-page/hooks/use-operation-buttons.js +3 -0
  85. package/dist/vef-crud-page/index.d.ts +6 -0
  86. package/dist/vef-crud-page/index.js +3 -0
  87. package/dist/vef-crud-page/props.d.ts +84 -0
  88. package/dist/vef-crud-page/store.d.ts +119 -0
  89. package/dist/vef-crud-page/store.js +3 -0
  90. package/dist/vef-crud-page/types.d.ts +173 -0
  91. package/dist/vef-divider/index.d.ts +5 -0
  92. package/dist/vef-divider/index.js +3 -0
  93. package/dist/vef-divider/props.d.ts +25 -0
  94. package/dist/vef-drawer/components/action-button-wrapper.d.ts +14 -0
  95. package/dist/vef-drawer/components/action-button-wrapper.js +3 -0
  96. package/dist/vef-drawer/components/button-props.d.ts +15 -0
  97. package/dist/vef-drawer/components/button-props.js +2 -0
  98. package/dist/vef-drawer/components/cancel-action-button.d.ts +4 -0
  99. package/dist/vef-drawer/components/cancel-action-button.js +3 -0
  100. package/dist/vef-drawer/components/ok-action-button.d.ts +4 -0
  101. package/dist/vef-drawer/components/ok-action-button.js +3 -0
  102. package/dist/vef-drawer/context.d.ts +27 -0
  103. package/dist/vef-drawer/context.js +3 -0
  104. package/dist/vef-drawer/index.d.ts +5 -0
  105. package/dist/vef-drawer/index.js +10 -0
  106. package/dist/vef-drawer/props.d.ts +97 -0
  107. package/dist/vef-dropdown/index.d.ts +4 -0
  108. package/dist/vef-dropdown/index.js +3 -0
  109. package/dist/vef-dropdown/props.d.ts +68 -0
  110. package/dist/vef-empty/index.d.ts +5 -0
  111. package/dist/vef-empty/index.js +3 -0
  112. package/dist/vef-empty/props.d.ts +7 -0
  113. package/dist/vef-empty-placeholder/index.d.ts +5 -0
  114. package/dist/vef-empty-placeholder/index.js +7 -0
  115. package/dist/vef-empty-placeholder/props.d.ts +6 -0
  116. package/dist/vef-error/error-icon.d.ts +4 -0
  117. package/dist/vef-error/error-icon.js +3 -0
  118. package/dist/vef-error/index.d.ts +5 -0
  119. package/dist/vef-error/index.js +30 -0
  120. package/dist/vef-error/props.d.ts +18 -0
  121. package/dist/vef-filter/components/action-buttons.d.ts +3 -0
  122. package/dist/vef-filter/components/action-buttons.js +21 -0
  123. package/dist/vef-filter/components/advanced-filter.d.ts +13 -0
  124. package/dist/vef-filter/components/advanced-filter.js +11 -0
  125. package/dist/vef-filter/components/basic-filter.d.ts +14 -0
  126. package/dist/vef-filter/components/basic-filter.js +21 -0
  127. package/dist/vef-filter/components/fields/index.d.ts +9 -0
  128. package/dist/vef-filter/components/fields/index.js +3 -0
  129. package/dist/vef-filter/components/fields/input-number.d.ts +4 -0
  130. package/dist/vef-filter/components/fields/input-number.js +3 -0
  131. package/dist/vef-filter/components/fields/input.d.ts +4 -0
  132. package/dist/vef-filter/components/fields/input.js +3 -0
  133. package/dist/vef-filter/components/fields/props.d.ts +32 -0
  134. package/dist/vef-filter/components/filter-field.d.ts +4 -0
  135. package/dist/vef-filter/components/filter-field.js +3 -0
  136. package/dist/vef-filter/components/filter-item.d.ts +15 -0
  137. package/dist/vef-filter/components/filter-item.js +3 -0
  138. package/dist/vef-filter/event.d.ts +12 -0
  139. package/dist/vef-filter/event.js +3 -0
  140. package/dist/vef-filter/helper.d.ts +10 -0
  141. package/dist/vef-filter/helper.js +3 -0
  142. package/dist/vef-filter/hooks/use-action-handlers.d.ts +20 -0
  143. package/dist/vef-filter/hooks/use-action-handlers.js +3 -0
  144. package/dist/vef-filter/hooks/use-computed-values.d.ts +42 -0
  145. package/dist/vef-filter/hooks/use-computed-values.js +3 -0
  146. package/dist/vef-filter/hooks/use-filter-context.d.ts +8 -0
  147. package/dist/vef-filter/hooks/use-filter-context.js +3 -0
  148. package/dist/vef-filter/hooks/use-filter-initialization.d.ts +7 -0
  149. package/dist/vef-filter/hooks/use-filter-initialization.js +3 -0
  150. package/dist/vef-filter/hooks/use-filter-instance.d.ts +10 -0
  151. package/dist/vef-filter/hooks/use-filter-instance.js +3 -0
  152. package/dist/vef-filter/hooks/use-filter-items.d.ts +13 -0
  153. package/dist/vef-filter/hooks/use-filter-items.js +3 -0
  154. package/dist/vef-filter/hooks/use-filter-values-change.d.ts +11 -0
  155. package/dist/vef-filter/hooks/use-filter-values-change.js +3 -0
  156. package/dist/vef-filter/hooks/use-label-config.d.ts +14 -0
  157. package/dist/vef-filter/hooks/use-label-config.js +3 -0
  158. package/dist/vef-filter/index.d.ts +8 -0
  159. package/dist/vef-filter/index.js +10 -0
  160. package/dist/vef-filter/props.d.ts +106 -0
  161. package/dist/vef-filter/store.d.ts +77 -0
  162. package/dist/vef-filter/store.js +3 -0
  163. package/dist/vef-filter/types.d.ts +224 -0
  164. package/dist/vef-flex/index.d.ts +5 -0
  165. package/dist/vef-flex/index.js +3 -0
  166. package/dist/vef-flex/props.d.ts +12 -0
  167. package/dist/vef-float-button/index.d.ts +5 -0
  168. package/dist/vef-float-button/index.js +3 -0
  169. package/dist/vef-float-button/props.d.ts +26 -0
  170. package/dist/vef-float-button-group/index.d.ts +5 -0
  171. package/dist/vef-float-button-group/index.js +3 -0
  172. package/dist/vef-float-button-group/props.d.ts +11 -0
  173. package/dist/vef-form/components/fields/index.d.ts +10 -0
  174. package/dist/vef-form/components/fields/index.js +3 -0
  175. package/dist/vef-form/components/fields/input-number.d.ts +5 -0
  176. package/dist/vef-form/components/fields/input-number.js +3 -0
  177. package/dist/vef-form/components/fields/input.d.ts +5 -0
  178. package/dist/vef-form/components/fields/input.js +3 -0
  179. package/dist/vef-form/components/fields/props.d.ts +33 -0
  180. package/dist/vef-form/components/form-actions.d.ts +20 -0
  181. package/dist/vef-form/components/form-actions.js +5 -0
  182. package/dist/vef-form/components/form-content.d.ts +18 -0
  183. package/dist/vef-form/components/form-content.js +6 -0
  184. package/dist/vef-form/components/form-field.d.ts +5 -0
  185. package/dist/vef-form/components/form-field.js +3 -0
  186. package/dist/vef-form/components/form-group.d.ts +22 -0
  187. package/dist/vef-form/components/form-group.js +13 -0
  188. package/dist/vef-form/components/form-hidden-item.d.ts +14 -0
  189. package/dist/vef-form/components/form-hidden-item.js +3 -0
  190. package/dist/vef-form/components/form-item.d.ts +18 -0
  191. package/dist/vef-form/components/form-item.js +3 -0
  192. package/dist/vef-form/components/form-row.d.ts +26 -0
  193. package/dist/vef-form/components/form-row.js +3 -0
  194. package/dist/vef-form/event.d.ts +15 -0
  195. package/dist/vef-form/event.js +3 -0
  196. package/dist/vef-form/helper.d.ts +11 -0
  197. package/dist/vef-form/helper.js +3 -0
  198. package/dist/vef-form/hooks/use-action-handlers.d.ts +14 -0
  199. package/dist/vef-form/hooks/use-action-handlers.js +3 -0
  200. package/dist/vef-form/hooks/use-columns-layout.d.ts +12 -0
  201. package/dist/vef-form/hooks/use-columns-layout.js +3 -0
  202. package/dist/vef-form/hooks/use-computed-values.d.ts +42 -0
  203. package/dist/vef-form/hooks/use-computed-values.js +3 -0
  204. package/dist/vef-form/hooks/use-form-context.d.ts +6 -0
  205. package/dist/vef-form/hooks/use-form-context.js +3 -0
  206. package/dist/vef-form/hooks/use-form-initialization.d.ts +14 -0
  207. package/dist/vef-form/hooks/use-form-initialization.js +3 -0
  208. package/dist/vef-form/hooks/use-form-instance.d.ts +10 -0
  209. package/dist/vef-form/hooks/use-form-instance.js +3 -0
  210. package/dist/vef-form/hooks/use-form-values-change.d.ts +11 -0
  211. package/dist/vef-form/hooks/use-form-values-change.js +3 -0
  212. package/dist/vef-form/hooks/use-label-width.d.ts +9 -0
  213. package/dist/vef-form/hooks/use-label-width.js +3 -0
  214. package/dist/vef-form/index.d.ts +8 -0
  215. package/dist/vef-form/index.js +5 -0
  216. package/dist/vef-form/props.d.ts +158 -0
  217. package/dist/vef-form/store.d.ts +89 -0
  218. package/dist/vef-form/store.js +3 -0
  219. package/dist/vef-form/types.d.ts +335 -0
  220. package/dist/vef-form/validation-rules.d.ts +175 -0
  221. package/dist/vef-form/validation-rules.js +3 -0
  222. package/dist/vef-form-drawer/index.d.ts +9 -0
  223. package/dist/vef-form-drawer/index.js +3 -0
  224. package/dist/vef-form-drawer/props.d.ts +17 -0
  225. package/dist/vef-form-modal/index.d.ts +9 -0
  226. package/dist/vef-form-modal/index.js +3 -0
  227. package/dist/vef-form-modal/props.d.ts +20 -0
  228. package/dist/vef-grid/index.d.ts +5 -0
  229. package/dist/vef-grid/index.js +14 -0
  230. package/dist/vef-grid/props.d.ts +25 -0
  231. package/dist/vef-grid/props.js +3 -0
  232. package/dist/vef-grid-item/index.d.ts +5 -0
  233. package/dist/vef-grid-item/index.js +3 -0
  234. package/dist/vef-grid-item/props.d.ts +34 -0
  235. package/dist/vef-icon/index.d.ts +4 -0
  236. package/dist/vef-icon/index.js +3 -0
  237. package/dist/vef-icon/props.d.ts +12 -0
  238. package/dist/vef-input/hooks/use-input-instance.d.ts +12 -0
  239. package/dist/vef-input/hooks/use-input-instance.js +3 -0
  240. package/dist/vef-input/index.d.ts +4 -0
  241. package/dist/vef-input/index.js +3 -0
  242. package/dist/vef-input/props.d.ts +67 -0
  243. package/dist/vef-input-number/hooks/use-input-number-instance.d.ts +12 -0
  244. package/dist/vef-input-number/hooks/use-input-number-instance.js +3 -0
  245. package/dist/vef-input-number/index.d.ts +4 -0
  246. package/dist/vef-input-number/index.js +3 -0
  247. package/dist/vef-input-number/props.d.ts +124 -0
  248. package/dist/vef-loading-placeholder/index.d.ts +5 -0
  249. package/dist/vef-loading-placeholder/index.js +7 -0
  250. package/dist/vef-loading-placeholder/props.d.ts +6 -0
  251. package/dist/vef-login/index.d.ts +5 -0
  252. package/dist/vef-login/index.js +53 -0
  253. package/dist/vef-login/login-icon.d.ts +4 -0
  254. package/dist/vef-login/login-icon.js +3 -0
  255. package/dist/vef-login/props.d.ts +57 -0
  256. package/dist/vef-modal/components/action-button-wrapper.d.ts +14 -0
  257. package/dist/vef-modal/components/action-button-wrapper.js +3 -0
  258. package/dist/vef-modal/components/button-props.d.ts +15 -0
  259. package/dist/vef-modal/components/button-props.js +2 -0
  260. package/dist/vef-modal/components/cancel-action-button.d.ts +4 -0
  261. package/dist/vef-modal/components/cancel-action-button.js +3 -0
  262. package/dist/vef-modal/components/ok-action-button.d.ts +4 -0
  263. package/dist/vef-modal/components/ok-action-button.js +3 -0
  264. package/dist/vef-modal/context.d.ts +27 -0
  265. package/dist/vef-modal/context.js +3 -0
  266. package/dist/vef-modal/index.d.ts +5 -0
  267. package/dist/vef-modal/index.js +6 -0
  268. package/dist/vef-modal/props.d.ts +88 -0
  269. package/dist/vef-not-found/index.d.ts +5 -0
  270. package/dist/vef-not-found/index.js +30 -0
  271. package/dist/vef-not-found/not-found-icon.d.ts +4 -0
  272. package/dist/vef-not-found/not-found-icon.js +3 -0
  273. package/dist/vef-not-found/props.d.ts +18 -0
  274. package/dist/vef-page/index.d.ts +5 -0
  275. package/dist/vef-page/index.js +59 -0
  276. package/dist/vef-page/props.d.ts +29 -0
  277. package/dist/vef-pagination/index.d.ts +4 -0
  278. package/dist/vef-pagination/index.js +3 -0
  279. package/dist/vef-pagination/props.d.ts +59 -0
  280. package/dist/vef-pagination/props.js +3 -0
  281. package/dist/vef-paragraph/index.d.ts +5 -0
  282. package/dist/vef-paragraph/index.js +3 -0
  283. package/dist/vef-paragraph/props.d.ts +55 -0
  284. package/dist/vef-password/hooks/use-password-instance.d.ts +13 -0
  285. package/dist/vef-password/hooks/use-password-instance.js +3 -0
  286. package/dist/vef-password/index.d.ts +4 -0
  287. package/dist/vef-password/index.js +3 -0
  288. package/dist/vef-password/props.d.ts +58 -0
  289. package/dist/vef-popconfirm/index.d.ts +5 -0
  290. package/dist/vef-popconfirm/index.js +3 -0
  291. package/dist/vef-popconfirm/props.d.ts +33 -0
  292. package/dist/vef-popover/index.d.ts +5 -0
  293. package/dist/vef-popover/index.js +3 -0
  294. package/dist/vef-popover/props.d.ts +29 -0
  295. package/dist/vef-radio/hooks/use-data-options.d.ts +35 -0
  296. package/dist/vef-radio/hooks/use-data-options.js +3 -0
  297. package/dist/vef-radio/hooks/use-radio-instance.d.ts +11 -0
  298. package/dist/vef-radio/hooks/use-radio-instance.js +3 -0
  299. package/dist/vef-radio/index.d.ts +7 -0
  300. package/dist/vef-radio/index.js +5 -0
  301. package/dist/vef-radio/props.d.ts +59 -0
  302. package/dist/vef-rate/hooks/use-rate-instance.d.ts +12 -0
  303. package/dist/vef-rate/hooks/use-rate-instance.js +3 -0
  304. package/dist/vef-rate/index.d.ts +4 -0
  305. package/dist/vef-rate/index.js +3 -0
  306. package/dist/vef-rate/props.d.ts +25 -0
  307. package/dist/vef-responsive-container/index.d.ts +4 -0
  308. package/dist/vef-responsive-container/index.js +7 -0
  309. package/dist/vef-responsive-container/props.d.ts +21 -0
  310. package/dist/vef-responsive-item/index.d.ts +4 -0
  311. package/dist/vef-responsive-item/index.js +5 -0
  312. package/dist/vef-responsive-item/props.d.ts +12 -0
  313. package/dist/vef-ribbon/index.d.ts +5 -0
  314. package/dist/vef-ribbon/index.js +3 -0
  315. package/dist/vef-ribbon/props.d.ts +15 -0
  316. package/dist/vef-row/index.d.ts +5 -0
  317. package/dist/vef-row/index.js +3 -0
  318. package/dist/vef-row/props.d.ts +7 -0
  319. package/dist/vef-scroll-area/components/scrollbar.d.ts +2 -0
  320. package/dist/vef-scroll-area/components/scrollbar.js +34 -0
  321. package/dist/vef-scroll-area/index.d.ts +4 -0
  322. package/dist/vef-scroll-area/index.js +10 -0
  323. package/dist/vef-scroll-area/props.d.ts +24 -0
  324. package/dist/vef-select/components/option.d.ts +7 -0
  325. package/dist/vef-select/components/option.js +11 -0
  326. package/dist/vef-select/hooks/use-data-options.d.ts +37 -0
  327. package/dist/vef-select/hooks/use-data-options.js +3 -0
  328. package/dist/vef-select/hooks/use-field-names.d.ts +9 -0
  329. package/dist/vef-select/hooks/use-field-names.js +3 -0
  330. package/dist/vef-select/hooks/use-label-render.d.ts +11 -0
  331. package/dist/vef-select/hooks/use-label-render.js +10 -0
  332. package/dist/vef-select/hooks/use-option-render.d.ts +11 -0
  333. package/dist/vef-select/hooks/use-option-render.js +3 -0
  334. package/dist/vef-select/hooks/use-select-instance.d.ts +11 -0
  335. package/dist/vef-select/hooks/use-select-instance.js +3 -0
  336. package/dist/vef-select/index.d.ts +7 -0
  337. package/dist/vef-select/index.js +3 -0
  338. package/dist/vef-select/props.d.ts +153 -0
  339. package/dist/vef-slider/hooks/use-slider-instance.d.ts +12 -0
  340. package/dist/vef-slider/hooks/use-slider-instance.js +3 -0
  341. package/dist/vef-slider/index.d.ts +4 -0
  342. package/dist/vef-slider/index.js +3 -0
  343. package/dist/vef-slider/props.d.ts +72 -0
  344. package/dist/vef-sortable-list/components/overlay-item.d.ts +9 -0
  345. package/dist/vef-sortable-list/components/overlay-item.js +7 -0
  346. package/dist/vef-sortable-list/components/sortable-item.d.ts +21 -0
  347. package/dist/vef-sortable-list/components/sortable-item.js +7 -0
  348. package/dist/vef-sortable-list/hooks/use-merged-items.d.ts +10 -0
  349. package/dist/vef-sortable-list/hooks/use-merged-items.js +3 -0
  350. package/dist/vef-sortable-list/index.d.ts +7 -0
  351. package/dist/vef-sortable-list/index.js +3 -0
  352. package/dist/vef-sortable-list/props.d.ts +77 -0
  353. package/dist/vef-space/index.d.ts +5 -0
  354. package/dist/vef-space/index.js +3 -0
  355. package/dist/vef-space/props.d.ts +12 -0
  356. package/dist/vef-spin/index.d.ts +5 -0
  357. package/dist/vef-spin/index.js +3 -0
  358. package/dist/vef-spin/props.d.ts +12 -0
  359. package/dist/vef-splitter/index.d.ts +5 -0
  360. package/dist/vef-splitter/index.js +3 -0
  361. package/dist/vef-splitter/props.d.ts +16 -0
  362. package/dist/vef-splitter-panel/index.d.ts +5 -0
  363. package/dist/vef-splitter-panel/index.js +3 -0
  364. package/dist/vef-splitter-panel/props.d.ts +6 -0
  365. package/dist/vef-status/index.d.ts +5 -0
  366. package/dist/vef-status/index.js +3 -0
  367. package/dist/vef-status/props.d.ts +17 -0
  368. package/dist/vef-table/components/columns/bool.d.ts +5 -0
  369. package/dist/vef-table/components/columns/bool.js +3 -0
  370. package/dist/vef-table/components/columns/code.d.ts +4 -0
  371. package/dist/vef-table/components/columns/code.js +3 -0
  372. package/dist/vef-table/components/columns/data-dictionary.d.ts +4 -0
  373. package/dist/vef-table/components/columns/data-dictionary.js +3 -0
  374. package/dist/vef-table/components/columns/enum.d.ts +4 -0
  375. package/dist/vef-table/components/columns/enum.js +3 -0
  376. package/dist/vef-table/components/columns/file.d.ts +4 -0
  377. package/dist/vef-table/components/columns/file.js +3 -0
  378. package/dist/vef-table/components/columns/icon.d.ts +4 -0
  379. package/dist/vef-table/components/columns/icon.js +3 -0
  380. package/dist/vef-table/components/columns/id.d.ts +4 -0
  381. package/dist/vef-table/components/columns/id.js +3 -0
  382. package/dist/vef-table/components/columns/image.d.ts +4 -0
  383. package/dist/vef-table/components/columns/image.js +3 -0
  384. package/dist/vef-table/components/columns/index.d.ts +31 -0
  385. package/dist/vef-table/components/columns/index.js +3 -0
  386. package/dist/vef-table/components/columns/markdown.d.ts +4 -0
  387. package/dist/vef-table/components/columns/markdown.js +3 -0
  388. package/dist/vef-table/components/columns/number.d.ts +4 -0
  389. package/dist/vef-table/components/columns/number.js +3 -0
  390. package/dist/vef-table/components/columns/props.d.ts +24 -0
  391. package/dist/vef-table/components/columns/render.d.ts +4 -0
  392. package/dist/vef-table/components/columns/render.js +3 -0
  393. package/dist/vef-table/components/columns/rich-text.d.ts +4 -0
  394. package/dist/vef-table/components/columns/rich-text.js +3 -0
  395. package/dist/vef-table/components/columns/text.d.ts +4 -0
  396. package/dist/vef-table/components/columns/text.js +3 -0
  397. package/dist/vef-table/components/columns-settings.d.ts +2 -0
  398. package/dist/vef-table/components/columns-settings.js +54 -0
  399. package/dist/vef-table/components/operation-buttons.d.ts +22 -0
  400. package/dist/vef-table/components/operation-buttons.js +12 -0
  401. package/dist/vef-table/components/settings-icon.d.ts +2 -0
  402. package/dist/vef-table/components/settings-icon.js +5 -0
  403. package/dist/vef-table/components/table-footer.d.ts +34 -0
  404. package/dist/vef-table/components/table-footer.js +19 -0
  405. package/dist/vef-table/helper.d.ts +12 -0
  406. package/dist/vef-table/helper.js +3 -0
  407. package/dist/vef-table/hooks/use-computed-batch-buttons.d.ts +13 -0
  408. package/dist/vef-table/hooks/use-computed-batch-buttons.js +3 -0
  409. package/dist/vef-table/hooks/use-computed-columns.d.ts +10 -0
  410. package/dist/vef-table/hooks/use-computed-columns.js +3 -0
  411. package/dist/vef-table/hooks/use-computed-values.d.ts +45 -0
  412. package/dist/vef-table/hooks/use-computed-values.js +3 -0
  413. package/dist/vef-table/hooks/use-data.d.ts +11 -0
  414. package/dist/vef-table/hooks/use-data.js +3 -0
  415. package/dist/vef-table/hooks/use-default-column-configs.d.ts +9 -0
  416. package/dist/vef-table/hooks/use-default-column-configs.js +3 -0
  417. package/dist/vef-table/hooks/use-display-value.d.ts +32 -0
  418. package/dist/vef-table/hooks/use-display-value.js +3 -0
  419. package/dist/vef-table/hooks/use-helper-columns.d.ts +6 -0
  420. package/dist/vef-table/hooks/use-helper-columns.js +3 -0
  421. package/dist/vef-table/hooks/use-merged-value.d.ts +10 -0
  422. package/dist/vef-table/hooks/use-merged-value.js +3 -0
  423. package/dist/vef-table/hooks/use-operation-column-width.d.ts +11 -0
  424. package/dist/vef-table/hooks/use-operation-column-width.js +3 -0
  425. package/dist/vef-table/hooks/use-pagination-props.d.ts +17 -0
  426. package/dist/vef-table/hooks/use-pagination-props.js +3 -0
  427. package/dist/vef-table/hooks/use-row-props.d.ts +11 -0
  428. package/dist/vef-table/hooks/use-row-props.js +3 -0
  429. package/dist/vef-table/hooks/use-row-selection-config.d.ts +11 -0
  430. package/dist/vef-table/hooks/use-row-selection-config.js +3 -0
  431. package/dist/vef-table/hooks/use-table-columns.d.ts +12 -0
  432. package/dist/vef-table/hooks/use-table-columns.js +3 -0
  433. package/dist/vef-table/hooks/use-table-context.d.ts +9 -0
  434. package/dist/vef-table/hooks/use-table-context.js +3 -0
  435. package/dist/vef-table/hooks/use-table-instance.d.ts +10 -0
  436. package/dist/vef-table/hooks/use-table-instance.js +3 -0
  437. package/dist/vef-table/hooks/use-table-summary.d.ts +10 -0
  438. package/dist/vef-table/hooks/use-table-summary.js +3 -0
  439. package/dist/vef-table/hooks/use-table-width.d.ts +9 -0
  440. package/dist/vef-table/hooks/use-table-width.js +3 -0
  441. package/dist/vef-table/index.d.ts +7 -0
  442. package/dist/vef-table/index.js +56 -0
  443. package/dist/vef-table/props.d.ts +330 -0
  444. package/dist/vef-table/store.d.ts +21 -0
  445. package/dist/vef-table/store.js +3 -0
  446. package/dist/vef-table/types.d.ts +481 -0
  447. package/dist/vef-tabs/index.d.ts +5 -0
  448. package/dist/vef-tabs/index.js +3 -0
  449. package/dist/vef-tabs/props.d.ts +12 -0
  450. package/dist/vef-tag/index.d.ts +5 -0
  451. package/dist/vef-tag/index.js +3 -0
  452. package/dist/vef-tag/props.d.ts +20 -0
  453. package/dist/vef-temporal-picker/hooks/use-dayjs-value.d.ts +10 -0
  454. package/dist/vef-temporal-picker/hooks/use-dayjs-value.js +3 -0
  455. package/dist/vef-temporal-picker/hooks/use-temporal-formats.d.ts +8 -0
  456. package/dist/vef-temporal-picker/hooks/use-temporal-formats.js +3 -0
  457. package/dist/vef-temporal-picker/hooks/use-temporal-limit.d.ts +13 -0
  458. package/dist/vef-temporal-picker/hooks/use-temporal-limit.js +3 -0
  459. package/dist/vef-temporal-picker/hooks/use-temporal-picker-instance.d.ts +12 -0
  460. package/dist/vef-temporal-picker/hooks/use-temporal-picker-instance.js +3 -0
  461. package/dist/vef-temporal-picker/index.d.ts +5 -0
  462. package/dist/vef-temporal-picker/index.js +3 -0
  463. package/dist/vef-temporal-picker/props.d.ts +101 -0
  464. package/dist/vef-temporal-range-picker/hooks/use-dayjs-values.d.ts +10 -0
  465. package/dist/vef-temporal-range-picker/hooks/use-dayjs-values.js +3 -0
  466. package/dist/vef-temporal-range-picker/hooks/use-temporal-formats.d.ts +8 -0
  467. package/dist/vef-temporal-range-picker/hooks/use-temporal-formats.js +3 -0
  468. package/dist/vef-temporal-range-picker/hooks/use-temporal-limit.d.ts +13 -0
  469. package/dist/vef-temporal-range-picker/hooks/use-temporal-limit.js +3 -0
  470. package/dist/vef-temporal-range-picker/hooks/use-temporal-range-picker-instance.d.ts +12 -0
  471. package/dist/vef-temporal-range-picker/hooks/use-temporal-range-picker-instance.js +3 -0
  472. package/dist/vef-temporal-range-picker/index.d.ts +5 -0
  473. package/dist/vef-temporal-range-picker/index.js +3 -0
  474. package/dist/vef-temporal-range-picker/props.d.ts +82 -0
  475. package/dist/vef-temporal-range-picker/props.js +3 -0
  476. package/dist/vef-text/index.d.ts +5 -0
  477. package/dist/vef-text/index.js +3 -0
  478. package/dist/vef-text/props.d.ts +47 -0
  479. package/dist/vef-textarea/hooks/use-textarea-instance.d.ts +13 -0
  480. package/dist/vef-textarea/hooks/use-textarea-instance.js +3 -0
  481. package/dist/vef-textarea/index.d.ts +4 -0
  482. package/dist/vef-textarea/index.js +3 -0
  483. package/dist/vef-textarea/props.d.ts +58 -0
  484. package/dist/vef-title/index.d.ts +5 -0
  485. package/dist/vef-title/index.js +15 -0
  486. package/dist/vef-title/props.d.ts +39 -0
  487. package/dist/vef-tooltip/index.d.ts +5 -0
  488. package/dist/vef-tooltip/index.js +3 -0
  489. package/dist/vef-tooltip/props.d.ts +30 -0
  490. package/dist/vef-tree-select/hooks/use-change-handler.d.ts +10 -0
  491. package/dist/vef-tree-select/hooks/use-change-handler.js +3 -0
  492. package/dist/vef-tree-select/hooks/use-data-options.d.ts +36 -0
  493. package/dist/vef-tree-select/hooks/use-data-options.js +3 -0
  494. package/dist/vef-tree-select/hooks/use-tree-select-instance.d.ts +11 -0
  495. package/dist/vef-tree-select/hooks/use-tree-select-instance.js +3 -0
  496. package/dist/vef-tree-select/index.d.ts +7 -0
  497. package/dist/vef-tree-select/index.js +3 -0
  498. package/dist/vef-tree-select/props.d.ts +142 -0
  499. package/package.json +56 -0
@@ -0,0 +1,158 @@
1
+ import type { AnyValue, ApiResponse, BasicSize, BiConsumer, BiMapper, Consumer, Handler, LengthValue, MaybePromise, MutationApi, ObjectType, ObjectValue, Provider, TriConsumer, VefError } from "@vef-framework/shared";
2
+ import type { Variant } from "antd/es/config-provider";
3
+ import type { ReactNode } from "react";
4
+ import type { Except, LiteralUnion } from "@vef-framework/shared";
5
+ import type { FormActionButtonConfig, FormLabelAlign, FormLabelPosition, FormLayoutMode, FormScene, FormSchema, FormTabsUse, FormValues, FormVirtualKeys } from "./types";
6
+ /**
7
+ * The instance of the VefForm component.
8
+ *
9
+ * @param Values - The type of the form values.
10
+ */
11
+ export interface VefFormInstance<Values extends ObjectType = ObjectValue> {
12
+ /**
13
+ * The submit provider of the form.
14
+ */
15
+ submit: Provider<MaybePromise<void>>;
16
+ /**
17
+ * The reset handler of the form.
18
+ */
19
+ reset: Handler;
20
+ /**
21
+ * The get values provider of the form.
22
+ */
23
+ getValues: Provider<FormValues<Values>>;
24
+ /**
25
+ * The set values consumer of the form.
26
+ */
27
+ setValues: Consumer<FormValues<Values>>;
28
+ }
29
+ /**
30
+ * The props of the VefForm component.
31
+ *
32
+ * @param Values - The type of the form values.
33
+ * @param Result - The type of the submitted result of the form.
34
+ * @param Scene - The type of the form scene.
35
+ * @param Schema - The type of the form schema.
36
+ * @param VirtualKeys - The type of the virtual keys of the form.
37
+ */
38
+ export interface VefFormProps<Values extends ObjectType = ObjectValue, Result = AnyValue, Scene extends FormScene = FormScene, Schema extends FormSchema<Values, Scene> = FormSchema<Values, Scene>, VirtualKeys extends FormVirtualKeys<Schema> = FormVirtualKeys<Schema>> {
39
+ /**
40
+ * The scene of the form.
41
+ */
42
+ scene: Scene;
43
+ /**
44
+ * The schema of the form.
45
+ */
46
+ schema: Schema;
47
+ /**
48
+ * The initial values of the form.
49
+ */
50
+ initialValues?: Partial<Values>;
51
+ /**
52
+ * The layout mode of the form.
53
+ */
54
+ layoutMode?: FormLayoutMode;
55
+ /**
56
+ * Whether to auto expand the remaining space of the row.
57
+ * Only works when the `layoutMode` is `responsive`.
58
+ */
59
+ autoExpand?: boolean;
60
+ /**
61
+ * The position of the label.
62
+ */
63
+ labelPosition?: FormLabelPosition;
64
+ /**
65
+ * The alignment of the label.
66
+ * Only works when the `labelPosition` is `left`.
67
+ */
68
+ labelAlign?: FormLabelAlign;
69
+ /**
70
+ * The width of the label.
71
+ * Only works when the `labelPosition` is `left`.
72
+ */
73
+ labelWidth?: number;
74
+ /**
75
+ * The variant of the form.
76
+ */
77
+ variant?: Variant;
78
+ /**
79
+ * Whether to show tabs.
80
+ * When set to true, the form will be displayed in tabs, default use is 'switch'.
81
+ * When set to 'switch', the form will be displayed in switchable tabs.
82
+ * When set to 'navigation', the form will be displayed in navigation tabs.
83
+ */
84
+ showTabs?: boolean | FormTabsUse;
85
+ /**
86
+ * The height of the form.
87
+ */
88
+ height?: LiteralUnion<"auto", LengthValue>;
89
+ /**
90
+ * The size of the form.
91
+ */
92
+ size?: BasicSize;
93
+ /**
94
+ * Whether the form is disabled.
95
+ */
96
+ disabled?: boolean;
97
+ /**
98
+ * The submission button of the form.
99
+ */
100
+ submissionButton?: false | FormActionButtonConfig;
101
+ /**
102
+ * The reset button of the form.
103
+ */
104
+ resetButton?: false | FormActionButtonConfig;
105
+ /**
106
+ * The submit tip of the form.
107
+ */
108
+ submitTip?: ReactNode | BiMapper<Values, Scene, ReactNode>;
109
+ /**
110
+ * The submit API of the form.
111
+ */
112
+ submitApi?: Readonly<MutationApi<Except<Values, VirtualKeys>, Result>>;
113
+ /**
114
+ * The handler for processing the values of the form before submit.
115
+ *
116
+ * @param values - The values of the form.
117
+ * @param scene - The scene of the form.
118
+ * @returns The processed values of the form.
119
+ */
120
+ onBeforeSubmit?: BiMapper<Values, Scene, MaybePromise<Values>>;
121
+ /**
122
+ * The submit handler for customized processing logics.
123
+ *
124
+ * @param values - The values of the form.
125
+ * @param scene - The scene of the form.
126
+ */
127
+ onSubmit?: BiMapper<Except<Values, VirtualKeys>, Scene, MaybePromise<void>>;
128
+ /**
129
+ * The submit success event handler.
130
+ *
131
+ * @param result - The result of the submit API.
132
+ * @param values - The values of the form.
133
+ * @param scene - The scene of the form.
134
+ */
135
+ onSubmitSuccess?: TriConsumer<ApiResponse<Result>, Values, Scene>;
136
+ /**
137
+ * The submit failure event handler.
138
+ *
139
+ * @param error - The error.
140
+ * @param values - The values of the form.
141
+ * @param scene - The scene of the form.
142
+ */
143
+ onSubmitFailure?: TriConsumer<VefError, Values, Scene>;
144
+ /**
145
+ * The reset event handler.
146
+ *
147
+ * @param values - The values of the form.
148
+ * @param scene - The scene of the form.
149
+ */
150
+ onReset?: BiConsumer<FormValues<Values>, Scene>;
151
+ /**
152
+ * The change event handler.
153
+ *
154
+ * @param values - The values of the form.
155
+ * @param scene - The scene of the form.
156
+ */
157
+ onChange?: BiConsumer<FormValues<Values>, Scene>;
158
+ }
@@ -0,0 +1,89 @@
1
+ import type { FormInstance } from "antd";
2
+ import { type BiConsumer, type BiConsumerOptional, type ChildrenProps, type Consumer, type Mapper, type MaybeNull, type ObjectType, type Provider, type StringKey } from "@vef-framework/shared";
3
+ import { type StoreApi } from "zustand";
4
+ import type { FormEventBus } from "./event";
5
+ import type { FormContext, FormScene, FormValues } from "./types";
6
+ /**
7
+ * The form state.
8
+ */
9
+ export interface FormState<Values extends ObjectType, Scene extends FormScene = FormScene> {
10
+ /**
11
+ * The scene of the form.
12
+ */
13
+ scene: Scene;
14
+ /**
15
+ * The form instance.
16
+ */
17
+ form: FormInstance<Values>;
18
+ /**
19
+ * The event bus of the form.
20
+ */
21
+ eventBus: FormEventBus<Values>;
22
+ /**
23
+ * The initial values of the form.
24
+ */
25
+ initialValues: Partial<Values>;
26
+ /**
27
+ * The value change handlers of the form.
28
+ */
29
+ valueChangeHandlers: Record<StringKey<Values>, BiConsumer<MaybeNull<Values[StringKey<Values>]>, FormContext<Values, Scene>>>;
30
+ /**
31
+ * Invokes the value change handlers of the form.
32
+ *
33
+ * @param values The values to invoke the value change handlers with
34
+ */
35
+ invokeValueChangeHandlers: BiConsumerOptional<FormValues<Values>, Array<StringKey<Values>>>;
36
+ /**
37
+ * The virtual field names of the form.
38
+ */
39
+ virtualFieldNames: Array<StringKey<Values>>;
40
+ /**
41
+ * Gets the form values.
42
+ *
43
+ * @returns The form values.
44
+ */
45
+ getValues: Provider<FormValues<Values>>;
46
+ /**
47
+ * Updates form values
48
+ *
49
+ * @param values The partial form values to update
50
+ */
51
+ setValues: Consumer<FormValues<Values>>;
52
+ /**
53
+ * The loading state of the form.
54
+ */
55
+ isLoading: boolean;
56
+ /**
57
+ * Sets the loading state of the form.
58
+ *
59
+ * @param loading The loading state to set
60
+ */
61
+ setIsLoading: Consumer<boolean>;
62
+ /**
63
+ * Whether to show the action buttons.
64
+ */
65
+ showActionButtons: boolean;
66
+ /**
67
+ * Sets whether to show the action buttons.
68
+ *
69
+ * @param showActionButtons The show action buttons state to set
70
+ */
71
+ setShowActionButtons: Consumer<boolean>;
72
+ }
73
+ /**
74
+ * The props of the form store provider
75
+ */
76
+ export interface FormStoreProviderProps<Values extends ObjectType, Scene extends FormScene = FormScene> extends Pick<FormState<Values, Scene>, "form" | "scene" | "eventBus" | "initialValues" | "valueChangeHandlers" | "virtualFieldNames">, ChildrenProps {
77
+ }
78
+ /**
79
+ * The provider component of the form store.
80
+ */
81
+ export declare function FormStoreProvider<Values extends ObjectType, Scene extends FormScene = FormScene>({ children, ...props }: FormStoreProviderProps<Values, Scene>): import("react").FunctionComponentElement<import("react").ProviderProps<MaybeNull<StoreApi<FormState<any, any>>>>>;
82
+ /**
83
+ * The hook to use the form store api.
84
+ */
85
+ export declare function useFormStoreApi<Values extends ObjectType, Scene extends FormScene = FormScene>(): StoreApi<FormState<Values, Scene>>;
86
+ /**
87
+ * The hook to use the form store.
88
+ */
89
+ export declare function useFormStore<Values extends ObjectType, Result, Scene extends FormScene = FormScene>(selector: Mapper<FormState<Values, Scene>, Result>): Result;
@@ -0,0 +1,3 @@
1
+ /*! VefFramework version: 1.0.5, build time: 2024-12-10T10:24:47.065Z, made by Venus. */
2
+ import{useSingleton as e,useUpdateEffect as t}from"@vef-framework/hooks";import{isEqual as n,VefError as o}from"@vef-framework/shared";import{createContext as s,createElement as r,useContext as i}from"react";import{createStore as a}from"zustand";import{useStoreWithEqualityFn as l}from"zustand/traditional";const u=s(null);function c({children:o,...s}){const i=e((()=>{return e=s,a(((t,o)=>({...e,invokeValueChangeHandlers(e,t){const{scene:n,valueChangeHandlers:s,initialValues:r,setValues:i}=o(),a=e??r,l=t?new Set(t):null;for(const[e,t]of Object.entries(s))l&&!l.has(e)||t(a[e]??null,{values:a,scene:n,setValues:i})},getValues(){const{form:e,initialValues:t}=o();return e.isFieldsTouched(!0)?t:e.getFieldsValue()},setValues(e){const{form:t,eventBus:s,invokeValueChangeHandlers:r}=o(),i=t.getFieldsValue(),a=Object.keys(e).filter((t=>!n(e[t],i[t])));t.setFieldsValue(e);const l=t.getFieldsValue();s.emitChange(l),r(l,a)},isLoading:!1,setIsLoading(e){t({isLoading:e})},showActionButtons:!0,setShowActionButtons(e){t({showActionButtons:e})}})));var e})),{scene:l}=s;return t((()=>{i.setState({scene:l})}),[l]),r(u.Provider,{value:i},o)}function d(){const e=i(u);if(!e)throw new o(-2,"FormStore can be used only inside FormStoreProvider");return e}function f(e){return l(d(),e,n)}export{c as FormStoreProvider,f as useFormStore,d as useFormStoreApi};
3
+ /*! VefFramework is a blazingly high-level, modern, flexible, easy-to-use UI framework made by Venus. Follow me on Github: https://github.com/ilxqx! @ilxqx */
@@ -0,0 +1,335 @@
1
+ import type { Align, BiConsumer, BiMapper, Consumer, KeyValue, Mapper, MaybeComputed, MaybeComputedControlOptions, MaybeNull, ObjectType, ObjectValue, presetFormScenes, StringKey, ValidationRule } from "@vef-framework/shared";
2
+ import type { ReactNode } from "react";
3
+ import type { LiteralUnion, NonEmptyTuple } from "@vef-framework/shared";
4
+ /**
5
+ * The layout mode of the form.
6
+ */
7
+ export type FormLayoutMode = "responsive" | "fixed";
8
+ /**
9
+ * The position of the form label.
10
+ */
11
+ export type FormLabelPosition = "top" | "left";
12
+ /**
13
+ * The alignment of the form label.
14
+ */
15
+ export type FormLabelAlign = Exclude<Align, "center">;
16
+ /**
17
+ * The use of the form tabs.
18
+ */
19
+ export type FormTabsUse = "switch" | "navigation";
20
+ /**
21
+ * The preset scene of the form.
22
+ */
23
+ export type PresetFormScene = typeof presetFormScenes[number];
24
+ /**
25
+ * The scene of the form.
26
+ */
27
+ export type FormScene = LiteralUnion<PresetFormScene, string>;
28
+ /**
29
+ * The form values.
30
+ */
31
+ export type FormValues<Values extends ObjectType> = {
32
+ [K in keyof Values]?: MaybeNull<Values[K]>;
33
+ };
34
+ /**
35
+ * The configuration of the form action button.
36
+ */
37
+ export interface FormActionButtonConfig {
38
+ /**
39
+ * The text of the form action button.
40
+ */
41
+ text?: string;
42
+ /**
43
+ * Whether to display the form action button as a block element.
44
+ */
45
+ block?: boolean;
46
+ /**
47
+ * The icon of the form action button.
48
+ */
49
+ icon?: ReactNode;
50
+ }
51
+ /**
52
+ * The validation rule of the form item.
53
+ */
54
+ export type FormValidationRule<Values extends ObjectType, Key extends StringKey<Values>, Scene extends FormScene> = Mapper<FormItem<Values, Key, Scene>, ValidationRule[]>;
55
+ /**
56
+ * The compute function of the form.
57
+ */
58
+ type ComputeFn<Values extends ObjectType, Scene extends FormScene, ComputedValue> = BiMapper<FormValues<Values>, Scene, ComputedValue>;
59
+ /**
60
+ * The computed type of the form.
61
+ */
62
+ export type FormComputedType<Values extends ObjectType, Scene extends FormScene, ComputedValue> = MaybeComputed<ComputedValue, ComputeFn<Values, Scene, ComputedValue>>;
63
+ /**
64
+ * The control options of the form.
65
+ */
66
+ type ControlOptions<Values extends ObjectType, Scene extends FormScene> = MaybeComputedControlOptions<ComputeFn<Values, Scene, boolean>>;
67
+ /**
68
+ * The context of the form.
69
+ */
70
+ export interface FormContext<Values extends ObjectType, Scene extends FormScene> {
71
+ /**
72
+ * The values of the form.
73
+ */
74
+ values: FormValues<Values>;
75
+ /**
76
+ * The scene of the form.
77
+ */
78
+ scene: Scene;
79
+ /**
80
+ * Set the values of the form.
81
+ *
82
+ * @param values - The values of the form.
83
+ */
84
+ setValues: Consumer<FormValues<Values>>;
85
+ }
86
+ /**
87
+ * The internal context of the form.
88
+ */
89
+ export interface InternalFormContext {
90
+ /**
91
+ * The layout mode of the form.
92
+ */
93
+ layoutMode: FormLayoutMode;
94
+ /**
95
+ * The position of the form label.
96
+ */
97
+ labelPosition: FormLabelPosition;
98
+ /**
99
+ * The width of the form label.
100
+ */
101
+ labelWidth?: number;
102
+ /**
103
+ * Whether to auto expand the remaining space of the row.
104
+ */
105
+ autoExpand: boolean;
106
+ }
107
+ /**
108
+ * The virtual keys of the form.
109
+ */
110
+ export type FormVirtualKeys<S extends ReadonlyArray<FormGroup<any, any>>> = FormVirtualItems<FlattenFormItem<S>>[number];
111
+ type FormVirtualItems<T extends ReadonlyArray<FormItem<any>>> = {
112
+ [K in keyof T]: T[K]["virtual"] extends true ? T[K]["name"] : never;
113
+ };
114
+ type FlattenFormItem<T extends readonly any[]> = T extends readonly [infer Head, ...infer Tail] ? Head extends FormGroup<any> ? [...FlattenFormItem<Head["rows"]>, ...FlattenFormItem<Tail>] : Head extends FormRow<any> ? [...FlattenFormItem<Head["columns"]>, ...FlattenFormItem<Tail>] : Head extends FormColumn<any> ? [...FlattenFormItem<Head["items"]>, ...FlattenFormItem<Tail>] : Head extends FormItem<any> ? [Head, ...FlattenFormItem<Tail>] : FlattenFormItem<Tail> : [];
115
+ /**
116
+ * The form schema.
117
+ */
118
+ export type FormSchema<Values extends ObjectType, Scene extends FormScene = FormScene> = NonEmptyTuple<FormGroup<Values, Scene>>;
119
+ /**
120
+ * The form group of the form.
121
+ */
122
+ export interface FormGroup<Values extends ObjectType = ObjectValue, Scene extends FormScene = FormScene> extends ControlOptions<Values, Scene> {
123
+ /**
124
+ * The key of the form group.
125
+ */
126
+ key: KeyValue;
127
+ /**
128
+ * The title of the form group.
129
+ */
130
+ title?: FormComputedType<Values, Scene, ReactNode>;
131
+ /**
132
+ * The rows of the form group.
133
+ */
134
+ rows: ReadonlyArray<FormRow<Values, Scene>>;
135
+ }
136
+ /**
137
+ * The row of the form group.
138
+ */
139
+ export interface FormRow<Values extends ObjectType = ObjectValue, Scene extends FormScene = FormScene> extends ControlOptions<Values, Scene> {
140
+ /**
141
+ * The key of the form row.
142
+ */
143
+ key: KeyValue;
144
+ /**
145
+ * Whether to auto expand the remaining space of the form row.
146
+ */
147
+ autoExpand?: boolean;
148
+ /**
149
+ * The columns of the form row.
150
+ */
151
+ columns: ReadonlyArray<FormColumn<Values, Scene>>;
152
+ }
153
+ /**
154
+ * The column of the form row.
155
+ */
156
+ export interface FormColumn<Values extends ObjectType = ObjectValue, Scene extends FormScene = FormScene> extends ControlOptions<Values, Scene> {
157
+ /**
158
+ * The key of the form column.
159
+ */
160
+ key: KeyValue;
161
+ /**
162
+ * The span of the form column.
163
+ */
164
+ span?: number;
165
+ /**
166
+ * The items of the form column.
167
+ */
168
+ items: ReadonlyArray<FormItem<Values, StringKey<Values>, Scene>>;
169
+ }
170
+ /**
171
+ * The form item.
172
+ */
173
+ export type FormItem<Values extends ObjectType = ObjectValue, Key extends StringKey<Values> = StringKey<Values>, Scene extends FormScene = FormScene> = FormItemHidden<Values, Key, Scene> | FormItemInput<Values, Key, Scene> | FormItemInputNumber<Values, Key, Scene>;
174
+ /**
175
+ * The base form item.
176
+ */
177
+ export interface FormItemBase<Values extends ObjectType, Key extends StringKey<Values> = StringKey<Values>, Scene extends FormScene = FormScene> extends ControlOptions<Values, Scene> {
178
+ /**
179
+ * The name of the form item.
180
+ */
181
+ name: Key;
182
+ /**
183
+ * The label of the form item.
184
+ */
185
+ label?: FormComputedType<Values, Scene, ReactNode>;
186
+ /**
187
+ * The tip of the form item.
188
+ */
189
+ tip?: FormComputedType<Values, Scene, ReactNode>;
190
+ /**
191
+ * The validation rules of the form item.
192
+ */
193
+ rules?: FormComputedType<Values, Scene, Array<FormValidationRule<Values, Key, Scene>>>;
194
+ /**
195
+ * Whether the form item is virtual.
196
+ * That means the form item is not a real form item to input data, but a virtual item to help control the other form items.
197
+ */
198
+ virtual?: boolean;
199
+ /**
200
+ * The default value of the form item.
201
+ */
202
+ defaultValue?: Values[Key];
203
+ }
204
+ /**
205
+ * The hidden form item.
206
+ */
207
+ export interface FormItemHidden<Values extends ObjectType, Key extends StringKey<Values> = StringKey<Values>, Scene extends FormScene = FormScene> extends FormItemBase<Values, Key, Scene> {
208
+ /**
209
+ * The type of the hidden form item.
210
+ */
211
+ type: "Hidden";
212
+ /**
213
+ * The label of the form item.
214
+ */
215
+ label?: undefined;
216
+ /**
217
+ * The tip of the form item.
218
+ */
219
+ tip?: undefined;
220
+ /**
221
+ * The validation rules of the form item.
222
+ */
223
+ rules?: undefined;
224
+ /**
225
+ * Whether to disable the form item.
226
+ */
227
+ disabled?: undefined;
228
+ /**
229
+ * The default value of the hidden form item.
230
+ */
231
+ defaultValue?: Values[Key];
232
+ }
233
+ /**
234
+ * The input form item.
235
+ */
236
+ export interface FormItemInput<Values extends ObjectType, Key extends StringKey<Values> = StringKey<Values>, Scene extends FormScene = FormScene> extends FormItemBase<Values, Key, Scene> {
237
+ /**
238
+ * The type of the input form item.
239
+ */
240
+ type: "Input";
241
+ /**
242
+ * The default value of the form item.
243
+ */
244
+ defaultValue?: Values[Key] & string;
245
+ /**
246
+ * The placeholder of the input form item.
247
+ */
248
+ placeholder?: FormComputedType<Values, Scene, string>;
249
+ /**
250
+ * Whether the input form item is allow clear.
251
+ */
252
+ clearable?: boolean;
253
+ /**
254
+ * The maximum number of characters in the input form item.
255
+ */
256
+ maxLength?: FormComputedType<Values, Scene, number>;
257
+ /**
258
+ * The prefix of the input form item.
259
+ */
260
+ prefix?: FormComputedType<Values, Scene, ReactNode>;
261
+ /**
262
+ * The suffix of the input form item.
263
+ */
264
+ suffix?: FormComputedType<Values, Scene, ReactNode>;
265
+ /**
266
+ * The on change event handler of the form item.
267
+ */
268
+ onChange?: BiConsumer<MaybeNull<Values[Key] & string>, FormContext<Values, Scene>>;
269
+ /**
270
+ * The enter key press event handler of the input form item.
271
+ */
272
+ onEnterKeyPress?: BiConsumer<MaybeNull<Values[Key] & string>, FormContext<Values, Scene>>;
273
+ /**
274
+ * The blur event handler of the input form item.
275
+ */
276
+ onBlur?: BiConsumer<MaybeNull<Values[Key] & string>, FormContext<Values, Scene>>;
277
+ /**
278
+ * The focus event handler of the input form item.
279
+ */
280
+ onFocus?: BiConsumer<MaybeNull<Values[Key] & string>, FormContext<Values, Scene>>;
281
+ /**
282
+ * The clear event handler of the input form item.
283
+ */
284
+ onClear?: Consumer<FormContext<Values, Scene>>;
285
+ }
286
+ /**
287
+ * The input number form item.
288
+ */
289
+ export interface FormItemInputNumber<Values extends ObjectType, Key extends StringKey<Values> = StringKey<Values>, Scene extends FormScene = FormScene> extends FormItemBase<Values, Key, Scene> {
290
+ /**
291
+ * The type of the input number form item.
292
+ */
293
+ type: "InputNumber";
294
+ /**
295
+ * The default value of the form item.
296
+ */
297
+ defaultValue?: Values[Key] & number;
298
+ /**
299
+ * The placeholder of the input number form item.
300
+ */
301
+ placeholder?: FormComputedType<Values, Scene, string>;
302
+ /**
303
+ * The prefix of the input number form item.
304
+ */
305
+ prefix?: FormComputedType<Values, Scene, ReactNode>;
306
+ /**
307
+ * The suffix of the input number form item.
308
+ */
309
+ suffix?: FormComputedType<Values, Scene, ReactNode>;
310
+ /**
311
+ * The maximum value of the input number form item.
312
+ */
313
+ max?: FormComputedType<Values, Scene, number>;
314
+ /**
315
+ * The minimum value of the input number form item.
316
+ */
317
+ min?: FormComputedType<Values, Scene, number>;
318
+ /**
319
+ * The on change event handler of the input number form item.
320
+ */
321
+ onChange?: BiConsumer<MaybeNull<Values[Key] & number>, FormContext<Values, Scene>>;
322
+ /**
323
+ * The enter key press event handler of the input number form item.
324
+ */
325
+ onEnterKeyPress?: BiConsumer<MaybeNull<Values[Key] & number>, FormContext<Values, Scene>>;
326
+ /**
327
+ * The blur event handler of the input number form item.
328
+ */
329
+ onBlur?: BiConsumer<MaybeNull<Values[Key] & number>, FormContext<Values, Scene>>;
330
+ /**
331
+ * The focus event handler of the input number form item.
332
+ */
333
+ onFocus?: BiConsumer<MaybeNull<Values[Key] & number>, FormContext<Values, Scene>>;
334
+ }
335
+ export {};