@vef-framework/starter 1.0.135 → 2.0.2

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 (600) hide show
  1. package/README +15 -0
  2. package/dist/cjs/components/access-denied/access-denied-icon.cjs +210 -0
  3. package/dist/cjs/components/access-denied/index.cjs +47 -0
  4. package/dist/cjs/components/app/index.cjs +47 -0
  5. package/dist/cjs/components/app/props.cjs +3 -0
  6. package/dist/cjs/components/base-layout/index.cjs +45 -0
  7. package/dist/cjs/components/base-layout/props.cjs +3 -0
  8. package/dist/cjs/components/base-layout/styles.cjs +57 -0
  9. package/dist/cjs/components/base-layout/use-base-layout.cjs +41 -0
  10. package/dist/cjs/components/crud/components/action-button-group.cjs +20 -0
  11. package/dist/cjs/components/crud/components/index.cjs +20 -0
  12. package/dist/cjs/components/crud/components/main.cjs +57 -0
  13. package/dist/cjs/components/crud/components/mutation-holder.cjs +40 -0
  14. package/dist/cjs/components/crud/components/operation-button-group.cjs +22 -0
  15. package/dist/cjs/components/crud/components/scene-form.cjs +84 -0
  16. package/dist/cjs/components/crud/components/selection-indicator.cjs +83 -0
  17. package/dist/cjs/components/crud/components/toolbar-actions.cjs +19 -0
  18. package/dist/cjs/components/crud/components/toolbar.cjs +38 -0
  19. package/dist/cjs/components/crud/event.cjs +12 -0
  20. package/dist/cjs/components/crud/helpers.cjs +26 -0
  21. package/dist/cjs/components/crud/hooks/index.cjs +14 -0
  22. package/dist/cjs/components/crud/hooks/use-query-observer.cjs +37 -0
  23. package/dist/cjs/components/crud/hooks/use-search-values.cjs +12 -0
  24. package/dist/cjs/components/crud/hooks/use-selected-rows.cjs +12 -0
  25. package/dist/cjs/components/crud/index.cjs +46 -0
  26. package/dist/cjs/components/crud/props.cjs +3 -0
  27. package/dist/cjs/components/crud/store.cjs +93 -0
  28. package/dist/cjs/components/crud/styles.cjs +34 -0
  29. package/dist/cjs/components/crud-page/index.cjs +19 -0
  30. package/dist/cjs/components/crud-page/props.cjs +3 -0
  31. package/dist/cjs/components/error/error-icon.cjs +179 -0
  32. package/dist/cjs/components/error/index.cjs +69 -0
  33. package/dist/cjs/components/flex-card/index.cjs +18 -0
  34. package/dist/cjs/components/flex-card/props.cjs +3 -0
  35. package/dist/cjs/components/flex-card/styles.cjs +26 -0
  36. package/dist/cjs/components/form-drawer/components/form-actions.cjs +38 -0
  37. package/dist/cjs/components/form-drawer/components/index.cjs +10 -0
  38. package/dist/cjs/components/form-drawer/index.cjs +112 -0
  39. package/dist/cjs/components/form-modal/components/form-actions.cjs +38 -0
  40. package/dist/cjs/components/form-modal/components/index.cjs +10 -0
  41. package/dist/cjs/components/form-modal/index.cjs +88 -0
  42. package/dist/cjs/components/index.cjs +45 -0
  43. package/dist/cjs/components/layout/components/footer.cjs +27 -0
  44. package/dist/cjs/components/layout/components/header/boy-icon.cjs +20 -0
  45. package/dist/cjs/components/layout/components/header/breadcrumb-navigation.cjs +90 -0
  46. package/dist/cjs/components/layout/components/header/color-scheme.cjs +40 -0
  47. package/dist/cjs/components/layout/components/header/fullscreen.cjs +23 -0
  48. package/dist/cjs/components/layout/components/header/girl-icon.cjs +21 -0
  49. package/dist/cjs/components/layout/components/header/index.cjs +88 -0
  50. package/dist/cjs/components/layout/components/header/menu-burger.cjs +24 -0
  51. package/dist/cjs/components/layout/components/header/menu-fold-left-icon.cjs +20 -0
  52. package/dist/cjs/components/layout/components/header/menu-unfold-left-icon.cjs +20 -0
  53. package/dist/cjs/components/layout/components/header/search.cjs +22 -0
  54. package/dist/cjs/components/layout/components/header/theme-config.cjs +23 -0
  55. package/dist/cjs/components/layout/components/header/user-avatar.cjs +86 -0
  56. package/dist/cjs/components/layout/components/honeycomb-pattern.cjs +39 -0
  57. package/dist/cjs/components/layout/components/index.cjs +20 -0
  58. package/dist/cjs/components/layout/components/logo.cjs +60 -0
  59. package/dist/cjs/components/layout/components/menu.cjs +95 -0
  60. package/dist/cjs/components/layout/components/search/index.cjs +79 -0
  61. package/dist/cjs/components/layout/components/search/keyboard-arrow-down-icon.cjs +15 -0
  62. package/dist/cjs/components/layout/components/search/keyboard-arrow-up-icon.cjs +15 -0
  63. package/dist/cjs/components/layout/components/search/keyboard-control-icon.cjs +15 -0
  64. package/dist/cjs/components/layout/components/search/keyboard-esc-icon.cjs +15 -0
  65. package/dist/cjs/components/layout/components/search/keyboard-help.cjs +46 -0
  66. package/dist/cjs/components/layout/components/search/keyboard-return-icon.cjs +15 -0
  67. package/dist/cjs/components/layout/components/search/keyboard-shift-icon.cjs +15 -0
  68. package/dist/cjs/components/layout/components/search/keyboard.cjs +32 -0
  69. package/dist/cjs/components/layout/components/search/letter-s-icon.cjs +15 -0
  70. package/dist/cjs/components/layout/components/search/search-result-item.cjs +69 -0
  71. package/dist/cjs/components/layout/components/search/search-result.cjs +135 -0
  72. package/dist/cjs/components/layout/components/sidebar.cjs +54 -0
  73. package/dist/cjs/components/layout/components/tabs/context-menu.cjs +96 -0
  74. package/dist/cjs/components/layout/components/tabs/index.cjs +40 -0
  75. package/dist/cjs/components/layout/components/tabs/main-content-maximum.cjs +23 -0
  76. package/dist/cjs/components/layout/components/tabs/reload.cjs +21 -0
  77. package/dist/cjs/components/layout/components/tabs/tab-item.cjs +84 -0
  78. package/dist/cjs/components/layout/components/tabs/tab-list.cjs +91 -0
  79. package/dist/cjs/components/layout/components/tabs/tabs-container.cjs +85 -0
  80. package/dist/cjs/components/layout/components/theme-config/color-scheme-switcher.cjs +49 -0
  81. package/dist/cjs/components/layout/components/theme-config/color-scheme.cjs +57 -0
  82. package/dist/cjs/components/layout/components/theme-config/config-item.cjs +27 -0
  83. package/dist/cjs/components/layout/components/theme-config/index.cjs +59 -0
  84. package/dist/cjs/components/layout/components/theme-config/menu-layout-card.cjs +75 -0
  85. package/dist/cjs/components/layout/components/theme-config/menu-layout.cjs +33 -0
  86. package/dist/cjs/components/layout/components/theme-config/operations.cjs +22 -0
  87. package/dist/cjs/components/layout/components/theme-config/theme-color-picker.cjs +33 -0
  88. package/dist/cjs/components/layout/components/theme-config/theme-colors.cjs +29 -0
  89. package/dist/cjs/components/layout/hooks/index.cjs +14 -0
  90. package/dist/cjs/components/layout/hooks/use-color-scheme-updater.cjs +72 -0
  91. package/dist/cjs/components/layout/hooks/use-menu-navigate.cjs +29 -0
  92. package/dist/cjs/components/layout/hooks/use-tab-navigate.cjs +39 -0
  93. package/dist/cjs/components/layout/index.cjs +81 -0
  94. package/dist/cjs/components/layout/props.cjs +3 -0
  95. package/dist/cjs/components/layout/store.cjs +23 -0
  96. package/dist/cjs/components/layout/styles.cjs +16 -0
  97. package/dist/cjs/components/login/icon-login.cjs +149 -0
  98. package/dist/cjs/components/login/index.cjs +162 -0
  99. package/dist/cjs/components/login/payload.cjs +3 -0
  100. package/dist/cjs/components/login/props.cjs +3 -0
  101. package/dist/cjs/components/login/styles.cjs +97 -0
  102. package/dist/cjs/components/login/welcome-messages.cjs +135 -0
  103. package/dist/cjs/components/logo-icon/index.cjs +22 -0
  104. package/dist/cjs/components/logo-icon/props.cjs +3 -0
  105. package/dist/cjs/components/n-progress/components/bar.cjs +53 -0
  106. package/dist/cjs/components/n-progress/components/container.cjs +25 -0
  107. package/dist/cjs/components/n-progress/components/index.cjs +12 -0
  108. package/dist/cjs/components/n-progress/event.cjs +10 -0
  109. package/dist/cjs/components/n-progress/index.cjs +34 -0
  110. package/dist/cjs/components/not-found/index.cjs +47 -0
  111. package/dist/cjs/components/not-found/not-found-icon.cjs +205 -0
  112. package/dist/cjs/components/page/index.cjs +58 -0
  113. package/dist/cjs/components/page/props.cjs +3 -0
  114. package/dist/cjs/components/page/scroll-content.cjs +65 -0
  115. package/dist/cjs/components/page/styles.cjs +86 -0
  116. package/dist/cjs/components/page/use-page-key.cjs +22 -0
  117. package/dist/cjs/components/page/viewport-context.cjs +19 -0
  118. package/dist/cjs/components/pro-search/components/advanced-search-toggler.cjs +23 -0
  119. package/dist/cjs/components/pro-search/components/advanced-search.cjs +30 -0
  120. package/dist/cjs/components/pro-search/components/index.cjs +14 -0
  121. package/dist/cjs/components/pro-search/components/search-actions.cjs +36 -0
  122. package/dist/cjs/components/pro-search/index.cjs +70 -0
  123. package/dist/cjs/components/pro-search/styles.cjs +65 -0
  124. package/dist/cjs/components/pro-table/components/index.cjs +17 -0
  125. package/dist/cjs/components/pro-table/components/operation-button-group.cjs +22 -0
  126. package/dist/cjs/components/pro-table/components/ref.cjs +24 -0
  127. package/dist/cjs/components/pro-table/components/table-subscriber.cjs +25 -0
  128. package/dist/cjs/components/pro-table/components/table-summary.cjs +15 -0
  129. package/dist/cjs/components/pro-table/components/table-title.cjs +15 -0
  130. package/dist/cjs/components/pro-table/components/table.cjs +132 -0
  131. package/dist/cjs/components/pro-table/context.cjs +15 -0
  132. package/dist/cjs/components/pro-table/event.cjs +12 -0
  133. package/dist/cjs/components/pro-table/hooks/index.cjs +12 -0
  134. package/dist/cjs/components/pro-table/hooks/use-row-selection.cjs +43 -0
  135. package/dist/cjs/components/pro-table/hooks/use-table-columns.cjs +60 -0
  136. package/dist/cjs/components/pro-table/index.cjs +53 -0
  137. package/dist/cjs/components/pro-table/store.cjs +40 -0
  138. package/dist/cjs/components/router-provider/context.cjs +15 -0
  139. package/dist/cjs/components/router-provider/index.cjs +29 -0
  140. package/dist/cjs/components/router-provider/props.cjs +3 -0
  141. package/dist/cjs/components/theme-config-provider/global-style.cjs +20 -0
  142. package/dist/cjs/components/theme-config-provider/index.cjs +19 -0
  143. package/dist/cjs/components/theme-config-provider/use-color-mode-effect.cjs +35 -0
  144. package/dist/cjs/components/theme-config-provider/use-theme-config.cjs +73 -0
  145. package/dist/cjs/constants/event.cjs +8 -0
  146. package/dist/cjs/constants/index.cjs +23 -0
  147. package/dist/cjs/constants/router.cjs +18 -0
  148. package/dist/cjs/constants/storage.cjs +10 -0
  149. package/dist/cjs/constants/symbols.cjs +10 -0
  150. package/dist/cjs/helpers/api.cjs +50 -0
  151. package/dist/cjs/helpers/app-version.cjs +227 -0
  152. package/dist/cjs/helpers/app.cjs +37 -0
  153. package/dist/cjs/helpers/auth.cjs +24 -0
  154. package/dist/cjs/helpers/event.cjs +24 -0
  155. package/dist/cjs/helpers/index.cjs +25 -0
  156. package/dist/cjs/helpers/query.cjs +27 -0
  157. package/dist/cjs/helpers/router.cjs +110 -0
  158. package/dist/cjs/hooks/index.cjs +10 -0
  159. package/dist/cjs/hooks/use-route-full-path.cjs +32 -0
  160. package/dist/cjs/index.cjs +83 -0
  161. package/dist/cjs/routes/access-denied.cjs +31 -0
  162. package/dist/cjs/routes/index.cjs +16 -0
  163. package/dist/cjs/routes/layout.cjs +140 -0
  164. package/dist/cjs/routes/login.cjs +41 -0
  165. package/dist/cjs/routes/root.cjs +35 -0
  166. package/dist/cjs/stores/app.cjs +25 -0
  167. package/dist/cjs/stores/index.cjs +14 -0
  168. package/dist/cjs/stores/tab.cjs +101 -0
  169. package/dist/cjs/stores/theme.cjs +32 -0
  170. package/dist/es/components/access-denied/access-denied-icon.js +206 -0
  171. package/dist/es/components/access-denied/index.js +43 -0
  172. package/dist/es/components/app/index.js +43 -0
  173. package/dist/es/components/app/props.js +1 -0
  174. package/dist/es/components/base-layout/index.js +41 -0
  175. package/dist/es/components/base-layout/props.js +1 -0
  176. package/dist/es/components/base-layout/styles.js +47 -0
  177. package/dist/es/components/base-layout/use-base-layout.js +37 -0
  178. package/dist/es/components/crud/components/action-button-group.js +16 -0
  179. package/dist/es/components/crud/components/index.js +7 -0
  180. package/dist/es/components/crud/components/main.js +53 -0
  181. package/dist/es/components/crud/components/mutation-holder.js +36 -0
  182. package/dist/es/components/crud/components/operation-button-group.js +18 -0
  183. package/dist/es/components/crud/components/scene-form.js +80 -0
  184. package/dist/es/components/crud/components/selection-indicator.js +79 -0
  185. package/dist/es/components/crud/components/toolbar-actions.js +15 -0
  186. package/dist/es/components/crud/components/toolbar.js +34 -0
  187. package/dist/es/components/crud/event.js +8 -0
  188. package/dist/es/components/crud/helpers.js +22 -0
  189. package/dist/es/components/crud/hooks/index.js +4 -0
  190. package/dist/es/components/crud/hooks/use-query-observer.js +33 -0
  191. package/dist/es/components/crud/hooks/use-search-values.js +8 -0
  192. package/dist/es/components/crud/hooks/use-selected-rows.js +8 -0
  193. package/dist/es/components/crud/index.js +41 -0
  194. package/dist/es/components/crud/props.js +1 -0
  195. package/dist/es/components/crud/store.js +87 -0
  196. package/dist/es/components/crud/styles.js +28 -0
  197. package/dist/es/components/crud-page/index.js +15 -0
  198. package/dist/es/components/crud-page/props.js +1 -0
  199. package/dist/es/components/error/error-icon.js +175 -0
  200. package/dist/es/components/error/index.js +65 -0
  201. package/dist/es/components/flex-card/index.js +14 -0
  202. package/dist/es/components/flex-card/props.js +1 -0
  203. package/dist/es/components/flex-card/styles.js +22 -0
  204. package/dist/es/components/form-drawer/components/form-actions.js +34 -0
  205. package/dist/es/components/form-drawer/components/index.js +2 -0
  206. package/dist/es/components/form-drawer/index.js +108 -0
  207. package/dist/es/components/form-modal/components/form-actions.js +34 -0
  208. package/dist/es/components/form-modal/components/index.js +2 -0
  209. package/dist/es/components/form-modal/index.js +84 -0
  210. package/dist/es/components/index.js +20 -0
  211. package/dist/es/components/layout/components/footer.js +23 -0
  212. package/dist/es/components/layout/components/header/boy-icon.js +16 -0
  213. package/dist/es/components/layout/components/header/breadcrumb-navigation.js +86 -0
  214. package/dist/es/components/layout/components/header/color-scheme.js +36 -0
  215. package/dist/es/components/layout/components/header/fullscreen.js +19 -0
  216. package/dist/es/components/layout/components/header/girl-icon.js +17 -0
  217. package/dist/es/components/layout/components/header/index.js +84 -0
  218. package/dist/es/components/layout/components/header/menu-burger.js +20 -0
  219. package/dist/es/components/layout/components/header/menu-fold-left-icon.js +16 -0
  220. package/dist/es/components/layout/components/header/menu-unfold-left-icon.js +16 -0
  221. package/dist/es/components/layout/components/header/search.js +18 -0
  222. package/dist/es/components/layout/components/header/theme-config.js +19 -0
  223. package/dist/es/components/layout/components/header/user-avatar.js +82 -0
  224. package/dist/es/components/layout/components/honeycomb-pattern.js +35 -0
  225. package/dist/es/components/layout/components/index.js +7 -0
  226. package/dist/es/components/layout/components/logo.js +56 -0
  227. package/dist/es/components/layout/components/menu.js +91 -0
  228. package/dist/es/components/layout/components/search/index.js +75 -0
  229. package/dist/es/components/layout/components/search/keyboard-arrow-down-icon.js +11 -0
  230. package/dist/es/components/layout/components/search/keyboard-arrow-up-icon.js +11 -0
  231. package/dist/es/components/layout/components/search/keyboard-control-icon.js +11 -0
  232. package/dist/es/components/layout/components/search/keyboard-esc-icon.js +11 -0
  233. package/dist/es/components/layout/components/search/keyboard-help.js +42 -0
  234. package/dist/es/components/layout/components/search/keyboard-return-icon.js +11 -0
  235. package/dist/es/components/layout/components/search/keyboard-shift-icon.js +11 -0
  236. package/dist/es/components/layout/components/search/keyboard.js +28 -0
  237. package/dist/es/components/layout/components/search/letter-s-icon.js +11 -0
  238. package/dist/es/components/layout/components/search/search-result-item.js +65 -0
  239. package/dist/es/components/layout/components/search/search-result.js +131 -0
  240. package/dist/es/components/layout/components/sidebar.js +50 -0
  241. package/dist/es/components/layout/components/tabs/context-menu.js +92 -0
  242. package/dist/es/components/layout/components/tabs/index.js +36 -0
  243. package/dist/es/components/layout/components/tabs/main-content-maximum.js +19 -0
  244. package/dist/es/components/layout/components/tabs/reload.js +17 -0
  245. package/dist/es/components/layout/components/tabs/tab-item.js +80 -0
  246. package/dist/es/components/layout/components/tabs/tab-list.js +87 -0
  247. package/dist/es/components/layout/components/tabs/tabs-container.js +81 -0
  248. package/dist/es/components/layout/components/theme-config/color-scheme-switcher.js +45 -0
  249. package/dist/es/components/layout/components/theme-config/color-scheme.js +53 -0
  250. package/dist/es/components/layout/components/theme-config/config-item.js +23 -0
  251. package/dist/es/components/layout/components/theme-config/index.js +55 -0
  252. package/dist/es/components/layout/components/theme-config/menu-layout-card.js +71 -0
  253. package/dist/es/components/layout/components/theme-config/menu-layout.js +29 -0
  254. package/dist/es/components/layout/components/theme-config/operations.js +18 -0
  255. package/dist/es/components/layout/components/theme-config/theme-color-picker.js +29 -0
  256. package/dist/es/components/layout/components/theme-config/theme-colors.js +25 -0
  257. package/dist/es/components/layout/hooks/index.js +4 -0
  258. package/dist/es/components/layout/hooks/use-color-scheme-updater.js +68 -0
  259. package/dist/es/components/layout/hooks/use-menu-navigate.js +25 -0
  260. package/dist/es/components/layout/hooks/use-tab-navigate.js +35 -0
  261. package/dist/es/components/layout/index.js +77 -0
  262. package/dist/es/components/layout/props.js +1 -0
  263. package/dist/es/components/layout/store.js +18 -0
  264. package/dist/es/components/layout/styles.js +12 -0
  265. package/dist/es/components/login/icon-login.js +145 -0
  266. package/dist/es/components/login/index.js +158 -0
  267. package/dist/es/components/login/payload.js +1 -0
  268. package/dist/es/components/login/props.js +1 -0
  269. package/dist/es/components/login/styles.js +85 -0
  270. package/dist/es/components/login/welcome-messages.js +130 -0
  271. package/dist/es/components/logo-icon/index.js +18 -0
  272. package/dist/es/components/logo-icon/props.js +1 -0
  273. package/dist/es/components/n-progress/components/bar.js +49 -0
  274. package/dist/es/components/n-progress/components/container.js +21 -0
  275. package/dist/es/components/n-progress/components/index.js +3 -0
  276. package/dist/es/components/n-progress/event.js +6 -0
  277. package/dist/es/components/n-progress/index.js +29 -0
  278. package/dist/es/components/not-found/index.js +43 -0
  279. package/dist/es/components/not-found/not-found-icon.js +201 -0
  280. package/dist/es/components/page/index.js +53 -0
  281. package/dist/es/components/page/props.js +1 -0
  282. package/dist/es/components/page/scroll-content.js +61 -0
  283. package/dist/es/components/page/styles.js +73 -0
  284. package/dist/es/components/page/use-page-key.js +18 -0
  285. package/dist/es/components/page/viewport-context.js +14 -0
  286. package/dist/es/components/pro-search/components/advanced-search-toggler.js +19 -0
  287. package/dist/es/components/pro-search/components/advanced-search.js +26 -0
  288. package/dist/es/components/pro-search/components/index.js +4 -0
  289. package/dist/es/components/pro-search/components/search-actions.js +32 -0
  290. package/dist/es/components/pro-search/index.js +66 -0
  291. package/dist/es/components/pro-search/styles.js +57 -0
  292. package/dist/es/components/pro-table/components/index.js +5 -0
  293. package/dist/es/components/pro-table/components/operation-button-group.js +18 -0
  294. package/dist/es/components/pro-table/components/ref.js +20 -0
  295. package/dist/es/components/pro-table/components/table-subscriber.js +21 -0
  296. package/dist/es/components/pro-table/components/table-summary.js +11 -0
  297. package/dist/es/components/pro-table/components/table-title.js +11 -0
  298. package/dist/es/components/pro-table/components/table.js +127 -0
  299. package/dist/es/components/pro-table/context.js +10 -0
  300. package/dist/es/components/pro-table/event.js +8 -0
  301. package/dist/es/components/pro-table/hooks/index.js +3 -0
  302. package/dist/es/components/pro-table/hooks/use-row-selection.js +39 -0
  303. package/dist/es/components/pro-table/hooks/use-table-columns.js +56 -0
  304. package/dist/es/components/pro-table/index.js +49 -0
  305. package/dist/es/components/pro-table/store.js +34 -0
  306. package/dist/es/components/router-provider/context.js +10 -0
  307. package/dist/es/components/router-provider/index.js +25 -0
  308. package/dist/es/components/router-provider/props.js +1 -0
  309. package/dist/es/components/theme-config-provider/global-style.js +16 -0
  310. package/dist/es/components/theme-config-provider/index.js +15 -0
  311. package/dist/es/components/theme-config-provider/use-color-mode-effect.js +31 -0
  312. package/dist/es/components/theme-config-provider/use-theme-config.js +69 -0
  313. package/dist/es/constants/event.js +4 -0
  314. package/dist/es/constants/index.js +5 -0
  315. package/dist/es/constants/router.js +9 -0
  316. package/dist/es/constants/storage.js +5 -0
  317. package/dist/es/constants/symbols.js +5 -0
  318. package/dist/es/helpers/api.js +46 -0
  319. package/dist/es/helpers/app-version.js +223 -0
  320. package/dist/es/helpers/app.js +33 -0
  321. package/dist/es/helpers/auth.js +20 -0
  322. package/dist/es/helpers/event.js +18 -0
  323. package/dist/es/helpers/index.js +8 -0
  324. package/dist/es/helpers/query.js +22 -0
  325. package/dist/es/helpers/router.js +106 -0
  326. package/dist/es/hooks/index.js +2 -0
  327. package/dist/es/hooks/use-route-full-path.js +28 -0
  328. package/dist/es/index.js +36 -0
  329. package/dist/es/routes/access-denied.js +27 -0
  330. package/dist/es/routes/index.js +5 -0
  331. package/dist/es/routes/layout.js +136 -0
  332. package/dist/es/routes/login.js +37 -0
  333. package/dist/es/routes/root.js +31 -0
  334. package/dist/es/stores/app.js +21 -0
  335. package/dist/es/stores/index.js +4 -0
  336. package/dist/es/stores/tab.js +97 -0
  337. package/dist/es/stores/theme.js +28 -0
  338. package/dist/types/components/access-denied/access-denied-icon.d.ts +2 -0
  339. package/dist/types/components/access-denied/index.d.ts +1 -0
  340. package/dist/types/components/app/index.d.ts +4 -0
  341. package/dist/types/components/app/props.d.ts +21 -0
  342. package/dist/types/components/base-layout/index.d.ts +3 -0
  343. package/dist/types/components/base-layout/props.d.ts +70 -0
  344. package/dist/types/components/base-layout/styles.d.ts +8 -0
  345. package/dist/types/components/base-layout/use-base-layout.d.ts +9 -0
  346. package/dist/types/components/crud/components/action-button-group.d.ts +8 -0
  347. package/dist/types/components/crud/components/index.d.ts +6 -0
  348. package/dist/types/components/crud/components/main.d.ts +6 -0
  349. package/dist/types/components/crud/components/mutation-holder.d.ts +10 -0
  350. package/dist/types/components/crud/components/operation-button-group.d.ts +8 -0
  351. package/dist/types/components/crud/components/scene-form.d.ts +7 -0
  352. package/dist/types/components/crud/components/selection-indicator.d.ts +6 -0
  353. package/dist/types/components/crud/components/toolbar-actions.d.ts +6 -0
  354. package/dist/types/components/crud/components/toolbar.d.ts +8 -0
  355. package/dist/types/components/crud/event.d.ts +3 -0
  356. package/dist/types/components/crud/helpers.d.ts +18 -0
  357. package/dist/types/components/crud/hooks/index.d.ts +3 -0
  358. package/dist/types/components/crud/hooks/use-query-observer.d.ts +11 -0
  359. package/dist/types/components/crud/hooks/use-search-values.d.ts +2 -0
  360. package/dist/types/components/crud/hooks/use-selected-rows.d.ts +2 -0
  361. package/dist/types/components/crud/index.d.ts +7 -0
  362. package/dist/types/components/crud/props.d.ts +153 -0
  363. package/dist/types/components/crud/store.d.ts +145 -0
  364. package/dist/types/components/crud/styles.d.ts +4 -0
  365. package/dist/types/components/crud/types.d.ts +48 -0
  366. package/dist/types/components/crud-page/index.d.ts +3 -0
  367. package/dist/types/components/crud-page/props.d.ts +20 -0
  368. package/dist/types/components/error/error-icon.d.ts +2 -0
  369. package/dist/types/components/error/index.d.ts +2 -0
  370. package/dist/types/components/error/props.d.ts +6 -0
  371. package/dist/types/components/flex-card/index.d.ts +3 -0
  372. package/dist/types/components/flex-card/props.d.ts +3 -0
  373. package/dist/types/components/flex-card/styles.d.ts +2 -0
  374. package/dist/types/components/form-drawer/components/form-actions.d.ts +18 -0
  375. package/dist/types/components/form-drawer/components/index.d.ts +1 -0
  376. package/dist/types/components/form-drawer/index.d.ts +5 -0
  377. package/dist/types/components/form-drawer/props.d.ts +70 -0
  378. package/dist/types/components/form-modal/components/form-actions.d.ts +18 -0
  379. package/dist/types/components/form-modal/components/index.d.ts +1 -0
  380. package/dist/types/components/form-modal/index.d.ts +5 -0
  381. package/dist/types/components/form-modal/props.d.ts +66 -0
  382. package/dist/types/components/index.d.ts +19 -0
  383. package/dist/types/components/layout/components/footer.d.ts +1 -0
  384. package/dist/types/components/layout/components/header/boy-icon.d.ts +2 -0
  385. package/dist/types/components/layout/components/header/breadcrumb-navigation.d.ts +2 -0
  386. package/dist/types/components/layout/components/header/color-scheme.d.ts +5 -0
  387. package/dist/types/components/layout/components/header/fullscreen.d.ts +5 -0
  388. package/dist/types/components/layout/components/header/girl-icon.d.ts +2 -0
  389. package/dist/types/components/layout/components/header/index.d.ts +5 -0
  390. package/dist/types/components/layout/components/header/menu-burger.d.ts +5 -0
  391. package/dist/types/components/layout/components/header/menu-fold-left-icon.d.ts +2 -0
  392. package/dist/types/components/layout/components/header/menu-unfold-left-icon.d.ts +2 -0
  393. package/dist/types/components/layout/components/header/search.d.ts +5 -0
  394. package/dist/types/components/layout/components/header/theme-config.d.ts +5 -0
  395. package/dist/types/components/layout/components/header/user-avatar.d.ts +6 -0
  396. package/dist/types/components/layout/components/honeycomb-pattern.d.ts +1 -0
  397. package/dist/types/components/layout/components/index.d.ts +6 -0
  398. package/dist/types/components/layout/components/logo.d.ts +8 -0
  399. package/dist/types/components/layout/components/menu.d.ts +7 -0
  400. package/dist/types/components/layout/components/search/index.d.ts +1 -0
  401. package/dist/types/components/layout/components/search/keyboard-arrow-down-icon.d.ts +2 -0
  402. package/dist/types/components/layout/components/search/keyboard-arrow-up-icon.d.ts +2 -0
  403. package/dist/types/components/layout/components/search/keyboard-control-icon.d.ts +2 -0
  404. package/dist/types/components/layout/components/search/keyboard-esc-icon.d.ts +2 -0
  405. package/dist/types/components/layout/components/search/keyboard-help.d.ts +1 -0
  406. package/dist/types/components/layout/components/search/keyboard-return-icon.d.ts +2 -0
  407. package/dist/types/components/layout/components/search/keyboard-shift-icon.d.ts +2 -0
  408. package/dist/types/components/layout/components/search/keyboard.d.ts +6 -0
  409. package/dist/types/components/layout/components/search/letter-s-icon.d.ts +2 -0
  410. package/dist/types/components/layout/components/search/search-result-item.d.ts +8 -0
  411. package/dist/types/components/layout/components/search/search-result.d.ts +5 -0
  412. package/dist/types/components/layout/components/sidebar.d.ts +6 -0
  413. package/dist/types/components/layout/components/tabs/context-menu.d.ts +6 -0
  414. package/dist/types/components/layout/components/tabs/index.d.ts +1 -0
  415. package/dist/types/components/layout/components/tabs/main-content-maximum.d.ts +5 -0
  416. package/dist/types/components/layout/components/tabs/reload.d.ts +5 -0
  417. package/dist/types/components/layout/components/tabs/tab-item.d.ts +10 -0
  418. package/dist/types/components/layout/components/tabs/tab-list.d.ts +1 -0
  419. package/dist/types/components/layout/components/tabs/tabs-container.d.ts +1 -0
  420. package/dist/types/components/layout/components/theme-config/color-scheme-switcher.d.ts +1 -0
  421. package/dist/types/components/layout/components/theme-config/color-scheme.d.ts +1 -0
  422. package/dist/types/components/layout/components/theme-config/config-item.d.ts +7 -0
  423. package/dist/types/components/layout/components/theme-config/index.d.ts +1 -0
  424. package/dist/types/components/layout/components/theme-config/menu-layout-card.d.ts +7 -0
  425. package/dist/types/components/layout/components/theme-config/menu-layout.d.ts +1 -0
  426. package/dist/types/components/layout/components/theme-config/operations.d.ts +1 -0
  427. package/dist/types/components/layout/components/theme-config/theme-color-picker.d.ts +6 -0
  428. package/dist/types/components/layout/components/theme-config/theme-colors.d.ts +1 -0
  429. package/dist/types/components/layout/hooks/index.d.ts +3 -0
  430. package/dist/types/components/layout/hooks/use-color-scheme-updater.d.ts +13 -0
  431. package/dist/types/components/layout/hooks/use-menu-navigate.d.ts +7 -0
  432. package/dist/types/components/layout/hooks/use-tab-navigate.d.ts +11 -0
  433. package/dist/types/components/layout/index.d.ts +3 -0
  434. package/dist/types/components/layout/props.d.ts +28 -0
  435. package/dist/types/components/layout/store.d.ts +17 -0
  436. package/dist/types/components/layout/styles.d.ts +2 -0
  437. package/dist/types/components/login/icon-login.d.ts +2 -0
  438. package/dist/types/components/login/index.d.ts +4 -0
  439. package/dist/types/components/login/payload.d.ts +45 -0
  440. package/dist/types/components/login/props.d.ts +27 -0
  441. package/dist/types/components/login/styles.d.ts +10 -0
  442. package/dist/types/components/login/welcome-messages.d.ts +11 -0
  443. package/dist/types/components/logo-icon/index.d.ts +3 -0
  444. package/dist/types/components/logo-icon/props.d.ts +10 -0
  445. package/dist/types/components/n-progress/components/bar.d.ts +5 -0
  446. package/dist/types/components/n-progress/components/container.d.ts +7 -0
  447. package/dist/types/components/n-progress/components/index.d.ts +2 -0
  448. package/dist/types/components/n-progress/event.d.ts +7 -0
  449. package/dist/types/components/n-progress/index.d.ts +2 -0
  450. package/dist/types/components/not-found/index.d.ts +1 -0
  451. package/dist/types/components/not-found/not-found-icon.d.ts +2 -0
  452. package/dist/types/components/page/index.d.ts +4 -0
  453. package/dist/types/components/page/props.d.ts +51 -0
  454. package/dist/types/components/page/scroll-content.d.ts +8 -0
  455. package/dist/types/components/page/styles.d.ts +11 -0
  456. package/dist/types/components/page/use-page-key.d.ts +1 -0
  457. package/dist/types/components/page/viewport-context.d.ts +7 -0
  458. package/dist/types/components/pro-search/components/advanced-search-toggler.d.ts +7 -0
  459. package/dist/types/components/pro-search/components/advanced-search.d.ts +6 -0
  460. package/dist/types/components/pro-search/components/index.d.ts +3 -0
  461. package/dist/types/components/pro-search/components/search-actions.d.ts +22 -0
  462. package/dist/types/components/pro-search/index.d.ts +5 -0
  463. package/dist/types/components/pro-search/props.d.ts +66 -0
  464. package/dist/types/components/pro-search/styles.d.ts +6 -0
  465. package/dist/types/components/pro-table/components/index.d.ts +4 -0
  466. package/dist/types/components/pro-table/components/operation-button-group.d.ts +7 -0
  467. package/dist/types/components/pro-table/components/ref.d.ts +3 -0
  468. package/dist/types/components/pro-table/components/table-subscriber.d.ts +9 -0
  469. package/dist/types/components/pro-table/components/table-summary.d.ts +7 -0
  470. package/dist/types/components/pro-table/components/table-title.d.ts +7 -0
  471. package/dist/types/components/pro-table/components/table.d.ts +6 -0
  472. package/dist/types/components/pro-table/context.d.ts +3 -0
  473. package/dist/types/components/pro-table/event.d.ts +16 -0
  474. package/dist/types/components/pro-table/hooks/index.d.ts +2 -0
  475. package/dist/types/components/pro-table/hooks/use-row-selection.d.ts +12 -0
  476. package/dist/types/components/pro-table/hooks/use-table-columns.d.ts +11 -0
  477. package/dist/types/components/pro-table/index.d.ts +11 -0
  478. package/dist/types/components/pro-table/props.d.ts +118 -0
  479. package/dist/types/components/pro-table/store.d.ts +35 -0
  480. package/dist/types/components/pro-table/types.d.ts +86 -0
  481. package/dist/types/components/router-provider/context.d.ts +6 -0
  482. package/dist/types/components/router-provider/index.d.ts +5 -0
  483. package/dist/types/components/router-provider/props.d.ts +7 -0
  484. package/dist/types/components/theme-config-provider/global-style.d.ts +2 -0
  485. package/dist/types/components/theme-config-provider/index.d.ts +2 -0
  486. package/dist/types/components/theme-config-provider/use-color-mode-effect.d.ts +1 -0
  487. package/dist/types/components/theme-config-provider/use-theme-config.d.ts +2 -0
  488. package/dist/types/constants/event.d.ts +4 -0
  489. package/dist/types/constants/index.d.ts +4 -0
  490. package/dist/types/constants/router.d.ts +24 -0
  491. package/dist/types/constants/storage.d.ts +8 -0
  492. package/dist/types/constants/symbols.d.ts +8 -0
  493. package/dist/types/helpers/api.d.ts +9 -0
  494. package/dist/types/helpers/app-version.d.ts +88 -0
  495. package/dist/types/helpers/app.d.ts +24 -0
  496. package/dist/types/helpers/auth.d.ts +7 -0
  497. package/dist/types/helpers/event.d.ts +16 -0
  498. package/dist/types/helpers/index.d.ts +7 -0
  499. package/dist/types/helpers/query.d.ts +33 -0
  500. package/dist/types/helpers/router.d.ts +28 -0
  501. package/dist/types/hooks/index.d.ts +1 -0
  502. package/dist/types/hooks/use-route-full-path.d.ts +6 -0
  503. package/dist/types/index.d.ts +6 -0
  504. package/dist/types/models/index.d.ts +1 -0
  505. package/dist/types/routes/access-denied.d.ts +13 -0
  506. package/dist/types/routes/index.d.ts +4 -0
  507. package/dist/types/routes/layout.d.ts +25 -0
  508. package/dist/types/routes/login.d.ts +18 -0
  509. package/dist/types/routes/root.d.ts +13 -0
  510. package/dist/types/stores/app.d.ts +38 -0
  511. package/dist/types/stores/index.d.ts +6 -0
  512. package/dist/types/stores/tab.d.ts +73 -0
  513. package/dist/types/stores/theme.d.ts +46 -0
  514. package/dist/types/types/api.d.ts +67 -0
  515. package/dist/types/types/common.d.ts +81 -0
  516. package/dist/types/types/index.d.ts +3 -0
  517. package/dist/types/types/router.d.ts +9 -0
  518. package/package.json +60 -44
  519. package/README.md +0 -25
  520. package/cjs/api.cjs +0 -2
  521. package/cjs/app.cjs +0 -2
  522. package/cjs/components/index.cjs +0 -2
  523. package/cjs/components/vef-access-denied-page/index.cjs +0 -2
  524. package/cjs/components/vef-access-denied-page/props.cjs +0 -2
  525. package/cjs/components/vef-app/index.cjs +0 -2
  526. package/cjs/components/vef-app/props.cjs +0 -2
  527. package/cjs/components/vef-dev-assistant/index.cjs +0 -31
  528. package/cjs/components/vef-dev-assistant/props.cjs +0 -2
  529. package/cjs/components/vef-error-page/index.cjs +0 -2
  530. package/cjs/components/vef-error-page/props.cjs +0 -2
  531. package/cjs/components/vef-login-page/index.cjs +0 -2
  532. package/cjs/components/vef-login-page/props.cjs +0 -2
  533. package/cjs/components/vef-not-found-page/index.cjs +0 -2
  534. package/cjs/components/vef-not-found-page/props.cjs +0 -2
  535. package/cjs/components/vef-router-provider/index.cjs +0 -2
  536. package/cjs/components/vef-router-provider/props.cjs +0 -2
  537. package/cjs/constants.cjs +0 -2
  538. package/cjs/helper.cjs +0 -2
  539. package/cjs/index.cjs +0 -2
  540. package/cjs/router.cjs +0 -2
  541. package/cjs/routes/access-denied.cjs +0 -2
  542. package/cjs/routes/index.cjs +0 -2
  543. package/cjs/routes/layout.cjs +0 -2
  544. package/cjs/routes/login.cjs +0 -2
  545. package/cjs/routes/root.cjs +0 -2
  546. package/cjs/store.cjs +0 -2
  547. package/esm/api.js +0 -2
  548. package/esm/app.js +0 -2
  549. package/esm/components/index.js +0 -2
  550. package/esm/components/vef-access-denied-page/index.js +0 -2
  551. package/esm/components/vef-access-denied-page/props.js +0 -2
  552. package/esm/components/vef-app/index.js +0 -2
  553. package/esm/components/vef-app/props.js +0 -2
  554. package/esm/components/vef-dev-assistant/index.js +0 -31
  555. package/esm/components/vef-dev-assistant/props.js +0 -2
  556. package/esm/components/vef-error-page/index.js +0 -2
  557. package/esm/components/vef-error-page/props.js +0 -2
  558. package/esm/components/vef-login-page/index.js +0 -2
  559. package/esm/components/vef-login-page/props.js +0 -2
  560. package/esm/components/vef-not-found-page/index.js +0 -2
  561. package/esm/components/vef-not-found-page/props.js +0 -2
  562. package/esm/components/vef-router-provider/index.js +0 -2
  563. package/esm/components/vef-router-provider/props.js +0 -2
  564. package/esm/constants.js +0 -2
  565. package/esm/helper.js +0 -2
  566. package/esm/index.js +0 -2
  567. package/esm/router.js +0 -2
  568. package/esm/routes/access-denied.js +0 -2
  569. package/esm/routes/index.js +0 -2
  570. package/esm/routes/layout.js +0 -2
  571. package/esm/routes/login.js +0 -2
  572. package/esm/routes/root.js +0 -2
  573. package/esm/store.js +0 -2
  574. package/types/api.d.ts +0 -9
  575. package/types/app.d.ts +0 -15
  576. package/types/components/index.d.ts +0 -7
  577. package/types/components/vef-access-denied-page/index.d.ts +0 -4
  578. package/types/components/vef-access-denied-page/props.d.ts +0 -5
  579. package/types/components/vef-app/index.d.ts +0 -4
  580. package/types/components/vef-app/props.d.ts +0 -7
  581. package/types/components/vef-dev-assistant/index.d.ts +0 -4
  582. package/types/components/vef-dev-assistant/props.d.ts +0 -5
  583. package/types/components/vef-error-page/index.d.ts +0 -4
  584. package/types/components/vef-error-page/props.d.ts +0 -6
  585. package/types/components/vef-login-page/index.d.ts +0 -4
  586. package/types/components/vef-login-page/props.d.ts +0 -7
  587. package/types/components/vef-not-found-page/index.d.ts +0 -4
  588. package/types/components/vef-not-found-page/props.d.ts +0 -6
  589. package/types/components/vef-router-provider/index.d.ts +0 -4
  590. package/types/components/vef-router-provider/props.d.ts +0 -16
  591. package/types/constants.d.ts +0 -24
  592. package/types/helper.d.ts +0 -9
  593. package/types/index.d.ts +0 -8
  594. package/types/router.d.ts +0 -23
  595. package/types/routes/access-denied.d.ts +0 -9
  596. package/types/routes/index.d.ts +0 -4
  597. package/types/routes/layout.d.ts +0 -33
  598. package/types/routes/login.d.ts +0 -27
  599. package/types/routes/root.d.ts +0 -7
  600. package/types/store.d.ts +0 -34
