@vef-framework/components 1.0.62 → 1.0.64

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 (586) hide show
  1. package/es/index.js +81 -2
  2. package/es/internal/index.js +2 -2
  3. package/es/internal/modern-normalize.css.js +4 -2
  4. package/es/internal/utils.js +6 -2
  5. package/es/vef-access-denied/access-denied-icon.js +928 -2
  6. package/es/vef-access-denied/index.js +45 -10
  7. package/es/vef-action-buttons/index.js +75 -2
  8. package/es/vef-auto-sizer/index.js +6 -2
  9. package/es/vef-avatar/index.js +20 -2
  10. package/es/vef-avatar-group/index.js +25 -2
  11. package/es/vef-badge/index.js +47 -2
  12. package/es/vef-bool/hooks/use-bool-instance.js +34 -2
  13. package/es/vef-bool/index.js +60 -2
  14. package/es/vef-breadcrumb/index.js +48 -2
  15. package/es/vef-button/components/base-button.js +73 -2
  16. package/es/vef-button/index.js +151 -2
  17. package/es/vef-card/index.js +25 -2
  18. package/es/vef-card-meta/index.js +12 -2
  19. package/es/vef-checkbox/hooks/use-checkbox-instance.js +20 -2
  20. package/es/vef-checkbox/hooks/use-data-options.js +40 -2
  21. package/es/vef-checkbox/index.js +88 -4
  22. package/es/vef-col/index.js +11 -2
  23. package/es/vef-color-picker/index.js +46 -2
  24. package/es/vef-compact/index.js +15 -2
  25. package/es/vef-config-provider/global-style.js +23 -16
  26. package/es/vef-config-provider/hooks/use-ui-config.js +125 -2
  27. package/es/vef-config-provider/index.js +121 -4
  28. package/es/vef-config-provider/store.js +21 -2
  29. package/es/vef-container/index.js +18 -2
  30. package/es/vef-crud-page/components/crud-actions.js +32 -2
  31. package/es/vef-crud-page/components/crud-filter.js +54 -2
  32. package/es/vef-crud-page/components/crud-footer.js +116 -4
  33. package/es/vef-crud-page/components/crud-form-modal.js +53 -2
  34. package/es/vef-crud-page/components/crud-header.js +29 -2
  35. package/es/vef-crud-page/components/crud-table.js +76 -2
  36. package/es/vef-crud-page/hooks/use-action-buttons.js +37 -2
  37. package/es/vef-crud-page/hooks/use-crud-context.js +20 -2
  38. package/es/vef-crud-page/hooks/use-crud-schema.js +114 -2
  39. package/es/vef-crud-page/hooks/use-operation-buttons.js +60 -2
  40. package/es/vef-crud-page/index.js +150 -2
  41. package/es/vef-crud-page/store.js +142 -2
  42. package/es/vef-divider/index.js +24 -2
  43. package/es/vef-drawer/components/action-button-wrapper.js +49 -2
  44. package/es/vef-drawer/components/button-props.js +2 -1
  45. package/es/vef-drawer/components/cancel-action-button.js +21 -2
  46. package/es/vef-drawer/components/ok-action-button.js +20 -2
  47. package/es/vef-drawer/context.js +15 -2
  48. package/es/vef-drawer/index.js +154 -4
  49. package/es/vef-dropdown/index.js +92 -2
  50. package/es/vef-dynamic-icon/index.js +46 -2
  51. package/es/vef-dynamic-icon/props.js +6 -2
  52. package/es/vef-empty/index.js +37 -2
  53. package/es/vef-empty-placeholder/index.js +19 -5
  54. package/es/vef-error/error-icon.js +757 -2
  55. package/es/vef-error/index.js +48 -10
  56. package/es/vef-filter/components/action-buttons.js +119 -6
  57. package/es/vef-filter/components/advanced-filter.js +71 -9
  58. package/es/vef-filter/components/basic-filter.js +35 -5
  59. package/es/vef-filter/components/fields/index.js +11 -2
  60. package/es/vef-filter/components/fields/input-number.js +90 -2
  61. package/es/vef-filter/components/fields/input.js +67 -2
  62. package/es/vef-filter/components/filter-field.js +19 -2
  63. package/es/vef-filter/components/filter-item.js +112 -2
  64. package/es/vef-filter/event.js +44 -2
  65. package/es/vef-filter/helper.js +15 -2
  66. package/es/vef-filter/hooks/use-action-handlers.js +70 -2
  67. package/es/vef-filter/hooks/use-computed-values.js +55 -2
  68. package/es/vef-filter/hooks/use-filter-context.js +18 -2
  69. package/es/vef-filter/hooks/use-filter-initialization.js +37 -2
  70. package/es/vef-filter/hooks/use-filter-instance.js +26 -2
  71. package/es/vef-filter/hooks/use-filter-items.js +23 -2
  72. package/es/vef-filter/hooks/use-filter-values-change.js +30 -2
  73. package/es/vef-filter/hooks/use-label-config.js +27 -2
  74. package/es/vef-filter/index.js +141 -3
  75. package/es/vef-filter/store.js +71 -2
  76. package/es/vef-flex/index.js +31 -2
  77. package/es/vef-float-button/index.js +49 -2
  78. package/es/vef-float-button-group/index.js +20 -2
  79. package/es/vef-form/components/fields/index.js +11 -2
  80. package/es/vef-form/components/fields/input-number.js +123 -2
  81. package/es/vef-form/components/fields/input.js +132 -2
  82. package/es/vef-form/components/form-actions.js +58 -4
  83. package/es/vef-form/components/form-content.js +144 -3
  84. package/es/vef-form/components/form-field.js +22 -2
  85. package/es/vef-form/components/form-group.js +64 -4
  86. package/es/vef-form/components/form-hidden-item.js +36 -2
  87. package/es/vef-form/components/form-item.js +79 -2
  88. package/es/vef-form/components/form-row.js +98 -2
  89. package/es/vef-form/event.js +44 -2
  90. package/es/vef-form/helper.js +15 -2
  91. package/es/vef-form/hooks/use-action-handlers.js +130 -2
  92. package/es/vef-form/hooks/use-columns-layout.js +122 -2
  93. package/es/vef-form/hooks/use-computed-values.js +55 -2
  94. package/es/vef-form/hooks/use-form-context.js +14 -2
  95. package/es/vef-form/hooks/use-form-initialization.js +45 -2
  96. package/es/vef-form/hooks/use-form-instance.js +26 -2
  97. package/es/vef-form/hooks/use-form-values-change.js +30 -2
  98. package/es/vef-form/hooks/use-label-width.js +18 -2
  99. package/es/vef-form/index.js +174 -4
  100. package/es/vef-form/store.js +65 -2
  101. package/es/vef-form/validation-rules.js +286 -2
  102. package/es/vef-form-drawer/index.js +98 -2
  103. package/es/vef-form-modal/index.js +95 -2
  104. package/es/vef-generic-select/index.js +81 -2
  105. package/es/vef-grid/index.js +83 -7
  106. package/es/vef-grid/props.js +4 -2
  107. package/es/vef-grid-item/index.js +52 -2
  108. package/es/vef-icon/index.js +45 -2
  109. package/es/vef-icon-select/index.js +146 -12
  110. package/es/vef-input/hooks/use-input-instance.js +15 -2
  111. package/es/vef-input/index.js +64 -2
  112. package/es/vef-input-number/hooks/use-input-number-instance.js +13 -2
  113. package/es/vef-input-number/index.js +148 -2
  114. package/es/vef-layout/common-styles.js +10 -5
  115. package/es/vef-layout/components/content.js +13 -2
  116. package/es/vef-layout/components/font-size.js +68 -2
  117. package/es/vef-layout/components/fullscreen.js +23 -2
  118. package/es/vef-layout/components/header-action-icons.js +29 -7
  119. package/es/vef-layout/components/header-content.js +19 -2
  120. package/es/vef-layout/components/header.js +69 -7
  121. package/es/vef-layout/components/icon-boy.js +69 -2
  122. package/es/vef-layout/components/icon-girl.js +76 -2
  123. package/es/vef-layout/components/icon-menu-fold-left.js +23 -2
  124. package/es/vef-layout/components/icon-menu-unfold-left.js +23 -2
  125. package/es/vef-layout/components/menu-groups.js +123 -16
  126. package/es/vef-layout/components/message.js +11 -2
  127. package/es/vef-layout/components/search.js +11 -2
  128. package/es/vef-layout/components/sider.js +54 -6
  129. package/es/vef-layout/components/title.js +53 -9
  130. package/es/vef-layout/components/user-avatar.js +80 -10
  131. package/es/vef-layout/hooks/use-layout-context.js +10 -2
  132. package/es/vef-layout/index.js +33 -3
  133. package/es/vef-layout/logo.svg.js +4 -2
  134. package/es/vef-layout/store.js +16 -2
  135. package/es/vef-loading-placeholder/index.js +42 -6
  136. package/es/vef-login/index.js +152 -22
  137. package/es/vef-login/login-icon.js +668 -2
  138. package/es/vef-menu/index.js +77 -5
  139. package/es/vef-modal/components/action-button-wrapper.js +49 -2
  140. package/es/vef-modal/components/button-props.js +2 -1
  141. package/es/vef-modal/components/cancel-action-button.js +18 -2
  142. package/es/vef-modal/components/ok-action-button.js +20 -2
  143. package/es/vef-modal/context.js +15 -2
  144. package/es/vef-modal/index.js +239 -3
  145. package/es/vef-not-found/index.js +45 -10
  146. package/es/vef-not-found/not-found-icon.js +844 -2
  147. package/es/vef-page/index.js +87 -11
  148. package/es/vef-pagination/index.js +57 -2
  149. package/es/vef-pagination/props.js +13 -2
  150. package/es/vef-paragraph/index.js +89 -2
  151. package/es/vef-password/hooks/use-password-instance.js +13 -2
  152. package/es/vef-password/index.js +67 -2
  153. package/es/vef-popconfirm/index.js +56 -2
  154. package/es/vef-popover/index.js +29 -2
  155. package/es/vef-radio/hooks/use-data-options.js +40 -2
  156. package/es/vef-radio/hooks/use-radio-instance.js +20 -2
  157. package/es/vef-radio/index.js +88 -4
  158. package/es/vef-rate/hooks/use-rate-instance.js +13 -2
  159. package/es/vef-rate/index.js +30 -2
  160. package/es/vef-responsive-container/index.js +54 -3
  161. package/es/vef-responsive-item/index.js +23 -3
  162. package/es/vef-ribbon/index.js +38 -2
  163. package/es/vef-row/index.js +12 -2
  164. package/es/vef-scroll-area/components/scrollbar.js +34 -8
  165. package/es/vef-scroll-area/index.js +69 -4
  166. package/es/vef-select/components/option.js +23 -4
  167. package/es/vef-select/hooks/use-data-options.js +47 -2
  168. package/es/vef-select/hooks/use-field-names.js +21 -2
  169. package/es/vef-select/hooks/use-render-label.js +23 -3
  170. package/es/vef-select/hooks/use-render-option.js +19 -2
  171. package/es/vef-select/hooks/use-select-instance.js +20 -2
  172. package/es/vef-select/index.js +100 -2
  173. package/es/vef-slider/hooks/use-slider-instance.js +13 -2
  174. package/es/vef-slider/index.js +34 -2
  175. package/es/vef-sortable-list/components/overlay-item.js +31 -3
  176. package/es/vef-sortable-list/components/sortable-item.js +75 -3
  177. package/es/vef-sortable-list/hooks/use-merged-items.js +21 -2
  178. package/es/vef-sortable-list/index.js +114 -2
  179. package/es/vef-space/index.js +25 -2
  180. package/es/vef-spin/index.js +12 -2
  181. package/es/vef-splitter/index.js +20 -2
  182. package/es/vef-splitter-panel/index.js +12 -2
  183. package/es/vef-status/index.js +37 -2
  184. package/es/vef-table/components/columns/bool.js +91 -2
  185. package/es/vef-table/components/columns/code.js +10 -2
  186. package/es/vef-table/components/columns/data-dictionary.js +92 -2
  187. package/es/vef-table/components/columns/enum.js +101 -2
  188. package/es/vef-table/components/columns/file.js +10 -2
  189. package/es/vef-table/components/columns/icon.js +10 -2
  190. package/es/vef-table/components/columns/id.js +82 -2
  191. package/es/vef-table/components/columns/image.js +11 -2
  192. package/es/vef-table/components/columns/index.js +33 -2
  193. package/es/vef-table/components/columns/markdown.js +10 -2
  194. package/es/vef-table/components/columns/number.js +83 -2
  195. package/es/vef-table/components/columns/render.js +28 -2
  196. package/es/vef-table/components/columns/rich-text.js +10 -2
  197. package/es/vef-table/components/columns/text.js +88 -2
  198. package/es/vef-table/components/columns-settings.js +195 -11
  199. package/es/vef-table/components/operation-buttons.js +230 -3
  200. package/es/vef-table/components/settings-icon.js +19 -4
  201. package/es/vef-table/components/table-footer.js +102 -4
  202. package/es/vef-table/helper.js +15 -2
  203. package/es/vef-table/hooks/use-computed-batch-buttons.js +33 -2
  204. package/es/vef-table/hooks/use-computed-columns.js +20 -2
  205. package/es/vef-table/hooks/use-computed-values.js +38 -2
  206. package/es/vef-table/hooks/use-data.js +53 -2
  207. package/es/vef-table/hooks/use-default-column-configs.js +27 -2
  208. package/es/vef-table/hooks/use-display-value.js +36 -2
  209. package/es/vef-table/hooks/use-helper-columns.js +67 -2
  210. package/es/vef-table/hooks/use-operation-column-width.js +50 -2
  211. package/es/vef-table/hooks/use-pagination-props.js +44 -2
  212. package/es/vef-table/hooks/use-row-props.js +39 -2
  213. package/es/vef-table/hooks/use-row-selection-config.js +112 -2
  214. package/es/vef-table/hooks/use-selected-rows.js +26 -2
  215. package/es/vef-table/hooks/use-table-columns.js +56 -2
  216. package/es/vef-table/hooks/use-table-context.js +21 -2
  217. package/es/vef-table/hooks/use-table-instance.js +15 -2
  218. package/es/vef-table/hooks/use-table-summary.js +42 -2
  219. package/es/vef-table/hooks/use-table-width.js +13 -2
  220. package/es/vef-table/index.js +227 -6
  221. package/es/vef-table/store.js +17 -2
  222. package/es/vef-tabs/index.js +25 -2
  223. package/es/vef-tag/index.js +28 -2
  224. package/es/vef-temporal-picker/helper.js +57 -2
  225. package/es/vef-temporal-picker/hooks/use-dayjs-value.js +18 -2
  226. package/es/vef-temporal-picker/hooks/use-temporal-limit.js +34 -2
  227. package/es/vef-temporal-picker/hooks/use-temporal-picker-instance.js +19 -2
  228. package/es/vef-temporal-picker/index.js +125 -2
  229. package/es/vef-temporal-range-picker/helper.js +57 -2
  230. package/es/vef-temporal-range-picker/hooks/use-dayjs-values.js +23 -2
  231. package/es/vef-temporal-range-picker/hooks/use-temporal-limit.js +34 -2
  232. package/es/vef-temporal-range-picker/hooks/use-temporal-range-picker-instance.js +19 -2
  233. package/es/vef-temporal-range-picker/index.js +128 -2
  234. package/es/vef-temporal-range-picker/props.js +4 -2
  235. package/es/vef-text/index.js +80 -2
  236. package/es/vef-textarea/hooks/use-textarea-instance.js +13 -2
  237. package/es/vef-textarea/index.js +67 -2
  238. package/es/vef-title/index.js +89 -7
  239. package/es/vef-tooltip/index.js +35 -2
  240. package/es/vef-tree-select/hooks/use-change-handler.js +33 -2
  241. package/es/vef-tree-select/hooks/use-data-options.js +45 -2
  242. package/es/vef-tree-select/hooks/use-tree-select-instance.js +20 -2
  243. package/es/vef-tree-select/index.js +86 -2
  244. package/es/vef-virtual-grid/index.js +107 -4
  245. package/es/vef-virtual-list/index.js +215 -5
  246. package/lib/index.cjs +168 -2
  247. package/lib/internal/index.cjs +10 -2
  248. package/lib/internal/modern-normalize.css.cjs +8 -2
  249. package/lib/internal/utils.cjs +10 -2
  250. package/lib/vef-access-denied/access-denied-icon.cjs +932 -2
  251. package/lib/vef-access-denied/index.cjs +49 -10
  252. package/lib/vef-access-denied/props.cjs +4 -2
  253. package/lib/vef-action-buttons/index.cjs +79 -2
  254. package/lib/vef-action-buttons/props.cjs +4 -2
  255. package/lib/vef-auto-sizer/index.cjs +10 -2
  256. package/lib/vef-auto-sizer/props.cjs +4 -2
  257. package/lib/vef-avatar/index.cjs +24 -2
  258. package/lib/vef-avatar/props.cjs +4 -2
  259. package/lib/vef-avatar-group/index.cjs +29 -2
  260. package/lib/vef-avatar-group/props.cjs +4 -2
  261. package/lib/vef-badge/index.cjs +51 -2
  262. package/lib/vef-badge/props.cjs +4 -2
  263. package/lib/vef-bool/hooks/use-bool-instance.cjs +38 -2
  264. package/lib/vef-bool/index.cjs +64 -2
  265. package/lib/vef-bool/props.cjs +4 -2
  266. package/lib/vef-breadcrumb/index.cjs +52 -2
  267. package/lib/vef-breadcrumb/props.cjs +4 -2
  268. package/lib/vef-button/components/base-button.cjs +77 -2
  269. package/lib/vef-button/index.cjs +155 -2
  270. package/lib/vef-button/props.cjs +4 -2
  271. package/lib/vef-card/index.cjs +29 -2
  272. package/lib/vef-card/props.cjs +4 -2
  273. package/lib/vef-card-meta/index.cjs +16 -2
  274. package/lib/vef-card-meta/props.cjs +4 -2
  275. package/lib/vef-checkbox/hooks/use-checkbox-instance.cjs +24 -2
  276. package/lib/vef-checkbox/hooks/use-data-options.cjs +44 -2
  277. package/lib/vef-checkbox/index.cjs +92 -4
  278. package/lib/vef-checkbox/props.cjs +4 -2
  279. package/lib/vef-col/index.cjs +15 -2
  280. package/lib/vef-col/props.cjs +4 -2
  281. package/lib/vef-color-picker/index.cjs +50 -2
  282. package/lib/vef-color-picker/props.cjs +4 -2
  283. package/lib/vef-compact/index.cjs +19 -2
  284. package/lib/vef-compact/props.cjs +4 -2
  285. package/lib/vef-config-provider/global-style.cjs +28 -16
  286. package/lib/vef-config-provider/hooks/use-ui-config.cjs +129 -2
  287. package/lib/vef-config-provider/index.cjs +125 -4
  288. package/lib/vef-config-provider/props.cjs +4 -2
  289. package/lib/vef-config-provider/store.cjs +27 -2
  290. package/lib/vef-container/index.cjs +22 -2
  291. package/lib/vef-container/props.cjs +4 -2
  292. package/lib/vef-crud-page/components/crud-actions.cjs +36 -2
  293. package/lib/vef-crud-page/components/crud-filter.cjs +58 -2
  294. package/lib/vef-crud-page/components/crud-footer.cjs +120 -4
  295. package/lib/vef-crud-page/components/crud-form-modal.cjs +57 -2
  296. package/lib/vef-crud-page/components/crud-header.cjs +33 -2
  297. package/lib/vef-crud-page/components/crud-table.cjs +80 -2
  298. package/lib/vef-crud-page/hooks/use-action-buttons.cjs +41 -2
  299. package/lib/vef-crud-page/hooks/use-crud-context.cjs +24 -2
  300. package/lib/vef-crud-page/hooks/use-crud-schema.cjs +118 -2
  301. package/lib/vef-crud-page/hooks/use-operation-buttons.cjs +64 -2
  302. package/lib/vef-crud-page/index.cjs +154 -2
  303. package/lib/vef-crud-page/props.cjs +4 -2
  304. package/lib/vef-crud-page/store.cjs +148 -2
  305. package/lib/vef-crud-page/types.cjs +4 -2
  306. package/lib/vef-divider/index.cjs +28 -2
  307. package/lib/vef-divider/props.cjs +4 -2
  308. package/lib/vef-drawer/components/action-button-wrapper.cjs +53 -2
  309. package/lib/vef-drawer/components/button-props.cjs +4 -2
  310. package/lib/vef-drawer/components/cancel-action-button.cjs +25 -2
  311. package/lib/vef-drawer/components/ok-action-button.cjs +24 -2
  312. package/lib/vef-drawer/context.cjs +21 -2
  313. package/lib/vef-drawer/index.cjs +159 -4
  314. package/lib/vef-drawer/props.cjs +4 -2
  315. package/lib/vef-dropdown/index.cjs +96 -2
  316. package/lib/vef-dropdown/props.cjs +4 -2
  317. package/lib/vef-dynamic-icon/index.cjs +50 -2
  318. package/lib/vef-dynamic-icon/props.cjs +10 -2
  319. package/lib/vef-empty/index.cjs +41 -2
  320. package/lib/vef-empty/props.cjs +4 -2
  321. package/lib/vef-empty-placeholder/index.cjs +23 -5
  322. package/lib/vef-empty-placeholder/props.cjs +4 -2
  323. package/lib/vef-error/error-icon.cjs +761 -2
  324. package/lib/vef-error/index.cjs +52 -10
  325. package/lib/vef-error/props.cjs +4 -2
  326. package/lib/vef-filter/components/action-buttons.cjs +123 -6
  327. package/lib/vef-filter/components/advanced-filter.cjs +75 -9
  328. package/lib/vef-filter/components/basic-filter.cjs +39 -5
  329. package/lib/vef-filter/components/fields/index.cjs +15 -2
  330. package/lib/vef-filter/components/fields/input-number.cjs +94 -2
  331. package/lib/vef-filter/components/fields/input.cjs +71 -2
  332. package/lib/vef-filter/components/fields/props.cjs +4 -2
  333. package/lib/vef-filter/components/filter-field.cjs +23 -2
  334. package/lib/vef-filter/components/filter-item.cjs +116 -2
  335. package/lib/vef-filter/event.cjs +48 -2
  336. package/lib/vef-filter/helper.cjs +19 -2
  337. package/lib/vef-filter/hooks/use-action-handlers.cjs +74 -2
  338. package/lib/vef-filter/hooks/use-computed-values.cjs +59 -2
  339. package/lib/vef-filter/hooks/use-filter-context.cjs +24 -2
  340. package/lib/vef-filter/hooks/use-filter-initialization.cjs +41 -2
  341. package/lib/vef-filter/hooks/use-filter-instance.cjs +30 -2
  342. package/lib/vef-filter/hooks/use-filter-items.cjs +27 -2
  343. package/lib/vef-filter/hooks/use-filter-values-change.cjs +34 -2
  344. package/lib/vef-filter/hooks/use-label-config.cjs +31 -2
  345. package/lib/vef-filter/index.cjs +145 -3
  346. package/lib/vef-filter/props.cjs +4 -2
  347. package/lib/vef-filter/store.cjs +77 -2
  348. package/lib/vef-filter/types.cjs +4 -2
  349. package/lib/vef-flex/index.cjs +35 -2
  350. package/lib/vef-flex/props.cjs +4 -2
  351. package/lib/vef-float-button/index.cjs +53 -2
  352. package/lib/vef-float-button/props.cjs +4 -2
  353. package/lib/vef-float-button-group/index.cjs +24 -2
  354. package/lib/vef-float-button-group/props.cjs +4 -2
  355. package/lib/vef-form/components/fields/index.cjs +15 -2
  356. package/lib/vef-form/components/fields/input-number.cjs +127 -2
  357. package/lib/vef-form/components/fields/input.cjs +136 -2
  358. package/lib/vef-form/components/fields/props.cjs +4 -2
  359. package/lib/vef-form/components/form-actions.cjs +62 -4
  360. package/lib/vef-form/components/form-content.cjs +148 -3
  361. package/lib/vef-form/components/form-field.cjs +26 -2
  362. package/lib/vef-form/components/form-group.cjs +68 -4
  363. package/lib/vef-form/components/form-hidden-item.cjs +40 -2
  364. package/lib/vef-form/components/form-item.cjs +83 -2
  365. package/lib/vef-form/components/form-row.cjs +102 -2
  366. package/lib/vef-form/event.cjs +48 -2
  367. package/lib/vef-form/helper.cjs +19 -2
  368. package/lib/vef-form/hooks/use-action-handlers.cjs +134 -2
  369. package/lib/vef-form/hooks/use-columns-layout.cjs +126 -2
  370. package/lib/vef-form/hooks/use-computed-values.cjs +59 -2
  371. package/lib/vef-form/hooks/use-form-context.cjs +20 -2
  372. package/lib/vef-form/hooks/use-form-initialization.cjs +49 -2
  373. package/lib/vef-form/hooks/use-form-instance.cjs +30 -2
  374. package/lib/vef-form/hooks/use-form-values-change.cjs +34 -2
  375. package/lib/vef-form/hooks/use-label-width.cjs +22 -2
  376. package/lib/vef-form/index.cjs +178 -4
  377. package/lib/vef-form/props.cjs +4 -2
  378. package/lib/vef-form/store.cjs +71 -2
  379. package/lib/vef-form/types.cjs +4 -2
  380. package/lib/vef-form/validation-rules.cjs +312 -2
  381. package/lib/vef-form-drawer/index.cjs +102 -2
  382. package/lib/vef-form-drawer/props.cjs +4 -2
  383. package/lib/vef-form-modal/index.cjs +99 -2
  384. package/lib/vef-form-modal/props.cjs +4 -2
  385. package/lib/vef-generic-select/index.cjs +85 -2
  386. package/lib/vef-generic-select/props.cjs +4 -2
  387. package/lib/vef-grid/index.cjs +87 -7
  388. package/lib/vef-grid/props.cjs +8 -2
  389. package/lib/vef-grid-item/index.cjs +56 -2
  390. package/lib/vef-grid-item/props.cjs +4 -2
  391. package/lib/vef-icon/index.cjs +49 -2
  392. package/lib/vef-icon/props.cjs +4 -2
  393. package/lib/vef-icon-select/index.cjs +150 -12
  394. package/lib/vef-icon-select/props.cjs +4 -2
  395. package/lib/vef-input/hooks/use-input-instance.cjs +19 -2
  396. package/lib/vef-input/index.cjs +68 -2
  397. package/lib/vef-input/props.cjs +4 -2
  398. package/lib/vef-input-number/hooks/use-input-number-instance.cjs +17 -2
  399. package/lib/vef-input-number/index.cjs +152 -2
  400. package/lib/vef-input-number/props.cjs +4 -2
  401. package/lib/vef-layout/common-styles.cjs +14 -5
  402. package/lib/vef-layout/components/content.cjs +17 -2
  403. package/lib/vef-layout/components/font-size.cjs +72 -2
  404. package/lib/vef-layout/components/fullscreen.cjs +27 -2
  405. package/lib/vef-layout/components/header-action-icons.cjs +33 -7
  406. package/lib/vef-layout/components/header-content.cjs +23 -2
  407. package/lib/vef-layout/components/header.cjs +73 -7
  408. package/lib/vef-layout/components/icon-boy.cjs +73 -2
  409. package/lib/vef-layout/components/icon-girl.cjs +80 -2
  410. package/lib/vef-layout/components/icon-menu-fold-left.cjs +27 -2
  411. package/lib/vef-layout/components/icon-menu-unfold-left.cjs +27 -2
  412. package/lib/vef-layout/components/menu-groups.cjs +127 -16
  413. package/lib/vef-layout/components/message.cjs +15 -2
  414. package/lib/vef-layout/components/search.cjs +15 -2
  415. package/lib/vef-layout/components/sider.cjs +58 -6
  416. package/lib/vef-layout/components/title.cjs +57 -9
  417. package/lib/vef-layout/components/user-avatar.cjs +84 -10
  418. package/lib/vef-layout/hooks/use-layout-context.cjs +16 -2
  419. package/lib/vef-layout/index.cjs +37 -3
  420. package/lib/vef-layout/logo.svg.cjs +8 -2
  421. package/lib/vef-layout/props.cjs +4 -2
  422. package/lib/vef-layout/store.cjs +22 -2
  423. package/lib/vef-loading-placeholder/index.cjs +46 -6
  424. package/lib/vef-loading-placeholder/props.cjs +4 -2
  425. package/lib/vef-login/index.cjs +156 -22
  426. package/lib/vef-login/login-icon.cjs +672 -2
  427. package/lib/vef-login/props.cjs +4 -2
  428. package/lib/vef-menu/index.cjs +81 -5
  429. package/lib/vef-menu/props.cjs +4 -2
  430. package/lib/vef-modal/components/action-button-wrapper.cjs +53 -2
  431. package/lib/vef-modal/components/button-props.cjs +4 -2
  432. package/lib/vef-modal/components/cancel-action-button.cjs +22 -2
  433. package/lib/vef-modal/components/ok-action-button.cjs +24 -2
  434. package/lib/vef-modal/context.cjs +21 -2
  435. package/lib/vef-modal/index.cjs +244 -3
  436. package/lib/vef-modal/props.cjs +4 -2
  437. package/lib/vef-not-found/index.cjs +49 -10
  438. package/lib/vef-not-found/not-found-icon.cjs +848 -2
  439. package/lib/vef-not-found/props.cjs +4 -2
  440. package/lib/vef-page/index.cjs +91 -11
  441. package/lib/vef-page/props.cjs +4 -2
  442. package/lib/vef-pagination/index.cjs +61 -2
  443. package/lib/vef-pagination/props.cjs +17 -2
  444. package/lib/vef-paragraph/index.cjs +93 -2
  445. package/lib/vef-paragraph/props.cjs +4 -2
  446. package/lib/vef-password/hooks/use-password-instance.cjs +17 -2
  447. package/lib/vef-password/index.cjs +71 -2
  448. package/lib/vef-password/props.cjs +4 -2
  449. package/lib/vef-popconfirm/index.cjs +60 -2
  450. package/lib/vef-popconfirm/props.cjs +4 -2
  451. package/lib/vef-popover/index.cjs +33 -2
  452. package/lib/vef-popover/props.cjs +4 -2
  453. package/lib/vef-radio/hooks/use-data-options.cjs +44 -2
  454. package/lib/vef-radio/hooks/use-radio-instance.cjs +24 -2
  455. package/lib/vef-radio/index.cjs +92 -4
  456. package/lib/vef-radio/props.cjs +4 -2
  457. package/lib/vef-rate/hooks/use-rate-instance.cjs +17 -2
  458. package/lib/vef-rate/index.cjs +34 -2
  459. package/lib/vef-rate/props.cjs +4 -2
  460. package/lib/vef-responsive-container/index.cjs +58 -3
  461. package/lib/vef-responsive-container/props.cjs +4 -2
  462. package/lib/vef-responsive-item/index.cjs +27 -3
  463. package/lib/vef-responsive-item/props.cjs +4 -2
  464. package/lib/vef-ribbon/index.cjs +42 -2
  465. package/lib/vef-ribbon/props.cjs +4 -2
  466. package/lib/vef-row/index.cjs +16 -2
  467. package/lib/vef-row/props.cjs +4 -2
  468. package/lib/vef-scroll-area/components/scrollbar.cjs +38 -8
  469. package/lib/vef-scroll-area/index.cjs +73 -4
  470. package/lib/vef-scroll-area/props.cjs +4 -2
  471. package/lib/vef-select/components/option.cjs +27 -4
  472. package/lib/vef-select/hooks/use-data-options.cjs +51 -2
  473. package/lib/vef-select/hooks/use-field-names.cjs +25 -2
  474. package/lib/vef-select/hooks/use-render-label.cjs +27 -3
  475. package/lib/vef-select/hooks/use-render-option.cjs +23 -2
  476. package/lib/vef-select/hooks/use-select-instance.cjs +24 -2
  477. package/lib/vef-select/index.cjs +104 -2
  478. package/lib/vef-select/props.cjs +4 -2
  479. package/lib/vef-slider/hooks/use-slider-instance.cjs +17 -2
  480. package/lib/vef-slider/index.cjs +38 -2
  481. package/lib/vef-slider/props.cjs +4 -2
  482. package/lib/vef-sortable-list/components/overlay-item.cjs +35 -3
  483. package/lib/vef-sortable-list/components/sortable-item.cjs +79 -3
  484. package/lib/vef-sortable-list/hooks/use-merged-items.cjs +25 -2
  485. package/lib/vef-sortable-list/index.cjs +118 -2
  486. package/lib/vef-sortable-list/props.cjs +4 -2
  487. package/lib/vef-space/index.cjs +29 -2
  488. package/lib/vef-space/props.cjs +4 -2
  489. package/lib/vef-spin/index.cjs +16 -2
  490. package/lib/vef-spin/props.cjs +4 -2
  491. package/lib/vef-splitter/index.cjs +24 -2
  492. package/lib/vef-splitter/props.cjs +4 -2
  493. package/lib/vef-splitter-panel/index.cjs +16 -2
  494. package/lib/vef-splitter-panel/props.cjs +4 -2
  495. package/lib/vef-status/index.cjs +41 -2
  496. package/lib/vef-status/props.cjs +4 -2
  497. package/lib/vef-table/components/columns/bool.cjs +95 -2
  498. package/lib/vef-table/components/columns/code.cjs +14 -2
  499. package/lib/vef-table/components/columns/data-dictionary.cjs +96 -2
  500. package/lib/vef-table/components/columns/enum.cjs +105 -2
  501. package/lib/vef-table/components/columns/file.cjs +14 -2
  502. package/lib/vef-table/components/columns/icon.cjs +14 -2
  503. package/lib/vef-table/components/columns/id.cjs +86 -2
  504. package/lib/vef-table/components/columns/image.cjs +15 -2
  505. package/lib/vef-table/components/columns/index.cjs +37 -2
  506. package/lib/vef-table/components/columns/markdown.cjs +14 -2
  507. package/lib/vef-table/components/columns/number.cjs +87 -2
  508. package/lib/vef-table/components/columns/props.cjs +4 -2
  509. package/lib/vef-table/components/columns/render.cjs +32 -2
  510. package/lib/vef-table/components/columns/rich-text.cjs +14 -2
  511. package/lib/vef-table/components/columns/text.cjs +92 -2
  512. package/lib/vef-table/components/columns-settings.cjs +199 -11
  513. package/lib/vef-table/components/operation-buttons.cjs +234 -3
  514. package/lib/vef-table/components/settings-icon.cjs +23 -4
  515. package/lib/vef-table/components/table-footer.cjs +106 -4
  516. package/lib/vef-table/helper.cjs +19 -2
  517. package/lib/vef-table/hooks/use-computed-batch-buttons.cjs +37 -2
  518. package/lib/vef-table/hooks/use-computed-columns.cjs +24 -2
  519. package/lib/vef-table/hooks/use-computed-values.cjs +42 -2
  520. package/lib/vef-table/hooks/use-data.cjs +57 -2
  521. package/lib/vef-table/hooks/use-default-column-configs.cjs +31 -2
  522. package/lib/vef-table/hooks/use-display-value.cjs +40 -2
  523. package/lib/vef-table/hooks/use-helper-columns.cjs +71 -2
  524. package/lib/vef-table/hooks/use-operation-column-width.cjs +54 -2
  525. package/lib/vef-table/hooks/use-pagination-props.cjs +48 -2
  526. package/lib/vef-table/hooks/use-row-props.cjs +43 -2
  527. package/lib/vef-table/hooks/use-row-selection-config.cjs +116 -2
  528. package/lib/vef-table/hooks/use-selected-rows.cjs +30 -2
  529. package/lib/vef-table/hooks/use-table-columns.cjs +60 -2
  530. package/lib/vef-table/hooks/use-table-context.cjs +27 -2
  531. package/lib/vef-table/hooks/use-table-instance.cjs +19 -2
  532. package/lib/vef-table/hooks/use-table-summary.cjs +46 -2
  533. package/lib/vef-table/hooks/use-table-width.cjs +17 -2
  534. package/lib/vef-table/index.cjs +231 -6
  535. package/lib/vef-table/props.cjs +4 -2
  536. package/lib/vef-table/store.cjs +23 -2
  537. package/lib/vef-table/types.cjs +4 -2
  538. package/lib/vef-tabs/index.cjs +29 -2
  539. package/lib/vef-tabs/props.cjs +4 -2
  540. package/lib/vef-tag/index.cjs +32 -2
  541. package/lib/vef-tag/props.cjs +4 -2
  542. package/lib/vef-temporal-picker/helper.cjs +61 -2
  543. package/lib/vef-temporal-picker/hooks/use-dayjs-value.cjs +22 -2
  544. package/lib/vef-temporal-picker/hooks/use-temporal-limit.cjs +38 -2
  545. package/lib/vef-temporal-picker/hooks/use-temporal-picker-instance.cjs +23 -2
  546. package/lib/vef-temporal-picker/index.cjs +129 -2
  547. package/lib/vef-temporal-picker/props.cjs +4 -2
  548. package/lib/vef-temporal-range-picker/helper.cjs +61 -2
  549. package/lib/vef-temporal-range-picker/hooks/use-dayjs-values.cjs +27 -2
  550. package/lib/vef-temporal-range-picker/hooks/use-temporal-limit.cjs +38 -2
  551. package/lib/vef-temporal-range-picker/hooks/use-temporal-range-picker-instance.cjs +23 -2
  552. package/lib/vef-temporal-range-picker/index.cjs +132 -2
  553. package/lib/vef-temporal-range-picker/props.cjs +8 -2
  554. package/lib/vef-text/index.cjs +84 -2
  555. package/lib/vef-text/props.cjs +4 -2
  556. package/lib/vef-textarea/hooks/use-textarea-instance.cjs +17 -2
  557. package/lib/vef-textarea/index.cjs +71 -2
  558. package/lib/vef-textarea/props.cjs +4 -2
  559. package/lib/vef-title/index.cjs +93 -7
  560. package/lib/vef-title/props.cjs +4 -2
  561. package/lib/vef-tooltip/index.cjs +39 -2
  562. package/lib/vef-tooltip/props.cjs +4 -2
  563. package/lib/vef-tree-select/hooks/use-change-handler.cjs +37 -2
  564. package/lib/vef-tree-select/hooks/use-data-options.cjs +49 -2
  565. package/lib/vef-tree-select/hooks/use-tree-select-instance.cjs +24 -2
  566. package/lib/vef-tree-select/index.cjs +90 -2
  567. package/lib/vef-tree-select/props.cjs +4 -2
  568. package/lib/vef-virtual-grid/index.cjs +111 -4
  569. package/lib/vef-virtual-grid/props.cjs +4 -2
  570. package/lib/vef-virtual-list/index.cjs +219 -5
  571. package/lib/vef-virtual-list/props.cjs +4 -2
  572. package/package.json +4 -4
  573. package/types/vef-crud-page/components/crud-actions.d.ts +4 -4
  574. package/types/vef-crud-page/components/crud-filter.d.ts +5 -5
  575. package/types/vef-crud-page/components/crud-footer.d.ts +4 -4
  576. package/types/vef-crud-page/components/crud-form-modal.d.ts +5 -5
  577. package/types/vef-crud-page/components/crud-header.d.ts +5 -5
  578. package/types/vef-crud-page/components/crud-table.d.ts +8 -8
  579. package/types/vef-crud-page/hooks/use-action-buttons.d.ts +3 -3
  580. package/types/vef-crud-page/hooks/use-crud-context.d.ts +2 -2
  581. package/types/vef-crud-page/hooks/use-crud-schema.d.ts +4 -4
  582. package/types/vef-crud-page/hooks/use-operation-buttons.d.ts +2 -2
  583. package/types/vef-crud-page/index.d.ts +2 -2
  584. package/types/vef-crud-page/props.d.ts +10 -10
  585. package/types/vef-crud-page/store.d.ts +13 -13
  586. package/types/vef-crud-page/types.d.ts +24 -19
