@vef-framework/components 1.0.101 → 1.0.103

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 +1 -91
  2. package/es/internal/base.css.js +490 -4
  3. package/es/internal/chart.js +1 -19
  4. package/es/internal/index.js +1 -4
  5. package/es/internal/modern-normalize.css.js +213 -4
  6. package/es/internal/utils.js +1 -7
  7. package/es/vef-access-denied/access-denied-icon.js +1 -929
  8. package/es/vef-access-denied/index.js +3 -40
  9. package/es/vef-action-buttons/index.js +1 -76
  10. package/es/vef-approval-flow-editor/components/edge.js +2 -84
  11. package/es/vef-approval-flow-editor/components/label-value.js +2 -22
  12. package/es/vef-approval-flow-editor/components/node-content.js +4 -40
  13. package/es/vef-approval-flow-editor/components/node-selector.js +2 -32
  14. package/es/vef-approval-flow-editor/components/node-toolbar.js +1 -22
  15. package/es/vef-approval-flow-editor/components/nodes/approval.js +1 -25
  16. package/es/vef-approval-flow-editor/components/nodes/condition.js +1 -25
  17. package/es/vef-approval-flow-editor/components/nodes/end.js +1 -25
  18. package/es/vef-approval-flow-editor/components/nodes/handle.js +1 -25
  19. package/es/vef-approval-flow-editor/components/nodes/index.js +1 -18
  20. package/es/vef-approval-flow-editor/components/nodes/submit.js +1 -25
  21. package/es/vef-approval-flow-editor/components/selector-content.js +3 -43
  22. package/es/vef-approval-flow-editor/components/source-handle.js +1 -41
  23. package/es/vef-approval-flow-editor/components/target-handle.js +1 -10
  24. package/es/vef-approval-flow-editor/constants.js +1 -219
  25. package/es/vef-approval-flow-editor/helper.js +1 -84
  26. package/es/vef-approval-flow-editor/hooks/use-edges-interaction.js +1 -26
  27. package/es/vef-approval-flow-editor/hooks/use-element-selection.js +1 -25
  28. package/es/vef-approval-flow-editor/hooks/use-nodes-interaction.js +1 -52
  29. package/es/vef-approval-flow-editor/index.js +1 -76
  30. package/es/vef-approval-flow-editor/models/edge-node.js +1 -21
  31. package/es/vef-approval-flow-editor/models/flow-node.js +1 -106
  32. package/es/vef-approval-flow-editor/store.js +1 -17
  33. package/es/vef-approval-flow-editor/styles.js +3 -12
  34. package/es/vef-approval-flow-editor/types.js +1 -16
  35. package/es/vef-area-chart/index.js +1 -42
  36. package/es/vef-auto-sizer/index.js +1 -7
  37. package/es/vef-avatar/index.js +1 -21
  38. package/es/vef-avatar-group/index.js +1 -26
  39. package/es/vef-badge/index.js +1 -48
  40. package/es/vef-bar-chart/index.js +1 -42
  41. package/es/vef-bool/hooks/use-bool-instance.js +1 -35
  42. package/es/vef-bool/index.js +1 -61
  43. package/es/vef-breadcrumb/index.js +1 -49
  44. package/es/vef-button/components/base-button.js +1 -74
  45. package/es/vef-button/index.js +1 -152
  46. package/es/vef-card/index.js +1 -26
  47. package/es/vef-card-meta/index.js +1 -13
  48. package/es/vef-chart-container/hooks/use-chart-container-context.js +1 -13
  49. package/es/vef-chart-container/index.js +5 -72
  50. package/es/vef-chart-legend-content/index.js +4 -38
  51. package/es/vef-chart-tooltip-content/index.js +9 -73
  52. package/es/vef-checkbox/hooks/use-checkbox-instance.js +1 -21
  53. package/es/vef-checkbox/hooks/use-data-options.js +1 -41
  54. package/es/vef-checkbox/index.js +2 -88
  55. package/es/vef-col/index.js +1 -12
  56. package/es/vef-color-picker/index.js +1 -47
  57. package/es/vef-compact/index.js +1 -16
  58. package/es/vef-config-provider/global-style.js +3 -12
  59. package/es/vef-config-provider/hooks/use-ui-config.js +1 -127
  60. package/es/vef-config-provider/index.js +3 -122
  61. package/es/vef-config-provider/store.js +1 -22
  62. package/es/vef-container/index.js +1 -19
  63. package/es/vef-crud-page/components/crud-actions.js +1 -33
  64. package/es/vef-crud-page/components/crud-filter.js +1 -55
  65. package/es/vef-crud-page/components/crud-footer.js +2 -116
  66. package/es/vef-crud-page/components/crud-form-modal.js +1 -54
  67. package/es/vef-crud-page/components/crud-header.js +1 -30
  68. package/es/vef-crud-page/components/crud-table.js +1 -77
  69. package/es/vef-crud-page/hooks/use-action-buttons.js +1 -38
  70. package/es/vef-crud-page/hooks/use-crud-context.js +1 -21
  71. package/es/vef-crud-page/hooks/use-crud-schema.js +1 -117
  72. package/es/vef-crud-page/hooks/use-operation-buttons.js +1 -61
  73. package/es/vef-crud-page/index.js +1 -151
  74. package/es/vef-crud-page/store.js +1 -143
  75. package/es/vef-data-grid/index.js +1 -86
  76. package/es/vef-data-table/index.js +1 -10
  77. package/es/vef-divider/index.js +1 -25
  78. package/es/vef-drawer/components/action-button-wrapper.js +1 -50
  79. package/es/vef-drawer/components/button-props.js +1 -3
  80. package/es/vef-drawer/components/cancel-action-button.js +1 -22
  81. package/es/vef-drawer/components/ok-action-button.js +1 -21
  82. package/es/vef-drawer/context.js +1 -16
  83. package/es/vef-drawer/index.js +2 -154
  84. package/es/vef-dropdown/index.js +1 -93
  85. package/es/vef-dynamic-icon/index.js +1 -47
  86. package/es/vef-dynamic-icon/props.js +1 -7
  87. package/es/vef-empty/index.js +1 -38
  88. package/es/vef-empty-placeholder/index.js +2 -18
  89. package/es/vef-error/error-icon.js +1 -758
  90. package/es/vef-error/index.js +3 -43
  91. package/es/vef-filter/components/action-buttons.js +2 -117
  92. package/es/vef-filter/components/advanced-filter.js +3 -67
  93. package/es/vef-filter/components/basic-filter.js +2 -34
  94. package/es/vef-filter/components/fields/index.js +1 -20
  95. package/es/vef-filter/components/fields/input-number.js +1 -91
  96. package/es/vef-filter/components/fields/input.js +1 -68
  97. package/es/vef-filter/components/fields/radio.js +1 -110
  98. package/es/vef-filter/components/fields/select.js +1 -141
  99. package/es/vef-filter/components/fields/tree-select.js +1 -137
  100. package/es/vef-filter/components/filter-field.js +1 -20
  101. package/es/vef-filter/components/filter-item.js +1 -113
  102. package/es/vef-filter/event.js +1 -45
  103. package/es/vef-filter/helper.js +1 -16
  104. package/es/vef-filter/hooks/use-action-handlers.js +1 -71
  105. package/es/vef-filter/hooks/use-computed-values.js +1 -56
  106. package/es/vef-filter/hooks/use-filter-context.js +1 -19
  107. package/es/vef-filter/hooks/use-filter-initialization.js +1 -38
  108. package/es/vef-filter/hooks/use-filter-instance.js +1 -27
  109. package/es/vef-filter/hooks/use-filter-items.js +1 -24
  110. package/es/vef-filter/hooks/use-filter-values-change.js +1 -31
  111. package/es/vef-filter/hooks/use-label-config.js +1 -28
  112. package/es/vef-filter/index.js +2 -142
  113. package/es/vef-filter/store.js +1 -72
  114. package/es/vef-flex/index.js +1 -32
  115. package/es/vef-float-button/index.js +1 -50
  116. package/es/vef-float-button-group/index.js +1 -21
  117. package/es/vef-form/components/fields/icon-select.js +1 -66
  118. package/es/vef-form/components/fields/index.js +1 -26
  119. package/es/vef-form/components/fields/input-number.js +1 -124
  120. package/es/vef-form/components/fields/input.js +1 -133
  121. package/es/vef-form/components/fields/password.js +1 -116
  122. package/es/vef-form/components/fields/radio.js +1 -107
  123. package/es/vef-form/components/fields/select.js +1 -239
  124. package/es/vef-form/components/fields/textarea.js +1 -110
  125. package/es/vef-form/components/fields/tree-select.js +1 -235
  126. package/es/vef-form/components/form-actions.js +2 -58
  127. package/es/vef-form/components/form-content.js +2 -145
  128. package/es/vef-form/components/form-field.js +1 -23
  129. package/es/vef-form/components/form-group.js +2 -64
  130. package/es/vef-form/components/form-hidden-item.js +1 -37
  131. package/es/vef-form/components/form-item.js +1 -80
  132. package/es/vef-form/components/form-row.js +1 -99
  133. package/es/vef-form/event.js +1 -45
  134. package/es/vef-form/helper.js +1 -16
  135. package/es/vef-form/hooks/use-action-handlers.js +1 -131
  136. package/es/vef-form/hooks/use-columns-layout.js +1 -123
  137. package/es/vef-form/hooks/use-computed-values.js +1 -56
  138. package/es/vef-form/hooks/use-form-context.js +1 -15
  139. package/es/vef-form/hooks/use-form-initialization.js +1 -46
  140. package/es/vef-form/hooks/use-form-instance.js +1 -27
  141. package/es/vef-form/hooks/use-form-values-change.js +1 -31
  142. package/es/vef-form/hooks/use-label-width.js +1 -19
  143. package/es/vef-form/index.js +2 -174
  144. package/es/vef-form/store.js +1 -66
  145. package/es/vef-form/validation-rules.js +1 -287
  146. package/es/vef-form-drawer/index.js +1 -99
  147. package/es/vef-form-modal/index.js +1 -96
  148. package/es/vef-generic-select/index.js +1 -82
  149. package/es/vef-grid/index.js +9 -75
  150. package/es/vef-grid/props.js +1 -5
  151. package/es/vef-grid-item/index.js +1 -53
  152. package/es/vef-icon/index.js +1 -51
  153. package/es/vef-icon-select/index.js +4 -140
  154. package/es/vef-input/hooks/use-input-instance.js +1 -16
  155. package/es/vef-input/index.js +1 -65
  156. package/es/vef-input-number/hooks/use-input-number-instance.js +1 -14
  157. package/es/vef-input-number/index.js +1 -149
  158. package/es/vef-layout/common-styles.js +2 -9
  159. package/es/vef-layout/components/content.js +1 -14
  160. package/es/vef-layout/components/font-size.js +1 -69
  161. package/es/vef-layout/components/fullscreen.js +1 -24
  162. package/es/vef-layout/components/header-action-icons.js +2 -26
  163. package/es/vef-layout/components/header-content.js +1 -20
  164. package/es/vef-layout/components/header.js +2 -66
  165. package/es/vef-layout/components/icon-boy.js +1 -70
  166. package/es/vef-layout/components/icon-girl.js +1 -77
  167. package/es/vef-layout/components/icon-menu-fold-left.js +1 -24
  168. package/es/vef-layout/components/icon-menu-unfold-left.js +1 -24
  169. package/es/vef-layout/components/menu-groups.js +5 -114
  170. package/es/vef-layout/components/message.js +1 -12
  171. package/es/vef-layout/components/search.js +1 -12
  172. package/es/vef-layout/components/sider.js +2 -52
  173. package/es/vef-layout/components/title.js +2 -48
  174. package/es/vef-layout/components/user-avatar.js +4 -76
  175. package/es/vef-layout/hooks/use-layout-context.js +1 -11
  176. package/es/vef-layout/index.js +2 -34
  177. package/es/vef-layout/logo.svg.js +1 -5
  178. package/es/vef-layout/store.js +1 -17
  179. package/es/vef-line-chart/index.js +1 -39
  180. package/es/vef-loading-placeholder/index.js +2 -40
  181. package/es/vef-login/index.js +9 -141
  182. package/es/vef-login/login-icon.js +1 -669
  183. package/es/vef-menu/index.js +2 -76
  184. package/es/vef-modal/components/action-button-wrapper.js +1 -50
  185. package/es/vef-modal/components/button-props.js +1 -3
  186. package/es/vef-modal/components/cancel-action-button.js +1 -19
  187. package/es/vef-modal/components/ok-action-button.js +1 -21
  188. package/es/vef-modal/context.js +1 -16
  189. package/es/vef-modal/index.js +2 -240
  190. package/es/vef-not-found/index.js +3 -40
  191. package/es/vef-not-found/not-found-icon.js +1 -845
  192. package/es/vef-page/index.js +2 -80
  193. package/es/vef-pagination/index.js +1 -58
  194. package/es/vef-pagination/props.js +1 -14
  195. package/es/vef-paragraph/index.js +1 -90
  196. package/es/vef-password/hooks/use-password-instance.js +1 -14
  197. package/es/vef-password/index.js +1 -68
  198. package/es/vef-pie-chart/index.js +3 -66
  199. package/es/vef-popconfirm/index.js +1 -57
  200. package/es/vef-popover/index.js +1 -35
  201. package/es/vef-radio/hooks/use-data-options.js +1 -41
  202. package/es/vef-radio/hooks/use-radio-instance.js +1 -21
  203. package/es/vef-radio/index.js +2 -88
  204. package/es/vef-rate/hooks/use-rate-instance.js +1 -14
  205. package/es/vef-rate/index.js +1 -31
  206. package/es/vef-responsive-container/index.js +2 -55
  207. package/es/vef-responsive-item/index.js +2 -24
  208. package/es/vef-ribbon/index.js +1 -39
  209. package/es/vef-row/index.js +1 -13
  210. package/es/vef-scroll-area/components/scrollbar.js +5 -33
  211. package/es/vef-scroll-area/index.js +3 -70
  212. package/es/vef-select/components/option.js +2 -23
  213. package/es/vef-select/hooks/use-data-options.js +1 -48
  214. package/es/vef-select/hooks/use-field-names.js +1 -22
  215. package/es/vef-select/hooks/use-render-label.js +2 -24
  216. package/es/vef-select/hooks/use-render-option.js +1 -20
  217. package/es/vef-select/hooks/use-select-instance.js +1 -21
  218. package/es/vef-select/index.js +1 -101
  219. package/es/vef-slider/hooks/use-slider-instance.js +1 -14
  220. package/es/vef-slider/index.js +1 -35
  221. package/es/vef-sortable-list/components/overlay-item.js +2 -32
  222. package/es/vef-sortable-list/components/sortable-item.js +2 -76
  223. package/es/vef-sortable-list/hooks/use-merged-items.js +1 -22
  224. package/es/vef-sortable-list/index.js +1 -115
  225. package/es/vef-space/index.js +1 -26
  226. package/es/vef-spin/index.js +1 -13
  227. package/es/vef-splitter/index.js +1 -21
  228. package/es/vef-splitter-panel/index.js +1 -13
  229. package/es/vef-status/index.js +1 -38
  230. package/es/vef-table/components/columns/bool.js +1 -92
  231. package/es/vef-table/components/columns/code.js +1 -11
  232. package/es/vef-table/components/columns/data-dictionary.js +1 -93
  233. package/es/vef-table/components/columns/enum.js +1 -102
  234. package/es/vef-table/components/columns/file.js +1 -11
  235. package/es/vef-table/components/columns/icon.js +1 -11
  236. package/es/vef-table/components/columns/id.js +1 -83
  237. package/es/vef-table/components/columns/image.js +1 -12
  238. package/es/vef-table/components/columns/index.js +1 -34
  239. package/es/vef-table/components/columns/markdown.js +1 -11
  240. package/es/vef-table/components/columns/number.js +1 -84
  241. package/es/vef-table/components/columns/render.js +1 -29
  242. package/es/vef-table/components/columns/rich-text.js +1 -11
  243. package/es/vef-table/components/columns/text.js +1 -89
  244. package/es/vef-table/components/columns-settings.js +2 -188
  245. package/es/vef-table/components/operation-buttons.js +2 -231
  246. package/es/vef-table/components/settings-icon.js +2 -19
  247. package/es/vef-table/components/table-footer.js +2 -102
  248. package/es/vef-table/helper.js +1 -16
  249. package/es/vef-table/hooks/use-computed-batch-buttons.js +1 -34
  250. package/es/vef-table/hooks/use-computed-columns.js +1 -21
  251. package/es/vef-table/hooks/use-computed-values.js +1 -39
  252. package/es/vef-table/hooks/use-data.js +1 -58
  253. package/es/vef-table/hooks/use-default-column-configs.js +1 -28
  254. package/es/vef-table/hooks/use-display-value.js +1 -37
  255. package/es/vef-table/hooks/use-helper-columns.js +1 -68
  256. package/es/vef-table/hooks/use-operation-column-width.js +1 -51
  257. package/es/vef-table/hooks/use-pagination-props.js +1 -45
  258. package/es/vef-table/hooks/use-row-props.js +1 -40
  259. package/es/vef-table/hooks/use-row-selection-config.js +1 -113
  260. package/es/vef-table/hooks/use-selected-rows.js +1 -27
  261. package/es/vef-table/hooks/use-table-columns.js +1 -57
  262. package/es/vef-table/hooks/use-table-context.js +1 -22
  263. package/es/vef-table/hooks/use-table-instance.js +1 -16
  264. package/es/vef-table/hooks/use-table-summary.js +1 -43
  265. package/es/vef-table/hooks/use-table-width.js +1 -14
  266. package/es/vef-table/index.js +3 -226
  267. package/es/vef-table/store.js +1 -18
  268. package/es/vef-tabs/index.js +1 -26
  269. package/es/vef-tag/index.js +1 -29
  270. package/es/vef-temporal-picker/helper.js +1 -58
  271. package/es/vef-temporal-picker/hooks/use-dayjs-value.js +1 -19
  272. package/es/vef-temporal-picker/hooks/use-temporal-limit.js +1 -35
  273. package/es/vef-temporal-picker/hooks/use-temporal-picker-instance.js +1 -20
  274. package/es/vef-temporal-picker/index.js +1 -126
  275. package/es/vef-temporal-range-picker/helper.js +1 -58
  276. package/es/vef-temporal-range-picker/hooks/use-dayjs-values.js +1 -24
  277. package/es/vef-temporal-range-picker/hooks/use-temporal-limit.js +1 -35
  278. package/es/vef-temporal-range-picker/hooks/use-temporal-range-picker-instance.js +1 -20
  279. package/es/vef-temporal-range-picker/index.js +1 -129
  280. package/es/vef-temporal-range-picker/props.js +1 -5
  281. package/es/vef-text/index.js +1 -81
  282. package/es/vef-textarea/hooks/use-textarea-instance.js +1 -14
  283. package/es/vef-textarea/index.js +1 -68
  284. package/es/vef-title/index.js +3 -87
  285. package/es/vef-tooltip/index.js +1 -36
  286. package/es/vef-tree-select/hooks/use-change-handler.js +1 -34
  287. package/es/vef-tree-select/hooks/use-data-options.js +1 -46
  288. package/es/vef-tree-select/hooks/use-tree-select-instance.js +1 -21
  289. package/es/vef-tree-select/index.js +1 -90
  290. package/es/vef-virtual-grid/index.js +3 -108
  291. package/es/vef-virtual-list/index.js +4 -216
  292. package/lib/index.cjs +1 -187
  293. package/lib/internal/base.css.cjs +488 -6
  294. package/lib/internal/chart.cjs +1 -23
  295. package/lib/internal/index.cjs +1 -13
  296. package/lib/internal/modern-normalize.css.cjs +211 -6
  297. package/lib/internal/utils.cjs +1 -11
  298. package/lib/vef-access-denied/access-denied-icon.cjs +1 -933
  299. package/lib/vef-access-denied/index.cjs +3 -44
  300. package/lib/vef-access-denied/props.cjs +1 -5
  301. package/lib/vef-action-buttons/index.cjs +1 -80
  302. package/lib/vef-action-buttons/props.cjs +1 -5
  303. package/lib/vef-approval-flow-editor/components/edge.cjs +2 -88
  304. package/lib/vef-approval-flow-editor/components/label-value.cjs +2 -26
  305. package/lib/vef-approval-flow-editor/components/node-content.cjs +4 -44
  306. package/lib/vef-approval-flow-editor/components/node-selector.cjs +2 -36
  307. package/lib/vef-approval-flow-editor/components/node-toolbar.cjs +1 -26
  308. package/lib/vef-approval-flow-editor/components/nodes/approval.cjs +1 -29
  309. package/lib/vef-approval-flow-editor/components/nodes/condition.cjs +1 -29
  310. package/lib/vef-approval-flow-editor/components/nodes/end.cjs +1 -29
  311. package/lib/vef-approval-flow-editor/components/nodes/handle.cjs +1 -29
  312. package/lib/vef-approval-flow-editor/components/nodes/index.cjs +1 -22
  313. package/lib/vef-approval-flow-editor/components/nodes/submit.cjs +1 -29
  314. package/lib/vef-approval-flow-editor/components/selector-content.cjs +3 -47
  315. package/lib/vef-approval-flow-editor/components/source-handle.cjs +1 -45
  316. package/lib/vef-approval-flow-editor/components/target-handle.cjs +1 -14
  317. package/lib/vef-approval-flow-editor/constants.cjs +1 -228
  318. package/lib/vef-approval-flow-editor/helper.cjs +1 -91
  319. package/lib/vef-approval-flow-editor/hooks/use-edges-interaction.cjs +1 -30
  320. package/lib/vef-approval-flow-editor/hooks/use-element-selection.cjs +1 -29
  321. package/lib/vef-approval-flow-editor/hooks/use-nodes-interaction.cjs +1 -56
  322. package/lib/vef-approval-flow-editor/index.cjs +1 -80
  323. package/lib/vef-approval-flow-editor/models/edge-node.cjs +1 -26
  324. package/lib/vef-approval-flow-editor/models/flow-node.cjs +1 -115
  325. package/lib/vef-approval-flow-editor/props.cjs +1 -5
  326. package/lib/vef-approval-flow-editor/store.cjs +1 -23
  327. package/lib/vef-approval-flow-editor/styles.cjs +3 -17
  328. package/lib/vef-approval-flow-editor/types.cjs +1 -21
  329. package/lib/vef-area-chart/index.cjs +1 -46
  330. package/lib/vef-area-chart/props.cjs +1 -5
  331. package/lib/vef-auto-sizer/index.cjs +1 -11
  332. package/lib/vef-auto-sizer/props.cjs +1 -5
  333. package/lib/vef-avatar/index.cjs +1 -25
  334. package/lib/vef-avatar/props.cjs +1 -5
  335. package/lib/vef-avatar-group/index.cjs +1 -30
  336. package/lib/vef-avatar-group/props.cjs +1 -5
  337. package/lib/vef-badge/index.cjs +1 -52
  338. package/lib/vef-badge/props.cjs +1 -5
  339. package/lib/vef-bar-chart/index.cjs +1 -46
  340. package/lib/vef-bar-chart/props.cjs +1 -5
  341. package/lib/vef-bool/hooks/use-bool-instance.cjs +1 -39
  342. package/lib/vef-bool/index.cjs +1 -65
  343. package/lib/vef-bool/props.cjs +1 -5
  344. package/lib/vef-breadcrumb/index.cjs +1 -53
  345. package/lib/vef-breadcrumb/props.cjs +1 -5
  346. package/lib/vef-button/components/base-button.cjs +1 -78
  347. package/lib/vef-button/index.cjs +1 -156
  348. package/lib/vef-button/props.cjs +1 -5
  349. package/lib/vef-card/index.cjs +1 -30
  350. package/lib/vef-card/props.cjs +1 -5
  351. package/lib/vef-card-meta/index.cjs +1 -17
  352. package/lib/vef-card-meta/props.cjs +1 -5
  353. package/lib/vef-chart-container/hooks/use-chart-container-context.cjs +1 -19
  354. package/lib/vef-chart-container/index.cjs +5 -76
  355. package/lib/vef-chart-container/props.cjs +1 -5
  356. package/lib/vef-chart-legend-content/index.cjs +4 -43
  357. package/lib/vef-chart-legend-content/props.cjs +1 -5
  358. package/lib/vef-chart-tooltip-content/index.cjs +9 -77
  359. package/lib/vef-chart-tooltip-content/props.cjs +1 -5
  360. package/lib/vef-checkbox/hooks/use-checkbox-instance.cjs +1 -25
  361. package/lib/vef-checkbox/hooks/use-data-options.cjs +1 -45
  362. package/lib/vef-checkbox/index.cjs +2 -92
  363. package/lib/vef-checkbox/props.cjs +1 -5
  364. package/lib/vef-col/index.cjs +1 -16
  365. package/lib/vef-col/props.cjs +1 -5
  366. package/lib/vef-color-picker/index.cjs +1 -51
  367. package/lib/vef-color-picker/props.cjs +1 -5
  368. package/lib/vef-compact/index.cjs +1 -20
  369. package/lib/vef-compact/props.cjs +1 -5
  370. package/lib/vef-config-provider/global-style.cjs +3 -17
  371. package/lib/vef-config-provider/hooks/use-ui-config.cjs +1 -131
  372. package/lib/vef-config-provider/index.cjs +3 -126
  373. package/lib/vef-config-provider/props.cjs +1 -5
  374. package/lib/vef-config-provider/store.cjs +1 -28
  375. package/lib/vef-container/index.cjs +1 -23
  376. package/lib/vef-container/props.cjs +1 -5
  377. package/lib/vef-crud-page/components/crud-actions.cjs +1 -37
  378. package/lib/vef-crud-page/components/crud-filter.cjs +1 -59
  379. package/lib/vef-crud-page/components/crud-footer.cjs +2 -120
  380. package/lib/vef-crud-page/components/crud-form-modal.cjs +1 -58
  381. package/lib/vef-crud-page/components/crud-header.cjs +1 -34
  382. package/lib/vef-crud-page/components/crud-table.cjs +1 -81
  383. package/lib/vef-crud-page/hooks/use-action-buttons.cjs +1 -42
  384. package/lib/vef-crud-page/hooks/use-crud-context.cjs +1 -25
  385. package/lib/vef-crud-page/hooks/use-crud-schema.cjs +1 -121
  386. package/lib/vef-crud-page/hooks/use-operation-buttons.cjs +1 -65
  387. package/lib/vef-crud-page/index.cjs +1 -155
  388. package/lib/vef-crud-page/props.cjs +1 -5
  389. package/lib/vef-crud-page/store.cjs +1 -149
  390. package/lib/vef-crud-page/types.cjs +1 -5
  391. package/lib/vef-data-grid/index.cjs +1 -90
  392. package/lib/vef-data-grid/props.cjs +1 -5
  393. package/lib/vef-data-table/index.cjs +1 -14
  394. package/lib/vef-data-table/props.cjs +1 -5
  395. package/lib/vef-divider/index.cjs +1 -29
  396. package/lib/vef-divider/props.cjs +1 -5
  397. package/lib/vef-drawer/components/action-button-wrapper.cjs +1 -54
  398. package/lib/vef-drawer/components/button-props.cjs +1 -5
  399. package/lib/vef-drawer/components/cancel-action-button.cjs +1 -26
  400. package/lib/vef-drawer/components/ok-action-button.cjs +1 -25
  401. package/lib/vef-drawer/context.cjs +1 -22
  402. package/lib/vef-drawer/index.cjs +2 -159
  403. package/lib/vef-drawer/props.cjs +1 -5
  404. package/lib/vef-dropdown/index.cjs +1 -97
  405. package/lib/vef-dropdown/props.cjs +1 -5
  406. package/lib/vef-dynamic-icon/index.cjs +1 -51
  407. package/lib/vef-dynamic-icon/props.cjs +1 -11
  408. package/lib/vef-empty/index.cjs +1 -42
  409. package/lib/vef-empty/props.cjs +1 -5
  410. package/lib/vef-empty-placeholder/index.cjs +2 -22
  411. package/lib/vef-empty-placeholder/props.cjs +1 -5
  412. package/lib/vef-error/error-icon.cjs +1 -762
  413. package/lib/vef-error/index.cjs +3 -47
  414. package/lib/vef-error/props.cjs +1 -5
  415. package/lib/vef-filter/components/action-buttons.cjs +2 -121
  416. package/lib/vef-filter/components/advanced-filter.cjs +3 -71
  417. package/lib/vef-filter/components/basic-filter.cjs +2 -38
  418. package/lib/vef-filter/components/fields/index.cjs +1 -24
  419. package/lib/vef-filter/components/fields/input-number.cjs +1 -95
  420. package/lib/vef-filter/components/fields/input.cjs +1 -72
  421. package/lib/vef-filter/components/fields/props.cjs +1 -5
  422. package/lib/vef-filter/components/fields/radio.cjs +1 -114
  423. package/lib/vef-filter/components/fields/select.cjs +1 -145
  424. package/lib/vef-filter/components/fields/tree-select.cjs +1 -141
  425. package/lib/vef-filter/components/filter-field.cjs +1 -24
  426. package/lib/vef-filter/components/filter-item.cjs +1 -117
  427. package/lib/vef-filter/event.cjs +1 -49
  428. package/lib/vef-filter/helper.cjs +1 -20
  429. package/lib/vef-filter/hooks/use-action-handlers.cjs +1 -75
  430. package/lib/vef-filter/hooks/use-computed-values.cjs +1 -60
  431. package/lib/vef-filter/hooks/use-filter-context.cjs +1 -25
  432. package/lib/vef-filter/hooks/use-filter-initialization.cjs +1 -42
  433. package/lib/vef-filter/hooks/use-filter-instance.cjs +1 -31
  434. package/lib/vef-filter/hooks/use-filter-items.cjs +1 -28
  435. package/lib/vef-filter/hooks/use-filter-values-change.cjs +1 -35
  436. package/lib/vef-filter/hooks/use-label-config.cjs +1 -32
  437. package/lib/vef-filter/index.cjs +2 -146
  438. package/lib/vef-filter/props.cjs +1 -5
  439. package/lib/vef-filter/store.cjs +1 -78
  440. package/lib/vef-filter/types.cjs +1 -5
  441. package/lib/vef-flex/index.cjs +1 -36
  442. package/lib/vef-flex/props.cjs +1 -5
  443. package/lib/vef-float-button/index.cjs +1 -54
  444. package/lib/vef-float-button/props.cjs +1 -5
  445. package/lib/vef-float-button-group/index.cjs +1 -25
  446. package/lib/vef-float-button-group/props.cjs +1 -5
  447. package/lib/vef-form/components/fields/icon-select.cjs +1 -70
  448. package/lib/vef-form/components/fields/index.cjs +1 -30
  449. package/lib/vef-form/components/fields/input-number.cjs +1 -128
  450. package/lib/vef-form/components/fields/input.cjs +1 -137
  451. package/lib/vef-form/components/fields/password.cjs +1 -120
  452. package/lib/vef-form/components/fields/props.cjs +1 -5
  453. package/lib/vef-form/components/fields/radio.cjs +1 -111
  454. package/lib/vef-form/components/fields/select.cjs +1 -243
  455. package/lib/vef-form/components/fields/textarea.cjs +1 -114
  456. package/lib/vef-form/components/fields/tree-select.cjs +1 -239
  457. package/lib/vef-form/components/form-actions.cjs +2 -62
  458. package/lib/vef-form/components/form-content.cjs +2 -149
  459. package/lib/vef-form/components/form-field.cjs +1 -27
  460. package/lib/vef-form/components/form-group.cjs +2 -68
  461. package/lib/vef-form/components/form-hidden-item.cjs +1 -41
  462. package/lib/vef-form/components/form-item.cjs +1 -84
  463. package/lib/vef-form/components/form-row.cjs +1 -103
  464. package/lib/vef-form/event.cjs +1 -49
  465. package/lib/vef-form/helper.cjs +1 -20
  466. package/lib/vef-form/hooks/use-action-handlers.cjs +1 -135
  467. package/lib/vef-form/hooks/use-columns-layout.cjs +1 -127
  468. package/lib/vef-form/hooks/use-computed-values.cjs +1 -60
  469. package/lib/vef-form/hooks/use-form-context.cjs +1 -21
  470. package/lib/vef-form/hooks/use-form-initialization.cjs +1 -50
  471. package/lib/vef-form/hooks/use-form-instance.cjs +1 -31
  472. package/lib/vef-form/hooks/use-form-values-change.cjs +1 -35
  473. package/lib/vef-form/hooks/use-label-width.cjs +1 -23
  474. package/lib/vef-form/index.cjs +2 -178
  475. package/lib/vef-form/props.cjs +1 -5
  476. package/lib/vef-form/store.cjs +1 -72
  477. package/lib/vef-form/types.cjs +1 -5
  478. package/lib/vef-form/validation-rules.cjs +1 -313
  479. package/lib/vef-form-drawer/index.cjs +1 -103
  480. package/lib/vef-form-drawer/props.cjs +1 -5
  481. package/lib/vef-form-modal/index.cjs +1 -100
  482. package/lib/vef-form-modal/props.cjs +1 -5
  483. package/lib/vef-generic-select/index.cjs +1 -86
  484. package/lib/vef-generic-select/props.cjs +1 -5
  485. package/lib/vef-grid/index.cjs +9 -79
  486. package/lib/vef-grid/props.cjs +1 -9
  487. package/lib/vef-grid-item/index.cjs +1 -57
  488. package/lib/vef-grid-item/props.cjs +1 -5
  489. package/lib/vef-icon/index.cjs +1 -55
  490. package/lib/vef-icon/props.cjs +1 -5
  491. package/lib/vef-icon-select/index.cjs +4 -144
  492. package/lib/vef-icon-select/props.cjs +1 -5
  493. package/lib/vef-input/hooks/use-input-instance.cjs +1 -20
  494. package/lib/vef-input/index.cjs +1 -69
  495. package/lib/vef-input/props.cjs +1 -5
  496. package/lib/vef-input-number/hooks/use-input-number-instance.cjs +1 -18
  497. package/lib/vef-input-number/index.cjs +1 -153
  498. package/lib/vef-input-number/props.cjs +1 -5
  499. package/lib/vef-layout/common-styles.cjs +2 -13
  500. package/lib/vef-layout/components/content.cjs +1 -18
  501. package/lib/vef-layout/components/font-size.cjs +1 -73
  502. package/lib/vef-layout/components/fullscreen.cjs +1 -28
  503. package/lib/vef-layout/components/header-action-icons.cjs +2 -30
  504. package/lib/vef-layout/components/header-content.cjs +1 -24
  505. package/lib/vef-layout/components/header.cjs +2 -70
  506. package/lib/vef-layout/components/icon-boy.cjs +1 -74
  507. package/lib/vef-layout/components/icon-girl.cjs +1 -81
  508. package/lib/vef-layout/components/icon-menu-fold-left.cjs +1 -28
  509. package/lib/vef-layout/components/icon-menu-unfold-left.cjs +1 -28
  510. package/lib/vef-layout/components/menu-groups.cjs +5 -118
  511. package/lib/vef-layout/components/message.cjs +1 -16
  512. package/lib/vef-layout/components/search.cjs +1 -16
  513. package/lib/vef-layout/components/sider.cjs +2 -56
  514. package/lib/vef-layout/components/title.cjs +2 -52
  515. package/lib/vef-layout/components/user-avatar.cjs +4 -80
  516. package/lib/vef-layout/hooks/use-layout-context.cjs +1 -17
  517. package/lib/vef-layout/index.cjs +2 -38
  518. package/lib/vef-layout/logo.svg.cjs +1 -9
  519. package/lib/vef-layout/props.cjs +1 -5
  520. package/lib/vef-layout/store.cjs +1 -23
  521. package/lib/vef-line-chart/index.cjs +1 -43
  522. package/lib/vef-line-chart/props.cjs +1 -5
  523. package/lib/vef-loading-placeholder/index.cjs +2 -44
  524. package/lib/vef-loading-placeholder/props.cjs +1 -5
  525. package/lib/vef-login/index.cjs +9 -145
  526. package/lib/vef-login/login-icon.cjs +1 -673
  527. package/lib/vef-login/props.cjs +1 -5
  528. package/lib/vef-menu/index.cjs +2 -80
  529. package/lib/vef-menu/props.cjs +1 -5
  530. package/lib/vef-modal/components/action-button-wrapper.cjs +1 -54
  531. package/lib/vef-modal/components/button-props.cjs +1 -5
  532. package/lib/vef-modal/components/cancel-action-button.cjs +1 -23
  533. package/lib/vef-modal/components/ok-action-button.cjs +1 -25
  534. package/lib/vef-modal/context.cjs +1 -22
  535. package/lib/vef-modal/index.cjs +2 -245
  536. package/lib/vef-modal/props.cjs +1 -5
  537. package/lib/vef-not-found/index.cjs +3 -44
  538. package/lib/vef-not-found/not-found-icon.cjs +1 -849
  539. package/lib/vef-not-found/props.cjs +1 -5
  540. package/lib/vef-page/index.cjs +2 -84
  541. package/lib/vef-page/props.cjs +1 -5
  542. package/lib/vef-pagination/index.cjs +1 -62
  543. package/lib/vef-pagination/props.cjs +1 -18
  544. package/lib/vef-paragraph/index.cjs +1 -94
  545. package/lib/vef-paragraph/props.cjs +1 -5
  546. package/lib/vef-password/hooks/use-password-instance.cjs +1 -18
  547. package/lib/vef-password/index.cjs +1 -72
  548. package/lib/vef-password/props.cjs +1 -5
  549. package/lib/vef-pie-chart/index.cjs +3 -70
  550. package/lib/vef-pie-chart/props.cjs +1 -5
  551. package/lib/vef-popconfirm/index.cjs +1 -61
  552. package/lib/vef-popconfirm/props.cjs +1 -5
  553. package/lib/vef-popover/index.cjs +1 -39
  554. package/lib/vef-popover/props.cjs +1 -5
  555. package/lib/vef-radio/hooks/use-data-options.cjs +1 -45
  556. package/lib/vef-radio/hooks/use-radio-instance.cjs +1 -25
  557. package/lib/vef-radio/index.cjs +2 -92
  558. package/lib/vef-radio/props.cjs +1 -5
  559. package/lib/vef-rate/hooks/use-rate-instance.cjs +1 -18
  560. package/lib/vef-rate/index.cjs +1 -35
  561. package/lib/vef-rate/props.cjs +1 -5
  562. package/lib/vef-responsive-container/index.cjs +2 -59
  563. package/lib/vef-responsive-container/props.cjs +1 -5
  564. package/lib/vef-responsive-item/index.cjs +2 -28
  565. package/lib/vef-responsive-item/props.cjs +1 -5
  566. package/lib/vef-ribbon/index.cjs +1 -43
  567. package/lib/vef-ribbon/props.cjs +1 -5
  568. package/lib/vef-row/index.cjs +1 -17
  569. package/lib/vef-row/props.cjs +1 -5
  570. package/lib/vef-scroll-area/components/scrollbar.cjs +5 -37
  571. package/lib/vef-scroll-area/index.cjs +3 -74
  572. package/lib/vef-scroll-area/props.cjs +1 -5
  573. package/lib/vef-select/components/option.cjs +2 -27
  574. package/lib/vef-select/hooks/use-data-options.cjs +1 -52
  575. package/lib/vef-select/hooks/use-field-names.cjs +1 -26
  576. package/lib/vef-select/hooks/use-render-label.cjs +2 -28
  577. package/lib/vef-select/hooks/use-render-option.cjs +1 -24
  578. package/lib/vef-select/hooks/use-select-instance.cjs +1 -25
  579. package/lib/vef-select/index.cjs +1 -105
  580. package/lib/vef-select/props.cjs +1 -5
  581. package/lib/vef-slider/hooks/use-slider-instance.cjs +1 -18
  582. package/lib/vef-slider/index.cjs +1 -39
  583. package/lib/vef-slider/props.cjs +1 -5
  584. package/lib/vef-sortable-list/components/overlay-item.cjs +2 -36
  585. package/lib/vef-sortable-list/components/sortable-item.cjs +2 -80
  586. package/lib/vef-sortable-list/hooks/use-merged-items.cjs +1 -26
  587. package/lib/vef-sortable-list/index.cjs +1 -119
  588. package/lib/vef-sortable-list/props.cjs +1 -5
  589. package/lib/vef-space/index.cjs +1 -30
  590. package/lib/vef-space/props.cjs +1 -5
  591. package/lib/vef-spin/index.cjs +1 -17
  592. package/lib/vef-spin/props.cjs +1 -5
  593. package/lib/vef-splitter/index.cjs +1 -25
  594. package/lib/vef-splitter/props.cjs +1 -5
  595. package/lib/vef-splitter-panel/index.cjs +1 -17
  596. package/lib/vef-splitter-panel/props.cjs +1 -5
  597. package/lib/vef-status/index.cjs +1 -42
  598. package/lib/vef-status/props.cjs +1 -5
  599. package/lib/vef-table/components/columns/bool.cjs +1 -96
  600. package/lib/vef-table/components/columns/code.cjs +1 -15
  601. package/lib/vef-table/components/columns/data-dictionary.cjs +1 -97
  602. package/lib/vef-table/components/columns/enum.cjs +1 -106
  603. package/lib/vef-table/components/columns/file.cjs +1 -15
  604. package/lib/vef-table/components/columns/icon.cjs +1 -15
  605. package/lib/vef-table/components/columns/id.cjs +1 -87
  606. package/lib/vef-table/components/columns/image.cjs +1 -16
  607. package/lib/vef-table/components/columns/index.cjs +1 -38
  608. package/lib/vef-table/components/columns/markdown.cjs +1 -15
  609. package/lib/vef-table/components/columns/number.cjs +1 -88
  610. package/lib/vef-table/components/columns/props.cjs +1 -5
  611. package/lib/vef-table/components/columns/render.cjs +1 -33
  612. package/lib/vef-table/components/columns/rich-text.cjs +1 -15
  613. package/lib/vef-table/components/columns/text.cjs +1 -93
  614. package/lib/vef-table/components/columns-settings.cjs +2 -192
  615. package/lib/vef-table/components/operation-buttons.cjs +2 -235
  616. package/lib/vef-table/components/settings-icon.cjs +2 -23
  617. package/lib/vef-table/components/table-footer.cjs +2 -106
  618. package/lib/vef-table/helper.cjs +1 -20
  619. package/lib/vef-table/hooks/use-computed-batch-buttons.cjs +1 -38
  620. package/lib/vef-table/hooks/use-computed-columns.cjs +1 -25
  621. package/lib/vef-table/hooks/use-computed-values.cjs +1 -43
  622. package/lib/vef-table/hooks/use-data.cjs +1 -62
  623. package/lib/vef-table/hooks/use-default-column-configs.cjs +1 -32
  624. package/lib/vef-table/hooks/use-display-value.cjs +1 -41
  625. package/lib/vef-table/hooks/use-helper-columns.cjs +1 -72
  626. package/lib/vef-table/hooks/use-operation-column-width.cjs +1 -55
  627. package/lib/vef-table/hooks/use-pagination-props.cjs +1 -49
  628. package/lib/vef-table/hooks/use-row-props.cjs +1 -44
  629. package/lib/vef-table/hooks/use-row-selection-config.cjs +1 -117
  630. package/lib/vef-table/hooks/use-selected-rows.cjs +1 -31
  631. package/lib/vef-table/hooks/use-table-columns.cjs +1 -61
  632. package/lib/vef-table/hooks/use-table-context.cjs +1 -28
  633. package/lib/vef-table/hooks/use-table-instance.cjs +1 -20
  634. package/lib/vef-table/hooks/use-table-summary.cjs +1 -47
  635. package/lib/vef-table/hooks/use-table-width.cjs +1 -18
  636. package/lib/vef-table/index.cjs +3 -230
  637. package/lib/vef-table/props.cjs +1 -5
  638. package/lib/vef-table/store.cjs +1 -24
  639. package/lib/vef-table/types.cjs +1 -5
  640. package/lib/vef-tabs/index.cjs +1 -30
  641. package/lib/vef-tabs/props.cjs +1 -5
  642. package/lib/vef-tag/index.cjs +1 -33
  643. package/lib/vef-tag/props.cjs +1 -5
  644. package/lib/vef-temporal-picker/helper.cjs +1 -62
  645. package/lib/vef-temporal-picker/hooks/use-dayjs-value.cjs +1 -23
  646. package/lib/vef-temporal-picker/hooks/use-temporal-limit.cjs +1 -39
  647. package/lib/vef-temporal-picker/hooks/use-temporal-picker-instance.cjs +1 -24
  648. package/lib/vef-temporal-picker/index.cjs +1 -130
  649. package/lib/vef-temporal-picker/props.cjs +1 -5
  650. package/lib/vef-temporal-range-picker/helper.cjs +1 -62
  651. package/lib/vef-temporal-range-picker/hooks/use-dayjs-values.cjs +1 -28
  652. package/lib/vef-temporal-range-picker/hooks/use-temporal-limit.cjs +1 -39
  653. package/lib/vef-temporal-range-picker/hooks/use-temporal-range-picker-instance.cjs +1 -24
  654. package/lib/vef-temporal-range-picker/index.cjs +1 -133
  655. package/lib/vef-temporal-range-picker/props.cjs +1 -9
  656. package/lib/vef-text/index.cjs +1 -85
  657. package/lib/vef-text/props.cjs +1 -5
  658. package/lib/vef-textarea/hooks/use-textarea-instance.cjs +1 -18
  659. package/lib/vef-textarea/index.cjs +1 -72
  660. package/lib/vef-textarea/props.cjs +1 -5
  661. package/lib/vef-title/index.cjs +3 -91
  662. package/lib/vef-title/props.cjs +1 -5
  663. package/lib/vef-tooltip/index.cjs +1 -40
  664. package/lib/vef-tooltip/props.cjs +1 -5
  665. package/lib/vef-tree-select/hooks/use-change-handler.cjs +1 -38
  666. package/lib/vef-tree-select/hooks/use-data-options.cjs +1 -50
  667. package/lib/vef-tree-select/hooks/use-tree-select-instance.cjs +1 -25
  668. package/lib/vef-tree-select/index.cjs +1 -94
  669. package/lib/vef-tree-select/props.cjs +1 -5
  670. package/lib/vef-virtual-grid/index.cjs +3 -112
  671. package/lib/vef-virtual-grid/props.cjs +1 -5
  672. package/lib/vef-virtual-list/index.cjs +4 -220
  673. package/lib/vef-virtual-list/props.cjs +1 -5
  674. package/package.json +4 -4