@@ -0,0 +1,6 @@
1
+ import { ReactNode } from 'react';
2
+ interface ToolbarActionsProps {
3
+ toolbarActions?: ReactNode;
4
+ }
5
+ export declare function ToolbarActions({ toolbarActions }: ToolbarActionsProps): import("@emotion/react/jsx-runtime").JSX.Element;
6
+ export {};
@@ -0,0 +1,8 @@
1
+ import { ReactNode, MemoExoticComponent } from 'react';
2
+ interface ToolbarProps {
3
+ basicSearch?: ReactNode;
4
+ advancedSearch?: ReactNode;
5
+ toolbarActions?: ReactNode;
6
+ }
7
+ export declare const Toolbar: MemoExoticComponent<({ basicSearch, advancedSearch, toolbarActions }: ToolbarProps) => import("@emotion/react/jsx-runtime").JSX.Element>;
8
+ export {};
@@ -0,0 +1,3 @@
1
+ import { EventEmitter } from '@vef-framework/shared';
2
+ export type CrudEvents = {};
3
+ export declare function createEventEmitter(): EventEmitter<CrudEvents>;
@@ -0,0 +1,18 @@
1
+ import { UseStore } from '@vef-framework/core';
2
+ import { AnyObject } from '@vef-framework/shared';
3
+ import { ReactNode } from 'react';
4
+ import { ActionButtonGroupProps, OperationButtonGroupProps } from './components';
5
+ import { CrudState } from './store';
6
+ /**
7
+ * Create a type-safe kit containing hooks and components for Crud with specific generic types
8
+ * This helper function eliminates the need to repeatedly specify generic parameters when using Crud-related utilities
9
+ *
10
+ * @returns An object containing type-safe hooks and components for the Crud
11
+ */
12
+ export declare function createCrudKit<TRow extends AnyObject, TSearchValues extends AnyObject, TSceneFormValues extends AnyObject>(): {
13
+ useCrudStore: UseStore<CrudState<TRow, TSearchValues, TSceneFormValues>>;
14
+ useSearchValues: () => TSearchValues;
15
+ useSelectedRows: () => TRow[];
16
+ OperationButtonGroup: <TSelected = NoInfer<CrudState<TRow, TSearchValues, TSceneFormValues>>>(props: OperationButtonGroupProps<TSearchValues, TSceneFormValues, TSelected>) => ReactNode;
17
+ ActionButtonGroup: <TSelected = NoInfer<CrudState<TRow, TSearchValues, TSceneFormValues>>>(props: ActionButtonGroupProps<TSearchValues, TSceneFormValues, TSelected>) => ReactNode;
18
+ };
@@ -0,0 +1,3 @@
1
+ export { useQueryObserver } from './use-query-observer';
2
+ export { useSearchValues } from './use-search-values';
3
+ export { useSelectedRows } from './use-selected-rows';
@@ -0,0 +1,11 @@
1
+ import { ProTableRef } from '../../pro-table';
2
+ import { RefObject } from 'react';
3
+ /**
4
+ * The hook to use the query observer.
5
+ *
6
+ * @param queryFn - The query function.
7
+ * @param queryParams - The query parameters.
8
+ * @param enabled - Whether the query is enabled.
9
+ * @returns The query observer.
10
+ */
11
+ export declare function useQueryObserver(): RefObject<ProTableRef | null>;
@@ -0,0 +1,2 @@
1
+ import { AnyObject } from '@vef-framework/shared';
2
+ export declare function useSearchValues<TSearchValues extends AnyObject>(): NoInfer<TSearchValues>;
@@ -0,0 +1,2 @@
1
+ import { AnyObject } from '@vef-framework/shared';
2
+ export declare function useSelectedRows<TRow extends AnyObject>(): NoInfer<TRow[]>;
@@ -0,0 +1,7 @@
1
+ import { AnyObject } from '@vef-framework/shared';
2
+ import { CrudProps } from './props';
3
+ export declare function Crud<TRow extends AnyObject, TSearchValues extends AnyObject, TSceneFormValues extends AnyObject, TParams extends AnyObject = never>({ defaultSearchValues, advancedSearch, sceneDefaultFormValues, renderForm, formMutationFns, beforeFormSubmit, afterFormSubmit, deleteMutationFn, deleteManyMutationFn, mutationMeta, rowSelection, ...bodyProps }: CrudProps<TRow, TSearchValues, TSceneFormValues, TParams>): import("@emotion/react/jsx-runtime").JSX.Element;
4
+ export type { ActionButtonGroupProps as CrudActionButtonGroupProps, OperationButtonGroupProps as CrudOperationButtonGroupProps } from './components';
5
+ export { createCrudKit } from './helpers';
6
+ export { type CrudProps } from './props';
7
+ export type * from './types';
@@ -0,0 +1,153 @@
1
+ import { TableColumn } from '@vef-framework/components';
2
+ import { ApiResult, MutationFunction, MutationMeta, PaginationResult, QueryFunction } from '@vef-framework/core';
3
+ import { AnyObject, Awaitable, DeepKeys, EmptyObject, If, IsNever, Key, MaybeUndefined, PartialDeep } from '@vef-framework/shared';
4
+ import { ReactNode } from 'react';
5
+ import { OperationColumnConfig, RowSelectionConfig } from '../pro-table';
6
+ import { CrudFormMutationFns, CrudFormScene, PaginatedQueryParams, QueryParams } from './types';
7
+ /**
8
+ * Base props for the Crud component.
9
+ *
10
+ * @template TRow - Table row model type
11
+ * @template TSearchValues - Search/filters form values type
12
+ * @template TSceneFormValues - A map of scene key to its form values type
13
+ * @template TParams - Additional query parameters type
14
+ */
15
+ export interface BaseCrudProps<TRow extends AnyObject, TSearchValues extends AnyObject, TSceneFormValues extends AnyObject, TParams extends AnyObject> {
16
+ /**
17
+ * Table column definitions
18
+ */
19
+ tableColumns: Array<TableColumn<NoInfer<TRow>>>;
20
+ /**
21
+ * Operation column configuration for per-row actions
22
+ */
23
+ operationColumn?: OperationColumnConfig<NoInfer<TRow>>;
24
+ /**
25
+ * Whether to show the sequence (row number) column. Default is true.
26
+ */
27
+ showSequenceColumn?: boolean;
28
+ /**
29
+ * Row key extractor: either a deep key of the row model or a function
30
+ */
31
+ rowKey?: DeepKeys<NoInfer<TRow>> | ((row: NoInfer<TRow>) => Key);
32
+ /**
33
+ * Enable virtual scrolling for the table to improve performance with large datasets
34
+ * @default false
35
+ */
36
+ virtual?: boolean;
37
+ /**
38
+ * Title to be displayed above the table
39
+ */
40
+ title?: ReactNode;
41
+ /**
42
+ * Summary to be displayed below the table
43
+ */
44
+ summary?: ReactNode;
45
+ /**
46
+ * Row selection configuration.
47
+ * - `true`: Enable row selection with default configuration
48
+ * - `RowSelectionConfig<TRow>`: Enable row selection with custom configuration
49
+ * - `undefined`: Disable row selection (default)
50
+ */
51
+ rowSelection?: RowSelectionConfig<NoInfer<TRow>> | true;
52
+ /**
53
+ * Default search values for initializing the search forms
54
+ */
55
+ defaultSearchValues?: Partial<NoInfer<TSearchValues>>;
56
+ /**
57
+ * Node to render as the basic (inline) search area
58
+ */
59
+ basicSearch?: ReactNode;
60
+ /**
61
+ * Node to render as the advanced search panel
62
+ */
63
+ advancedSearch?: ReactNode;
64
+ /**
65
+ * Default form values map for scenes
66
+ */
67
+ sceneDefaultFormValues?: PartialDeep<NoInfer<TSceneFormValues>>;
68
+ /**
69
+ * Render function to provide a form for the specified scene
70
+ */
71
+ renderForm?: (scene: CrudFormScene<NoInfer<TSceneFormValues>>) => ReactNode;
72
+ /**
73
+ * Optional hook before submitting the form. Can transform values.
74
+ */
75
+ beforeFormSubmit?: (scene: CrudFormScene<NoInfer<TSceneFormValues>>, formValues: TSceneFormValues[CrudFormScene<NoInfer<TSceneFormValues>>]) => Awaitable<TSceneFormValues[CrudFormScene<NoInfer<TSceneFormValues>>]>;
76
+ /**
77
+ * Optional hook after submitting the form. Can be used for side effects.
78
+ */
79
+ afterFormSubmit?: (scene: CrudFormScene<NoInfer<TSceneFormValues>>, formValues: TSceneFormValues[CrudFormScene<NoInfer<TSceneFormValues>>], result: unknown) => Awaitable<void>;
80
+ /**
81
+ * Mutation functions for submitting different scenes
82
+ */
83
+ formMutationFns?: CrudFormMutationFns<TSceneFormValues>;
84
+ /**
85
+ * Mutation function to delete a single row
86
+ */
87
+ deleteMutationFn?: MutationFunction<ApiResult<unknown>, NoInfer<TRow>>;
88
+ /**
89
+ * Mutation function to delete multiple rows
90
+ */
91
+ deleteManyMutationFn?: MutationFunction<ApiResult<unknown>, Array<NoInfer<TRow>>>;
92
+ /**
93
+ * Meta information provider for mutations
94
+ */
95
+ mutationMeta?: (mutationKey: string) => MaybeUndefined<MutationMeta>;
96
+ /**
97
+ * Actions displayed on the table toolbar area
98
+ */
99
+ toolbarActions?: ReactNode;
100
+ /**
101
+ * Function to determine whether the query should be enabled
102
+ */
103
+ queryEnabled?: (params?: NoInfer<TSearchValues> & If<IsNever<TParams>, EmptyObject, NoInfer<TParams>>) => boolean;
104
+ /**
105
+ * Additional query parameters that trigger re-fetching when changed.
106
+ * These are merged with search, pagination, and sort parameters in the query function.
107
+ */
108
+ queryParams?: NoInfer<TParams>;
109
+ }
110
+ /**
111
+ * Props for paginated Crud.
112
+ *
113
+ * When `isPaginated` is true or omitted, the data source is fetched with pagination parameters.
114
+ *
115
+ * @template TRow - Table row model type
116
+ * @template TSearchValues - Search/filters form values type
117
+ * @template TSceneFormValues - A map of scene key to its form values type
118
+ * @template TParams - Additional query parameters type
119
+ */
120
+ export interface PaginatedCrudProps<TRow extends AnyObject, TSearchValues extends AnyObject, TSceneFormValues extends AnyObject, TParams extends AnyObject = never> extends BaseCrudProps<TRow, TSearchValues, TSceneFormValues, TParams> {
121
+ /**
122
+ * Enable pagination mode. Default is true.
123
+ */
124
+ isPaginated?: true;
125
+ /**
126
+ * Query function for fetching paginated data
127
+ */
128
+ queryFn: QueryFunction<PaginationResult<TRow>, PaginatedQueryParams<TSearchValues, TParams>>;
129
+ }
130
+ /**
131
+ * Props for non-paginated Crud.
132
+ *
133
+ * When `isPaginated` is false, the entire dataset is returned without pagination.
134
+ *
135
+ * @template TRow - Table row model type
136
+ * @template TSearchValues - Search/filters form values type
137
+ * @template TSceneFormValues - A map of scene key to its form values type
138
+ * @template TParams - Additional query parameters type
139
+ */
140
+ export interface NonPaginatedCrudProps<TRow extends AnyObject, TSearchValues extends AnyObject, TSceneFormValues extends AnyObject, TParams extends AnyObject = never> extends BaseCrudProps<TRow, TSearchValues, TSceneFormValues, TParams> {
141
+ /**
142
+ * Disable pagination mode for this variant
143
+ */
144
+ isPaginated: false;
145
+ /**
146
+ * Query function for fetching the full list data
147
+ */
148
+ queryFn: QueryFunction<TRow[], QueryParams<TSearchValues, TParams>>;
149
+ }
150
+ /**
151
+ * Discriminated union of paginated and non-paginated Crud props
152
+ */
153
+ export type CrudProps<TRow extends AnyObject, TSearchValues extends AnyObject, TSceneFormValues extends AnyObject, TParams extends AnyObject = never> = PaginatedCrudProps<TRow, TSearchValues, TSceneFormValues, TParams> | NonPaginatedCrudProps<TRow, TSearchValues, TSceneFormValues, TParams>;
@@ -0,0 +1,145 @@
1
+ import { Breakpoint, Length } from '@vef-framework/components';
2
+ import { ApiResult, StoreProviderProps, UseStore, UnboundStore } from '@vef-framework/core';
3
+ import { AnyObject, Awaitable, Key, EventEmitter } from '@vef-framework/shared';
4
+ import { ReactNode, ComponentType } from 'react';
5
+ import { CrudEvents } from './event';
6
+ import { CrudFormDrawerConfig, CrudFormMode, CrudFormScene } from './types';
7
+ /**
8
+ * Options to open a scene form.
9
+ *
10
+ * TScene: the specific scene key to be opened
11
+ * TSceneFormValues: the map type for all scene form values
12
+ */
13
+ export interface OpenFormOptions<TScene extends CrudFormScene<TSceneFormValues>, TSceneFormValues extends AnyObject> {
14
+ /**
15
+ * Target scene key to open.
16
+ */
17
+ scene: TScene;
18
+ /**
19
+ * Initial values for the target scene form.
20
+ */
21
+ values?: Partial<TSceneFormValues[TScene]>;
22
+ /**
23
+ * Custom form title. If omitted, a default title will be used.
24
+ */
25
+ title?: ReactNode;
26
+ /**
27
+ * Custom form width. If omitted, a default responsive width will be used.
28
+ */
29
+ width?: Length | Partial<Record<Breakpoint, Length>>;
30
+ /**
31
+ * Form display mode.
32
+ * @default "modal"
33
+ */
34
+ mode?: CrudFormMode;
35
+ /**
36
+ * Drawer-specific configuration when mode is "drawer".
37
+ */
38
+ drawerConfig?: CrudFormDrawerConfig;
39
+ }
40
+ /**
41
+ * State shape for the Crud component store.
42
+ *
43
+ * TRow: the row model type displayed in the table
44
+ * TSearchValues: the type of the search/filters form values
45
+ * TSceneFormValues: a map of scene key to its form values type
46
+ */
47
+ export interface CrudState<TRow extends AnyObject = AnyObject, TSearchValues extends AnyObject = AnyObject, TSceneFormValues extends AnyObject = AnyObject> {
48
+ /**
49
+ * Internal event bus used for cross-part communication within Crud.
50
+ */
51
+ eventEmitter: EventEmitter<CrudEvents>;
52
+ /**
53
+ * Whether the advanced search panel is visible.
54
+ */
55
+ isAdvancedSearchVisible: boolean;
56
+ /**
57
+ * Toggle the visibility of the advanced search panel.
58
+ */
59
+ setIsAdvancedSearchVisible: (isAdvancedSearchVisible: boolean) => void;
60
+ /**
61
+ * Default search form values (initial state).
62
+ */
63
+ defaultSearchValues?: TSearchValues;
64
+ /**
65
+ * Current basic/advanced search form values.
66
+ */
67
+ searchValues?: TSearchValues;
68
+ /**
69
+ * Update the current search form values.
70
+ */
71
+ setSearchValues: (values?: TSearchValues) => void;
72
+ /**
73
+ * Whether the scene form (create/update or custom) is visible.
74
+ */
75
+ formVisible: boolean;
76
+ /**
77
+ * Current active form scene key.
78
+ */
79
+ formScene: CrudFormScene<TSceneFormValues>;
80
+ /**
81
+ * Title displayed on the scene form.
82
+ */
83
+ formTitle: ReactNode;
84
+ /**
85
+ * Width of the scene form. Can be a fixed length or responsive map by breakpoint.
86
+ */
87
+ formWidth: Length | Partial<Record<Breakpoint, Length>>;
88
+ /**
89
+ * Form display mode (modal or drawer).
90
+ */
91
+ formMode: CrudFormMode;
92
+ /**
93
+ * Drawer-specific configuration when formMode is "drawer".
94
+ */
95
+ drawerConfig?: CrudFormDrawerConfig;
96
+ /**
97
+ * Open the scene form with optional initial values, custom title and width.
98
+ */
99
+ openForm: <const TScene extends CrudFormScene<TSceneFormValues>>(options: OpenFormOptions<TScene, TSceneFormValues>) => void;
100
+ /**
101
+ * Close the scene form.
102
+ */
103
+ closeForm: () => void;
104
+ /**
105
+ * Default form values map for all scenes, usually provided by the component.
106
+ */
107
+ sceneDefaultFormValues: Partial<TSceneFormValues>;
108
+ /**
109
+ * Resolved default values for the currently active scene.
110
+ */
111
+ defaultFormValues: TSceneFormValues[CrudFormScene<TSceneFormValues>];
112
+ /**
113
+ * Delete a single row.
114
+ */
115
+ delete: (row: TRow) => Awaitable<ApiResult<unknown>>;
116
+ /**
117
+ * Delete multiple rows in batch.
118
+ */
119
+ deleteMany: (rows: TRow[]) => Awaitable<ApiResult<unknown>>;
120
+ /**
121
+ * Whether the list query is being fetched.
122
+ */
123
+ isQueryFetching: boolean;
124
+ /**
125
+ * Re-trigger the list query.
126
+ */
127
+ refetchQuery: () => void;
128
+ /**
129
+ * Currently selected row keys.
130
+ */
131
+ selectedRowKeys: Key[];
132
+ /**
133
+ * Update selected row keys.
134
+ */
135
+ setSelectedRowKeys: (selectedRowKeys: Key[]) => void;
136
+ /**
137
+ * Currently selected row models.
138
+ */
139
+ selectedRows: TRow[];
140
+ /**
141
+ * Update selected row models.
142
+ */
143
+ setSelectedRows: (selectedRows: TRow[]) => void;
144
+ }
145
+ export declare const CrudStoreProvider: ComponentType<StoreProviderProps<Pick<CrudState<AnyObject, AnyObject, AnyObject>, "selectedRowKeys" | "defaultSearchValues" | "sceneDefaultFormValues">>>, useCrudStore: UseStore<CrudState<AnyObject, AnyObject, AnyObject>>, useCrudStoreApi: <TStrictState extends CrudState<AnyObject, AnyObject, AnyObject> = CrudState<AnyObject, AnyObject, AnyObject>>() => UnboundStore<TStrictState>;
@@ -0,0 +1,4 @@
1
+ import { SerializedStyles } from '@emotion/serialize';
2
+ export declare const header: SerializedStyles;
3
+ export declare const main: SerializedStyles;
4
+ export declare const toolbar: SerializedStyles;
@@ -0,0 +1,48 @@
1
+ import { DrawerProps } from '@vef-framework/components';
2
+ import { ApiResult, MutationFunction } from '@vef-framework/core';
3
+ import { AnyObject, EmptyObject, If, IsNever } from '@vef-framework/shared';
4
+ import { ParamsWithPagination, ParamsWithSort } from '../pro-table';
5
+ export type CrudBasicFormScene = "create" | "update";
6
+ export type CrudBasicSceneFormValues<TCreateFormValues extends AnyObject, TUpdateFormValues extends AnyObject> = {
7
+ [Scene in CrudBasicFormScene]: Scene extends "create" ? TCreateFormValues : Scene extends "update" ? TUpdateFormValues : never;
8
+ };
9
+ export type CrudFormScene<TSceneFormValues extends AnyObject> = keyof TSceneFormValues & string;
10
+ export type CrudFormMutationFns<TSceneFormValues extends AnyObject> = {
11
+ [Scene in CrudFormScene<TSceneFormValues>]: MutationFunction<ApiResult<unknown>, TSceneFormValues[Scene]>;
12
+ };
13
+ /**
14
+ * Query parameters wrapper type for non-paginated queries.
15
+ *
16
+ * This type helps TypeScript correctly infer generic parameters by wrapping
17
+ * the intersection type in a named generic type constructor.
18
+ *
19
+ * @template TSearch - The search parameters type from user interactions
20
+ * @template TParams - Additional query parameters (defaults to never, which becomes EmptyObject)
21
+ */
22
+ export type QueryParams<TSearch extends AnyObject, TParams extends AnyObject = never> = ParamsWithSort<TSearch & If<IsNever<TParams>, EmptyObject, TParams>>;
23
+ /**
24
+ * Query parameters wrapper type for paginated queries.
25
+ *
26
+ * This type helps TypeScript correctly infer generic parameters by wrapping
27
+ * the intersection type in a named generic type constructor.
28
+ *
29
+ * @template TSearch - The search parameters type from user interactions
30
+ * @template TParams - Additional query parameters (defaults to never, which becomes EmptyObject)
31
+ */
32
+ export type PaginatedQueryParams<TSearch extends AnyObject, TParams extends AnyObject = never> = ParamsWithPagination<ParamsWithSort<TSearch & If<IsNever<TParams>, EmptyObject, TParams>>>;
33
+ /**
34
+ * Form display mode for CRUD operations.
35
+ * - "modal": Display form in a modal dialog (default)
36
+ * - "drawer": Display form in a drawer panel
37
+ */
38
+ export type CrudFormMode = "modal" | "drawer";
39
+ /**
40
+ * Configuration for drawer-specific properties when form mode is "drawer".
41
+ */
42
+ export interface CrudFormDrawerConfig {
43
+ /**
44
+ * Placement of the drawer.
45
+ * @default "right"
46
+ */
47
+ placement?: DrawerProps["placement"];
48
+ }
@@ -0,0 +1,3 @@
1
+ import { CrudPageProps } from './props';
2
+ export declare function CrudPage<TRow extends object, TSearchValues extends object, TSceneFormValues extends Record<string, object>, TParams extends object = never>({ aside, asideWidth, ...crudProps }: CrudPageProps<TRow, TSearchValues, TSceneFormValues, TParams>): import("@emotion/react/jsx-runtime").JSX.Element;
3
+ export { type CrudPageProps } from './props';
@@ -0,0 +1,20 @@
1
+ import { ReactNode } from 'react';
2
+ import { CrudProps } from '../crud';
3
+ /**
4
+ * Props for the CrudPage component, supporting both paginated and non-paginated modes.
5
+ *
6
+ * @template TRow - Table row model type
7
+ * @template TSearchValues - Search/filters form values type
8
+ * @template TSceneFormValues - A map of scene key to its form values type
9
+ * @template TParams - Additional query parameters type
10
+ */
11
+ export type CrudPageProps<TRow extends object, TSearchValues extends object, TSceneFormValues extends Record<string, object>, TParams extends object = never> = CrudProps<TRow, TSearchValues, TSceneFormValues, TParams> & {
12
+ /**
13
+ * The aside content of the page
14
+ */
15
+ aside?: ReactNode;
16
+ /**
17
+ * The width of the aside
18
+ */
19
+ asideWidth?: number | string;
20
+ };
@@ -0,0 +1,2 @@
1
+ import { SVGProps } from 'react';
2
+ export declare function ErrorIcon(props: SVGProps<SVGSVGElement>): import("@emotion/react/jsx-runtime").JSX.Element;
@@ -0,0 +1,2 @@
1
+ import { ErrorProps } from './props';
2
+ export declare function Error({ error, info, reset }: ErrorProps): import("@emotion/react/jsx-runtime").JSX.Element;
@@ -0,0 +1,6 @@
1
+ import { ErrorComponentProps } from '@tanstack/react-router';
2
+ /**
3
+ * The props of the error component
4
+ */
5
+ export interface ErrorProps extends ErrorComponentProps {
6
+ }
@@ -0,0 +1,3 @@
1
+ import { FlexCardProps } from './props';
2
+ export declare function FlexCard({ variant, ...props }: FlexCardProps): import("@emotion/react/jsx-runtime").JSX.Element;
3
+ export { type FlexCardProps } from './props';
@@ -0,0 +1,3 @@
1
+ import { CardProps } from '@vef-framework/components';
2
+ export interface FlexCardProps extends CardProps {
3
+ }
@@ -0,0 +1,2 @@
1
+ import { SerializedStyles } from '@emotion/serialize';
2
+ export declare const container: SerializedStyles;
@@ -0,0 +1,18 @@
1
+ import { FormDrawerProps } from '../props';
2
+ import { MemoExoticComponent } from 'react';
3
+ interface FormActionsProps {
4
+ /**
5
+ * Submit button props
6
+ */
7
+ submitButtonProps?: FormDrawerProps<never>["submitButtonProps"];
8
+ /**
9
+ * Reset button props, or false to hide the reset button
10
+ */
11
+ resetButtonProps?: FormDrawerProps<never>["resetButtonProps"];
12
+ /**
13
+ * Callback when reset is triggered
14
+ */
15
+ onReset?: () => void;
16
+ }
17
+ export declare const FormActions: MemoExoticComponent<({ submitButtonProps, resetButtonProps, onReset }: FormActionsProps) => import("@emotion/react/jsx-runtime").JSX.Element>;
18
+ export {};
@@ -0,0 +1 @@
1
+ export { FormActions } from './form-actions';
@@ -0,0 +1,5 @@
1
+ import { Awaitable } from '@vef-framework/shared';
2
+ import { FC, ReactNode } from 'react';
3
+ import { FormDrawerProps } from './props';
4
+ export declare const FormDrawer: (<TValues extends object, TData = unknown>(props: FormDrawerProps<TValues, TData>) => Awaitable<ReactNode>) & Pick<FC, "displayName">;
5
+ export type { FormDrawerProps } from './props';
@@ -0,0 +1,70 @@
1
+ import { DrawerProps, FormApi, Length, ResetButtonProps, SubmitButtonProps } from '@vef-framework/components';
2
+ import { ApiResult, MutationFunction, MutationMeta } from '@vef-framework/core';
3
+ import { Awaitable, Except } from '@vef-framework/shared';
4
+ import { ReactNode } from 'react';
5
+ /**
6
+ * Props for the FormDrawer component
7
+ *
8
+ * @template TValues - The type of the form values
9
+ * @template TData - The type of the mutation response data
10
+ */
11
+ export interface FormDrawerProps<TValues extends object, TData = unknown> extends Pick<DrawerProps, "title" | "placement" | "resizable"> {
12
+ /**
13
+ * Whether the form drawer is visible
14
+ * @default false
15
+ */
16
+ open?: boolean;
17
+ /**
18
+ * Width of the form drawer
19
+ */
20
+ width?: Length;
21
+ /**
22
+ * Default form values
23
+ */
24
+ defaultValues?: TValues;
25
+ /**
26
+ * Whether to disable the form
27
+ * @default false
28
+ */
29
+ disabled?: boolean;
30
+ /**
31
+ * Submit button props
32
+ */
33
+ submitButtonProps?: Except<SubmitButtonProps, "onSubmit" | "disabled" | "loading">;
34
+ /**
35
+ * Reset button props, or false to hide the reset button
36
+ */
37
+ resetButtonProps?: Except<ResetButtonProps, "onReset" | "disabled" | "loading"> | false;
38
+ /**
39
+ * Mutation function to execute on submit
40
+ */
41
+ mutationFn?: MutationFunction<ApiResult<TData>, TValues>;
42
+ /**
43
+ * Mutation metadata
44
+ */
45
+ mutationMeta?: MutationMeta;
46
+ /**
47
+ * Form content, can be a ReactNode or a function that receives form API
48
+ */
49
+ children?: ReactNode | ((formApi: FormApi<TValues>) => ReactNode);
50
+ /**
51
+ * Callback before form submission
52
+ */
53
+ beforeSubmit?: (values: TValues) => Awaitable<TValues>;
54
+ /**
55
+ * Callback after successful submission
56
+ */
57
+ afterSubmit?: (values: TValues, data: TData) => Awaitable<void>;
58
+ /**
59
+ * Callback on form submit
60
+ */
61
+ onSubmit?: (values: TValues) => Awaitable<void>;
62
+ /**
63
+ * Callback on form reset
64
+ */
65
+ onReset?: (defaultValues?: TValues) => void;
66
+ /**
67
+ * Callback when drawer is closed
68
+ */
69
+ onClose?: () => void;
70
+ }
@@ -0,0 +1,18 @@
1
+ import { FormModalProps } from '../props';
2
+ import { MemoExoticComponent } from 'react';
3
+ interface FormActionsProps {
4
+ /**
5
+ * Submit button props
6
+ */
7
+ submitButtonProps?: FormModalProps<never>["submitButtonProps"];
8
+ /**
9
+ * Reset button props, or false to hide the reset button
10
+ */
11
+ resetButtonProps?: FormModalProps<never>["resetButtonProps"];
12
+ /**
13
+ * Callback when reset is triggered
14
+ */
15
+ onReset?: () => void;
16
+ }
17
+ export declare const FormActions: MemoExoticComponent<({ submitButtonProps, resetButtonProps, onReset }: FormActionsProps) => import("@emotion/react/jsx-runtime").JSX.Element>;
18
+ export {};
@@ -0,0 +1 @@
1
+ export { FormActions } from './form-actions';
@@ -0,0 +1,5 @@
1
+ import { Awaitable } from '@vef-framework/shared';
2
+ import { FC, ReactNode } from 'react';
3
+ import { FormModalProps } from './props';
4
+ export declare const FormModal: (<TValues extends object, TData = unknown>(props: FormModalProps<TValues, TData>) => Awaitable<ReactNode>) & Pick<FC, "displayName">;
5
+ export type { FormModalProps } from './props';