@@ -1,20 +1,234 @@
1
- /*! VefFramework version: 1.0.62, build time: 2025-01-09T07:31:10.823Z, made by Venus. */
2
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("@emotion/react/jsx-runtime"),t=require("@emotion/react"),i=require("@tanstack/react-virtual"),l=require("@vef-framework/hooks"),a=require("@vef-framework/shared"),r=require("react"),s=require("../vef-auto-sizer/index.cjs"),v=require("../vef-scroll-area/index.cjs"),o={willChange:"transform"},u=t.css`
1
+ /*! VefFramework version: 1.0.64, build time: 2025-01-10T01:26:01.691Z, made by Venus. */
2
+ 'use strict';
3
+
4
+ Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: 'Module' } });
5
+
6
+ const jsxRuntime = require('@emotion/react/jsx-runtime');
7
+ const react = require('@emotion/react');
8
+ const reactVirtual = require('@tanstack/react-virtual');
9
+ const hooks = require('@vef-framework/hooks');
10
+ const shared = require('@vef-framework/shared');
11
+ const react$1 = require('react');
12
+ const index$1 = require('../vef-auto-sizer/index.cjs');
13
+ const index = require('../vef-scroll-area/index.cjs');
14
+
15
+ const viewportStyle = {
16
+ willChange: "transform"
17
+ };
18
+ const containerStyle = react.css`
3
19
  position: relative;
