@finema/core 1.4.219 → 2.1.0

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 (307) hide show
  1. package/README.md +58 -39
  2. package/dist/module.d.mts +4 -24
  3. package/dist/module.json +4 -3
  4. package/dist/module.mjs +75 -213
  5. package/dist/runtime/components/App.vue +27 -0
  6. package/dist/runtime/components/App.vue.d.ts +12 -0
  7. package/dist/runtime/components/DevToolsWindow/index.vue +312 -0
  8. package/dist/runtime/components/DevToolsWindow/index.vue.d.ts +2 -0
  9. package/dist/runtime/components/Dialog/index.vue +67 -100
  10. package/dist/runtime/components/Dialog/index.vue.d.ts +10 -0
  11. package/dist/runtime/components/Empty.vue +29 -14
  12. package/dist/runtime/components/Empty.vue.d.ts +12 -0
  13. package/dist/runtime/components/FlexDeck/Base.vue +82 -87
  14. package/dist/runtime/components/FlexDeck/Base.vue.d.ts +63 -0
  15. package/dist/runtime/components/FlexDeck/index.vue +38 -39
  16. package/dist/runtime/components/FlexDeck/index.vue.d.ts +43 -0
  17. package/dist/runtime/components/Form/FieldWrapper.vue +21 -9
  18. package/dist/runtime/components/Form/FieldWrapper.vue.d.ts +16 -0
  19. package/dist/runtime/components/Form/Fields.vue +84 -222
  20. package/dist/runtime/components/Form/Fields.vue.d.ts +14 -0
  21. package/dist/runtime/components/Form/InputCheckbox/index.vue +43 -18
  22. package/dist/runtime/components/Form/InputCheckbox/index.vue.d.ts +3 -0
  23. package/dist/runtime/components/Form/InputCheckbox/types.d.ts +5 -1
  24. package/dist/runtime/components/Form/InputDateTime/date_time_field.types.d.ts +1 -1
  25. package/dist/runtime/components/Form/InputDateTime/index.vue +59 -30
  26. package/dist/runtime/components/Form/InputDateTime/index.vue.d.ts +4 -0
  27. package/dist/runtime/components/Form/InputNumber/index.vue +51 -17
  28. package/dist/runtime/components/Form/InputNumber/index.vue.d.ts +5 -0
  29. package/dist/runtime/components/Form/InputNumber/types.d.ts +10 -5
  30. package/dist/runtime/components/Form/InputSelect/index.vue +77 -37
  31. package/dist/runtime/components/Form/InputSelect/index.vue.d.ts +5 -0
  32. package/dist/runtime/components/Form/InputSelect/types.d.ts +14 -8
  33. package/dist/runtime/components/Form/InputSelectMultiple/index.vue +91 -37
  34. package/dist/runtime/components/Form/InputSelectMultiple/index.vue.d.ts +3 -0
  35. package/dist/runtime/components/Form/InputSelectMultiple/types.d.ts +9 -8
  36. package/dist/runtime/components/Form/InputText/index.vue +103 -36
  37. package/dist/runtime/components/Form/InputText/index.vue.d.ts +5 -0
  38. package/dist/runtime/components/Form/InputText/types.d.ts +4 -3
  39. package/dist/runtime/components/Form/InputTextarea/index.vue +43 -11
  40. package/dist/runtime/components/Form/InputTextarea/index.vue.d.ts +3 -0
  41. package/dist/runtime/components/Form/InputTextarea/types.d.ts +7 -2
  42. package/dist/runtime/components/Form/InputToggle/index.vue +41 -17
  43. package/dist/runtime/components/Form/InputToggle/index.vue.d.ts +3 -0
  44. package/dist/runtime/components/Form/InputToggle/types.d.ts +5 -1
  45. package/dist/runtime/components/Form/index.vue +0 -1
  46. package/dist/runtime/components/Form/index.vue.d.ts +12 -0
  47. package/dist/runtime/components/Form/types.d.ts +13 -27
  48. package/dist/runtime/components/Image.vue +47 -32
  49. package/dist/runtime/components/Image.vue.d.ts +13 -0
  50. package/dist/runtime/components/Loader.vue +21 -19
  51. package/dist/runtime/components/Loader.vue.d.ts +22 -0
  52. package/dist/runtime/components/{LogItem.vue → Log/LogItem.vue} +19 -16
  53. package/dist/runtime/components/Log/LogItem.vue.d.ts +6 -0
  54. package/dist/runtime/components/Log/index.vue +28 -0
  55. package/dist/runtime/components/Log/index.vue.d.ts +7 -0
  56. package/dist/runtime/components/Table/Base.vue +103 -98
  57. package/dist/runtime/components/Table/Base.vue.d.ts +47 -0
  58. package/dist/runtime/components/Table/ColumnDate.vue +10 -12
  59. package/dist/runtime/components/Table/ColumnDate.vue.d.ts +8 -0
  60. package/dist/runtime/components/Table/ColumnDateTime.vue +11 -13
  61. package/dist/runtime/components/Table/ColumnDateTime.vue.d.ts +8 -0
  62. package/dist/runtime/components/Table/ColumnImage.vue +12 -11
  63. package/dist/runtime/components/Table/ColumnImage.vue.d.ts +8 -0
  64. package/dist/runtime/components/Table/ColumnNumber.vue +12 -12
  65. package/dist/runtime/components/Table/ColumnNumber.vue.d.ts +8 -0
  66. package/dist/runtime/components/Table/ColumnText.vue +19 -24
  67. package/dist/runtime/components/Table/ColumnText.vue.d.ts +8 -0
  68. package/dist/runtime/components/Table/Simple.vue +41 -42
  69. package/dist/runtime/components/Table/Simple.vue.d.ts +24 -0
  70. package/dist/runtime/components/Table/index.vue +159 -46
  71. package/dist/runtime/components/Table/index.vue.d.ts +25 -0
  72. package/dist/runtime/components/Table/types.d.ts +14 -18
  73. package/dist/runtime/components/Table/{types.mjs → types.js} +1 -0
  74. package/dist/runtime/components/TeleportSafe.vue +31 -29
  75. package/dist/runtime/components/TeleportSafe.vue.d.ts +16 -0
  76. package/dist/runtime/composables/loaderList.d.ts +2 -2
  77. package/dist/runtime/composables/loaderList.js +51 -0
  78. package/dist/runtime/composables/loaderObject.d.ts +1 -1
  79. package/dist/runtime/composables/loaderObject.js +50 -0
  80. package/dist/runtime/composables/loaderPage.d.ts +10 -11
  81. package/dist/runtime/composables/loaderPage.js +243 -0
  82. package/dist/runtime/composables/useApp.d.ts +4 -9
  83. package/dist/runtime/composables/{useApp.mjs → useApp.js} +0 -12
  84. package/dist/runtime/composables/useConfig.d.ts +3 -3
  85. package/dist/runtime/composables/useConfig.js +12 -0
  86. package/dist/runtime/composables/useDialog.d.ts +1 -7
  87. package/dist/runtime/composables/useDialog.js +53 -0
  88. package/dist/runtime/composables/useFlexDeck.d.ts +1 -1
  89. package/dist/runtime/composables/{useFlexDeck.mjs → useFlexDeck.js} +5 -5
  90. package/dist/runtime/composables/useForm.d.ts +5 -2
  91. package/dist/runtime/composables/useForm.js +37 -0
  92. package/dist/runtime/composables/useNotification.d.ts +6 -22
  93. package/dist/runtime/composables/{useNotification.mjs → useNotification.js} +5 -21
  94. package/dist/runtime/composables/useTable.d.ts +12 -11
  95. package/dist/runtime/composables/{useTable.mjs → useTable.js} +3 -8
  96. package/dist/runtime/composables/useUpload.d.ts +2 -2
  97. package/dist/runtime/composables/{useUpload.mjs → useUpload.js} +1 -1
  98. package/dist/runtime/helpers/apiBaseHelper.d.ts +29 -0
  99. package/dist/runtime/helpers/apiBaseHelper.js +63 -0
  100. package/dist/runtime/helpers/apiListHelper.d.ts +4 -6
  101. package/dist/runtime/helpers/apiListHelper.js +50 -0
  102. package/dist/runtime/helpers/apiObjectHelper.d.ts +19 -20
  103. package/dist/runtime/helpers/apiObjectHelper.js +51 -0
  104. package/dist/runtime/helpers/apiPageHelper.d.ts +44 -44
  105. package/dist/runtime/helpers/apiPageHelper.js +287 -0
  106. package/dist/runtime/helpers/componentHelper.d.ts +11 -12
  107. package/dist/runtime/helpers/{componentHelper.mjs → componentHelper.js} +2 -7
  108. package/dist/runtime/i18n/valibot.d.ts +69 -0
  109. package/dist/runtime/i18n/valibot.js +72 -0
  110. package/dist/runtime/plugin.d.ts +1 -1
  111. package/dist/runtime/plugin.js +12 -0
  112. package/dist/runtime/server/tsconfig.json +3 -0
  113. package/dist/runtime/theme/button.d.ts +5 -0
  114. package/dist/runtime/theme/button.js +1 -0
  115. package/dist/runtime/theme/dialog.d.ts +31 -0
  116. package/dist/runtime/theme/dialog.js +21 -0
  117. package/dist/runtime/theme/empty.d.ts +7 -0
  118. package/dist/runtime/theme/empty.js +7 -0
  119. package/dist/runtime/theme/form.d.ts +18 -0
  120. package/dist/runtime/theme/form.js +16 -0
  121. package/dist/runtime/theme/index.d.ts +10 -0
  122. package/dist/runtime/theme/index.js +10 -0
  123. package/dist/runtime/theme/input.d.ts +8 -0
  124. package/dist/runtime/theme/input.js +4 -0
  125. package/dist/runtime/theme/inputNumber.d.ts +8 -0
  126. package/dist/runtime/theme/inputNumber.js +4 -0
  127. package/dist/runtime/theme/loader.d.ts +28 -0
  128. package/dist/runtime/theme/loader.js +18 -0
  129. package/dist/runtime/theme/selectMenu.d.ts +17 -0
  130. package/dist/runtime/theme/selectMenu.js +18 -0
  131. package/dist/runtime/theme/table.d.ts +10 -0
  132. package/dist/runtime/theme/table.js +10 -0
  133. package/dist/runtime/theme/textarea.d.ts +5 -0
  134. package/dist/runtime/theme/textarea.js +1 -0
  135. package/dist/runtime/types/lib.d.ts +1 -1
  136. package/dist/runtime/utils/ArrayHelper.d.ts +1 -1
  137. package/dist/runtime/utils/{ArrayHelper.mjs → ArrayHelper.js} +1 -1
  138. package/dist/runtime/utils/ObjectHelper.d.ts +3 -3
  139. package/dist/runtime/utils/{ObjectHelper.mjs → ObjectHelper.js} +3 -3
  140. package/dist/runtime/utils/ParamHelper.d.ts +1 -1
  141. package/dist/runtime/utils/{ParamHelper.mjs → ParamHelper.js} +1 -1
  142. package/dist/types.d.mts +2 -15
  143. package/package.json +54 -63
  144. package/dist/module.cjs +0 -5
  145. package/dist/module.d.ts +0 -50
  146. package/dist/runtime/components/Alert.vue +0 -48
  147. package/dist/runtime/components/Avatar.vue +0 -27
  148. package/dist/runtime/components/Badge.vue +0 -11
  149. package/dist/runtime/components/Breadcrumb.vue +0 -44
  150. package/dist/runtime/components/Button/Group.vue +0 -37
  151. package/dist/runtime/components/Button/index.vue +0 -75
  152. package/dist/runtime/components/Card.vue +0 -38
  153. package/dist/runtime/components/Core.vue +0 -45
  154. package/dist/runtime/components/Dropdown/index.vue +0 -70
  155. package/dist/runtime/components/Dropdown/types.d.ts +0 -2
  156. package/dist/runtime/components/Dropdown/types.mjs +0 -17
  157. package/dist/runtime/components/Form/InputDateTimeRange/date_range_time_field.types.d.ts +0 -17
  158. package/dist/runtime/components/Form/InputDateTimeRange/index.vue +0 -91
  159. package/dist/runtime/components/Form/InputRadio/index.vue +0 -27
  160. package/dist/runtime/components/Form/InputRadio/types.d.ts +0 -8
  161. package/dist/runtime/components/Form/InputStatic/index.vue +0 -16
  162. package/dist/runtime/components/Form/InputStatic/types.d.ts +0 -4
  163. package/dist/runtime/components/Form/InputTags/index.vue +0 -141
  164. package/dist/runtime/components/Form/InputTags/types.d.ts +0 -11
  165. package/dist/runtime/components/Form/InputTextarea/types.mjs +0 -0
  166. package/dist/runtime/components/Form/InputToggle/types.mjs +0 -0
  167. package/dist/runtime/components/Form/InputUploadDropzone/index.vue +0 -206
  168. package/dist/runtime/components/Form/InputUploadDropzone/types.d.ts +0 -11
  169. package/dist/runtime/components/Form/InputUploadDropzone/types.mjs +0 -0
  170. package/dist/runtime/components/Form/InputUploadDropzoneAuto/index.vue +0 -362
  171. package/dist/runtime/components/Form/InputUploadDropzoneAuto/types.d.ts +0 -23
  172. package/dist/runtime/components/Form/InputUploadDropzoneAuto/types.mjs +0 -0
  173. package/dist/runtime/components/Form/InputUploadDropzoneAutoMultiple/ItemUpload.vue +0 -241
  174. package/dist/runtime/components/Form/InputUploadDropzoneAutoMultiple/ItemView.vue +0 -110
  175. package/dist/runtime/components/Form/InputUploadDropzoneAutoMultiple/index.vue +0 -171
  176. package/dist/runtime/components/Form/InputUploadDropzoneAutoMultiple/types.d.ts +0 -23
  177. package/dist/runtime/components/Form/InputUploadDropzoneAutoMultiple/types.mjs +0 -0
  178. package/dist/runtime/components/Form/InputUploadDropzoneImageAutoMultiple/ItemUpload.vue +0 -161
  179. package/dist/runtime/components/Form/InputUploadDropzoneImageAutoMultiple/ItemView.vue +0 -64
  180. package/dist/runtime/components/Form/InputUploadDropzoneImageAutoMultiple/index.vue +0 -178
  181. package/dist/runtime/components/Form/InputUploadDropzoneImageAutoMultiple/types.d.ts +0 -21
  182. package/dist/runtime/components/Form/InputUploadDropzoneImageAutoMultiple/types.mjs +0 -0
  183. package/dist/runtime/components/Form/InputUploadFileClassic/index.vue +0 -95
  184. package/dist/runtime/components/Form/InputUploadFileClassic/types.d.ts +0 -13
  185. package/dist/runtime/components/Form/InputUploadFileClassic/types.mjs +0 -0
  186. package/dist/runtime/components/Form/InputUploadFileClassicAuto/index.vue +0 -151
  187. package/dist/runtime/components/Form/InputUploadFileClassicAuto/types.d.ts +0 -18
  188. package/dist/runtime/components/Form/InputUploadFileClassicAuto/types.mjs +0 -0
  189. package/dist/runtime/components/Form/InputUploadImageAuto/index.vue +0 -219
  190. package/dist/runtime/components/Form/InputUploadImageAuto/types.d.ts +0 -20
  191. package/dist/runtime/components/Form/InputUploadImageAuto/types.mjs +0 -0
  192. package/dist/runtime/components/Form/InputWYSIWYG/UploadImageForm.vue +0 -55
  193. package/dist/runtime/components/Form/InputWYSIWYG/index.vue +0 -230
  194. package/dist/runtime/components/Form/InputWYSIWYG/types.d.ts +0 -19
  195. package/dist/runtime/components/Form/InputWYSIWYG/types.mjs +0 -0
  196. package/dist/runtime/components/Icon.vue +0 -23
  197. package/dist/runtime/components/Log.vue +0 -22
  198. package/dist/runtime/components/Modal/index.vue +0 -146
  199. package/dist/runtime/components/OTPInput.vue +0 -127
  200. package/dist/runtime/components/QRCode.vue +0 -22
  201. package/dist/runtime/components/SimplePagination.vue +0 -96
  202. package/dist/runtime/components/Slideover/index.vue +0 -110
  203. package/dist/runtime/components/Tabs/index.vue +0 -64
  204. package/dist/runtime/composables/loaderList.mjs +0 -52
  205. package/dist/runtime/composables/loaderObject.mjs +0 -52
  206. package/dist/runtime/composables/loaderPage.mjs +0 -229
  207. package/dist/runtime/composables/useConfig.mjs +0 -9
  208. package/dist/runtime/composables/useDialog.mjs +0 -81
  209. package/dist/runtime/composables/useForm.mjs +0 -18
  210. package/dist/runtime/core.config.d.ts +0 -14
  211. package/dist/runtime/core.config.mjs +0 -14
  212. package/dist/runtime/helpers/apiListHelper.mjs +0 -44
  213. package/dist/runtime/helpers/apiObjectHelper.mjs +0 -46
  214. package/dist/runtime/helpers/apiPageHelper.mjs +0 -270
  215. package/dist/runtime/plugin.mjs +0 -149
  216. package/dist/runtime/types/common.mjs +0 -0
  217. package/dist/runtime/types/config.d.ts +0 -1
  218. package/dist/runtime/types/config.mjs +0 -0
  219. package/dist/runtime/types/lib.mjs +0 -0
  220. package/dist/runtime/ui.config/alert.d.ts +0 -3
  221. package/dist/runtime/ui.config/alert.mjs +0 -6
  222. package/dist/runtime/ui.config/badge.d.ts +0 -3
  223. package/dist/runtime/ui.config/badge.mjs +0 -1
  224. package/dist/runtime/ui.config/breadcrumb.d.ts +0 -1
  225. package/dist/runtime/ui.config/breadcrumb.mjs +0 -7
  226. package/dist/runtime/ui.config/button.d.ts +0 -3
  227. package/dist/runtime/ui.config/button.mjs +0 -8
  228. package/dist/runtime/ui.config/buttonGroup.d.ts +0 -3
  229. package/dist/runtime/ui.config/buttonGroup.mjs +0 -1
  230. package/dist/runtime/ui.config/card.d.ts +0 -1
  231. package/dist/runtime/ui.config/card.mjs +0 -2
  232. package/dist/runtime/ui.config/checkbox.d.ts +0 -3
  233. package/dist/runtime/ui.config/checkbox.mjs +0 -1
  234. package/dist/runtime/ui.config/formGroup.d.ts +0 -3
  235. package/dist/runtime/ui.config/formGroup.mjs +0 -5
  236. package/dist/runtime/ui.config/icon.d.ts +0 -3
  237. package/dist/runtime/ui.config/icon.mjs +0 -3
  238. package/dist/runtime/ui.config/index.d.ts +0 -16
  239. package/dist/runtime/ui.config/index.mjs +0 -16
  240. package/dist/runtime/ui.config/input.d.ts +0 -3
  241. package/dist/runtime/ui.config/input.mjs +0 -5
  242. package/dist/runtime/ui.config/modal.d.ts +0 -1
  243. package/dist/runtime/ui.config/modal.mjs +0 -34
  244. package/dist/runtime/ui.config/notification.d.ts +0 -11
  245. package/dist/runtime/ui.config/notification.mjs +0 -13
  246. package/dist/runtime/ui.config/notifications.d.ts +0 -3
  247. package/dist/runtime/ui.config/notifications.mjs +0 -3
  248. package/dist/runtime/ui.config/pagination.d.ts +0 -3
  249. package/dist/runtime/ui.config/pagination.mjs +0 -37
  250. package/dist/runtime/ui.config/select.d.ts +0 -3
  251. package/dist/runtime/ui.config/select.mjs +0 -5
  252. package/dist/runtime/ui.config/selectMenu.d.ts +0 -3
  253. package/dist/runtime/ui.config/selectMenu.mjs +0 -5
  254. package/dist/runtime/ui.config/slideover.d.ts +0 -1
  255. package/dist/runtime/ui.config/slideover.mjs +0 -16
  256. package/dist/runtime/ui.config/table.d.ts +0 -3
  257. package/dist/runtime/ui.config/table.mjs +0 -47
  258. package/dist/runtime/ui.config/tabs.d.ts +0 -3
  259. package/dist/runtime/ui.config/tabs.mjs +0 -4
  260. package/dist/runtime/ui.config/tags.d.ts +0 -25
  261. package/dist/runtime/ui.config/tags.mjs +0 -25
  262. package/dist/runtime/ui.config/textarea.d.ts +0 -3
  263. package/dist/runtime/ui.config/textarea.mjs +0 -5
  264. package/dist/runtime/ui.config/toggle.d.ts +0 -3
  265. package/dist/runtime/ui.config/toggle.mjs +0 -5
  266. package/dist/runtime/ui.config/uploadDropzoneImage.d.ts +0 -83
  267. package/dist/runtime/ui.config/uploadDropzoneImage.mjs +0 -26
  268. package/dist/runtime/ui.config/uploadFileDropzone.d.ts +0 -61
  269. package/dist/runtime/ui.config/uploadFileDropzone.mjs +0 -61
  270. package/dist/runtime/ui.config/uploadFileInputClassicAuto.d.ts +0 -8
  271. package/dist/runtime/ui.config/uploadFileInputClassicAuto.mjs +0 -8
  272. package/dist/runtime/ui.config/uploadImage.d.ts +0 -34
  273. package/dist/runtime/ui.config/uploadImage.mjs +0 -36
  274. package/dist/runtime/ui.css +0 -1
  275. package/dist/runtime/utils/ArrayHelper.spec.d.ts +0 -1
  276. package/dist/runtime/utils/ArrayHelper.spec.mjs +0 -112
  277. package/dist/runtime/utils/FileHelper.spec.d.ts +0 -1
  278. package/dist/runtime/utils/FileHelper.spec.mjs +0 -14
  279. package/dist/runtime/utils/ObjectHelper.spec.d.ts +0 -1
  280. package/dist/runtime/utils/ObjectHelper.spec.mjs +0 -52
  281. package/dist/runtime/utils/ParamHelper.spec.d.ts +0 -1
  282. package/dist/runtime/utils/ParamHelper.spec.mjs +0 -78
  283. package/dist/runtime/utils/StringHelper.spec.d.ts +0 -1
  284. package/dist/runtime/utils/StringHelper.spec.mjs +0 -76
  285. package/dist/runtime/utils/TimeHelper.spec.d.ts +0 -1
  286. package/dist/runtime/utils/TimeHelper.spec.mjs +0 -79
  287. package/dist/runtime/utils/TimeHelper.thai.spec.d.ts +0 -1
  288. package/dist/runtime/utils/TimeHelper.thai.spec.mjs +0 -31
  289. package/dist/types.d.ts +0 -16
  290. package/dist/runtime/components/FlexDeck/{types.mjs → types.js} +0 -0
  291. package/dist/runtime/components/Form/InputCheckbox/{types.mjs → types.js} +0 -0
  292. package/dist/runtime/components/Form/InputDateTime/{date_time_field.types.mjs → date_time_field.types.js} +0 -0
  293. package/dist/runtime/components/Form/{InputDateTimeRange/date_range_time_field.types.mjs → InputNumber/types.js} +0 -0
  294. package/dist/runtime/components/Form/{InputNumber/types.mjs → InputSelect/types.js} +0 -0
  295. package/dist/runtime/components/Form/{InputRadio/types.mjs → InputSelectMultiple/types.js} +0 -0
  296. package/dist/runtime/components/Form/{InputSelect/types.mjs → InputText/types.js} +0 -0
  297. package/dist/runtime/components/Form/{InputSelectMultiple/types.mjs → InputTextarea/types.js} +0 -0
  298. package/dist/runtime/components/Form/{InputStatic/types.mjs → InputToggle/types.js} +0 -0
  299. package/dist/runtime/components/Form/{types.mjs → types.js} +0 -0
  300. package/dist/runtime/composables/{useWatch.mjs → useWatch.js} +0 -0
  301. package/dist/runtime/lib/{Requester.mjs → Requester.js} +0 -0
  302. package/dist/runtime/{components/Form/InputTags/types.mjs → types/common.js} +0 -0
  303. package/dist/runtime/{components/Form/InputText/types.mjs → types/lib.js} +0 -0
  304. package/dist/runtime/utils/{FileHelper.mjs → FileHelper.js} +0 -0
  305. package/dist/runtime/utils/{StringHelper.mjs → StringHelper.js} +0 -0
  306. package/dist/runtime/utils/{TimeHelper.mjs → TimeHelper.js} +1 -1
  307. /package/dist/runtime/utils/{lodash.mjs → lodash.js} +0 -0
