@blueprint-ts/core 4.1.0-beta.2 → 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.
- package/dist/bulkRequests/BulkRequestEvent.enum.d.ts +4 -0
- package/dist/bulkRequests/BulkRequestEvent.enum.js +5 -0
- package/dist/bulkRequests/BulkRequestSender.d.ts +31 -0
- package/dist/bulkRequests/BulkRequestSender.js +161 -0
- package/dist/bulkRequests/BulkRequestWrapper.d.ts +15 -0
- package/dist/bulkRequests/BulkRequestWrapper.js +50 -0
- package/dist/bulkRequests/index.d.ts +5 -0
- package/dist/bulkRequests/index.js +5 -0
- package/{src/laravel/pagination/contracts/PaginationResponseBodyContract.ts → dist/laravel/pagination/contracts/PaginationResponseBodyContract.d.ts} +4 -4
- package/dist/laravel/pagination/contracts/PaginationResponseBodyContract.js +1 -0
- package/dist/laravel/pagination/dataDrivers/RequestDriver.d.ts +10 -0
- package/dist/laravel/pagination/dataDrivers/RequestDriver.js +18 -0
- package/dist/laravel/pagination/index.d.ts +4 -0
- package/dist/laravel/pagination/index.js +2 -0
- package/dist/laravel/requests/JsonBaseRequest.d.ts +14 -0
- package/dist/laravel/requests/JsonBaseRequest.js +15 -0
- package/dist/laravel/requests/PaginationJsonBaseRequest.d.ts +8 -0
- package/dist/laravel/requests/PaginationJsonBaseRequest.js +13 -0
- package/dist/laravel/requests/index.d.ts +7 -0
- package/dist/laravel/requests/index.js +5 -0
- package/dist/laravel/requests/responses/JsonResponse.d.ts +5 -0
- package/dist/laravel/requests/responses/JsonResponse.js +6 -0
- package/dist/laravel/requests/responses/PaginationResponse.d.ts +7 -0
- package/dist/laravel/requests/responses/PaginationResponse.js +9 -0
- package/dist/pagination/BasePaginator.d.ts +19 -0
- package/dist/pagination/BasePaginator.js +65 -0
- package/dist/pagination/InfiniteScroller.d.ts +6 -0
- package/dist/pagination/InfiniteScroller.js +17 -0
- package/dist/pagination/PageAwarePaginator.d.ts +32 -0
- package/dist/pagination/PageAwarePaginator.js +86 -0
- package/dist/pagination/StatePaginator.d.ts +25 -0
- package/dist/pagination/StatePaginator.js +55 -0
- package/dist/pagination/contracts/BaseViewDriverContract.d.ts +6 -0
- package/dist/pagination/contracts/BaseViewDriverContract.js +1 -0
- package/{src/pagination/contracts/BaseViewDriverFactoryContract.ts → dist/pagination/contracts/BaseViewDriverFactoryContract.d.ts} +2 -3
- package/dist/pagination/contracts/BaseViewDriverFactoryContract.js +1 -0
- package/dist/pagination/contracts/PaginateableRequestContract.d.ts +4 -0
- package/dist/pagination/contracts/PaginateableRequestContract.js +1 -0
- package/dist/pagination/contracts/PaginationDataDriverContract.d.ts +4 -0
- package/dist/pagination/contracts/PaginationDataDriverContract.js +1 -0
- package/{src/pagination/contracts/PaginationResponseContract.ts → dist/pagination/contracts/PaginationResponseContract.d.ts} +3 -5
- package/dist/pagination/contracts/PaginationResponseContract.js +1 -0
- package/{src/pagination/contracts/PaginatorLoadDataOptions.ts → dist/pagination/contracts/PaginatorLoadDataOptions.d.ts} +2 -2
- package/dist/pagination/contracts/PaginatorLoadDataOptions.js +1 -0
- package/{src/pagination/contracts/StatePaginationDataDriverContract.ts → dist/pagination/contracts/StatePaginationDataDriverContract.d.ts} +2 -3
- package/dist/pagination/contracts/StatePaginationDataDriverContract.js +1 -0
- package/dist/pagination/contracts/ViewDriverContract.d.ts +9 -0
- package/dist/pagination/contracts/ViewDriverContract.js +1 -0
- package/dist/pagination/contracts/ViewDriverFactoryContract.d.ts +4 -0
- package/dist/pagination/contracts/ViewDriverFactoryContract.js +1 -0
- package/dist/pagination/dataDrivers/ArrayDriver.d.ts +9 -0
- package/dist/pagination/dataDrivers/ArrayDriver.js +20 -0
- package/dist/pagination/dtos/PaginationDataDto.d.ts +7 -0
- package/dist/pagination/dtos/PaginationDataDto.js +12 -0
- package/dist/pagination/dtos/StatePaginationDataDto.d.ts +7 -0
- package/dist/pagination/dtos/StatePaginationDataDto.js +13 -0
- package/dist/pagination/factories/VueBaseViewDriverFactory.d.ts +5 -0
- package/dist/pagination/factories/VueBaseViewDriverFactory.js +6 -0
- package/dist/pagination/factories/VuePaginationDriverFactory.d.ts +5 -0
- package/dist/pagination/factories/VuePaginationDriverFactory.js +6 -0
- package/dist/pagination/frontendDrivers/VueBaseViewDriver.d.ts +11 -0
- package/dist/pagination/frontendDrivers/VueBaseViewDriver.js +19 -0
- package/dist/pagination/frontendDrivers/VuePaginationDriver.d.ts +21 -0
- package/dist/pagination/frontendDrivers/VuePaginationDriver.js +41 -0
- package/dist/pagination/index.d.ts +22 -0
- package/dist/pagination/index.js +13 -0
- package/dist/persistenceDrivers/LocalStorageDriver.d.ts +9 -0
- package/dist/persistenceDrivers/LocalStorageDriver.js +18 -0
- package/dist/persistenceDrivers/NonPersistentDriver.d.ts +7 -0
- package/dist/persistenceDrivers/NonPersistentDriver.js +8 -0
- package/dist/persistenceDrivers/SessionStorageDriver.d.ts +9 -0
- package/dist/persistenceDrivers/SessionStorageDriver.js +18 -0
- package/dist/persistenceDrivers/index.d.ts +6 -0
- package/dist/persistenceDrivers/index.js +4 -0
- package/dist/persistenceDrivers/types/PersistenceDriver.d.ts +5 -0
- package/dist/persistenceDrivers/types/PersistenceDriver.js +1 -0
- package/dist/requests/BaseRequest.d.ts +62 -0
- package/dist/requests/BaseRequest.js +224 -0
- package/dist/requests/ErrorHandler.d.ts +11 -0
- package/dist/requests/ErrorHandler.js +127 -0
- package/dist/requests/RequestConcurrencyMode.enum.d.ts +6 -0
- package/dist/requests/RequestConcurrencyMode.enum.js +7 -0
- package/dist/requests/RequestErrorRouter.d.ts +38 -0
- package/dist/requests/RequestErrorRouter.js +38 -0
- package/dist/requests/RequestEvents.enum.d.ts +4 -0
- package/dist/requests/RequestEvents.enum.js +5 -0
- package/dist/requests/RequestMethod.enum.d.ts +8 -0
- package/dist/requests/RequestMethod.enum.js +9 -0
- package/dist/requests/bodies/BinaryBody.d.ts +10 -0
- package/dist/requests/bodies/BinaryBody.js +22 -0
- package/dist/requests/bodies/FormDataBody.d.ts +14 -0
- package/dist/requests/bodies/FormDataBody.js +60 -0
- package/dist/requests/bodies/JsonBody.d.ts +8 -0
- package/dist/requests/bodies/JsonBody.js +13 -0
- package/{src/requests/contracts/AbortableRequestContract.ts → dist/requests/contracts/AbortableRequestContract.d.ts} +1 -1
- package/dist/requests/contracts/AbortableRequestContract.js +1 -0
- package/dist/requests/contracts/BaseRequestContract.d.ts +23 -0
- package/dist/requests/contracts/BaseRequestContract.js +1 -0
- package/dist/requests/contracts/BodyContract.d.ts +6 -0
- package/dist/requests/contracts/BodyContract.js +1 -0
- package/dist/requests/contracts/BodyFactoryContract.d.ts +4 -0
- package/dist/requests/contracts/BodyFactoryContract.js +1 -0
- package/dist/requests/contracts/DriverConfigContract.d.ts +8 -0
- package/dist/requests/contracts/DriverConfigContract.js +1 -0
- package/dist/requests/contracts/HeadersContract.d.ts +7 -0
- package/dist/requests/contracts/HeadersContract.js +1 -0
- package/dist/requests/contracts/RequestDriverContract.d.ts +8 -0
- package/dist/requests/contracts/RequestDriverContract.js +1 -0
- package/dist/requests/contracts/RequestLoaderContract.d.ts +4 -0
- package/dist/requests/contracts/RequestLoaderContract.js +1 -0
- package/{src/requests/contracts/RequestLoaderFactoryContract.ts → dist/requests/contracts/RequestLoaderFactoryContract.d.ts} +2 -3
- package/dist/requests/contracts/RequestLoaderFactoryContract.js +1 -0
- package/dist/requests/contracts/ResponseContract.d.ts +5 -0
- package/dist/requests/contracts/ResponseContract.js +1 -0
- package/dist/requests/drivers/contracts/ResponseHandlerContract.d.ts +9 -0
- package/dist/requests/drivers/contracts/ResponseHandlerContract.js +1 -0
- package/dist/requests/drivers/fetch/FetchDriver.d.ts +26 -0
- package/dist/requests/drivers/fetch/FetchDriver.js +73 -0
- package/dist/requests/drivers/fetch/FetchResponse.d.ts +12 -0
- package/dist/requests/drivers/fetch/FetchResponse.js +38 -0
- package/dist/requests/drivers/xhr/XMLHttpRequestDriver.d.ts +13 -0
- package/dist/requests/drivers/xhr/XMLHttpRequestDriver.js +107 -0
- package/dist/requests/drivers/xhr/XMLHttpRequestResponse.d.ts +17 -0
- package/dist/requests/drivers/xhr/XMLHttpRequestResponse.js +84 -0
- package/dist/requests/exceptions/BadGatewayException.d.ts +3 -0
- package/dist/requests/exceptions/BadGatewayException.js +3 -0
- package/dist/requests/exceptions/BadRequestException.d.ts +3 -0
- package/dist/requests/exceptions/BadRequestException.js +3 -0
- package/dist/requests/exceptions/ConflictException.d.ts +3 -0
- package/dist/requests/exceptions/ConflictException.js +3 -0
- package/dist/requests/exceptions/ForbiddenException.d.ts +3 -0
- package/dist/requests/exceptions/ForbiddenException.js +3 -0
- package/dist/requests/exceptions/GatewayTimeoutException.d.ts +3 -0
- package/dist/requests/exceptions/GatewayTimeoutException.js +3 -0
- package/dist/requests/exceptions/GoneException.d.ts +3 -0
- package/dist/requests/exceptions/GoneException.js +3 -0
- package/dist/requests/exceptions/InvalidJsonException.d.ts +7 -0
- package/dist/requests/exceptions/InvalidJsonException.js +10 -0
- package/dist/requests/exceptions/LockedException.d.ts +3 -0
- package/dist/requests/exceptions/LockedException.js +3 -0
- package/dist/requests/exceptions/MethodNotAllowedException.d.ts +3 -0
- package/dist/requests/exceptions/MethodNotAllowedException.js +3 -0
- package/dist/requests/exceptions/NoResponseReceivedException.d.ts +3 -0
- package/{src/requests/exceptions/NoResponseReceivedException.ts → dist/requests/exceptions/NoResponseReceivedException.js} +3 -3
- package/dist/requests/exceptions/NotFoundException.d.ts +3 -0
- package/dist/requests/exceptions/NotFoundException.js +3 -0
- package/dist/requests/exceptions/NotImplementedException.d.ts +3 -0
- package/dist/requests/exceptions/NotImplementedException.js +3 -0
- package/dist/requests/exceptions/PageExpiredException.d.ts +3 -0
- package/dist/requests/exceptions/PageExpiredException.js +3 -0
- package/dist/requests/exceptions/PayloadTooLargeException.d.ts +3 -0
- package/dist/requests/exceptions/PayloadTooLargeException.js +3 -0
- package/dist/requests/exceptions/PreconditionFailedException.d.ts +3 -0
- package/dist/requests/exceptions/PreconditionFailedException.js +3 -0
- package/dist/requests/exceptions/RequestTimeoutException.d.ts +3 -0
- package/dist/requests/exceptions/RequestTimeoutException.js +3 -0
- package/dist/requests/exceptions/ResponseBodyException.d.ts +7 -0
- package/dist/requests/exceptions/ResponseBodyException.js +10 -0
- package/dist/requests/exceptions/ResponseException.d.ts +6 -0
- package/dist/requests/exceptions/ResponseException.js +9 -0
- package/dist/requests/exceptions/ServerErrorException.d.ts +3 -0
- package/dist/requests/exceptions/ServerErrorException.js +3 -0
- package/dist/requests/exceptions/ServiceUnavailableException.d.ts +3 -0
- package/dist/requests/exceptions/ServiceUnavailableException.js +3 -0
- package/dist/requests/exceptions/StaleResponseException.d.ts +5 -0
- package/dist/requests/exceptions/StaleResponseException.js +10 -0
- package/dist/requests/exceptions/TooManyRequestsException.d.ts +3 -0
- package/dist/requests/exceptions/TooManyRequestsException.js +3 -0
- package/dist/requests/exceptions/UnauthorizedException.d.ts +3 -0
- package/dist/requests/exceptions/UnauthorizedException.js +3 -0
- package/dist/requests/exceptions/UnsupportedMediaTypeException.d.ts +3 -0
- package/dist/requests/exceptions/UnsupportedMediaTypeException.js +3 -0
- package/dist/requests/exceptions/ValidationException.d.ts +3 -0
- package/dist/requests/exceptions/ValidationException.js +3 -0
- package/dist/requests/exceptions/index.d.ts +25 -0
- package/dist/requests/exceptions/index.js +25 -0
- package/dist/requests/factories/BinaryBodyFactory.d.ts +8 -0
- package/dist/requests/factories/BinaryBodyFactory.js +9 -0
- package/dist/requests/factories/FormDataFactory.d.ts +12 -0
- package/dist/requests/factories/FormDataFactory.js +6 -0
- package/dist/requests/factories/JsonBodyFactory.d.ts +5 -0
- package/dist/requests/factories/JsonBodyFactory.js +6 -0
- package/dist/requests/index.d.ts +31 -0
- package/dist/requests/index.js +19 -0
- package/dist/requests/responses/BaseResponse.d.ts +14 -0
- package/dist/requests/responses/BaseResponse.js +36 -0
- package/dist/requests/responses/BlobResponse.d.ts +7 -0
- package/dist/requests/responses/BlobResponse.js +16 -0
- package/dist/requests/responses/JsonResponse.d.ts +5 -0
- package/dist/requests/responses/JsonResponse.js +12 -0
- package/dist/requests/responses/PlainTextResponse.d.ts +5 -0
- package/dist/requests/responses/PlainTextResponse.js +12 -0
- package/{src/requests/types/RequestConcurrencyOptions.ts → dist/requests/types/RequestConcurrencyOptions.d.ts} +4 -5
- package/dist/requests/types/RequestConcurrencyOptions.js +1 -0
- package/dist/requests/types/RequestUploadProgress.d.ts +6 -0
- package/dist/requests/types/RequestUploadProgress.js +1 -0
- package/dist/support/DeferredPromise.d.ts +37 -0
- package/dist/support/DeferredPromise.js +55 -0
- package/dist/support/helpers.d.ts +5 -0
- package/dist/support/helpers.js +69 -0
- package/{src/support/index.ts → dist/support/index.d.ts} +3 -4
- package/dist/support/index.js +3 -0
- package/dist/vue/composables/useConfirmDialog.d.ts +20 -0
- package/dist/vue/composables/useConfirmDialog.js +52 -0
- package/dist/vue/composables/useGlobalCheckbox.d.ts +13 -0
- package/dist/vue/composables/useGlobalCheckbox.js +123 -0
- package/dist/vue/composables/useIsEmpty.d.ts +4 -0
- package/dist/vue/composables/useIsEmpty.js +27 -0
- package/dist/vue/composables/useIsOpen.d.ts +5 -0
- package/dist/vue/composables/useIsOpen.js +25 -0
- package/dist/vue/composables/useIsOpenFromVar.d.ts +6 -0
- package/dist/vue/composables/useIsOpenFromVar.js +45 -0
- package/dist/vue/composables/useModelWrapper.d.ts +9 -0
- package/dist/vue/composables/useModelWrapper.js +18 -0
- package/dist/vue/composables/useOnOpen.d.ts +7 -0
- package/dist/vue/composables/useOnOpen.js +25 -0
- package/{src/vue/contracts/ModelValueOptions.ts → dist/vue/contracts/ModelValueOptions.d.ts} +1 -1
- package/dist/vue/contracts/ModelValueOptions.js +1 -0
- package/dist/vue/contracts/ModelValueProps.d.ts +3 -0
- package/dist/vue/contracts/ModelValueProps.js +1 -0
- package/dist/vue/forms/BaseForm.d.ts +162 -0
- package/dist/vue/forms/BaseForm.js +997 -0
- package/dist/vue/forms/PropertyAwareArray.d.ts +53 -0
- package/dist/vue/forms/PropertyAwareArray.js +54 -0
- package/{src/vue/forms/index.ts → dist/vue/forms/index.d.ts} +9 -11
- package/dist/vue/forms/index.js +6 -0
- package/dist/vue/forms/types/PersistedForm.d.ts +6 -0
- package/dist/vue/forms/types/PersistedForm.js +1 -0
- package/dist/vue/forms/validation/ValidationMode.enum.d.ts +11 -0
- package/dist/vue/forms/validation/ValidationMode.enum.js +14 -0
- package/dist/vue/forms/validation/index.d.ts +12 -0
- package/dist/vue/forms/validation/index.js +9 -0
- package/dist/vue/forms/validation/rules/BaseRule.d.ts +5 -0
- package/dist/vue/forms/validation/rules/BaseRule.js +5 -0
- package/dist/vue/forms/validation/rules/ConfirmedRule.d.ts +10 -0
- package/dist/vue/forms/validation/rules/ConfirmedRule.js +26 -0
- package/dist/vue/forms/validation/rules/EmailRule.d.ts +7 -0
- package/dist/vue/forms/validation/rules/EmailRule.js +19 -0
- package/dist/vue/forms/validation/rules/JsonRule.d.ts +7 -0
- package/dist/vue/forms/validation/rules/JsonRule.js +25 -0
- package/dist/vue/forms/validation/rules/MinRule.d.ts +26 -0
- package/dist/vue/forms/validation/rules/MinRule.js +52 -0
- package/dist/vue/forms/validation/rules/RequiredRule.d.ts +7 -0
- package/dist/vue/forms/validation/rules/RequiredRule.js +16 -0
- package/dist/vue/forms/validation/rules/UrlRule.d.ts +7 -0
- package/dist/vue/forms/validation/rules/UrlRule.js +22 -0
- package/{src/vue/forms/validation/types/BidirectionalRule.ts → dist/vue/forms/validation/types/BidirectionalRule.d.ts} +4 -4
- package/dist/vue/forms/validation/types/BidirectionalRule.js +1 -0
- package/dist/vue/forms/validation/types/ValidationRules.d.ts +11 -0
- package/dist/vue/forms/validation/types/ValidationRules.js +1 -0
- package/dist/vue/index.d.ts +11 -0
- package/dist/vue/index.js +10 -0
- package/dist/vue/requests/factories/VueRequestLoaderFactory.d.ts +6 -0
- package/dist/vue/requests/factories/VueRequestLoaderFactory.js +6 -0
- package/{src/vue/requests/index.ts → dist/vue/requests/index.d.ts} +4 -5
- package/dist/vue/requests/index.js +4 -0
- package/dist/vue/requests/loaders/VueRequestBatchLoader.d.ts +12 -0
- package/dist/vue/requests/loaders/VueRequestBatchLoader.js +29 -0
- package/dist/vue/requests/loaders/VueRequestLoader.d.ts +8 -0
- package/dist/vue/requests/loaders/VueRequestLoader.js +12 -0
- package/dist/vue/router/routeResourceBinding/RouteResourceBoundView.d.ts +57 -0
- package/dist/vue/router/routeResourceBinding/RouteResourceBoundView.js +135 -0
- package/dist/vue/router/routeResourceBinding/RouteResourceRequestResolver.d.ts +6 -0
- package/dist/vue/router/routeResourceBinding/RouteResourceRequestResolver.js +20 -0
- package/dist/vue/router/routeResourceBinding/defineRoute.d.ts +23 -0
- package/dist/vue/router/routeResourceBinding/defineRoute.js +42 -0
- package/dist/vue/router/routeResourceBinding/index.d.ts +8 -0
- package/dist/vue/router/routeResourceBinding/index.js +6 -0
- package/dist/vue/router/routeResourceBinding/installRouteInjection.d.ts +14 -0
- package/dist/vue/router/routeResourceBinding/installRouteInjection.js +133 -0
- package/dist/vue/router/routeResourceBinding/types.d.ts +55 -0
- package/dist/vue/router/routeResourceBinding/types.js +1 -0
- package/dist/vue/router/routeResourceBinding/useRouteResource.d.ts +8 -0
- package/dist/vue/router/routeResourceBinding/useRouteResource.js +29 -0
- package/dist/vue/state/State.d.ts +75 -0
- package/dist/vue/state/State.js +267 -0
- package/dist/vue/state/index.d.ts +2 -0
- package/dist/vue/state/index.js +2 -0
- package/package.json +81 -23
- package/.editorconfig +0 -508
- package/.eslintrc.cjs +0 -15
- package/.prettierrc.json +0 -8
- package/CHANGELOG.md +0 -226
- package/docker-compose.yaml +0 -8
- package/docs/.vitepress/config.ts +0 -124
- package/docs/index.md +0 -13
- package/docs/laravel/pagination.md +0 -67
- package/docs/laravel/requests.md +0 -62
- package/docs/services/pagination/index.md +0 -46
- package/docs/services/pagination/infinite-scroller.md +0 -20
- package/docs/services/pagination/page-aware.md +0 -51
- package/docs/services/pagination/state-pagination.md +0 -77
- package/docs/services/pagination/updating-rows.md +0 -52
- package/docs/services/persistence/index.md +0 -46
- package/docs/services/requests/abort-requests.md +0 -29
- package/docs/services/requests/bulk-requests.md +0 -70
- package/docs/services/requests/concurrency.md +0 -58
- package/docs/services/requests/drivers.md +0 -115
- package/docs/services/requests/error-handling.md +0 -153
- package/docs/services/requests/events.md +0 -53
- package/docs/services/requests/file-uploads.md +0 -168
- package/docs/services/requests/getting-started.md +0 -201
- package/docs/services/requests/headers.md +0 -40
- package/docs/services/requests/loading.md +0 -63
- package/docs/services/requests/request-bodies.md +0 -89
- package/docs/services/requests/responses.md +0 -34
- package/docs/services/support/deferred-promise.md +0 -63
- package/docs/services/support/helpers.md +0 -77
- package/docs/services/support/index.md +0 -6
- package/docs/upgrading/v1-to-v2.md +0 -64
- package/docs/upgrading/v2-to-v3.md +0 -52
- package/docs/upgrading/v3-to-v4.md +0 -214
- package/docs/upgrading.md +0 -0
- package/docs/vue/composables/use-confirm-dialog.md +0 -96
- package/docs/vue/composables/use-global-checkbox.md +0 -73
- package/docs/vue/composables/use-is-empty.md +0 -26
- package/docs/vue/composables/use-is-open-from-var.md +0 -32
- package/docs/vue/composables/use-is-open.md +0 -28
- package/docs/vue/composables/use-model-wrapper.md +0 -29
- package/docs/vue/composables/use-on-open.md +0 -26
- package/docs/vue/forms/arrays.md +0 -102
- package/docs/vue/forms/errors.md +0 -52
- package/docs/vue/forms/index.md +0 -99
- package/docs/vue/forms/payloads.md +0 -99
- package/docs/vue/forms/persistence.md +0 -19
- package/docs/vue/forms/state-and-properties.md +0 -26
- package/docs/vue/forms/utilities.md +0 -27
- package/docs/vue/forms/validation.md +0 -189
- package/docs/vue/requests/loading.md +0 -51
- package/docs/vue/router/route-resource-binding.md +0 -240
- package/docs/vue/state.md +0 -309
- package/env.d.ts +0 -1
- package/eslint.config.js +0 -15
- package/release-tool.json +0 -26
- package/src/bulkRequests/BulkRequestEvent.enum.ts +0 -4
- package/src/bulkRequests/BulkRequestSender.ts +0 -196
- package/src/bulkRequests/BulkRequestWrapper.ts +0 -49
- package/src/bulkRequests/index.ts +0 -6
- package/src/laravel/pagination/dataDrivers/RequestDriver.ts +0 -30
- package/src/laravel/pagination/index.ts +0 -6
- package/src/laravel/requests/JsonBaseRequest.ts +0 -35
- package/src/laravel/requests/PaginationJsonBaseRequest.ts +0 -29
- package/src/laravel/requests/index.ts +0 -9
- package/src/laravel/requests/responses/JsonResponse.ts +0 -8
- package/src/laravel/requests/responses/PaginationResponse.ts +0 -16
- package/src/pagination/BasePaginator.ts +0 -94
- package/src/pagination/InfiniteScroller.ts +0 -22
- package/src/pagination/PageAwarePaginator.ts +0 -132
- package/src/pagination/StatePaginator.ts +0 -86
- package/src/pagination/contracts/BaseViewDriverContract.ts +0 -6
- package/src/pagination/contracts/PaginateableRequestContract.ts +0 -13
- package/src/pagination/contracts/PaginationDataDriverContract.ts +0 -5
- package/src/pagination/contracts/ViewDriverContract.ts +0 -10
- package/src/pagination/contracts/ViewDriverFactoryContract.ts +0 -5
- package/src/pagination/dataDrivers/ArrayDriver.ts +0 -28
- package/src/pagination/dtos/PaginationDataDto.ts +0 -14
- package/src/pagination/dtos/StatePaginationDataDto.ts +0 -19
- package/src/pagination/factories/VueBaseViewDriverFactory.ts +0 -9
- package/src/pagination/factories/VuePaginationDriverFactory.ts +0 -9
- package/src/pagination/frontendDrivers/VueBaseViewDriver.ts +0 -28
- package/src/pagination/frontendDrivers/VuePaginationDriver.ts +0 -61
- package/src/pagination/index.ts +0 -46
- package/src/persistenceDrivers/LocalStorageDriver.ts +0 -22
- package/src/persistenceDrivers/NonPersistentDriver.ts +0 -12
- package/src/persistenceDrivers/SessionStorageDriver.ts +0 -22
- package/src/persistenceDrivers/index.ts +0 -8
- package/src/persistenceDrivers/types/PersistenceDriver.ts +0 -5
- package/src/requests/BaseRequest.ts +0 -321
- package/src/requests/ErrorHandler.ts +0 -144
- package/src/requests/RequestConcurrencyMode.enum.ts +0 -6
- package/src/requests/RequestErrorRouter.ts +0 -89
- package/src/requests/RequestEvents.enum.ts +0 -4
- package/src/requests/RequestMethod.enum.ts +0 -8
- package/src/requests/bodies/BinaryBody.ts +0 -31
- package/src/requests/bodies/FormDataBody.ts +0 -81
- package/src/requests/bodies/JsonBody.ts +0 -16
- package/src/requests/contracts/BaseRequestContract.ts +0 -39
- package/src/requests/contracts/BodyContract.ts +0 -9
- package/src/requests/contracts/BodyFactoryContract.ts +0 -5
- package/src/requests/contracts/DriverConfigContract.ts +0 -9
- package/src/requests/contracts/HeadersContract.ts +0 -9
- package/src/requests/contracts/RequestDriverContract.ts +0 -15
- package/src/requests/contracts/RequestLoaderContract.ts +0 -5
- package/src/requests/contracts/ResponseContract.ts +0 -7
- package/src/requests/drivers/contracts/ResponseHandlerContract.ts +0 -10
- package/src/requests/drivers/fetch/FetchDriver.ts +0 -115
- package/src/requests/drivers/fetch/FetchResponse.ts +0 -30
- package/src/requests/drivers/xhr/XMLHttpRequestDriver.ts +0 -138
- package/src/requests/drivers/xhr/XMLHttpRequestResponse.ts +0 -95
- package/src/requests/exceptions/BadGatewayException.ts +0 -3
- package/src/requests/exceptions/BadRequestException.ts +0 -3
- package/src/requests/exceptions/ConflictException.ts +0 -3
- package/src/requests/exceptions/ForbiddenException.ts +0 -3
- package/src/requests/exceptions/GatewayTimeoutException.ts +0 -3
- package/src/requests/exceptions/GoneException.ts +0 -3
- package/src/requests/exceptions/InvalidJsonException.ts +0 -15
- package/src/requests/exceptions/LockedException.ts +0 -3
- package/src/requests/exceptions/MethodNotAllowedException.ts +0 -3
- package/src/requests/exceptions/NotFoundException.ts +0 -3
- package/src/requests/exceptions/NotImplementedException.ts +0 -3
- package/src/requests/exceptions/PageExpiredException.ts +0 -3
- package/src/requests/exceptions/PayloadTooLargeException.ts +0 -3
- package/src/requests/exceptions/PreconditionFailedException.ts +0 -3
- package/src/requests/exceptions/RequestTimeoutException.ts +0 -3
- package/src/requests/exceptions/ResponseBodyException.ts +0 -15
- package/src/requests/exceptions/ResponseException.ts +0 -11
- package/src/requests/exceptions/ServerErrorException.ts +0 -3
- package/src/requests/exceptions/ServiceUnavailableException.ts +0 -3
- package/src/requests/exceptions/StaleResponseException.ts +0 -13
- package/src/requests/exceptions/TooManyRequestsException.ts +0 -3
- package/src/requests/exceptions/UnauthorizedException.ts +0 -3
- package/src/requests/exceptions/UnsupportedMediaTypeException.ts +0 -3
- package/src/requests/exceptions/ValidationException.ts +0 -3
- package/src/requests/exceptions/index.ts +0 -51
- package/src/requests/factories/BinaryBodyFactory.ts +0 -13
- package/src/requests/factories/FormDataFactory.ts +0 -17
- package/src/requests/factories/JsonBodyFactory.ts +0 -9
- package/src/requests/index.ts +0 -68
- package/src/requests/responses/BaseResponse.ts +0 -41
- package/src/requests/responses/BlobResponse.ts +0 -19
- package/src/requests/responses/JsonResponse.ts +0 -15
- package/src/requests/responses/PlainTextResponse.ts +0 -15
- package/src/requests/types/RequestUploadProgress.ts +0 -6
- package/src/support/DeferredPromise.ts +0 -67
- package/src/support/helpers.ts +0 -78
- package/src/vue/composables/useConfirmDialog.ts +0 -63
- package/src/vue/composables/useGlobalCheckbox.ts +0 -145
- package/src/vue/composables/useIsEmpty.ts +0 -34
- package/src/vue/composables/useIsOpen.ts +0 -37
- package/src/vue/composables/useIsOpenFromVar.ts +0 -61
- package/src/vue/composables/useModelWrapper.ts +0 -27
- package/src/vue/composables/useOnOpen.ts +0 -34
- package/src/vue/contracts/ModelValueProps.ts +0 -3
- package/src/vue/forms/BaseForm.ts +0 -1192
- package/src/vue/forms/PropertyAwareArray.ts +0 -81
- package/src/vue/forms/types/PersistedForm.ts +0 -6
- package/src/vue/forms/validation/ValidationMode.enum.ts +0 -14
- package/src/vue/forms/validation/index.ts +0 -15
- package/src/vue/forms/validation/rules/BaseRule.ts +0 -7
- package/src/vue/forms/validation/rules/ConfirmedRule.ts +0 -39
- package/src/vue/forms/validation/rules/EmailRule.ts +0 -23
- package/src/vue/forms/validation/rules/JsonRule.ts +0 -28
- package/src/vue/forms/validation/rules/MinRule.ts +0 -61
- package/src/vue/forms/validation/rules/RequiredRule.ts +0 -19
- package/src/vue/forms/validation/rules/UrlRule.ts +0 -24
- package/src/vue/forms/validation/types/ValidationRules.ts +0 -15
- package/src/vue/index.ts +0 -14
- package/src/vue/requests/factories/VueRequestLoaderFactory.ts +0 -10
- package/src/vue/requests/loaders/VueRequestBatchLoader.ts +0 -35
- package/src/vue/requests/loaders/VueRequestLoader.ts +0 -18
- package/src/vue/router/routeResourceBinding/RouteResourceBoundView.ts +0 -145
- package/src/vue/router/routeResourceBinding/RouteResourceRequestResolver.ts +0 -11
- package/src/vue/router/routeResourceBinding/defineRoute.ts +0 -59
- package/src/vue/router/routeResourceBinding/index.ts +0 -11
- package/src/vue/router/routeResourceBinding/installRouteInjection.ts +0 -164
- package/src/vue/router/routeResourceBinding/types.ts +0 -53
- package/src/vue/router/routeResourceBinding/useRouteResource.ts +0 -24
- package/src/vue/state/State.ts +0 -380
- package/src/vue/state/index.ts +0 -3
- package/tests/service/bulkRequests/BulkRequestSender.test.ts +0 -76
- package/tests/service/bulkRequests/BulkRequestWrapper.test.ts +0 -51
- package/tests/service/helpers/mergeDeep.test.ts +0 -53
- package/tests/service/laravel/pagination/dataDrivers/RequestDriver.test.ts +0 -84
- package/tests/service/laravel/requests/JsonBaseRequest.test.ts +0 -43
- package/tests/service/laravel/requests/PaginationJsonBaseRequest.test.ts +0 -58
- package/tests/service/laravel/requests/responses/JsonResponse.test.ts +0 -59
- package/tests/service/laravel/requests/responses/PaginationResponse.test.ts +0 -127
- package/tests/service/pagination/BasePaginator.test.ts +0 -100
- package/tests/service/pagination/InfiniteScroller.test.ts +0 -101
- package/tests/service/pagination/PageAwarePaginator.test.ts +0 -133
- package/tests/service/pagination/StatePaginator.test.ts +0 -76
- package/tests/service/pagination/VueViewDrivers.test.ts +0 -46
- package/tests/service/pagination/dtos/PaginationDataDto.test.ts +0 -35
- package/tests/service/pagination/dtos/StatePaginationDataDto.test.ts +0 -14
- package/tests/service/pagination/factories/VuePaginationDriverFactory.test.ts +0 -32
- package/tests/service/pagination/frontendDrivers/VuePaginationDriver.test.ts +0 -66
- package/tests/service/persistenceDrivers/PersistenceDrivers.test.ts +0 -56
- package/tests/service/requests/BaseRequest.test.ts +0 -250
- package/tests/service/requests/BodiesAndFactories.test.ts +0 -52
- package/tests/service/requests/Enums.test.ts +0 -20
- package/tests/service/requests/ErrorHandler.test.ts +0 -188
- package/tests/service/requests/FormDataBody.test.ts +0 -63
- package/tests/service/requests/RequestErrorRouter.test.ts +0 -44
- package/tests/service/requests/Responses.test.ts +0 -83
- package/tests/service/requests/exceptions/Exceptions.test.ts +0 -43
- package/tests/service/requests/fetch/FetchDriver.test.ts +0 -94
- package/tests/service/requests/fetch/FetchResponse.test.ts +0 -21
- package/tests/service/requests/xhr/XMLHttpRequestDriver.test.ts +0 -197
- package/tests/service/support/DeferredPromise.test.ts +0 -40
- package/tests/service/support/helpers.test.ts +0 -37
- package/tests/vue/composables/useConfirmDialog.test.ts +0 -77
- package/tests/vue/composables/useGlobalCheckbox.test.ts +0 -126
- package/tests/vue/composables/useIsEmpty.test.ts +0 -18
- package/tests/vue/composables/useIsOpen.test.ts +0 -25
- package/tests/vue/composables/useIsOpenFromVar.test.ts +0 -22
- package/tests/vue/composables/useModelWrapper.test.ts +0 -30
- package/tests/vue/composables/useOnOpen.test.ts +0 -26
- package/tests/vue/forms/BaseForm.behavior.test.ts +0 -98
- package/tests/vue/forms/BaseForm.transformers.test.ts +0 -109
- package/tests/vue/forms/PropertyAwareArray.test.ts +0 -30
- package/tests/vue/forms/validation/ValidationRules.test.ts +0 -79
- package/tests/vue/requests/VueRequestLoaders.test.ts +0 -48
- package/tests/vue/router/routeResourceBinding/RouteResourceBoundView.test.ts +0 -344
- package/tests/vue/router/routeResourceBinding/RouteResourceUtils.test.ts +0 -70
- package/tests/vue/router/routeResourceBinding/installRouteInjection.test.ts +0 -450
- package/tests/vue/state/State.test.ts +0 -151
- package/tsconfig.json +0 -114
- package/vite.config.ts +0 -34
- package/vitest.config.ts +0 -23
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { type WritableComputedRef } from 'vue';
|
|
2
|
+
/**
|
|
3
|
+
* Repräsentiert eine reaktive Property mit model.value Zugriff
|
|
4
|
+
*/
|
|
5
|
+
export interface PropertyAwareField<T> {
|
|
6
|
+
model: WritableComputedRef<T>;
|
|
7
|
+
errors: string[];
|
|
8
|
+
dirty: boolean;
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* Wandelt ein reguläres Interface in ein property-aware Interface um
|
|
12
|
+
* Jedes Feld vom Typ T wird zu einem PropertyAwareField<T>
|
|
13
|
+
*/
|
|
14
|
+
export type PropertyAware<T> = {
|
|
15
|
+
[K in keyof T]: PropertyAwareField<T[K]>;
|
|
16
|
+
};
|
|
17
|
+
/**
|
|
18
|
+
* Extends Array with property awareness.
|
|
19
|
+
* When a form field is defined as an instance of PropertyAwareArray,
|
|
20
|
+
* the BaseForm will transform each element into reactive properties with
|
|
21
|
+
* computed getters/setters, error tracking, and dirty flags.
|
|
22
|
+
*/
|
|
23
|
+
export declare class PropertyAwareArray<T = unknown> extends Array<T> {
|
|
24
|
+
private readonly __propertyAwareArrayBrand;
|
|
25
|
+
/**
|
|
26
|
+
* Creates a new PropertyAwareArray instance
|
|
27
|
+
*/
|
|
28
|
+
constructor(items?: T[]);
|
|
29
|
+
/**
|
|
30
|
+
* Create a PropertyAwareArray from an existing array
|
|
31
|
+
*/
|
|
32
|
+
static from<T>(arrayLike: ArrayLike<T>): PropertyAwareArray<T>;
|
|
33
|
+
/**
|
|
34
|
+
* Maps each element using the provided function
|
|
35
|
+
* Overridden to ensure the return type is PropertyAwareArray<U> rather than Array<U>
|
|
36
|
+
*/
|
|
37
|
+
map<U>(callbackfn: (value: T, index: number, array: T[]) => U): PropertyAwareArray<U>;
|
|
38
|
+
/**
|
|
39
|
+
* Filters elements using the provided function
|
|
40
|
+
* Overridden to ensure the return type is PropertyAwareArray<T> rather than Array<T>
|
|
41
|
+
*/
|
|
42
|
+
filter(predicate: (value: T, index: number, array: T[]) => boolean): PropertyAwareArray<T>;
|
|
43
|
+
/**
|
|
44
|
+
* Returns a shallow copy of the array
|
|
45
|
+
* Overridden to ensure the return type is PropertyAwareArray<T> rather than Array<T>
|
|
46
|
+
*/
|
|
47
|
+
slice(start?: number, end?: number): PropertyAwareArray<T>;
|
|
48
|
+
/**
|
|
49
|
+
* Combines two or more arrays
|
|
50
|
+
* Overridden to ensure the return type is PropertyAwareArray<T> rather than Array<T>
|
|
51
|
+
*/
|
|
52
|
+
concat(...items: (T | ConcatArray<T>)[]): PropertyAwareArray<T>;
|
|
53
|
+
}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Extends Array with property awareness.
|
|
3
|
+
* When a form field is defined as an instance of PropertyAwareArray,
|
|
4
|
+
* the BaseForm will transform each element into reactive properties with
|
|
5
|
+
* computed getters/setters, error tracking, and dirty flags.
|
|
6
|
+
*/
|
|
7
|
+
export class PropertyAwareArray extends Array {
|
|
8
|
+
/**
|
|
9
|
+
* Creates a new PropertyAwareArray instance
|
|
10
|
+
*/
|
|
11
|
+
constructor(items = []) {
|
|
12
|
+
// Call Array constructor with array length
|
|
13
|
+
super();
|
|
14
|
+
void this.__propertyAwareArrayBrand;
|
|
15
|
+
// Add items to the array
|
|
16
|
+
if (items && items.length) {
|
|
17
|
+
items.forEach((item) => this.push(item));
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Create a PropertyAwareArray from an existing array
|
|
22
|
+
*/
|
|
23
|
+
static from(arrayLike) {
|
|
24
|
+
return new PropertyAwareArray(Array.from(arrayLike));
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Maps each element using the provided function
|
|
28
|
+
* Overridden to ensure the return type is PropertyAwareArray<U> rather than Array<U>
|
|
29
|
+
*/
|
|
30
|
+
map(callbackfn) {
|
|
31
|
+
return new PropertyAwareArray(super.map(callbackfn));
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Filters elements using the provided function
|
|
35
|
+
* Overridden to ensure the return type is PropertyAwareArray<T> rather than Array<T>
|
|
36
|
+
*/
|
|
37
|
+
filter(predicate) {
|
|
38
|
+
return new PropertyAwareArray(super.filter(predicate));
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Returns a shallow copy of the array
|
|
42
|
+
* Overridden to ensure the return type is PropertyAwareArray<T> rather than Array<T>
|
|
43
|
+
*/
|
|
44
|
+
slice(start, end) {
|
|
45
|
+
return new PropertyAwareArray(super.slice(start, end));
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* Combines two or more arrays
|
|
49
|
+
* Overridden to ensure the return type is PropertyAwareArray<T> rather than Array<T>
|
|
50
|
+
*/
|
|
51
|
+
concat(...items) {
|
|
52
|
+
return new PropertyAwareArray(super.concat(...items));
|
|
53
|
+
}
|
|
54
|
+
}
|
|
@@ -1,11 +1,9 @@
|
|
|
1
|
-
import { BaseForm, propertyAwareToRaw } from './BaseForm'
|
|
2
|
-
import { type PersistedForm } from './types/PersistedForm'
|
|
3
|
-
import { LocalStorageDriver } from '../../persistenceDrivers/LocalStorageDriver'
|
|
4
|
-
import { NonPersistentDriver } from '../../persistenceDrivers/NonPersistentDriver'
|
|
5
|
-
import { SessionStorageDriver } from '../../persistenceDrivers/SessionStorageDriver'
|
|
6
|
-
import { type PersistenceDriver } from '../../persistenceDrivers/types/PersistenceDriver'
|
|
7
|
-
import { PropertyAwareArray, type PropertyAwareField, type PropertyAware } from './PropertyAwareArray'
|
|
8
|
-
|
|
9
|
-
export {
|
|
10
|
-
|
|
11
|
-
export type { PersistedForm, PersistenceDriver, PropertyAwareField, PropertyAware }
|
|
1
|
+
import { BaseForm, propertyAwareToRaw } from './BaseForm';
|
|
2
|
+
import { type PersistedForm } from './types/PersistedForm';
|
|
3
|
+
import { LocalStorageDriver } from '../../persistenceDrivers/LocalStorageDriver';
|
|
4
|
+
import { NonPersistentDriver } from '../../persistenceDrivers/NonPersistentDriver';
|
|
5
|
+
import { SessionStorageDriver } from '../../persistenceDrivers/SessionStorageDriver';
|
|
6
|
+
import { type PersistenceDriver } from '../../persistenceDrivers/types/PersistenceDriver';
|
|
7
|
+
import { PropertyAwareArray, type PropertyAwareField, type PropertyAware } from './PropertyAwareArray';
|
|
8
|
+
export { BaseForm, propertyAwareToRaw, PropertyAwareArray, NonPersistentDriver, SessionStorageDriver, LocalStorageDriver };
|
|
9
|
+
export type { PersistedForm, PersistenceDriver, PropertyAwareField, PropertyAware };
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { BaseForm, propertyAwareToRaw } from './BaseForm';
|
|
2
|
+
import { LocalStorageDriver } from '../../persistenceDrivers/LocalStorageDriver';
|
|
3
|
+
import { NonPersistentDriver } from '../../persistenceDrivers/NonPersistentDriver';
|
|
4
|
+
import { SessionStorageDriver } from '../../persistenceDrivers/SessionStorageDriver';
|
|
5
|
+
import { PropertyAwareArray } from './PropertyAwareArray';
|
|
6
|
+
export { BaseForm, propertyAwareToRaw, PropertyAwareArray, NonPersistentDriver, SessionStorageDriver, LocalStorageDriver };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export declare enum ValidationMode {
|
|
2
|
+
NEVER = 0,
|
|
3
|
+
INSTANTLY = 1,// Validate as soon as form is initialized
|
|
4
|
+
ON_TOUCH = 2,// Validate when field is touched (focused/blurred)
|
|
5
|
+
ON_DIRTY = 4,// Validate when field value changes
|
|
6
|
+
ON_SUBMIT = 8,// Validate on form submit
|
|
7
|
+
ON_DEPENDENT_CHANGE = 16,// Validate when a field it depends on changes
|
|
8
|
+
DEFAULT = 14,// Validate when dirty or on submit
|
|
9
|
+
AGGRESSIVE = 15,// Validate in all situations
|
|
10
|
+
PASSIVE = 8
|
|
11
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
export var ValidationMode;
|
|
2
|
+
(function (ValidationMode) {
|
|
3
|
+
// Individual flags
|
|
4
|
+
ValidationMode[ValidationMode["NEVER"] = 0] = "NEVER";
|
|
5
|
+
ValidationMode[ValidationMode["INSTANTLY"] = 1] = "INSTANTLY";
|
|
6
|
+
ValidationMode[ValidationMode["ON_TOUCH"] = 2] = "ON_TOUCH";
|
|
7
|
+
ValidationMode[ValidationMode["ON_DIRTY"] = 4] = "ON_DIRTY";
|
|
8
|
+
ValidationMode[ValidationMode["ON_SUBMIT"] = 8] = "ON_SUBMIT";
|
|
9
|
+
ValidationMode[ValidationMode["ON_DEPENDENT_CHANGE"] = 16] = "ON_DEPENDENT_CHANGE";
|
|
10
|
+
// Common combinations
|
|
11
|
+
ValidationMode[ValidationMode["DEFAULT"] = 14] = "DEFAULT";
|
|
12
|
+
ValidationMode[ValidationMode["AGGRESSIVE"] = 15] = "AGGRESSIVE";
|
|
13
|
+
ValidationMode[ValidationMode["PASSIVE"] = 8] = "PASSIVE"; // Only validate on submit
|
|
14
|
+
})(ValidationMode || (ValidationMode = {}));
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { BaseRule } from './rules/BaseRule';
|
|
2
|
+
import { ConfirmedRule } from './rules/ConfirmedRule';
|
|
3
|
+
import { EmailRule } from './rules/EmailRule';
|
|
4
|
+
import { JsonRule } from './rules/JsonRule';
|
|
5
|
+
import { RequiredRule } from './rules/RequiredRule';
|
|
6
|
+
import { UrlRule } from './rules/UrlRule';
|
|
7
|
+
import { MinRule } from './rules/MinRule';
|
|
8
|
+
import { ValidationMode } from './ValidationMode.enum';
|
|
9
|
+
import { type BidirectionalRule } from './types/BidirectionalRule';
|
|
10
|
+
import { type ValidationRules } from './types/ValidationRules';
|
|
11
|
+
export { BaseRule, ConfirmedRule, EmailRule, JsonRule, RequiredRule, UrlRule, MinRule, ValidationMode };
|
|
12
|
+
export type { BidirectionalRule, ValidationRules };
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { BaseRule } from './rules/BaseRule';
|
|
2
|
+
import { ConfirmedRule } from './rules/ConfirmedRule';
|
|
3
|
+
import { EmailRule } from './rules/EmailRule';
|
|
4
|
+
import { JsonRule } from './rules/JsonRule';
|
|
5
|
+
import { RequiredRule } from './rules/RequiredRule';
|
|
6
|
+
import { UrlRule } from './rules/UrlRule';
|
|
7
|
+
import { MinRule } from './rules/MinRule';
|
|
8
|
+
import { ValidationMode } from './ValidationMode.enum';
|
|
9
|
+
export { BaseRule, ConfirmedRule, EmailRule, JsonRule, RequiredRule, UrlRule, MinRule, ValidationMode };
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { BaseRule } from './BaseRule';
|
|
2
|
+
import { type BidirectionalRule } from '../types/BidirectionalRule';
|
|
3
|
+
export declare class ConfirmedRule<FormBody extends object> extends BaseRule<FormBody> implements BidirectionalRule<FormBody> {
|
|
4
|
+
protected confirmationField: keyof FormBody;
|
|
5
|
+
protected message: string;
|
|
6
|
+
constructor(confirmationField: keyof FormBody, message?: string);
|
|
7
|
+
validate(value: unknown, formState: FormBody): boolean;
|
|
8
|
+
getMessage(): string;
|
|
9
|
+
getBidirectionalFields(): Array<keyof FormBody>;
|
|
10
|
+
}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { BaseRule } from './BaseRule';
|
|
2
|
+
export class ConfirmedRule extends BaseRule {
|
|
3
|
+
constructor(confirmationField, message) {
|
|
4
|
+
super();
|
|
5
|
+
this.confirmationField = confirmationField;
|
|
6
|
+
this.message = message || `Must match ${String(confirmationField)}`;
|
|
7
|
+
// Add the confirmation field as a dependency
|
|
8
|
+
this.dependsOn = [confirmationField];
|
|
9
|
+
}
|
|
10
|
+
validate(value, formState) {
|
|
11
|
+
// Only validate if both fields have values
|
|
12
|
+
const confirmationValue = formState[this.confirmationField];
|
|
13
|
+
// If either field is empty, don't show an error yet
|
|
14
|
+
if (!value || !confirmationValue) {
|
|
15
|
+
return true;
|
|
16
|
+
}
|
|
17
|
+
return value === confirmationValue;
|
|
18
|
+
}
|
|
19
|
+
getMessage() {
|
|
20
|
+
return this.message;
|
|
21
|
+
}
|
|
22
|
+
// Implement BidirectionalRule interface
|
|
23
|
+
getBidirectionalFields() {
|
|
24
|
+
return [this.confirmationField];
|
|
25
|
+
}
|
|
26
|
+
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { BaseRule } from './BaseRule';
|
|
2
|
+
export class EmailRule extends BaseRule {
|
|
3
|
+
constructor(message = 'Please enter a valid email address') {
|
|
4
|
+
super();
|
|
5
|
+
this.message = message;
|
|
6
|
+
}
|
|
7
|
+
validate(value) {
|
|
8
|
+
if (value === null || value === undefined || value === '') {
|
|
9
|
+
return true;
|
|
10
|
+
}
|
|
11
|
+
if (typeof value !== 'string') {
|
|
12
|
+
return false;
|
|
13
|
+
}
|
|
14
|
+
return /^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(value);
|
|
15
|
+
}
|
|
16
|
+
getMessage() {
|
|
17
|
+
return this.message;
|
|
18
|
+
}
|
|
19
|
+
}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { BaseRule } from './BaseRule';
|
|
2
|
+
export class JsonRule extends BaseRule {
|
|
3
|
+
constructor(message = 'Please enter valid JSON') {
|
|
4
|
+
super();
|
|
5
|
+
this.message = message;
|
|
6
|
+
}
|
|
7
|
+
validate(value) {
|
|
8
|
+
if (value === null || value === undefined || value === '') {
|
|
9
|
+
return true;
|
|
10
|
+
}
|
|
11
|
+
if (typeof value !== 'string') {
|
|
12
|
+
return false;
|
|
13
|
+
}
|
|
14
|
+
try {
|
|
15
|
+
JSON.parse(value);
|
|
16
|
+
return true;
|
|
17
|
+
}
|
|
18
|
+
catch (_a) {
|
|
19
|
+
return false;
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
getMessage() {
|
|
23
|
+
return this.message;
|
|
24
|
+
}
|
|
25
|
+
}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { BaseRule } from './BaseRule';
|
|
2
|
+
export declare class MinRule<FormBody extends object> extends BaseRule<FormBody> {
|
|
3
|
+
protected min: number;
|
|
4
|
+
protected message?: string | undefined;
|
|
5
|
+
/**
|
|
6
|
+
* Creates a new MinRule
|
|
7
|
+
* @param min The minimum value (length for strings, value for numbers, length for arrays)
|
|
8
|
+
* @param message The error message to display if validation fails
|
|
9
|
+
*/
|
|
10
|
+
constructor(min: number, message?: string | undefined);
|
|
11
|
+
/**
|
|
12
|
+
* Validates that the value meets the minimum requirement
|
|
13
|
+
* - For strings: checks if length is at least the specified minimum
|
|
14
|
+
* - For numbers: checks if value is at least the specified minimum
|
|
15
|
+
* - For arrays: checks if length is at least the specified minimum
|
|
16
|
+
* - For other types: always returns false
|
|
17
|
+
*
|
|
18
|
+
* @param value The value to validate
|
|
19
|
+
* @returns boolean indicating if validation passed
|
|
20
|
+
*/
|
|
21
|
+
validate(value: unknown): boolean;
|
|
22
|
+
/**
|
|
23
|
+
* Returns the error message for the validation
|
|
24
|
+
*/
|
|
25
|
+
getMessage(): string;
|
|
26
|
+
}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import { BaseRule } from './BaseRule';
|
|
2
|
+
export class MinRule extends BaseRule {
|
|
3
|
+
/**
|
|
4
|
+
* Creates a new MinRule
|
|
5
|
+
* @param min The minimum value (length for strings, value for numbers, length for arrays)
|
|
6
|
+
* @param message The error message to display if validation fails
|
|
7
|
+
*/
|
|
8
|
+
constructor(min, message) {
|
|
9
|
+
super();
|
|
10
|
+
this.min = min;
|
|
11
|
+
this.message = message;
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Validates that the value meets the minimum requirement
|
|
15
|
+
* - For strings: checks if length is at least the specified minimum
|
|
16
|
+
* - For numbers: checks if value is at least the specified minimum
|
|
17
|
+
* - For arrays: checks if length is at least the specified minimum
|
|
18
|
+
* - For other types: always returns false
|
|
19
|
+
*
|
|
20
|
+
* @param value The value to validate
|
|
21
|
+
* @returns boolean indicating if validation passed
|
|
22
|
+
*/
|
|
23
|
+
validate(value) {
|
|
24
|
+
// Null or undefined values should be handled by RequiredRule, not this rule
|
|
25
|
+
if (value === null || value === undefined) {
|
|
26
|
+
return true;
|
|
27
|
+
}
|
|
28
|
+
// For strings, check the length
|
|
29
|
+
if (typeof value === 'string') {
|
|
30
|
+
return value.length >= this.min;
|
|
31
|
+
}
|
|
32
|
+
// For numbers, check the value
|
|
33
|
+
if (typeof value === 'number') {
|
|
34
|
+
return value >= this.min;
|
|
35
|
+
}
|
|
36
|
+
// For arrays, check the length
|
|
37
|
+
if (Array.isArray(value)) {
|
|
38
|
+
return value.length >= this.min;
|
|
39
|
+
}
|
|
40
|
+
// For other types, validation fails
|
|
41
|
+
return false;
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Returns the error message for the validation
|
|
45
|
+
*/
|
|
46
|
+
getMessage() {
|
|
47
|
+
if (this.message) {
|
|
48
|
+
return this.message;
|
|
49
|
+
}
|
|
50
|
+
return `This field must be at least ${this.min}`;
|
|
51
|
+
}
|
|
52
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { BaseRule } from './BaseRule';
|
|
2
|
+
export class RequiredRule extends BaseRule {
|
|
3
|
+
constructor(message = 'This field is required') {
|
|
4
|
+
super();
|
|
5
|
+
this.message = message;
|
|
6
|
+
}
|
|
7
|
+
validate(value) {
|
|
8
|
+
if (value === null || value === undefined || value === '') {
|
|
9
|
+
return false;
|
|
10
|
+
}
|
|
11
|
+
return true;
|
|
12
|
+
}
|
|
13
|
+
getMessage() {
|
|
14
|
+
return this.message;
|
|
15
|
+
}
|
|
16
|
+
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { BaseRule } from './BaseRule';
|
|
2
|
+
export class UrlRule extends BaseRule {
|
|
3
|
+
constructor(message = 'Please enter a valid URL') {
|
|
4
|
+
super();
|
|
5
|
+
this.message = message;
|
|
6
|
+
}
|
|
7
|
+
validate(value) {
|
|
8
|
+
if (!value || typeof value !== 'string') {
|
|
9
|
+
return false;
|
|
10
|
+
}
|
|
11
|
+
try {
|
|
12
|
+
new URL(value);
|
|
13
|
+
return true;
|
|
14
|
+
}
|
|
15
|
+
catch (_a) {
|
|
16
|
+
return false;
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
getMessage() {
|
|
20
|
+
return this.message;
|
|
21
|
+
}
|
|
22
|
+
}
|
|
@@ -4,8 +4,8 @@
|
|
|
4
4
|
* automatically set up bidirectionally
|
|
5
5
|
*/
|
|
6
6
|
export interface BidirectionalRule<FormBody extends object = object> {
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
7
|
+
/**
|
|
8
|
+
* Returns the fields that should have bidirectional validation with the current field
|
|
9
|
+
*/
|
|
10
|
+
getBidirectionalFields(): Array<keyof FormBody>;
|
|
11
11
|
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { type BaseRule } from '../rules/BaseRule';
|
|
2
|
+
import { type BidirectionalRule } from './BidirectionalRule';
|
|
3
|
+
import { type ValidationMode } from '../ValidationMode.enum';
|
|
4
|
+
type Rule<FormBody extends object> = BaseRule<FormBody> & Partial<BidirectionalRule<FormBody>>;
|
|
5
|
+
export type ValidationRules<FormBody extends object> = Partial<Record<keyof FormBody, {
|
|
6
|
+
rules: Rule<FormBody>[];
|
|
7
|
+
options?: {
|
|
8
|
+
mode?: ValidationMode;
|
|
9
|
+
};
|
|
10
|
+
}>>;
|
|
11
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import useIsOpen from './composables/useIsOpen';
|
|
2
|
+
import useModelWrapper from './composables/useModelWrapper';
|
|
3
|
+
import useOnOpen from './composables/useOnOpen';
|
|
4
|
+
import useIsOpenFromVar from './composables/useIsOpenFromVar';
|
|
5
|
+
import useGlobalCheckbox from './composables/useGlobalCheckbox';
|
|
6
|
+
import useIsEmpty from './composables/useIsEmpty';
|
|
7
|
+
import useConfirmDialog from './composables/useConfirmDialog';
|
|
8
|
+
import { ConfirmDialogSeverity, type ConfirmDialogOptions } from './composables/useConfirmDialog';
|
|
9
|
+
export { useIsOpen, useModelWrapper, useOnOpen, useIsOpenFromVar, useGlobalCheckbox, useIsEmpty, useConfirmDialog };
|
|
10
|
+
export { ConfirmDialogSeverity };
|
|
11
|
+
export type { ConfirmDialogOptions };
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import useIsOpen from './composables/useIsOpen';
|
|
2
|
+
import useModelWrapper from './composables/useModelWrapper';
|
|
3
|
+
import useOnOpen from './composables/useOnOpen';
|
|
4
|
+
import useIsOpenFromVar from './composables/useIsOpenFromVar';
|
|
5
|
+
import useGlobalCheckbox from './composables/useGlobalCheckbox';
|
|
6
|
+
import useIsEmpty from './composables/useIsEmpty';
|
|
7
|
+
import useConfirmDialog from './composables/useConfirmDialog';
|
|
8
|
+
import { ConfirmDialogSeverity } from './composables/useConfirmDialog';
|
|
9
|
+
export { useIsOpen, useModelWrapper, useOnOpen, useIsOpenFromVar, useGlobalCheckbox, useIsEmpty, useConfirmDialog };
|
|
10
|
+
export { ConfirmDialogSeverity };
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { type RequestLoaderContract } from '../../../requests/contracts/RequestLoaderContract';
|
|
2
|
+
import { type Ref } from 'vue';
|
|
3
|
+
import type { RequestLoaderFactoryContract } from '../../../requests';
|
|
4
|
+
export declare class VueRequestLoaderFactory implements RequestLoaderFactoryContract<Ref<boolean>> {
|
|
5
|
+
make(): RequestLoaderContract<Ref<boolean>>;
|
|
6
|
+
}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
import { VueRequestLoader } from './loaders/VueRequestLoader'
|
|
2
|
-
import { VueRequestBatchLoader } from './loaders/VueRequestBatchLoader'
|
|
3
|
-
import { VueRequestLoaderFactory } from './factories/VueRequestLoaderFactory'
|
|
4
|
-
|
|
5
|
-
export { VueRequestLoader, VueRequestBatchLoader, VueRequestLoaderFactory }
|
|
1
|
+
import { VueRequestLoader } from './loaders/VueRequestLoader';
|
|
2
|
+
import { VueRequestBatchLoader } from './loaders/VueRequestBatchLoader';
|
|
3
|
+
import { VueRequestLoaderFactory } from './factories/VueRequestLoaderFactory';
|
|
4
|
+
export { VueRequestLoader, VueRequestBatchLoader, VueRequestLoaderFactory };
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { VueRequestLoader } from './loaders/VueRequestLoader';
|
|
2
|
+
import { VueRequestBatchLoader } from './loaders/VueRequestBatchLoader';
|
|
3
|
+
import { VueRequestLoaderFactory } from './factories/VueRequestLoaderFactory';
|
|
4
|
+
export { VueRequestLoader, VueRequestBatchLoader, VueRequestLoaderFactory };
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { type Ref } from 'vue';
|
|
2
|
+
import { type RequestLoaderContract } from '../../../requests/contracts/RequestLoaderContract';
|
|
3
|
+
export declare class VueRequestBatchLoader implements RequestLoaderContract<Ref<boolean>> {
|
|
4
|
+
private inFlight;
|
|
5
|
+
private completed;
|
|
6
|
+
private expected;
|
|
7
|
+
constructor(expectedRequests?: number);
|
|
8
|
+
startBatch(count: number): void;
|
|
9
|
+
abortBatch(): void;
|
|
10
|
+
isLoading(): Ref<boolean>;
|
|
11
|
+
setLoading(loading: boolean): void;
|
|
12
|
+
}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { ref, computed } from 'vue';
|
|
2
|
+
export class VueRequestBatchLoader {
|
|
3
|
+
constructor(expectedRequests = 0) {
|
|
4
|
+
this.inFlight = ref(0);
|
|
5
|
+
this.completed = ref(0);
|
|
6
|
+
this.expected = 0;
|
|
7
|
+
this.expected = expectedRequests;
|
|
8
|
+
}
|
|
9
|
+
startBatch(count) {
|
|
10
|
+
this.expected = count;
|
|
11
|
+
this.completed.value = 0;
|
|
12
|
+
}
|
|
13
|
+
abortBatch() {
|
|
14
|
+
this.expected = 0;
|
|
15
|
+
this.completed.value = 0;
|
|
16
|
+
}
|
|
17
|
+
isLoading() {
|
|
18
|
+
return computed(() => this.inFlight.value > 0 || (this.expected > 0 && this.completed.value < this.expected));
|
|
19
|
+
}
|
|
20
|
+
setLoading(loading) {
|
|
21
|
+
if (loading) {
|
|
22
|
+
this.inFlight.value++;
|
|
23
|
+
}
|
|
24
|
+
else {
|
|
25
|
+
this.inFlight.value = Math.max(0, this.inFlight.value - 1);
|
|
26
|
+
this.completed.value++;
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { type Ref } from 'vue';
|
|
2
|
+
import { type RequestLoaderContract } from '../../../requests/contracts/RequestLoaderContract';
|
|
3
|
+
export declare class VueRequestLoader implements RequestLoaderContract<Ref<boolean>> {
|
|
4
|
+
protected loading: Ref<boolean>;
|
|
5
|
+
constructor(initialLoading?: boolean);
|
|
6
|
+
isLoading(): Ref<boolean>;
|
|
7
|
+
setLoading(value: boolean): void;
|
|
8
|
+
}
|