@vef-framework/components 1.0.7 → 1.0.9

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 (349) hide show
  1. package/README.md +1 -1
  2. package/dist/index.d.ts +15 -2
  3. package/dist/index.js +2 -2
  4. package/dist/internal/index.js +1 -1
  5. package/dist/internal/utils.js +1 -1
  6. package/dist/vef-access-denied/access-denied-icon.d.ts +1 -1
  7. package/dist/vef-access-denied/access-denied-icon.js +1 -1
  8. package/dist/vef-access-denied/index.js +1 -1
  9. package/dist/vef-action-buttons/index.js +1 -1
  10. package/dist/vef-app/helper.d.ts +10 -0
  11. package/dist/vef-app/helper.js +3 -0
  12. package/dist/vef-app/index.d.ts +5 -0
  13. package/dist/vef-app/index.js +3 -0
  14. package/dist/vef-app/props.d.ts +7 -0
  15. package/dist/vef-auto-sizer/index.d.ts +5 -0
  16. package/dist/vef-auto-sizer/index.js +3 -0
  17. package/dist/vef-auto-sizer/props.d.ts +5 -0
  18. package/dist/vef-avatar/index.d.ts +5 -0
  19. package/dist/vef-avatar/index.js +3 -0
  20. package/dist/vef-avatar/props.d.ts +11 -0
  21. package/dist/vef-avatar-group/index.d.ts +5 -0
  22. package/dist/vef-avatar-group/index.js +3 -0
  23. package/dist/vef-avatar-group/props.d.ts +15 -0
  24. package/dist/vef-badge/index.js +1 -1
  25. package/dist/vef-bool/hooks/use-bool-instance.js +1 -1
  26. package/dist/vef-bool/index.js +1 -1
  27. package/dist/vef-button/components/base-button.js +1 -1
  28. package/dist/vef-button/index.js +1 -1
  29. package/dist/vef-card/index.js +1 -1
  30. package/dist/vef-card-meta/index.js +1 -1
  31. package/dist/vef-checkbox/hooks/use-checkbox-instance.js +1 -1
  32. package/dist/vef-checkbox/hooks/use-data-options.d.ts +1 -1
  33. package/dist/vef-checkbox/hooks/use-data-options.js +1 -1
  34. package/dist/vef-checkbox/index.js +1 -1
  35. package/dist/vef-col/index.js +1 -1
  36. package/dist/vef-color-picker/index.js +1 -1
  37. package/dist/vef-compact/index.js +1 -1
  38. package/dist/vef-config-provider/hooks/use-ui-config.d.ts +3 -5
  39. package/dist/vef-config-provider/hooks/use-ui-config.js +2 -2
  40. package/dist/vef-config-provider/index.js +15 -23
  41. package/dist/vef-config-provider/reset-style.js +1 -1
  42. package/dist/vef-config-provider/store.d.ts +14 -9
  43. package/dist/vef-config-provider/store.js +2 -2
  44. package/dist/vef-container/index.js +1 -1
  45. package/dist/vef-crud-page/components/crud-actions.js +1 -1
  46. package/dist/vef-crud-page/components/crud-filter.js +1 -1
  47. package/dist/vef-crud-page/components/crud-footer.js +4 -4
  48. package/dist/vef-crud-page/components/crud-form-modal.js +1 -1
  49. package/dist/vef-crud-page/components/crud-header.js +1 -1
  50. package/dist/vef-crud-page/components/crud-table.d.ts +2 -2
  51. package/dist/vef-crud-page/components/crud-table.js +2 -2
  52. package/dist/vef-crud-page/hooks/use-action-buttons.js +2 -2
  53. package/dist/vef-crud-page/hooks/use-crud-context.js +1 -1
  54. package/dist/vef-crud-page/hooks/use-crud-schema.d.ts +2 -2
  55. package/dist/vef-crud-page/hooks/use-crud-schema.js +1 -1
  56. package/dist/vef-crud-page/hooks/use-operation-buttons.js +2 -2
  57. package/dist/vef-crud-page/index.d.ts +3 -3
  58. package/dist/vef-crud-page/index.js +1 -1
  59. package/dist/vef-crud-page/props.d.ts +1 -1
  60. package/dist/vef-crud-page/store.js +1 -1
  61. package/dist/vef-divider/index.js +2 -2
  62. package/dist/vef-divider/props.d.ts +3 -3
  63. package/dist/vef-drawer/components/action-button-wrapper.d.ts +1 -2
  64. package/dist/vef-drawer/components/action-button-wrapper.js +1 -1
  65. package/dist/vef-drawer/components/button-props.js +1 -1
  66. package/dist/vef-drawer/components/cancel-action-button.js +1 -1
  67. package/dist/vef-drawer/components/ok-action-button.js +2 -2
  68. package/dist/vef-drawer/context.js +1 -1
  69. package/dist/vef-drawer/index.js +1 -1
  70. package/dist/vef-dropdown/index.d.ts +4 -1
  71. package/dist/vef-dropdown/index.js +2 -2
  72. package/dist/vef-dropdown/props.d.ts +28 -35
  73. package/dist/vef-dynamic-icon/index.d.ts +5 -0
  74. package/dist/vef-dynamic-icon/index.js +3 -0
  75. package/dist/vef-dynamic-icon/props.d.ts +20 -0
  76. package/dist/vef-dynamic-icon/props.js +3 -0
  77. package/dist/vef-empty/index.d.ts +1 -1
  78. package/dist/vef-empty/index.js +2 -2
  79. package/dist/vef-empty/props.d.ts +16 -1
  80. package/dist/vef-empty-placeholder/index.js +5 -5
  81. package/dist/vef-error/error-icon.d.ts +1 -1
  82. package/dist/vef-error/error-icon.js +1 -1
  83. package/dist/vef-error/index.js +1 -1
  84. package/dist/vef-filter/components/action-buttons.js +7 -7
  85. package/dist/vef-filter/components/advanced-filter.js +4 -4
  86. package/dist/vef-filter/components/basic-filter.js +1 -1
  87. package/dist/vef-filter/components/fields/index.js +1 -1
  88. package/dist/vef-filter/components/fields/input-number.js +1 -1
  89. package/dist/vef-filter/components/fields/input.js +1 -1
  90. package/dist/vef-filter/components/filter-field.js +1 -1
  91. package/dist/vef-filter/components/filter-item.d.ts +1 -1
  92. package/dist/vef-filter/components/filter-item.js +1 -1
  93. package/dist/vef-filter/event.js +1 -1
  94. package/dist/vef-filter/helper.js +1 -1
  95. package/dist/vef-filter/hooks/use-action-handlers.js +1 -1
  96. package/dist/vef-filter/hooks/use-computed-values.js +1 -1
  97. package/dist/vef-filter/hooks/use-filter-context.js +1 -1
  98. package/dist/vef-filter/hooks/use-filter-initialization.d.ts +1 -1
  99. package/dist/vef-filter/hooks/use-filter-initialization.js +1 -1
  100. package/dist/vef-filter/hooks/use-filter-instance.js +1 -1
  101. package/dist/vef-filter/hooks/use-filter-items.js +1 -1
  102. package/dist/vef-filter/hooks/use-filter-values-change.d.ts +1 -1
  103. package/dist/vef-filter/hooks/use-filter-values-change.js +1 -1
  104. package/dist/vef-filter/hooks/use-label-config.js +1 -1
  105. package/dist/vef-filter/index.d.ts +3 -4
  106. package/dist/vef-filter/index.js +1 -1
  107. package/dist/vef-filter/props.d.ts +2 -3
  108. package/dist/vef-filter/store.d.ts +1 -1
  109. package/dist/vef-filter/store.js +1 -1
  110. package/dist/vef-flex/index.js +1 -1
  111. package/dist/vef-float-button/index.js +1 -1
  112. package/dist/vef-float-button-group/index.js +1 -1
  113. package/dist/vef-form/components/fields/index.js +1 -1
  114. package/dist/vef-form/components/fields/input-number.js +1 -1
  115. package/dist/vef-form/components/fields/input.js +1 -1
  116. package/dist/vef-form/components/form-actions.js +1 -1
  117. package/dist/vef-form/components/form-content.d.ts +6 -1
  118. package/dist/vef-form/components/form-content.js +4 -4
  119. package/dist/vef-form/components/form-field.js +1 -1
  120. package/dist/vef-form/components/form-group.d.ts +3 -3
  121. package/dist/vef-form/components/form-group.js +1 -1
  122. package/dist/vef-form/components/form-hidden-item.js +1 -1
  123. package/dist/vef-form/components/form-item.d.ts +1 -1
  124. package/dist/vef-form/components/form-item.js +1 -1
  125. package/dist/vef-form/components/form-row.d.ts +2 -2
  126. package/dist/vef-form/components/form-row.js +1 -1
  127. package/dist/vef-form/event.js +1 -1
  128. package/dist/vef-form/helper.js +1 -1
  129. package/dist/vef-form/hooks/use-action-handlers.js +1 -1
  130. package/dist/vef-form/hooks/use-columns-layout.d.ts +2 -2
  131. package/dist/vef-form/hooks/use-columns-layout.js +1 -1
  132. package/dist/vef-form/hooks/use-computed-values.js +1 -1
  133. package/dist/vef-form/hooks/use-form-context.js +1 -1
  134. package/dist/vef-form/hooks/use-form-initialization.d.ts +1 -1
  135. package/dist/vef-form/hooks/use-form-initialization.js +1 -1
  136. package/dist/vef-form/hooks/use-form-instance.js +1 -1
  137. package/dist/vef-form/hooks/use-form-values-change.d.ts +1 -1
  138. package/dist/vef-form/hooks/use-form-values-change.js +1 -1
  139. package/dist/vef-form/hooks/use-label-width.js +1 -1
  140. package/dist/vef-form/index.d.ts +3 -4
  141. package/dist/vef-form/index.js +4 -4
  142. package/dist/vef-form/props.d.ts +3 -4
  143. package/dist/vef-form/store.js +1 -1
  144. package/dist/vef-form/types.d.ts +10 -10
  145. package/dist/vef-form/validation-rules.d.ts +1 -1
  146. package/dist/vef-form/validation-rules.js +1 -1
  147. package/dist/vef-form-drawer/index.d.ts +2 -2
  148. package/dist/vef-form-drawer/index.js +1 -1
  149. package/dist/vef-form-modal/index.d.ts +2 -2
  150. package/dist/vef-form-modal/index.js +1 -1
  151. package/dist/vef-generic-select/index.d.ts +4 -0
  152. package/dist/vef-generic-select/index.js +3 -0
  153. package/dist/vef-generic-select/props.d.ts +60 -0
  154. package/dist/vef-grid/index.js +1 -1
  155. package/dist/vef-grid/props.js +1 -1
  156. package/dist/vef-grid-item/index.js +1 -1
  157. package/dist/vef-icon/index.js +2 -2
  158. package/dist/vef-icon/props.d.ts +6 -2
  159. package/dist/vef-icon-select/index.d.ts +5 -0
  160. package/dist/vef-icon-select/index.js +42 -0
  161. package/dist/vef-icon-select/props.d.ts +43 -0
  162. package/dist/vef-input/hooks/use-input-instance.js +2 -2
  163. package/dist/vef-input/index.js +1 -1
  164. package/dist/vef-input/props.d.ts +8 -0
  165. package/dist/vef-input-number/hooks/use-input-number-instance.js +1 -1
  166. package/dist/vef-input-number/index.js +1 -1
  167. package/dist/vef-layout/components/content.d.ts +3 -0
  168. package/dist/vef-layout/components/content.js +3 -0
  169. package/dist/vef-layout/components/font-size.d.ts +3 -0
  170. package/dist/vef-layout/components/font-size.js +6 -0
  171. package/dist/vef-layout/components/fullscreen.d.ts +3 -0
  172. package/dist/vef-layout/components/fullscreen.js +6 -0
  173. package/dist/vef-layout/components/header-action-icons.d.ts +3 -0
  174. package/dist/vef-layout/components/header-action-icons.js +17 -0
  175. package/dist/vef-layout/components/header-content.d.ts +3 -0
  176. package/dist/vef-layout/components/header-content.js +8 -0
  177. package/dist/vef-layout/components/header.d.ts +2 -0
  178. package/dist/vef-layout/components/header.js +14 -0
  179. package/dist/vef-layout/components/sider.d.ts +13 -0
  180. package/dist/vef-layout/components/sider.js +51 -0
  181. package/dist/vef-layout/components/title.d.ts +16 -0
  182. package/dist/vef-layout/components/title.js +38 -0
  183. package/dist/vef-layout/components/user-avatar.d.ts +3 -0
  184. package/dist/vef-layout/components/user-avatar.js +20 -0
  185. package/dist/vef-layout/index.d.ts +4 -0
  186. package/dist/vef-layout/index.js +7 -0
  187. package/dist/vef-layout/logo.svg.js +3 -0
  188. package/dist/vef-layout/props.d.ts +19 -0
  189. package/dist/vef-layout/store.d.ts +16 -0
  190. package/dist/vef-layout/store.js +3 -0
  191. package/dist/vef-loading-placeholder/index.js +1 -1
  192. package/dist/vef-login/index.js +11 -8
  193. package/dist/vef-login/login-icon.d.ts +1 -1
  194. package/dist/vef-login/login-icon.js +1 -1
  195. package/dist/vef-menu/index.d.ts +5 -0
  196. package/dist/vef-menu/index.js +3 -0
  197. package/dist/vef-menu/props.d.ts +74 -0
  198. package/dist/vef-modal/components/action-button-wrapper.d.ts +1 -2
  199. package/dist/vef-modal/components/action-button-wrapper.js +1 -1
  200. package/dist/vef-modal/components/button-props.js +1 -1
  201. package/dist/vef-modal/components/cancel-action-button.js +1 -1
  202. package/dist/vef-modal/components/ok-action-button.js +2 -2
  203. package/dist/vef-modal/context.js +1 -1
  204. package/dist/vef-modal/index.js +3 -3
  205. package/dist/vef-not-found/index.js +1 -1
  206. package/dist/vef-not-found/not-found-icon.d.ts +1 -1
  207. package/dist/vef-not-found/not-found-icon.js +1 -1
  208. package/dist/vef-page/index.js +3 -3
  209. package/dist/vef-pagination/index.js +1 -1
  210. package/dist/vef-pagination/props.js +1 -1
  211. package/dist/vef-paragraph/index.js +1 -1
  212. package/dist/vef-password/hooks/use-password-instance.js +1 -1
  213. package/dist/vef-password/index.js +1 -1
  214. package/dist/vef-popconfirm/index.d.ts +1 -2
  215. package/dist/vef-popconfirm/index.js +2 -2
  216. package/dist/vef-popconfirm/props.d.ts +12 -4
  217. package/dist/vef-popover/index.d.ts +1 -2
  218. package/dist/vef-popover/index.js +2 -2
  219. package/dist/vef-popover/props.d.ts +14 -1
  220. package/dist/vef-radio/hooks/use-data-options.d.ts +1 -1
  221. package/dist/vef-radio/hooks/use-data-options.js +1 -1
  222. package/dist/vef-radio/hooks/use-radio-instance.js +1 -1
  223. package/dist/vef-radio/index.js +1 -1
  224. package/dist/vef-rate/hooks/use-rate-instance.js +1 -1
  225. package/dist/vef-rate/index.js +1 -1
  226. package/dist/vef-responsive-container/index.d.ts +1 -1
  227. package/dist/vef-responsive-container/index.js +1 -1
  228. package/dist/vef-responsive-item/index.d.ts +1 -1
  229. package/dist/vef-responsive-item/index.js +1 -1
  230. package/dist/vef-ribbon/index.js +1 -1
  231. package/dist/vef-row/index.js +1 -1
  232. package/dist/vef-scroll-area/components/scrollbar.js +1 -1
  233. package/dist/vef-scroll-area/index.js +7 -4
  234. package/dist/vef-scroll-area/props.d.ts +26 -2
  235. package/dist/vef-select/components/option.js +1 -1
  236. package/dist/vef-select/hooks/use-data-options.d.ts +2 -2
  237. package/dist/vef-select/hooks/use-data-options.js +1 -1
  238. package/dist/vef-select/hooks/use-field-names.js +1 -1
  239. package/dist/vef-select/hooks/{use-label-render.d.ts → use-render-label.d.ts} +3 -3
  240. package/dist/vef-select/hooks/{use-label-render.js → use-render-label.js} +2 -2
  241. package/dist/vef-select/hooks/use-render-option.d.ts +11 -0
  242. package/dist/vef-select/hooks/{use-option-render.js → use-render-option.js} +2 -2
  243. package/dist/vef-select/hooks/use-select-instance.js +1 -1
  244. package/dist/vef-select/index.js +2 -2
  245. package/dist/vef-select/props.d.ts +4 -3
  246. package/dist/vef-slider/hooks/use-slider-instance.js +1 -1
  247. package/dist/vef-slider/index.js +1 -1
  248. package/dist/vef-sortable-list/components/overlay-item.js +1 -1
  249. package/dist/vef-sortable-list/components/sortable-item.js +1 -1
  250. package/dist/vef-sortable-list/hooks/use-merged-items.d.ts +1 -1
  251. package/dist/vef-sortable-list/hooks/use-merged-items.js +1 -1
  252. package/dist/vef-sortable-list/index.d.ts +2 -2
  253. package/dist/vef-sortable-list/index.js +2 -2
  254. package/dist/vef-sortable-list/props.d.ts +3 -3
  255. package/dist/vef-space/index.js +1 -1
  256. package/dist/vef-spin/index.js +1 -1
  257. package/dist/vef-splitter/index.js +2 -2
  258. package/dist/vef-splitter/props.d.ts +3 -3
  259. package/dist/vef-splitter-panel/index.js +1 -1
  260. package/dist/vef-status/index.js +1 -1
  261. package/dist/vef-table/components/columns/bool.js +2 -2
  262. package/dist/vef-table/components/columns/code.js +1 -1
  263. package/dist/vef-table/components/columns/data-dictionary.js +2 -2
  264. package/dist/vef-table/components/columns/enum.js +2 -2
  265. package/dist/vef-table/components/columns/file.js +1 -1
  266. package/dist/vef-table/components/columns/icon.js +1 -1
  267. package/dist/vef-table/components/columns/id.js +1 -1
  268. package/dist/vef-table/components/columns/image.js +1 -1
  269. package/dist/vef-table/components/columns/index.js +1 -1
  270. package/dist/vef-table/components/columns/markdown.js +1 -1
  271. package/dist/vef-table/components/columns/number.js +1 -1
  272. package/dist/vef-table/components/columns/render.js +1 -1
  273. package/dist/vef-table/components/columns/rich-text.js +1 -1
  274. package/dist/vef-table/components/columns/text.js +1 -1
  275. package/dist/vef-table/components/columns-settings.js +2 -2
  276. package/dist/vef-table/components/operation-buttons.js +2 -2
  277. package/dist/vef-table/components/settings-icon.js +4 -4
  278. package/dist/vef-table/components/table-footer.js +1 -1
  279. package/dist/vef-table/helper.js +1 -1
  280. package/dist/vef-table/hooks/use-computed-batch-buttons.js +1 -1
  281. package/dist/vef-table/hooks/use-computed-columns.js +1 -1
  282. package/dist/vef-table/hooks/use-computed-values.js +1 -1
  283. package/dist/vef-table/hooks/use-data.d.ts +1 -1
  284. package/dist/vef-table/hooks/use-data.js +2 -2
  285. package/dist/vef-table/hooks/use-default-column-configs.js +1 -1
  286. package/dist/vef-table/hooks/use-display-value.js +1 -1
  287. package/dist/vef-table/hooks/use-helper-columns.d.ts +1 -1
  288. package/dist/vef-table/hooks/use-helper-columns.js +1 -1
  289. package/dist/vef-table/hooks/use-operation-column-width.d.ts +1 -1
  290. package/dist/vef-table/hooks/use-operation-column-width.js +1 -1
  291. package/dist/vef-table/hooks/use-pagination-props.js +1 -1
  292. package/dist/vef-table/hooks/use-row-props.js +2 -2
  293. package/dist/vef-table/hooks/use-row-selection-config.d.ts +3 -3
  294. package/dist/vef-table/hooks/use-row-selection-config.js +2 -2
  295. package/dist/vef-table/hooks/use-selected-rows.d.ts +10 -0
  296. package/dist/vef-table/hooks/use-selected-rows.js +3 -0
  297. package/dist/vef-table/hooks/use-table-columns.d.ts +1 -1
  298. package/dist/vef-table/hooks/use-table-columns.js +1 -1
  299. package/dist/vef-table/hooks/use-table-context.d.ts +1 -1
  300. package/dist/vef-table/hooks/use-table-context.js +1 -1
  301. package/dist/vef-table/hooks/use-table-instance.js +1 -1
  302. package/dist/vef-table/hooks/use-table-summary.d.ts +1 -1
  303. package/dist/vef-table/hooks/use-table-summary.js +1 -1
  304. package/dist/vef-table/hooks/use-table-width.js +1 -1
  305. package/dist/vef-table/index.d.ts +2 -2
  306. package/dist/vef-table/index.js +3 -3
  307. package/dist/vef-table/props.d.ts +15 -193
  308. package/dist/vef-table/store.d.ts +2 -2
  309. package/dist/vef-table/store.js +2 -2
  310. package/dist/vef-tabs/index.js +1 -1
  311. package/dist/vef-tag/index.js +1 -1
  312. package/dist/vef-temporal-picker/helper.js +1 -1
  313. package/dist/vef-temporal-picker/hooks/use-dayjs-value.d.ts +1 -1
  314. package/dist/vef-temporal-picker/hooks/use-dayjs-value.js +1 -1
  315. package/dist/vef-temporal-picker/hooks/use-temporal-limit.js +1 -1
  316. package/dist/vef-temporal-picker/hooks/use-temporal-picker-instance.js +1 -1
  317. package/dist/vef-temporal-picker/index.js +1 -1
  318. package/dist/vef-temporal-range-picker/helper.js +1 -1
  319. package/dist/vef-temporal-range-picker/hooks/use-dayjs-values.d.ts +1 -1
  320. package/dist/vef-temporal-range-picker/hooks/use-dayjs-values.js +1 -1
  321. package/dist/vef-temporal-range-picker/hooks/use-temporal-limit.js +1 -1
  322. package/dist/vef-temporal-range-picker/hooks/use-temporal-range-picker-instance.js +1 -1
  323. package/dist/vef-temporal-range-picker/index.js +1 -1
  324. package/dist/vef-temporal-range-picker/props.js +1 -1
  325. package/dist/vef-text/index.js +1 -1
  326. package/dist/vef-textarea/hooks/use-textarea-instance.js +1 -1
  327. package/dist/vef-textarea/index.js +1 -1
  328. package/dist/vef-title/index.js +2 -2
  329. package/dist/vef-tooltip/index.d.ts +1 -2
  330. package/dist/vef-tooltip/index.js +2 -2
  331. package/dist/vef-tooltip/props.d.ts +14 -1
  332. package/dist/vef-tree-select/hooks/use-change-handler.d.ts +1 -1
  333. package/dist/vef-tree-select/hooks/use-change-handler.js +1 -1
  334. package/dist/vef-tree-select/hooks/use-data-options.d.ts +1 -1
  335. package/dist/vef-tree-select/hooks/use-data-options.js +1 -1
  336. package/dist/vef-tree-select/hooks/use-tree-select-instance.js +1 -1
  337. package/dist/vef-tree-select/index.js +1 -1
  338. package/dist/vef-virtual-grid/index.d.ts +6 -0
  339. package/dist/vef-virtual-grid/index.js +14 -0
  340. package/dist/vef-virtual-grid/props.d.ts +83 -0
  341. package/dist/vef-virtual-list/index.d.ts +6 -0
  342. package/dist/vef-virtual-list/index.js +20 -0
  343. package/dist/vef-virtual-list/props.d.ts +111 -0
  344. package/package.json +19 -20
  345. package/dist/vef-config-provider/fonts/din/bold.woff2.js +0 -3
  346. package/dist/vef-config-provider/fonts/din/regular.woff2.js +0 -3
  347. package/dist/vef-select/hooks/use-option-render.d.ts +0 -11
  348. package/dist/vef-table/hooks/use-merged-value.d.ts +0 -10
  349. package/dist/vef-table/hooks/use-merged-value.js +0 -3