4
20
  width: var(--vef-virtual-list-width, auto);
5
21
  height: var(--vef-virtual-list-height, auto);
6
- `,m=t.css`
22
+ `;
23
+ const virtualItemStyle = react.css`
7
24
  position: absolute;
8
25
  top: var(--vef-virtual-list-item-top, 0);
9
26
  left: var(--vef-virtual-list-item-left, 0);
10
27
  width: var(--vef-virtual-list-item-width, auto);
11
28
  height: var(--vef-virtual-list-item-height, auto);
12
29
  transform: translateX(var(--vef-virtual-list-item-x, 0)) translateY(var(--vef-virtual-list-item-y, 0));
13
- `,n=t.css`
30
+ `;
31
+ const frameStyle = react.css`
14
32
  position: absolute;
15
33
  top: 0;
16
34
  left: 0;
17
35
  width: 100%;
18
36
  transform: translateY(var(--vef-virtual-list-frame-y, 0));
19
- `;const h=r.memo((function({className:t,style:h,items:f,renderItem:d,itemClassName:c,itemStyle:x,itemSize:p,autoItemSize:g=!1,gap:y=0,lanes:z=1,itemKey:w,...S}){const j=r.useMemo((()=>r.memo(d)),[d]),$=r.useMemo((()=>{if(a.isFunction(w))return e=>w({index:e,item:f[e]})}),[w,f]),N=r.useMemo((()=>a.isFunction(p)?e=>p({index:e,item:f[e]}):()=>p),[p,f]),b=l.useNormalizedGapSize(y),q=r.useRef(null),{orientation:k}=S,M=i.useVirtualizer({horizontal:"horizontal"===k,count:f.length,getScrollElement:()=>q.current,estimateSize:N,overscan:2,getItemKey:$,gap:b,lanes:z}),E=M.getVirtualItems(),I=100/z,T=r.useMemo((()=>"horizontal"===k?{"--vef-virtual-list-width":`${M.getTotalSize()}px`,"--vef-virtual-list-height":"100%"}:{"--vef-virtual-list-height":`${M.getTotalSize()}px`,"--vef-virtual-list-width":"100%"}),[k,M.getTotalSize()]),V=r.useMemo((()=>g&&"horizontal"!==k?{...o,contain:"strict"}:o),[g,k]),R=(i,l)=>g?e.jsx(v.default,{className:t,height:i,scrollbarSize:"small",style:h,viewportRef:q,viewportStyle:V,width:l,children:e.jsx("div",{css:u,style:T,children:"horizontal"===k?E.map((({index:t,key:i,start:l})=>e.jsx("div",{className:c,css:m,style:{"--vef-virtual-list-item-top":0,"--vef-virtual-list-item-left":0,"--vef-virtual-list-item-width":"auto","--vef-virtual-list-item-height":"100%","--vef-virtual-list-item-x":`${l}px`,"--vef-virtual-list-item-y":0},children:r.createElement(j,{index:t,item:f[t]})},i))):e.jsx("div",{css:n,style:{"--vef-virtual-list-frame-y":`${E[0]?.start??0}px`},children:E.map((({index:t,key:i})=>e.jsx("div",{ref:M.measureElement,className:c,"data-index":t,style:x,children:r.createElement(j,{index:t,item:f[t]})},i)))})})}):e.jsx(v.default,{className:t,height:i,scrollbarSize:"small",style:h,viewportRef:q,viewportStyle:V,width:l,children:e.jsx("div",{css:u,style:T,children:E.map((({index:t,key:i,size:l,start:a,lane:s})=>e.jsx("div",{className:c,css:m,style:"horizontal"===k?{"--vef-virtual-list-item-top":0===s?0:s*I+"%","--vef-virtual-list-item-left":0,"--vef-virtual-list-item-width":`${l}px`,"--vef-virtual-list-item-height":`${I}%`,"--vef-virtual-list-item-x":`${a}px`,"--vef-virtual-list-item-y":0}:{"--vef-virtual-list-item-top":0,"--vef-virtual-list-item-left":0===s?0:s*I+"%","--vef-virtual-list-item-width":`${I}%`,"--vef-virtual-list-item-height":`${l}px`,"--vef-virtual-list-item-x":0,"--vef-virtual-list-item-y":`${a}px`},children:r.createElement(j,{index:t,item:f[t]})},i)))})});return S.autoSize?"horizontal"===S.orientation?e.jsx(s.default,{disableHeight:!0,children:({width:e})=>R("100%",e)}):e.jsx(s.default,{disableWidth:!0,children:({height:e})=>R(e,"100%")}):"horizontal"===S.orientation?R("100%",S.width):R(S.height,"100%")}));h.displayName="VefVirtualList",exports.default=h;
37
+ `;
38
+ function VefVirtualListBase({
39
+ className,
40
+ style,
41
+ items,
42
+ renderItem,
43
+ itemClassName,
44
+ itemStyle,
45
+ itemSize,
46
+ autoItemSize = false,
47
+ gap = 0,
48
+ lanes = 1,
49
+ itemKey,
50
+ ...restProps
51
+ }) {
52
+ const ListItem = react$1.useMemo(() => react$1.memo(renderItem), [renderItem]);
53
+ const itemKeyToUse = react$1.useMemo(() => {
54
+ if (shared.isFunction(itemKey)) {
55
+ return (index) => itemKey({
56
+ index,
57
+ item: items[index]
58
+ });
59
+ }
60
+ }, [itemKey, items]);
61
+ const itemSizeToUse = react$1.useMemo(() => {
62
+ if (shared.isFunction(itemSize)) {
63
+ return (index) => itemSize({
64
+ index,
65
+ item: items[index]
66
+ });
67
+ }
68
+ return () => itemSize;
69
+ }, [itemSize, items]);
70
+ const normalizedGap = hooks.useNormalizedGapSize(gap);
71
+ const viewportRef = react$1.useRef(null);
72
+ const { orientation } = restProps;
73
+ const virtualizer = reactVirtual.useVirtualizer({
74
+ horizontal: orientation === "horizontal",
75
+ count: items.length,
76
+ getScrollElement: () => viewportRef.current,
77
+ estimateSize: itemSizeToUse,
78
+ overscan: 2,
79
+ getItemKey: itemKeyToUse,
80
+ gap: normalizedGap,
81
+ lanes
82
+ });
83
+ const virtualItems = virtualizer.getVirtualItems();
84
+ const baseCrossSize = 100 / lanes;
85
+ const containerSizeStyle = react$1.useMemo(() => {
86
+ if (orientation === "horizontal") {
87
+ return {
88
+ "--vef-virtual-list-width": `${virtualizer.getTotalSize()}px`,
89
+ "--vef-virtual-list-height": "100%"
90
+ };
91
+ }
92
+ return {
93
+ "--vef-virtual-list-height": `${virtualizer.getTotalSize()}px`,
94
+ "--vef-virtual-list-width": "100%"
95
+ };
96
+ }, [orientation, virtualizer.getTotalSize()]);
97
+ const mergedViewportStyle = react$1.useMemo(() => {
98
+ if (autoItemSize && orientation !== "horizontal") {
99
+ return {
100
+ ...viewportStyle,
101
+ contain: "strict"
102
+ };
103
+ }
104
+ return viewportStyle;
105
+ }, [autoItemSize, orientation]);
106
+ const getVirtualListNode = (height, width) => {
107
+ if (autoItemSize) {
108
+ return /* @__PURE__ */ jsxRuntime.jsx(
109
+ index.default,
110
+ {
111
+ className,
112
+ height,
113
+ scrollbarSize: "small",
114
+ style,
115
+ viewportRef,
116
+ viewportStyle: mergedViewportStyle,
117
+ width,
118
+ children: /* @__PURE__ */ jsxRuntime.jsx("div", { css: containerStyle, style: containerSizeStyle, children: orientation === "horizontal" ? virtualItems.map(
119
+ ({
120
+ index,
121
+ key,
122
+ start
123
+ }) => /* @__PURE__ */ jsxRuntime.jsx(
124
+ "div",
125
+ {
126
+ className: itemClassName,
127
+ css: virtualItemStyle,
128
+ style: {
129
+ "--vef-virtual-list-item-top": 0,
130
+ "--vef-virtual-list-item-left": 0,
131
+ "--vef-virtual-list-item-width": "auto",
132
+ "--vef-virtual-list-item-height": "100%",
133
+ "--vef-virtual-list-item-x": `${start}px`,
134
+ "--vef-virtual-list-item-y": 0
135
+ },
136
+ children: react$1.createElement(ListItem, {
137
+ index,
138
+ item: items[index]
139
+ })
140
+ },
141
+ key
142
+ )
143
+ ) : /* @__PURE__ */ jsxRuntime.jsx(
144
+ "div",
145
+ {
146
+ css: frameStyle,
147
+ style: {
148
+ "--vef-virtual-list-frame-y": `${virtualItems[0]?.start ?? 0}px`
149
+ },
150
+ children: virtualItems.map(
151
+ ({ index, key }) => /* @__PURE__ */ jsxRuntime.jsx(
152
+ "div",
153
+ {
154
+ ref: virtualizer.measureElement,
155
+ className: itemClassName,
156
+ "data-index": index,
157
+ style: itemStyle,
158
+ children: react$1.createElement(ListItem, {
159
+ index,
160
+ item: items[index]
161
+ })
162
+ },
163
+ key
164
+ )
165
+ )
166
+ }
167
+ ) })
168
+ }
169
+ );
170
+ }
171
+ return /* @__PURE__ */ jsxRuntime.jsx(
172
+ index.default,
173
+ {
174
+ className,
175
+ height,
176
+ scrollbarSize: "small",
177
+ style,
178
+ viewportRef,
179
+ viewportStyle: mergedViewportStyle,
180
+ width,
181
+ children: /* @__PURE__ */ jsxRuntime.jsx("div", { css: containerStyle, style: containerSizeStyle, children: virtualItems.map(
182
+ ({
183
+ index,
184
+ key,
185
+ size,
186
+ start,
187
+ lane
188
+ }) => /* @__PURE__ */ jsxRuntime.jsx(
189
+ "div",
190
+ {
191
+ className: itemClassName,
192
+ css: virtualItemStyle,
193
+ style: orientation === "horizontal" ? {
194
+ "--vef-virtual-list-item-top": lane === 0 ? 0 : `${lane * baseCrossSize}%`,
195
+ "--vef-virtual-list-item-left": 0,
196
+ "--vef-virtual-list-item-width": `${size}px`,
197
+ "--vef-virtual-list-item-height": `${baseCrossSize}%`,
198
+ "--vef-virtual-list-item-x": `${start}px`,
199
+ "--vef-virtual-list-item-y": 0
200
+ } : {
201
+ "--vef-virtual-list-item-top": 0,
202
+ "--vef-virtual-list-item-left": lane === 0 ? 0 : `${lane * baseCrossSize}%`,
203
+ "--vef-virtual-list-item-width": `${baseCrossSize}%`,
204
+ "--vef-virtual-list-item-height": `${size}px`,
205
+ "--vef-virtual-list-item-x": 0,
206
+ "--vef-virtual-list-item-y": `${start}px`
207
+ },
208
+ children: react$1.createElement(ListItem, {
209
+ index,
210
+ item: items[index]
211
+ })
212
+ },
213
+ key
214
+ )
215
+ ) })
216
+ }
217
+ );
218
+ };
219
+ if (!restProps.autoSize) {
220
+ if (restProps.orientation === "horizontal") {
221
+ return getVirtualListNode("100%", restProps.width);
222
+ }
223
+ return getVirtualListNode(restProps.height, "100%");
224
+ }
225
+ if (restProps.orientation === "horizontal") {
226
+ return /* @__PURE__ */ jsxRuntime.jsx(index$1.default, { disableHeight: true, children: ({ width }) => getVirtualListNode("100%", width) });
227
+ }
228
+ return /* @__PURE__ */ jsxRuntime.jsx(index$1.default, { disableWidth: true, children: ({ height }) => getVirtualListNode(height, "100%") });
229
+ }
230
+ const VefVirtualList = react$1.memo(VefVirtualListBase);
231
+ VefVirtualList.displayName = "VefVirtualList";
232
+
233
+ exports.default = VefVirtualList;
20
234
  /*! 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,3 +1,5 @@
1
- /*! VefFramework version: 1.0.62, build time: 2025-01-09T07:31:10.823Z, made by Venus. */
2
- "use strict";
1
+ /*! VefFramework version: 1.0.64, build time: 2025-01-10T01:26:01.691Z, made by Venus. */
2
+ 'use strict';
3
+
4
+
3
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 */
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@vef-framework/components",
3
3
  "type": "module",
