@blueprint-ts/core 4.1.0-beta.1 → 4.1.0-beta.3

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 (507) hide show
  1. package/dist/bulkRequests/BulkRequestEvent.enum.d.ts +4 -0
  2. package/dist/bulkRequests/BulkRequestEvent.enum.js +5 -0
  3. package/dist/bulkRequests/BulkRequestSender.d.ts +31 -0
  4. package/dist/bulkRequests/BulkRequestSender.js +161 -0
  5. package/dist/bulkRequests/BulkRequestWrapper.d.ts +15 -0
  6. package/dist/bulkRequests/BulkRequestWrapper.js +50 -0
  7. package/dist/bulkRequests/index.d.ts +5 -0
  8. package/dist/bulkRequests/index.js +5 -0
  9. package/{src/laravel/pagination/contracts/PaginationResponseBodyContract.ts → dist/laravel/pagination/contracts/PaginationResponseBodyContract.d.ts} +4 -4
  10. package/dist/laravel/pagination/contracts/PaginationResponseBodyContract.js +1 -0
  11. package/dist/laravel/pagination/dataDrivers/RequestDriver.d.ts +10 -0
  12. package/dist/laravel/pagination/dataDrivers/RequestDriver.js +18 -0
  13. package/dist/laravel/pagination/index.d.ts +4 -0
  14. package/dist/laravel/pagination/index.js +2 -0
  15. package/dist/laravel/requests/JsonBaseRequest.d.ts +14 -0
  16. package/dist/laravel/requests/JsonBaseRequest.js +15 -0
  17. package/dist/laravel/requests/PaginationJsonBaseRequest.d.ts +8 -0
  18. package/dist/laravel/requests/PaginationJsonBaseRequest.js +13 -0
  19. package/dist/laravel/requests/index.d.ts +7 -0
  20. package/dist/laravel/requests/index.js +5 -0
  21. package/dist/laravel/requests/responses/JsonResponse.d.ts +5 -0
  22. package/dist/laravel/requests/responses/JsonResponse.js +6 -0
  23. package/dist/laravel/requests/responses/PaginationResponse.d.ts +7 -0
  24. package/dist/laravel/requests/responses/PaginationResponse.js +9 -0
  25. package/dist/pagination/BasePaginator.d.ts +19 -0
  26. package/dist/pagination/BasePaginator.js +65 -0
  27. package/dist/pagination/InfiniteScroller.d.ts +6 -0
  28. package/dist/pagination/InfiniteScroller.js +17 -0
  29. package/dist/pagination/PageAwarePaginator.d.ts +32 -0
  30. package/dist/pagination/PageAwarePaginator.js +86 -0
  31. package/dist/pagination/StatePaginator.d.ts +25 -0
  32. package/dist/pagination/StatePaginator.js +55 -0
  33. package/dist/pagination/contracts/BaseViewDriverContract.d.ts +6 -0
  34. package/dist/pagination/contracts/BaseViewDriverContract.js +1 -0
  35. package/{src/pagination/contracts/BaseViewDriverFactoryContract.ts → dist/pagination/contracts/BaseViewDriverFactoryContract.d.ts} +2 -3
  36. package/dist/pagination/contracts/BaseViewDriverFactoryContract.js +1 -0
  37. package/dist/pagination/contracts/PaginateableRequestContract.d.ts +4 -0
  38. package/dist/pagination/contracts/PaginateableRequestContract.js +1 -0
  39. package/dist/pagination/contracts/PaginationDataDriverContract.d.ts +4 -0
  40. package/dist/pagination/contracts/PaginationDataDriverContract.js +1 -0
  41. package/{src/pagination/contracts/PaginationResponseContract.ts → dist/pagination/contracts/PaginationResponseContract.d.ts} +3 -5
  42. package/dist/pagination/contracts/PaginationResponseContract.js +1 -0
  43. package/{src/pagination/contracts/PaginatorLoadDataOptions.ts → dist/pagination/contracts/PaginatorLoadDataOptions.d.ts} +2 -2
  44. package/dist/pagination/contracts/PaginatorLoadDataOptions.js +1 -0
  45. package/{src/pagination/contracts/StatePaginationDataDriverContract.ts → dist/pagination/contracts/StatePaginationDataDriverContract.d.ts} +2 -3
  46. package/dist/pagination/contracts/StatePaginationDataDriverContract.js +1 -0
  47. package/dist/pagination/contracts/ViewDriverContract.d.ts +9 -0
  48. package/dist/pagination/contracts/ViewDriverContract.js +1 -0
  49. package/dist/pagination/contracts/ViewDriverFactoryContract.d.ts +4 -0
  50. package/dist/pagination/contracts/ViewDriverFactoryContract.js +1 -0
  51. package/dist/pagination/dataDrivers/ArrayDriver.d.ts +9 -0
  52. package/dist/pagination/dataDrivers/ArrayDriver.js +20 -0
  53. package/dist/pagination/dtos/PaginationDataDto.d.ts +7 -0
  54. package/dist/pagination/dtos/PaginationDataDto.js +12 -0
  55. package/dist/pagination/dtos/StatePaginationDataDto.d.ts +7 -0
  56. package/dist/pagination/dtos/StatePaginationDataDto.js +13 -0
  57. package/dist/pagination/factories/VueBaseViewDriverFactory.d.ts +5 -0
  58. package/dist/pagination/factories/VueBaseViewDriverFactory.js +6 -0
  59. package/dist/pagination/factories/VuePaginationDriverFactory.d.ts +5 -0
  60. package/dist/pagination/factories/VuePaginationDriverFactory.js +6 -0
  61. package/dist/pagination/frontendDrivers/VueBaseViewDriver.d.ts +11 -0
  62. package/dist/pagination/frontendDrivers/VueBaseViewDriver.js +19 -0
  63. package/dist/pagination/frontendDrivers/VuePaginationDriver.d.ts +21 -0
  64. package/dist/pagination/frontendDrivers/VuePaginationDriver.js +41 -0
  65. package/dist/pagination/index.d.ts +22 -0
  66. package/dist/pagination/index.js +13 -0
  67. package/dist/persistenceDrivers/LocalStorageDriver.d.ts +9 -0
  68. package/dist/persistenceDrivers/LocalStorageDriver.js +18 -0
  69. package/dist/persistenceDrivers/NonPersistentDriver.d.ts +7 -0
  70. package/dist/persistenceDrivers/NonPersistentDriver.js +8 -0
  71. package/dist/persistenceDrivers/SessionStorageDriver.d.ts +9 -0
  72. package/dist/persistenceDrivers/SessionStorageDriver.js +18 -0
  73. package/dist/persistenceDrivers/index.d.ts +6 -0
  74. package/dist/persistenceDrivers/index.js +4 -0
  75. package/dist/persistenceDrivers/types/PersistenceDriver.d.ts +5 -0
  76. package/dist/persistenceDrivers/types/PersistenceDriver.js +1 -0
  77. package/dist/requests/BaseRequest.d.ts +62 -0
  78. package/dist/requests/BaseRequest.js +224 -0
  79. package/dist/requests/ErrorHandler.d.ts +11 -0
  80. package/dist/requests/ErrorHandler.js +127 -0
  81. package/dist/requests/RequestConcurrencyMode.enum.d.ts +6 -0
  82. package/dist/requests/RequestConcurrencyMode.enum.js +7 -0
  83. package/dist/requests/RequestErrorRouter.d.ts +38 -0
  84. package/dist/requests/RequestErrorRouter.js +38 -0
  85. package/dist/requests/RequestEvents.enum.d.ts +4 -0
  86. package/dist/requests/RequestEvents.enum.js +5 -0
  87. package/dist/requests/RequestMethod.enum.d.ts +8 -0
  88. package/dist/requests/RequestMethod.enum.js +9 -0
  89. package/dist/requests/bodies/BinaryBody.d.ts +10 -0
  90. package/dist/requests/bodies/BinaryBody.js +22 -0
  91. package/dist/requests/bodies/FormDataBody.d.ts +14 -0
  92. package/dist/requests/bodies/FormDataBody.js +60 -0
  93. package/dist/requests/bodies/JsonBody.d.ts +8 -0
  94. package/dist/requests/bodies/JsonBody.js +13 -0
  95. package/{src/requests/contracts/AbortableRequestContract.ts → dist/requests/contracts/AbortableRequestContract.d.ts} +1 -1
  96. package/dist/requests/contracts/AbortableRequestContract.js +1 -0
  97. package/dist/requests/contracts/BaseRequestContract.d.ts +23 -0
  98. package/dist/requests/contracts/BaseRequestContract.js +1 -0
  99. package/dist/requests/contracts/BodyContract.d.ts +6 -0
  100. package/dist/requests/contracts/BodyContract.js +1 -0
  101. package/dist/requests/contracts/BodyFactoryContract.d.ts +4 -0
  102. package/dist/requests/contracts/BodyFactoryContract.js +1 -0
  103. package/dist/requests/contracts/DriverConfigContract.d.ts +8 -0
  104. package/dist/requests/contracts/DriverConfigContract.js +1 -0
  105. package/dist/requests/contracts/HeadersContract.d.ts +7 -0
  106. package/dist/requests/contracts/HeadersContract.js +1 -0
  107. package/dist/requests/contracts/RequestDriverContract.d.ts +8 -0
  108. package/dist/requests/contracts/RequestDriverContract.js +1 -0
  109. package/dist/requests/contracts/RequestLoaderContract.d.ts +4 -0
  110. package/dist/requests/contracts/RequestLoaderContract.js +1 -0
  111. package/{src/requests/contracts/RequestLoaderFactoryContract.ts → dist/requests/contracts/RequestLoaderFactoryContract.d.ts} +2 -3
  112. package/dist/requests/contracts/RequestLoaderFactoryContract.js +1 -0
  113. package/dist/requests/contracts/ResponseContract.d.ts +5 -0
  114. package/dist/requests/contracts/ResponseContract.js +1 -0
  115. package/dist/requests/drivers/contracts/ResponseHandlerContract.d.ts +9 -0
  116. package/dist/requests/drivers/contracts/ResponseHandlerContract.js +1 -0
  117. package/dist/requests/drivers/fetch/FetchDriver.d.ts +26 -0
  118. package/dist/requests/drivers/fetch/FetchDriver.js +73 -0
  119. package/dist/requests/drivers/fetch/FetchResponse.d.ts +12 -0
  120. package/dist/requests/drivers/fetch/FetchResponse.js +38 -0
  121. package/dist/requests/drivers/xhr/XMLHttpRequestDriver.d.ts +13 -0
  122. package/dist/requests/drivers/xhr/XMLHttpRequestDriver.js +107 -0
  123. package/dist/requests/drivers/xhr/XMLHttpRequestResponse.d.ts +17 -0
  124. package/dist/requests/drivers/xhr/XMLHttpRequestResponse.js +84 -0
  125. package/dist/requests/exceptions/BadGatewayException.d.ts +3 -0
  126. package/dist/requests/exceptions/BadGatewayException.js +3 -0
  127. package/dist/requests/exceptions/BadRequestException.d.ts +3 -0
  128. package/dist/requests/exceptions/BadRequestException.js +3 -0
  129. package/dist/requests/exceptions/ConflictException.d.ts +3 -0
  130. package/dist/requests/exceptions/ConflictException.js +3 -0
  131. package/dist/requests/exceptions/ForbiddenException.d.ts +3 -0
  132. package/dist/requests/exceptions/ForbiddenException.js +3 -0
  133. package/dist/requests/exceptions/GatewayTimeoutException.d.ts +3 -0
  134. package/dist/requests/exceptions/GatewayTimeoutException.js +3 -0
  135. package/dist/requests/exceptions/GoneException.d.ts +3 -0
  136. package/dist/requests/exceptions/GoneException.js +3 -0
  137. package/dist/requests/exceptions/InvalidJsonException.d.ts +7 -0
  138. package/dist/requests/exceptions/InvalidJsonException.js +10 -0
  139. package/dist/requests/exceptions/LockedException.d.ts +3 -0
  140. package/dist/requests/exceptions/LockedException.js +3 -0
  141. package/dist/requests/exceptions/MethodNotAllowedException.d.ts +3 -0
  142. package/dist/requests/exceptions/MethodNotAllowedException.js +3 -0
  143. package/dist/requests/exceptions/NoResponseReceivedException.d.ts +3 -0
  144. package/{src/requests/exceptions/NoResponseReceivedException.ts → dist/requests/exceptions/NoResponseReceivedException.js} +3 -3
  145. package/dist/requests/exceptions/NotFoundException.d.ts +3 -0
  146. package/dist/requests/exceptions/NotFoundException.js +3 -0
  147. package/dist/requests/exceptions/NotImplementedException.d.ts +3 -0
  148. package/dist/requests/exceptions/NotImplementedException.js +3 -0
  149. package/dist/requests/exceptions/PageExpiredException.d.ts +3 -0
  150. package/dist/requests/exceptions/PageExpiredException.js +3 -0
  151. package/dist/requests/exceptions/PayloadTooLargeException.d.ts +3 -0
  152. package/dist/requests/exceptions/PayloadTooLargeException.js +3 -0
  153. package/dist/requests/exceptions/PreconditionFailedException.d.ts +3 -0
  154. package/dist/requests/exceptions/PreconditionFailedException.js +3 -0
  155. package/dist/requests/exceptions/RequestTimeoutException.d.ts +3 -0
  156. package/dist/requests/exceptions/RequestTimeoutException.js +3 -0
  157. package/dist/requests/exceptions/ResponseBodyException.d.ts +7 -0
  158. package/dist/requests/exceptions/ResponseBodyException.js +10 -0
  159. package/dist/requests/exceptions/ResponseException.d.ts +6 -0
  160. package/dist/requests/exceptions/ResponseException.js +9 -0
  161. package/dist/requests/exceptions/ServerErrorException.d.ts +3 -0
  162. package/dist/requests/exceptions/ServerErrorException.js +3 -0
  163. package/dist/requests/exceptions/ServiceUnavailableException.d.ts +3 -0
  164. package/dist/requests/exceptions/ServiceUnavailableException.js +3 -0
  165. package/dist/requests/exceptions/StaleResponseException.d.ts +5 -0
  166. package/dist/requests/exceptions/StaleResponseException.js +10 -0
  167. package/dist/requests/exceptions/TooManyRequestsException.d.ts +3 -0
  168. package/dist/requests/exceptions/TooManyRequestsException.js +3 -0
  169. package/dist/requests/exceptions/UnauthorizedException.d.ts +3 -0
  170. package/dist/requests/exceptions/UnauthorizedException.js +3 -0
  171. package/dist/requests/exceptions/UnsupportedMediaTypeException.d.ts +3 -0
  172. package/dist/requests/exceptions/UnsupportedMediaTypeException.js +3 -0
  173. package/dist/requests/exceptions/ValidationException.d.ts +3 -0
  174. package/dist/requests/exceptions/ValidationException.js +3 -0
  175. package/dist/requests/exceptions/index.d.ts +25 -0
  176. package/dist/requests/exceptions/index.js +25 -0
  177. package/dist/requests/factories/BinaryBodyFactory.d.ts +8 -0
  178. package/dist/requests/factories/BinaryBodyFactory.js +9 -0
  179. package/dist/requests/factories/FormDataFactory.d.ts +12 -0
  180. package/dist/requests/factories/FormDataFactory.js +6 -0
  181. package/dist/requests/factories/JsonBodyFactory.d.ts +5 -0
  182. package/dist/requests/factories/JsonBodyFactory.js +6 -0
  183. package/dist/requests/index.d.ts +31 -0
  184. package/dist/requests/index.js +19 -0
  185. package/dist/requests/responses/BaseResponse.d.ts +14 -0
  186. package/dist/requests/responses/BaseResponse.js +36 -0
  187. package/dist/requests/responses/BlobResponse.d.ts +7 -0
  188. package/dist/requests/responses/BlobResponse.js +16 -0
  189. package/dist/requests/responses/JsonResponse.d.ts +5 -0
  190. package/dist/requests/responses/JsonResponse.js +12 -0
  191. package/dist/requests/responses/PlainTextResponse.d.ts +5 -0
  192. package/dist/requests/responses/PlainTextResponse.js +12 -0
  193. package/{src/requests/types/RequestConcurrencyOptions.ts → dist/requests/types/RequestConcurrencyOptions.d.ts} +4 -5
  194. package/dist/requests/types/RequestConcurrencyOptions.js +1 -0
  195. package/dist/requests/types/RequestUploadProgress.d.ts +6 -0
  196. package/dist/requests/types/RequestUploadProgress.js +1 -0
  197. package/dist/support/DeferredPromise.d.ts +37 -0
  198. package/dist/support/DeferredPromise.js +55 -0
  199. package/dist/support/helpers.d.ts +5 -0
  200. package/dist/support/helpers.js +69 -0
  201. package/{src/support/index.ts → dist/support/index.d.ts} +3 -4
  202. package/dist/support/index.js +3 -0
  203. package/dist/vue/composables/useConfirmDialog.d.ts +20 -0
  204. package/dist/vue/composables/useConfirmDialog.js +52 -0
  205. package/dist/vue/composables/useGlobalCheckbox.d.ts +13 -0
  206. package/dist/vue/composables/useGlobalCheckbox.js +123 -0
  207. package/dist/vue/composables/useIsEmpty.d.ts +4 -0
  208. package/dist/vue/composables/useIsEmpty.js +27 -0
  209. package/dist/vue/composables/useIsOpen.d.ts +5 -0
  210. package/dist/vue/composables/useIsOpen.js +25 -0
  211. package/dist/vue/composables/useIsOpenFromVar.d.ts +6 -0
  212. package/dist/vue/composables/useIsOpenFromVar.js +45 -0
  213. package/dist/vue/composables/useModelWrapper.d.ts +9 -0
  214. package/dist/vue/composables/useModelWrapper.js +18 -0
  215. package/dist/vue/composables/useOnOpen.d.ts +7 -0
  216. package/dist/vue/composables/useOnOpen.js +25 -0
  217. package/{src/vue/contracts/ModelValueOptions.ts → dist/vue/contracts/ModelValueOptions.d.ts} +1 -1
  218. package/dist/vue/contracts/ModelValueOptions.js +1 -0
  219. package/dist/vue/contracts/ModelValueProps.d.ts +3 -0
  220. package/dist/vue/contracts/ModelValueProps.js +1 -0
  221. package/dist/vue/forms/BaseForm.d.ts +162 -0
  222. package/dist/vue/forms/BaseForm.js +997 -0
  223. package/dist/vue/forms/PropertyAwareArray.d.ts +53 -0
  224. package/dist/vue/forms/PropertyAwareArray.js +54 -0
  225. package/{src/vue/forms/index.ts → dist/vue/forms/index.d.ts} +9 -11
  226. package/dist/vue/forms/index.js +6 -0
  227. package/dist/vue/forms/types/PersistedForm.d.ts +6 -0
  228. package/dist/vue/forms/types/PersistedForm.js +1 -0
  229. package/dist/vue/forms/validation/ValidationMode.enum.d.ts +11 -0
  230. package/dist/vue/forms/validation/ValidationMode.enum.js +14 -0
  231. package/dist/vue/forms/validation/index.d.ts +12 -0
  232. package/dist/vue/forms/validation/index.js +9 -0
  233. package/dist/vue/forms/validation/rules/BaseRule.d.ts +5 -0
  234. package/dist/vue/forms/validation/rules/BaseRule.js +5 -0
  235. package/dist/vue/forms/validation/rules/ConfirmedRule.d.ts +10 -0
  236. package/dist/vue/forms/validation/rules/ConfirmedRule.js +26 -0
  237. package/dist/vue/forms/validation/rules/EmailRule.d.ts +7 -0
  238. package/dist/vue/forms/validation/rules/EmailRule.js +19 -0
  239. package/dist/vue/forms/validation/rules/JsonRule.d.ts +7 -0
  240. package/dist/vue/forms/validation/rules/JsonRule.js +25 -0
  241. package/dist/vue/forms/validation/rules/MinRule.d.ts +26 -0
  242. package/dist/vue/forms/validation/rules/MinRule.js +52 -0
  243. package/dist/vue/forms/validation/rules/RequiredRule.d.ts +7 -0
  244. package/dist/vue/forms/validation/rules/RequiredRule.js +16 -0
  245. package/dist/vue/forms/validation/rules/UrlRule.d.ts +7 -0
  246. package/dist/vue/forms/validation/rules/UrlRule.js +22 -0
  247. package/{src/vue/forms/validation/types/BidirectionalRule.ts → dist/vue/forms/validation/types/BidirectionalRule.d.ts} +4 -4
  248. package/dist/vue/forms/validation/types/BidirectionalRule.js +1 -0
  249. package/dist/vue/forms/validation/types/ValidationRules.d.ts +11 -0
  250. package/dist/vue/forms/validation/types/ValidationRules.js +1 -0
  251. package/dist/vue/index.d.ts +11 -0
  252. package/dist/vue/index.js +10 -0
  253. package/dist/vue/requests/factories/VueRequestLoaderFactory.d.ts +6 -0
  254. package/dist/vue/requests/factories/VueRequestLoaderFactory.js +6 -0
  255. package/{src/vue/requests/index.ts → dist/vue/requests/index.d.ts} +4 -5
  256. package/dist/vue/requests/index.js +4 -0
  257. package/dist/vue/requests/loaders/VueRequestBatchLoader.d.ts +12 -0
  258. package/dist/vue/requests/loaders/VueRequestBatchLoader.js +29 -0
  259. package/dist/vue/requests/loaders/VueRequestLoader.d.ts +8 -0
  260. package/dist/vue/requests/loaders/VueRequestLoader.js +12 -0
  261. package/dist/vue/router/routeResourceBinding/RouteResourceBoundView.d.ts +57 -0
  262. package/dist/vue/router/routeResourceBinding/RouteResourceBoundView.js +135 -0
  263. package/dist/vue/router/routeResourceBinding/RouteResourceRequestResolver.d.ts +6 -0
  264. package/dist/vue/router/routeResourceBinding/RouteResourceRequestResolver.js +20 -0
  265. package/dist/vue/router/routeResourceBinding/defineRoute.d.ts +23 -0
  266. package/dist/vue/router/routeResourceBinding/defineRoute.js +42 -0
  267. package/dist/vue/router/routeResourceBinding/index.d.ts +8 -0
  268. package/dist/vue/router/routeResourceBinding/index.js +6 -0
  269. package/dist/vue/router/routeResourceBinding/installRouteInjection.d.ts +14 -0
  270. package/dist/vue/router/routeResourceBinding/installRouteInjection.js +133 -0
  271. package/dist/vue/router/routeResourceBinding/types.d.ts +55 -0
  272. package/dist/vue/router/routeResourceBinding/types.js +1 -0
  273. package/dist/vue/router/routeResourceBinding/useRouteResource.d.ts +8 -0
  274. package/dist/vue/router/routeResourceBinding/useRouteResource.js +29 -0
  275. package/dist/vue/state/State.d.ts +75 -0
  276. package/dist/vue/state/State.js +267 -0
  277. package/dist/vue/state/index.d.ts +2 -0
  278. package/dist/vue/state/index.js +2 -0
  279. package/package.json +81 -23
  280. package/.editorconfig +0 -508
  281. package/.eslintrc.cjs +0 -15
  282. package/.prettierrc.json +0 -8
  283. package/CHANGELOG.md +0 -213
  284. package/docker-compose.yaml +0 -8
  285. package/docs/.vitepress/config.ts +0 -124
  286. package/docs/index.md +0 -13
  287. package/docs/laravel/pagination.md +0 -67
  288. package/docs/laravel/requests.md +0 -62
  289. package/docs/services/pagination/index.md +0 -46
  290. package/docs/services/pagination/infinite-scroller.md +0 -20
  291. package/docs/services/pagination/page-aware.md +0 -51
  292. package/docs/services/pagination/state-pagination.md +0 -77
  293. package/docs/services/pagination/updating-rows.md +0 -52
  294. package/docs/services/persistence/index.md +0 -46
  295. package/docs/services/requests/abort-requests.md +0 -29
  296. package/docs/services/requests/bulk-requests.md +0 -70
  297. package/docs/services/requests/concurrency.md +0 -58
  298. package/docs/services/requests/drivers.md +0 -115
  299. package/docs/services/requests/error-handling.md +0 -153
  300. package/docs/services/requests/events.md +0 -53
  301. package/docs/services/requests/file-uploads.md +0 -105
  302. package/docs/services/requests/getting-started.md +0 -201
  303. package/docs/services/requests/headers.md +0 -40
  304. package/docs/services/requests/loading.md +0 -63
  305. package/docs/services/requests/request-bodies.md +0 -61
  306. package/docs/services/requests/responses.md +0 -34
  307. package/docs/services/support/deferred-promise.md +0 -63
  308. package/docs/services/support/helpers.md +0 -77
  309. package/docs/services/support/index.md +0 -6
  310. package/docs/upgrading/v1-to-v2.md +0 -64
  311. package/docs/upgrading/v2-to-v3.md +0 -52
  312. package/docs/upgrading/v3-to-v4.md +0 -214
  313. package/docs/upgrading.md +0 -0
  314. package/docs/vue/composables/use-confirm-dialog.md +0 -96
  315. package/docs/vue/composables/use-global-checkbox.md +0 -73
  316. package/docs/vue/composables/use-is-empty.md +0 -26
  317. package/docs/vue/composables/use-is-open-from-var.md +0 -32
  318. package/docs/vue/composables/use-is-open.md +0 -28
  319. package/docs/vue/composables/use-model-wrapper.md +0 -29
  320. package/docs/vue/composables/use-on-open.md +0 -26
  321. package/docs/vue/forms/arrays.md +0 -102
  322. package/docs/vue/forms/errors.md +0 -52
  323. package/docs/vue/forms/index.md +0 -99
  324. package/docs/vue/forms/payloads.md +0 -99
  325. package/docs/vue/forms/persistence.md +0 -19
  326. package/docs/vue/forms/state-and-properties.md +0 -26
  327. package/docs/vue/forms/utilities.md +0 -27
  328. package/docs/vue/forms/validation.md +0 -189
  329. package/docs/vue/requests/loading.md +0 -51
  330. package/docs/vue/router/route-resource-binding.md +0 -240
  331. package/docs/vue/state.md +0 -309
  332. package/env.d.ts +0 -1
  333. package/eslint.config.js +0 -15
  334. package/release-tool.json +0 -26
  335. package/src/bulkRequests/BulkRequestEvent.enum.ts +0 -4
  336. package/src/bulkRequests/BulkRequestSender.ts +0 -196
  337. package/src/bulkRequests/BulkRequestWrapper.ts +0 -49
  338. package/src/bulkRequests/index.ts +0 -6
  339. package/src/laravel/pagination/dataDrivers/RequestDriver.ts +0 -30
  340. package/src/laravel/pagination/index.ts +0 -6
  341. package/src/laravel/requests/JsonBaseRequest.ts +0 -35
  342. package/src/laravel/requests/PaginationJsonBaseRequest.ts +0 -29
  343. package/src/laravel/requests/index.ts +0 -9
  344. package/src/laravel/requests/responses/JsonResponse.ts +0 -8
  345. package/src/laravel/requests/responses/PaginationResponse.ts +0 -16
  346. package/src/pagination/BasePaginator.ts +0 -94
  347. package/src/pagination/InfiniteScroller.ts +0 -22
  348. package/src/pagination/PageAwarePaginator.ts +0 -132
  349. package/src/pagination/StatePaginator.ts +0 -86
  350. package/src/pagination/contracts/BaseViewDriverContract.ts +0 -6
  351. package/src/pagination/contracts/PaginateableRequestContract.ts +0 -13
  352. package/src/pagination/contracts/PaginationDataDriverContract.ts +0 -5
  353. package/src/pagination/contracts/ViewDriverContract.ts +0 -10
  354. package/src/pagination/contracts/ViewDriverFactoryContract.ts +0 -5
  355. package/src/pagination/dataDrivers/ArrayDriver.ts +0 -28
  356. package/src/pagination/dtos/PaginationDataDto.ts +0 -14
  357. package/src/pagination/dtos/StatePaginationDataDto.ts +0 -19
  358. package/src/pagination/factories/VueBaseViewDriverFactory.ts +0 -9
  359. package/src/pagination/factories/VuePaginationDriverFactory.ts +0 -9
  360. package/src/pagination/frontendDrivers/VueBaseViewDriver.ts +0 -28
  361. package/src/pagination/frontendDrivers/VuePaginationDriver.ts +0 -61
  362. package/src/pagination/index.ts +0 -46
  363. package/src/persistenceDrivers/LocalStorageDriver.ts +0 -22
  364. package/src/persistenceDrivers/NonPersistentDriver.ts +0 -12
  365. package/src/persistenceDrivers/SessionStorageDriver.ts +0 -22
  366. package/src/persistenceDrivers/index.ts +0 -8
  367. package/src/persistenceDrivers/types/PersistenceDriver.ts +0 -5
  368. package/src/requests/BaseRequest.ts +0 -321
  369. package/src/requests/ErrorHandler.ts +0 -144
  370. package/src/requests/RequestConcurrencyMode.enum.ts +0 -6
  371. package/src/requests/RequestErrorRouter.ts +0 -89
  372. package/src/requests/RequestEvents.enum.ts +0 -4
  373. package/src/requests/RequestMethod.enum.ts +0 -8
  374. package/src/requests/bodies/FormDataBody.ts +0 -81
  375. package/src/requests/bodies/JsonBody.ts +0 -16
  376. package/src/requests/contracts/BaseRequestContract.ts +0 -39
  377. package/src/requests/contracts/BodyContract.ts +0 -7
  378. package/src/requests/contracts/BodyFactoryContract.ts +0 -5
  379. package/src/requests/contracts/DriverConfigContract.ts +0 -9
  380. package/src/requests/contracts/HeadersContract.ts +0 -5
  381. package/src/requests/contracts/RequestDriverContract.ts +0 -15
  382. package/src/requests/contracts/RequestLoaderContract.ts +0 -5
  383. package/src/requests/contracts/ResponseContract.ts +0 -7
  384. package/src/requests/drivers/contracts/ResponseHandlerContract.ts +0 -10
  385. package/src/requests/drivers/fetch/FetchDriver.ts +0 -115
  386. package/src/requests/drivers/fetch/FetchResponse.ts +0 -30
  387. package/src/requests/drivers/xhr/XMLHttpRequestDriver.ts +0 -138
  388. package/src/requests/drivers/xhr/XMLHttpRequestResponse.ts +0 -95
  389. package/src/requests/exceptions/BadGatewayException.ts +0 -3
  390. package/src/requests/exceptions/BadRequestException.ts +0 -3
  391. package/src/requests/exceptions/ConflictException.ts +0 -3
  392. package/src/requests/exceptions/ForbiddenException.ts +0 -3
  393. package/src/requests/exceptions/GatewayTimeoutException.ts +0 -3
  394. package/src/requests/exceptions/GoneException.ts +0 -3
  395. package/src/requests/exceptions/InvalidJsonException.ts +0 -15
  396. package/src/requests/exceptions/LockedException.ts +0 -3
  397. package/src/requests/exceptions/MethodNotAllowedException.ts +0 -3
  398. package/src/requests/exceptions/NotFoundException.ts +0 -3
  399. package/src/requests/exceptions/NotImplementedException.ts +0 -3
  400. package/src/requests/exceptions/PageExpiredException.ts +0 -3
  401. package/src/requests/exceptions/PayloadTooLargeException.ts +0 -3
  402. package/src/requests/exceptions/PreconditionFailedException.ts +0 -3
  403. package/src/requests/exceptions/RequestTimeoutException.ts +0 -3
  404. package/src/requests/exceptions/ResponseBodyException.ts +0 -15
  405. package/src/requests/exceptions/ResponseException.ts +0 -11
  406. package/src/requests/exceptions/ServerErrorException.ts +0 -3
  407. package/src/requests/exceptions/ServiceUnavailableException.ts +0 -3
  408. package/src/requests/exceptions/StaleResponseException.ts +0 -13
  409. package/src/requests/exceptions/TooManyRequestsException.ts +0 -3
  410. package/src/requests/exceptions/UnauthorizedException.ts +0 -3
  411. package/src/requests/exceptions/UnsupportedMediaTypeException.ts +0 -3
  412. package/src/requests/exceptions/ValidationException.ts +0 -3
  413. package/src/requests/exceptions/index.ts +0 -51
  414. package/src/requests/factories/FormDataFactory.ts +0 -17
  415. package/src/requests/factories/JsonBodyFactory.ts +0 -9
  416. package/src/requests/index.ts +0 -61
  417. package/src/requests/responses/BaseResponse.ts +0 -41
  418. package/src/requests/responses/BlobResponse.ts +0 -19
  419. package/src/requests/responses/JsonResponse.ts +0 -15
  420. package/src/requests/responses/PlainTextResponse.ts +0 -15
  421. package/src/requests/types/RequestUploadProgress.ts +0 -6
  422. package/src/support/DeferredPromise.ts +0 -67
  423. package/src/support/helpers.ts +0 -78
  424. package/src/vue/composables/useConfirmDialog.ts +0 -63
  425. package/src/vue/composables/useGlobalCheckbox.ts +0 -145
  426. package/src/vue/composables/useIsEmpty.ts +0 -34
  427. package/src/vue/composables/useIsOpen.ts +0 -37
  428. package/src/vue/composables/useIsOpenFromVar.ts +0 -61
  429. package/src/vue/composables/useModelWrapper.ts +0 -27
  430. package/src/vue/composables/useOnOpen.ts +0 -34
  431. package/src/vue/contracts/ModelValueProps.ts +0 -3
  432. package/src/vue/forms/BaseForm.ts +0 -1192
  433. package/src/vue/forms/PropertyAwareArray.ts +0 -81
  434. package/src/vue/forms/types/PersistedForm.ts +0 -6
  435. package/src/vue/forms/validation/ValidationMode.enum.ts +0 -14
  436. package/src/vue/forms/validation/index.ts +0 -15
  437. package/src/vue/forms/validation/rules/BaseRule.ts +0 -7
  438. package/src/vue/forms/validation/rules/ConfirmedRule.ts +0 -39
  439. package/src/vue/forms/validation/rules/EmailRule.ts +0 -23
  440. package/src/vue/forms/validation/rules/JsonRule.ts +0 -28
  441. package/src/vue/forms/validation/rules/MinRule.ts +0 -61
  442. package/src/vue/forms/validation/rules/RequiredRule.ts +0 -19
  443. package/src/vue/forms/validation/rules/UrlRule.ts +0 -24
  444. package/src/vue/forms/validation/types/ValidationRules.ts +0 -15
  445. package/src/vue/index.ts +0 -14
  446. package/src/vue/requests/factories/VueRequestLoaderFactory.ts +0 -10
  447. package/src/vue/requests/loaders/VueRequestBatchLoader.ts +0 -35
  448. package/src/vue/requests/loaders/VueRequestLoader.ts +0 -18
  449. package/src/vue/router/routeResourceBinding/RouteResourceBoundView.ts +0 -145
  450. package/src/vue/router/routeResourceBinding/RouteResourceRequestResolver.ts +0 -11
  451. package/src/vue/router/routeResourceBinding/defineRoute.ts +0 -59
  452. package/src/vue/router/routeResourceBinding/index.ts +0 -11
  453. package/src/vue/router/routeResourceBinding/installRouteInjection.ts +0 -164
  454. package/src/vue/router/routeResourceBinding/types.ts +0 -53
  455. package/src/vue/router/routeResourceBinding/useRouteResource.ts +0 -24
  456. package/src/vue/state/State.ts +0 -380
  457. package/src/vue/state/index.ts +0 -3
  458. package/tests/service/bulkRequests/BulkRequestSender.test.ts +0 -76
  459. package/tests/service/bulkRequests/BulkRequestWrapper.test.ts +0 -51
  460. package/tests/service/helpers/mergeDeep.test.ts +0 -53
  461. package/tests/service/laravel/pagination/dataDrivers/RequestDriver.test.ts +0 -84
  462. package/tests/service/laravel/requests/JsonBaseRequest.test.ts +0 -43
  463. package/tests/service/laravel/requests/PaginationJsonBaseRequest.test.ts +0 -58
  464. package/tests/service/laravel/requests/responses/JsonResponse.test.ts +0 -59
  465. package/tests/service/laravel/requests/responses/PaginationResponse.test.ts +0 -127
  466. package/tests/service/pagination/BasePaginator.test.ts +0 -100
  467. package/tests/service/pagination/InfiniteScroller.test.ts +0 -101
  468. package/tests/service/pagination/PageAwarePaginator.test.ts +0 -133
  469. package/tests/service/pagination/StatePaginator.test.ts +0 -76
  470. package/tests/service/pagination/VueViewDrivers.test.ts +0 -46
  471. package/tests/service/pagination/dtos/PaginationDataDto.test.ts +0 -35
  472. package/tests/service/pagination/dtos/StatePaginationDataDto.test.ts +0 -14
  473. package/tests/service/pagination/factories/VuePaginationDriverFactory.test.ts +0 -32
  474. package/tests/service/pagination/frontendDrivers/VuePaginationDriver.test.ts +0 -66
  475. package/tests/service/persistenceDrivers/PersistenceDrivers.test.ts +0 -56
  476. package/tests/service/requests/BaseRequest.test.ts +0 -250
  477. package/tests/service/requests/BodiesAndFactories.test.ts +0 -28
  478. package/tests/service/requests/Enums.test.ts +0 -20
  479. package/tests/service/requests/ErrorHandler.test.ts +0 -188
  480. package/tests/service/requests/FormDataBody.test.ts +0 -63
  481. package/tests/service/requests/RequestErrorRouter.test.ts +0 -44
  482. package/tests/service/requests/Responses.test.ts +0 -83
  483. package/tests/service/requests/exceptions/Exceptions.test.ts +0 -43
  484. package/tests/service/requests/fetch/FetchDriver.test.ts +0 -76
  485. package/tests/service/requests/fetch/FetchResponse.test.ts +0 -21
  486. package/tests/service/requests/xhr/XMLHttpRequestDriver.test.ts +0 -178
  487. package/tests/service/support/DeferredPromise.test.ts +0 -40
  488. package/tests/service/support/helpers.test.ts +0 -37
  489. package/tests/vue/composables/useConfirmDialog.test.ts +0 -77
  490. package/tests/vue/composables/useGlobalCheckbox.test.ts +0 -126
  491. package/tests/vue/composables/useIsEmpty.test.ts +0 -18
  492. package/tests/vue/composables/useIsOpen.test.ts +0 -25
  493. package/tests/vue/composables/useIsOpenFromVar.test.ts +0 -22
  494. package/tests/vue/composables/useModelWrapper.test.ts +0 -30
  495. package/tests/vue/composables/useOnOpen.test.ts +0 -26
  496. package/tests/vue/forms/BaseForm.behavior.test.ts +0 -98
  497. package/tests/vue/forms/BaseForm.transformers.test.ts +0 -109
  498. package/tests/vue/forms/PropertyAwareArray.test.ts +0 -30
  499. package/tests/vue/forms/validation/ValidationRules.test.ts +0 -79
  500. package/tests/vue/requests/VueRequestLoaders.test.ts +0 -48
  501. package/tests/vue/router/routeResourceBinding/RouteResourceBoundView.test.ts +0 -344
  502. package/tests/vue/router/routeResourceBinding/RouteResourceUtils.test.ts +0 -70
  503. package/tests/vue/router/routeResourceBinding/installRouteInjection.test.ts +0 -450
  504. package/tests/vue/state/State.test.ts +0 -151
  505. package/tsconfig.json +0 -114
  506. package/vite.config.ts +0 -34
  507. package/vitest.config.ts +0 -23