@@ -0,0 +1,83 @@
1
+ import type { GapType, Mapper, StyleProps } from "@vef-framework/shared";
2
+ import type { CSSProperties, ReactNode } from "react";
3
+ /**
4
+ * The virtual item.
5
+ */
6
+ export interface VirtualGridItem<T> {
7
+ /**
8
+ * The item.
9
+ */
10
+ item: T;
11
+ /**
12
+ * The row index.
13
+ */
14
+ rowIndex: number;
15
+ /**
16
+ * The column index.
17
+ */
18
+ columnIndex: number;
19
+ }
20
+ /**
21
+ * The base props of the VefVirtualGrid component.
22
+ */
23
+ interface VefBaseVirtualGridProps<T> extends StyleProps {
24
+ /**
25
+ * The class name of the item.
26
+ */
27
+ itemClassName?: string;
28
+ /**
29
+ * The style of the item.
30
+ */
31
+ itemStyle?: CSSProperties;
32
+ /**
33
+ * The items to render.
34
+ */
35
+ items: T[][];
36
+ /**
37
+ * The height of the row.
38
+ */
39
+ rowHeight: number | Mapper<number, number>;
40
+ /**
41
+ * The width of the column.
42
+ */
43
+ columnWidth: number | Mapper<number, number>;
44
+ /**
45
+ * The gap between the items.
46
+ */
47
+ gap?: GapType<number>;
48
+ /**
49
+ * The function to render an item.
50
+ */
51
+ renderItem: Mapper<VirtualGridItem<T>, ReactNode>;
52
+ }
53
+ /**
54
+ * The props of the VefVirtualGrid component with fixed size.
55
+ */
56
+ interface VefFixedSizeVirtualGridProps<T> extends VefBaseVirtualGridProps<T> {
57
+ /**
58
+ * Whether the size of the virtual grid is auto.
59
+ */
60
+ autoSize?: false;
61
+ /**
62
+ * The height of the virtual grid.
63
+ */
64
+ height: number;
65
+ /**
66
+ * The width of the virtual grid.
67
+ */
68
+ width: number;
69
+ }
70
+ /**
71
+ * The props of the VefVirtualGrid component with auto size.
72
+ */
73
+ interface VefAutoSizeVirtualGridProps<T> extends VefBaseVirtualGridProps<T> {
74
+ /**
75
+ * Whether the size of the virtual grid is auto.
76
+ */
77
+ autoSize: true;
78
+ }
79
+ /**
80
+ * The props of the VefVirtualGrid component.
81
+ */
82
+ export type VefVirtualGridProps<T> = VefFixedSizeVirtualGridProps<T> | VefAutoSizeVirtualGridProps<T>;
83
+ export {};
@@ -0,0 +1,6 @@
1
+ import { type FC } from "react";
2
+ import type { VefVirtualListProps, VirtualListItem } from "./props";
3
+ declare function VefVirtualListBase<T>({ className, style, items, renderItem, itemClassName, itemStyle, itemSize, autoItemSize, gap, lanes, itemKey, ...restProps }: VefVirtualListProps<T>): import("@emotion/react/jsx-runtime").JSX.Element;
4
+ declare const VefVirtualList: typeof VefVirtualListBase & Pick<FC, "displayName">;
5
+ export type { VefVirtualListProps, VirtualListItem };
6
+ export default VefVirtualList;
@@ -0,0 +1,20 @@
1
+ /*! VefFramework version: 1.0.9, build time: 2024-12-19T05:12:56.660Z, made by Venus. */
2
+ import{jsx as t}from"@emotion/react/jsx-runtime";import{css as i}from"@emotion/react";import{useVirtualizer as e}from"@tanstack/react-virtual";import{useNormalizedGapSize as l}from"@vef-framework/hooks";import{isFunction as a}from"@vef-framework/shared";import{useMemo as r,memo as s,useRef as o,createElement as v}from"react";import m from"../vef-auto-sizer/index.js";import n from"../vef-scroll-area/index.js";const f={willChange:"transform"},h=i`
3
+ position: relative;
4
+ width: var(--vef-virtual-list-width, auto);
5
+ height: var(--vef-virtual-list-height, auto);
6
+ `,u=i`
7
+ position: absolute;
8
+ top: var(--vef-virtual-list-item-top, 0);
9
+ left: var(--vef-virtual-list-item-left, 0);
10
+ width: var(--vef-virtual-list-item-width, auto);
11
+ height: var(--vef-virtual-list-item-height, auto);
12
+ transform: translateX(var(--vef-virtual-list-item-x, 0)) translateY(var(--vef-virtual-list-item-y, 0));
13
+ `,d=i`
14
+ position: absolute;
15
+ top: 0;
16
+ left: 0;
17
+ width: 100%;
18
+ transform: translateY(var(--vef-virtual-list-frame-y, 0));
19
+ `;const c=s((function({className:i,style:c,items:p,renderItem:x,itemClassName:g,itemStyle:y,itemSize:w,autoItemSize:z=!1,gap:S=0,lanes:$=1,itemKey:N,...k}){const b=r((()=>s(x)),[x]),I=r((()=>{if(a(N))return t=>N({index:t,item:p[t]})}),[N,p]),j=r((()=>a(w)?t=>w({index:t,item:p[t]}):()=>w),[w,p]),T=l(S),V=o(null),{orientation:C}=k,E=e({horizontal:"horizontal"===C,count:p.length,getScrollElement:()=>V.current,estimateSize:j,overscan:2,getItemKey:I,gap:T,lanes:$}),K=E.getVirtualItems(),R=100/$,Y=r((()=>"horizontal"===C?{"--vef-virtual-list-width":`${E.getTotalSize()}px`,"--vef-virtual-list-height":"100%"}:{"--vef-virtual-list-height":`${E.getTotalSize()}px`,"--vef-virtual-list-width":"100%"}),[C,E.getTotalSize()]),H=r((()=>z&&"horizontal"!==C?{...f,contain:"strict"}:f),[z,C]),L=(e,l)=>t(n,z?{className:i,height:e,scrollbarSize:"small",style:c,viewportRef:V,viewportStyle:H,width:l,children:t("div",{css:h,style:Y,children:"horizontal"===C?K.map((({index:i,key:e,start:l})=>t("div",{className:g,css:u,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:v(b,{index:i,item:p[i]})},e))):t("div",{css:d,style:{"--vef-virtual-list-frame-y":`${K[0]?.start??0}px`},children:K.map((({index:i,key:e})=>t("div",{ref:E.measureElement,className:g,"data-index":i,style:y,children:v(b,{index:i,item:p[i]})},e)))})})}:{className:i,height:e,scrollbarSize:"small",style:c,viewportRef:V,viewportStyle:H,width:l,children:t("div",{css:h,style:Y,children:K.map((({index:i,key:e,size:l,start:a,lane:r})=>t("div",{className:g,css:u,style:"horizontal"===C?{"--vef-virtual-list-item-top":0===r?0:r*R+"%","--vef-virtual-list-item-left":0,"--vef-virtual-list-item-width":`${l}px`,"--vef-virtual-list-item-height":`${R}%`,"--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===r?0:r*R+"%","--vef-virtual-list-item-width":`${R}%`,"--vef-virtual-list-item-height":`${l}px`,"--vef-virtual-list-item-x":0,"--vef-virtual-list-item-y":`${a}px`},children:v(b,{index:i,item:p[i]})},e)))})});return k.autoSize?"horizontal"===k.orientation?t(m,{disableHeight:!0,children:({width:t})=>L("100%",t)}):t(m,{disableWidth:!0,children:({height:t})=>L(t,"100%")}):"horizontal"===k.orientation?L("100%",k.width):L(k.height,"100%")}));c.displayName="VefVirtualList";export{c as default};
20
+ /*! VefFramework is a blazingly high-level, modern, flexible, easy-to-use UI framework made by Venus. Follow me on Github: https://github.com/ilxqx! @ilxqx */
@@ -0,0 +1,111 @@
1
+ import type { GapSize, KeyValue, Mapper, Orientation, StyleProps } from "@vef-framework/shared";
2
+ import type { CSSProperties, ReactNode } from "react";
3
+ /**
4
+ * The item of the virtual list.
5
+ */
6
+ export interface VirtualListItem<T> {
7
+ /**
8
+ * The index of the item.
9
+ */
10
+ index: number;
11
+ /**
12
+ * The data of the item.
13
+ */
14
+ item: T;
15
+ }
16
+ /**
17
+ * The base props of the VefVirtualList component.
18
+ */
19
+ interface VefBaseVirtualListProps<T> extends StyleProps {
20
+ /**
21
+ * The class name of the item.
22
+ */
23
+ itemClassName?: string;
24
+ /**
25
+ * The style of the item.
26
+ */
27
+ itemStyle?: CSSProperties;
28
+ /**
29
+ * The items to render.
30
+ */
31
+ items: T[];
32
+ /**
33
+ * The function to render an item.
34
+ */
35
+ renderItem: Mapper<VirtualListItem<T>, ReactNode>;
36
+ /**
37
+ * The size of the item.
38
+ */
39
+ itemSize: number | Mapper<VirtualListItem<T>, number>;
40
+ /**
41
+ * Whether the item size is auto.
42
+ */
43
+ autoItemSize?: boolean;
44
+ /**
45
+ * The gap of the list.
46
+ */
47
+ gap?: GapSize<number>;
48
+ /**
49
+ * The number of lanes.
50
+ * @default 1
51
+ */
52
+ lanes?: number;
53
+ /**
54
+ * The key of the item.
55
+ */
56
+ itemKey?: Mapper<VirtualListItem<T>, KeyValue>;
57
+ /**
58
+ * The orientation of the list.
59
+ * @default "vertical"
60
+ */
61
+ orientation?: Orientation;
62
+ }
63
+ /**
64
+ * The props of the VefVirtualList component with fixed size.
65
+ */
66
+ interface VefFixedSizeVirtualListProps<T> extends VefBaseVirtualListProps<T> {
67
+ /**
68
+ * Whether the size is auto.
69
+ */
70
+ autoSize?: false;
71
+ }
72
+ /**
73
+ * The props of the VefVirtualList component with fixed size and horizontal orientation.
74
+ */
75
+ interface VefHorizontalFixedSizeVirtualListProps<T> extends VefFixedSizeVirtualListProps<T> {
76
+ /**
77
+ * The orientation of the list.
78
+ */
79
+ orientation: "horizontal";
80
+ /**
81
+ * The width of the list.
82
+ */
83
+ width: number;
84
+ }
85
+ /**
86
+ * The props of the VefVirtualList component with fixed size and vertical orientation.
87
+ */
88
+ interface VefVerticalFixedSizeVirtualListProps<T> extends VefFixedSizeVirtualListProps<T> {
89
+ /**
90
+ * The orientation of the list.
91
+ */
92
+ orientation?: "vertical";
93
+ /**
94
+ * The height of the list.
95
+ */
96
+ height: number;
97
+ }
98
+ /**
99
+ * The props of the VefVirtualList component with auto size.
100
+ */
101
+ interface VefAutoSizeVirtualListProps<T> extends VefBaseVirtualListProps<T> {
102
+ /**
103
+ * Whether the size is auto.
104
+ */
105
+ autoSize: true;
106
+ }
107
+ /**
108
+ * The props of the VefVirtualList component.
109
+ */
110
+ export type VefVirtualListProps<T> = VefVerticalFixedSizeVirtualListProps<T> | VefHorizontalFixedSizeVirtualListProps<T> | VefAutoSizeVirtualListProps<T>;
111
+ export {};
package/package.json CHANGED
@@ -1,8 +1,9 @@
1
1
  {
2
2
  "name": "@vef-framework/components",
3
3
  "type": "module",
4
- "version": "1.0.7",
4
+ "version": "1.0.9",
5
5
  "private": false,
6
+ "packageManager": "pnpm@9.15.0",
6
7
  "description": "Components fundamental to the VEF framework",
7
8
  "author": "Venus",
8
9
  "keywords": [
@@ -18,40 +19,38 @@
18
19
  "engines": {
19
20
  "node": ">=20"
20
21
  },
21
- "scripts": {
22
- "build": "pnpm clean && tsx build.ts",
23
- "clean": "rimraf dist"
24
- },
25
- "peerDependencies": {
26
- "react": "18.3.1",
27
- "react-dom": "18.3.1",
28
- "zustand": "5.0.1"
29
- },
30
22
  "dependencies": {
31
- "@emotion/cache": "11.13.5",
32
- "@emotion/react": "11.13.5",
33
- "@emotion/styled": "11.13.5",
34
- "antd": "5.22.3",
23
+ "@emotion/cache": "11.14.0",
24
+ "@emotion/react": "11.14.0",
25
+ "@emotion/styled": "11.14.0",
26
+ "antd": "5.22.4",
35
27
  "tslib": "2.8.1",
36
28
  "use-sync-external-store": "^1.4.0",
37
29
  "@ant-design/icons": "5.5.2",
38
- "@dnd-kit/core": "6.2.0",
30
+ "@dnd-kit/core": "6.3.1",
39
31
  "@dnd-kit/modifiers": "9.0.0",
40
32
  "@dnd-kit/sortable": "10.0.0",
41
33
  "@dnd-kit/utilities": "3.2.2",
42
34
  "@radix-ui/react-scroll-area": "1.2.1",
43
- "@vef-framework/core": "1.0.7",
44
- "@vef-framework/hooks": "1.0.7",
45
- "@vef-framework/shared": "1.0.7",
35
+ "@tanstack/react-virtual": "3.11.1",
36
+ "@vef-framework/core": "1.0.9",
37
+ "@vef-framework/hooks": "1.0.9",
38
+ "@vef-framework/shared": "1.0.9",
46
39
  "clsx": "2.1.1",
47
40
  "dayjs": "1.11.13",
48
41
  "lucide-react": "^0.468.0",
49
- "motion": "11.12.0",
42
+ "motion": "11.14.0",
50
43
  "polished": "4.3.1",
51
44
  "react-container-query": "0.13.0",
52
- "react-error-boundary": "4.1.2"
45
+ "react-error-boundary": "4.1.2",
46
+ "react-virtualized-auto-sizer": "1.0.24"
53
47
  },
54
48
  "publishConfig": {
55
49
  "access": "public"
50
+ },
51
+ "peerDependencies": {
52
+ "react": ">=18.0.0",
53
+ "react-dom": ">=18.0.0",
54
+ "zustand": ">=5.0.0"
56
55
  }
57
56
  }
@@ -1,3 +0,0 @@
1
- /*! VefFramework version: 1.0.7, build time: 2024-12-10T13:48:48.540Z, made by Venus. */
2
- const A="data:font/woff2;base64,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";export{A as default};
3
- /*! VefFramework is a blazingly high-level, modern, flexible, easy-to-use UI framework made by Venus. Follow me on Github: https://github.com/ilxqx! @ilxqx */
@@ -1,3 +0,0 @@
1
- /*! VefFramework version: 1.0.7, build time: 2024-12-10T13:48:48.540Z, made by Venus. */
2
- const A="data:font/woff2;base64,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";export{A as default};
3
- /*! VefFramework is a blazingly high-level, modern, flexible, easy-to-use UI framework made by Venus. Follow me on Github: https://github.com/ilxqx! @ilxqx */
@@ -1,11 +0,0 @@
1
- import type { DataOption, MaybeArray, NormalizedDataOption, PureDataOption } from "@vef-framework/shared";
2
- import type { SelectProps } from "antd";
3
- import type { VefSelectProps } from "../props";
4
- type OptionRender<T extends DataOption<T>> = NonNullable<SelectProps<MaybeArray<string>, NormalizedDataOption<T>>["optionRender"]>;
5
- /**
6
- * The hook to get the option render.
7
- *
8
- * @param optionRender - The option render.
9
- */
10
- export declare function useOptionRender<T extends DataOption<T> = PureDataOption>(optionRender: VefSelectProps<T>["optionRender"]): OptionRender<T>;
11
- export {};
@@ -1,10 +0,0 @@
1
- import type { IdValue, ObjectType } from "@vef-framework/shared";
2
- import type { VefTableProps } from "../props";
3
- /**
4
- * The hook to merge the controlled and uncontrolled value.
5
- */
6
- export declare function useMergedValue<T extends ObjectType>({ value, defaultValue, multipleSelection, onChange, }: Pick<VefTableProps<T>, "value" | "defaultValue" | "multipleSelection" | "onChange">): {
7
- mergedValue: string[];
8
- mergedOnChange: (value: IdValue[], records: T[]) => void;
9
- selectedRecords: import("react").MutableRefObject<T[]>;
10
- };
@@ -1,3 +0,0 @@
1
- /*! VefFramework version: 1.0.7, build time: 2024-12-10T13:48:48.540Z, made by Venus. */
2
- import{isArray as e}from"@vef-framework/shared";import{useState as r,useMemo as o,useRef as t,useCallback as n}from"react";function a({value:a,defaultValue:l,multipleSelection:m,onChange:u}){const[c,d]=r((()=>e(l)?l:l?[l]:[])),f=o((()=>e(a)?a:a?[a]:void 0),[a]),i=o((()=>f??c),[f,c]),g=t([]);return{mergedValue:i,mergedOnChange:n(((e,r)=>{f||d(e),g.current=r,u?.(m?e:e[0],m?r:r[0])}),[m,f,u]),selectedRecords:g}}export{a as useMergedValue};
3
- /*! VefFramework is a blazingly high-level, modern, flexible, easy-to-use UI framework made by Venus. Follow me on Github: https://github.com/ilxqx! @ilxqx */