@vef-framework/components 1.0.99 → 1.0.100

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 (674) hide show
  1. package/es/index.js +2 -90
  2. package/es/internal/base.css.js +2 -4
  3. package/es/internal/chart.js +2 -18
  4. package/es/internal/index.js +2 -3
  5. package/es/internal/modern-normalize.css.js +2 -4
  6. package/es/internal/utils.js +2 -6
  7. package/es/vef-access-denied/access-denied-icon.js +2 -928
  8. package/es/vef-access-denied/index.js +10 -45
  9. package/es/vef-action-buttons/index.js +2 -75
  10. package/es/vef-approval-flow-editor/components/edge.js +3 -83
  11. package/es/vef-approval-flow-editor/components/label-value.js +9 -27
  12. package/es/vef-approval-flow-editor/components/node-content.js +11 -45
  13. package/es/vef-approval-flow-editor/components/node-selector.js +5 -33
  14. package/es/vef-approval-flow-editor/components/node-toolbar.js +2 -21
  15. package/es/vef-approval-flow-editor/components/nodes/approval.js +2 -24
  16. package/es/vef-approval-flow-editor/components/nodes/condition.js +2 -24
  17. package/es/vef-approval-flow-editor/components/nodes/end.js +2 -24
  18. package/es/vef-approval-flow-editor/components/nodes/handle.js +2 -24
  19. package/es/vef-approval-flow-editor/components/nodes/index.js +2 -17
  20. package/es/vef-approval-flow-editor/components/nodes/submit.js +2 -24
  21. package/es/vef-approval-flow-editor/components/selector-content.js +10 -48
  22. package/es/vef-approval-flow-editor/components/source-handle.js +2 -40
  23. package/es/vef-approval-flow-editor/components/target-handle.js +2 -9
  24. package/es/vef-approval-flow-editor/constants.js +2 -218
  25. package/es/vef-approval-flow-editor/helper.js +2 -83
  26. package/es/vef-approval-flow-editor/hooks/use-edges-interaction.js +2 -25
  27. package/es/vef-approval-flow-editor/hooks/use-element-selection.js +2 -24
  28. package/es/vef-approval-flow-editor/hooks/use-nodes-interaction.js +2 -51
  29. package/es/vef-approval-flow-editor/index.js +2 -75
  30. package/es/vef-approval-flow-editor/models/edge-node.js +2 -20
  31. package/es/vef-approval-flow-editor/models/flow-node.js +2 -105
  32. package/es/vef-approval-flow-editor/store.js +2 -16
  33. package/es/vef-approval-flow-editor/styles.js +13 -20
  34. package/es/vef-approval-flow-editor/types.js +2 -15
  35. package/es/vef-area-chart/index.js +2 -41
  36. package/es/vef-auto-sizer/index.js +2 -6
  37. package/es/vef-avatar/index.js +2 -20
  38. package/es/vef-avatar-group/index.js +2 -25
  39. package/es/vef-badge/index.js +2 -47
  40. package/es/vef-bar-chart/index.js +2 -41
  41. package/es/vef-bool/hooks/use-bool-instance.js +2 -34
  42. package/es/vef-bool/index.js +2 -60
  43. package/es/vef-breadcrumb/index.js +2 -48
  44. package/es/vef-button/components/base-button.js +2 -73
  45. package/es/vef-button/index.js +2 -151
  46. package/es/vef-card/index.js +2 -25
  47. package/es/vef-card-meta/index.js +2 -12
  48. package/es/vef-chart-container/hooks/use-chart-container-context.js +2 -12
  49. package/es/vef-chart-container/index.js +10 -80
  50. package/es/vef-chart-legend-content/index.js +11 -43
  51. package/es/vef-chart-tooltip-content/index.js +23 -85
  52. package/es/vef-checkbox/hooks/use-checkbox-instance.js +2 -20
  53. package/es/vef-checkbox/hooks/use-data-options.js +2 -40
  54. package/es/vef-checkbox/index.js +4 -88
  55. package/es/vef-col/index.js +2 -11
  56. package/es/vef-color-picker/index.js +2 -46
  57. package/es/vef-compact/index.js +2 -15
  58. package/es/vef-config-provider/global-style.js +16 -23
  59. package/es/vef-config-provider/hooks/use-ui-config.js +2 -126
  60. package/es/vef-config-provider/index.js +4 -121
  61. package/es/vef-config-provider/store.js +2 -21
  62. package/es/vef-container/index.js +2 -18
  63. package/es/vef-crud-page/components/crud-actions.js +2 -32
  64. package/es/vef-crud-page/components/crud-filter.js +2 -54
  65. package/es/vef-crud-page/components/crud-footer.js +4 -116
  66. package/es/vef-crud-page/components/crud-form-modal.js +2 -53
  67. package/es/vef-crud-page/components/crud-header.js +2 -29
  68. package/es/vef-crud-page/components/crud-table.js +2 -76
  69. package/es/vef-crud-page/hooks/use-action-buttons.js +2 -37
  70. package/es/vef-crud-page/hooks/use-crud-context.js +2 -20
  71. package/es/vef-crud-page/hooks/use-crud-schema.js +2 -116
  72. package/es/vef-crud-page/hooks/use-operation-buttons.js +2 -60
  73. package/es/vef-crud-page/index.js +2 -150
  74. package/es/vef-crud-page/store.js +2 -142
  75. package/es/vef-data-grid/index.js +2 -85
  76. package/es/vef-data-table/index.js +2 -9
  77. package/es/vef-divider/index.js +2 -24
  78. package/es/vef-drawer/components/action-button-wrapper.js +2 -49
  79. package/es/vef-drawer/components/button-props.js +1 -2
  80. package/es/vef-drawer/components/cancel-action-button.js +2 -21
  81. package/es/vef-drawer/components/ok-action-button.js +2 -20
  82. package/es/vef-drawer/context.js +2 -15
  83. package/es/vef-drawer/index.js +4 -154
  84. package/es/vef-dropdown/index.js +2 -92
  85. package/es/vef-dynamic-icon/index.js +2 -46
  86. package/es/vef-dynamic-icon/props.js +2 -6
  87. package/es/vef-empty/index.js +2 -37
  88. package/es/vef-empty-placeholder/index.js +5 -19
  89. package/es/vef-error/error-icon.js +2 -757
  90. package/es/vef-error/index.js +10 -48
  91. package/es/vef-filter/components/action-buttons.js +6 -119
  92. package/es/vef-filter/components/advanced-filter.js +9 -71
  93. package/es/vef-filter/components/basic-filter.js +5 -35
  94. package/es/vef-filter/components/fields/index.js +2 -19
  95. package/es/vef-filter/components/fields/input-number.js +2 -90
  96. package/es/vef-filter/components/fields/input.js +2 -67
  97. package/es/vef-filter/components/fields/radio.js +2 -109
  98. package/es/vef-filter/components/fields/select.js +2 -140
  99. package/es/vef-filter/components/fields/tree-select.js +2 -136
  100. package/es/vef-filter/components/filter-field.js +2 -19
  101. package/es/vef-filter/components/filter-item.js +2 -112
  102. package/es/vef-filter/event.js +2 -44
  103. package/es/vef-filter/helper.js +2 -15
  104. package/es/vef-filter/hooks/use-action-handlers.js +2 -70
  105. package/es/vef-filter/hooks/use-computed-values.js +2 -55
  106. package/es/vef-filter/hooks/use-filter-context.js +2 -18
  107. package/es/vef-filter/hooks/use-filter-initialization.js +2 -37
  108. package/es/vef-filter/hooks/use-filter-instance.js +2 -26
  109. package/es/vef-filter/hooks/use-filter-items.js +2 -23
  110. package/es/vef-filter/hooks/use-filter-values-change.js +2 -30
  111. package/es/vef-filter/hooks/use-label-config.js +2 -27
  112. package/es/vef-filter/index.js +3 -141
  113. package/es/vef-filter/store.js +2 -71
  114. package/es/vef-flex/index.js +2 -31
  115. package/es/vef-float-button/index.js +2 -49
  116. package/es/vef-float-button-group/index.js +2 -20
  117. package/es/vef-form/components/fields/icon-select.js +2 -65
  118. package/es/vef-form/components/fields/index.js +2 -25
  119. package/es/vef-form/components/fields/input-number.js +2 -123
  120. package/es/vef-form/components/fields/input.js +2 -132
  121. package/es/vef-form/components/fields/password.js +2 -115
  122. package/es/vef-form/components/fields/radio.js +2 -106
  123. package/es/vef-form/components/fields/select.js +2 -238
  124. package/es/vef-form/components/fields/textarea.js +2 -109
  125. package/es/vef-form/components/fields/tree-select.js +2 -234
  126. package/es/vef-form/components/form-actions.js +4 -58
  127. package/es/vef-form/components/form-content.js +3 -144
  128. package/es/vef-form/components/form-field.js +2 -22
  129. package/es/vef-form/components/form-group.js +4 -64
  130. package/es/vef-form/components/form-hidden-item.js +2 -36
  131. package/es/vef-form/components/form-item.js +2 -79
  132. package/es/vef-form/components/form-row.js +2 -98
  133. package/es/vef-form/event.js +2 -44
  134. package/es/vef-form/helper.js +2 -15
  135. package/es/vef-form/hooks/use-action-handlers.js +2 -130
  136. package/es/vef-form/hooks/use-columns-layout.js +2 -122
  137. package/es/vef-form/hooks/use-computed-values.js +2 -55
  138. package/es/vef-form/hooks/use-form-context.js +2 -14
  139. package/es/vef-form/hooks/use-form-initialization.js +2 -45
  140. package/es/vef-form/hooks/use-form-instance.js +2 -26
  141. package/es/vef-form/hooks/use-form-values-change.js +2 -30
  142. package/es/vef-form/hooks/use-label-width.js +2 -18
  143. package/es/vef-form/index.js +4 -174
  144. package/es/vef-form/store.js +2 -65
  145. package/es/vef-form/validation-rules.js +2 -286
  146. package/es/vef-form-drawer/index.js +2 -98
  147. package/es/vef-form-modal/index.js +2 -95
  148. package/es/vef-generic-select/index.js +2 -81
  149. package/es/vef-grid/index.js +7 -83
  150. package/es/vef-grid/props.js +2 -4
  151. package/es/vef-grid-item/index.js +2 -52
  152. package/es/vef-icon/index.js +2 -50
  153. package/es/vef-icon-select/index.js +12 -146
  154. package/es/vef-input/hooks/use-input-instance.js +2 -15
  155. package/es/vef-input/index.js +2 -64
  156. package/es/vef-input-number/hooks/use-input-number-instance.js +2 -13
  157. package/es/vef-input-number/index.js +2 -148
  158. package/es/vef-layout/common-styles.js +5 -10
  159. package/es/vef-layout/components/content.js +2 -13
  160. package/es/vef-layout/components/font-size.js +2 -68
  161. package/es/vef-layout/components/fullscreen.js +2 -23
  162. package/es/vef-layout/components/header-action-icons.js +7 -29
  163. package/es/vef-layout/components/header-content.js +2 -19
  164. package/es/vef-layout/components/header.js +7 -69
  165. package/es/vef-layout/components/icon-boy.js +2 -69
  166. package/es/vef-layout/components/icon-girl.js +2 -76
  167. package/es/vef-layout/components/icon-menu-fold-left.js +2 -23
  168. package/es/vef-layout/components/icon-menu-unfold-left.js +2 -23
  169. package/es/vef-layout/components/menu-groups.js +16 -123
  170. package/es/vef-layout/components/message.js +2 -11
  171. package/es/vef-layout/components/search.js +2 -11
  172. package/es/vef-layout/components/sider.js +6 -54
  173. package/es/vef-layout/components/title.js +9 -53
  174. package/es/vef-layout/components/user-avatar.js +10 -80
  175. package/es/vef-layout/hooks/use-layout-context.js +2 -10
  176. package/es/vef-layout/index.js +3 -33
  177. package/es/vef-layout/logo.svg.js +2 -4
  178. package/es/vef-layout/store.js +2 -16
  179. package/es/vef-line-chart/index.js +2 -38
  180. package/es/vef-loading-placeholder/index.js +6 -42
  181. package/es/vef-login/index.js +22 -152
  182. package/es/vef-login/login-icon.js +2 -668
  183. package/es/vef-menu/index.js +5 -77
  184. package/es/vef-modal/components/action-button-wrapper.js +2 -49
  185. package/es/vef-modal/components/button-props.js +1 -2
  186. package/es/vef-modal/components/cancel-action-button.js +2 -18
  187. package/es/vef-modal/components/ok-action-button.js +2 -20
  188. package/es/vef-modal/context.js +2 -15
  189. package/es/vef-modal/index.js +3 -239
  190. package/es/vef-not-found/index.js +10 -45
  191. package/es/vef-not-found/not-found-icon.js +2 -844
  192. package/es/vef-page/index.js +11 -87
  193. package/es/vef-pagination/index.js +2 -57
  194. package/es/vef-pagination/props.js +2 -13
  195. package/es/vef-paragraph/index.js +2 -89
  196. package/es/vef-password/hooks/use-password-instance.js +2 -13
  197. package/es/vef-password/index.js +2 -67
  198. package/es/vef-pie-chart/index.js +9 -70
  199. package/es/vef-popconfirm/index.js +2 -56
  200. package/es/vef-popover/index.js +2 -34
  201. package/es/vef-radio/hooks/use-data-options.js +2 -40
  202. package/es/vef-radio/hooks/use-radio-instance.js +2 -20
  203. package/es/vef-radio/index.js +4 -88
  204. package/es/vef-rate/hooks/use-rate-instance.js +2 -13
  205. package/es/vef-rate/index.js +2 -30
  206. package/es/vef-responsive-container/index.js +3 -54
  207. package/es/vef-responsive-item/index.js +3 -23
  208. package/es/vef-ribbon/index.js +2 -38
  209. package/es/vef-row/index.js +2 -12
  210. package/es/vef-scroll-area/components/scrollbar.js +8 -34
  211. package/es/vef-scroll-area/index.js +4 -69
  212. package/es/vef-select/components/option.js +4 -23
  213. package/es/vef-select/hooks/use-data-options.js +2 -47
  214. package/es/vef-select/hooks/use-field-names.js +2 -21
  215. package/es/vef-select/hooks/use-render-label.js +3 -23
  216. package/es/vef-select/hooks/use-render-option.js +2 -19
  217. package/es/vef-select/hooks/use-select-instance.js +2 -20
  218. package/es/vef-select/index.js +2 -100
  219. package/es/vef-slider/hooks/use-slider-instance.js +2 -13
  220. package/es/vef-slider/index.js +2 -34
  221. package/es/vef-sortable-list/components/overlay-item.js +3 -31
  222. package/es/vef-sortable-list/components/sortable-item.js +3 -75
  223. package/es/vef-sortable-list/hooks/use-merged-items.js +2 -21
  224. package/es/vef-sortable-list/index.js +2 -114
  225. package/es/vef-space/index.js +2 -25
  226. package/es/vef-spin/index.js +2 -12
  227. package/es/vef-splitter/index.js +2 -20
  228. package/es/vef-splitter-panel/index.js +2 -12
  229. package/es/vef-status/index.js +2 -37
  230. package/es/vef-table/components/columns/bool.js +2 -91
  231. package/es/vef-table/components/columns/code.js +2 -10
  232. package/es/vef-table/components/columns/data-dictionary.js +2 -92
  233. package/es/vef-table/components/columns/enum.js +2 -101
  234. package/es/vef-table/components/columns/file.js +2 -10
  235. package/es/vef-table/components/columns/icon.js +2 -10
  236. package/es/vef-table/components/columns/id.js +2 -82
  237. package/es/vef-table/components/columns/image.js +2 -11
  238. package/es/vef-table/components/columns/index.js +2 -33
  239. package/es/vef-table/components/columns/markdown.js +2 -10
  240. package/es/vef-table/components/columns/number.js +2 -83
  241. package/es/vef-table/components/columns/render.js +2 -28
  242. package/es/vef-table/components/columns/rich-text.js +2 -10
  243. package/es/vef-table/components/columns/text.js +2 -88
  244. package/es/vef-table/components/columns-settings.js +11 -195
  245. package/es/vef-table/components/operation-buttons.js +3 -230
  246. package/es/vef-table/components/settings-icon.js +4 -19
  247. package/es/vef-table/components/table-footer.js +4 -102
  248. package/es/vef-table/helper.js +2 -15
  249. package/es/vef-table/hooks/use-computed-batch-buttons.js +2 -33
  250. package/es/vef-table/hooks/use-computed-columns.js +2 -20
  251. package/es/vef-table/hooks/use-computed-values.js +2 -38
  252. package/es/vef-table/hooks/use-data.js +2 -57
  253. package/es/vef-table/hooks/use-default-column-configs.js +2 -27
  254. package/es/vef-table/hooks/use-display-value.js +2 -36
  255. package/es/vef-table/hooks/use-helper-columns.js +2 -67
  256. package/es/vef-table/hooks/use-operation-column-width.js +2 -50
  257. package/es/vef-table/hooks/use-pagination-props.js +2 -44
  258. package/es/vef-table/hooks/use-row-props.js +2 -39
  259. package/es/vef-table/hooks/use-row-selection-config.js +2 -112
  260. package/es/vef-table/hooks/use-selected-rows.js +2 -26
  261. package/es/vef-table/hooks/use-table-columns.js +2 -56
  262. package/es/vef-table/hooks/use-table-context.js +2 -21
  263. package/es/vef-table/hooks/use-table-instance.js +2 -15
  264. package/es/vef-table/hooks/use-table-summary.js +2 -42
  265. package/es/vef-table/hooks/use-table-width.js +2 -13
  266. package/es/vef-table/index.js +6 -227
  267. package/es/vef-table/store.js +2 -17
  268. package/es/vef-tabs/index.js +2 -25
  269. package/es/vef-tag/index.js +2 -28
  270. package/es/vef-temporal-picker/helper.js +2 -57
  271. package/es/vef-temporal-picker/hooks/use-dayjs-value.js +2 -18
  272. package/es/vef-temporal-picker/hooks/use-temporal-limit.js +2 -34
  273. package/es/vef-temporal-picker/hooks/use-temporal-picker-instance.js +2 -19
  274. package/es/vef-temporal-picker/index.js +2 -125
  275. package/es/vef-temporal-range-picker/helper.js +2 -57
  276. package/es/vef-temporal-range-picker/hooks/use-dayjs-values.js +2 -23
  277. package/es/vef-temporal-range-picker/hooks/use-temporal-limit.js +2 -34
  278. package/es/vef-temporal-range-picker/hooks/use-temporal-range-picker-instance.js +2 -19
  279. package/es/vef-temporal-range-picker/index.js +2 -128
  280. package/es/vef-temporal-range-picker/props.js +2 -4
  281. package/es/vef-text/index.js +2 -80
  282. package/es/vef-textarea/hooks/use-textarea-instance.js +2 -13
  283. package/es/vef-textarea/index.js +2 -67
  284. package/es/vef-title/index.js +7 -89
  285. package/es/vef-tooltip/index.js +2 -35
  286. package/es/vef-tree-select/hooks/use-change-handler.js +2 -33
  287. package/es/vef-tree-select/hooks/use-data-options.js +2 -45
  288. package/es/vef-tree-select/hooks/use-tree-select-instance.js +2 -20
  289. package/es/vef-tree-select/index.js +2 -89
  290. package/es/vef-virtual-grid/index.js +4 -107
  291. package/es/vef-virtual-list/index.js +5 -215
  292. package/lib/index.cjs +2 -186
  293. package/lib/internal/base.css.cjs +2 -8
  294. package/lib/internal/chart.cjs +2 -22
  295. package/lib/internal/index.cjs +2 -12
  296. package/lib/internal/modern-normalize.css.cjs +2 -8
  297. package/lib/internal/utils.cjs +2 -10
  298. package/lib/vef-access-denied/access-denied-icon.cjs +2 -932
  299. package/lib/vef-access-denied/index.cjs +10 -49
  300. package/lib/vef-access-denied/props.cjs +2 -4
  301. package/lib/vef-action-buttons/index.cjs +2 -79
  302. package/lib/vef-action-buttons/props.cjs +2 -4
  303. package/lib/vef-approval-flow-editor/components/edge.cjs +3 -87
  304. package/lib/vef-approval-flow-editor/components/label-value.cjs +9 -31
  305. package/lib/vef-approval-flow-editor/components/node-content.cjs +11 -49
  306. package/lib/vef-approval-flow-editor/components/node-selector.cjs +5 -37
  307. package/lib/vef-approval-flow-editor/components/node-toolbar.cjs +2 -25
  308. package/lib/vef-approval-flow-editor/components/nodes/approval.cjs +2 -28
  309. package/lib/vef-approval-flow-editor/components/nodes/condition.cjs +2 -28
  310. package/lib/vef-approval-flow-editor/components/nodes/end.cjs +2 -28
  311. package/lib/vef-approval-flow-editor/components/nodes/handle.cjs +2 -28
  312. package/lib/vef-approval-flow-editor/components/nodes/index.cjs +2 -21
  313. package/lib/vef-approval-flow-editor/components/nodes/submit.cjs +2 -28
  314. package/lib/vef-approval-flow-editor/components/selector-content.cjs +10 -52
  315. package/lib/vef-approval-flow-editor/components/source-handle.cjs +2 -44
  316. package/lib/vef-approval-flow-editor/components/target-handle.cjs +2 -13
  317. package/lib/vef-approval-flow-editor/constants.cjs +2 -227
  318. package/lib/vef-approval-flow-editor/helper.cjs +2 -90
  319. package/lib/vef-approval-flow-editor/hooks/use-edges-interaction.cjs +2 -29
  320. package/lib/vef-approval-flow-editor/hooks/use-element-selection.cjs +2 -28
  321. package/lib/vef-approval-flow-editor/hooks/use-nodes-interaction.cjs +2 -55
  322. package/lib/vef-approval-flow-editor/index.cjs +2 -79
  323. package/lib/vef-approval-flow-editor/models/edge-node.cjs +2 -25
  324. package/lib/vef-approval-flow-editor/models/flow-node.cjs +2 -114
  325. package/lib/vef-approval-flow-editor/props.cjs +2 -4
  326. package/lib/vef-approval-flow-editor/store.cjs +2 -22
  327. package/lib/vef-approval-flow-editor/styles.cjs +13 -25
  328. package/lib/vef-approval-flow-editor/types.cjs +2 -20
  329. package/lib/vef-area-chart/index.cjs +2 -45
  330. package/lib/vef-area-chart/props.cjs +2 -4
  331. package/lib/vef-auto-sizer/index.cjs +2 -10
  332. package/lib/vef-auto-sizer/props.cjs +2 -4
  333. package/lib/vef-avatar/index.cjs +2 -24
  334. package/lib/vef-avatar/props.cjs +2 -4
  335. package/lib/vef-avatar-group/index.cjs +2 -29
  336. package/lib/vef-avatar-group/props.cjs +2 -4
  337. package/lib/vef-badge/index.cjs +2 -51
  338. package/lib/vef-badge/props.cjs +2 -4
  339. package/lib/vef-bar-chart/index.cjs +2 -45
  340. package/lib/vef-bar-chart/props.cjs +2 -4
  341. package/lib/vef-bool/hooks/use-bool-instance.cjs +2 -38
  342. package/lib/vef-bool/index.cjs +2 -64
  343. package/lib/vef-bool/props.cjs +2 -4
  344. package/lib/vef-breadcrumb/index.cjs +2 -52
  345. package/lib/vef-breadcrumb/props.cjs +2 -4
  346. package/lib/vef-button/components/base-button.cjs +2 -77
  347. package/lib/vef-button/index.cjs +2 -155
  348. package/lib/vef-button/props.cjs +2 -4
  349. package/lib/vef-card/index.cjs +2 -29
  350. package/lib/vef-card/props.cjs +2 -4
  351. package/lib/vef-card-meta/index.cjs +2 -16
  352. package/lib/vef-card-meta/props.cjs +2 -4
  353. package/lib/vef-chart-container/hooks/use-chart-container-context.cjs +2 -18
  354. package/lib/vef-chart-container/index.cjs +10 -84
  355. package/lib/vef-chart-container/props.cjs +2 -4
  356. package/lib/vef-chart-legend-content/index.cjs +11 -48
  357. package/lib/vef-chart-legend-content/props.cjs +2 -4
  358. package/lib/vef-chart-tooltip-content/index.cjs +23 -89
  359. package/lib/vef-chart-tooltip-content/props.cjs +2 -4
  360. package/lib/vef-checkbox/hooks/use-checkbox-instance.cjs +2 -24
  361. package/lib/vef-checkbox/hooks/use-data-options.cjs +2 -44
  362. package/lib/vef-checkbox/index.cjs +4 -92
  363. package/lib/vef-checkbox/props.cjs +2 -4
  364. package/lib/vef-col/index.cjs +2 -15
  365. package/lib/vef-col/props.cjs +2 -4
  366. package/lib/vef-color-picker/index.cjs +2 -50
  367. package/lib/vef-color-picker/props.cjs +2 -4
  368. package/lib/vef-compact/index.cjs +2 -19
  369. package/lib/vef-compact/props.cjs +2 -4
  370. package/lib/vef-config-provider/global-style.cjs +16 -28
  371. package/lib/vef-config-provider/hooks/use-ui-config.cjs +2 -130
  372. package/lib/vef-config-provider/index.cjs +4 -125
  373. package/lib/vef-config-provider/props.cjs +2 -4
  374. package/lib/vef-config-provider/store.cjs +2 -27
  375. package/lib/vef-container/index.cjs +2 -22
  376. package/lib/vef-container/props.cjs +2 -4
  377. package/lib/vef-crud-page/components/crud-actions.cjs +2 -36
  378. package/lib/vef-crud-page/components/crud-filter.cjs +2 -58
  379. package/lib/vef-crud-page/components/crud-footer.cjs +4 -120
  380. package/lib/vef-crud-page/components/crud-form-modal.cjs +2 -57
  381. package/lib/vef-crud-page/components/crud-header.cjs +2 -33
  382. package/lib/vef-crud-page/components/crud-table.cjs +2 -80
  383. package/lib/vef-crud-page/hooks/use-action-buttons.cjs +2 -41
  384. package/lib/vef-crud-page/hooks/use-crud-context.cjs +2 -24
  385. package/lib/vef-crud-page/hooks/use-crud-schema.cjs +2 -120
  386. package/lib/vef-crud-page/hooks/use-operation-buttons.cjs +2 -64
  387. package/lib/vef-crud-page/index.cjs +2 -154
  388. package/lib/vef-crud-page/props.cjs +2 -4
  389. package/lib/vef-crud-page/store.cjs +2 -148
  390. package/lib/vef-crud-page/types.cjs +2 -4
  391. package/lib/vef-data-grid/index.cjs +2 -89
  392. package/lib/vef-data-grid/props.cjs +2 -4
  393. package/lib/vef-data-table/index.cjs +2 -13
  394. package/lib/vef-data-table/props.cjs +2 -4
  395. package/lib/vef-divider/index.cjs +2 -28
  396. package/lib/vef-divider/props.cjs +2 -4
  397. package/lib/vef-drawer/components/action-button-wrapper.cjs +2 -53
  398. package/lib/vef-drawer/components/button-props.cjs +2 -4
  399. package/lib/vef-drawer/components/cancel-action-button.cjs +2 -25
  400. package/lib/vef-drawer/components/ok-action-button.cjs +2 -24
  401. package/lib/vef-drawer/context.cjs +2 -21
  402. package/lib/vef-drawer/index.cjs +4 -159
  403. package/lib/vef-drawer/props.cjs +2 -4
  404. package/lib/vef-dropdown/index.cjs +2 -96
  405. package/lib/vef-dropdown/props.cjs +2 -4
  406. package/lib/vef-dynamic-icon/index.cjs +2 -50
  407. package/lib/vef-dynamic-icon/props.cjs +2 -10
  408. package/lib/vef-empty/index.cjs +2 -41
  409. package/lib/vef-empty/props.cjs +2 -4
  410. package/lib/vef-empty-placeholder/index.cjs +5 -23
  411. package/lib/vef-empty-placeholder/props.cjs +2 -4
  412. package/lib/vef-error/error-icon.cjs +2 -761
  413. package/lib/vef-error/index.cjs +10 -52
  414. package/lib/vef-error/props.cjs +2 -4
  415. package/lib/vef-filter/components/action-buttons.cjs +6 -123
  416. package/lib/vef-filter/components/advanced-filter.cjs +9 -75
  417. package/lib/vef-filter/components/basic-filter.cjs +5 -39
  418. package/lib/vef-filter/components/fields/index.cjs +2 -23
  419. package/lib/vef-filter/components/fields/input-number.cjs +2 -94
  420. package/lib/vef-filter/components/fields/input.cjs +2 -71
  421. package/lib/vef-filter/components/fields/props.cjs +2 -4
  422. package/lib/vef-filter/components/fields/radio.cjs +2 -113
  423. package/lib/vef-filter/components/fields/select.cjs +2 -144
  424. package/lib/vef-filter/components/fields/tree-select.cjs +2 -140
  425. package/lib/vef-filter/components/filter-field.cjs +2 -23
  426. package/lib/vef-filter/components/filter-item.cjs +2 -116
  427. package/lib/vef-filter/event.cjs +2 -48
  428. package/lib/vef-filter/helper.cjs +2 -19
  429. package/lib/vef-filter/hooks/use-action-handlers.cjs +2 -74
  430. package/lib/vef-filter/hooks/use-computed-values.cjs +2 -59
  431. package/lib/vef-filter/hooks/use-filter-context.cjs +2 -24
  432. package/lib/vef-filter/hooks/use-filter-initialization.cjs +2 -41
  433. package/lib/vef-filter/hooks/use-filter-instance.cjs +2 -30
  434. package/lib/vef-filter/hooks/use-filter-items.cjs +2 -27
  435. package/lib/vef-filter/hooks/use-filter-values-change.cjs +2 -34
  436. package/lib/vef-filter/hooks/use-label-config.cjs +2 -31
  437. package/lib/vef-filter/index.cjs +3 -145
  438. package/lib/vef-filter/props.cjs +2 -4
  439. package/lib/vef-filter/store.cjs +2 -77
  440. package/lib/vef-filter/types.cjs +2 -4
  441. package/lib/vef-flex/index.cjs +2 -35
  442. package/lib/vef-flex/props.cjs +2 -4
  443. package/lib/vef-float-button/index.cjs +2 -53
  444. package/lib/vef-float-button/props.cjs +2 -4
  445. package/lib/vef-float-button-group/index.cjs +2 -24
  446. package/lib/vef-float-button-group/props.cjs +2 -4
  447. package/lib/vef-form/components/fields/icon-select.cjs +2 -69
  448. package/lib/vef-form/components/fields/index.cjs +2 -29
  449. package/lib/vef-form/components/fields/input-number.cjs +2 -127
  450. package/lib/vef-form/components/fields/input.cjs +2 -136
  451. package/lib/vef-form/components/fields/password.cjs +2 -119
  452. package/lib/vef-form/components/fields/props.cjs +2 -4
  453. package/lib/vef-form/components/fields/radio.cjs +2 -110
  454. package/lib/vef-form/components/fields/select.cjs +2 -242
  455. package/lib/vef-form/components/fields/textarea.cjs +2 -113
  456. package/lib/vef-form/components/fields/tree-select.cjs +2 -238
  457. package/lib/vef-form/components/form-actions.cjs +4 -62
  458. package/lib/vef-form/components/form-content.cjs +3 -148
  459. package/lib/vef-form/components/form-field.cjs +2 -26
  460. package/lib/vef-form/components/form-group.cjs +4 -68
  461. package/lib/vef-form/components/form-hidden-item.cjs +2 -40
  462. package/lib/vef-form/components/form-item.cjs +2 -83
  463. package/lib/vef-form/components/form-row.cjs +2 -102
  464. package/lib/vef-form/event.cjs +2 -48
  465. package/lib/vef-form/helper.cjs +2 -19
  466. package/lib/vef-form/hooks/use-action-handlers.cjs +2 -134
  467. package/lib/vef-form/hooks/use-columns-layout.cjs +2 -126
  468. package/lib/vef-form/hooks/use-computed-values.cjs +2 -59
  469. package/lib/vef-form/hooks/use-form-context.cjs +2 -20
  470. package/lib/vef-form/hooks/use-form-initialization.cjs +2 -49
  471. package/lib/vef-form/hooks/use-form-instance.cjs +2 -30
  472. package/lib/vef-form/hooks/use-form-values-change.cjs +2 -34
  473. package/lib/vef-form/hooks/use-label-width.cjs +2 -22
  474. package/lib/vef-form/index.cjs +4 -178
  475. package/lib/vef-form/props.cjs +2 -4
  476. package/lib/vef-form/store.cjs +2 -71
  477. package/lib/vef-form/types.cjs +2 -4
  478. package/lib/vef-form/validation-rules.cjs +2 -312
  479. package/lib/vef-form-drawer/index.cjs +2 -102
  480. package/lib/vef-form-drawer/props.cjs +2 -4
  481. package/lib/vef-form-modal/index.cjs +2 -99
  482. package/lib/vef-form-modal/props.cjs +2 -4
  483. package/lib/vef-generic-select/index.cjs +2 -85
  484. package/lib/vef-generic-select/props.cjs +2 -4
  485. package/lib/vef-grid/index.cjs +7 -87
  486. package/lib/vef-grid/props.cjs +2 -8
  487. package/lib/vef-grid-item/index.cjs +2 -56
  488. package/lib/vef-grid-item/props.cjs +2 -4
  489. package/lib/vef-icon/index.cjs +2 -54
  490. package/lib/vef-icon/props.cjs +2 -4
  491. package/lib/vef-icon-select/index.cjs +12 -150
  492. package/lib/vef-icon-select/props.cjs +2 -4
  493. package/lib/vef-input/hooks/use-input-instance.cjs +2 -19
  494. package/lib/vef-input/index.cjs +2 -68
  495. package/lib/vef-input/props.cjs +2 -4
  496. package/lib/vef-input-number/hooks/use-input-number-instance.cjs +2 -17
  497. package/lib/vef-input-number/index.cjs +2 -152
  498. package/lib/vef-input-number/props.cjs +2 -4
  499. package/lib/vef-layout/common-styles.cjs +5 -14
  500. package/lib/vef-layout/components/content.cjs +2 -17
  501. package/lib/vef-layout/components/font-size.cjs +2 -72
  502. package/lib/vef-layout/components/fullscreen.cjs +2 -27
  503. package/lib/vef-layout/components/header-action-icons.cjs +7 -33
  504. package/lib/vef-layout/components/header-content.cjs +2 -23
  505. package/lib/vef-layout/components/header.cjs +7 -73
  506. package/lib/vef-layout/components/icon-boy.cjs +2 -73
  507. package/lib/vef-layout/components/icon-girl.cjs +2 -80
  508. package/lib/vef-layout/components/icon-menu-fold-left.cjs +2 -27
  509. package/lib/vef-layout/components/icon-menu-unfold-left.cjs +2 -27
  510. package/lib/vef-layout/components/menu-groups.cjs +16 -127
  511. package/lib/vef-layout/components/message.cjs +2 -15
  512. package/lib/vef-layout/components/search.cjs +2 -15
  513. package/lib/vef-layout/components/sider.cjs +6 -58
  514. package/lib/vef-layout/components/title.cjs +9 -57
  515. package/lib/vef-layout/components/user-avatar.cjs +10 -84
  516. package/lib/vef-layout/hooks/use-layout-context.cjs +2 -16
  517. package/lib/vef-layout/index.cjs +3 -37
  518. package/lib/vef-layout/logo.svg.cjs +2 -8
  519. package/lib/vef-layout/props.cjs +2 -4
  520. package/lib/vef-layout/store.cjs +2 -22
  521. package/lib/vef-line-chart/index.cjs +2 -42
  522. package/lib/vef-line-chart/props.cjs +2 -4
  523. package/lib/vef-loading-placeholder/index.cjs +6 -46
  524. package/lib/vef-loading-placeholder/props.cjs +2 -4
  525. package/lib/vef-login/index.cjs +22 -156
  526. package/lib/vef-login/login-icon.cjs +2 -672
  527. package/lib/vef-login/props.cjs +2 -4
  528. package/lib/vef-menu/index.cjs +5 -81
  529. package/lib/vef-menu/props.cjs +2 -4
  530. package/lib/vef-modal/components/action-button-wrapper.cjs +2 -53
  531. package/lib/vef-modal/components/button-props.cjs +2 -4
  532. package/lib/vef-modal/components/cancel-action-button.cjs +2 -22
  533. package/lib/vef-modal/components/ok-action-button.cjs +2 -24
  534. package/lib/vef-modal/context.cjs +2 -21
  535. package/lib/vef-modal/index.cjs +3 -244
  536. package/lib/vef-modal/props.cjs +2 -4
  537. package/lib/vef-not-found/index.cjs +10 -49
  538. package/lib/vef-not-found/not-found-icon.cjs +2 -848
  539. package/lib/vef-not-found/props.cjs +2 -4
  540. package/lib/vef-page/index.cjs +11 -91
  541. package/lib/vef-page/props.cjs +2 -4
  542. package/lib/vef-pagination/index.cjs +2 -61
  543. package/lib/vef-pagination/props.cjs +2 -17
  544. package/lib/vef-paragraph/index.cjs +2 -93
  545. package/lib/vef-paragraph/props.cjs +2 -4
  546. package/lib/vef-password/hooks/use-password-instance.cjs +2 -17
  547. package/lib/vef-password/index.cjs +2 -71
  548. package/lib/vef-password/props.cjs +2 -4
  549. package/lib/vef-pie-chart/index.cjs +9 -74
  550. package/lib/vef-pie-chart/props.cjs +2 -4
  551. package/lib/vef-popconfirm/index.cjs +2 -60
  552. package/lib/vef-popconfirm/props.cjs +2 -4
  553. package/lib/vef-popover/index.cjs +2 -38
  554. package/lib/vef-popover/props.cjs +2 -4
  555. package/lib/vef-radio/hooks/use-data-options.cjs +2 -44
  556. package/lib/vef-radio/hooks/use-radio-instance.cjs +2 -24
  557. package/lib/vef-radio/index.cjs +4 -92
  558. package/lib/vef-radio/props.cjs +2 -4
  559. package/lib/vef-rate/hooks/use-rate-instance.cjs +2 -17
  560. package/lib/vef-rate/index.cjs +2 -34
  561. package/lib/vef-rate/props.cjs +2 -4
  562. package/lib/vef-responsive-container/index.cjs +3 -58
  563. package/lib/vef-responsive-container/props.cjs +2 -4
  564. package/lib/vef-responsive-item/index.cjs +3 -27
  565. package/lib/vef-responsive-item/props.cjs +2 -4
  566. package/lib/vef-ribbon/index.cjs +2 -42
  567. package/lib/vef-ribbon/props.cjs +2 -4
  568. package/lib/vef-row/index.cjs +2 -16
  569. package/lib/vef-row/props.cjs +2 -4
  570. package/lib/vef-scroll-area/components/scrollbar.cjs +8 -38
  571. package/lib/vef-scroll-area/index.cjs +4 -73
  572. package/lib/vef-scroll-area/props.cjs +2 -4
  573. package/lib/vef-select/components/option.cjs +4 -27
  574. package/lib/vef-select/hooks/use-data-options.cjs +2 -51
  575. package/lib/vef-select/hooks/use-field-names.cjs +2 -25
  576. package/lib/vef-select/hooks/use-render-label.cjs +3 -27
  577. package/lib/vef-select/hooks/use-render-option.cjs +2 -23
  578. package/lib/vef-select/hooks/use-select-instance.cjs +2 -24
  579. package/lib/vef-select/index.cjs +2 -104
  580. package/lib/vef-select/props.cjs +2 -4
  581. package/lib/vef-slider/hooks/use-slider-instance.cjs +2 -17
  582. package/lib/vef-slider/index.cjs +2 -38
  583. package/lib/vef-slider/props.cjs +2 -4
  584. package/lib/vef-sortable-list/components/overlay-item.cjs +3 -35
  585. package/lib/vef-sortable-list/components/sortable-item.cjs +3 -79
  586. package/lib/vef-sortable-list/hooks/use-merged-items.cjs +2 -25
  587. package/lib/vef-sortable-list/index.cjs +2 -118
  588. package/lib/vef-sortable-list/props.cjs +2 -4
  589. package/lib/vef-space/index.cjs +2 -29
  590. package/lib/vef-space/props.cjs +2 -4
  591. package/lib/vef-spin/index.cjs +2 -16
  592. package/lib/vef-spin/props.cjs +2 -4
  593. package/lib/vef-splitter/index.cjs +2 -24
  594. package/lib/vef-splitter/props.cjs +2 -4
  595. package/lib/vef-splitter-panel/index.cjs +2 -16
  596. package/lib/vef-splitter-panel/props.cjs +2 -4
  597. package/lib/vef-status/index.cjs +2 -41
  598. package/lib/vef-status/props.cjs +2 -4
  599. package/lib/vef-table/components/columns/bool.cjs +2 -95
  600. package/lib/vef-table/components/columns/code.cjs +2 -14
  601. package/lib/vef-table/components/columns/data-dictionary.cjs +2 -96
  602. package/lib/vef-table/components/columns/enum.cjs +2 -105
  603. package/lib/vef-table/components/columns/file.cjs +2 -14
  604. package/lib/vef-table/components/columns/icon.cjs +2 -14
  605. package/lib/vef-table/components/columns/id.cjs +2 -86
  606. package/lib/vef-table/components/columns/image.cjs +2 -15
  607. package/lib/vef-table/components/columns/index.cjs +2 -37
  608. package/lib/vef-table/components/columns/markdown.cjs +2 -14
  609. package/lib/vef-table/components/columns/number.cjs +2 -87
  610. package/lib/vef-table/components/columns/props.cjs +2 -4
  611. package/lib/vef-table/components/columns/render.cjs +2 -32
  612. package/lib/vef-table/components/columns/rich-text.cjs +2 -14
  613. package/lib/vef-table/components/columns/text.cjs +2 -92
  614. package/lib/vef-table/components/columns-settings.cjs +11 -199
  615. package/lib/vef-table/components/operation-buttons.cjs +3 -234
  616. package/lib/vef-table/components/settings-icon.cjs +4 -23
  617. package/lib/vef-table/components/table-footer.cjs +4 -106
  618. package/lib/vef-table/helper.cjs +2 -19
  619. package/lib/vef-table/hooks/use-computed-batch-buttons.cjs +2 -37
  620. package/lib/vef-table/hooks/use-computed-columns.cjs +2 -24
  621. package/lib/vef-table/hooks/use-computed-values.cjs +2 -42
  622. package/lib/vef-table/hooks/use-data.cjs +2 -61
  623. package/lib/vef-table/hooks/use-default-column-configs.cjs +2 -31
  624. package/lib/vef-table/hooks/use-display-value.cjs +2 -40
  625. package/lib/vef-table/hooks/use-helper-columns.cjs +2 -71
  626. package/lib/vef-table/hooks/use-operation-column-width.cjs +2 -54
  627. package/lib/vef-table/hooks/use-pagination-props.cjs +2 -48
  628. package/lib/vef-table/hooks/use-row-props.cjs +2 -43
  629. package/lib/vef-table/hooks/use-row-selection-config.cjs +2 -116
  630. package/lib/vef-table/hooks/use-selected-rows.cjs +2 -30
  631. package/lib/vef-table/hooks/use-table-columns.cjs +2 -60
  632. package/lib/vef-table/hooks/use-table-context.cjs +2 -27
  633. package/lib/vef-table/hooks/use-table-instance.cjs +2 -19
  634. package/lib/vef-table/hooks/use-table-summary.cjs +2 -46
  635. package/lib/vef-table/hooks/use-table-width.cjs +2 -17
  636. package/lib/vef-table/index.cjs +6 -231
  637. package/lib/vef-table/props.cjs +2 -4
  638. package/lib/vef-table/store.cjs +2 -23
  639. package/lib/vef-table/types.cjs +2 -4
  640. package/lib/vef-tabs/index.cjs +2 -29
  641. package/lib/vef-tabs/props.cjs +2 -4
  642. package/lib/vef-tag/index.cjs +2 -32
  643. package/lib/vef-tag/props.cjs +2 -4
  644. package/lib/vef-temporal-picker/helper.cjs +2 -61
  645. package/lib/vef-temporal-picker/hooks/use-dayjs-value.cjs +2 -22
  646. package/lib/vef-temporal-picker/hooks/use-temporal-limit.cjs +2 -38
  647. package/lib/vef-temporal-picker/hooks/use-temporal-picker-instance.cjs +2 -23
  648. package/lib/vef-temporal-picker/index.cjs +2 -129
  649. package/lib/vef-temporal-picker/props.cjs +2 -4
  650. package/lib/vef-temporal-range-picker/helper.cjs +2 -61
  651. package/lib/vef-temporal-range-picker/hooks/use-dayjs-values.cjs +2 -27
  652. package/lib/vef-temporal-range-picker/hooks/use-temporal-limit.cjs +2 -38
  653. package/lib/vef-temporal-range-picker/hooks/use-temporal-range-picker-instance.cjs +2 -23
  654. package/lib/vef-temporal-range-picker/index.cjs +2 -132
  655. package/lib/vef-temporal-range-picker/props.cjs +2 -8
  656. package/lib/vef-text/index.cjs +2 -84
  657. package/lib/vef-text/props.cjs +2 -4
  658. package/lib/vef-textarea/hooks/use-textarea-instance.cjs +2 -17
  659. package/lib/vef-textarea/index.cjs +2 -71
  660. package/lib/vef-textarea/props.cjs +2 -4
  661. package/lib/vef-title/index.cjs +7 -93
  662. package/lib/vef-title/props.cjs +2 -4
  663. package/lib/vef-tooltip/index.cjs +2 -39
  664. package/lib/vef-tooltip/props.cjs +2 -4
  665. package/lib/vef-tree-select/hooks/use-change-handler.cjs +2 -37
  666. package/lib/vef-tree-select/hooks/use-data-options.cjs +2 -49
  667. package/lib/vef-tree-select/hooks/use-tree-select-instance.cjs +2 -24
  668. package/lib/vef-tree-select/index.cjs +2 -93
  669. package/lib/vef-tree-select/props.cjs +2 -4
  670. package/lib/vef-virtual-grid/index.cjs +4 -111
  671. package/lib/vef-virtual-grid/props.cjs +2 -4
  672. package/lib/vef-virtual-list/index.cjs +5 -219
  673. package/lib/vef-virtual-list/props.cjs +2 -4
  674. package/package.json +4 -4