@@ -0,0 +1,55 @@
1
+ var _a;
2
+ /**
3
+ * A new instance of deferred is constructed by calling `new DeferredPromse<T>()`.
4
+ * The purpose of the deferred object is to expose the associated Promise
5
+ * instance APIs that can be used for signaling the successful
6
+ * or unsuccessful completion, as well as the state of the task.
7
+ * @export
8
+ * @class DeferredPromise
9
+ * @implements {Promise<T>}
10
+ * @template T
11
+ * @example
12
+ * const deferred = new DeferredPromse<string>();
13
+ * console.log(deferred.state); // 'pending'
14
+ *
15
+ * deferred
16
+ * .then(str => console.log(str))
17
+ * .catch(err => console.error(err));
18
+ *
19
+ * deferred.resolve('Foo');
20
+ * console.log(deferred.state); // 'fulfilled'
21
+ * // deferred.reject('Bar');
22
+ *
23
+ * https://gist.github.com/GFoley83/5877f6c09fbcfd62569c51dc91444cf0
24
+ */
25
+ export class DeferredPromise {
26
+ get state() {
27
+ return this._state;
28
+ }
29
+ constructor() {
30
+ this[_a] = 'Promise';
31
+ this._state = 'pending';
32
+ this._promise = new Promise((resolve, reject) => {
33
+ this._resolve = resolve;
34
+ this._reject = reject;
35
+ });
36
+ }
37
+ then(onfulfilled, onrejected) {
38
+ return this._promise.then(onfulfilled, onrejected);
39
+ }
40
+ catch(onrejected) {
41
+ return this._promise.catch(onrejected);
42
+ }
43
+ finally(onfinally) {
44
+ return this._promise.finally(onfinally);
45
+ }
46
+ resolve(value) {
47
+ this._resolve(value);
48
+ this._state = 'fulfilled';
49
+ }
50
+ reject(reason) {
51
+ this._reject(reason);
52
+ this._state = 'rejected';
53
+ }
54
+ }
55
+ _a = Symbol.toStringTag;
@@ -0,0 +1,5 @@
1
+ export declare const getCookie: (cname: string) => string;
2
+ export declare const isObject: (item: unknown) => boolean;
3
+ export declare const mergeDeep: (target: object, ...sources: object[]) => object;
4
+ export declare const getDisplayablePages: (totalPages: number, pageNumber: number, displayPages?: number) => number[];
5
+ export declare const isAtBottom: (scrollHeight: number, scrollTop: number, clientHeight: number) => boolean;
@@ -0,0 +1,69 @@
1
+ export const getCookie = (cname) => {
2
+ const name = cname + '=';
3
+ const decodedCookie = decodeURIComponent(document.cookie);
4
+ const ca = decodedCookie.split(';');
5
+ for (let i = 0; i < ca.length; i++) {
6
+ let c = ca[i];
7
+ if (c === undefined) {
8
+ return '';
9
+ }
10
+ while (c.charAt(0) == ' ') {
11
+ c = c.substring(1);
12
+ }
13
+ if (c.indexOf(name) == 0) {
14
+ return c.substring(name.length, c.length);
15
+ }
16
+ }
17
+ return '';
18
+ };
19
+ export const isObject = (item) => {
20
+ if (!item) {
21
+ return false;
22
+ }
23
+ if (Array.isArray(item)) {
24
+ return false;
25
+ }
26
+ return typeof item === 'object';
27
+ };
28
+ export const mergeDeep = (target, ...sources) => {
29
+ if (!sources.length)
30
+ return target;
31
+ const source = sources.shift();
32
+ if (isObject(target) && isObject(source)) {
33
+ for (const key in source) {
34
+ // @ts-expect-error unknown structure
35
+ if (isObject(source[key])) {
36
+ // @ts-expect-error unknown structure
37
+ if (!target[key])
38
+ Object.assign(target, { [key]: {} });
39
+ // @ts-expect-error unknown structure
40
+ mergeDeep(target[key], source[key]);
41
+ }
42
+ else {
43
+ // @ts-expect-error unknown structure
44
+ Object.assign(target, { [key]: source[key] });
45
+ }
46
+ }
47
+ }
48
+ return mergeDeep(target, ...sources);
49
+ };
50
+ export const getDisplayablePages = (totalPages, pageNumber, displayPages = 4) => {
51
+ if (totalPages < displayPages) {
52
+ displayPages = totalPages;
53
+ }
54
+ let offset = 0;
55
+ const middlePage = Math.ceil(displayPages / 2);
56
+ if (pageNumber <= middlePage) {
57
+ offset = 0;
58
+ }
59
+ else if (pageNumber > totalPages - middlePage) {
60
+ offset = totalPages - displayPages;
61
+ }
62
+ else {
63
+ offset = pageNumber - middlePage;
64
+ }
65
+ return [...Array(displayPages).keys()].map((i) => i + 1 + offset);
66
+ };
67
+ export const isAtBottom = (scrollHeight, scrollTop, clientHeight) => {
68
+ return Math.abs(scrollHeight - scrollTop - clientHeight) <= 3.0;
69
+ };
@@ -1,4 +1,3 @@
1
- import { DeferredPromise } from './DeferredPromise'
2
- import { getCookie, getDisplayablePages, isAtBottom, isObject, mergeDeep } from './helpers'
3
-
4
- export { DeferredPromise, getCookie, getDisplayablePages, isAtBottom, isObject, mergeDeep }
1
+ import { DeferredPromise } from './DeferredPromise';
2
+ import { getCookie, getDisplayablePages, isAtBottom, isObject, mergeDeep } from './helpers';
3
+ export { DeferredPromise, getCookie, getDisplayablePages, isAtBottom, isObject, mergeDeep };
@@ -0,0 +1,3 @@
1
+ import { DeferredPromise } from './DeferredPromise';
2
+ import { getCookie, getDisplayablePages, isAtBottom, isObject, mergeDeep } from './helpers';
3
+ export { DeferredPromise, getCookie, getDisplayablePages, isAtBottom, isObject, mergeDeep };
@@ -0,0 +1,20 @@
1
+ import { type Component } from 'vue';
2
+ export declare enum ConfirmDialogSeverity {
3
+ INFO = "info",
4
+ WARNING = "warning",
5
+ DANGER = "danger"
6
+ }
7
+ export interface ConfirmDialogOptions {
8
+ getMessage(): string;
9
+ getSeverity(): ConfirmDialogSeverity;
10
+ getTitle(): string;
11
+ getOkText(): string;
12
+ getCancelText(): string;
13
+ }
14
+ /**
15
+ * The provided component needs to expose an "open" method, which
16
+ * should return a promise resolving into true or false.
17
+ */
18
+ export default function (confirmDialogComponent: Component, querySelector?: string): {
19
+ openConfirmDialog: (options: ConfirmDialogOptions) => Promise<boolean>;
20
+ };
@@ -0,0 +1,52 @@
1
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
+ return new (P || (P = Promise))(function (resolve, reject) {
4
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
8
+ });
9
+ };
10
+ import { getCurrentInstance, h, onUnmounted, render } from 'vue';
11
+ export var ConfirmDialogSeverity;
12
+ (function (ConfirmDialogSeverity) {
13
+ ConfirmDialogSeverity["INFO"] = "info";
14
+ ConfirmDialogSeverity["WARNING"] = "warning";
15
+ ConfirmDialogSeverity["DANGER"] = "danger";
16
+ })(ConfirmDialogSeverity || (ConfirmDialogSeverity = {}));
17
+ /**
18
+ * The provided component needs to expose an "open" method, which
19
+ * should return a promise resolving into true or false.
20
+ */
21
+ export default function (confirmDialogComponent, querySelector = 'body') {
22
+ const self = getCurrentInstance();
23
+ /**
24
+ * https://stackoverflow.com/a/78448128
25
+ */
26
+ function mountConfirmDialog(options) {
27
+ if (!(self === null || self === void 0 ? void 0 : self.appContext)) {
28
+ throw new Error('ConfirmationDialog: useConfirmDialog must be called inside a setup function');
29
+ }
30
+ const vNode = h(confirmDialogComponent, { options });
31
+ vNode.key = Symbol();
32
+ vNode.appContext = self.appContext;
33
+ render(vNode, document.querySelector(querySelector));
34
+ return vNode.component;
35
+ }
36
+ function unmountConfirmDialog() {
37
+ render(null, document.querySelector(querySelector));
38
+ }
39
+ onUnmounted(() => {
40
+ unmountConfirmDialog();
41
+ });
42
+ function openConfirmDialog(options) {
43
+ return __awaiter(this, void 0, void 0, function* () {
44
+ const dialogComponent = mountConfirmDialog(options);
45
+ if ((dialogComponent === null || dialogComponent === void 0 ? void 0 : dialogComponent.exposed) == undefined || (dialogComponent === null || dialogComponent === void 0 ? void 0 : dialogComponent.exposed['open']) === undefined) {
46
+ throw new Error('ConfirmationDialog: Provided component does not expose an "open" method');
47
+ }
48
+ return dialogComponent === null || dialogComponent === void 0 ? void 0 : dialogComponent.exposed['open'];
49
+ });
50
+ }
51
+ return { openConfirmDialog };
52
+ }
@@ -0,0 +1,13 @@
1
+ import { type Component, type Ref, type ComputedRef } from 'vue';
2
+ interface UseGlobalCheckboxOptions<T> {
3
+ getAll: () => Promise<T[]>;
4
+ getPage: () => T[];
5
+ totalCount: () => number;
6
+ }
7
+ export default function <T>(dialog: Component, options: UseGlobalCheckboxOptions<T>, querySelector?: string): {
8
+ selectedRows: Ref<T[]>;
9
+ indeterminate: ComputedRef<boolean>;
10
+ checked: ComputedRef<boolean>;
11
+ handleGlobalCheckboxChange: (event: Event) => void;
12
+ };
13
+ export {};
@@ -0,0 +1,123 @@
1
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
+ return new (P || (P = Promise))(function (resolve, reject) {
4
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
8
+ });
9
+ };
10
+ import { getCurrentInstance, shallowRef, computed, h, render, onUnmounted } from 'vue';
11
+ export default function (dialog, options, querySelector = 'body') {
12
+ const self = getCurrentInstance();
13
+ const selectedRows = shallowRef([]);
14
+ function mountDialog() {
15
+ if (!(self === null || self === void 0 ? void 0 : self.appContext)) {
16
+ throw new Error('useGlobalCheckbox must be called inside a setup function');
17
+ }
18
+ const vNode = h(dialog, {
19
+ indeterminate: indeterminate.value,
20
+ checked: checked.value
21
+ });
22
+ vNode.key = Symbol();
23
+ vNode.appContext = self.appContext;
24
+ render(vNode, document.querySelector(querySelector));
25
+ return vNode.component;
26
+ }
27
+ function unmountConfirmDialog() {
28
+ render(null, document.querySelector(querySelector));
29
+ }
30
+ onUnmounted(() => {
31
+ unmountConfirmDialog();
32
+ });
33
+ const indeterminate = computed(() => {
34
+ const totalCount = options.totalCount();
35
+ return selectedRows.value.length > 0 && selectedRows.value.length < totalCount;
36
+ });
37
+ const checked = computed({
38
+ get: () => {
39
+ const totalCount = options.totalCount();
40
+ return selectedRows.value.length > 0 && selectedRows.value.length === totalCount;
41
+ },
42
+ set: (value) => {
43
+ if (!value) {
44
+ selectedRows.value = [];
45
+ }
46
+ }
47
+ });
48
+ // Check if all elements are already displayed on the current page
49
+ const isAllElementsOnCurrentPage = () => {
50
+ return options.getPage().length === options.totalCount();
51
+ };
52
+ function handleGlobalCheckboxChange(event) {
53
+ return __awaiter(this, void 0, void 0, function* () {
54
+ if (!(event.target instanceof HTMLInputElement)) {
55
+ return;
56
+ }
57
+ const pageData = options.getPage();
58
+ // If all elements are on the current page, we can skip the dialog
59
+ // as both options would result in the same selection
60
+ const allElementsOnPage = isAllElementsOnCurrentPage();
61
+ // Case 1: Nothing is selected (unchecked state)
62
+ if (!checked.value && !indeterminate.value) {
63
+ if (allElementsOnPage) {
64
+ // All elements are already on the current page, just select them
65
+ selectedRows.value = [...pageData];
66
+ return;
67
+ }
68
+ // We need preventDefault() here because we're showing a dialog
69
+ // and don't want the checkbox to be checked until the user makes a choice
70
+ event.preventDefault();
71
+ const mountedDialog = mountDialog();
72
+ if (!(mountedDialog === null || mountedDialog === void 0 ? void 0 : mountedDialog.exposed))
73
+ return;
74
+ // When clicking the empty checkbox, ask if user wants current page or all entries
75
+ if (yield mountedDialog.exposed['open']) {
76
+ // User clicked "All Elements" button
77
+ selectedRows.value = yield options.getAll();
78
+ }
79
+ else {
80
+ // User clicked "Current Page" button
81
+ selectedRows.value = [...pageData];
82
+ }
83
+ return;
84
+ }
85
+ // Case 2: Indeterminate state (some items selected, not all)
86
+ if (indeterminate.value) {
87
+ if (allElementsOnPage) {
88
+ // If all elements are on the page, just select them all
89
+ selectedRows.value = [...pageData];
90
+ return;
91
+ }
92
+ // We need preventDefault() here because we're showing a dialog
93
+ // and don't want the checkbox to be checked until the user makes a choice
94
+ event.preventDefault();
95
+ const mountedDialog = mountDialog();
96
+ if (!(mountedDialog === null || mountedDialog === void 0 ? void 0 : mountedDialog.exposed))
97
+ return;
98
+ // When clicking the indeterminate checkbox, ask if the user wants all entries or unselect all
99
+ if (yield mountedDialog.exposed['open']) {
100
+ // User clicked "All Elements" button
101
+ selectedRows.value = yield options.getAll();
102
+ }
103
+ else {
104
+ // User clicked "Discard" button
105
+ selectedRows.value = [];
106
+ }
107
+ return;
108
+ }
109
+ // Case 3: Checked state (all items selected)
110
+ if (checked.value) {
111
+ // When all items are selected, we just clear the selection without a dialog
112
+ selectedRows.value = [];
113
+ return;
114
+ }
115
+ });
116
+ }
117
+ return {
118
+ selectedRows,
119
+ indeterminate,
120
+ checked,
121
+ handleGlobalCheckboxChange
122
+ };
123
+ }
@@ -0,0 +1,4 @@
1
+ export default function (): {
2
+ isEmpty: (value: unknown) => boolean;
3
+ isNotEmpty: (value: unknown) => boolean;
4
+ };
@@ -0,0 +1,27 @@
1
+ import { isEmpty as _isEmpty } from 'lodash-es';
2
+ export default function () {
3
+ function isObject(value) {
4
+ return typeof value === 'object' && !Array.isArray(value) && value !== null;
5
+ }
6
+ function isEmpty(value) {
7
+ // Check objects with lodash
8
+ if (isObject(value)) {
9
+ return _isEmpty(value);
10
+ }
11
+ // Check objects against their length property
12
+ if (Array.isArray(value)) {
13
+ return value.length === 0;
14
+ }
15
+ if (value === '' || value === null) {
16
+ return true;
17
+ }
18
+ return value === undefined;
19
+ }
20
+ function isNotEmpty(value) {
21
+ return !isEmpty(value);
22
+ }
23
+ return {
24
+ isEmpty,
25
+ isNotEmpty
26
+ };
27
+ }
@@ -0,0 +1,5 @@
1
+ import { type Ref, type WritableComputedRef } from 'vue';
2
+ export default function (callback?: (value: boolean) => void, delay?: number): {
3
+ isOpenKey: Ref<number>;
4
+ isOpen: WritableComputedRef<boolean>;
5
+ };
@@ -0,0 +1,25 @@
1
+ import { ref, computed } from 'vue';
2
+ export default function (callback = () => { }, delay = 500) {
3
+ const internalIsOpen = ref(false);
4
+ const isOpenKey = ref(0);
5
+ const isOpen = computed({
6
+ get() {
7
+ return internalIsOpen.value;
8
+ },
9
+ set(value) {
10
+ // False means we close, so we increment the key
11
+ // Add delay to preserve the closing animation.
12
+ setTimeout(() => {
13
+ if (!value) {
14
+ isOpenKey.value++;
15
+ }
16
+ }, delay);
17
+ internalIsOpen.value = value;
18
+ callback(value);
19
+ }
20
+ });
21
+ return {
22
+ isOpenKey,
23
+ isOpen
24
+ };
25
+ }
@@ -0,0 +1,6 @@
1
+ import { type Ref, type ComputedRef } from 'vue';
2
+ export default function <FromVarType>(defaultValue?: FromVarType | undefined, delay?: number): {
3
+ fromVar: ComputedRef<FromVarType | undefined>;
4
+ isOpenFromVar: ComputedRef<boolean>;
5
+ isOpenFromVarKey: Ref<number>;
6
+ };
@@ -0,0 +1,45 @@
1
+ import { ref, computed } from 'vue';
2
+ import useIsEmpty from './useIsEmpty';
3
+ export default function (defaultValue = undefined, delay = 500) {
4
+ const isOpenFromVarKey = ref(0);
5
+ const { isNotEmpty } = useIsEmpty();
6
+ const internalIsOpen = ref(false);
7
+ const internalFromVar = ref(defaultValue);
8
+ const isOpenFromVar = computed({
9
+ get() {
10
+ return internalIsOpen.value;
11
+ },
12
+ set(value) {
13
+ if (value) {
14
+ internalIsOpen.value = true;
15
+ internalFromVar.value = value;
16
+ }
17
+ else {
18
+ internalIsOpen.value = false;
19
+ setTimeout(() => {
20
+ internalFromVar.value = defaultValue;
21
+ isOpenFromVarKey.value++;
22
+ }, delay);
23
+ }
24
+ }
25
+ });
26
+ const fromVar = computed({
27
+ get() {
28
+ return internalFromVar.value;
29
+ },
30
+ set(value) {
31
+ if (isNotEmpty(value)) {
32
+ isOpenFromVar.value = true;
33
+ internalFromVar.value = value;
34
+ }
35
+ else {
36
+ isOpenFromVar.value = false;
37
+ }
38
+ }
39
+ });
40
+ return {
41
+ fromVar,
42
+ isOpenFromVar,
43
+ isOpenFromVarKey
44
+ };
45
+ }
@@ -0,0 +1,9 @@
1
+ import { type ModelValueProps } from '../contracts/ModelValueProps';
2
+ import { type ModelValueOptions as ParentModelValueOptions } from '../contracts/ModelValueOptions';
3
+ export interface ModelValueOptions<T> extends ParentModelValueOptions {
4
+ callback?: (value: T) => void;
5
+ }
6
+ /**
7
+ * @deprecated Use Vue 3.4+ `defineModel()` instead.
8
+ */
9
+ export default function <T, EmitType>(props: ModelValueProps, emit: EmitType, options?: ModelValueOptions<T>): import("vue").WritableComputedRef<T, T>;
@@ -0,0 +1,18 @@
1
+ import { computed } from 'vue';
2
+ /**
3
+ * @deprecated Use Vue 3.4+ `defineModel()` instead.
4
+ */
5
+ export default function (props, emit, options = {}) {
6
+ const { name = 'modelValue', callback = () => { } } = options;
7
+ return computed({
8
+ get() {
9
+ /* @ts-expect-error Ignore type */
10
+ return props[name];
11
+ },
12
+ set(value) {
13
+ /* @ts-expect-error Ignore expression is not callable */
14
+ emit(`update:${name}`, value);
15
+ callback(value);
16
+ }
17
+ });
18
+ }
@@ -0,0 +1,7 @@
1
+ import { type Ref } from 'vue';
2
+ type Callback = () => void;
3
+ export default function (ref: Ref<unknown>): {
4
+ onOpen: (callback: Callback) => void;
5
+ onClose: (callback: Callback) => void;
6
+ };
7
+ export {};
@@ -0,0 +1,25 @@
1
+ import { nextTick, watch } from 'vue';
2
+ export default function (ref) {
3
+ const openCallbacks = [];
4
+ const closeCallbacks = [];
5
+ watch(() => ref.value, (newValue, oldValue) => {
6
+ nextTick(() => {
7
+ if (newValue && !oldValue) {
8
+ openCallbacks.forEach((callback) => callback());
9
+ }
10
+ else if (!newValue && oldValue) {
11
+ closeCallbacks.forEach((callback) => callback());
12
+ }
13
+ });
14
+ });
15
+ function onOpen(callback) {
16
+ openCallbacks.push(callback);
17
+ }
18
+ function onClose(callback) {
19
+ closeCallbacks.push(callback);
20
+ }
21
+ return {
22
+ onOpen,
23
+ onClose
24
+ };
25
+ }
@@ -1,3 +1,3 @@
1
1
  export interface ModelValueOptions {
2
- name?: string
2
+ name?: string;
3
3
  }
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,3 @@
1
+ export interface ModelValueProps {
2
+ [key: string]: string | number | Array<unknown> | boolean | object;
3
+ }
@@ -0,0 +1 @@
1
+ export {};