4
- "version": "1.0.62",
4
+ "version": "1.0.64",
5
5
  "private": false,
6
6
  "packageManager": "pnpm@9.15.0",
7
7
  "description": "Components fundamental to the VEF framework",
@@ -41,9 +41,9 @@
41
41
  "@dnd-kit/utilities": "3.2.2",
42
42
  "@radix-ui/react-scroll-area": "1.2.2",
43
43
  "@tanstack/react-virtual": "3.11.2",
44
- "@vef-framework/core": "1.0.62",
45
- "@vef-framework/hooks": "1.0.62",
46
- "@vef-framework/shared": "1.0.62",
44
+ "@vef-framework/core": "1.0.64",
45
+ "@vef-framework/hooks": "1.0.64",
46
+ "@vef-framework/shared": "1.0.64",
47
47
  "clsx": "2.1.1",
48
48
  "dayjs": "1.11.13",
49
49
  "lucide-react": "0.469.0",
@@ -1,9 +1,9 @@
1
- import type { ActionButton, ObjectType, QueryApi, StringKey } from "@vef-framework/shared";
1
+ import type { ActionButton, ObjectType, QueryApi } from "@vef-framework/shared";
2
2
  import type { CrudContext, CrudFormApis, CrudSchema } from "../types";
3
3
  /**
4
4
  * The props of VefCrudActions component.
5
5
  */