@@ -1,131 +1,3 @@
1
- /*! VefFramework version: 1.0.99, build time: 2025-03-07T13:41:55.865Z, made by Venus. */
2
- import { useApiContext } from '@vef-framework/core';
3
- import { isFunction, VefError, showLoadingMessage, omit, showSuccessMessage } from '@vef-framework/shared';
4
- import { useCallback, useMemo } from 'react';
5
- import { useFormStore } from '../store.js';
6
-
7
- function useActionHandlers({
8
- submitApi,
9
- submitTip = "\u63D0\u4EA4\u4E2D...",
10
- onBeforeSubmit,
11
- onSubmit,
12
- onSubmitSuccess,
13
- onSubmitFailure,
14
- onReset
15
- }) {
16
- const [
17
- form,
18
- scene,
19
- eventBus,
20
- setIsLoading,
21
- virtualFieldNames,
22
- getValues,
23
- initialValues,
24
- invokeValueChangeHandlers
25
- ] = useFormStore((state) => [
26
- state.form,
27
- state.scene,
28
- state.eventBus,
29
- state.setIsLoading,
30
- state.virtualFieldNames,
31
- state.getValues,
32
- state.initialValues,
33
- state.invokeValueChangeHandlers
34
- ]);
35
- const { useApiMutation, stubMutationApi } = useApiContext();
36
- const { mutate } = useApiMutation(submitApi ?? stubMutationApi);
37
- if (!isFunction(onSubmit) && !submitApi) {
38
- throw new VefError(-1, "'onSubmit' or 'submitApi' prop is required for VefForm component");
39
- }
40
- const handleReset = useCallback(() => {
41
- const values = getValues();
42
- form.resetFields();
43
- invokeValueChangeHandlers();
44
- eventBus.emitChange(initialValues);
45
- onReset?.(values, scene);
46
- }, [
47
- form,
48
- getValues,
49
- onReset,
50
- scene,
51
- invokeValueChangeHandlers,
52
- initialValues,
53
- eventBus
54
- ]);
55
- const handleSubmit = useMemo(() => {
56
- if (isFunction(onSubmit)) {
57
- if (submitApi) {
58
- console.warn("'submitApi' prop is ignored when 'onSubmit' prop is provided in VefForm component");
59
- }
60
- return async (values) => {
61
- setIsLoading(true);
62
- let valuesToUse = values;
63
- let closeLoading = null;
64
- try {
65
- const submitTipToUse = isFunction(submitTip) ? submitTip(values, scene) : submitTip;
66
- closeLoading = showLoadingMessage(submitTipToUse);
67
- if (isFunction(onBeforeSubmit)) {
68
- valuesToUse = await onBeforeSubmit(valuesToUse, scene);
69
- }
70
- const valuesToSubmit = omit(valuesToUse, virtualFieldNames);
71
- await onSubmit(valuesToSubmit, scene);
72
- eventBus.emitSubmitResult(true);
73
- } catch (error) {
74
- eventBus.emitSubmitResult(false);
75
- throw error;
76
- } finally {
77
- setIsLoading(false);
78
- closeLoading?.();
79
- }
80
- };
81
- }
82
- return async (values) => {
83
- setIsLoading(true);
84
- let valuesToUse = values;
85
- let closeLoading = null;
86
- try {
87
- const submitTipToUse = isFunction(submitTip) ? submitTip(values, scene) : submitTip;
88
- closeLoading = showLoadingMessage(submitTipToUse);
89
- if (isFunction(onBeforeSubmit)) {
90
- valuesToUse = await onBeforeSubmit(values, scene);
91
- }
92
- const toSubmitValues = omit(valuesToUse, virtualFieldNames);
93
- const apiResponse = await mutate(toSubmitValues);
94
- (onSubmitSuccess ?? (({ message }) => {
95
- showSuccessMessage(message);
96
- }))(apiResponse, valuesToUse, scene);
97
- eventBus.emitSubmitResult(true);
98
- } catch (error) {
99
- eventBus.emitSubmitResult(false);
100
- onSubmitFailure?.(error, valuesToUse, scene);
101
- } finally {
102
- setIsLoading(false);
103
- closeLoading?.();
104
- }
105
- };
106
- }, [
107
- onSubmit,
108
- submitApi,
109
- setIsLoading,
110
- submitTip,
111
- scene,
112
- onBeforeSubmit,
113
- virtualFieldNames,
114
- eventBus,
115
- mutate,
116
- onSubmitSuccess,
117
- onSubmitFailure
118
- ]);
119
- const handleSubmitFailed = useCallback(({ values, errorFields }) => {
120
- eventBus.emitSubmitResult(false);
121
- onSubmitFailure?.(new VefError(-1, errorFields.flatMap((field) => field.errors).join(", ")), values, scene);
122
- }, [eventBus, onSubmitFailure, scene]);
123
- return {
124
- handleReset,
125
- handleSubmit,
126
- handleSubmitFailed
127
- };
128
- }
129
-
130
- export { useActionHandlers };
1
+ /*! VefFramework version: 1.0.100, build time: 2025-03-07T13:52:52.580Z, made by Venus. */
2
+ import{useApiContext as e}from"@vef-framework/core";import{isFunction as t,VefError as i,showLoadingMessage as o,omit as n,showSuccessMessage as r}from"@vef-framework/shared";import{useCallback as s,useMemo as a}from"react";import{useFormStore as u}from"../store.js";function useActionHandlers({submitApi:m,submitTip:l="提交中...",onBeforeSubmit:c,onSubmit:p,onSubmitSuccess:b,onSubmitFailure:f,onReset:d}){const[S,w,h,v,A,F,R,g]=u((e=>[e.form,e.scene,e.eventBus,e.setIsLoading,e.virtualFieldNames,e.getValues,e.initialValues,e.invokeValueChangeHandlers])),{useApiMutation:y,stubMutationApi:V}=e(),{mutate:k}=y(m??V);if(!t(p)&&!m)throw new i(-1,"'onSubmit' or 'submitApi' prop is required for VefForm component");return{handleReset:s((()=>{const e=F();S.resetFields(),g(),h.emitChange(R),d?.(e,w)}),[S,F,d,w,g,R,h]),handleSubmit:a((()=>t(p)?(m&&console.warn("'submitApi' prop is ignored when 'onSubmit' prop is provided in VefForm component"),async e=>{v(!0);let i=e,r=null;try{const s=t(l)?l(e,w):l;r=o(s),t(c)&&(i=await c(i,w));const a=n(i,A);await p(a,w),h.emitSubmitResult(!0)}catch(e){throw h.emitSubmitResult(!1),e}finally{v(!1),r?.()}}):async e=>{v(!0);let i=e,s=null;try{const a=t(l)?l(e,w):l;s=o(a),t(c)&&(i=await c(e,w));const u=n(i,A),m=await k(u);(b??(({message:e})=>{r(e)}))(m,i,w),h.emitSubmitResult(!0)}catch(e){h.emitSubmitResult(!1),f?.(e,i,w)}finally{v(!1),s?.()}}),[p,m,v,l,w,c,A,h,k,b,f]),handleSubmitFailed:s((({values:e,errorFields:t})=>{h.emitSubmitResult(!1),f?.(new i(-1,t.flatMap((e=>e.errors)).join(", ")),e,w)}),[h,f,w])}}export{useActionHandlers};
131
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 */
@@ -1,123 +1,3 @@
1
- /*! VefFramework version: 1.0.99, build time: 2025-03-07T13:41:55.865Z, made by Venus. */
2
- import { unique, VefError } from '@vef-framework/shared';
3
- import { useMemo } from 'react';
4
-
5
- const MAX_SPANS = 24;
6
- const SPAN_BASES = [
7
- {
8
- breakpoint: "xs",
9
- base: MAX_SPANS,
10
- spans: 1
11
- },
12
- {
13
- breakpoint: "sm",
14
- base: MAX_SPANS / 2,
15
- spans: 2
16
- },
17
- {
18
- breakpoint: "md",
19
- base: MAX_SPANS / 3,
20
- spans: 3
21
- },
22
- {
23
- breakpoint: "lg",
24
- base: MAX_SPANS / 4,
25
- spans: 4
26
- },
27
- {
28
- breakpoint: "xl",
29
- base: MAX_SPANS / 4,
30
- spans: 4
31
- },
32
- {
33
- breakpoint: "xxl",
34
- base: MAX_SPANS / 6,
35
- spans: 6
36
- }
37
- ];
38
- const ALLOWED_SPANS = unique(SPAN_BASES.map((item) => item.spans));
39
- function calculateResponsiveLayout(rowKey, columns, autoExpand) {
40
- const totalSpans = columns.reduce((acc, column) => acc + (column.span ?? 1), 0);
41
- if (!ALLOWED_SPANS.includes(totalSpans)) {
42
- throw new VefError(-3, `The total spans of the columns of the row [${rowKey}] must be one of the following: ${ALLOWED_SPANS.join(", ")}.`);
43
- }
44
- const requiredBase = 24 / totalSpans;
45
- const layout = {};
46
- for (const {
47
- breakpoint,
48
- base,
49
- spans
50
- } of SPAN_BASES) {
51
- if (requiredBase >= base) {
52
- layout[breakpoint] = columns.reduce((acc, column) => {
53
- acc[column.key] = (column.span ?? 1) * requiredBase;
54
- return acc;
55
- }, {});
56
- } else {
57
- const map = {};
58
- let remainingSpans = spans;
59
- let lastColumnKey = null;
60
- for (const column of columns) {
61
- const requiredSpan = column.span ?? 1;
62
- if (remainingSpans >= requiredSpan) {
63
- map[column.key] = requiredSpan * base;
64
- remainingSpans -= requiredSpan;
65
- lastColumnKey = column.key;
66
- } else {
67
- if (lastColumnKey) {
68
- if (autoExpand) {
69
- map[lastColumnKey] += remainingSpans * base;
70
- }
71
- remainingSpans = spans;
72
- lastColumnKey = null;
73
- }
74
- if (requiredSpan > spans) {
75
- map[column.key] = 24;
76
- } else {
77
- map[column.key] = requiredSpan * base;
78
- remainingSpans -= requiredSpan;
79
- lastColumnKey = column.key;
80
- }
81
- }
82
- if (remainingSpans === 0) {
83
- remainingSpans = spans;
84
- lastColumnKey = null;
85
- }
86
- }
87
- if (remainingSpans > 0) {
88
- if (autoExpand) {
89
- map[lastColumnKey] += remainingSpans * base;
90
- }
91
- lastColumnKey = null;
92
- }
93
- layout[breakpoint] = map;
94
- }
95
- }
96
- return layout;
97
- }
98
- function calculateFixedLayout(rowKey, columns) {
99
- const totalSpans = columns.reduce((acc, column) => acc + (column.span ?? 1), 0);
100
- if (totalSpans > MAX_SPANS || MAX_SPANS % totalSpans !== 0) {
101
- throw new VefError(-3, `The total spans of the columns of the row [${rowKey}] must be less than or equal to ${MAX_SPANS} and a divisor of ${MAX_SPANS}.`);
102
- }
103
- const base = MAX_SPANS / totalSpans;
104
- return columns.reduce((acc, column) => {
105
- acc[column.key] = (column.span ?? 1) * base;
106
- return acc;
107
- }, {});
108
- }
109
- function useColumnsLayout(rowKey, columns, layoutMode, autoExpand) {
110
- return useMemo(() => {
111
- if (columns.length === 0) {
112
- return {};
113
- }
114
- if (layoutMode === "responsive") {
115
- return calculateResponsiveLayout(rowKey, columns, autoExpand);
116
- } else {
117
- return calculateFixedLayout(rowKey, columns);
118
- }
119
- }, []);
120
- }
121
-
122
- export { useColumnsLayout };
1
+ /*! VefFramework version: 1.0.100, build time: 2025-03-07T13:52:52.580Z, made by Venus. */
2
+ import{unique as e,VefError as s}from"@vef-framework/shared";import{useMemo as n}from"react";const o=24,t=[{breakpoint:"xs",base:o,spans:1},{breakpoint:"sm",base:12,spans:2},{breakpoint:"md",base:8,spans:3},{breakpoint:"lg",base:6,spans:4},{breakpoint:"xl",base:6,spans:4},{breakpoint:"xxl",base:4,spans:6}],a=e(t.map((e=>e.spans)));function useColumnsLayout(e,r,u,l){return n((()=>0===r.length?{}:"responsive"===u?function calculateResponsiveLayout(e,n,o){const r=n.reduce(((e,s)=>e+(s.span??1)),0);if(!a.includes(r))throw new s(-3,`The total spans of the columns of the row [${e}] must be one of the following: ${a.join(", ")}.`);const u=24/r,l={};for(const{breakpoint:e,base:s,spans:a}of t)if(u>=s)l[e]=n.reduce(((e,s)=>(e[s.key]=(s.span??1)*u,e)),{});else{const t={};let r=a,u=null;for(const e of n){const n=e.span??1;r>=n?(t[e.key]=n*s,r-=n,u=e.key):(u&&(o&&(t[u]+=r*s),r=a,u=null),n>a?t[e.key]=24:(t[e.key]=n*s,r-=n,u=e.key)),0===r&&(r=a,u=null)}r>0&&(o&&(t[u]+=r*s),u=null),l[e]=t}return l}(e,r,l):function calculateFixedLayout(e,n){const t=n.reduce(((e,s)=>e+(s.span??1)),0);if(t>o||o%t!=0)throw new s(-3,`The total spans of the columns of the row [${e}] must be less than or equal to 24 and a divisor of 24.`);const a=o/t;return n.reduce(((e,s)=>(e[s.key]=(s.span??1)*a,e)),{})}(e,r)),[])}export{useColumnsLayout};
123
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 */
@@ -1,56 +1,3 @@
1
- /*! VefFramework version: 1.0.99, build time: 2025-03-07T13:41:55.865Z, made by Venus. */
2
- import { useUpdater, useDeepMemo, useDeepLayoutEffect } from '@vef-framework/hooks';
3
- import { isFunctionOrExpression, isDeepEqual } from '@vef-framework/shared';
4
- import { computeValue } from '../helper.js';
5
- import { useFormStore } from '../store.js';
6
-
7
- function useComputedValues(values, returnAsObject = false) {
8
- const [scene, eventBus, getValues] = useFormStore((state) => [state.scene, state.eventBus, state.getValues]);
9
- const forceUpdate = useUpdater();
10
- const currentValues = getValues();
11
- const computedValues = useDeepMemo(() => values.reduce((acc, it) => {
12
- const {
13
- key,
14
- rawValue,
15
- defaultValue
16
- } = it;
17
- const computedValue = computeValue(rawValue, currentValues, scene, defaultValue);
18
- acc[key] = computedValue;
19
- return acc;
20
- }, {}), [currentValues, scene, values]);
21
- useDeepLayoutEffect(() => {
22
- const realComputedValues = values.filter(({ rawValue }) => isFunctionOrExpression(rawValue));
23
- const shouldListenChangeEvent = realComputedValues.length > 0;
24
- if (shouldListenChangeEvent) {
25
- const handleChange = (newValues) => {
26
- for (const value of realComputedValues) {
27
- const {
28
- key,
29
- rawValue,
30
- defaultValue
31
- } = value;
32
- const computedValue = computedValues[key];
33
- const refreshedValue = computeValue(rawValue, newValues, scene, defaultValue);
34
- if (!isDeepEqual(refreshedValue, computedValue)) {
35
- forceUpdate();
36
- break;
37
- }
38
- }
39
- };
40
- eventBus.onChange(handleChange);
41
- return () => {
42
- eventBus.offChange(handleChange);
43
- };
44
- }
45
- }, [computedValues, eventBus, forceUpdate, scene, values]);
46
- if (returnAsObject) {
47
- return values.reduce((acc, { key }) => {
48
- acc[key] = computedValues[key];
49
- return acc;
50
- }, {});
51
- }
52
- return values.map(({ key }) => computedValues[key]);
53
- }
54
-
55
- export { useComputedValues };
1
+ /*! VefFramework version: 1.0.100, build time: 2025-03-07T13:52:52.580Z, made by Venus. */
2
+ import{useUpdater as e,useDeepMemo as r,useDeepLayoutEffect as o}from"@vef-framework/hooks";import{isFunctionOrExpression as t,isDeepEqual as u}from"@vef-framework/shared";import{computeValue as a}from"../helper.js";import{useFormStore as f}from"../store.js";function useComputedValues(s,n=!1){const[l,m,c]=f((e=>[e.scene,e.eventBus,e.getValues])),p=e(),i=c(),k=r((()=>s.reduce(((e,r)=>{const{key:o,rawValue:t,defaultValue:u}=r,f=a(t,i,l,u);return e[o]=f,e}),{})),[i,l,s]);return o((()=>{const e=s.filter((({rawValue:e})=>t(e)));if(e.length>0){const handleChange=r=>{for(const o of e){const{key:e,rawValue:t,defaultValue:f}=o,s=k[e],n=a(t,r,l,f);if(!u(n,s)){p();break}}};return m.onChange(handleChange),()=>{m.offChange(handleChange)}}}),[k,m,p,l,s]),n?s.reduce(((e,{key:r})=>(e[r]=k[r],e)),{}):s.map((({key:e})=>k[e]))}export{useComputedValues};
56
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 */
@@ -1,15 +1,3 @@
1
- /*! VefFramework version: 1.0.99, build time: 2025-03-07T13:41:55.865Z, made by Venus. */
2
- import { createSelectableContext } from '@vef-framework/shared';
3
-
4
- const {
5
- useContextSelector: useFormContextSelector,
6
- useContext: useFormContext,
7
- ContextProvider: FormContextProvider
8
- } = createSelectableContext({
9
- autoExpand: true,
10
- labelPosition: "top",
11
- layoutMode: "responsive"
12
- });
13
-
14
- export { FormContextProvider, useFormContext, useFormContextSelector };
1
+ /*! VefFramework version: 1.0.100, build time: 2025-03-07T13:52:52.580Z, made by Venus. */
2
+ import{createSelectableContext as o}from"@vef-framework/shared";const{useContextSelector:e,useContext:t,ContextProvider:r}=o({autoExpand:!0,labelPosition:"top",layoutMode:"responsive"});export{r as FormContextProvider,t as useFormContext,e as useFormContextSelector};
15
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 */
@@ -1,46 +1,3 @@
1
- /*! VefFramework version: 1.0.99, build time: 2025-03-07T13:41:55.865Z, made by Venus. */
2
- import { isNullish, isFunction } from '@vef-framework/shared';
3
- import { useMemo } from 'react';
4
-
5
- function useFormInitialization(schema, initialValues) {
6
- return useMemo(() => {
7
- const mergedInitialValues = {
8
- ...initialValues
9
- };
10
- const valueChangeHandlers = {};
11
- const virtualFieldNames = [];
12
- for (const group of schema) {
13
- const { rows } = group;
14
- for (const row of rows) {
15
- const { columns } = row;
16
- for (const column of columns) {
17
- const { items } = column;
18
- for (const item of items) {
19
- const {
20
- name,
21
- defaultValue,
22
- virtual
23
- } = item;
24
- if (!isNullish(defaultValue) && isNullish(mergedInitialValues[name])) {
25
- mergedInitialValues[name] = defaultValue;
26
- }
27
- if (item.type !== "Hidden" && isFunction(item.onChange)) {
28
- valueChangeHandlers[name] = item.onChange;
29
- }
30
- if (virtual === true) {
31
- virtualFieldNames.push(name);
32
- }
33
- }
34
- }
35
- }
36
- }
37
- return {
38
- mergedInitialValues,
39
- valueChangeHandlers,
40
- virtualFieldNames
41
- };
42
- }, []);
43
- }
44
-
45
- export { useFormInitialization };
1
+ /*! VefFramework version: 1.0.100, build time: 2025-03-07T13:52:52.580Z, made by Venus. */
2
+ import{isNullish as o,isFunction as n}from"@vef-framework/shared";import{useMemo as t}from"react";function useFormInitialization(e,r){return t((()=>{const t={...r},a={},s=[];for(const r of e){const{rows:e}=r;for(const r of e){const{columns:e}=r;for(const r of e){const{items:e}=r;for(const r of e){const{name:e,defaultValue:i,virtual:f}=r;!o(i)&&o(t[e])&&(t[e]=i),"Hidden"!==r.type&&n(r.onChange)&&(a[e]=r.onChange),!0===f&&s.push(e)}}}}return{mergedInitialValues:t,valueChangeHandlers:a,virtualFieldNames:s}}),[])}export{useFormInitialization};
46
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 */
@@ -1,27 +1,3 @@
1
- /*! VefFramework version: 1.0.99, build time: 2025-03-07T13:41:55.865Z, made by Venus. */
2
- import { useImperativeHandle } from 'react';
3
- import { useFormStore } from '../store.js';
4
-
5
- function useFormInstance(ref, reset) {
6
- const [form, eventBus, getValues, setValues] = useFormStore((state) => [state.form, state.eventBus, state.getValues, state.setValues]);
7
- useImperativeHandle(ref, () => ({
8
- submit: () => new Promise((resolve, reject) => {
9
- const handleResult = (result) => {
10
- eventBus.offSubmitResult(handleResult);
11
- if (result) {
12
- resolve();
13
- } else {
14
- reject(result);
15
- }
16
- };
17
- eventBus.onSubmitResult(handleResult);
18
- form.submit();
19
- }),
20
- reset,
21
- getValues,
22
- setValues
23
- }));
24
- }
25
-
26
- export { useFormInstance };
1
+ /*! VefFramework version: 1.0.100, build time: 2025-03-07T13:52:52.580Z, made by Venus. */
2
+ import{useImperativeHandle as e}from"react";import{useFormStore as t}from"../store.js";function useFormInstance(s,o){const[u,m,r,n]=t((e=>[e.form,e.eventBus,e.getValues,e.setValues]));e(s,(()=>({submit:()=>new Promise(((e,t)=>{const handleResult=s=>{m.offSubmitResult(handleResult),s?e():t(s)};m.onSubmitResult(handleResult),u.submit()})),reset:o,getValues:r,setValues:n})))}export{useFormInstance};
27
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 */
@@ -1,31 +1,3 @@
1
- /*! VefFramework version: 1.0.99, build time: 2025-03-07T13:41:55.865Z, made by Venus. */
2
- import { isFunction } from '@vef-framework/shared';
3
- import { useMemo, useEffect, useLayoutEffect } from 'react';
4
- import { useFormStore } from '../store.js';
5
-
6
- function useFormValuesChange(onChange) {
7
- const [scene, eventBus, invokeValueChangeHandlers] = useFormStore((state) => [state.scene, state.eventBus, state.invokeValueChangeHandlers]);
8
- const handleValuesChange = useMemo(() => (_, values) => {
9
- eventBus.emitChange(values);
10
- }, [eventBus]);
11
- useEffect(() => {
12
- if (isFunction(onChange)) {
13
- const handleChange = (values) => {
14
- onChange(values, scene);
15
- };
16
- eventBus.onChange(handleChange);
17
- return () => {
18
- eventBus.offChange(handleChange);
19
- };
20
- }
21
- }, [eventBus, onChange, scene]);
22
- useLayoutEffect(() => {
23
- invokeValueChangeHandlers();
24
- }, []);
25
- return {
26
- handleValuesChange
27
- };
28
- }
29
-
30
- export { useFormValuesChange };
1
+ /*! VefFramework version: 1.0.100, build time: 2025-03-07T13:52:52.580Z, made by Venus. */
2
+ import{isFunction as e}from"@vef-framework/shared";import{useMemo as n,useEffect as r,useLayoutEffect as o}from"react";import{useFormStore as a}from"../store.js";function useFormValuesChange(s){const[t,m,u]=a((e=>[e.scene,e.eventBus,e.invokeValueChangeHandlers])),f=n((()=>(e,n)=>{m.emitChange(n)}),[m]);return r((()=>{if(e(s)){const handleChange=e=>{s(e,t)};return m.onChange(handleChange),()=>{m.offChange(handleChange)}}}),[m,s,t]),o((()=>{u()}),[]),{handleValuesChange:f}}export{useFormValuesChange};
31
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 */
@@ -1,19 +1,3 @@
1
- /*! VefFramework version: 1.0.99, build time: 2025-03-07T13:41:55.865Z, made by Venus. */
2
- import { showWarningMessage } from '@vef-framework/shared';
3
- import { useMemo } from 'react';
4
-
5
- function useLabelWidth(labelPosition, labelWidth) {
6
- const labelWidthToUse = useMemo(() => {
7
- if (labelPosition === "top" || !labelWidth) {
8
- return;
9
- }
10
- if (labelWidth < 60 || labelWidth > 120) {
11
- showWarningMessage("The labelWidth of VefForm component must be between 60 and 120, otherwise it will be 60 or 120.");
12
- }
13
- return Math.min(Math.max(labelWidth, 60), 120);
14
- }, [labelPosition, labelWidth]);
15
- return labelWidthToUse;
16
- }
17
-
18
- export { useLabelWidth };
1
+ /*! VefFramework version: 1.0.100, build time: 2025-03-07T13:52:52.580Z, made by Venus. */
2
+ import{showWarningMessage as e}from"@vef-framework/shared";import{useMemo as t}from"react";function useLabelWidth(r,o){return t((()=>{if("top"!==r&&o)return(o<60||o>120)&&e("The labelWidth of VefForm component must be between 60 and 120, otherwise it will be 60 or 120."),Math.min(Math.max(o,60),120)}),[r,o])}export{useLabelWidth};
19
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 */
@@ -1,175 +1,5 @@
1
- /*! VefFramework version: 1.0.99, build time: 2025-03-07T13:41:55.865Z, made by Venus. */
2
- import { jsxs, jsx } from '@emotion/react/jsx-runtime';
3
- import { css } from '@emotion/react';
4
- import { useContextDisabled, useSingleton, useUnmount } from '@vef-framework/hooks';
5
- import { isNumber, isDeepEqual, omit } from '@vef-framework/shared';
6
- import { Form } from 'antd';
7
- import { useMemo, forwardRef, memo } from 'react';
8
- import '../internal/index.js';
9
- import VefFormActions from './components/form-actions.js';
10
- import VefFormContent from './components/form-content.js';
11
- import { FormEventBus } from './event.js';
12
- import { useActionHandlers } from './hooks/use-action-handlers.js';
13
- import { useFormContextSelector, FormContextProvider } from './hooks/use-form-context.js';
14
- import { useFormInitialization } from './hooks/use-form-initialization.js';
15
- import { useFormInstance } from './hooks/use-form-instance.js';
16
- import { useFormValuesChange } from './hooks/use-form-values-change.js';
17
- import { useLabelWidth } from './hooks/use-label-width.js';
18
- import { useFormStore, FormStoreProvider } from './store.js';
19
- import { convertBasicSizeToUiSize } from '../internal/utils.js';
20
-
21
- const { useForm } = Form;
22
- const scrollToFirstErrorOptions = {
23
- scrollMode: "if-needed",
24
- behavior: "smooth"
25
- };
26
- function VefFormBase({
27
- schema,
28
- labelAlign = "right",
29
- variant,
30
- showTabs = false,
31
- height = "auto",
32
- size,
33
- disabled = false,
34
- onChange,
35
- submissionButton,
36
- resetButton,
37
- submitApi,
38
- submitTip,
39
- onBeforeSubmit,
40
- onSubmit,
41
- onSubmitSuccess,
42
- onSubmitFailure,
43
- onReset
44
- }, ref) {
45
- const [labelPosition, labelWidth] = useFormContextSelector((ctx) => [ctx.labelPosition, ctx.labelWidth]);
46
- const [form, initialValues, isLoading] = useFormStore((state) => [state.form, state.initialValues, state.isLoading]);
47
- const { handleValuesChange } = useFormValuesChange(onChange);
48
- const {
49
- handleReset,
50
- handleSubmit,
51
- handleSubmitFailed
52
- } = useActionHandlers({
53
- submitApi,
54
- submitTip,
55
- onBeforeSubmit,
56
- onSubmit,
57
- onSubmitSuccess,
58
- onSubmitFailure,
59
- onReset
60
- });
61
- useFormInstance(ref, handleReset);
62
- const labelCol = useMemo(() => {
63
- if (!labelWidth) {
64
- return;
65
- }
66
- return { flex: `0 0 ${labelWidth}px` };
67
- }, [labelWidth]);
68
- const formStyle = useMemo(() => {
69
- let heightValue = height;
70
- if (height === "full") {
71
- heightValue = "100%";
72
- } else if (isNumber(height)) {
73
- heightValue = `${height}px`;
74
- }
75
- return css`
76
- height: ${heightValue};
77
- `;
78
- }, [height]);
79
- const contextDisabled = useContextDisabled();
80
- const formDisabled = contextDisabled || disabled || isLoading;
81
- return /* @__PURE__ */ jsxs(
82
- Form,
83
- {
84
- labelWrap: true,
85
- colon: false,
86
- css: formStyle,
87
- disabled: formDisabled,
88
- form,
89
- initialValues,
90
- labelAlign,
91
- labelCol,
92
- layout: labelPosition === "top" ? "vertical" : "horizontal",
93
- scrollToFirstError: scrollToFirstErrorOptions,
94
- size: convertBasicSizeToUiSize(size),
95
- variant,
96
- onFinish: handleSubmit,
97
- onFinishFailed: handleSubmitFailed,
98
- onValuesChange: handleValuesChange,
99
- children: [
100
- /* @__PURE__ */ jsx(
101
- VefFormContent,
102
- {
103
- height,
104
- schema,
105
- showTabs: showTabs === true ? "switch" : showTabs
106
- }
107
- ),
108
- /* @__PURE__ */ jsx(
109
- VefFormActions,
110
- {
111
- handleReset,
112
- resetButton,
113
- submissionButton
114
- }
115
- )
116
- ]
117
- }
118
- );
119
- }
120
- const VefFormBaseForwarded = forwardRef(VefFormBase);
121
- VefFormBaseForwarded.displayName = "VefFormBase";
122
- function VefFormWrapper({
123
- initialValues,
124
- scene,
125
- layoutMode = "responsive",
126
- autoExpand = false,
127
- labelPosition = "top",
128
- labelWidth,
129
- ...restProps
130
- }, ref) {
131
- const { schema } = restProps;
132
- const [form] = useForm();
133
- const eventBus = useSingleton(() => new FormEventBus());
134
- useUnmount(() => {
135
- eventBus.clear();
136
- });
137
- const labelWidthToUse = useLabelWidth(labelPosition, labelWidth);
138
- const formContext = useMemo(() => ({
139
- labelPosition,
140
- labelWidth: labelWidthToUse,
141
- autoExpand,
142
- layoutMode
143
- }), [layoutMode, autoExpand, labelPosition, labelWidthToUse]);
144
- const {
145
- mergedInitialValues,
146
- valueChangeHandlers,
147
- virtualFieldNames
148
- } = useFormInitialization(schema, initialValues);
149
- const initialState = useMemo(() => ({
150
- eventBus,
151
- form,
152
- initialValues: mergedInitialValues,
153
- scene,
154
- valueChangeHandlers,
155
- virtualFieldNames
156
- }), [eventBus, form, mergedInitialValues, scene, valueChangeHandlers, virtualFieldNames]);
157
- return /* @__PURE__ */ jsx(FormStoreProvider, { initialState, children: /* @__PURE__ */ jsx(FormContextProvider, { value: formContext, children: /* @__PURE__ */ jsx(
158
- VefFormBaseForwarded,
159
- {
160
- ref,
161
- ...restProps
162
- }
163
- ) }) });
164
- }
165
- const VefForm = memo(
166
- forwardRef(VefFormWrapper),
167
- (prevProps, nextProps) => isDeepEqual(
168
- omit(prevProps, ["initialValues", "schema"]),
169
- omit(nextProps, ["initialValues", "schema"])
170
- )
171
- );
172
- VefForm.displayName = "VefForm";
173
-
174
- export { VefForm as default };
1
+ /*! VefFramework version: 1.0.100, build time: 2025-03-07T13:52:52.580Z, made by Venus. */
2
+ import{jsxs as e,jsx as o}from"@emotion/react/jsx-runtime";import{css as i}from"@emotion/react";import{useContextDisabled as t,useSingleton as s,useUnmount as a}from"@vef-framework/hooks";import{isNumber as n,isDeepEqual as r,omit as l}from"@vef-framework/shared";import{Form as m}from"antd";import{useMemo as u,forwardRef as h,memo as f}from"react";import"../internal/index.js";import c from"./components/form-actions.js";import d from"./components/form-content.js";import{FormEventBus as p}from"./event.js";import{useActionHandlers as b}from"./hooks/use-action-handlers.js";import{useFormContextSelector as v,FormContextProvider as g}from"./hooks/use-form-context.js";import{useFormInitialization as F}from"./hooks/use-form-initialization.js";import{useFormInstance as j}from"./hooks/use-form-instance.js";import{useFormValuesChange as S}from"./hooks/use-form-values-change.js";import{useLabelWidth as V}from"./hooks/use-label-width.js";import{useFormStore as k,FormStoreProvider as x}from"./store.js";import{convertBasicSizeToUiSize as B}from"../internal/utils.js";const{useForm:w}=m,C={scrollMode:"if-needed",behavior:"smooth"};const y=h((function VefFormBase({schema:s,labelAlign:a="right",variant:r,showTabs:l=!1,height:h="auto",size:f,disabled:p=!1,onChange:g,submissionButton:F,resetButton:V,submitApi:x,submitTip:w,onBeforeSubmit:y,onSubmit:T,onSubmitSuccess:W,onSubmitFailure:z,onReset:A},N){const[R,E]=v((e=>[e.labelPosition,e.labelWidth])),[M,P,$]=k((e=>[e.form,e.initialValues,e.isLoading])),{handleValuesChange:H}=S(g),{handleReset:I,handleSubmit:L,handleSubmitFailed:q}=b({submitApi:x,submitTip:w,onBeforeSubmit:y,onSubmit:T,onSubmitSuccess:W,onSubmitFailure:z,onReset:A});j(N,I);const D=u((()=>{if(E)return{flex:`0 0 ${E}px`}}),[E]),G=u((()=>{let e=h;return"full"===h?e="100%":n(h)&&(e=`${h}px`),i`
3
+ height: ${e};
4
+ `}),[h]),J=t();return e(m,{labelWrap:!0,colon:!1,css:G,disabled:J||p||$,form:M,initialValues:P,labelAlign:a,labelCol:D,layout:"top"===R?"vertical":"horizontal",scrollToFirstError:C,size:B(f),variant:r,onFinish:L,onFinishFailed:q,onValuesChange:H,children:[o(d,{height:h,schema:s,showTabs:!0===l?"switch":l}),o(c,{handleReset:I,resetButton:V,submissionButton:F})]})}));y.displayName="VefFormBase";const T=f(h((function VefFormWrapper({initialValues:e,scene:i,layoutMode:t="responsive",autoExpand:n=!1,labelPosition:r="top",labelWidth:l,...m},h){const{schema:f}=m,[c]=w(),d=s((()=>new p));a((()=>{d.clear()}));const b=V(r,l),v=u((()=>({labelPosition:r,labelWidth:b,autoExpand:n,layoutMode:t})),[t,n,r,b]),{mergedInitialValues:j,valueChangeHandlers:S,virtualFieldNames:k}=F(f,e),B=u((()=>({eventBus:d,form:c,initialValues:j,scene:i,valueChangeHandlers:S,virtualFieldNames:k})),[d,c,j,i,S,k]);return o(x,{initialState:B,children:o(g,{value:v,children:o(y,{ref:h,...m})})})})),((e,o)=>r(l(e,["initialValues","schema"]),l(o,["initialValues","schema"]))));T.displayName="VefForm";export{T as default};
175
5
  /*! 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 */