@@ -0,0 +1,243 @@
1
+ import { reactive } from "vue";
2
+ import { ObjectHelper } from "../utils/ObjectHelper.js";
3
+ import {
4
+ apiAddHelper,
5
+ apiDeleteHelper,
6
+ apiFetchHelper,
7
+ apiFindHelper,
8
+ updateHelper
9
+ } from "../helpers/apiPageHelper.js";
10
+ import { useCoreConfig } from "./useConfig.js";
11
+ export const initPageOptions = (options) => ({
12
+ currentPageCount: 0,
13
+ currentPage: 1,
14
+ totalPage: 0,
15
+ totalCount: 0,
16
+ limit: options.limit,
17
+ search: "",
18
+ primary: options.primary
19
+ });
20
+ export const usePageLoader = (loaderOptions) => {
21
+ const config = useCoreConfig();
22
+ const fetch = reactive({
23
+ status: ObjectHelper.createStatus(),
24
+ items: [],
25
+ options: initPageOptions({
26
+ limit: config.limit_per_page,
27
+ primary: config.default_primary_key
28
+ })
29
+ });
30
+ const find = reactive({
31
+ status: ObjectHelper.createStatus(),
32
+ item: null,
33
+ options: {}
34
+ });
35
+ const add = reactive({
36
+ status: ObjectHelper.createStatus(),
37
+ item: null,
38
+ options: {}
39
+ });
40
+ const update = reactive({
41
+ status: ObjectHelper.createStatus(),
42
+ item: null,
43
+ options: {}
44
+ });
45
+ const del = reactive({
46
+ // Using 'del' as a variable name since 'delete' is a reserved keyword
47
+ status: ObjectHelper.createStatus(),
48
+ item: null,
49
+ options: {}
50
+ });
51
+ const clearAll = () => {
52
+ find.status = ObjectHelper.createStatus();
53
+ del.status = ObjectHelper.createStatus();
54
+ add.status = ObjectHelper.createStatus();
55
+ update.status = ObjectHelper.createStatus();
56
+ fetch.status = ObjectHelper.createStatus();
57
+ find.item = null;
58
+ del.item = null;
59
+ update.item = null;
60
+ add.item = null;
61
+ fetch.items = [];
62
+ fetch.options = initPageOptions({
63
+ limit: config.limit_per_page,
64
+ primary: config.default_primary_key
65
+ });
66
+ find.options = {};
67
+ add.options = {};
68
+ update.options = {};
69
+ del.options = {};
70
+ };
71
+ const fetchSetLoading = () => {
72
+ fetch.items = [];
73
+ fetch.status = ObjectHelper.toLoadingStatus(fetch.status);
74
+ };
75
+ const findSetLoading = () => {
76
+ find.status = ObjectHelper.toLoadingStatus(find.status);
77
+ };
78
+ const fetchPage = async (page = 1, query = "", opts) => {
79
+ return await apiFetchHelper(
80
+ () => ({
81
+ status: fetch.status,
82
+ items: fetch.items,
83
+ options: fetch.options
84
+ }),
85
+ (data) => {
86
+ fetch.status = data;
87
+ },
88
+ (data) => {
89
+ fetch.options = data;
90
+ },
91
+ (data) => {
92
+ fetch.items = data;
93
+ },
94
+ page,
95
+ query,
96
+ {
97
+ ...loaderOptions,
98
+ ...opts
99
+ }
100
+ );
101
+ };
102
+ const findRun = async (id, opts) => {
103
+ return await apiFindHelper(
104
+ () => ({
105
+ status: find.status,
106
+ data: find.item,
107
+ options: find.options
108
+ }),
109
+ (data) => {
110
+ find.status = data;
111
+ },
112
+ (data) => {
113
+ find.options = data;
114
+ },
115
+ (data) => {
116
+ find.item = data;
117
+ },
118
+ id,
119
+ {
120
+ ...loaderOptions,
121
+ ...opts
122
+ }
123
+ );
124
+ };
125
+ const addRun = async (payload) => {
126
+ return await apiAddHelper(
127
+ () => ({
128
+ items: fetch.items,
129
+ status: add.status,
130
+ data: add.item,
131
+ options: add.options
132
+ }),
133
+ (data) => {
134
+ add.status = data;
135
+ },
136
+ (data) => {
137
+ add.options = data;
138
+ },
139
+ (data) => {
140
+ add.item = data;
141
+ },
142
+ (data) => {
143
+ fetch.items = data;
144
+ },
145
+ payload.data,
146
+ {
147
+ ...loaderOptions,
148
+ ...payload
149
+ }
150
+ );
151
+ };
152
+ const updateRun = async (id, payload) => {
153
+ return await updateHelper(
154
+ () => ({
155
+ items: fetch.items,
156
+ status: update.status,
157
+ data: update.item,
158
+ oldData: find.item,
159
+ options: update.options
160
+ }),
161
+ (data) => {
162
+ update.status = data;
163
+ },
164
+ (data) => {
165
+ update.options = data;
166
+ },
167
+ (data) => {
168
+ update.item = data;
169
+ },
170
+ (data) => {
171
+ fetch.items = data;
172
+ },
173
+ (data) => {
174
+ find.item = data;
175
+ },
176
+ id,
177
+ payload.data,
178
+ {
179
+ ...loaderOptions,
180
+ ...payload
181
+ }
182
+ );
183
+ };
184
+ const fetchSearch = async (query = "", opts) => {
185
+ return fetchPage(1, query, opts);
186
+ };
187
+ const fetchPageChange = async (page, opts) => {
188
+ const {
189
+ page: _page,
190
+ ...params
191
+ } = fetch.options?.request?.params || {};
192
+ return fetchPage(page, "", {
193
+ params,
194
+ ...opts
195
+ });
196
+ };
197
+ const deleteRun = async (id, opts) => {
198
+ return await apiDeleteHelper(
199
+ () => ({
200
+ status: del.status,
201
+ data: del.item,
202
+ items: fetch.items,
203
+ options: del.options
204
+ }),
205
+ (data) => {
206
+ del.status = data;
207
+ },
208
+ (data) => {
209
+ del.options = data;
210
+ },
211
+ (data) => {
212
+ del.item = data;
213
+ },
214
+ (data) => {
215
+ fetch.items = data;
216
+ },
217
+ id,
218
+ {
219
+ ...loaderOptions,
220
+ ...opts
221
+ }
222
+ );
223
+ };
224
+ return {
225
+ // State and methods
226
+ fetch,
227
+ find,
228
+ add,
229
+ update,
230
+ delete: del,
231
+ // Rename del to delete in the return object
232
+ fetchPage,
233
+ fetchSearch,
234
+ fetchPageChange,
235
+ fetchSetLoading,
236
+ findSetLoading,
237
+ findRun,
238
+ addRun,
239
+ updateRun,
240
+ deleteRun,
241
+ clearAll
242
+ };
243
+ };
@@ -1,19 +1,14 @@
1
- import { type BreadcrumbLink } from '#ui/types';
1
+ import type { BreadcrumbItem } from '@nuxt/ui';
2
2
  export interface IDefinePageItem {
3
3
  title?: string;
4
4
  sub_title?: string;
5
5
  isHideBreadcrumbs?: boolean;
6
- breadcrumbs?: BreadcrumbLink[];
6
+ breadcrumbs?: BreadcrumbItem[];
7
7
  }