6
- export interface VefCrudActionsProps<Record extends ObjectType, Params extends ObjectType, FilterKeys extends ReadonlyArray<StringKey<Record>>, FormKeys extends ReadonlyArray<StringKey<Record>>, FormResult, Schema extends CrudSchema<Record, FilterKeys, FormKeys>, FormApis extends CrudFormApis<Record, FormKeys, FormResult, Schema>> {
6
+ export interface VefCrudActionsProps<Model extends ObjectType, Params extends ObjectType, Record extends ObjectType, Filter extends ObjectType, Form extends ObjectType, Result, Schema extends CrudSchema<Model, Record, Filter, Form>, FormApis extends CrudFormApis<Model, Record, Filter, Form, Result, Schema>> {
7
7
  /**
8
8
  * The api of the table.
9
9
  */
@@ -15,7 +15,7 @@ export interface VefCrudActionsProps<Record extends ObjectType, Params extends O
15
15
  /**
16
16
  * The action buttons of the crud page.
17
17
  */
18
- actionButtons?: Array<ActionButton<CrudContext<Record, FilterKeys, FormKeys, FormResult, Schema, FormApis>>>;
18
+ actionButtons?: Array<ActionButton<CrudContext<Model, Record, Filter, Form, Result, Schema, FormApis>>>;
19
19
  }
20
- declare function VefCrudActions<Record extends ObjectType, Params extends ObjectType, FilterKeys extends ReadonlyArray<StringKey<Record>>, FormKeys extends ReadonlyArray<StringKey<Record>>, FormResult, Schema extends CrudSchema<Record, FilterKeys, FormKeys>, FormApis extends CrudFormApis<Record, FormKeys, FormResult, Schema>>({ tableApi, tableApiParams, actionButtons, }: VefCrudActionsProps<Record, Params, FilterKeys, FormKeys, FormResult, Schema, FormApis>): import("@emotion/react/jsx-runtime").JSX.Element;
20
+ declare function VefCrudActions<Model extends ObjectType, Record extends ObjectType, Params extends ObjectType, Filter extends ObjectType, Form extends ObjectType, Result, Schema extends CrudSchema<Model, Record, Filter, Form>, FormApis extends CrudFormApis<Model, Record, Filter, Form, Result, Schema>>({ tableApi, tableApiParams, actionButtons, }: VefCrudActionsProps<Model, Params, Record, Filter, Form, Result, Schema, FormApis>): import("@emotion/react/jsx-runtime").JSX.Element;
21
21
  export default VefCrudActions;
@@ -1,11 +1,11 @@
1
- import type { ActionButton, ObjectType, QueryApi, StringKey } from "@vef-framework/shared";
1
+ import type { ActionButton, ObjectType, QueryApi } from "@vef-framework/shared";
2
2
  import { type ReactNode } from "react";
3
3
  import type { CrudContext, CrudFormApis, CrudSchema } from "../types";
4
4
  import { type FilterSchema } from "../../vef-filter";
5
5
  /**
6
6
  * The props of VefCrudFilter component.
7
7
  */
8
- export interface CrudFilterProps<Record extends ObjectType, Params extends ObjectType, FilterKeys extends ReadonlyArray<StringKey<Record>>, FormKeys extends ReadonlyArray<StringKey<Record>>, FormResult, Schema extends CrudSchema<Record, FilterKeys, FormKeys> = CrudSchema<Record, FilterKeys, FormKeys>, FormApis extends CrudFormApis<Record, FormKeys, FormResult, Schema> = CrudFormApis<Record, FormKeys, FormResult, Schema>> {
8
+ export interface CrudFilterProps<Model extends ObjectType, Params extends ObjectType, Record extends ObjectType, Filter extends ObjectType, Form extends ObjectType, Result, Schema extends CrudSchema<Model, Record, Filter, Form> = CrudSchema<Model, Record, Filter, Form>, FormApis extends CrudFormApis<Model, Record, Filter, Form, Result, Schema> = CrudFormApis<Model, Record, Filter, Form, Result, Schema>> {
9
9
  /**
10
10
  * The title of the crud page.
11
11
  */
@@ -21,11 +21,11 @@ export interface CrudFilterProps<Record extends ObjectType, Params extends Objec
21
21
  /**
22
22
  * The schema of the crud filter.
23
23
  */
24
- filterSchema: FilterSchema<Pick<Record, FilterKeys[number]>>;
24
+ filterSchema: FilterSchema<Filter>;
25
25
  /**
26
26
  * The action buttons of the crud page.
27
27
  */
28
- actionButtons?: Array<ActionButton<CrudContext<Record, FilterKeys, FormKeys, FormResult, Schema, FormApis>>>;
28
+ actionButtons?: Array<ActionButton<CrudContext<Model, Record, Filter, Form, Result, Schema, FormApis>>>;
29
29
  }
30
- declare function VefCrudFilter<Record extends ObjectType, Params extends ObjectType, FilterKeys extends ReadonlyArray<StringKey<Record>>, FormKeys extends ReadonlyArray<StringKey<Record>>, FormResult, Schema extends CrudSchema<Record, FilterKeys, FormKeys> = CrudSchema<Record, FilterKeys, FormKeys>, FormApis extends CrudFormApis<Record, FormKeys, FormResult, Schema> = CrudFormApis<Record, FormKeys, FormResult, Schema>>({ title, tableApi, tableApiParams, filterSchema, actionButtons, }: CrudFilterProps<Record, Params, FilterKeys, FormKeys, FormResult, Schema, FormApis>): import("@emotion/react/jsx-runtime").JSX.Element;
30
+ declare function VefCrudFilter<Model extends ObjectType, Params extends ObjectType, Record extends ObjectType, Filter extends ObjectType, Form extends ObjectType, Result, Schema extends CrudSchema<Model, Record, Filter, Form> = CrudSchema<Model, Record, Filter, Form>, FormApis extends CrudFormApis<Model, Record, Filter, Form, Result, Schema> = CrudFormApis<Model, Record, Filter, Form, Result, Schema>>({ title, tableApi, tableApiParams, filterSchema, actionButtons, }: Readonly<CrudFilterProps<Model, Params, Record, Filter, Form, Result, Schema, FormApis>>): import("@emotion/react/jsx-runtime").JSX.Element;
31
31
  export default VefCrudFilter;
@@ -1,10 +1,10 @@
1
- import { type ActionButton, type Mapper, type MutationApi, type ObjectType, type QueryApi, type StringKey } from "@vef-framework/shared";
1
+ import { type ActionButton, type Mapper, type MutationApi, type ObjectType, type QueryApi } from "@vef-framework/shared";
2
2
  import { type ReactNode } from "react";
3
3
  import type { BatchActionButtonContext, CrudFormApis, CrudSchema } from "../types";
4
4
  /**
5
5
  * The props of the VefCrudFooter component.
6
6
  */
7
- export interface VefCrudFooterProps<Record extends ObjectType, Params extends ObjectType, FilterKeys extends ReadonlyArray<StringKey<Record>>, FormKeys extends ReadonlyArray<StringKey<Record>>, FormResult, Schema extends CrudSchema<Record, FilterKeys, FormKeys> = CrudSchema<Record, FilterKeys, FormKeys>, FormApis extends CrudFormApis<Record, FormKeys, FormResult, Schema> = CrudFormApis<Record, FormKeys, FormResult, Schema>> {
7
+ export interface VefCrudFooterProps<Model extends ObjectType, Record extends ObjectType, Params extends ObjectType, Filter extends ObjectType, Form extends ObjectType, Result, Schema extends CrudSchema<Model, Record, Filter, Form> = CrudSchema<Model, Record, Filter, Form>, FormApis extends CrudFormApis<Model, Record, Filter, Form, Result, Schema> = CrudFormApis<Model, Record, Filter, Form, Result, Schema>> {
8
8
  /**
9
9
  * The table api.
10
10
  */
@@ -20,12 +20,12 @@ export interface VefCrudFooterProps<Record extends ObjectType, Params extends Ob
20
20
  /**
21
21
  * The batch action buttons.
22
22
  */
23
- batchActionButtons?: Array<ActionButton<BatchActionButtonContext<Record, FilterKeys, FormKeys, FormResult, Schema, FormApis>>>;
23
+ batchActionButtons?: Array<ActionButton<BatchActionButtonContext<Model, Record, Filter, Form, Result, Schema, FormApis>>>;
24
24
  /**
25
25
  * The mapper of the selection summary.
26
26
  */
27
27
  selectionSummary?: Mapper<Record[], ReactNode>;
28
28
  }
29
- declare function VefCrudFooterBase<Record extends ObjectType, Params extends ObjectType, FilterKeys extends ReadonlyArray<StringKey<Record>>, FormKeys extends ReadonlyArray<StringKey<Record>>, FormResult, Schema extends CrudSchema<Record, FilterKeys, FormKeys>, FormApis extends CrudFormApis<Record, FormKeys, FormResult, Schema>>({ tableApi, tableApiParams, batchDeletionApi, batchActionButtons, selectionSummary, }: VefCrudFooterProps<Record, Params, FilterKeys, FormKeys, FormResult, Schema, FormApis>): import("@emotion/react/jsx-runtime").JSX.Element | null;
29
+ declare function VefCrudFooterBase<Model extends ObjectType, Record extends ObjectType, Params extends ObjectType, Filter extends ObjectType, Form extends ObjectType, Result, Schema extends CrudSchema<Model, Record, Filter, Form>, FormApis extends CrudFormApis<Model, Record, Filter, Form, Result, Schema>>({ tableApi, tableApiParams, batchDeletionApi, batchActionButtons, selectionSummary, }: Readonly<VefCrudFooterProps<Model, Record, Params, Filter, Form, Result, Schema, FormApis>>): import("@emotion/react/jsx-runtime").JSX.Element | null;
30
30
  declare const VefCrudFooter: typeof VefCrudFooterBase;
31
31
  export default VefCrudFooter;
@@ -1,18 +1,18 @@
1
- import type { AnyValue, ObjectType, StringKey } from "@vef-framework/shared";
1
+ import type { ObjectType } from "@vef-framework/shared";
2
2
  import type { FormSchema } from "../../vef-form";
3
3
  import type { CrudFormApis, CrudFormScene, CrudSchema } from "../types";
4
4
  /**
5
5
  * The props of VefCrudFormModal component.
6
6
  */
7
- export interface CrudFormModalProps<Record extends ObjectType, FilterKeys extends ReadonlyArray<StringKey<Record>> = [], FormKeys extends ReadonlyArray<StringKey<Record>> = [], FormResult = AnyValue, Schema extends CrudSchema<Record, FilterKeys, FormKeys> = CrudSchema<Record, FilterKeys, FormKeys>, FormApis extends CrudFormApis<Record, FormKeys, FormResult, Schema> = CrudFormApis<Record, FormKeys, FormResult, Schema>> {
7
+ export interface CrudFormModalProps<Model extends ObjectType, Record extends ObjectType, Filter extends ObjectType, Form extends ObjectType, Result, Schema extends CrudSchema<Model, Record, Filter, Form> = CrudSchema<Model, Record, Filter, Form>, FormApis extends CrudFormApis<Model, Record, Filter, Form, Result, Schema> = CrudFormApis<Model, Record, Filter, Form, Result, Schema>> {
8
8
  /**
9
9
  * The schema of the form.
10
10
  */
11
- formSchema: FormSchema<Pick<Record, FormKeys[number]>, CrudFormScene<FormApis>>;
11
+ formSchema: FormSchema<Form, CrudFormScene<FormApis>>;
12
12
  /**
13
13
  * The apis of the form.
14
14
  */
15
- formApis: CrudFormApis<Record, FormKeys, FormResult, Schema>;
15
+ formApis: CrudFormApis<Model, Record, Filter, Form, Result, Schema>;
16
16
  }
17
- declare function VefCrudFormModal<Record extends ObjectType, FilterKeys extends ReadonlyArray<StringKey<Record>> = [], FormKeys extends ReadonlyArray<StringKey<Record>> = [], FormResult = AnyValue, Schema extends CrudSchema<Record, FilterKeys, FormKeys> = CrudSchema<Record, FilterKeys, FormKeys>, FormApis extends CrudFormApis<Record, FormKeys, FormResult, Schema> = CrudFormApis<Record, FormKeys, FormResult, Schema>>({ formSchema, formApis, }: CrudFormModalProps<Record, FilterKeys, FormKeys, FormResult, Schema, FormApis>): import("@emotion/react/jsx-runtime").JSX.Element;
17
+ declare function VefCrudFormModal<Model extends ObjectType, Record extends ObjectType, Filter extends ObjectType, Form extends ObjectType, Result, Schema extends CrudSchema<Model, Record, Filter, Form> = CrudSchema<Model, Record, Filter, Form>, FormApis extends CrudFormApis<Model, Record, Filter, Form, Result, Schema> = CrudFormApis<Model, Record, Filter, Form, Result, Schema>>({ formSchema, formApis, }: Readonly<CrudFormModalProps<Model, Record, Filter, Form, Result, Schema, FormApis>>): import("@emotion/react/jsx-runtime").JSX.Element;
18
18
  export default VefCrudFormModal;
@@ -1,11 +1,11 @@
1
- import type { ActionButton, ObjectType, QueryApi, StringKey } from "@vef-framework/shared";
1
+ import type { ActionButton, ObjectType, QueryApi } from "@vef-framework/shared";
2
2
  import { type ReactNode } from "react";
3
3
  import type { FilterItem } from "../../vef-filter";
4
4
  import type { CrudContext, CrudFormApis, CrudSchema } from "../types";
5
5
  /**
6
6
  * The props of VefCrudHeader component.
7
7
  */
8
- export interface VefCrudHeaderProps<Record extends ObjectType, Params extends ObjectType, FilterKeys extends ReadonlyArray<StringKey<Record>>, FormKeys extends ReadonlyArray<StringKey<Record>>, FormResult, Schema extends CrudSchema<Record, FilterKeys, FormKeys>, FormApis extends CrudFormApis<Record, FormKeys, FormResult, Schema>> {
8
+ export interface VefCrudHeaderProps<Model extends ObjectType, Params extends ObjectType, Record extends ObjectType, Filter extends ObjectType, Form extends ObjectType, Result, Schema extends CrudSchema<Model, Record, Filter, Form>, FormApis extends CrudFormApis<Model, Record, Filter, Form, Result, Schema>> {
9
9
  /**
10
10
  * The title of the crud page.
11
11
  */
@@ -21,12 +21,12 @@ export interface VefCrudHeaderProps<Record extends ObjectType, Params extends Ob
21
21
  /**
22
22
  * The schema of the crud filter.
23
23
  */
24
- filterItems: Array<FilterItem<Pick<Record, FilterKeys[number]>>>;
24
+ filterItems: Array<FilterItem<Filter>>;
25
25
  /**
26
26
  * The action buttons of the crud page.
27
27
  */
28
- actionButtons?: Array<ActionButton<CrudContext<Record, FilterKeys, FormKeys, FormResult, Schema, FormApis>>>;
28
+ actionButtons?: Array<ActionButton<CrudContext<Model, Record, Filter, Form, Result, Schema, FormApis>>>;
29
29
  }
30
- declare function VefCrudHeaderBase<Record extends ObjectType, Params extends ObjectType, FilterKeys extends ReadonlyArray<StringKey<Record>>, FormKeys extends ReadonlyArray<StringKey<Record>>, FormResult, Schema extends CrudSchema<Record, FilterKeys, FormKeys>, FormApis extends CrudFormApis<Record, FormKeys, FormResult, Schema>>({ title, tableApi, tableApiParams, filterItems, actionButtons, }: VefCrudHeaderProps<Record, Params, FilterKeys, FormKeys, FormResult, Schema, FormApis>): import("@emotion/react/jsx-runtime").JSX.Element | null;
30
+ declare function VefCrudHeaderBase<Model extends ObjectType, Record extends ObjectType, Params extends ObjectType, Filter extends ObjectType, Form extends ObjectType, Result, Schema extends CrudSchema<Model, Record, Filter, Form>, FormApis extends CrudFormApis<Model, Record, Filter, Form, Result, Schema>>({ title, tableApi, tableApiParams, filterItems, actionButtons, }: Readonly<VefCrudHeaderProps<Model, Params, Record, Filter, Form, Result, Schema, FormApis>>): import("@emotion/react/jsx-runtime").JSX.Element | null;
31
31
  declare const VefCrudHeader: typeof VefCrudHeaderBase;
32
32
  export default VefCrudHeader;
@@ -1,10 +1,10 @@
1
- import type { Except, MutationApi, ObjectType, PaginationParams, PaginationResult, QueryApi, QueryConfig, StringKey } from "@vef-framework/shared";
1
+ import type { Except, MutationApi, ObjectType, PaginationParams, PaginationResult, QueryApi, QueryConfig } from "@vef-framework/shared";
2
2
  import type { CrudContext, CrudFilterVirtualKey, CrudFormApis, CrudSchema } from "../types";
3
3
  import { type TableSchema, type VefTableProps } from "../../vef-table";
4
4
  /**
5
5
  * The base props of VefCrudTable component.
6
6
  */
7
- type BaseCrudTableProps<Record extends ObjectType, Params extends ObjectType, FilterKeys extends ReadonlyArray<StringKey<Record>>, FormKeys extends ReadonlyArray<StringKey<Record>>, FormResult, Schema extends CrudSchema<Record, FilterKeys, FormKeys> = CrudSchema<Record, FilterKeys, FormKeys>, FormApis extends CrudFormApis<Record, FormKeys, FormResult, Schema> = CrudFormApis<Record, FormKeys, FormResult, Schema>> = Except<VefTableProps<Record, Params, Record, CrudContext<Record, FilterKeys, FormKeys, FormResult, Schema, FormApis>>, "schema" | "paginated" | "multipleSelection" | "showSelectAllCheckbox" | "enableRowClick" | "enableRowClickForSelection" | "selectedKeys" | "defaultSelectedKeys" | "onRowSelectionChange" | "onRowSelect" | "onRowDeselect" | "onRowClick" | keyof QueryConfig> & {
7
+ type BaseCrudTableProps<Model extends ObjectType, Record extends ObjectType, Params extends ObjectType, Filter extends ObjectType, Form extends ObjectType, Result, Schema extends CrudSchema<Model, Record, Filter, Form> = CrudSchema<Model, Record, Filter, Form>, FormApis extends CrudFormApis<Model, Record, Filter, Form, Result, Schema> = CrudFormApis<Model, Record, Filter, Form, Result, Schema>> = Except<VefTableProps<Record, Params, Record, CrudContext<Model, Record, Filter, Form, Result, Schema, FormApis>>, "schema" | "paginated" | "multipleSelection" | "showSelectAllCheckbox" | "enableRowClick" | "enableRowClickForSelection" | "selectedKeys" | "defaultSelectedKeys" | "onRowSelectionChange" | "onRowSelect" | "onRowDeselect" | "onRowClick" | keyof QueryConfig> & {
8
8
  /**
9
9
  * The schema of the table.
10
10
  */
@@ -25,7 +25,7 @@ type BaseCrudTableProps<Record extends ObjectType, Params extends ObjectType, Fi
25
25
  /**
26
26
  * The props of VefCrudTable component without pagination.
27
27
  */
28
- type DefaultCrudTableProps<Record extends ObjectType, Params extends ObjectType, FilterKeys extends ReadonlyArray<StringKey<Record>>, FormKeys extends ReadonlyArray<StringKey<Record>>, FormResult, Schema extends CrudSchema<Record, FilterKeys, FormKeys> = CrudSchema<Record, FilterKeys, FormKeys>, FormApis extends CrudFormApis<Record, FormKeys, FormResult, Schema> = CrudFormApis<Record, FormKeys, FormResult, Schema>> = BaseCrudTableProps<Record, Params, FilterKeys, FormKeys, FormResult, Schema, FormApis> & {
28
+ type DefaultCrudTableProps<Model extends ObjectType, Record extends ObjectType, Params extends ObjectType, Filter extends ObjectType, Form extends ObjectType, Result, Schema extends CrudSchema<Model, Record, Filter, Form> = CrudSchema<Model, Record, Filter, Form>, FormApis extends CrudFormApis<Model, Record, Filter, Form, Result, Schema> = CrudFormApis<Model, Record, Filter, Form, Result, Schema>> = BaseCrudTableProps<Model, Record, Params, Filter, Form, Result, Schema, FormApis> & {
29
29
  /**
30
30
  * Whether to allow pagination.
31
31
  */
@@ -33,12 +33,12 @@ type DefaultCrudTableProps<Record extends ObjectType, Params extends ObjectType,
33
33
  /**
34
34
  * The api of the table.
35
35
  */
36
- api: Readonly<QueryApi<Params & Except<Pick<Record, FilterKeys[number]>, CrudFilterVirtualKey<Schema>>, Record[]>>;
36
+ api: Readonly<QueryApi<Params & Except<Filter, CrudFilterVirtualKey<Schema>>, Record[]>>;
37
37
  };
38
38
  /**
39
39
  * The props of VefCrudTable component without pagination.
40
40
  */
41
- type PaginatedCrudTableProps<Record extends ObjectType, Params extends ObjectType, FilterKeys extends ReadonlyArray<StringKey<Record>>, FormKeys extends ReadonlyArray<StringKey<Record>>, FormResult, Schema extends CrudSchema<Record, FilterKeys, FormKeys> = CrudSchema<Record, FilterKeys, FormKeys>, FormApis extends CrudFormApis<Record, FormKeys, FormResult, Schema> = CrudFormApis<Record, FormKeys, FormResult, Schema>> = BaseCrudTableProps<Record, Params, FilterKeys, FormKeys, FormResult, Schema, FormApis> & {
41
+ type PaginatedCrudTableProps<Model extends ObjectType, Record extends ObjectType, Params extends ObjectType, Filter extends ObjectType, Form extends ObjectType, Result, Schema extends CrudSchema<Model, Record, Filter, Form> = CrudSchema<Model, Record, Filter, Form>, FormApis extends CrudFormApis<Model, Record, Filter, Form, Result, Schema> = CrudFormApis<Model, Record, Filter, Form, Result, Schema>> = BaseCrudTableProps<Model, Record, Params, Filter, Form, Result, Schema, FormApis> & {
42
42
  /**
43
43
  * Whether to allow pagination.
44
44
  */
@@ -46,12 +46,12 @@ type PaginatedCrudTableProps<Record extends ObjectType, Params extends ObjectTyp
46
46
  /**
47
47
  * The api of the table.
48
48
  */
49
- api: Readonly<QueryApi<Params & PaginationParams & Except<Pick<Record, FilterKeys[number]>, CrudFilterVirtualKey<Schema>>, PaginationResult<Record>>>;
49
+ api: Readonly<QueryApi<Params & PaginationParams & Except<Filter, CrudFilterVirtualKey<Schema>>, PaginationResult<Record>>>;
50
50
  };
51
51
  /**
52
52
  * The props of VefCrudTable component.
53
53
  */
54
- export type CrudTableProps<Record extends ObjectType, Params extends ObjectType, FilterKeys extends ReadonlyArray<StringKey<Record>>, FormKeys extends ReadonlyArray<StringKey<Record>>, FormResult, Schema extends CrudSchema<Record, FilterKeys, FormKeys> = CrudSchema<Record, FilterKeys, FormKeys>, FormApis extends CrudFormApis<Record, FormKeys, FormResult, Schema> = CrudFormApis<Record, FormKeys, FormResult, Schema>> = DefaultCrudTableProps<Record, Params, FilterKeys, FormKeys, FormResult, Schema, FormApis> | PaginatedCrudTableProps<Record, Params, FilterKeys, FormKeys, FormResult, Schema, FormApis>;
55
- declare function VefCrudTableBase<Record extends ObjectType, Params extends ObjectType, FilterKeys extends ReadonlyArray<StringKey<Record>>, FormKeys extends ReadonlyArray<StringKey<Record>>, FormResult, Schema extends CrudSchema<Record, FilterKeys, FormKeys> = CrudSchema<Record, FilterKeys, FormKeys>, FormApis extends CrudFormApis<Record, FormKeys, FormResult, Schema> = CrudFormApis<Record, FormKeys, FormResult, Schema>>({ api, apiParams, deletionApi, paginated, schema, selectable, operationButtons, ...tableProps }: CrudTableProps<Record, Params, FilterKeys, FormKeys, FormResult, Schema, FormApis>): import("@emotion/react/jsx-runtime").JSX.Element;
54
+ export type CrudTableProps<Model extends ObjectType, Record extends ObjectType, Params extends ObjectType, Filter extends ObjectType, Form extends ObjectType, Result, Schema extends CrudSchema<Model, Record, Filter, Form> = CrudSchema<Model, Record, Filter, Form>, FormApis extends CrudFormApis<Model, Record, Filter, Form, Result, Schema> = CrudFormApis<Model, Record, Filter, Form, Result, Schema>> = DefaultCrudTableProps<Model, Record, Params, Filter, Form, Result, Schema, FormApis> | PaginatedCrudTableProps<Model, Record, Params, Filter, Form, Result, Schema, FormApis>;
55
+ declare function VefCrudTableBase<Model extends ObjectType, Record extends ObjectType, Params extends ObjectType, Filter extends ObjectType, Form extends ObjectType, Result, Schema extends CrudSchema<Model, Record, Filter, Form> = CrudSchema<Model, Record, Filter, Form>, FormApis extends CrudFormApis<Model, Record, Filter, Form, Result, Schema> = CrudFormApis<Model, Record, Filter, Form, Result, Schema>>({ api, apiParams, deletionApi, paginated, schema, selectable, operationButtons, ...tableProps }: CrudTableProps<Model, Record, Params, Filter, Form, Result, Schema, FormApis>): import("@emotion/react/jsx-runtime").JSX.Element;
56
56
  declare const VefCrudTable: typeof VefCrudTableBase;
57
57
  export default VefCrudTable;
@@ -1,4 +1,4 @@
1
- import { type ActionButton, type ObjectType, type StringKey } from "@vef-framework/shared";
1
+ import { type ActionButton, type ObjectType } from "@vef-framework/shared";
2
2
  import type { CrudContext, CrudFormApis, CrudFormScene, CrudSchema } from "../types";
3
3
  /**
4
4
  * The hook to create the action buttons.
@@ -6,11 +6,11 @@ import type { CrudContext, CrudFormApis, CrudFormScene, CrudSchema } from "../ty
6
6
  * @param actionButtons - The action buttons.
7
7
  * @returns The action buttons.
8
8
  */
9
- export declare function useActionButtons<Record extends ObjectType, FilterKeys extends ReadonlyArray<StringKey<Record>>, FormKeys extends ReadonlyArray<StringKey<Record>>, FormResult, Schema extends CrudSchema<Record, FilterKeys, FormKeys>, FormApis extends CrudFormApis<Record, FormKeys, FormResult, Schema>>(actionButtons?: Array<ActionButton<CrudContext<Record, FilterKeys, FormKeys, FormResult, Schema, FormApis>>>): (ActionButton<CrudContext<Record, FilterKeys, FormKeys, FormResult, Schema, FormApis>> | {
9
+ export declare function useActionButtons<Model extends ObjectType, Record extends ObjectType, Filter extends ObjectType, Form extends ObjectType, Result, Schema extends CrudSchema<Model, Record, Filter, Form>, FormApis extends CrudFormApis<Model, Record, Filter, Form, Result, Schema>>(actionButtons?: Array<ActionButton<CrudContext<Model, Record, Filter, Form, Result, Schema, FormApis>>>): (ActionButton<CrudContext<Model, Record, Filter, Form, Result, Schema, FormApis>> | {
10
10
  label: string;
11
11
  key: string;
12
12
  icon: import("@emotion/react/jsx-runtime").JSX.Element;
13
13
  color: "primary";
14
14
  permissions: ("creation" extends infer T ? T extends "creation" ? T extends CrudFormScene<FormApis> ? { [K in CrudFormScene<FormApis>]: string; }[T] : any : never : never)[];
15
- onClick: ({ openForm, refetch }: CrudContext<Record, FilterKeys, FormKeys, FormResult, Schema, FormApis>) => void;
15
+ onClick: ({ openForm, refetch }: CrudContext<Model, Record, Filter, Form, Result, Schema, FormApis>) => void;
16
16
  })[];
@@ -1,8 +1,8 @@
1
- import type { ObjectType, StringKey } from "@vef-framework/shared";
1
+ import type { ObjectType } from "@vef-framework/shared";
2
2
  import type { CrudContext, CrudFormApis, CrudSchema } from "../types";
3
3
  /**
4
4
  * The hook to create the crud context.
5
5
  *
6
6
  * @returns The crud context.
7
7
  */
8
- export declare function useCrudContext<Record extends ObjectType, FilterKeys extends ReadonlyArray<StringKey<Record>>, FormKeys extends ReadonlyArray<StringKey<Record>>, FormResult, Schema extends CrudSchema<Record, FilterKeys, FormKeys> = CrudSchema<Record, FilterKeys, FormKeys>, FormApis extends CrudFormApis<Record, FormKeys, FormResult, Schema> = CrudFormApis<Record, FormKeys, FormResult, Schema>>(): CrudContext<Record, FilterKeys, FormKeys, FormResult, Schema, FormApis>;
8
+ export declare function useCrudContext<Model extends ObjectType, Record extends ObjectType, Filter extends ObjectType, Form extends ObjectType, Result, Schema extends CrudSchema<Model, Record, Filter, Form> = CrudSchema<Model, Record, Filter, Form>, FormApis extends CrudFormApis<Model, Record, Filter, Form, Result, Schema> = CrudFormApis<Model, Record, Filter, Form, Result, Schema>>(): CrudContext<Model, Record, Filter, Form, Result, Schema, FormApis>;
@@ -9,9 +9,9 @@ import type { CrudSchema } from "../types";
9
9
  * @param schema The crud schema
10
10
  * @returns The table schema, filter schema and form schema
11
11
  */
12
- export declare function useCrudSchema<T extends ObjectType, FilterKeys extends ReadonlyArray<StringKey<T>>, FormKeys extends ReadonlyArray<StringKey<T>>>(schema: CrudSchema<T, FilterKeys, FormKeys>): {
12
+ export declare function useCrudSchema<Model extends ObjectType, T extends ObjectType, Filter extends ObjectType, Form extends ObjectType>(schema: CrudSchema<Model, T, Filter, Form>): {
13
13
  tableSchema: TableSchema<T>;
14
- filterItems: FilterItem<Pick<T, FilterKeys[number]>>[];
15
- formGroups: FormGroup<Pick<T, FormKeys[number]>, FormKeys[number], import("../..").FormScene>[];
16
- filterValueAsDefaultKeys: FormKeys[number][];
14
+ filterItems: FilterItem<Filter>[];
15
+ formGroups: FormGroup<Form, StringKey<Form>, import("../..").FormScene>[];
16
+ filterValueAsDefaultKeys: StringKey<Filter>[];
17
17
  };
@@ -1,4 +1,4 @@
1
- import { type ActionButton, type MutationApi, type ObjectType, type StringKey } from "@vef-framework/shared";
1
+ import { type ActionButton, type MutationApi, type ObjectType } from "@vef-framework/shared";
2
2
  import type { OperationButtonContext } from "../../vef-table";
3
3
  import type { CrudContext, CrudFormApis, CrudSchema } from "../types";
4
4
  /**
@@ -8,4 +8,4 @@ import type { CrudContext, CrudFormApis, CrudSchema } from "../types";
8
8
  * @param operationButtons - The operation buttons.
9
9
  * @returns The operation buttons.
10
10
  */
11
- export declare function useOperationButtons<Record extends ObjectType, FilterKeys extends ReadonlyArray<StringKey<Record>>, FormKeys extends ReadonlyArray<StringKey<Record>>, FormResult, Schema extends CrudSchema<Record, FilterKeys, FormKeys>, FormApis extends CrudFormApis<Record, FormKeys, FormResult, Schema>>(deletionApi?: Readonly<MutationApi<Record, void>>, operationButtons?: Array<ActionButton<OperationButtonContext<Record, CrudContext<Record, FilterKeys, FormKeys, FormResult, Schema, FormApis>>>>): ActionButton<OperationButtonContext<Record, CrudContext<Record, FilterKeys, FormKeys, FormResult, Schema, FormApis>>>[];
11
+ export declare function useOperationButtons<Model extends ObjectType, Record extends ObjectType, Filter extends ObjectType, Form extends ObjectType, Result, Schema extends CrudSchema<Model, Record, Filter, Form>, FormApis extends CrudFormApis<Model, Record, Filter, Form, Result, Schema>>(deletionApi?: Readonly<MutationApi<Record, void>>, operationButtons?: Array<ActionButton<OperationButtonContext<Record, CrudContext<Model, Record, Filter, Form, Result, Schema, FormApis>>>>): ActionButton<OperationButtonContext<Record, CrudContext<Model, Record, Filter, Form, Result, Schema, FormApis>>>[];
@@ -1,6 +1,6 @@
1
- import { type AnyValue, type EmptyObject, type ObjectType, type ObjectValue, type StringKey } from "@vef-framework/shared";
1
+ import { type AnyValue, type EmptyObject, type ObjectType, type ObjectValue } from "@vef-framework/shared";
2
2
  import type { VefCrudPageProps } from "./props";
3
3
  import type { BatchActionButtonContext, CrudContext, CrudFormApis, CrudItem, CrudSchema } from "./types";
4
- declare function VefCrudPage<Record extends ObjectType = ObjectValue, Params extends ObjectType = EmptyObject, FilterKeys extends ReadonlyArray<StringKey<Record>> = [], FormKeys extends ReadonlyArray<StringKey<Record>> = [], FormResult = AnyValue, Schema extends CrudSchema<Record, FilterKeys, FormKeys> = CrudSchema<Record, FilterKeys, FormKeys>, FormApis extends CrudFormApis<Record, FormKeys, FormResult, Schema> = CrudFormApis<Record, FormKeys, FormResult, Schema>>({ schema, formApis, onFormOpen, onBeforeSubmit, onSubmitSuccess, ...restProps }: VefCrudPageProps<Record, Params, FilterKeys, FormKeys, FormResult, Schema, FormApis>): import("@emotion/react/jsx-runtime").JSX.Element;
4
+ declare function VefCrudPage<Model extends ObjectType = ObjectValue, Record extends ObjectType = ObjectValue, Params extends ObjectType = EmptyObject, Filter extends ObjectType = ObjectValue, Form extends ObjectType = ObjectValue, Result = AnyValue, Schema extends CrudSchema<Model, Record, Filter, Form> = CrudSchema<Model, Record, Filter, Form>, FormApis extends CrudFormApis<Model, Record, Filter, Form, Result, Schema> = CrudFormApis<Model, Record, Filter, Form, Result, Schema>>({ schema, formApis, onFormOpen, onBeforeSubmit, onSubmitSuccess, ...restProps }: VefCrudPageProps<Model, Params, Record, Filter, Form, Result, Schema, FormApis>): import("@emotion/react/jsx-runtime").JSX.Element;
5
5
  export type { BatchActionButtonContext, CrudContext, CrudItem, CrudSchema, VefCrudPageProps };
6
6
  export default VefCrudPage;