@@ -1,54 +1 @@
1
- /*! VefFramework version: 1.0.101, build time: 2025-03-07T14:07:14.971Z, made by Venus. */
2
- import { jsx } from '@emotion/react/jsx-runtime';
3
- import VefFormModal from '../../vef-form-modal/index.js';
4
- import { useCrudStore } from '../store.js';
5
-
6
- function VefCrudFormModal({
7
- formSchema,
8
- formApis
9
- }) {
10
- const [
11
- isFormOpen,
12
- {
13
- scene,
14
- title,
15
- width
16
- },
17
- { onBeforeSubmit, onSubmitSuccess },
18
- currentFormInitialValues,
19
- isFormLoading,
20
- closeForm
21
- ] = useCrudStore(
22
- (state) => [
23
- state.isFormOpen,
24
- state.currentFormInfo,
25
- state.currentFormEventHandlers,
26
- state.currentFormInitialValues,
27
- state.isFormLoading,
28
- state.closeForm
29
- ]
30
- );
31
- const formApi = formApis[scene];
32
- if (!formApi) {
33
- throw new Error(`Form api for scene ${scene} not found, please check the formApis props of VefCrudPage component.`);
34
- }
35
- return /* @__PURE__ */ jsx(
36
- VefFormModal,
37
- {
38
- initialValues: currentFormInitialValues,
39
- loading: isFormLoading,
40
- open: isFormOpen,
41
- scene,
42
- schema: formSchema,
43
- submitApi: formApi,
44
- title,
45
- width,
46
- onBeforeSubmit,
47
- onClose: closeForm,
48
- onSubmitSuccess
49
- }
50
- );
51
- }
52
-
53
- export { VefCrudFormModal as default };
54
- /*! 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
+ /*! VefFramework version: 1.0.103, build time: 2025-03-07T17:03:51.787Z, made by Venus. */import{jsx}from"@emotion/react/jsx-runtime";import VefFormModal from"../../vef-form-modal/index.js";import{useCrudStore}from"../store.js";function VefCrudFormModal({formSchema,formApis}){const[isFormOpen,{scene,title,width},{onBeforeSubmit,onSubmitSuccess},currentFormInitialValues,isFormLoading,closeForm]=useCrudStore(state=>[state.isFormOpen,state.currentFormInfo,state.currentFormEventHandlers,state.currentFormInitialValues,state.isFormLoading,state.closeForm]),formApi=formApis[scene];if(!formApi)throw new Error(`Form api for scene ${scene} not found, please check the formApis props of VefCrudPage component.`);return jsx(VefFormModal,{initialValues:currentFormInitialValues,loading:isFormLoading,open:isFormOpen,scene,schema:formSchema,submitApi:formApi,title,width,onBeforeSubmit,onClose:closeForm,onSubmitSuccess})}/*! 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 */export{VefCrudFormModal as default};
@@ -1,30 +1 @@
1
- /*! VefFramework version: 1.0.101, build time: 2025-03-07T14:07:14.971Z, made by Venus. */
2
- import { jsx } from '@emotion/react/jsx-runtime';
3
- import { memo } from 'react';
4
- import VefCrudFilter from './crud-filter.js';
5
-
6
- function VefCrudHeaderBase({
7
- title,
8
- tableApi,
9
- tableApiParams,
10
- filterItems,
11
- actionButtons
12
- }) {
13
- if (filterItems.length > 0) {
14
- return /* @__PURE__ */ jsx(
15
- VefCrudFilter,
16
- {
17
- actionButtons,
18
- filterSchema: filterItems,
19
- tableApi,
20
- tableApiParams,
21
- title
22
- }
23
- );
24
- }
25
- return null;
26
- }
27
- const VefCrudHeader = memo(VefCrudHeaderBase);
28
-
29
- export { VefCrudHeader as default };
30
- /*! 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
+ /*! VefFramework version: 1.0.103, build time: 2025-03-07T17:03:51.787Z, made by Venus. */import{jsx}from"@emotion/react/jsx-runtime";import{memo}from"react";import VefCrudFilter from"./crud-filter.js";function VefCrudHeaderBase({title,tableApi,tableApiParams,filterItems,actionButtons}){return filterItems.length>0?jsx(VefCrudFilter,{actionButtons,filterSchema:filterItems,tableApi,tableApiParams,title}):null}const VefCrudHeader=memo(VefCrudHeaderBase);/*! 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 */export{VefCrudHeader as default};
@@ -1,77 +1 @@
1
- /*! VefFramework version: 1.0.101, build time: 2025-03-07T14:07:14.971Z, made by Venus. */
2
- import { jsx } from '@emotion/react/jsx-runtime';
3
- import { useMemo, useCallback, useRef, useEffect, memo } from 'react';
4
- import VefTable from '../../vef-table/index.js';
5
- import { useCrudContext } from '../hooks/use-crud-context.js';
6
- import { useOperationButtons } from '../hooks/use-operation-buttons.js';
7
- import { useCrudStore, useCrudStoreApi } from '../store.js';
8
-
9
- function VefCrudTableBase({
10
- api,
11
- apiParams,
12
- deletionApi,
13
- paginated,
14
- schema,
15
- selectable,
16
- operationButtons,
17
- ...tableProps
18
- }) {
19
- const [confirmedFilterValues, selectedInfo, setSelectedInfo] = useCrudStore((state) => [state.confirmedFilterValues, state.selectedInfo, state.setSelectedInfo]);
20
- const mergedApiParams = useMemo(() => ({
21
- ...apiParams,
22
- ...confirmedFilterValues
23
- }), [apiParams, confirmedFilterValues]);
24
- const handleSelectionChange = useCallback((selectedKeys, selectedRecords) => {
25
- setSelectedInfo({
26
- selectedKeys,
27
- selectedRecords
28
- });
29
- }, [setSelectedInfo]);
30
- const operationButtonsToUse = useOperationButtons(deletionApi, operationButtons);
31
- const tableInstanceRef = useRef(null);
32
- const crudStore = useCrudStoreApi();
33
- useEffect(() => {
34
- crudStore.setState({ tableInstanceRef });
35
- }, [crudStore]);
36
- const crudContext = useCrudContext();
37
- if (paginated) {
38
- return /* @__PURE__ */ jsx(
39
- VefTable,
40
- {
41
- ref: tableInstanceRef,
42
- multipleSelection: true,
43
- paginated: true,
44
- api,
45
- apiParams: mergedApiParams,
46
- externalContext: crudContext,
47
- operationButtons: operationButtonsToUse,
48
- schema,
49
- selectable,
50
- selectedKeys: selectedInfo.selectedKeys,
51
- selectionSummary: false,
52
- onRowSelectionChange: handleSelectionChange,
53
- ...tableProps
54
- }
55
- );
56
- }
57
- return /* @__PURE__ */ jsx(
58
- VefTable,
59
- {
60
- ref: tableInstanceRef,
61
- multipleSelection: true,
62
- api,
63
- apiParams: mergedApiParams,
64
- externalContext: crudContext,
65
- schema,
66
- selectable,
67
- selectedKeys: selectedInfo.selectedKeys,
68
- selectionSummary: false,
69
- onRowSelectionChange: handleSelectionChange,
70
- ...tableProps
71
- }
72
- );
73
- }
74
- const VefCrudTable = memo(VefCrudTableBase);
75
-
76
- export { VefCrudTable as default };
77
- /*! 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
+ /*! VefFramework version: 1.0.103, build time: 2025-03-07T17:03:51.787Z, made by Venus. */import{jsx}from"@emotion/react/jsx-runtime";import{useMemo,useCallback,useRef,useEffect,memo}from"react";import VefTable from"../../vef-table/index.js";import{useCrudContext}from"../hooks/use-crud-context.js";import{useOperationButtons}from"../hooks/use-operation-buttons.js";import{useCrudStore,useCrudStoreApi}from"../store.js";function VefCrudTableBase({api,apiParams,deletionApi,paginated,schema,selectable,operationButtons,...tableProps}){const[confirmedFilterValues,selectedInfo,setSelectedInfo]=useCrudStore(state=>[state.confirmedFilterValues,state.selectedInfo,state.setSelectedInfo]),mergedApiParams=useMemo(()=>({...apiParams,...confirmedFilterValues}),[apiParams,confirmedFilterValues]),handleSelectionChange=useCallback((selectedKeys,selectedRecords)=>{setSelectedInfo({selectedKeys,selectedRecords})},[setSelectedInfo]),operationButtonsToUse=useOperationButtons(deletionApi,operationButtons),tableInstanceRef=useRef(null),crudStore=useCrudStoreApi();useEffect(()=>{crudStore.setState({tableInstanceRef})},[crudStore]);const crudContext=useCrudContext();return paginated?jsx(VefTable,{ref:tableInstanceRef,multipleSelection:!0,paginated:!0,api,apiParams:mergedApiParams,externalContext:crudContext,operationButtons:operationButtonsToUse,schema,selectable,selectedKeys:selectedInfo.selectedKeys,selectionSummary:!1,onRowSelectionChange:handleSelectionChange,...tableProps}):jsx(VefTable,{ref:tableInstanceRef,multipleSelection:!0,api,apiParams:mergedApiParams,externalContext:crudContext,schema,selectable,selectedKeys:selectedInfo.selectedKeys,selectionSummary:!1,onRowSelectionChange:handleSelectionChange,...tableProps})}const VefCrudTable=memo(VefCrudTableBase);/*! 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 */export{VefCrudTable as default};
@@ -1,38 +1 @@
1
- /*! VefFramework version: 1.0.101, build time: 2025-03-07T14:07:14.971Z, made by Venus. */
2
- import { jsx } from '@emotion/react/jsx-runtime';
3
- import { creationFormScene } from '@vef-framework/shared';
4
- import { PlusIcon } from 'lucide-react';
5
- import { useMemo } from 'react';
6
- import VefIcon from '../../vef-icon/index.js';
7
- import { useCrudStore } from '../store.js';
8
-
9
- function useActionButtons(actionButtons) {
10
- const formApiKeys = useCrudStore((state) => state.formApiKeys);
11
- const showCreationActionButton = Reflect.has(formApiKeys, creationFormScene);
12
- const creationFormApiKey = Reflect.get(formApiKeys, creationFormScene);
13
- return useMemo(() => {
14
- if (showCreationActionButton) {
15
- return [
16
- ...actionButtons ?? [],
17
- {
18
- label: "创建",
19
- key: `_${creationFormScene}`,
20
- icon: /* @__PURE__ */ jsx(VefIcon, { children: /* @__PURE__ */ jsx(PlusIcon, {}) }),
21
- color: "primary",
22
- permissions: [creationFormApiKey],
23
- onClick: ({ openForm, refetch }) => openForm({
24
- scene: creationFormScene,
25
- title: "创建",
26
- onSubmitSuccess: () => {
27
- refetch();
28
- }
29
- })
30
- }
31
- ];
32
- }
33
- return actionButtons ?? [];
34
- }, [showCreationActionButton, actionButtons, creationFormApiKey]);
35
- }
36
-
37
- export { useActionButtons };
38
- /*! 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
+ /*! VefFramework version: 1.0.103, build time: 2025-03-07T17:03:51.787Z, made by Venus. */import{jsx}from"@emotion/react/jsx-runtime";import{creationFormScene}from"@vef-framework/shared";import{PlusIcon}from"lucide-react";import{useMemo}from"react";import VefIcon from"../../vef-icon/index.js";import{useCrudStore}from"../store.js";function useActionButtons(actionButtons){const formApiKeys=useCrudStore(state=>state.formApiKeys),showCreationActionButton=Reflect.has(formApiKeys,creationFormScene),creationFormApiKey=Reflect.get(formApiKeys,creationFormScene);return useMemo(()=>showCreationActionButton?[...actionButtons??[],{label:"创建",key:`_${creationFormScene}`,icon:jsx(VefIcon,{children:jsx(PlusIcon,{})}),color:"primary",permissions:[creationFormApiKey],onClick:({openForm,refetch})=>openForm({scene:creationFormScene,title:"创建",onSubmitSuccess:()=>{refetch()}})}]:actionButtons??[],[showCreationActionButton,actionButtons,creationFormApiKey])}/*! 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 */export{useActionButtons};
@@ -1,21 +1 @@
1
- /*! VefFramework version: 1.0.101, build time: 2025-03-07T14:07:14.971Z, made by Venus. */
2
- import { useMemo } from 'react';
3
- import { useCrudStore } from '../store.js';
4
-
5
- function useCrudContext() {
6
- const [openForm, filterValues, tableInstanceRef] = useCrudStore((state) => [
7
- state.openForm,
8
- state.filterValues,
9
- state.tableInstanceRef
10
- ]);
11
- return useMemo(() => ({
12
- openForm,
13
- filterValues,
14
- refetch: async () => {
15
- await tableInstanceRef.current?.refetch();
16
- }
17
- }), [openForm, filterValues, tableInstanceRef]);
18
- }
19
-
20
- export { useCrudContext };
21
- /*! 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
+ /*! VefFramework version: 1.0.103, build time: 2025-03-07T17:03:51.787Z, made by Venus. */import{useMemo}from"react";import{useCrudStore}from"../store.js";function useCrudContext(){const[openForm,filterValues,tableInstanceRef]=useCrudStore(state=>[state.openForm,state.filterValues,state.tableInstanceRef]);return useMemo(()=>({openForm,filterValues,refetch:async()=>{await tableInstanceRef.current?.refetch()}}),[openForm,filterValues,tableInstanceRef])}/*! 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 */export{useCrudContext};
@@ -1,117 +1 @@
1
- /*! VefFramework version: 1.0.101, build time: 2025-03-07T14:07:14.971Z, made by Venus. */
2
- import { isNullish, isString } from '@vef-framework/shared';
3
- import { useMemo } from 'react';
4
-
5
- function useCrudSchema(schema) {
6
- return useMemo(() => {
7
- const tableColumns = [];
8
- const filterItems = [];
9
- const filterValueAsDefaultSet = /* @__PURE__ */ new Set();
10
- const formGroupMap = {};
11
- for (const item of schema) {
12
- const {
13
- filter,
14
- form,
15
- ...column
16
- } = item;
17
- const { name, title } = column;
18
- tableColumns.push(column);
19
- if (filter) {
20
- const {
21
- label,
22
- advanced,
23
- ...rest
24
- } = filter;
25
- const filterItem = {
26
- name,
27
- label: advanced && isNullish(label) ? title : label,
28
- advanced,
29
- ...rest
30
- };
31
- if ((filterItem.type === "Input" || filterItem.type === "InputNumber") && isNullish(label) && isNullish(filterItem.placeholder)) {
32
- filterItem.placeholder = isString(title) ? title : "请输入";
33
- } else if ((filterItem.type === "SingleSelect" || filterItem.type === "MultipleSelect" || filterItem.type === "TreeSingleSelect" || filterItem.type === "TreeMultipleSelect") && isNullish(label) && isNullish(filterItem.placeholder)) {
34
- filterItem.placeholder = isString(title) ? title : "请选择";
35
- }
36
- filterItems.push(filterItem);
37
- }
38
- if (form) {
39
- const {
40
- group,
41
- row,
42
- column: column2,
43
- filterValueAsDefault,
44
- label,
45
- ...rest
46
- } = form;
47
- const groupKey = `${group ?? 1}`;
48
- const groupSchema = formGroupMap[groupKey] ?? {};
49
- if (!formGroupMap[groupKey]) {
50
- formGroupMap[groupKey] = groupSchema;
51
- }
52
- const rowKey = `${row ?? 1}`;
53
- const rowSchema = groupSchema[rowKey] ?? {};
54
- if (!groupSchema[rowKey]) {
55
- groupSchema[rowKey] = rowSchema;
56
- }
57
- const columnKey = `${column2 ?? 1}`;
58
- const columnSchema = rowSchema[columnKey] ?? [];
59
- if (!rowSchema[columnKey]) {
60
- rowSchema[columnKey] = columnSchema;
61
- }
62
- if (rest.type === "Hidden") {
63
- columnSchema.push({
64
- name,
65
- ...rest
66
- });
67
- } else {
68
- columnSchema.push({
69
- name,
70
- label: isNullish(label) ? title : label,
71
- ...rest
72
- });
73
- }
74
- if (filterValueAsDefault ?? false) {
75
- filterValueAsDefaultSet.add(name);
76
- }
77
- }
78
- }
79
- const formGroups = [];
80
- const groupKeys = Object.keys(formGroupMap).sort();
81
- for (const groupKey of groupKeys) {
82
- const groupSchemaMap = formGroupMap[groupKey];
83
- const formRows = [];
84
- const rowKeys = Object.keys(groupSchemaMap).sort();
85
- for (const rowKey of rowKeys) {
86
- const rowSchema = groupSchemaMap[rowKey];
87
- const formColumns = [];
88
- const columnKeys = Object.keys(rowSchema).sort();
89
- for (const columnKey of columnKeys) {
90
- const columnSchema = rowSchema[columnKey];
91
- const formColumn = {
92
- key: columnKey,
93
- items: columnSchema
94
- };
95
- formColumns.push(formColumn);
96
- }
97
- formRows.push({
98
- key: rowKey,
99
- columns: formColumns
100
- });
101
- }
102
- formGroups.push({
103
- key: groupKey,
104
- rows: formRows
105
- });
106
- }
107
- return {
108
- tableSchema: tableColumns,
109
- filterItems,
110
- formGroups,
111
- filterValueAsDefaultKeys: Array.from(filterValueAsDefaultSet)
112
- };
113
- }, [schema]);
114
- }
115
-
116
- export { useCrudSchema };
117
- /*! 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
+ /*! VefFramework version: 1.0.103, build time: 2025-03-07T17:03:51.787Z, made by Venus. */import{isNullish,isString}from"@vef-framework/shared";import{useMemo}from"react";function useCrudSchema(schema){return useMemo(()=>{const tableColumns=[],filterItems=[],filterValueAsDefaultSet=new Set,formGroupMap={};for(const item of schema){const{filter,form,...column}=item,{name,title}=column;if(tableColumns.push(column),filter){const{label,advanced,...rest}=filter,filterItem={name,label:advanced&&isNullish(label)?title:label,advanced,...rest};(filterItem.type==="Input"||filterItem.type==="InputNumber")&&isNullish(label)&&isNullish(filterItem.placeholder)?filterItem.placeholder=isString(title)?title:"请输入":(filterItem.type==="SingleSelect"||filterItem.type==="MultipleSelect"||filterItem.type==="TreeSingleSelect"||filterItem.type==="TreeMultipleSelect")&&isNullish(label)&&isNullish(filterItem.placeholder)&&(filterItem.placeholder=isString(title)?title:"请选择"),filterItems.push(filterItem)}if(form){const{group,row,column:column2,filterValueAsDefault,label,...rest}=form,groupKey=`${group??1}`,groupSchema=formGroupMap[groupKey]??{};formGroupMap[groupKey]||(formGroupMap[groupKey]=groupSchema);const rowKey=`${row??1}`,rowSchema=groupSchema[rowKey]??{};groupSchema[rowKey]||(groupSchema[rowKey]=rowSchema);const columnKey=`${column2??1}`,columnSchema=rowSchema[columnKey]??[];rowSchema[columnKey]||(rowSchema[columnKey]=columnSchema),rest.type==="Hidden"?columnSchema.push({name,...rest}):columnSchema.push({name,label:isNullish(label)?title:label,...rest}),(filterValueAsDefault??!1)&&filterValueAsDefaultSet.add(name)}}const formGroups=[],groupKeys=Object.keys(formGroupMap).sort();for(const groupKey of groupKeys){const groupSchemaMap=formGroupMap[groupKey],formRows=[],rowKeys=Object.keys(groupSchemaMap).sort();for(const rowKey of rowKeys){const rowSchema=groupSchemaMap[rowKey],formColumns=[],columnKeys=Object.keys(rowSchema).sort();for(const columnKey of columnKeys){const columnSchema=rowSchema[columnKey],formColumn={key:columnKey,items:columnSchema};formColumns.push(formColumn)}formRows.push({key:rowKey,columns:formColumns})}formGroups.push({key:groupKey,rows:formRows})}return{tableSchema:tableColumns,filterItems,formGroups,filterValueAsDefaultKeys:Array.from(filterValueAsDefaultSet)}},[schema])}/*! 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 */export{useCrudSchema};
@@ -1,61 +1 @@
1
- /*! VefFramework version: 1.0.101, build time: 2025-03-07T14:07:14.971Z, made by Venus. */
2
- import { jsx } from '@emotion/react/jsx-runtime';
3
- import { useApiContext } from '@vef-framework/core';
4
- import { updateFormScene, showSuccessMessage } from '@vef-framework/shared';
5
- import { PencilIcon, TrashIcon } from 'lucide-react';
6
- import { useMemo } from 'react';
7
- import VefIcon from '../../vef-icon/index.js';
8
- import { useCrudStore } from '../store.js';
9
-
10
- function useOperationButtons(deletionApi, operationButtons) {
11
- const { useApiMutation, stubMutationApi } = useApiContext();
12
- const deletionMutation = useApiMutation(deletionApi ?? stubMutationApi);
13
- const formApiKeys = useCrudStore((state) => state.formApiKeys);
14
- const showUpdateButton = Reflect.has(formApiKeys, updateFormScene);
15
- return useMemo(() => {
16
- const buttons = [
17
- ...operationButtons ?? []
18
- ];
19
- if (showUpdateButton) {
20
- buttons.push({
21
- key: "_update",
22
- label: "编辑",
23
- icon: /* @__PURE__ */ jsx(VefIcon, { children: /* @__PURE__ */ jsx(PencilIcon, {}) }),
24
- color: "primary",
25
- onClick: ({
26
- record,
27
- openForm,
28
- refetch
29
- }) => {
30
- openForm({
31
- scene: updateFormScene,
32
- title: "编辑",
33
- initialValues: record,
34
- onSubmitSuccess: () => {
35
- refetch();
36
- }
37
- });
38
- }
39
- });
40
- }
41
- if (deletionApi) {
42
- buttons.push({
43
- key: "_deletion",
44
- label: "删除",
45
- icon: /* @__PURE__ */ jsx(VefIcon, { children: /* @__PURE__ */ jsx(TrashIcon, {}) }),
46
- color: "error",
47
- requireConfirmation: true,
48
- confirmationMode: "simple",
49
- onClick: async ({ record, refetch }) => {
50
- const { message } = await deletionMutation.mutate(record);
51
- showSuccessMessage(message);
52
- refetch();
53
- }
54
- });
55
- }
56
- return buttons;
57
- }, [deletionApi, deletionMutation, operationButtons, showUpdateButton]);
58
- }
59
-
60
- export { useOperationButtons };
61
- /*! 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
+ /*! VefFramework version: 1.0.103, build time: 2025-03-07T17:03:51.787Z, made by Venus. */import{jsx}from"@emotion/react/jsx-runtime";import{useApiContext}from"@vef-framework/core";import{updateFormScene,showSuccessMessage}from"@vef-framework/shared";import{PencilIcon,TrashIcon}from"lucide-react";import{useMemo}from"react";import VefIcon from"../../vef-icon/index.js";import{useCrudStore}from"../store.js";function useOperationButtons(deletionApi,operationButtons){const{useApiMutation,stubMutationApi}=useApiContext(),deletionMutation=useApiMutation(deletionApi??stubMutationApi),formApiKeys=useCrudStore(state=>state.formApiKeys),showUpdateButton=Reflect.has(formApiKeys,updateFormScene);return useMemo(()=>{const buttons=[...operationButtons??[]];return showUpdateButton&&buttons.push({key:"_update",label:"编辑",icon:jsx(VefIcon,{children:jsx(PencilIcon,{})}),color:"primary",onClick:({record,openForm,refetch})=>{openForm({scene:updateFormScene,title:"编辑",initialValues:record,onSubmitSuccess:()=>{refetch()}})}}),deletionApi&&buttons.push({key:"_deletion",label:"删除",icon:jsx(VefIcon,{children:jsx(TrashIcon,{})}),color:"error",requireConfirmation:!0,confirmationMode:"simple",onClick:async({record,refetch})=>{const{message}=await deletionMutation.mutate(record);showSuccessMessage(message),refetch()}}),buttons},[deletionApi,deletionMutation,operationButtons,showUpdateButton])}/*! 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 */export{useOperationButtons};
@@ -1,151 +1 @@
1
- /*! VefFramework version: 1.0.101, build time: 2025-03-07T14:07:14.971Z, made by Venus. */
2
- import { jsx, jsxs } from '@emotion/react/jsx-runtime';
3
- import { isNullish } from '@vef-framework/shared';
4
- import { useMemo } from 'react';
5
- import VefCard from '../vef-card/index.js';
6
- import VefPage from '../vef-page/index.js';
7
- import VefCrudActions from './components/crud-actions.js';
8
- import VefCrudFooter from './components/crud-footer.js';
9
- import VefCrudFormModal from './components/crud-form-modal.js';
10
- import VefCrudHeader from './components/crud-header.js';
11
- import VefCrudTable from './components/crud-table.js';
12
- import { useCrudSchema } from './hooks/use-crud-schema.js';
13
- import { useCrudStore, CrudStoreProvider } from './store.js';
14
-
15
- function VefCrudPageBase({
16
- title,
17
- actionButtons,
18
- batchActionButtons,
19
- tableSchema,
20
- filterItems,
21
- formGroups,
22
- tableApiParams,
23
- formApis,
24
- deletionApi,
25
- batchDeletionApi,
26
- selectionSummary,
27
- ...tableProps
28
- }) {
29
- const { selectedKeys } = useCrudStore((state) => state.selectedInfo);
30
- const selectable = !isNullish(batchDeletionApi) || !isNullish(batchActionButtons) && batchActionButtons.length > 0;
31
- let tableNode;
32
- if (tableProps.paginated) {
33
- const { tableApi: tableApi2, ...restTableProps } = tableProps;
34
- tableNode = /* @__PURE__ */ jsx(
35
- VefCrudTable,
36
- {
37
- showRowNumber: true,
38
- api: tableApi2,
39
- apiParams: tableApiParams,
40
- deletionApi,
41
- schema: tableSchema,
42
- selectable,
43
- ...restTableProps
44
- }
45
- );
46
- } else {
47
- const { tableApi: tableApi2, ...restTableProps } = tableProps;
48
- tableNode = /* @__PURE__ */ jsx(
49
- VefCrudTable,
50
- {
51
- showRowNumber: true,
52
- api: tableApi2,
53
- apiParams: tableApiParams,
54
- deletionApi,
55
- schema: tableSchema,
56
- selectable,
57
- ...restTableProps
58
- }
59
- );
60
- }
61
- const { tableApi } = tableProps;
62
- return /* @__PURE__ */ jsx(
63
- VefPage,
64
- {
65
- scrollable: true,
66
- title,
67
- actions: /* @__PURE__ */ jsx(
68
- VefCrudActions,
69
- {
70
- actionButtons,
71
- tableApi,
72
- tableApiParams
73
- }
74
- ),
75
- footer: selectedKeys.length > 0 && /* @__PURE__ */ jsx(
76
- VefCrudFooter,
77
- {
78
- batchActionButtons,
79
- batchDeletionApi,
80
- selectionSummary,
81
- tableApi,
82
- tableApiParams
83
- }
84
- ),
85
- header: /* @__PURE__ */ jsx(
86
- VefCrudHeader,
87
- {
88
- actionButtons,
89
- filterItems,
90
- tableApi,
91
- tableApiParams,
92
- title
93
- }
94
- ),
95
- children: /* @__PURE__ */ jsxs(VefCard, { children: [
96
- tableNode,
97
- formApis && Object.keys(formApis).length > 0 && formGroups.length > 0 && /* @__PURE__ */ jsx(
98
- VefCrudFormModal,
99
- {
100
- formApis,
101
- formSchema: formGroups
102
- }
103
- )
104
- ] })
105
- }
106
- );
107
- }
108
- function VefCrudPage({
109
- schema,
110
- formApis,
111
- onFormOpen,
112
- onBeforeSubmit,
113
- onSubmitSuccess,
114
- ...restProps
115
- }) {
116
- const {
117
- tableSchema,
118
- filterItems,
119
- formGroups,
120
- filterValueAsDefaultKeys
121
- } = useCrudSchema(schema);
122
- const formApiKeys = useMemo(() => {
123
- const apis = formApis ?? {};
124
- return Object.keys(apis).reduce((acc, key) => {
125
- if (apis[key]) {
126
- acc[key] = apis[key].key;
127
- }
128
- return acc;
129
- }, {});
130
- }, [formApis]);
131
- const initialState = useMemo(() => ({
132
- filterValueAsDefaultKeys,
133
- formApiKeys,
134
- onBeforeSubmit,
135
- onFormOpen,
136
- onSubmitSuccess
137
- }), [filterValueAsDefaultKeys, formApiKeys, onBeforeSubmit, onFormOpen, onSubmitSuccess]);
138
- return /* @__PURE__ */ jsx(CrudStoreProvider, { initialState, children: /* @__PURE__ */ jsx(
139
- VefCrudPageBase,
140
- {
141
- filterItems,
142
- formApis,
143
- formGroups,
144
- tableSchema,
145
- ...restProps
146
- }
147
- ) });
148
- }
149
-
150
- export { VefCrudPage as default };
151
- /*! 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
+ /*! VefFramework version: 1.0.103, build time: 2025-03-07T17:03:51.787Z, made by Venus. */import{jsx,jsxs}from"@emotion/react/jsx-runtime";import{isNullish}from"@vef-framework/shared";import{useMemo}from"react";import VefCard from"../vef-card/index.js";import VefPage from"../vef-page/index.js";import VefCrudActions from"./components/crud-actions.js";import VefCrudFooter from"./components/crud-footer.js";import VefCrudFormModal from"./components/crud-form-modal.js";import VefCrudHeader from"./components/crud-header.js";import VefCrudTable from"./components/crud-table.js";import{useCrudSchema}from"./hooks/use-crud-schema.js";import{useCrudStore,CrudStoreProvider}from"./store.js";function VefCrudPageBase({title,actionButtons,batchActionButtons,tableSchema,filterItems,formGroups,tableApiParams,formApis,deletionApi,batchDeletionApi,selectionSummary,...tableProps}){const{selectedKeys}=useCrudStore(state=>state.selectedInfo),selectable=!isNullish(batchDeletionApi)||!isNullish(batchActionButtons)&&batchActionButtons.length>0;let tableNode;if(tableProps.paginated){const{tableApi:tableApi2,...restTableProps}=tableProps;tableNode=jsx(VefCrudTable,{showRowNumber:!0,api:tableApi2,apiParams:tableApiParams,deletionApi,schema:tableSchema,selectable,...restTableProps})}else{const{tableApi:tableApi2,...restTableProps}=tableProps;tableNode=jsx(VefCrudTable,{showRowNumber:!0,api:tableApi2,apiParams:tableApiParams,deletionApi,schema:tableSchema,selectable,...restTableProps})}const{tableApi}=tableProps;return jsx(VefPage,{scrollable:!0,title,actions:jsx(VefCrudActions,{actionButtons,tableApi,tableApiParams}),footer:selectedKeys.length>0&&jsx(VefCrudFooter,{batchActionButtons,batchDeletionApi,selectionSummary,tableApi,tableApiParams}),header:jsx(VefCrudHeader,{actionButtons,filterItems,tableApi,tableApiParams,title}),children:jsxs(VefCard,{children:[tableNode,formApis&&Object.keys(formApis).length>0&&formGroups.length>0&&jsx(VefCrudFormModal,{formApis,formSchema:formGroups})]})})}function VefCrudPage({schema,formApis,onFormOpen,onBeforeSubmit,onSubmitSuccess,...restProps}){const{tableSchema,filterItems,formGroups,filterValueAsDefaultKeys}=useCrudSchema(schema),formApiKeys=useMemo(()=>{const apis=formApis??{};return Object.keys(apis).reduce((acc,key)=>(apis[key]&&(acc[key]=apis[key].key),acc),{})},[formApis]),initialState=useMemo(()=>({filterValueAsDefaultKeys,formApiKeys,onBeforeSubmit,onFormOpen,onSubmitSuccess}),[filterValueAsDefaultKeys,formApiKeys,onBeforeSubmit,onFormOpen,onSubmitSuccess]);return jsx(CrudStoreProvider,{initialState,children:jsx(VefCrudPageBase,{filterItems,formApis,formGroups,tableSchema,...restProps})})}/*! 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 */export{VefCrudPage as default};