@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,2 @@
1
+ /*! @vef-framework/starter v2.0.2 made with ❤️ by Venus | 2025-11-25T15:03:22.856Z */
2
+ export { useRouteFullPath } from './use-route-full-path.js';
@@ -0,0 +1,28 @@
1
+ /*! @vef-framework/starter v2.0.2 made with ❤️ by Venus | 2025-11-25T15:03:22.856Z */
2
+ import { useRouter, useLocation } from '@tanstack/react-router';
3
+ import { useMemo } from 'react';
4
+
5
+ function useRouteFullPath() {
6
+ const router = useRouter();
7
+ const {
8
+ pathname,
9
+ search
10
+ } = useLocation({
11
+ select: (location) => {
12
+ return {
13
+ pathname: location.pathname,
14
+ search: location.search
15
+ };
16
+ }
17
+ });
18
+ const fullPath = useMemo(() => {
19
+ const match = router.matchRoutes(pathname, search, {
20
+ preload: false,
21
+ throwOnError: false
22
+ }).at(-1);
23
+ return match.fullPath;
24
+ }, [pathname, router, search]);
25
+ return fullPath;
26
+ }
27
+
28
+ export { useRouteFullPath };
@@ -0,0 +1,36 @@
1
+ /*! @vef-framework/starter v2.0.2 made with ❤️ by Venus | 2025-11-25T15:03:22.856Z */
2
+ import './components/index.js';
3
+ import './constants/index.js';
4
+ import './helpers/index.js';
5
+ import './routes/index.js';
6
+ import './stores/index.js';
7
+ export { createCrudKit } from './components/crud/helpers.js';
8
+ export { Crud } from './components/crud/index.js';
9
+ export { CrudPage } from './components/crud-page/index.js';
10
+ export { FlexCard } from './components/flex-card/index.js';
11
+ export { FormDrawer } from './components/form-drawer/index.js';
12
+ export { FormModal } from './components/form-modal/index.js';
13
+ export { OperationButtonGroup } from './components/pro-table/components/operation-button-group.js';
14
+ export { Page } from './components/page/index.js';
15
+ export { ProSearch } from './components/pro-search/index.js';
16
+ export { ProTable } from './components/pro-table/index.js';
17
+ export { TableSubscriber as ProTableSubscriber } from './components/pro-table/components/table-subscriber.js';
18
+ export { useViewportHeight } from './components/page/viewport-context.js';
19
+ export { RELOAD_PAGE_EVENT } from './constants/event.js';
20
+ export { ACCESS_DENIED_ROUTE_ID, ACCESS_DENIED_ROUTE_PATH, INDEX_ROUTE_ID, INDEX_ROUTE_PATH, LOGIN_ROUTE_ID, LOGIN_ROUTE_PATH } from './constants/router.js';
21
+ export { STORAGE_KEY_PREFIX_STORE, STORAGE_KEY_SUFFIX_STORE } from './constants/storage.js';
22
+ export { SYMBOL_PAGINATION, SYMBOL_SORT } from './constants/symbols.js';
23
+ export { createApiClient } from './helpers/api.js';
24
+ export { createApp } from './helpers/app.js';
25
+ export { setupAppVersionNotification } from './helpers/app-version.js';
26
+ export { handleClientLogout } from './helpers/auth.js';
27
+ export { dispatchCustomEvent, eventEmitter, reloadPage } from './helpers/event.js';
28
+ export { extractQueryParams, noopMutationFn } from './helpers/query.js';
29
+ export { createRouter } from './helpers/router.js';
30
+ export { createAccessDeniedRouteOptions } from './routes/access-denied.js';
31
+ export { createLayoutRouteOptions } from './routes/layout.js';
32
+ export { createLoginRouteOptions } from './routes/login.js';
33
+ export { createRootRouteOptions } from './routes/root.js';
34
+ export { useAppStore } from './stores/app.js';
35
+ export { useTabStore } from './stores/tab.js';
36
+ export { useThemeStore } from './stores/theme.js';
@@ -0,0 +1,27 @@
1
+ /*! @vef-framework/starter v2.0.2 made with ❤️ by Venus | 2025-11-25T15:03:22.856Z */
2
+ import '../components/index.js';
3
+ import '../constants/index.js';
4
+ import { AccessDenied } from '../components/access-denied/index.js';
5
+ import { INDEX_ROUTE_PATH } from '../constants/router.js';
6
+
7
+ function createAccessDeniedRouteOptions(getRouter) {
8
+ return {
9
+ component: AccessDenied,
10
+ beforeLoad({
11
+ location
12
+ }) {
13
+ const router = getRouter();
14
+ if (!router.state.resolvedLocation) {
15
+ if (location.state.__TSR_index === 0) {
16
+ router.navigate({
17
+ to: INDEX_ROUTE_PATH
18
+ });
19
+ } else {
20
+ router.history.back();
21
+ }
22
+ }
23
+ }
24
+ };
25
+ }
26
+
27
+ export { createAccessDeniedRouteOptions };
@@ -0,0 +1,5 @@
1
+ /*! @vef-framework/starter v2.0.2 made with ❤️ by Venus | 2025-11-25T15:03:22.856Z */
2
+ export { createAccessDeniedRouteOptions } from './access-denied.js';
3
+ export { createLayoutRouteOptions } from './layout.js';
4
+ export { createLoginRouteOptions } from './login.js';
5
+ export { createRootRouteOptions } from './root.js';
@@ -0,0 +1,136 @@
1
+ /*! @vef-framework/starter v2.0.2 made with ❤️ by Venus | 2025-11-25T15:03:22.856Z */
2
+ import { jsx } from '@emotion/react/jsx-runtime';
3
+ import { Outlet, redirect } from '@tanstack/react-router';
4
+ import { Loader, DynamicIcon } from '@vef-framework/components';
5
+ import '../components/index.js';
6
+ import '../constants/index.js';
7
+ import '../stores/index.js';
8
+ import { Layout } from '../components/layout/index.js';
9
+ import { NotFound } from '../components/not-found/index.js';
10
+ import { Error } from '../components/error/index.js';
11
+ import { useAppStore } from '../stores/app.js';
12
+ import { ACCESS_DENIED_ROUTE_PATH, LOGIN_ROUTE_PATH } from '../constants/router.js';
13
+
14
+ function createLayoutRouteOptions({
15
+ fetchUserInfo,
16
+ ...layoutProps
17
+ }) {
18
+ function LayoutComponent() {
19
+ return /* @__PURE__ */ jsx(Layout, { ...layoutProps, children: /* @__PURE__ */ jsx(Outlet, {}) });
20
+ }
21
+ return {
22
+ beforeLoad: ({
23
+ location
24
+ }) => {
25
+ const {
26
+ isAuthenticated,
27
+ userMenuMap
28
+ } = useAppStore.getState();
29
+ if (!isAuthenticated) {
30
+ throw redirect({
31
+ to: LOGIN_ROUTE_PATH,
32
+ search: {
33
+ redirect: location.href
34
+ }
35
+ });
36
+ }
37
+ if (userMenuMap && !userMenuMap.has(location.pathname)) {
38
+ throw redirect({
39
+ to: ACCESS_DENIED_ROUTE_PATH,
40
+ replace: true
41
+ });
42
+ }
43
+ },
44
+ loader: async ({
45
+ location
46
+ }) => {
47
+ const {
48
+ permTokens,
49
+ ...userInfo
50
+ } = await fetchUserInfo();
51
+ const {
52
+ menus
53
+ } = userInfo;
54
+ const userMenuMap = Object.freeze(buildUserMenuMap(menus));
55
+ const menuPathMap = Object.freeze(buildMenuPathMap(menus));
56
+ const menuItems = Object.freeze(buildMenuItems(menus));
57
+ useAppStore.setState({
58
+ ...useAppStore.getState(),
59
+ userInfo: Object.freeze(userInfo),
60
+ userMenuMap,
61
+ menuPathMap,
62
+ menuItems,
63
+ permTokens: Object.freeze(new Set(permTokens))
64
+ });
65
+ if (!userMenuMap.has(location.pathname)) {
66
+ throw redirect({
67
+ to: ACCESS_DENIED_ROUTE_PATH,
68
+ replace: true
69
+ });
70
+ }
71
+ },
72
+ pendingComponent: () => /* @__PURE__ */ jsx(Loader, { description: "页面玩命加载中, 请稍后...", descriptionSize: 18, size: 48 }),
73
+ errorComponent: Error,
74
+ notFoundComponent: NotFound,
75
+ component: LayoutComponent,
76
+ staleTime: Infinity,
77
+ shouldReload: false
78
+ };
79
+ }
80
+ function buildUserMenuMap(menus, menuMap = /* @__PURE__ */ new Map()) {
81
+ for (const menu of menus) {
82
+ const {
83
+ children,
84
+ path
85
+ } = menu;
86
+ if (children) {
87
+ buildUserMenuMap(children, menuMap);
88
+ }
89
+ menuMap.set(path, menu);
90
+ }
91
+ return menuMap;
92
+ }
93
+ function buildMenuPathMap(menus, parentPath = [], menuPathMap = /* @__PURE__ */ new Map()) {
94
+ for (const menu of menus) {
95
+ const {
96
+ path
97
+ } = menu;
98
+ menuPathMap.set(path, [...parentPath, path]);
99
+ if (menu.children) {
100
+ buildMenuPathMap(menu.children, [...parentPath, path], menuPathMap);
101
+ }
102
+ }
103
+ return menuPathMap;
104
+ }
105
+ function buildMenuItems(menus) {
106
+ return menus.filter((menu) => menu.type !== "page").map((menu) => Object.freeze(buildMenuItem(menu)));
107
+ }
108
+ function buildMenuItem(menu) {
109
+ const {
110
+ path,
111
+ type,
112
+ name,
113
+ icon
114
+ } = menu;
115
+ if (type === "directory") {
116
+ return {
117
+ type: "submenu",
118
+ key: path,
119
+ label: name,
120
+ ...icon ? {
121
+ icon: /* @__PURE__ */ jsx(DynamicIcon, { name: icon })
122
+ } : {},
123
+ children: menu.children ? buildMenuItems(menu.children) : []
124
+ };
125
+ }
126
+ return {
127
+ type: "item",
128
+ key: path,
129
+ label: name,
130
+ ...icon ? {
131
+ icon: /* @__PURE__ */ jsx(DynamicIcon, { name: icon })
132
+ } : {}
133
+ };
134
+ }
135
+
136
+ export { createLayoutRouteOptions };
@@ -0,0 +1,37 @@
1
+ /*! @vef-framework/starter v2.0.2 made with ❤️ by Venus | 2025-11-25T15:03:22.856Z */
2
+ import { jsx } from '@emotion/react/jsx-runtime';
3
+ import { redirect } from '@tanstack/react-router';
4
+ import { z } from '@vef-framework/shared';
5
+ import '../components/index.js';
6
+ import '../constants/index.js';
7
+ import '../stores/index.js';
8
+ import { Login } from '../components/login/index.js';
9
+ import { useAppStore } from '../stores/app.js';
10
+ import { INDEX_ROUTE_PATH } from '../constants/router.js';
11
+
12
+ function createLoginRouteOptions(props) {
13
+ function LoginComponent() {
14
+ return /* @__PURE__ */ jsx(Login, { ...props });
15
+ }
16
+ return {
17
+ validateSearch: z.object({
18
+ redirect: z.string().optional().default(INDEX_ROUTE_PATH).catch(INDEX_ROUTE_PATH)
19
+ }),
20
+ beforeLoad: ({
21
+ search
22
+ }) => {
23
+ if (useAppStore.getState().isAuthenticated) {
24
+ const {
25
+ redirect: redirectPath
26
+ } = search;
27
+ throw redirect({
28
+ to: redirectPath,
29
+ replace: true
30
+ });
31
+ }
32
+ },
33
+ component: LoginComponent
34
+ };
35
+ }
36
+
37
+ export { createLoginRouteOptions };
@@ -0,0 +1,31 @@
1
+ /*! @vef-framework/starter v2.0.2 made with ❤️ by Venus | 2025-11-25T15:03:22.856Z */
2
+ import { jsx } from '@emotion/react/jsx-runtime';
3
+ import { useRouteContext, useLocation, Outlet } from '@tanstack/react-router';
4
+ import { useDocumentTitle } from '@vef-framework/hooks';
5
+ import '../stores/index.js';
6
+ import { useAppStore } from '../stores/app.js';
7
+
8
+ function createRootRouteOptions({
9
+ appTitle
10
+ }) {
11
+ function RootComponent() {
12
+ const title = useRouteContext({
13
+ strict: false,
14
+ select: (context) => context.title
15
+ });
16
+ const pathname = useLocation({
17
+ select: (location) => location.pathname
18
+ });
19
+ const userMenuMap = useAppStore((state) => state.userMenuMap);
20
+ const titleToUse = title || userMenuMap?.get(pathname)?.name;
21
+ const documentTitle = titleToUse ? `${appTitle} | ${titleToUse}` : appTitle;
22
+ useDocumentTitle(documentTitle);
23
+ return /* @__PURE__ */ jsx(Outlet, {});
24
+ }
25
+ return {
26
+ component: RootComponent,
27
+ ssr: false
28
+ };
29
+ }
30
+
31
+ export { createRootRouteOptions };
@@ -0,0 +1,21 @@
1
+ /*! @vef-framework/starter v2.0.2 made with ❤️ by Venus | 2025-11-25T15:03:22.856Z */
2
+ import { createPersistedStore } from '@vef-framework/core';
3
+
4
+ const useAppStore = createPersistedStore(() => {
5
+ return {
6
+ isAuthenticated: false
7
+ };
8
+ }, {
9
+ name: "app",
10
+ selector({
11
+ isAuthenticated,
12
+ authTokens
13
+ }) {
14
+ return {
15
+ isAuthenticated,
16
+ authTokens
17
+ };
18
+ }
19
+ });
20
+
21
+ export { useAppStore };
@@ -0,0 +1,4 @@
1
+ /*! @vef-framework/starter v2.0.2 made with ❤️ by Venus | 2025-11-25T15:03:22.856Z */
2
+ export { useAppStore } from './app.js';
3
+ export { useTabStore } from './tab.js';
4
+ export { useThemeStore } from './theme.js';
@@ -0,0 +1,97 @@
1
+ /*! @vef-framework/starter v2.0.2 made with ❤️ by Venus | 2025-11-25T15:03:22.856Z */
2
+ import { createPersistedStore, originalState } from '@vef-framework/core';
3
+ import '../constants/index.js';
4
+ import { INDEX_ROUTE_PATH } from '../constants/router.js';
5
+
6
+ const useTabStore = createPersistedStore((set) => {
7
+ return {
8
+ tabs: [],
9
+ setActiveTabId(id) {
10
+ set((state) => {
11
+ state.activeTabId = id;
12
+ });
13
+ },
14
+ setTabs(tabs) {
15
+ set((state) => {
16
+ state.tabs = tabs;
17
+ });
18
+ },
19
+ addTab(tab) {
20
+ set((state) => {
21
+ if (state.tabs.every((existedTab) => existedTab.id !== tab.id)) {
22
+ state.tabs.push(tab);
23
+ }
24
+ });
25
+ },
26
+ removeTab(id, navigate) {
27
+ set((state) => {
28
+ const currentIndex = state.tabs.findIndex((tab) => tab.id === id);
29
+ if (currentIndex === -1) {
30
+ return;
31
+ }
32
+ const remainingTabs = state.tabs.filter((tab) => tab.id !== id);
33
+ if (state.activeTabId === id) {
34
+ if (remainingTabs.length > 0) {
35
+ const nextActiveTab = remainingTabs[Math.min(currentIndex, remainingTabs.length - 1)];
36
+ navigate(originalState(nextActiveTab));
37
+ } else {
38
+ navigate();
39
+ }
40
+ }
41
+ state.tabs = remainingTabs;
42
+ });
43
+ },
44
+ removeAllTabs(navigate) {
45
+ set((state) => {
46
+ const activeTab = state.tabs.find((tab) => tab.id === state.activeTabId);
47
+ state.tabs = activeTab && activeTab.fullPath === INDEX_ROUTE_PATH ? [activeTab] : [];
48
+ navigate();
49
+ });
50
+ },
51
+ removeAllTabsExcept(id, navigate) {
52
+ set((state) => {
53
+ state.tabs = state.tabs.filter((tab) => tab.id === id);
54
+ navigate(originalState(state.tabs.find((tab) => tab.id === id)));
55
+ });
56
+ },
57
+ removeLeftTabs(id, navigate) {
58
+ set((state) => {
59
+ const index = state.tabs.findIndex((tab) => tab.id === id);
60
+ if (index === -1) {
61
+ return;
62
+ }
63
+ const removedTabs = state.tabs.slice(0, index);
64
+ state.tabs = state.tabs.slice(index);
65
+ if (removedTabs.some((tab) => tab.id === state.activeTabId)) {
66
+ navigate(originalState(state.tabs.find((tab) => tab.id === id)));
67
+ }
68
+ });
69
+ },
70
+ removeRightTabs(id, navigate) {
71
+ set((state) => {
72
+ const index = state.tabs.findIndex((tab) => tab.id === id);
73
+ if (index === -1) {
74
+ return;
75
+ }
76
+ const removedTabs = state.tabs.slice(index + 1);
77
+ state.tabs = state.tabs.slice(0, index + 1);
78
+ if (removedTabs.some((tab) => tab.id === state.activeTabId)) {
79
+ navigate(originalState(state.tabs.find((tab) => tab.id === id)));
80
+ }
81
+ });
82
+ }
83
+ };
84
+ }, {
85
+ name: "tab",
86
+ selector({
87
+ activeTabId,
88
+ tabs
89
+ }) {
90
+ return {
91
+ activeTabId,
92
+ tabs
93
+ };
94
+ }
95
+ });
96
+
97
+ export { useTabStore };
@@ -0,0 +1,28 @@
1
+ /*! @vef-framework/starter v2.0.2 made with ❤️ by Venus | 2025-11-25T15:03:22.856Z */
2
+ import { createPersistedStore } from '@vef-framework/core';
3
+ import { omit } from '@vef-framework/shared';
4
+
5
+ const useThemeStore = createPersistedStore(() => {
6
+ return {
7
+ isThemeConfigVisible: false,
8
+ colorScheme: "system",
9
+ colors: {
10
+ primary: "#2b7fff",
11
+ success: "#00c950",
12
+ info: "#2b7fff",
13
+ warning: "#ff6900",
14
+ error: "#fb2c36"
15
+ },
16
+ isGrayscaleMode: false,
17
+ isColorBlindMode: false,
18
+ isMenuAccordionMode: true,
19
+ menuLayout: "vertical",
20
+ isSidebarCollapsed: false,
21
+ isMainContentMaximum: false
22
+ };
23
+ }, {
24
+ name: "theme",
25
+ selector: (state) => omit(state, ["isThemeConfigVisible"])
26
+ });
27
+
28
+ export { useThemeStore };
@@ -0,0 +1,2 @@
1
+ import { SVGProps } from 'react';
2
+ export declare function AccessDeniedIcon(props: SVGProps<SVGSVGElement>): import("@emotion/react/jsx-runtime").JSX.Element;
@@ -0,0 +1 @@
1
+ export declare function AccessDenied(): import("@emotion/react/jsx-runtime").JSX.Element;
@@ -0,0 +1,4 @@
1
+ import { AnyRouter, RegisteredRouter } from '@tanstack/react-router';
2
+ import { AppProps } from './props';
3
+ export declare function App<TRouter extends AnyRouter = RegisteredRouter, TDehydrated extends Record<string, any> = Record<string, any>>({ apiClient, appContext, appVersionNotification, router }: AppProps<TRouter, TDehydrated>): import("@emotion/react/jsx-runtime").JSX.Element;
4
+ export { type AppProps } from './props';
@@ -0,0 +1,21 @@
1
+ import { AnyRouter, RegisteredRouter, RouterProps } from '@tanstack/react-router';
2
+ import { ApiClient, AppContext } from '@vef-framework/core';
3
+ import { AppVersionNotificationOptions } from '../../helpers/app-version';
4
+ /**
5
+ * The props for the App component.
6
+ */
7
+ export interface AppProps<TRouter extends AnyRouter = RegisteredRouter, TDehydrated extends Record<string, any> = Record<string, any>> extends Pick<RouterProps<TRouter, TDehydrated>, "router"> {
8
+ /**
9
+ * The API client.
10
+ */
11
+ apiClient: ApiClient;
12
+ /**
13
+ * The app context.
14
+ */
15
+ appContext: AppContext;
16
+ /**
17
+ * App version notification options.
18
+ * Used to detect and notify users when a new version of the app is available.
19
+ */
20
+ appVersionNotification?: AppVersionNotificationOptions;
21
+ }
@@ -0,0 +1,3 @@
1
+ import { BaseLayoutProps } from './props';
2
+ export declare function BaseLayout(props: BaseLayoutProps): import("@emotion/react/jsx-runtime").JSX.Element;
3
+ export { type BaseLayoutProps } from './props';
@@ -0,0 +1,70 @@
1
+ import { PropsWithChildren, ReactNode } from 'react';
2
+ /**
3
+ * The props of the BaseLayout component.
4
+ */
5
+ export interface BaseLayoutProps extends PropsWithChildren {
6
+ /**
7
+ * The class of the main content.
8
+ */
9
+ className?: string;
10
+ /**
11
+ * The header of the layout.
12
+ */
13
+ header?: ReactNode;
14
+ /**
15
+ * The height of the header.
16
+ */
17
+ headerHeight?: number;
18
+ /**
19
+ * The class of the header.
20
+ */
21
+ headerClassName?: string;
22
+ /**
23
+ * The tabs of the layout.
24
+ */
25
+ tabs?: ReactNode;
26
+ /**
27
+ * The height of the tabs.
28
+ */
29
+ tabsHeight?: number;
30
+ /**
31
+ * The class of the tabs.
32
+ */
33
+ tabsClassName?: string;
34
+ /**
35
+ * The footer of the layout.
36
+ */
37
+ footer?: ReactNode;
38
+ /**
39
+ * The height of the footer.
40
+ */
41
+ footerHeight?: number;
42
+ /**
43
+ * The class of the footer.
44
+ */
45
+ footerClassName?: string;
46
+ /**
47
+ * The sidebar of the layout.
48
+ */
49
+ sidebar?: ReactNode;
50
+ /**
51
+ * The sidebar collapsed state.
52
+ */
53
+ isSidebarCollapsed?: boolean;
54
+ /**
55
+ * The width of the sidebar.
56
+ */
57
+ sidebarWidth?: number;
58
+ /**
59
+ * The collapsed width of the sidebar.
60
+ */
61
+ sidebarCollapsedWidth?: number;
62
+ /**
63
+ * The class of the sidebar.
64
+ */
65
+ sidebarClassName?: string;
66
+ /**
67
+ * The main content maximum state.
68
+ */
69
+ isMainContentMaximum?: boolean;
70
+ }
@@ -0,0 +1,8 @@
1
+ import { SerializedStyles } from '@emotion/serialize';
2
+ export declare const layout: SerializedStyles;
3
+ export declare const header: SerializedStyles;
4
+ export declare const tabs: SerializedStyles;
5
+ export declare const sidebar: SerializedStyles;
6
+ export declare const sidebarGap: SerializedStyles;
7
+ export declare const main: SerializedStyles;
8
+ export declare const footer: SerializedStyles;
@@ -0,0 +1,9 @@
1
+ import { CSSProperties } from 'react';
2
+ import { BaseLayoutProps } from './props';
3
+ export declare function useBaseLayout({ header, headerHeight, tabs, tabsHeight, footer, footerHeight, sidebar, isSidebarCollapsed, sidebarWidth, sidebarCollapsedWidth, isMainContentMaximum }: BaseLayoutProps): {
4
+ isHeaderVisible: boolean;
5
+ isTabsVisible: boolean;
6
+ isSidebarVisible: boolean;
7
+ isFooterVisible: boolean;
8
+ cssVars: CSSProperties;
9
+ };
@@ -0,0 +1,8 @@
1
+ import { AnyObject } from '@vef-framework/shared';
2
+ import { FC, ReactNode } from 'react';
3
+ import { CrudState } from '../store';
4
+ export interface ActionButtonGroupProps<TSearchValues extends AnyObject, TSceneFormValues extends AnyObject, TSelected = NoInfer<CrudState<any, TSearchValues, TSceneFormValues>>> {
5
+ selector?: (state: NoInfer<CrudState<any, TSearchValues, TSceneFormValues>>) => TSelected;
6
+ children: ((state: NoInfer<TSelected>) => ReactNode) | ReactNode;
7
+ }
8
+ export declare const ActionButtonGroup: (<TSearchValues extends AnyObject, TSceneFormValues extends AnyObject, TSelected = NoInfer<CrudState<any, TSearchValues, TSceneFormValues>>>(props: ActionButtonGroupProps<TSearchValues, TSceneFormValues, TSelected>) => ReactNode) & Pick<FC, "displayName">;
@@ -0,0 +1,6 @@
1
+ export { ActionButtonGroup, type ActionButtonGroupProps } from './action-button-group';
2
+ export { Main } from './main';
3
+ export { MutationHolder } from './mutation-holder';
4
+ export { OperationButtonGroup, type OperationButtonGroupProps } from './operation-button-group';
5
+ export { SceneForm } from './scene-form';
6
+ export { Toolbar } from './toolbar';
@@ -0,0 +1,6 @@
1
+ import { AnyObject, Except } from '@vef-framework/shared';
2
+ import { ReactNode } from 'react';
3
+ import { CrudProps } from '../props';
4
+ type MainProps<TRow extends AnyObject, TSearchValues extends AnyObject, TSceneFormValues extends AnyObject, TParams extends AnyObject> = Except<CrudProps<TRow, TSearchValues, TSceneFormValues, TParams>, "sceneDefaultFormValues" | "renderForm" | "defaultSearchValues" | "formMutationFns" | "beforeFormSubmit" | "afterFormSubmit" | "deleteMutationFn" | "deleteManyMutationFn" | "mutationMeta">;
5
+ export declare const Main: <TRow extends AnyObject, TSearchValues extends AnyObject, TSceneFormValues extends AnyObject, TFilter extends AnyObject>(props: MainProps<TRow, TSearchValues, TSceneFormValues, TFilter>) => ReactNode;
6
+ export {};
@@ -0,0 +1,10 @@
1
+ import { ApiResult, MutationFunction, MutationMeta } from '@vef-framework/core';
2
+ import { AnyObject, MaybeUndefined } from '@vef-framework/shared';
3
+ import { ReactNode } from 'react';
4
+ interface MutationHolderProps<TRow extends AnyObject> {
5
+ mutationMeta?: (key: string) => MaybeUndefined<MutationMeta>;
6
+ deleteMutationFn?: MutationFunction<ApiResult<unknown>, TRow>;
7
+ deleteManyMutationFn?: MutationFunction<ApiResult<unknown>, TRow[]>;
8
+ }
9
+ export declare const MutationHolder: <TRow extends AnyObject>(props: MutationHolderProps<TRow>) => ReactNode;
10
+ export {};
@@ -0,0 +1,8 @@
1
+ import { AnyObject } from '@vef-framework/shared';
2
+ import { FC, ReactNode } from 'react';
3
+ import { CrudState } from '../store';
4
+ export interface OperationButtonGroupProps<TSearchValues extends AnyObject, TSceneFormValues extends AnyObject, TSelected = NoInfer<CrudState<AnyObject, TSearchValues, TSceneFormValues>>> {
5
+ selector?: (state: NoInfer<CrudState<AnyObject, TSearchValues, TSceneFormValues>>) => TSelected;
6
+ children: ((state: NoInfer<TSelected>) => ReactNode) | ReactNode;
7
+ }
8
+ export declare const OperationButtonGroup: (<TSearchValues extends AnyObject, TSceneFormValues extends AnyObject, TSelected = NoInfer<CrudState<AnyObject, TSearchValues, TSceneFormValues>>>(props: OperationButtonGroupProps<TSearchValues, TSceneFormValues, TSelected>) => ReactNode) & Pick<FC, "displayName">;
@@ -0,0 +1,7 @@
1
+ import { AnyObject } from '@vef-framework/shared';
2
+ import { ReactNode } from 'react';
3
+ import { BaseCrudProps } from '../props';
4
+ interface SceneFormProps<TSceneFormValues extends AnyObject> extends Pick<BaseCrudProps<AnyObject, AnyObject, TSceneFormValues, AnyObject>, "renderForm" | "formMutationFns" | "beforeFormSubmit" | "afterFormSubmit" | "mutationMeta"> {
5
+ }
6
+ export declare const SceneForm: <TSceneFormValues extends AnyObject>(props: SceneFormProps<TSceneFormValues>) => ReactNode;
7
+ export {};
@@ -0,0 +1,6 @@
1
+ import { ReactNode, MemoExoticComponent } from 'react';
2
+ interface SelectionIndicatorProps {
3
+ selectionSummary?: (selectedRows: any[]) => ReactNode;
4
+ }
5
+ export declare const SelectionIndicator: MemoExoticComponent<({ selectionSummary }: SelectionIndicatorProps) => import("@emotion/react/jsx-runtime").JSX.Element>;
6
+ export {};