8
8
  export declare const useApp: import("pinia").StoreDefinition<"_app", {
9
9
  pageMeta: IDefinePageItem;
10
- sidebar: BreadcrumbLink[];
10
+ sidebar: BreadcrumbItem[];
11
11
  }, {}, {
12
12
  definePage(payload: IDefinePageItem): void;
13
- defineSidebar(items: BreadcrumbLink[]): void;
14
- defineSEO(payload: {
15
- title?: string;
16
- description?: string;
17
- image?: string;
18
- }): void;
13
+ defineSidebar(items: BreadcrumbItem[]): void;
19
14
  }>;
@@ -1,4 +1,3 @@
1
- import { useCoreConfig, useSeoMeta } from "#imports";
2
1
  import { defineStore } from "pinia";
3
2
  export const useApp = defineStore("_app", {
4
3
  state: () => ({
@@ -14,17 +13,6 @@ export const useApp = defineStore("_app", {
14
13
  },
15
14
  defineSidebar(items) {
16
15
  this.sidebar = items;
17
- },
18
- defineSEO(payload) {
19
- const coreConfig = useCoreConfig();
20
- useSeoMeta({
21
- title: payload.title,
22
- titleTemplate: (title) => title ? `${title} | ${coreConfig.site_name}` : coreConfig.site_name,
23
- ogTitle: payload.title,
24
- description: payload.description,
25
- ogDescription: payload.description,
26
- ogImage: payload.image
27
- });
28
16
  }
29
17
  }
30
18
  });
@@ -1,3 +1,3 @@
1
- import { type UIComponentList } from '../types/config';
2
- export declare const useCoreConfig: () => any;
3
- export declare const useUiConfig: <T>(config: object, name: UIComponentList) => any;
1
+ import type { core as Core } from '../../core.config.js';
2
+ export declare const useCoreConfig: () => typeof Core;
3
+ export declare const useUiConfig: (config: object, name: string) => any;
@@ -0,0 +1,12 @@
1
+ import { tv } from "tailwind-variants";
2
+ import _appConfig from "#build/app.config";
3
+ export const useCoreConfig = () => {
4
+ return _appConfig.core;
5
+ };
6
+ export const useUiConfig = (config, name) => {
7
+ const appConfig = _appConfig;
8
+ return tv({
9
+ extend: tv(config),
10
+ ...appConfig.ui[name] || {}
11
+ });
12
+ };
@@ -7,20 +7,14 @@ export declare const enum DialogType {
7
7
  export interface IDialogMetaItem {
8
8
  title: string;
9
9
  description?: string;
10
+ icon?: string;
10
11
  type?: DialogType;
11
12
  confirmText?: string;
12
13
  cancelText?: string;
13
14
  isShowCancelBtn?: boolean;
14
15
  isHideIcon?: boolean;
15
- confirmButtonClassName?: string;
16
- cancelButtonClassName?: string;
17
16
  }
18
17
  export interface IDialog {
19
- isShow: boolean;
20
- meta: IDialogMetaItem | undefined;
21
- openDialog: (meta: IDialogMetaItem) => void;
22
- closeDialogCancel: () => void;
23
- closeDialogProceed: () => void;
24
18
  error: (payload: IDialogMetaItem) => Promise<boolean>;
25
19
  info: (payload: IDialogMetaItem) => Promise<boolean>;
26
20
  success: (payload: IDialogMetaItem) => Promise<boolean>;
@@ -0,0 +1,53 @@
1
+ import Dialog from "../components/Dialog/index.vue";
2
+ import { useOverlay } from "#imports";
3
+ export var DialogType = /* @__PURE__ */ ((DialogType2) => {
4
+ DialogType2["ERROR"] = "error";
5
+ DialogType2["INFO"] = "info";
6
+ DialogType2["SUCCESS"] = "success";
7
+ DialogType2["WARNING"] = "warning";
8
+ return DialogType2;
9
+ })(DialogType || {});
10
+ export const useDialog = () => {
11
+ const overlay = useOverlay();
12
+ const openDialog = async (payload) => {
13
+ const modal = overlay.create(Dialog, { props: payload });
14
+ const result = await modal.open();
15
+ const res = await result.result;
16
+ return new Promise((resolve, reject) => {
17
+ if (res) {
18
+ resolve(true);
19
+ }
20
+ reject(false);
21
+ });
22
+ };
23
+ const error = async (payload) => {
24
+ return openDialog({
25
+ ...payload,
26
+ type: "error" /* ERROR */
27
+ });
28
+ };
29
+ const success = async (payload) => {
30
+ return openDialog({
31
+ ...payload,
32
+ type: "success" /* SUCCESS */
33
+ });
34
+ };
35
+ const info = async (payload) => {
36
+ return openDialog({
37
+ ...payload,
38
+ type: "info" /* INFO */
39
+ });
40
+ };
41
+ const warning = async (payload) => {
42
+ return openDialog({
43
+ ...payload,
44
+ type: "warning" /* WARNING */
45
+ });
46
+ };
47
+ return {
48
+ error,
49
+ success,
50
+ info,
51
+ warning
52
+ };
53
+ };
@@ -1,7 +1,7 @@
1
1
  import type { ComputedRef } from 'vue';
2
+ import type { Store } from 'pinia';
2
3
  import type { IUsePageLoader } from '#core/helpers/apiPageHelper';
3
4
  import type { IFlexDeckOptions } from '#core/components/FlexDeck/types';
4
- import type { Store } from 'pinia';
5
5
  export interface IUseFlexDeck<T = object> {
6
6
  repo: IUsePageLoader<T> | Store<any, any>;
7
7
  options?: (() => Partial<IFlexDeckOptions<T>>) | Partial<IFlexDeckOptions<T>>;
@@ -1,12 +1,12 @@
1
- import { computed, useCoreConfig } from "#imports";
2
1
  import { get } from "@vueuse/core";
2
+ import { computed, useCoreConfig } from "#imports";
3
3
  export const createFlexDeckOptions = (repo, options) => {
4
4
  const config = useCoreConfig();
5
5
  return {
6
- rawData: get(repo.fetchItems),
7
- pageOptions: get(repo.fetchOptions),
8
- status: get(repo.fetchStatus),
9
- primary: get(repo.fetchOptions).primary ?? config.default_primary_key,
6
+ rawData: get(repo.fetch.items),
7
+ pageOptions: get(repo.fetch.options),
8
+ status: get(repo.fetch.status),
9
+ primary: get(repo.fetch.options).primary || config.default_primary_key,
10
10
  isPreventRouteChange: false,
11
11
  ...options
12
12
  };
@@ -1,9 +1,12 @@
1
- import { type ComputedRef } from 'vue';
1
+ import type { ComputedRef } from 'vue';
2
2
  import { type FieldContext, type FieldOptions } from 'vee-validate';
3
- import { type IFieldProps, type IFormField } from '../components/Form/types';
3
+ import type { IFieldProps, IFormField } from '../components/Form/types.js';
4
4
  interface IFieldContext<TValue> extends FieldContext<TValue> {
5
5
  wrapperProps: ComputedRef<IFieldProps>;
6
6
  }
7
7
  export declare const useFieldHOC: <TValue = unknown>(newFormProps: IFieldProps, opts?: Partial<FieldOptions<TValue>>) => IFieldContext<TValue>;
8
8
  export declare const createFormFields: (fields: () => IFormField[]) => ComputedRef<IFormField[]>;
9
+ export declare const moveToError: ({ errors }: {
10
+ errors: any;
11
+ }) => void;
9
12
  export {};
@@ -0,0 +1,37 @@
1
+ import { useField } from "vee-validate";
2
+ import { toTypedSchema } from "@vee-validate/valibot";
3
+ import { computed, toRef } from "#imports";
4
+ export const useFieldHOC = (newFormProps, opts) => {
5
+ const field = useField(
6
+ toRef(newFormProps, "name"),
7
+ toTypedSchema(newFormProps.rules),
8
+ {
9
+ form: newFormProps.form,
10
+ ...opts
11
+ }
12
+ );
13
+ return {
14
+ ...field,
15
+ wrapperProps: computed(() => ({
16
+ ...newFormProps,
17
+ ui: newFormProps.containerUi || {},
18
+ placeholder: newFormProps.placeholder || newFormProps.label,
19
+ errorMessage: field.errorMessage.value
20
+ }))
21
+ };
22
+ };
23
+ export const createFormFields = (fields) => computed(fields);
24
+ export const moveToError = ({ errors }) => {
25
+ const firstErrorFieldName = Object.keys(errors)[0];
26
+ const el = document.querySelector(`[name="${firstErrorFieldName}"]`);
27
+ if (el) {
28
+ el.focus({ preventScroll: true });
29
+ const elementRect = el.getBoundingClientRect();
30
+ const absoluteElementTop = elementRect.top + window.scrollY;
31
+ const paddingTop = 60;
32
+ window.scrollTo({
33
+ top: absoluteElementTop - paddingTop,
34
+ behavior: "smooth"
35
+ });
36
+ }
37
+ };
@@ -1,24 +1,8 @@
1
- import type { NotificationAction, NotificationColor } from '#ui/types/notification';
2
- import type { Avatar } from '#ui/types/avatar';
3
- import type { Button } from '#ui/types/button';
4
- export interface INotification {
5
- id: string;
6
- title: string;
7
- description?: string;
8
- icon?: string;
9
- avatar?: Avatar;
10
- closeButton?: Button;
11
- timeout: number;
12
- actions?: NotificationAction[];
13
- click?: (...args: any[]) => void;
14
- callback?: (...args: any[]) => void;
15
- color?: NotificationColor;
16
- ui?: any;
17
- }
1
+ import type { Toast } from '#ui/composables/useToast';
18
2
  export declare const useNotification: () => {
19
- info: (notification: Partial<INotification>) => void;
20
- success: (notification: Partial<INotification>) => void;
21
- warning: (notification: Partial<INotification>) => void;
22
- error: (notification: Partial<INotification>) => void;
23
- remove: any;
3
+ info: (notification: Partial<Toast>) => void;
4
+ success: (notification: Partial<Toast>) => void;
5
+ warning: (notification: Partial<Toast>) => void;
6
+ error: (notification: Partial<Toast>) => void;
7
+ remove: (id: string | number) => void;
24
8
  };
@@ -1,48 +1,32 @@
1
1
  import { useToast } from "#imports";
2
- const safeList = [
3
- "bg-success-200",
4
- "bg-info-200",
5
- "bg-danger-200",
6
- "bg-warning-200",
7
- "bg-primary-200"
8
- ];
9
- const ui = (ui2 = {}, titleClass) => ({
10
- background: "bg-{color}-200",
11
- title: titleClass,
12
- ...ui2
13
- });
14
2
  export const useNotification = () => {
15
3
  const toast = useToast();
16
4
  const info = (notification) => {
17
5
  toast.add({
18
6
  icon: "ph:info",
19
7
  color: "info",
20
- ...notification,
21
- ui: ui(notification.ui, "text-info")
8
+ ...notification
22
9
  });
23
10
  };
24
11
  const success = (notification) => {
25
12
  toast.add({
26
13
  icon: "ph:check-circle",
27
14
  color: "success",
28
- ...notification,
29
- ui: ui(notification.ui, "text-success")
15
+ ...notification
30
16
  });
31
17
  };
32
18
  const warning = (notification) => {
33
19
  toast.add({
34
20
  icon: "ph:warning",
35
21
  color: "warning",
36
- ...notification,
37
- ui: ui(notification.ui, "text-warning")
22
+ ...notification
38
23
  });
39
24
  };
40
25
  const error = (notification) => {
41
26
  toast.add({
42
27
  icon: "ph:x-circle",
43
- color: "danger",
44
- ...notification,
45
- ui: ui(notification.ui, "text-danger")
28
+ color: "error",
29
+ ...notification
46
30
  });
47
31
  };
48
32
  return {
@@ -1,20 +1,21 @@
1
- import { type ComputedRef } from 'vue';
2
- import { type Store } from 'pinia';
1
+ import type { ComputedRef } from 'vue';
2
+ import type { Store } from 'pinia';
3
+ import type { TableColumn, // Using local TableColumn
4
+ ISimpleTableOptions, ITableOptions } from '../components/Table/types.js';
5
+ import type { IUsePageLoader } from '../helpers/apiPageHelper.js';
3
6
  import { type IStatus } from '#imports';
4
- import { type IColumn, type ISimpleTableOptions, type ITableOptions } from '../components/Table/types';
5
- import { type IUsePageLoader } from '../helpers/apiPageHelper';
6
- export interface IUseTable<T = object> {
7
+ export interface IUseTable<T extends Record<string, any> = object> {
7
8
  repo: IUsePageLoader<T> | Store<any, any>;
8
- columns: () => IColumn[];
9
+ columns: () => TableColumn<T>[];
9
10
  options?: (() => Partial<ITableOptions<T>>) | Partial<ITableOptions<T>>;
10
11
  transformItems?: (items: T[]) => T[];
11
12
  }
12
- export interface IUseTableSimple<T = object> {
13
+ export interface IUseTableSimple<T extends Record<string, any> = object> {
13
14
  items: () => T[];
14
15
  status?: () => IStatus;
15
- columns: () => IColumn[];
16
+ columns: () => TableColumn<T>[];
16
17
  options?: (() => Partial<ISimpleTableOptions<T>>) | Partial<ISimpleTableOptions<T>>;
17
18
  }
18
- export declare const useTable: <T = object>(options: IUseTable<T>) => ComputedRef<ITableOptions<T>>;
19
- export declare const useTableSimple: <T = object>(options: IUseTableSimple<T>) => ComputedRef<ISimpleTableOptions<T>>;
20
- export declare const createTableOptions: <T = object>(repo: IUsePageLoader<T>, columns: IColumn[], options: Partial<ITableOptions<T>>, transformItems?: (items: T[]) => T[]) => ITableOptions<T>;
19
+ export declare const useTable: <T extends Record<string, any>>(options: IUseTable<T>) => ComputedRef<ITableOptions<T>>;
20
+ export declare const useTableSimple: <T extends Record<string, any>>(options: IUseTableSimple<T>) => ComputedRef<ISimpleTableOptions<T>>;
21
+ export declare const createTableOptions: <T extends Record<string, any>>(repo: IUsePageLoader<T>, columns: TableColumn<T>[], options: Partial<ITableOptions<T>>, transformItems?: (items: T[]) => T[]) => ITableOptions<T>;
@@ -1,6 +1,5 @@
1
1
  import { get } from "@vueuse/core";
2
2
  import { computed, ObjectHelper } from "#imports";
3
- import { useCoreConfig } from "./useConfig.mjs";
4
3
  export const useTable = (options) => computed(() => {
5
4
  return createTableOptions(
6
5
  options.repo,
@@ -10,24 +9,20 @@ export const useTable = (options) => computed(() => {
10
9
  );
11
10
  });
12
11
  export const useTableSimple = (options) => computed(() => {
13
- const config = useCoreConfig();
14
12
  return {
15
13
  items: options.items(),
16
14
  columns: options.columns(),
17
15
  rawData: options.items(),
18
16
  status: options.status ? options.status() : ObjectHelper.createStatus(),
19
- primary: config.default_primary_key,
20
17
  ...typeof options.options === "function" ? options.options() : options.options ?? {}
21
18
  };
22
19
  });
23
20
  export const createTableOptions = (repo, columns, options, transformItems) => {
24
- const config = useCoreConfig();
25
21
  return {
26
- rawData: transformItems ? transformItems(get(repo.fetchItems)) : get(repo.fetchItems),
27
- pageOptions: get(repo.fetchOptions),
22
+ rawData: transformItems ? transformItems(get(repo.fetch.items)) : get(repo.fetch.items),
23
+ pageOptions: get(repo.fetch.options),
28
24
  columns,
29
- status: get(repo.fetchStatus),
30
- primary: get(repo.fetchOptions).primary ?? config.default_primary_key,
25
+ status: get(repo.fetch.status),
31
26
  isPreventRouteChange: false,
32
27
  ...options
33
28
  };
@@ -1,8 +1,8 @@
1
- import { type AxiosRequestConfig } from 'axios';
1
+ import type { AxiosRequestConfig } from 'axios';
2
2
  export interface IUploadRequest {
3
3
  requestOptions: Omit<AxiosRequestConfig, 'baseURL'> & {
4
4
  baseURL: string;
5
5
  };
6
6
  pathURL?: string;
7
7
  }
8
- export declare const useUploadLoader: (request: IUploadRequest) => import("../helpers/apiObjectHelper").IUseObjectLoader<any, any, Record<string, any>>;
8
+ export declare const useUploadLoader: (request: IUploadRequest) => import("../helpers/apiObjectHelper.js").IUseObjectLoader<any, any, Record<string, any>>;
@@ -1,4 +1,4 @@
1
- import { useObjectLoader } from "./loaderObject.mjs";
1
+ import { useObjectLoader } from "./loaderObject.js";
2
2
  export const useUploadLoader = (request) => {
3
3
  return useObjectLoader({
4
4
  method: "post",
@@ -0,0 +1,29 @@
1
+ import type { AxiosRequestConfig } from 'axios';
2
+ import type { IAPIOptions, IStatus } from '../types/lib.js';
3
+ export interface IBaseLoaderOptions {
4
+ isMock?: boolean;
5
+ params?: Record<string, any>;
6
+ expire?: number;
7
+ [key: string]: any;
8
+ }
9
+ export interface IRequestContext {
10
+ url: string;
11
+ method: string;
12
+ data?: any;
13
+ options: AxiosRequestConfig;
14
+ }
15
+ export declare const checkExpiration: (timestamp: number | undefined, expire?: number) => boolean;
16
+ export declare const bindParamsToUrl: (urlTemplate: string, urlParams?: Record<string, any>) => string;
17
+ export declare const prepareRequestOptions: (baseOptions?: AxiosRequestConfig, requestOptions?: AxiosRequestConfig, params?: Record<string, any>) => AxiosRequestConfig;
18
+ export declare const handleApiRequest: <T>(requestContext: IRequestContext, mockData: T | T[] | null, callbacks: {
19
+ onSuccess: (data: T, status?: number) => void;
20
+ onError: (error: any) => void;
21
+ onComplete?: () => void;
22
+ }) => Promise<void>;
23
+ export declare const updateLoaderState: {
24
+ setLoading: (status: IStatus) => IStatus;
25
+ setSuccess: (status: IStatus) => IStatus;
26
+ setError: (status: IStatus, error: any) => IStatus;
27
+ setComplete: (status: IStatus) => IStatus;
28
+ setOptions: (options: IAPIOptions, updates: Partial<IAPIOptions>) => IAPIOptions;
29
+ };